***11

Sigma delta modulation

In an earlier post, it was mentioned that delta modulator without the quantizer is identical to convolving an input sequence with . Let us first try to validate that thought using a small MATLAB example and using the delta modulator circuit shown in Figure 9.13a of DSP-Proakis [1].

% delta modulation
xn = sin(2*pi*1/64*[0:63]);
xhatn = 0;

for ii = 1:length(xn)

dn = xn(ii) - xhatn;
dqn = dn; % no quantizing done, when quantizing is done: dqn = 2*(dn>0) - 1;
xqn = dqn + xhatn;

% dump of transmitter variables
dnDump(ii) = dn;
dqnDump(ii) = dqn;
xqnDump(ii) = xqn;
xhatnDump(ii) = xhatn;

xhatn = xqn; % variable storing one-sample delayed version of xn

% receiver
rn = rn + dqn;
rnDump(ii) = rn;

end

% implementation by convolving with [1 -1]

d1n = conv(xn,[1 -1]);
diff = (dnDump - d1n(1:64))

The transfer function of the integrator is

.

At the receiver, a circuit accumulating the received samples (integrator) does the job of recovering the original signal (Recall from the previous post that ).

Typically, when the difference between consequent samples are sent, the sampling frequency is made much higher that the signal bandwidth . This ensures that:

With the quantizer block enabled for the delta modulation described above, the sign of the difference is transmitted instead of the actual difference signal. The quantizing operation brings with it:

For minimizing slope over load, the stepsize has to be increased but then increasing will cause more error due to quantization noise.

As mentioned in [1], probable approach for minimizing both the types of distortions is by placing “an integrator at the front of the delta modulation” circuit. This integrator serves two purposes:

Simple MATLAB code for a sigma delta modulation

% sigma delta modulation
xn = sin(2*pi*1/64*[0:63]);
xhatn = 0;
rn = 0;
x1n = 0;
for ii = 1:length(xn)

% sigma operation
x1n = xn(ii) + x1n;
% difference computation
dn = x1n - xhatn;
dqn = dn; % no quantizing done, when quantizing is done: dqn = 2*(dn>0) - 1;
xqn = dqn + xhatn;

% dump of variables
x1nDump(ii) = x1n;
dnDump(ii) = dn;
dqnDump(ii) = dqn;
xqnDump(ii) = xqn;
xhatnDump(ii) = xhatn;

xhatn = xqn;

end

diff = (xn - dqnDump)

With the integrator (sigma) placed in front of the difference computation block (delta), the transmitter signal is not modified. Whereas, the quantization noise gets filtered as it passes through a system with transfer function (Refer Eq. 9.2.17 in [1]). The frequency response of is

(Refer Eq. 9.2.18 in [1]).

The implication is that quantization error of height which is spread over is multiplied by . As a result, the noise inside the signal bandwidth of gets attenuated whereas the noise outside the signal bandwidth is amplified. As the noise outside the signal bandwidth can filtered out, this results in better signal to quantization noise ratio.

The quantization noise in the desired signal bandwith can be computed as,

.

When , using a two term Taylor series expansion for sine function .

With this assumption the quantization noise is,

(Refer Eq. 9.2.20 and Problem 9.10 in [1]).

In this sigma delta modulator, where the quantization noise is shaped by a first order filter, doubling of sampling frequency results in reduction of noise power by 9dB.

References:

[1] Digital Signal Processing - Principles, Algorithms and Applications, John G. Proakis, Dimitris G. Manolakis

Technorati tags: ,

Please click here to SUBSCRIBE to newsletter and download the FREE e-Book on probability of error in AWGN. Thanks for visiting! Happy learning.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

If you liked this post, you may leave a comment below, or subscribe to the RSS feed.

You may also find these posts relevant...
  • 2nd order sigma delta modulator
  • Modifying transmit signal
  • Chi Square Random Variable
  • Deriving PDF of Rayleigh random variable
  • Frequency offset estimation using 802.11a short preamble
  • Comments

    I would like to add a comment on ADC sampling for IF signals.

    I used to think that there is a pereference to choose fs=4IF since that will lead to an efficient mixer implementation (no multiplier is needed).
    However, I have read recently about non IQ sampling which perfers that fs=(M/N)IF to avoid the IF harmonics to fall on the IF signal.

    Between these two opinions, which one is really used in industry?

    @Yahia: I have worked only on zero-IF radios till date. So, I do not know enough to comment.

    I recall reading about bandpass sampling wherein the spectral replicas at the integer multiples of sampling frequency is used for down conversion.

    Is the non-IQ sampling an advanced version of bandpass sampling? If you have any pointers, it will be helpful. Thanks.

    Leave a comment

    (required)

    (required)