Sign in

username:

password:



Not a member?

Search audiodsp



Search tips

Subscribe to audiodsp



audiodsp by Keywords

AAC | ADPCM | Convolution | DAFx | FFT | IIR | Mixer | MP3 | MPEG | MPEG-4

Discussion Groups

Discussion Groups | Audio Signal Processing | Octave and 1/3-octave bandpass filter bank

Technical discussions related to Audio Signal Processing (digital effects, acoustics, noise reduction, musical signal processing, etc).

  

Post a new Thread

Octave and 1/3-octave bandpass filter bank - hank...@in.waw.pl - Apr 8 13:09:00 2005



Hi everyone,

My previous post was not submitted, so I decided to write it again.

I'm supposed to design a bandpass filter bank (octave and 1/3-octave) for audio measurements
(noise or sound level) and afterwards implement it on TMS320C25 or TMS320C6211 (my tutor is
very ambitious and won't let me go the easy way and prepare the whole thing in Simulink).

The thing is I don't know much about DSPs or programming and I need some good advice on how to
make it all work.

Now something closer about the filter bank itself:

1) bandpass IIR filters (supposedly Butterworth order 8 or 10) [I'm not sure about this one,
because I've never done that before; though I think Butterworth may be the best one for my
purpose - correct me if I'm wrong];

2) normalised center frequencies (below) for octave (o) and 1/3 octave filterbanks (only
audible spectrum; in case anybody needed the ISO 1260):

25, 31.5(o), 40, 50, 63(o), 80, 100, 125(o), 160, 200, 250(o), 315, 400, 500(o), 630, 800, 1
000(o), 1 250, 1 600, 2 000(o), 2 500, 3 150, 4 000(o), 5 000, 6 300, 8 000(o), 10 000, 12 500,
16 000(o), 20 000;

3) I can design (get the coefficients from any IIR filter design program) only the first filter
and proove that with a slight change of the coefficients I can implement the next stages; I can
also design the whole filterbank and implement it as a whole.

If any of you could, please, help me prepare a flow-chart for the filter bank and tell me
whether my way of thinking is correct or not, I'd be more than grateful.

Thank you in advance,
Hanna
	


(You need to be a member of audiodsp -- send a blank email to audiodsp-subscribe@yahoogroups.com )

Re: Octave and 1/3-octave bandpass filter bank - Meenakshi Matai - Apr 8 16:25:00 2005

Hello Hanna:

I'm working on a very similar project of implementing various filters/ 
audio equalizers on a TI processor.
I found TI's recommended document which might be helpful to you. Apart 
from this, TI has a DSPLIB (DSP Library), on their website, that has 
standard functions for implementing IIR filters and more.

>
> 1) bandpass IIR filters (supposedly Butterworth order 8 or 10) [I'm 
> not sure about this one, because I've never done that before; though I 
> think Butterworth may be the best one for my purpose - correct me if 
> I'm wrong];
	 From this document and from other reading I have done, I can say that 
all higher order filters (order > 2) must be implemented as cascaded 
2nd-order biquad filter sections.

>
> 3) I can design (get the coefficients from any IIR filter design 
> program) only the first filter and proove that with a slight change of 
> the coefficients I can implement the next stages; I can also design 
> the whole filterbank and implement it as a whole.
>
You can get your filter coefficients from any standard code. But, you 
would need to break it down to multiple 2nd-order filter coefficients 
and then implement the whole filter bank.

> If any of you could, please, help me prepare a flow-chart for the 
> filter bank and tell me whether my way of thinking is correct or not, 
> I'd be more than grateful.
	The steps in my flowchart included:
1. Choosing filter parameters
2. Design of filter, i.e. obtain filter coefficients
3. If filter order >2, obtain filter coefficients for cascaded 2nd order 
filter sections
4. Process each input sample through each filter section

Hope this helps. I would definitely like to discuss more as I am 
currently working on this project too. Please let me know how it goes,
Meenakshi.


(You need to be a member of audiodsp -- send a blank email to audiodsp-subscribe@yahoogroups.com )

Re: Octave and 1/3-octave bandpass filter bank - Hanna Ćwikła - Apr 16 19:09:00 2005

All rigthy then... I got a little mixed up with the problem of breaking 
an IIR filter down to 2nd order filters cascade. If anybody could give 
me a hand on that problem (even some links to guides or manuals) I'd be 
more than grateful.
The second problem is WHERE CAN I GET IIR CODE FOR TMS320C25??? My tutor 
sais it's so easy to find but I can't seem to be that lucky... I've got 
some extracts from Chassaing's "Digital Signal Processing with 
TMS320C25" but it's still magic to me as I know very little about DSPs 
at all.
The third and (I guess) the last problem is testing the designed filter 
(or the whole filter bank). This part can be performed using Matlab but 
I'm affraid I'm not too familiar with all the components of the Matlab 
package.

Sorry for my amateur questions and problems but I have noone to help me 
with all that.

Hanna.
	


(You need to be a member of audiodsp -- send a blank email to audiodsp-subscribe@yahoogroups.com )

Re: Octave and 1/3-octave bandpass filter bank - Christopher Moore - Apr 18 15:39:00 2005

Hello,

At the web site below you can find various IIR and FIR filter design 
on-line tools to allow you to freely design a wide variety of filters. 
For example, I used it to come up with the coefficients for a 6th 
order elliptic LPF. Verifying the coefficients in Matlab, the coded 
filter running on a Mot 56L311 gave excellent matching.

