There are many different ways of designing an FIR filter depending upon the design goals. |
Here's an easy method using octave and an octave function written using a technique explained in an academic paper: |
octave:1 > f = fircpl (50, [0 0.45, 0.55 1], [1 1 0 0]); octave:2 > hold off ; plot (f)
To view the frequency reponse of an FIR filter there is a very easy method using the FFT : |
octave:3 > plot (abs (fft (f)))
Because this FIR filter is not very long, it is nice to increase the resolution of the frequency response plot by adding trailing zero values to the impulse response of the filter : |
octave:4 > plot (abs (fft ([f zeros(1,1000-length(f))])))