Delta sigma modulator PSD simulation
Mostrar comentarios más antiguos
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)
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.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!