Thursday, January 29, 2009

EQ, Comm, and more plots


Pink noise, 4096-point FFT, Odd bands set to pass, others set to stop.

We have a working 10-band EQ implemented. All band gains, L + R attenuation (volume/balance), and EQ enable/disable are settable over the serial port.

Wednesday, January 14, 2009

FIR Low-pass filter and I2C comm test

Hi all. After taking a good look at the DMA controller documentation for the DSP, and after calculating the coefficients for a 32-tap FIR low-pass filter (in MATLAB... hahaha), we've finally arrived at something that works!


The left channel has the filter enabled, and its frequency response is shown as the blue plot. The right channel is a simple pass-through, and its response is the red plot. To get the responses, we used NCH Tone Generator to generate white noise. The noise signal is patched through the SPDIF output from my computer to the DSP board. The output is sampled using an M-Audio Conectiv, connected via 3.5mm to RCA cable. Lastly, we used Adobe Audition to capture the output and provide some signal analysis.


Arriving at a working filter wasn't easy. Some of the things that we had to take into account were:
  • Compiler limitations - The free DSP563CC compiler doesn't provide intrinisics necessary to fully utilize the DSP features, like a circular buffer data-type, parallel memory moves, and multiple memory space access. Many of these issues required the use of very hack-ish use of ASM, especially with respect to setting up the filter co-processor.
  • Performance limitations - Since we resorted to using a slower (cheaper!) DSP, we had to be mindful with how we coded up everything, while keeping everything clear and maintainable. We are also limited with how complex we can make the filter (# of taps) due to memory and speed constraints.
Now that we're confident with constructing filters on this DSP, our next goal is to move forward and crunch the numbers for the 10 band-pass filters that we need for the equalizer portion of the project.

Another goal that we've arrived at is the completion of the I2C architecture, which will provide the comm bridge that we've made earlier with something to talk to.

Thursday, January 8, 2009

LCD test


LCD test, an small black heart image

Hardware of the Front End

Front End system