0% found this document useful (0 votes)
91 views

Https WWW - Dsprelated.com Blogimages NeilRobertson Third-Order Distortion of Digitally Modulated Signals

Third-order distortion is an important nonlinearity in amplifiers that can degrade signals. It generates intermodulation distortion components when multiple tones are present. For a QAM signal, third-order distortion causes spectral regrowth that spreads the signal bandwidth and interferes with adjacent channels. It also distorts the constellation by compressing the gain more at higher amplitudes. Modeling a QAM signal passing through an amplifier with third-order distortion shows these effects on the output spectrum and constellation.

Uploaded by

David Moreno
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
91 views

Https WWW - Dsprelated.com Blogimages NeilRobertson Third-Order Distortion of Digitally Modulated Signals

Third-order distortion is an important nonlinearity in amplifiers that can degrade signals. It generates intermodulation distortion components when multiple tones are present. For a QAM signal, third-order distortion causes spectral regrowth that spreads the signal bandwidth and interferes with adjacent channels. It also distorts the constellation by compressing the gain more at higher amplitudes. Modeling a QAM signal passing through an amplifier with third-order distortion shows these effects on the output spectrum and constellation.

Uploaded by

David Moreno
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Third-Order Distortion of Digitally-Modulated Signals

Analog designers are always harping about amplifier third-order distortion. Why? In this article, we’ll
look at why third-order distortion is important, and simulate a QAM signal with third order distortion.

In the following analysis, we assume that signal phase at the amplifier output is not a function of
amplitude. With this assumption, the output y of a non-ideal amplifier can be written as a power series
of the input signal x:

𝑦 = 𝑘1 𝑥 + 𝑘2 𝑥 2 + 𝑘3 𝑥 3 + 𝑘4 𝑥 4 + 𝑘5 𝑥 5 + ⋯ (1)

The coefficients ki are real. Right off the bat, we’ll simply ignore all the even-order terms. There are two
reasons why we can usually get away with this:

1. The frequency components of even-order distortion typically do not fall near the desired signal
and can thus be removed by filtering (See Appendix A). This does not hold for wideband signals,
though.
2. For moderate signal levels, the amplifier output is usually nearly half-wave symmetrical [1,2],
which causes the even-order frequency components to be small.

Once again assuming moderate signal level, we expect the 3rd order term to dominate over the higher-
order terms. If we eliminate those terms, we’re left with the following equation, where, for simplicity,
we have set k1= 1:

𝑦 = 𝑥 + 𝑘3 𝑥 3 (2)

Note that the output signal y of this model has the same phase as the input signal x. As an example of
such a distortion characteristic, Figure 1a plots y vs x for 𝑦 = 𝑥 − .03𝑥 3 . Clearly, this does not represent
the characteristic of a real amplifier, whose output amplitude would reach a clipping limit rather than

1
changing sign and increasing drastically for larger |x|. We would need the higher-order terms in
Equation 1 to produce a realistic characteristic. Nevertheless, this is a useful example if we keep |x| less
than 3 or so.

In Equation 2, the linear gain of the amplifier is 1.0. When the coefficient k3 is negative, the total gain is
reduced below 1.0 as |x| increases, as can be seen from the slope in Figure 1a. This phenomenon is
called gain compression. For our example, Figure 1b shows the effect of gain compression on a
sinewave with peak amplitude of 2.5 volts.

Figure 1. a. The function y = x - .03x3. b. Sinewave input x and distorted output y (orange).

Why third-order distortion matters

To see the effect of third-order distortion in the frequency domain, we apply two tones at different
frequencies to the nonlinearity 𝑦 = 𝑥 − .03𝑥 3 . In the following Matlab code, x is the sum of two
sinusoids with frequencies f1 and f2. The power spectral density (PSD) of y in dBm/bin is computed using
the function psd_simple2.m (See Appendix B). The PSD calculation assumes a load resistance of 50
ohms.

fs= 100; % Hz sample frequency


Ts= 1/fs;
f1= 10; f2= 12; % Hz frequencies of tones
A= 0.707; % V amplitude of tones
N= 2048; % number of samples
n= 0:N-1;

x= A*sin(2*pi*f1*n*Ts) + A*sin(2*pi*f2*n*Ts); % input signal

y= x -.03*x.^3; % nonlinearity

2
[PdBm,f]= psd_simple2(y,N,fs); % dBm/bin power spectral density

plot(f,PdBm),grid, axis([0 fs/2 -70 10])

