Leo's Audio DSP project

Friday, December 29, 2006

Milestone 2 on the last day of the year: can divide the sample by 2

Asked Harman Engineer Chris Belcher for help to divide the signal by 2. More to be added here...

AD1835 CODEC specs and low level stuff

Ran through the datasheet for my AD1835 CODEC and asked Harman Pro Engineer Brian Parker about how samples are coming out and how the frames are syncronized. Learned about the low level stuff and discovered that left and right samples are actually coming out of the same pin which I didn't know before.

had problem multiplying the signal by 0.5

I got distortion when I attempted to multiply audio by 0.5 because I was treating audio as unsigned integer.

I was warned that the 24-bit word coming out of the codec wasn't properly written into the 32-bit register.

Tried many ways to fix it. Decided to see how the samples are coming out of the codec.

Analog Devices Audio Tutorial

Went through an Audio tutorial written by Analog Devices.

Saw a chorus algorithm written in assembly for AD 21065L

Friday, December 22, 2006


Asked Mike Gordon about what type of numbers are necessary to correctly manipulate samples. Learned about casting (representing the result of a calculation in a desired number format). Also learned that samples going in and out of CODEC are unsigned integers. Got a few tips to impove signal processing code.

Thursday, December 21, 2006

Another talk with Michael Carnes

Asked for some advice from Michael Carnes, Lexicon principal engineer. Learned more on:

* Number types and their importance within the C-code

* Block vs. sample processing

* How to create a simple sine wave to modulate audio signals with

* Importance of thinking about what is to be accomplished before writing code instead of writing code and "compile and see what happens".

First signal manipulation!

Successfully manipulated samples on the fly. Accomplished this by writing a C function that processes a block of samples at a time.

New C based code

This week:

* switched to a new C-based project templete (from Analog Devices) that handles codec and hardware initilazation and manages I/O for block based DSP processing

* attemped to change the sampling rate but failed, will ask an expert