Hello All, I am a newbie to the Sigma Delta domain. I am trying to simulate a sigma-delta modulator(SDM) (2 order, using 1 bit quantizer) but have been running into troubles all the way along. 1. using a straight forward implementation of the second order SDM as shown by BOSER and WOOLEY, the program shows a decrease in the SNR ratio for a 2nd order. A theoritically calculated value is more than 40dB higher than that obtained from simulations. MODEL OUTLAY OF THE CODE: d1 = first differentiator d2 = second differentiator i1 = first integrator i2 = second integrator x = discrete input signal y = discrete output signal e = error signal // for present state 'n' in time d1(n) = x(n)-y(n-1) i1(n) = d1(n)-i1(n-1) d2(n) = i1(n)-y(n-1) i2(n) = d2(n)-i2(n-1) if i2(n) >= 0 y(n) = +1 else y(n) = -1; e(n) = y(n)-x(n) 2. The SNR values of the 1st order and the 2nd order are almost identical. Would anyone please provide their feedback over the issues involved which degrade the final SNR(signal to noise ratio) or if a sample simulation can be made available. A detailed feedback would make my day. Regards.

# Functioning of a second order Sigma delta modulator

Started by ●June 1, 2004

Posted by ●June 1, 2004

dspkavita@yahoo.com (Kavita) writes:> Hello All, > > I am a newbie to the Sigma Delta domain. > > I am trying to simulate a sigma-delta modulator(SDM) (2 order, using 1 > bit quantizer) but have been running into troubles all the way along. > > 1. using a straight forward implementation of the second order SDM as > shown by BOSER and WOOLEY, the program shows a decrease in the SNR > ratio for a 2nd order. A theoritically calculated value is more than > 40dB higher than that obtained from simulations. > > MODEL OUTLAY OF THE CODE: > > > d1 = first differentiator > d2 = second differentiator > i1 = first integrator > i2 = second integrator > > x = discrete input signal > y = discrete output signal > e = error signal > > // for present state 'n' in time > d1(n) = x(n)-y(n-1) > i1(n) = d1(n)-i1(n-1)This is an integrator. The update equation should be i1(n) = d1(n)+i1(n-1) Similarly for the second integrator. --RY> d2(n) = i1(n)-y(n-1) > i2(n) = d2(n)-i2(n-1) > > if i2(n) >= 0 > y(n) = +1 > else > y(n) = -1; > > e(n) = y(n)-x(n) > > > 2. The SNR values of the 1st order and the 2nd order are almost > identical. > > Would anyone please provide their feedback over the issues involved > which degrade the final SNR(signal to noise ratio) or if a sample > simulation can be made available. A detailed feedback would make my > day. > > Regards.-- Randy Yates Sony Ericsson Mobile Communications Research Triangle Park, NC, USA randy.yates@sonyericsson.com, 919-472-1124

Posted by ●June 2, 2004

Dear Randy, Thanks for the mention, sorry for the typo in my equations. I have been using the summation in the implementation. I tried my hands at another architecture with equations listed below. MODEL OUTLAY OF THE CODE: d1 = first differentiator d2 = second differentiator i1 = first integrator i2 = second integrator x = discrete input signal y = discrete output signal e = error signal // for present state 'n' in time d1(n) = x(n)-y(n) i1(n) = d1(n-1)+i1(n-1) d2(n) = i1(n)-y(n) i2(n) = d2(n-1)+i2(n-1) if i2(n) >= 0 y(n) = +1 else y(n) = -1; e(n) = y(n)-x(n-2) //as input arrives after 2 delays in the feedforward loop. some specifications are: over sampling ratio = 10000 My input is a pure sinosoidal signal with +1 to -1 range. Need your feedback on this. Cheers. K.

Posted by ●June 2, 2004

Hi Kavita, After your response that there was a typo in the equations, I went back to this message to keep along one track of discussion. The equations (except for the typos) look correct. The only problem I can conjecture is that you are computing the quantization noise power of e(n) directly. That power won't get smaller when going from a 1st-order to a 2nd-order - in fact it should increase. Instead you need to be filtering e(n) with a lowpass filter with a relative cutoff frequency of 1/M, where M is the oversampling ratio you're using. Is this a D/A converter? I.e., is there an interpolating filter ahead of the modulator? If so, it's possible there could be something going wrong there. Chew these thoughts over and let me know what you think. --Randy dspkavita@yahoo.com (Kavita) writes:> Hello All, > > I am a newbie to the Sigma Delta domain. > > I am trying to simulate a sigma-delta modulator(SDM) (2 order, using 1 > bit quantizer) but have been running into troubles all the way along. > > 1. using a straight forward implementation of the second order SDM as > shown by BOSER and WOOLEY, the program shows a decrease in the SNR > ratio for a 2nd order. A theoritically calculated value is more than > 40dB higher than that obtained from simulations. > > MODEL OUTLAY OF THE CODE: > > > d1 = first differentiator > d2 = second differentiator > i1 = first integrator > i2 = second integrator > > x = discrete input signal > y = discrete output signal > e = error signal > > // for present state 'n' in time > d1(n) = x(n)-y(n-1) > i1(n) = d1(n)-i1(n-1) > d2(n) = i1(n)-y(n-1) > i2(n) = d2(n)-i2(n-1) > > if i2(n) >= 0 > y(n) = +1 > else > y(n) = -1; > > e(n) = y(n)-x(n) > > > 2. The SNR values of the 1st order and the 2nd order are almost > identical. > > Would anyone please provide their feedback over the issues involved > which degrade the final SNR(signal to noise ratio) or if a sample > simulation can be made available. A detailed feedback would make my > day. > > Regards.-- Randy Yates Sony Ericsson Mobile Communications Research Triangle Park, NC, USA randy.yates@sonyericsson.com, 919-472-1124

Posted by ●June 5, 2004

Hi Randy, Thanks for your input. I did find where I was going wrong all the while. It was in the interval I was considering my input for and the length of the FFT being used. That mismatch, made the integrators go unstable. Its a simple SDM, I was trying for. But presently am working towards to the D/A part of it. Read a lot of citations of use of comb filter followed by another FIR filter to achieve the needed resolution. Any feedback in this regards. Cheers. Kavita.