General Purpose FIR Utility
June 2, 2021
Back to: Fundamentals of Signal Processing
The general purpose FIR filter (GP-FIR) utility is a tool for data filtering with a finite impulse response (FIR) filter.
Feed-forward System
Unlike the IIR filter, the FIR filter does not use feedback. An FIR filter often uses more multiplication and addition operations to compensate for its data flow impediment, sometimes upwards of 200 times as many.
However, designing an FIR filter with a linear phase is simple because of its feed-forward-only data flow. A linear phase ensures that all frequency components regardless of frequency will be delayed by the same amount of time.
Coefficients
Coefficients for an FIR filter, such as those in the above illustration, may be generated by ObserVIEW based on the user’s desired frequency response.
Alternatively, FIR coefficients may be copied and pasted from a third-party software package such as MATLAB® or GNU Octave® or a website.
Trimming Tails
Filtering with a high coefficient count FIR filter introduces long “tails” at the beginning and end of the processed data. In ObserVIEW, these can be trimmed off the filtered data by selecting the Auto Trim Tails check box when exporting time waveform data.
High coefficient count FIR filters have most of their energy at the center of the coefficient sequence and very little in the tails. Filtering a data sequence with a filter is the equivalent of convolving the FIR filter coefficients with the time data. Convolution involves dragging the filter coefficient sequence along the time sequence.
If the FIR filter’s tails are long, then it will take time for its high-energy middle to meet up with the data. Thus, it will introduce long tails to the front of the filtered data. Likewise, if a long tail FIR is dragged off the data sequence, a long tail will be introduced into the later part of the filtered data.