[sdiy] FFTs on 8 to 16 channels
rsdio at audiobanshee.com
rsdio at audiobanshee.com
Thu Feb 18 04:01:35 CET 2016
I designed the Soundplane using the 108 MHz TMS320VC5506, available in PQFP-144 packaging, and a couple of ADS7951 8-channel, 12-bit ADC chips. It performs 16,000 128-point FFTs per second in 16-bit fixed point and delivers the results on Full Speed USB over two Isochronous endpoints. That's a total of 16 input channels (the design also generates 32 output channels through a high-speed 14-bit DAC on the parallel bus).
These ADC chips are not I2S, but are SPI. The 18 MHz clock rate is just enough to handle 8 channels at 125 kHz sample rate each. The TMS320 has three MCBSP ports, and I recall that they could handle I2S as easily as SPI.
Before I selected the TMS320, I looked at Texas Instruments' web pages to see cycle counts for various FFT implementations. Knowing the size of FFT that I needed, and the maximum clock rate of the DSP, I was able to predict the percent CPU needed for the FFT portion of the calculations.
I've used the Blackfin for Linux, but not for DSP. I'd recommend looking for benchmarks that will predict whether the BF533 can keep up with your processing needs.
External Flash is not always complicated. The TMS320 boots from a serial Flash, using that third SPI port that doesn't have an ADC attached in my design. However, I'm guessing that your Blackfin design is looking at needing external parallel Flash, which would be a bit more resource intensive. My first question here is whether the external Flash is needed just for Linux, or if you could possibly skip the Flash if your worked with a simpler RTOS or bare metal.
Have you considered Analog Devices SHARC? Not sure how that compares to their Blackfin. I assume SHARC is rather expensive to develop for.
Brian Willoughby
Sound Consulting
On Feb 17, 2016, at 6:37 PM, ackolonges <ackolonges at hotmail.com> wrote:
> I was wondering if the group had any suggestions of chips for embedded real-time processing of many channels of audio (8, 16, more?) at 44.1khz 16bit on a single DSP chip? The largest workload would probably be carrying out realtime FFTs on all of the channels at once. I have some experience with using dsPICs for signal processing and synthesis (thanks to Eric's designs), and have done a reasonable amount of work with AVRs. I'm ordering an STM discovery board to see how I fare with that as well.
>
> So far the best candidate seems to be chips like the Blackfin ADSP-BF533 which can come in LQFP packages and can support up to 8 stereo I2S channels. Does anyone on the list have any experience with these chips? For a DIYer the implementation seems quite complicated, needing external flash memory etc.
>
> Any suggestions of methods of doing this kind of processing, or advice on the Blackfins would be greatly appreciated.
>
More information about the Synth-diy
mailing list