The spectrum of y is plotted in Figure 2. As shown, the 3rd- order nonlinearity creates distortion
components at 2f1 – f2 and 2f2 – f1, as well as harmonic components at and near the 3rd harmonics of f1
and f2 [3]. We refer to the components near f1 and f2 as Third-Order Intermodulation Distortion (Third-
Order IMD or IMD3). If a signal has closely spaced frequency components, the intermodulation
components fall close to the signal itself, and cannot normally be removed by filtering. Like noise, third-
order distortion is just something we have to live with. For the most part, system designers deal with
third-order distortion by using amplifiers with adequate linearity. Amplifier data sheets often include
specifications for two-tone third-order IMD. Note that for a given amplifier, you can estimate k3 by
adjusting its value in the Matlab code until the simulated two-tone IMD3 approximates the measured
value.

The amplitude of the intermodulation components varies as x3. Since log10(x3) = 3log10x, their dB value
changes 3 dB for every 1 dB change in the signal level. For example, in Figure 3, reducing the level of the
tones by 10 dB causes the intermodulation components to drop by 30 dB. This is a net drop of 20 dB
with respect to the level of the tones.

We have assumed the above discrete-time model adequately represents distortion in continuous-time
components, such as amplifiers. To be valid, the model must have sample frequency sufficiently high to
prevent aliasing of the 3rd harmonics. In our example, the highest component was 3*f2 = 36 Hz, which is
below the Nyquist frequency of 50 Hz. The model is not a computationally efficient way to estimate
distortion. A more efficient approach uses a complex-baseband model. As already mentioned, we also
assumed that signal phase at the amplifier output is not a function of amplitude (no AM-to-PM
conversion). For discussions of complex baseband and AM-to-PM models, see [4,5].

Finally, note that the amplitude of each tone in the above Matlab code is 6.7 dBm at the output of the
nonlinearity. However, the amplitude displayed in Figure 2 is only about 4.3 dBm, due to the processing
loss of the Kaiser window used in psd_simple2.m.

3
Figure 2. Two-tone third-order intermodulation distortion and third harmonic distortion.

Figure 3. Change in intermodulation components is 30 dB for 10 dB change in tone level. (20 dB


change relative to the level of the tones).

4
Third-order distortion of a QAM signal

Here we’ll simulate distortion of a QAM signal, but our model could be used for other modulation types
as well. In order to use Equation 2 to model distortion of QAM, we need to generate a real QAM signal
centered at a carrier frequency f0. Appendix C lists a Matlab function qam_tx_real.m that we’ll use to
generate the QAM signal. For our example, we’ll apply the signal to an amplifier with 10 dB of gain:
20log10G = 10. Solving for voltage gain G, we get G = √10 . Modifying Equation 2 to replace x with Gx,
we have:

𝑦 = 𝐺𝑥 + 𝑘3 (𝐺𝑥) 3 (3)

The following Matlab code applies a QAM-16 signal (with Gaussian noise added) to Equation 3, and
computes the spectrum of the input QAM signal and output QAM signal. Coefficient k3 is -.03. The
input signal level is approximately 0 dBm and the output signal level is approximately 10 dBm (10 mW).

fs= 100; % Hz sample frequency


f0= 12; % Hz carrier frequency
M= 16; % QAM order
R= 50; % ohms load resistance
A= 0.415; % amplitude scale factor
N= 2048; % number of QAM symbols

x= A*qam_tx_real(M,N,f0,fs); % QAM modulator

x= x + .001*randn(1,16*N); % add gaussian noise to signal

G= sqrt(10); % voltage gain of amplifier


y= G*x - .03*(G*x).^3; % amplifier characteristic

u= y(200:end);
L= length(u);
Pav= 1000*(sum(u.^2)/R)/L % mW output power of amplifier
PdBm= 10*log10(Pav) % dBm output power of amplifier

[PdBm_in,f]= psd_simple2(x,N,fs); % dBm/bin power spectral density


[PdBm_out,f]= psd_simple2(y,N,fs);

plot(f,PdBm_in,f,PdBm_out),grid, axis([0 fs/2 -80 0])

The input and output spectra of the QAM signal are shown in Figure 4. The third-order distortion has
caused spreading, or “regrowth” of the output spectrum, as well as a haystack of distortion centered at
3f0. Again, we used a sample rate high enough to place the components around 3f0 safely below the
Nyquist frequency.

The output spectrum with regrowth occupies a bandwidth of about 20 Hz, which is roughly three times
the signal bandwidth. (Compare this to the frequency spacing of the discrete distortion components in

5
Figure 2, which is exactly three times the frequency spacing of the input tones). Note, however, that as
the amplifier is driven harder, the higher-order distortion components become significant. This causes
the spectrum spread to increase beyond what our third-order model predicts.

The spectral regrowth can cause interference to signals in adjacent channels, so system specifications
often include requirements for Adjacent Channel Power Ratio (ACPR) [6]. You can compute adjacent
channel power from the simulation by summing the PSD’s power per bin over the adjacent channel’s
bandwidth.

