By Anthony Linley


The aim of this project, was to compress audio data in such a way so that the quality was preserved but
was given at a lower bit rate, utilizing a PIC32 microcontroller. The speech compression algorithm used is
known as adaptive differential pulse code modulation or ADPCM. The ADPCM algorithm can be broken down
into two major components, the encoding process and the decoding process. In an effort to give audio
capabilities to a microcontroller, a C implementation of a simplified ADPCM algorithm was developed and
programmed onto the PIC32. During the testing phase, the C implementation for the PIC32 was compared
to a working MATLAB implementation of the same algorithm, in order to confirm the numerical data was
the same throughout the compression process. Once both the encoding and decoding processes produced
identical outputs in both C and MATLAB, the code was put onto the microcontroller. The result was that
audio compression was successful; the spectral content of the raw speech data and compressed speech
data are the same and the entire process only used 1/5 of the CPU of the PIC32.

Report (pdf)

Poster (pdf)

Code (zip)