Traditional Finite Impulse Response (“FIR”) filters are generally designed as “linear phase” filters that delay input signals but do not distort the phase of the input signals. Typically these FIR filters are suited for multi-rate applications (such as reduced sampling rate, increased sampling rate, or both) and enable greater computational efficiencies than other types of filters, such as Infinite Impulse Response (“IIR”) filters, which require that each output of the IIR be individually calculated. Additionally, FIR filters have desirable numeric properties when utilized in digital signal processors (“DSPs”). Moreover, FIR filters have no feedback so they are implemented typically utilizing fewer bits than IIR filters.
It is appreciated by those skilled in the art that FIR filters have an “impulse response” that is a set of FIR coefficients. Additionally, FIR filters have “tap” values that may be coefficients, delay pairs, or both. Generally, the number of FIR taps (typically identified as “N”) is an indication of the amount of memory required to implement the FIR filter, the number of calculations required, and the amount of “filtering” the FIR filter is capable of performing. Therefore, the greater the number of taps, the greater the stop-band attenuation, the less ripple, and the narrower the FIR filter.
In operation, traditional FIR filters require that samples be acquired at even time intervals. However, non-linear filtering in a time-synchronized system (such as a measurement system or control system) generally requires measurements taken at times determined by stimuli and this stimuli is generally not under the control of a measurement or control system. Other types of filtering approaches exist that may be utilized in a time-synchronized measurement or control system that have measurements taken at times determined by stimuli. Unfortunately, these other known filtering approaches often are excessive and have computation times that are too large for DSP implementation.
Therefore, there is a need to implement an FIR filter for linear and non-linear filtering in time-synchronized systems where the measurements are taken at times that are determined by stimuli. Additionally, there is a need for the new FIR filter to be implementable in a DSP.