Abstract: 
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)