Delta sigma modulator PSD simulation

Hi everyone. I built a first-order delta-sigma modulator, as shown in the figure, using Fourier transform to simulate PSD, but it is not the same as the simulation I saw in related papers, please help check where the problem is
attach my code and simulink module

Respuestas (1)

Pragati
Pragati hace 38 minutos
Editada: Pragati hace 38 minutos

0 votos

Your DSM implementation is likely fine—the mismatch is coming from how the PSD is being computed.
Key things to fix
  • Don’t use raw FFT directlyA simple FFT → |·|² → log will give inaccurate PSD. Use:
  • Windowing (e.g., Hann)
  • Averaging (e.g., Welch)
  • Use long simulationsDSM noise shaping requires large sample sizes. Short runs produce noisy and misleading PSD.
  • Discard transientsThe initial portion of the simulation distorts the spectrum—remove it before computing PSD.
  • Average multiple segmentsA single FFT realization is not sufficient. Averaging is necessary to match published results.
  • Normalize correctlyEnsure proper scaling for:
  • Sampling frequency
  • One-sided spectrum
  • Check expected slopeFor a first-order DSM, the noise floor should rise (~20 dB/dec). If not, the issue is in PSD estimation.
Recommended approach
Instead of building everything manually, you can validate your results using Mixed-Signal Blockset:
  • Use the Delta-Sigma Modulator block / ADC examples
  • Run long simulations and use consistent analysis workflows for PSD/SNR
  • These examples already capture correct NTF-based noise shaping and avoid common PSD pitfalls

Categorías

Más información sobre Mixed-Signal Blockset en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 23 de Mayo de 2023

Editada:

el 4 de Jun. de 2026 a las 14:31

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by