[sdiy] Mixed-signal problems (dsPIC digital delay project)

Richie Burnett rburnett at richieburnett.co.uk
Thu Jan 26 20:56:15 CET 2017

Tom, try this:

1. First get some record of how loud the unwanted noise is, and roughly what it sounds like with your dsp system up and running as normal. So you can make comparative judgements.


2. Alter the part in your code that writes samples to the DAC so that it writes zeroes instead. (This will be the DAC write ISR if you're handling samples one at a time, or the DAC DMA buffer write routine if you're processing audio in blocks.) But do *everything* else the same. Still perform the ADC, still do your digital filtering, read/writing to external SRAM etc, exactly as before, just throw away the final result and write out zeroes instead. This should give you a nice silent output, except for DAC noise and any noise coupled into the analogue audio output from digital lines that are on the move during operation.


3. Change the software to disable the on-board audio DAC peripheral. But try to keep as much as possible of everything else running just the same. Now the DAC is shut down and not doing any of its delta sigma modulating, is the output noise noticeably less? When I've done this test the difference in noise floor between this test and number 2 above was like night and day.

In my experience when the DAC is running it produces a lot of in-band noise even when it's feed with a constant stream of zeroes (digital silence).

If you are really looking at pulses that are at 2.7Mhz, you need to use a very short ground lead on your scope to the ground plane of the board, and minimise any loop in the measurement path that could pick up digital noise. Don't go chasing spooks!

In general digital signals in a DSP system tend to be in some way correlated to the audio being processed or the block processing rate, so when they bleed into analogue audio they typically sound like whining, whistling, buzzing, fizzing, popping, or distortion, etc, but not the white noise description that you gave in your email.

Hope this helps,


Sent from my Xperia SP on O2

---- P Maddox wrote ----

>As someone said, you shouldn't hear 64K and 2.7M. 
>Have you got a picture of the scope with a sinewave coming out the DAC?
>>  Original Message  
>From: Tom Wiltshire
>Sent: Thursday, 26 January 2017 18:59
>To: Richie Burnett
>Cc: synth-diy at synth-diy.org
>Subject: Re: [sdiy] Mixed-signal problems (dsPIC digital delay project)
>On 26 Jan 2017, at 17:13, Richie Burnett <rburnett at richieburnett.co.uk> wrote:
>> "The spikes are causing an oscillation at around 2.7MHz. This comes out as basic white noise on the audio."
>> What makes you think that the 64kHz pulses or 2.7MHz ringing are causing white noise at the audio output? You can't hear 64khz or 2.7MHz after all?
>If you look at the output on the 'scope, you can see a pile of background fuzziness - noise. If you zoom in, you find that it has some structure in the apparent noisy background. Firstly, it comes in little bursts at 64KHz. Secondly, if you zoom in even more, the little bursts look like a high-res "ping" at about 2.7MHz.
>If those things weren't there on the output, the output would be clean (the bits in-between spikes look pretty good!). Given that it isn't, isn't it logical to assume that the noise I can see and the noise I can hear are the same?
>Synth-diy mailing list
>Synth-diy at synth-diy.org

More information about the Synth-diy mailing list