How to reduce noise in audio playback

adcembeddedpic

I am doing a project using a PIC18F25K80 to stream live audio through ZigBee. I used the PIC audio development board (Microchip) as my reference circuit. In this circuit the in-built ADC of the PIC is used for Analog-to-Digital conversion and in-built PWM is used for Digital-to-Analog conversion.

In this circuit, sampling rate is 8kHz, ADC resolution is 10-bit and PWM frequency is 25kHz. The circuit is affected by severe noise while in playback and the signal strength is very low. How can I solve this issue?

PIC18F25K80 audio playback schematic

Best Answer

sampling rate is 8kHz, ADC resolution is 10-bit and PWM frequency is 25kHz

Are you trying to output 25kHz PWM but changing the PWM value every 8kHz cycle? That will be extremely choppy and the source of your noise.

To diagnose whether it's the input or the output that's the problem, try to capture a chunk of samples and export them to a PC for listening. If that's not too noisy, then you need to fix the output.

I suggest either increasing the PWM frequency a lot (250kHz at the least, ideally more like 1MHz), or changing to delta-sigma DAC, or R-2R, or (for best quality) an external DAC which you control over SPI or similar (example: http://www.analog.com/en/digital-to-analog-converters/da-converters/ad5611/products/product.html will cost you about $1).