The windowed sinc filter uses the inverse fourier transform of ideal low - pass filter frequency response. The Inverse transform of the ideal low - pass response is the sinc function (sinx/x). The inverse fourier transform of the required frequency response is taken and used as kernel a normal filter. But the problem is that the sinc function is infinite in length. So it must be truncated to a finite length signal. truncation is achieved by windowing the sinc function with a standard window function. In our example we use Blackman window for this purpose. The calculated kernel can be observed in the "kernel graph window"
How to use the sample program
The .zip file contains both source code and executable. To compile and run the source code you need to have Visual Basic 6.0 installed in your computer. To run the executable, you must download and install Visual Basic 6.0 runtime files. Run winsinc.exe and you will see the main window. In the main window , the top most part is the Function generator , which produces different waveforms to test the filter. We can interactively change the amplitude, frequency and shape of the generated signal.
To test the program we must first generate an appropriate waveform. Here we will generate a complex waveform which consists of two different frequencies. change the frequency to 50Hz Leave everything else in default settings and click "generate" button. Now you can see a 50 Hz signal in the graph next to the signal generator. Figure below shows the waveform.
Now change the Frequency to 200 Hz and click "generate" button again. The newly generated waveform is added to the existing waveform. In the resulting waveform, the 50hz wave is immersed in the 200Hz wave.
Select the cutoff frequency as .14 and click the "Filter" button. The figure below shows the output of the filter.
It can be seen in the output graph that the 50hz sine wave is filtered out from the complex input signal. We can see the calculated sinc kernel in the kernel graph window . The kernel for the above example is shown below.