Main Content

Model MASH and SMASH Delta Sigma Modulators

This example shows how to model multi-stage noise-shaping (MASH) or cascade Delta Sigma Modulators (DSM) using the Delta-Sigma Modulator block. MASH structures work by feeding the quantization error from the present stage to the next stage and combining the outputs from multiple stages in a digital cancellation logic. The advantage of cascade DSMs is that you can get the performance of higher order DSM without their stability issues.

2-2 MASH

2-2 MASH structure consists of two cascaded second-order DSMs and digital noise cancellation logic. In this example, both the DSM blocks are identical with an oversampling ratio (OSR) of 64, input bandwidth of 1kHz and use 2nd order CIFB architecture.

model = 'MASH22.slx';
open(model);

You can use the digital equivalent of the first stage noise transfer function (NTF) as the filter at the second stage output. To get the first stage NTF, select "Export analysis data to workspace" and click "Apply" from the Analysis tab of the DSM block mask. This generates a structure called "MASH22_DeltaSigmaModulator1" from which you can extract the NTF informationn.

ntf1 = MASH22_DeltaSigmaModulator1.ntf;

Simulate the model and obtain the SNR, ENOB values from the ADC AC Measurement block.

sim(model);

snr_mash = mash_ac_out.SNR
snr_mash = 
90.6215
enob_mash = mash_ac_out.ENOB
enob_mash = 
14.7610

2-2 SMASH

2-2 Sturdy-MASH structure consists of two second-order DSMs. Second stage quantization noise is fed back into first stage to utilize noise shaping instead of cancellation and hence there is no overhead of achieving perfect matching between the analog loop filter and the digital filter, as in MASH. Both the DSM blocks are identical with an oversampling ratio (OSR) of 64, input bandwidth of 1kHz and use 2nd order CIFB architecture.

model = 'SMASH22';
open(model);
sim(model);

snr_smash = smash_ac_out.SNR
snr_smash = 
92.6108
enob_smash = smash_ac_out.ENOB
enob_smash = 
15.0915