Here's the URL http://www.nauticom.net/www/jdtaft/

As for code for the TI part, I think a good search of TI's web site or 
a Google search would find you code examples of IIR sections.

Good luck.
	On Sun, 17 Apr 2005 01:09:21 +0200, Hanna ?wikła wrote:
	All rigthy then... I got a little mixed up with the problem of 
breaking
an IIR filter down to 2nd order filters cascade. If anybody could give
me a hand on that problem (even some links to guides or manuals) I'd 
be
more than grateful.
The second problem is WHERE CAN I GET IIR CODE FOR TMS320C25??? My 
tutor
sais it's so easy to find but I can't seem to be that lucky... I've 
got
some extracts from Chassaing's "Digital Signal Processing with
TMS320C25" but it's still magic to me as I know very little about DSPs
at all.
The third and (I guess) the last problem is testing the designed 
filter
(or the whole filter bank). This part can be performed using Matlab 
but
I'm affraid I'm not too familiar with all the components of the Matlab
package.

Sorry for my amateur questions and problems but I have noone to help 
me
with all that.

Hanna.
	-----------------------------------------------------------------------
Seven Woods Audio, Inc.                Christopher Moore
Concepts, Products, Circuits for Audio    Analog/Digital
moore@moor...
http://www.SevenWoodsAudio.com
	


(You need to be a member of audiodsp -- send a blank email to audiodsp-subscribe@yahoogroups.com )

Re: Octave and 1/3-octave bandpass filter bank - Martin Eisenberg - Apr 19 10:50:00 2005

From: "Hanna Ćwikła" <hanka@hank...>

> I got a little mixed up with the problem of breaking
> an IIR filter down to 2nd order filters cascade.

You need to factor the numerator and denominator polynomials and
group the factors into quadratics -- and another linear factor
for odd degree --, whose product is then equal to the original
polynomial. Complex conjugate roots go together (if your
factorizer split them in the first place) so that the filter
sections will have real coefficients. I think the Matlab function
is called roots. Don't forget about the scalar gain, though; it's
the ratio of th numerator and denominator's leading coefficient.

There are various ways to combine the zeros and poles into
sections and to choose the sections' compute ordering. Common
advice is to pair each pole with the closest zero in the z-plane.
This is to keep the feedback state magnitudes as small as
possible, avoiding unnecessary precision loss. I remember seeing
the ordering issue mentioned in the comp.dsp newsgroup but can't
seem to find those posts now. I've seen Randy Yates refer to two
books for this stuff, however:

Digital Signal Processing - Oppenheim and Schafer;
Introduction to Digital Signal Processing - Proakis, Manolakis.
	Martin
	


(You need to be a member of audiodsp -- send a blank email to audiodsp-subscribe@yahoogroups.com )

Re: Octave and 1/3-octave bandpass filter bank - Hanna Ćwikła - Jun 7 4:06:00 2005

All right... I've got the filter design problem sorted out - I got a 
little program with which I can design the filters and generate asm for 
them. Now the problems are:

1. How the devil do I put 15 (for 1/1 octave) or 45 (for 1/3 octave) 
filter codes in one asm program (I'm kind of "green" in the filed of asm 
coding)?
2. How to filter the input signal? I think the easiest way for me would 
be serial filtering of the same sample, one filter after another and 
multiplexing the filtered values. Correct me if I'm wrong (and if so 
tell me how to program it). I guess that I have to filter a single 
sample (16 bits - word length in C25)... then the effects of the whole 
filtering process would be correct.
3. How to design the whole filtering process in Matlab's Simulink to 
show that the filterbank works (I need to input a signal, filter it and 
measure the RMS - only then it can really be successful)? What blocks 
should I use?

Thanks for all your help and sorry for stupid questions... I'm really a 
beginner but I still have to prepare the project for June 13th  :-(

Best regards,
Hanna
	Martin Eisenberg napisał(a):

>From: "Hanna Ćwikła" <hanka@hank...>
>
>  
>
>>I got a little mixed up with the problem of breaking
>>an IIR filter down to 2nd order filters cascade.
>>    
>>
>
>You need to factor the numerator and denominator polynomials and
>group the factors into quadratics -- and another linear factor
>for odd degree --, whose product is then equal to the original
>polynomial. Complex conjugate roots go together (if your
>factorizer split them in the first place) so that the filter
>sections will have real coefficients. I think the Matlab function
>is called roots. Don't forget about the scalar gain, though; it's
>the ratio of th numerator and denominator's leading coefficient.
>
>There are various ways to combine the zeros and poles into
>sections and to choose the sections' compute ordering. Common
>advice is to pair each pole with the closest zero in the z-plane.
>This is to keep the feedback state magnitudes as small as
>possible, avoiding unnecessary precision loss. I remember seeing
>the ordering issue mentioned in the comp.dsp newsgroup but can't
>seem to find those posts now. I've seen Randy Yates refer to two
>books for this stuff, however:
>
>Digital Signal Processing - Oppenheim and Schafer;
>Introduction to Digital Signal Processing - Proakis, Manolakis.
>
>
>Martin
>
>  
>
	


(You need to be a member of audiodsp -- send a blank email to audiodsp-subscribe@yahoogroups.com )