[Dspforum] delays for cascaded SOS
Doug Wenstrand
doug at echelonembedded.com
Wed Nov 12 11:35:46 MST 2008
I've now gotten phone calls / emails from a couple of you, and I'm noticing
a common theme with problems people are having with IIR filters.
IMPORTANT :
** Make sure that each filter section has its own delay buffer **
--Delays need to be preserved between calls to the filtering function.
Otherwise it can't remember its state from the last time you called it. If
you start every block with delays that are not where they ended up from the
last block process, you are injecting a disturbance into your filter every
Blocksize samples.
Imagine if you ran your FIR filter for 4096 samples (like a normal FIR
filter) and then re-zeroed the contents of the shift register holding all
the old data! You'd hear some garbage, and it would take your FIR filter M
(M=order) samples to recover. An IIR filter may not recover nearly as fast,
(hence the name), and doing such things could blow the output up completely
to the point where it isn't recognizable
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://echelonembedded.com/pipermail/dspforum_echelonembedded.com/attachments/20081112/b4cb3326/attachment.html>
More information about the Dspforum
mailing list