Reply by Rune Allnor May 17, 20072007-05-17
On 17 May, 21:18, Rene Gerber <renegerb...@trashmail.net> wrote:
> On 17.05.2007 19:21, Rune Allnor wrote: > > > I heard that, too, and that rumour -- for all I know it's true -- > > kept > > me for years from having a go at filter design. Once you get down > > to the nitty-gritty details, all you need is the BLT for at most order > > 2. > > All higher order filters are expressed in terms of biquads, so > > apply the BLT on each of them in turn, and you are good. > > > The hard part was not to implement the details, but to find them. > > Antoniou's book came out months after I had finished my little > > project, just at the right time for me to appreciate its value. > > The description can be founded here: > > http://www.mathworks.com/access/helpdesk/help/toolbox/signal/index.ht... > > I think the matlab implementation itself is only about 1 A4 sheet.
It's up to you: Implement this on algebraic form, from scratch, based on available texts and easily implemented formulas, or emulate matlab where the algorithm requires a top-notch numerical library at the base. If you use matlab, the choise doesn't make much of a difference. If you use anything else, 90% of the job with doing things "the matlab way" is to get that matrix inversion up and running. And after you managed that, you still have as much work to do as on algebraic form, to get the actual filter design to work. Rune
Reply by Rene Gerber May 17, 20072007-05-17
On 17.05.2007 19:21, Rune Allnor wrote:
> I heard that, too, and that rumour -- for all I know it's true -- > kept > me for years from having a go at filter design. Once you get down > to the nitty-gritty details, all you need is the BLT for at most order > 2. > All higher order filters are expressed in terms of biquads, so > apply the BLT on each of them in turn, and you are good. > > The hard part was not to implement the details, but to find them. > Antoniou's book came out months after I had finished my little > project, just at the right time for me to appreciate its value. >
The description can be founded here: http://www.mathworks.com/access/helpdesk/help/toolbox/signal/index.html?/access/helpdesk/help/toolbox/signal/bilinear.html I think the matlab implementation itself is only about 1 A4 sheet. Rene
Reply by Rune Allnor May 17, 20072007-05-17
On 17 May, 15:24, Rene Gerber <renegerb...@trashmail.net> wrote:
> On 17.05.2007 00:52, Jerry Avins wrote: > > > Rene Gerber wrote: > >> On 16.05.2007 01:50, Rune Allnor wrote: > >>> On 16 May, 00:53, Rene Gerber <renegerb...@trashmail.net> wrote: > >>> The most comprehensive (contemporary) text on such matters is > >>> Antoniou's 2006 book. Everything you need is in there. > > >> Thanks for the hint. The book looks very comprehensive. Though it does > >> not explain for example how to do the bilinear transformation > >> numerically in software. > > > The bilinear transformation is an algebraic process. I haven't heard of > > using numerical methods to perform it. > > As far as I know matlab uses the state space representation of the > transfer function to perform the bilinear transformation.
I heard that, too, and that rumour -- for all I know it's true -- kept me for years from having a go at filter design. Once you get down to the nitty-gritty details, all you need is the BLT for at most order 2. All higher order filters are expressed in terms of biquads, so apply the BLT on each of them in turn, and you are good. The hard part was not to implement the details, but to find them. Antoniou's book came out months after I had finished my little project, just at the right time for me to appreciate its value. Rune
Reply by Rene Gerber May 17, 20072007-05-17
On 17.05.2007 04:46, Rune Allnor wrote:
> On 16 May, 20:57, Rene Gerber <renegerb...@trashmail.net> wrote: >> On 16.05.2007 10:03, Andor wrote: >> >> > On 16 Mai, 00:53, Rene Gerber <renegerb...@trashmail.net> wrote: >> > A bilinearly transformed biquad bandpass is described in the Audio EQ >> > Cookbook (http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt). You >> > can cascade them to increase the order in steps of 2. Slope can be >> > controlled with Q. >> >> Thank you but by cascading this second order systems for a higher order >> of N the slope will look different from a pure butterworth filter of the >> same order. > > Designing higher-order Butterworth filters is a bit involved, but > not particularly difficult. The idea is to design a set of biquads, > which form a Butterworth when combined. The formulas for the > low-pass Butterworth of arbitrary N are available in DSP books > like Proakis & Manolakis. For bandpass filters you need to > apply a frequency transform to the low-pass prototype.
Yes I know this. But I fear my application will need an algebraic expression handler then which I try to avoid because it will increase complexity. Rene
Reply by Rene Gerber May 17, 20072007-05-17
On 17.05.2007 00:52, Jerry Avins wrote:
> Rene Gerber wrote: >> On 16.05.2007 01:50, Rune Allnor wrote: >>> On 16 May, 00:53, Rene Gerber <renegerb...@trashmail.net> wrote: >>> The most comprehensive (contemporary) text on such matters is >>> Antoniou's 2006 book. Everything you need is in there. >>> >> >> Thanks for the hint. The book looks very comprehensive. Though it does >> not explain for example how to do the bilinear transformation >> numerically in software. > > The bilinear transformation is an algebraic process. I haven't heard of > using numerical methods to perform it.
As far as I know matlab uses the state space representation of the transfer function to perform the bilinear transformation.
Reply by Rune Allnor May 16, 20072007-05-16
On 16 May, 20:57, Rene Gerber <renegerb...@trashmail.net> wrote:
> On 16.05.2007 10:03, Andor wrote: > > > On 16 Mai, 00:53, Rene Gerber <renegerb...@trashmail.net> wrote: > > A bilinearly transformed biquad bandpass is described in the Audio EQ > > Cookbook (http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt). You > > can cascade them to increase the order in steps of 2. Slope can be > > controlled with Q. > > Thank you but by cascading this second order systems for a higher order > of N the slope will look different from a pure butterworth filter of the > same order.
Designing higher-order Butterworth filters is a bit involved, but not particularly difficult. The idea is to design a set of biquads, which form a Butterworth when combined. The formulas for the low-pass Butterworth of arbitrary N are available in DSP books like Proakis & Manolakis. For bandpass filters you need to apply a frequency transform to the low-pass prototype. Now, there are lots of tiny details to keep track of when doing all this; the main problem is to keep all the details in view. If you can find the book by Antoniou (it seems not to be available via amazon.com), that's about the only place you will find all the pieces in one spot. Rune
Reply by Jerry Avins May 16, 20072007-05-16
Rene Gerber wrote:
> On 16.05.2007 01:50, Rune Allnor wrote: >> On 16 May, 00:53, Rene Gerber <renegerb...@trashmail.net> wrote: >> The most comprehensive (contemporary) text on such matters is >> Antoniou's 2006 book. Everything you need is in there. >> > > Thanks for the hint. The book looks very comprehensive. Though it does > not explain for example how to do the bilinear transformation > numerically in software.
The bilinear transformation is an algebraic process. I haven't heard of using numerical methods to perform it. Jerry -- Engineering is the art of making what you want from things you can get. &macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;
Reply by Rene Gerber May 16, 20072007-05-16
On 16.05.2007 01:50, Rune Allnor wrote:
> On 16 May, 00:53, Rene Gerber <renegerb...@trashmail.net> wrote: > The most comprehensive (contemporary) text on such matters is > Antoniou's 2006 book. Everything you need is in there. >
Thanks for the hint. The book looks very comprehensive. Though it does not explain for example how to do the bilinear transformation numerically in software.
Reply by Rene Gerber May 16, 20072007-05-16
On 16.05.2007 10:03, Andor wrote:
> On 16 Mai, 00:53, Rene Gerber <renegerb...@trashmail.net> wrote: > A bilinearly transformed biquad bandpass is described in the Audio EQ > Cookbook (http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt). You > can cascade them to increase the order in steps of 2. Slope can be > controlled with Q.
Thank you but by cascading this second order systems for a higher order of N the slope will look different from a pure butterworth filter of the same order.
Reply by Andor May 16, 20072007-05-16
On 16 Mai, 00:53, Rene Gerber <renegerb...@trashmail.net> wrote:
> Dear list > > Im designing a bandpass iir filter (prototyp) for a small realtime > system. I already implemented the lowpass butterworth filter for a > variable order by calculating the normalized butterworth polynomials in > 2nd order systems and then applying the bilinear transformation. This > results as well in 2nd order systems in the z domain which can be used > as a biquad cascade for the iir filter routine. > > However for a bandpass for a variable order N the implementation seems > to be more complicated in the mathematical sense and I would like to > know if any calculation in the s-domain has been done for higher orders > of N. > > Unfortunately my textbook only explains how to get a 4th order bandpass > from a 2nd order lowpass transfer function by applying the > lowpass-bandpass transformation. I am looking for a more general > mathematical solution similar to the normalized butterworth polynomials > to calculate a cascade of 2nd order transfer functions for a bandpass > which can then be transfered in the z domain.
A bilinearly transformed biquad bandpass is described in the Audio EQ Cookbook (http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt). You can cascade them to increase the order in steps of 2. Slope can be controlled with Q. Regards, Andor