Prev: Autocorrelation of Zadoff_chu sequence
Next: A Graph-Laplacian-Based Feature Extraction Algorithm for Neural Spike Sorting
From: Scottieb on 15 Dec 2009 07:35 Hello All I would like to use a DSP to implement a bank of filters for a real time audio analyzer. The filters are 1/3rd octave spanning from 25Hz to 31K5Hz (32 filters). I was looking at using a C5505 to do the job, Can anyone point me in the right direction to get started on implementing biquad filter on this device? Or would I be better off using an FFT to do the job instead of biquads? Just a bit of background, the information with be displayed on an LED bar graph display with 25 leds per bar for each 1/3rd octave. each led will indicate 1 or 2dB (selectable) the display logic will be handled by an FPGA. Thanks in advance for your help. Regards, Scott
From: Vladimir Vassilevsky on 15 Dec 2009 09:27 Scottieb wrote: > I would like to use a DSP to implement a bank of filters for a real time > audio analyzer. The filters are 1/3rd octave spanning from 25Hz to 31K5Hz > (32 filters). I was looking at using a C5505 to do the job, Can anyone > point me in the right direction to get started on implementing biquad > filter on this device? Start with prototyping the algorithm on PC. > Or would I be better off using an FFT to do the job instead of biquads? > > Just a bit of background, the information with be displayed on an LED bar > graph display with 25 leds per bar for each 1/3rd octave. each led will > indicate 1 or 2dB (selectable) the display logic will be handled by an > FPGA. The job can be done by 8-bit micricontroller. C55xx and FPGA is incredible overkill; you can use *any* algorithm you like, possibly in the floating point. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
From: Rune Allnor on 15 Dec 2009 09:27 On 15 Des, 13:35, "Scottieb" <scottwb...(a)gmail.com> wrote: > Hello All > > I would like to use a DSP to implement a bank of filters for a real time > audio analyzer. The filters are 1/3rd octave spanning from 25Hz to 31K5Hz > (32 filters). I was looking at using a C5505 to do the job, Can anyone > point me in the right direction to get started on implementing biquad > filter on this device? What is the problem? To design the filters or to program the chip in question? > Or would I be better off using an FFT to do the job instead of biquads? > > Just a bit of background, the information with be displayed on an LED bar > graph display with 25 leds per bar for each 1/3rd octave. each led will > indicate 1 or 2dB (selectable) the display logic will be handled by an > FPGA. Use the biquads. Far easier than FFTs, and far less latency. Rune
From: dudelmann on 15 Dec 2009 09:45 For the C5505 there should be a hand optimized biquad function available. I haven't programmed the device yet, but on the C6713 (much bigger I know) there are optimzed functions for all of these things. You can use those out of the box and just feed the coefficients an data and go ahead. Search the TI manuals If you implement the biquads yourself (on some 8bit controller or whatever) be aware of the fact, that IIR filters tend to be instable for low f0-s when the bit-resolution is low. You need to implement dithering then. Google "biquad", "fix point" and "dithering". Markus
From: Scottieb on 15 Dec 2009 10:50
> > >Scottieb wrote: > >> I would like to use a DSP to implement a bank of filters for a real time >> audio analyzer. The filters are 1/3rd octave spanning from 25Hz to 31K5Hz >> (32 filters). I was looking at using a C5505 to do the job, Can anyone >> point me in the right direction to get started on implementing biquad >> filter on this device? > >Start with prototyping the algorithm on PC. Using Matlab or something similar? > >> Or would I be better off using an FFT to do the job instead of biquads? >> >> Just a bit of background, the information with be displayed on an LED bar >> graph display with 25 leds per bar for each 1/3rd octave. each led will >> indicate 1 or 2dB (selectable) the display logic will be handled by an >> FPGA. > >The job can be done by 8-bit micricontroller. C55xx and FPGA is >incredible overkill; you can use *any* algorithm you like, possibly in >the floating point. > >Vladimir Vassilevsky >DSP and Mixed Signal Design Consultant >http://www.abvolt.com > I know you could do a low quality analyzer with an 8 bit MCU, but I would like at least a 50Hz refresh rate on the display, so the filters need to be giving me 1600 results ever second, not sure what that equates to in instruction count yet, do you still think C55xx will be an overkill? |