DSPRelated.com
Forums

how to realize octave band analysis through FFT?

Started by Simon October 19, 2006
I have realized the octave band analysis through multi-rate filter bank
design.
But yesterday, somebody told me he realized it through FFT. For some
reason, he won't tell me how to realize it.

Then I just wonder with these two questions.

1.  Due to the low resolution in the low frequency, we need really too
big size of FFT to improve its resolution, while it's imposible to be
implemented in DSP for little storage room.

2.  FFT is linear in frequency, while octave band analysis is not
(actually in log scale), how can FFT make log scale?


Because the man told me several product except me use the FFT
technology. So i just asked me how can he make it?

Maybe you can give me some clue.

Thanks!!

I think here is what happens. The old FFT instruments use FFT spectra
and "synthesize" the spectral lines using octave distributed shape. It
generates octave spectrum but the spectral shape does not meet ANSI or
ISO octave standard.

Companies like B&K use true decimation filter + IIR octave filters. The
filters do meet ISO/ANSI standard. These filters also can generate time
history per filter. It is very useful in the acoustic analysis.

Recently, some companies use (decimation filter + FFT) which generates
the linear spectrum with different freq resolution at different band.
Then these spectra are synthesized again, which can give you 1/12, 1/48
or even 1/96 octave resolution.

I suspect your friend was refering to the very old octave analysis
technology, which is FFT-based, and no good.

Good answer! Thanks!
Acutally, I used the second way as B&K did in their vibration meter and
it worked well.
These days, I will spend some time on your third way ( decimation
filter +FFT ).
So according to your experience, which would be the better way, i mean
in time-consuming, storage-consuming in the simulation in Matlab and
the implementation in fixed-pointed DSP.
Thanks in advance.


DigitalSignal wrote:
> I think here is what happens. The old FFT instruments use FFT spectra > and "synthesize" the spectral lines using octave distributed shape. It > generates octave spectrum but the spectral shape does not meet ANSI or > ISO octave standard. > > Companies like B&K use true decimation filter + IIR octave filters. The > filters do meet ISO/ANSI standard. These filters also can generate time > history per filter. It is very useful in the acoustic analysis. > > Recently, some companies use (decimation filter + FFT) which generates > the linear spectrum with different freq resolution at different band. > Then these spectra are synthesized again, which can give you 1/12, 1/48 > or even 1/96 octave resolution. > > I suspect your friend was refering to the very old octave analysis > technology, which is FFT-based, and no good.
"Simon" <Simon.jwfg@gmail.com> schrieb im Newsbeitrag 
news:1161325250.248074.205310@b28g2000cwb.googlegroups.com...
> Good answer! Thanks! > Acutally, I used the second way as B&K did in their vibration meter and > it worked well. > These days, I will spend some time on your third way ( decimation > filter +FFT ). > So according to your experience, which would be the better way, i mean > in time-consuming, storage-consuming in the simulation in Matlab and > the implementation in fixed-pointed DSP. > Thanks in advance. > > > DigitalSignal wrote: >> I think here is what happens. The old FFT instruments use FFT spectra >> and "synthesize" the spectral lines using octave distributed shape. It >> generates octave spectrum but the spectral shape does not meet ANSI or >> ISO octave standard. >> >> Companies like B&K use true decimation filter + IIR octave filters. The >> filters do meet ISO/ANSI standard. These filters also can generate time >> history per filter. It is very useful in the acoustic analysis. >> >> Recently, some companies use (decimation filter + FFT) which generates >> the linear spectrum with different freq resolution at different band. >> Then these spectra are synthesized again, which can give you 1/12, 1/48 >> or even 1/96 octave resolution. >> >> I suspect your friend was refering to the very old octave analysis >> technology, which is FFT-based, and no good. >
Hello Simon, I build a 1/1, 1/3 and 1/6 octave analyser with use true decimation filter + IIR filters on an fixed point platform (DSP56300 Freescale) and it consumes definetly less memory and MIPS compared to an FFT approach. BR Gerold
Simon wrote:
> Good answer! Thanks! > Acutally, I used the second way as B&K did in their vibration meter and > it worked well. > These days, I will spend some time on your third way ( decimation > filter +FFT ). > So according to your experience, which would be the better way, i mean > in time-consuming, storage-consuming in the simulation in Matlab and > the implementation in fixed-pointed DSP. > Thanks in advance. > >
The "decimation filters + IIR filters" are no doubt the most time consuming operation because each input point at each fiter at each octave has to go through the same IIR operation. Interestingly, the total computation is not in proportion to the total number of filters. It is always in the order of twice of that in the highest octave. The multi-band FFT based operation requires less computation but it does not give you any time-response information per filter. You will see the octave bars, particularly those in the low-freq band, are not dynamically moving. The user experience is poorer.
Hi Gerold Schrutz,
    I implemented the 1/5 octave band filter (Decimation+IIR )in TI DSP
C2000, the result was good. So, have you tried designing the
Decimation+FFT in MATLAB as Digital Signal mentioned above, I have not
tried it yet for somewhat busy poject these days. 
               Simon

Simon wrote:
> Hi Gerold Schrutz, > I implemented the 1/5 octave band filter (Decimation+IIR )in TI DSP > C2000, the result was good. So, have you tried designing the > Decimation+FFT in MATLAB as Digital Signal mentioned above, I have not > tried it yet for somewhat busy poject these days. > Simon
1/5? Odd number.
Yes, Odd number.

Maybe not meet ANSI S1.11 so well, but almost the same ,i think.
Practically, the result is right.

Yesterday on the plane, i did some simple simulation about the
Decimation+FFT.
But i just wonder ,since after the decimation, the resolution of FFT
maybe the same (am I right?). Then how can we improve the resolution at
the low frequency?

Since I will never be the R&D engineer from this end of month, and I
will work for some company as the role of technical support and
somewhat marketing. So, I am afraid i have no time to do it, thought I
still have great interestes on this problem.

Thanks
                         simon


DigitalSignal wrote:
> Simon wrote: > > Hi Gerold Schrutz, > > I implemented the 1/5 octave band filter (Decimation+IIR )in TI DSP > > C2000, the result was good. So, have you tried designing the > > Decimation+FFT in MATLAB as Digital Signal mentioned above, I have not > > tried it yet for somewhat busy poject these days. > > Simon > > > 1/5? Odd number.
After the decimation the resolution of FFT will be increased
proportionally with the rate of decimation. Say you down sample the
data by a rate of 8:1, with the time scale change, your FFT frequency
resolution will be increased by a factor of 8. Of course the cost is
longer frame time.