# Power spectral density of sigma-delta modulator

I am simulating a 3rd order SDM and I want to plot the PSD of the output.

As you may know, the output is a sequence of pulses ranging from -3 to +4. The number of samples is $$N$$.

The way I approached the problem is the following:

1. Use fft on the output sequence
2. normalize (divide by $$N$$)
3. Square the above signal.
4. multiply by 2 ( because I need the one-sided band -- not sure about this ).

The plot should then be $$10\log_{10}(signal)$$ if I am not mistaken.

Problem is that I get a big deviation from the ideal curve of the expected noise.

Am I doing something wrong?

• How is it deviating? What software are you using? Might be a good idea to try a built-in PSD estimate if one is available, and then use that to check your own implementation... Commented Mar 8, 2017 at 11:39
• You approach to getting the PSD sounds correct. The squaring should be a complex conjugate multiplication which you may be doing. "As you may know": I did not know that the output HAD to be -3 to +4, This sounds like a 3rd order SDM with a 3 bit output quantizer. However I believe you could also implement a 3rd order SDM with other quantizer down to even 1 bit. I mention this in case there was confusion with the output levels and order; order refers to the number of integrations (accumulators) in the SDM. If you give your actual and expected results we may be able to provide more insight. Commented Mar 8, 2017 at 12:06
• @Arnfinn I am using Scilab for the implementation of the system and the PSD plot. My curves are deviating from the curves shown in a paper , which should be the correct ones. Unfortunately, the only built-in function in Scilab is a periodogram() ( Matlab ) like function which is not functioning properly Commented Mar 8, 2017 at 12:48
• @DanBoschen I didn't clear that up , you are right. The modulator is in MASH topology ( 3 cascaded 1st order modulators ) and every loop has an 1bit quantizer. As far as the expected results are concerned : According to the paper I am reading, the maximum deviation between the ideal curve and the PSD of the outputs of the modulator should should be around 8 dB. Commented Mar 8, 2017 at 12:51
• @DanBoschen Argh, i passed the time limit of editing. Anyway, in the model i implemented ( in Scilab ) , that maximum deviation is around 12 dB. I am pretty sure the model is functioning properly , as i get the expected noise shaping and fractional output. So i though it must be a problem of PSD computation. Commented Mar 8, 2017 at 12:58