Third order filters on FV-1

Algorithm development and general DSP issues

Moderator: frank

Post Reply
Digital Larry
Posts: 338
Joined: Mon Nov 12, 2012 1:12 pm
Contact:

Third order filters on FV-1

Post by Digital Larry »

Call me obsessive, but I've been spending some time trying to implement this algorithm on the FV-1:

http://www.docstoc.com/docs/53837224/Di ... Tone-Stack

You wind up with a third order Z-transform, and some of the coefficients come out larger than 1.999! Now I'm guessing it will be OK to scale denominator and numerator in such a way as to avoid that and then pull out a master gain correction that could be applied afterwards.

I know that I could break this into a 2-pole and a 1-pole filter. In fact since all poles are real I could certainly break it into 3 1-pole filters, given enough time and scratch paper to do the math (which I'm not sure I have).

It did strike me that the coefficient value range of the FV-1 is ideal for implementing 2nd order blocks since with 2nd order polynomials, and poles or zeroes inside the z-plane unit circle, no coefficient would ever get larger than 2.0.

So, (getting to my point finally), does anyone have a DSP reference that goes beyond the theoretical stuff and talks in detail about implementing z transforms of a given order on one DSP architecture or the other? Seems like commercial higher-end DSP just goes directly to C++, which (after spending half a year with FV-1 assembler) just takes all the fun (cough) out of it!
frank
Posts: 1244
Joined: Wed Oct 19, 2005 12:26 pm
Contact:

Post by frank »

Any time you are working with a fixed point DSP you run into this problem. Solutions are to do as you suggested (scale coefficients) or try different structures (DFI, DFII, cascaded second order) or ways of attacking the scaling.
Frank Thomson
Experimental Noize
Post Reply