Hi everyone,
I've started working with the C6748 LCDK for the first time and installed the OMAPL138 Starterware (version 1_10_04_01) and opened the mcASP Demo, which transfers the signals from Line-In to Line-Out with the help of the aic31 codec in connection with the EDMA3 low-level-driver.
Now I'm trying to design a low pass filter into the main program. The problem i have is to work with the audio buffer.
As I figured out the audio data is transfered into the rxBuf's. I've limited the transfer to one buffer, so I'm only working with the rxBuf0. I also put the word size to 8 and sampling rate to 8000. So each data received in the rxBuf consists of 8 bit, which are ordered in the array as integer values between 0x0 and 0xFF. But every second value in the array is set to 0.
For example:
rxBuf0[0] = 0x02
rxBuf0[1] = 0x00
rxBuf0[2] = 0x04
rxBuf0[3] = 0x00
The output buffer is the txBuf0. When I just copy the input buffer rxBuf0 to txBuf0, the sound works fine. But when i manipulate the data in rxBuf0 with a low pass filter, the sound is very distorted. The low pass filter is a simple FIR filter, which is working on other boards.
My question is: Why is every second value in the buffer set to zero? When i change the word size to 16, then every 3rd and 4th value is zero. I can't figure out the way, the buffer is working.
Best regards
Sascha