Besides causing spectral regrowth, third-order IMD distorts the constellation of the received QAM
symbols. Figure 5 shows the spectrum and receiver constellation for a 13 dBm (20 mW) QAM-16 signal
with the same value of k3 as the previous case. The spectral regrowth level with respect to the signal
level is about 6 dB higher, and the constellation is distorted due to gain compression, which has the
greatest effect on the corner points. The constellation’s Modulation Error Ratio [7] is about 30.5 dB,
compared to 50.5 dB for the case with no distortion.

Figure 4. Modeled QAM-16 spectra at input and output of amplifier with 3rd-order distortion.
Blue: input signal (0 dBm). Orange: output signal (10 dBm).

6
Figure 5. Modeled QAM-16 amplifier output spectrum (a) and receiver constellation (b).
Amplifier output signal power = 13 dBm.

7
Appendix A Frequency Components due to Even-Order Distortion

For a narrowband signal, the frequency components due to the first several even-order distortion terms
in Equation 1 fall outside the band of the signal. A narrowband signal is defined as having center
frequency much greater than its bandwidth.

Consider an example of 2nd order distortion with k1= 1 and k2 = .02. Then y= 1 + .02x2. Let the signal x
consist of two sinewaves at 10 and 11 Hz. We can find the spectrum of y using trigonometric identities,
or we can compute it using the following Matlab code, where the function psd_simple2.m is described
in Appendix B.

fs= 100; % Hz sample frequency


Ts= 1/fs;
f1= 10; f2= 11; % Hz frequencies of tones
A= 0.707; % V amplitude of tones
N= 2048; % number of samples
n= 0:N-1;

x= A*sin(2*pi*f1*n*Ts) + A*sin(2*pi*f2*n*Ts); % input signal

y= x +.02*x.^2; % nonlinearity

[PdBm,f]= psd_simple2(y,N,fs); % dBm/bin power spectral density

The spectrum of y is shown in Figure A.1. The spectral components due to second-order distortion fall
at 0 Hz, f2 – f1, f2 + f1, 2f1, and 2f2.

We can compute the spectrum for forth-order distortion by modifying the equation for y in the above
code. Letting k4 = .02, we have:

y= x +.02*x.^4;

The spectrum of y is shown in Figure A.2. Again, the distortion components fall away from the signal
band. To model sixth-order distortion, we would need to increase the sample rate to prevent aliasing.

8
Figure A.1 Two-tone signal with second-order distortion.

Figure A.2 Two-tone signal with fourth-order distortion.

9
Appendix B Power Spectral Density Function psd_simple2.m

This Matlab function computes the power spectral density in dBm/bin, assuming a load resistance of 50
ohms. It is similar to a PSD function described in an earlier post [8]. The term dBm stands for “dB
relative to 1 milliwatt”. Thus dBm = 10log10(mW) and
-10 dBm = 0.1 mW
0 dBm = 1 mW
10 dBm = 10 mW
20 dBm = 100 mW, etc.

The function uses a Kaiser window with beta = 8. This causes processing loss of 2.23 dB and scallop loss
of 1.17 dB [9]. Thus, for a sinewave, the dBm value calculated for the peak is between 2.23 dB and 3.4
dB below the actual level.

% function [PdBm,f]= psd_simple2(x,nfft,fs) 4/26/20 Neil Robertson


% Simple-to-use power spectral density function
% using Welch psd averaging.
% Spectrum amplitude units are dBm with load R = 50 ohms
% Kaiser window processing loss = 2.23 dB. Max proc. loss = 3.4 dB.
%
% x = input signal vector, volts
% nfft = fft length.
% fs = sample frequency, Hz
% PdBm = power spectral density, dBm/bin (load R= 50 ohms)
% f = frequency vector, Hz
%
function [PdBm,f]= psd_simple2(x,nfft,fs);

noverlap= nfft/2; % number of overlapped samples


window= kaiser(nfft,8); % window function

if length(x) < nfft


N= length(x);
window= kaiser(N,8);
noverlap= 0;
end

[pxx,f]= pwelch(x,window,noverlap,nfft,fs); % W/Hz (R = 1)

R= 50; % ohms load resistance


pxx= 1000*pxx/R; % mW/Hz
PdBm= 10*log10(pxx*fs/nfft); % convert mW/Hz to dBm/bin

10
Appendix C QAM Modulator Function qam_tx_real.m

The Matlab function qam_tx_real.m is a simplified QAM source with real (modulated) output. It
generates random QAM symbols, upsamples them by four, and applies them to root-Nyquist lowpass
filters. The I/Q signal is then interpolated by four to obtain a sample rate of 16 samples/symbol. Finally,
the signal is quadrature modulated. Excess bandwidth (alpha) is 25%.

