Altera_Forum
Honored Contributor
16 years agoIIR filters in FPGA
The problem is as follows:
- we have a need for a low pass IIR filter (minimal delay - low order) - used type of filter is Elliptic - generation of the filter is in Matlab fdatool - characteristics of the filter are - 16kHz sample freq, cutoff at 2kHz, passband ripple 0.05dB, stopband -60dB - implementation in VHDL - fixed point arithmetics, generated by FDATool ------------------------------------------------------------------------- - the minimum order filter designed by fdatool is 14 - quantization settings: * 64bit coefficient word length * input word length 16,fraction length 15 * output word length 16, avoid overflow * section input/output word length 16 * round towards nearest(convergent) * product/accum. mode - Full precision * state word length 16, fraction length 7, avoid overflow * overflow mode - Saturate FPGA used is Altera Cyclone III The filter generated by the FDATool is unstable and does not perform as designed. The only one stable enough is a 4th order filter which is no good to us since it decays too slowly. My question is: is there a way to make the filter stable by any means of quantization parameters? Or is it better to use a DSP processor and run full floating coefficients? Has anyone done this in NIOS2 processor? Thank you in advance