Advantages of FIR filter:
The phase is strictly linear, and there is no delay distortion. There is only a fixed time delay;
Because there is no stability problem, the design is relatively simple;
Contains only real number algorithm, does not involve the complex number algorithm, does not need recursive operation, the length is m, order number is M-1, the calculation value is about M/2.
The amplitude-frequency characteristics and phase-frequency characteristics of FIR filters. When people do not care about the phase, the amplitude-frequency characteristics can always be positive. The original negative part only needs to be compensated by the phase plus pi.
However, when the phase is very important and does not allow any increase or decrease, the amplitude-frequency characteristics must be differentiated between positive and negative. This is called the frame feature.
The negative value of the amplitude characteristics is the same as the amplitude-frequency characteristics we usually see, and still satisfies the symmetry.
Comparison of four types of FIR (from Baidu Library ):
When w = 0 and PI are used for different types of filters, it must be noted that their values are 0, which affects filter selection.
Note that the FIR pole is at the origin, and the zero point is paired, And the pole number is equal to zero points.
In practice, the window function truncation method is used to design the FIR filter.
Rectangular Window disadvantages:
Sudden truncation causes the Gini effect, because the rectangular window has a relatively large side of the spectrum, resulting in a large fluctuation of the filter.
Therefore, we need to use a smooth cut-off window, with a relatively small side lobe. However, the width of the main flap of the smooth window is large, and the width of the main flap is the key factor that determines the transition zone. Therefore, we can solve this problem by increasing the order.
Various window functions in MATLAB:
WD = boxcar (n); % rectangular window
WD = triang (n); % triangular window
WD = Hanning (n); & Hanning window
WD = Hamming (n); % Hamming window
WD = Blackman (n); % Blackman Window
WD = Kaiser (n, beta); % Kaze-besell window, one of the optimal window structures, providing the minimum width of the main flap for a given fluctuation.
There is also a ready-made design function:
B = FIR1 (M, Wn, 'type', window );
B is the coefficient vector of the filter to be designed. The length is n = m + 1;
M is the order;
Wn is the edge frequency, scalar or array given by the filter;
Type Filter Type, low-pass, high-pass ......
Window is the window function type. The default window is the Hamming window.
For example, B = FIR1 (32, 0.7, high ', Kaiser (33,4 ));
Note that 0.7 refers to the boundary digital frequency of 0.7 * pi.
The filter design can also be designed with the fdatool tool of Matlab, which is more intuitive.
FIR Filter Design