Imap Ifilt Iinterp


4 4
Random
QAM
symbols
Σ x
Qmap Qfilt Qinterp
4 4

Root-Nyquist
Interp-by-4
LPF
cos(2πf0nTs) -sin(2πf0nTs)

Figure C.1 Block diagram of simplified QAM modulator.

% qam_tx_real.m 4/28/20 Neil Robertson


% Real QAM source with 16 samples per symbol, excess bw = 25%
%
% M= square constellation order (4, 16, 64, 256, 1024)
% N= number of random symbols transmitted
% f0 = center frequency of QAM signal, Hz.
% fs = sample frequency, Hz
% x = output signal vector
%
function x= qam_tx_real(M,N,f0,fs)

if M~=4& M~=16& M~=64& M~=256& M~=1024


error('constellation must be of order M = 4, 16, 64, 256, or 1024')
end
m= sqrt(M); % number of levels in I and Q

% root-nyquist FIR with alpha = .25 and fs= 4*fsymbol


b1= [6 1 -4 -10 -12 -4 10 23 22 3 -26 -46 -36 4 55 80 53 -24 -106 -134 ...
-69 67 196 220 84 -168 -393 -409 -94 532 1289 1908];
b_nyq= [b1 2146 fliplr(b1)]/8192;

% interpolate by 4 filter
b2= [8 23 32 1 -89 -202 -222 -5 507 1202 1812];
b_interp= [b2 2056 fliplr(b2)]/8192;

% generate random equally likely QAM symbols


u= round(m*rand(1,N) -.5); % equally likely integers over [0 m-1]
v= round(m*rand(1,N) -.5);

11
Imap= (2*u- m+ 1)/m; % random QAM symbols
Qmap= (2*v- m+ 1)/m;

% upsample by 4 (to 4 samples/symbol)


Iup= zeros(1,4*N);
Qup= zeros(1,4*N);

Iup(1:4:4*N)= Imap;
Qup(1:4:4*N)= Qmap;

% Filter Iup/Qup using root-Nyquist filter


Ifilt= 4*filter(b_nyq,1,Iup);
Qfilt= 4*filter(b_nyq,1,Qup);

% upsample by 4 (to 16 samples/symbol)


Iup2= zeros(1,16*N);
Qup2= zeros(1,16*N);

Iup2(1:4:16*N)= Ifilt;
Qup2(1:4:16*N)= Qfilt;

% filter Iup2/Qup2 using b_interp (interp by 4 filter)


Iinterp= 4*filter(b_interp,1,Iup2);
Qinterp= 4*filter(b_interp,1,Qup2);

% Quadrature modulator
Ts= 1/fs;
w= 2*pi*f0;
n=0:16*N -1;

x= Iinterp.*cos(w*n*Ts) - Qinterp.*sin(w*n*Ts);

12
References

1. Hayt, William H., et al, Engineering Circuit Analysis, Eighth Ed., McGraw-Hill, 2012, p 745 – 747.

2. Krambeck, Donald, “The Effect of Symmetry on the Fourier Coefficients”, allaboutcircuits.com,


February, 2016,
https://www.allaboutcircuits.com/technical-articles/the-effect-of-symmetry-on-the-fourier-coefficients/

3. Henn, Christian, “Intermodulation Distortion (IMD)”, Burr-Brown (now Texas Instruments), 1994,
http://www.ti.com/lit/an/sboa077/sboa077.pdf

4. Tranter, William H., et. al., Principles of Communication Systems Simulation, Prentice Hall, 2004, Ch.
12.

5. Nentwig, Markus, “Understanding Radio Frequency Distortion, DSPRelated.com, September, 2010,


https://www.dsprelated.com/showarticle/108.php

6. “Optimizing IP3 and ACPR Measurements”, National Instruments,


http://www.ni.com/pdf/en/Optimizing_IP3_and_ACPR_Measurements_With_the_PXIe_5668R.pdf

7. Robertson, Neil, “Compute Modulation Error Ratio (MER) for QAM”, DSPRelated.com, November,
2019, https://www.dsprelated.com/blogs-1/nf/Neil_Robertson.php

8. Robertson, Neil, “A Simplified Matlab Function for Power Spectral Density”, DSPRelated.com, March,
2020, https://www.dsprelated.com/showarticle/1333.php

9. Robertson, Neil, “Evaluate Window Functions for the Discrete Fourier Transform”, DSPRelated.com,
December, 2018, https://www.dsprelated.com/showarticle/1211.php

Neil Robertson June, 2020

13

You might also like