Convolution reverb on SigmaDSP
Hi there!
Does anyone know whether it is possible to get convolution reverbs working on a SigmaDSP chip? I need to choose an impulse response from a list which should be used for the convolution in real-time. If this is possible does anyone know the limitations on the length of the impulse response?
Thanks in advance for you time and efforts!
Kevin
convolution
reverb
SigmaDSP
impulse response
Hi Kevin,
I would imagine this could be easily implemented on the ADAU145x for fairly long impulse responses. Either as a rather large sample-by-sample FIR filter, or using some sort of Block Convolution/Overlap & Add Method with the FFT block (block processing).
The limitation on the filter impulse response length would be the amount of available internal DM0 or DM1 memory, which is:
20K words per DM block for the ADAU1452
8K words per DM block for the ADAU1451
4K words per DM block for the ADAU1450
-JT
Hi JohnTo,
Thanks for your answer! "20K words per DM block".. does one word correspond to one audio sample?
Gr. Kevin
Hi Kevin,
1 word in memory would correspond with 1 24-bit audio sample. So 20,000 memory words would be less than 1/2 second (at 48 kHz sample rate) if you were only doing FIR filtering and nothing else.
Thinking about this some more, you probably might want some reverb responses that is a few seconds long. If so, then a higher end processor like a SHARC DSP with fast external DDR SDRAM memory would be preferable. For an architecture like a Sigma300, realistic artificial reverberation could instead be achieved with IIR first and second order all pass/comb/lattice filters, etc.
Still, the ADAU145x can offer the ability to execute a fairly large FIR filter. I just realized the FIR block allows a maximum 10K per filter. Four FIR filter taps can be accessed in a single instruction cycle with the quad 32-bit multiplier, which means the 10K FIR filter would execute in 2500 cycles. I would imagine you can combine parts of a larger response using multiple FIR filters.
I just did a quick test of a 10K FIR filter and got a cycle count of 2565 total cycles including the filter and audio framework, or 42% of the 294 MHz processor bandwidth at 48 kHz fs.
-JT
This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.
Thank you,
EZ Admin
Please log in to reply.

