Innosolve
Stay up to date with us on
LinkedIn

Menu

Finite Impulse Response (FIR) Filters

FIR filter design methods

Implementation of FIR filters

Optimization

Increasing efficiency of FIR filters

FIR filters in Filter Design software

Finite Impulse Response (FIR) Filters

 

Almost everybody has used FIR filters in their practice even if they did not know it was. The most frequently used FIR filter is the averager, where the input of the averager consists of two samples or more and the output is the mean of the input samples. The aim of using averager is smoothing, in other words filtering out high frequency noise from the input signal. But what is the frequency response of an averager? How effectively does it filter the unwanted components out? How many samples averager shall we use? Should it be odd or even number of degrees? What happens if we take the individual samples with different weights into account? Questions come up, and we’re there in the design of FIR filters.

FIR filters are very widespread in practice, because they are always stable, it is easy to design linear phase characteristics, the practical implementation is simple, efficient design procedures exist, they are excellent for sampling frequency increase (interpolation) or reduction (decimation).

FIR filter design methods

 

Design with windowing

The first step is calculating the (a) filter coefficients of the so-called prototype LP (Low Pass) filter, then transforming it into HP (High Pass), BP (Band Pass) or BS (Band Stop) form as it is required. Next step is to calculate the (w) window samples. Length of w equals to the length of a. The filter coefficients are obtained by multiplying a and w series.

Type of windows

Rectangular

fir

Bartlett

fir

Hamming

fir

Hahn

fir

Blackman

fir

Kaiser

fir
fir
fir

Window functions


fir

Interpolating design

Also known as frequency – sampling structure. The method is that the desired frequency response characteristics is sampled in a given number of points. Each point has a sin(Nω/2) / sin(ω/2) shaped interpolation function, with which the required characteristics can be approximated by zero error in the marked points, but with no zero error otherwise. The error occurs mainly in the transition zone. This kind of error can be reduced by adding a new distribution point. The filter designed by interpolation method consists of FIR and IIR filter in cascade connections. This is not implemented in Filter Design software packet.

Optimized FIR filter design

The Kaiser and Dolph – Chebyshev windows are optimized only for one – one parameter. In Kaiser method the energy of the side lobes is minimized, whereas in Dolph – Chebyshev the width of the main lobe is minimized keeping side lobes level constant. Because only one parameter can be optimized during convolution, it is not possible to design an optimal FIR filter with window method.
Using interpolation method for filter design, we can fix the frequency characteristics in points where it is 0 or 1, but the transition band can be hard to handle.
Special literature recommends two methods for designing optimized FIR filters: the weighted Chebyshev approximation model and the more common method recommended by Parks and McClellan using Remez algorithms.
This is implemented in Filter Design software packet.

Implementation of FIR filters

 

Several methods can be found for implementation of FIR filters in the special literature. The most common method in software applications is the direct form.

Equation to be programmed

wavelet

Location in memory for N = 7

wavelet

With the solution above the y output will be exactly in phase with the input x. If the number of coefficients is even, it is no longer ensured. The y – x delay time equals to the filter group delay time (N/2), where N is the number of filter coefficient.

Optimization

 

All filters are optimized. It means that the filter coefficients are modified by the program in such a way that the following conditions shall be fulfilled:

  • LP: sum of coefficients = 1 at 0 Hz
  • HP: sum of coefficients = 1 at Fs / 2
  • HP: sum of coefficients = 0 at 0 Hz
  • BP: sum of coefficients = 1 at Fc
  • BS: sum of coefficients = 1 at Fs / 2

Increasing efficiency of FIR filters

 

The most important feature for comparison of FIR filters to each other is probably the number of coefficients. In other words, the most effective filter is the one that provides the same requirement with the least number of coefficients. Among the known methods the Parks and McClellan is the most effective. Despite of it, the implemented method in the Filter Design software packet is the window method, because it is very easy to use for automated designing of so-called crosstalk free filter banks, and in most cases the best way to increase the efficiency (speed) of digital filters is using the combination of FIR filter and wavelet transform (decimation, interpolation). Of course, this is not always possible, but very significant improvement can be achieved in most of the applications. This theory is recommended when the B/Fs ratio is very low (B = bandwidth of the filter).

The following figures produce the same low pass filter with two methods. In the first case a single FIR filter is used, in the second case, the FIR filter is combined with wavelet transformation.

Main low pass filter parameters: Fs = 1024 Hz, Fc = 0.5 Hz

Realization 1

wavelet

Realization 2

wavelet

The first filter stage is called decimator or in other words wavelet transform with downsampling. The second stage is the FIR filter itself, while the third stage is called interpolator, which uses the same filter as it is used in the first stage.

Efficiency increasing = 5000 / 202 = 24.75!