AnsweredAssumed Answered

Problems with Audio EZ-Extender example change of sampling frequency and FIR filtering

Question asked by Senseison on Mar 10, 2011
Latest reply on Mar 15, 2011 by DivyaS

Hi all!


I'm new here and I have to admit, that I'm also pretty new to DSPs. I have a project, where I want to use an ADSP-21469 on a EZ-BOARD in combination with an Audio EZ-extender board to play music into one ADC of the board, split the signal into four frequency bands (<150Hz, 150Hz - 600Hz, 600Hz - 3kHz, > 3kHz) and split it on 14 channels in the outgoing direction. In order to do this I use the "Sharc EZ-Extender_21469 AD1939 C Sampled-Based Talkthru 192 kHz_6serialports" example provided with Visual DSP++ 5.0 Update 9. For testing purposes I use a function generator to put Sine tones into the DSP ADC.


Now I have two problems:


1) The sample rate of the project is 192kHz and I need 48kHz, so is it enough to change the variables in the "ConfigParam1939A", "ConfigParam1939B" and "ConfigParam1939C" for the three audio codecs in the "init1939AviaSPI", "init1939BviaSPI" and "init1939CviaSPI" from "DAC_SR_192K" and "ADC_SR_192K" to "...48K" or is it necessary to change the code in other ways in order to change the sampling frequency? Or is there maybe an example with the same features with 48kHz somewhere already?


2) When I calculate the possible number of filter taps for my FIR filters, I see that the processor has a performance of 900 MMACS, with a sample frequency of 48kHz that gives me 18750 filter coefficients. Is that correct? I ask, because when I change the example code as described in 1) above, i get quantizing noise on my outgoing sine signal. The sine is a test signal, which passes through the kit unfiltered, only with the filtering beeing performed in the same function before the output of the signal. Apparently the noise appears because the code execution of the FIR filters in the "process_AD1939_samples" takes too long, meaning that the processor can't manage to spit all samples out in time. I use a total of 8 filters with a total number of 10400 taps, but already with about 5000 taps the noise appears on the signal.


I attached my code so you can maybe see, what I've been trying to do and I would be really happy about any help on this issue!


Thanks in advance!