I'm looking for an example on how to do samplerate conversion for DSP internal data using the ASRC blocks.
I'm using the ADAU1466 evaluation board and run a program on 48kHz. I'd like to do most processing with 48kHz but some parts only with 32kHz to save memory.
I thought of using the ASRC block to convert a pair of DSP channels to 32kHz, do some processing with 32kHz and convert them back to 48kHz to mix with other signals.
Typing that I'm wondering if the DSP core can execute instructions on 2 different sample rates...?
Attached is my first test which shows me in ARC0 a ratio of 1.5 (ok for 48 -> 32kHz) but 1.0 for ASRC1 which is not ok.
You will not be able to use the multirate processing blocks to go to 32kHz inside the core then go out to another device. We do not have a divide by 1.5 as an option. I think you need to use a different structure.
If you have some external devices running at 32kHz then you use the ASRC to take in data from those devices and convert it up to the core rate of 48kHz. Then when you need to send audio to the 32kHz devices, then you use a different ASRC to convert back down to 48kHz.
Tell me more details of what ports these devices are coming into and out of the DSP. Feel free to send over your project and I can set it up for you.
I think that already answered my question. I've attached my test project in my first post.