Fixed point FIR filters: summary (0008)
Channel: Digital Signal Processing
Date: 2013-11-07

Fixed point filters are more difficult to implement but need to be used if the processing has to be done on a small microcontrollers without floating point unit or if the processing needs to be very fast, for example for digital television where the sampling rate is very high.
Note that I've assumed that the values of the coeffcients h(n) range from zero to one. If this is not the case then the bits required for the accumulator are:
A = I + W [+ log2 N] + log2 max h(n)
For example if the largest coefficient of h(n) is only 0.5 then we could increase W by one.
In summary dealing with fixed point FIR filters requires a complete understanding of the whole design process and how the actual filter deals with temporary overflows. For that reason I cannot provide a simple recipe but I rather pointed out all aspects of this design process and how I personally would deal with it namely: a) using OCTAVE/MATLAB to generate the coefficients and then b) using C to test the actual filtering -- ideally on the target hardware.