# Impulse response for FIR filter design

I have solved the problem of finding the filter's order. The order, $N$ is 144 (N= 4/Normalized of BW).

Since the $F_s$(sampling frequency) is 7200Hz, $f_p$(pass-band edge frequency) is 500Hz and $f_s$(stop-band edge frequency) is 700Hz.

Now, I want to:

• Create an ideal impulse response i.e, sinc function and then
• Apply a Blackman window function to calculate my filter's coefficients.

I am designing the filter in Matlab and I am having difficulty with those two tasks.

Since the blackman window is defined in relation to its length (at least, that is, with the parameter chosen canonically), there's too few parameters open to match the band edges. You could, however:

1. Determine $\omega_0 \over \pi$ (the $\pi$ being the scale built in to the $\operatorname{sinc}$ function). $\omega_0$ could be picked as the arithmetic mean of the band edges.
> w0=600/7200
2. Window a sinc scaled accordingly by a blackman window.
> F=sinc((-71.5:71.5)*w0)).*blackman(144)'
3. F now contains a sinc windowed by the blackman function, centered about the middle of the filter (giving a constant phase filter).

The resulting filter is quite steep, but it has a rather leaky stopband. If the task at hand was a different one, please excuse and explain in a little more detail.

• i think you got w0 wrong. shouldn't it be 600/3600 where 3600 is the nyquist frequency? Dec 25 '13 at 11:40
• I think I got it right, since the "sinc" function is scaled so that its "period" (the period of its nominator) is 2. The result appears to be correct, too. So, yes, this is rather confusing. Dec 25 '13 at 22:18
• You're wrong. Trust me enough to test it again. Also, you forgot the scaling. It should be sinc((...:...)*w0)*w0.*some_window Dec 25 '13 at 22:41