3.4  QAM Generation Using Complex-Valued Signals

It is mathematically convenient to use complex-valued signals when dealing with QAM. The two PAM signals compose the complex envelope

x ce(t) = x_i(t) - j x_q(t), which is a baseband complex-valued signal known to be the equivalent lowpass signal to the passband xQAM(t).

Using the complex-valued signals notation, the upconversion to generate the QAM signal can then be represented by a complex exponential and the Real{} operation to extract the real part of the time-domain signal:

xQAM(t) = Real{x ce(t) e^j ωct}

= Real { [x_i(t)- jx_q(t)] [cos (ωct) + jsin (ωct)]}

= x_i(t) cos (ωct) + xq(t)sin (ωct)(3.4)

which gives the same result as Eq. (3.2). Figure 3.5 illustrates the procedure.

PIC

Figure 3.5: QAM generation using complex-valued signals. The respective spectra is also shown.

To understand the spectra depicted in Figure 3.5, it is useful to interpret Eq. (3.4) in frequency domain. For this task, it is convenient to recall that the real part of a complex number c can be obtained by Real{c} = 0.5(c + c) and that F{x(t)} = X(ω). Applying these two results to Eq. (3.4) leads to

XQAM(ω) = F{xQAM(t)} = F{Real{x ce(t) e^j ωct}}

= F{ 0.5 (x

ce(t) e^j ωct + x

ce^*(t) e^-j ωct)}

= 0.5 (F{x

ce(t) e^j ωct} + F{x

ce^*(t) e^-j ωct})

= 0.5 (Xce(ω ωc) + Xce(ω ωc)).(3.5)

Note from Eq. (3.5) that the real and imaginary parts of XQAM(ω) are the even and odd parcels of the corresponding parts of Xce(ω). This implies, as expected, that XQAM(ω) has Hermitian symmetry given that xQAM(t) is real-valued.

PIC

Figure 3.6: Spectrum magnitude |X ce(f)|ofacomplexenvelopeanditscorrespondingQAMwithcarrierfrequencyωc = 14 rad/s.

To provide more details on the spectra depicted in Figure 3.5, Figure 3.6 represents pictorially the spectrum magnitude |X

ce(f)|ofacomplexenvelopeobtainedfromrealsignalsx_i(t)andx_q(t).NotethattheX_ce(f)doesnotpresenttheHermitiansymmetrybecausex_ce(t)iscomplex.Incontrast,theQAMsignalisrealandX_QAM(f)presentsthecorrespondingsymmetrywiththeversionsof|X_ce(f)|scaledbyhalf.

The complex notation also allows to represent a QAM symbol m = mi jmq, where mi and mj are two PAM symbols. The generation of the QAM signal is similar to the process used for a PAM signal: upsampling followed by convolution with a shaping pulse. Listing 3.3 illustrates the process, which takes advantage of the capability of Matlab/Octave to deal with complex-valued signals (filter, convolve, etc.). The adopted shaping pulse is a “raised cosine”, which will be discussed in Section 4.5.

Listing 3.3: MatlabOctaveBookExamples/ex_qam_generation_via_symbols.m
1%generate QAM signal centered at Fs/4 
2M=16; %number of symbols 
3constellat=ak_qamSquareConstellation(M); %QAM const. 
4S=1000; %number of symbols 
5ind=floor(M*rand(1,S)); %indices 
6qamSymbols=constellat(ind+1); %sequence of random symbols 
7L=8; %oversampling factor 
8x=zeros(1,S*L); %pre-allocate space 
9x(1:L:end)=qamSymbols; %complete upsampling operation 
10p=ak_rcosine(1,L,'fir/normal',0.5,10); %raised cosine r=0.5 
11yce=conv(p,x); %complex env.: convolution by shaping pulse 
12%modulate by carrier at pi/2 rad that corresponds to Fs/4 
13n=0:length(yce)-1; %"time" axis 
14z=real(yce .* exp(j*pi/2*n)); %transmitted signal
  

The complex envelope was previously defined as xce(t) = xi(t) jxq(t) because Real{xce(t)ejωct} should lead to Eq. (3.2). Sometimes slightly different definitions are assumed: the summation in Eq. (3.2) is modified to a subtraction:

xQAM(t) = xi(t)cos (ωct) xq(t)sin (ωct).
(3.6)

such that the complex envelope is defined with a summation:

xce(t) = xi(t) + jxq(t)
(3.7)

in order to continue having xQAM(t) = Real{xce(t)ejωct}. The alternative Eq. (3.6) suggests defining a QAM symbol as m = mi + jmq and will be used hereafter. In this case, the QAM generation of Figure 3.3 multiplies xq(t) by sin () instead of sin (). These latter definitions are assumed hereafter.

Figure 3.6 uses Fourier transforms, but similar result holds for PSDs. In fact, it can be inferred1 from Eq. (F.34) that the average power PQAM = 𝔼[|xQAM(t)|2] of the real bandpass signal xQAM(t) differs from the average power P

ce = E[|x_ce(t)|^2]ofx_ce(t) byafactorof2,suchthat

Pce = 2PQAM.

This is valid not only for QAM but for other bandpass signals obtained by upconverting a complex envelope. The factor of 2 also appears when modeling bandpass noise (or random signals, in general), which guarantees that signal to noise ratios are the same when representing bandpass signals by their corresponding lowpass complex envelopes.

1 For a rigorous proof, see [TSRK04], Section 4.1, page 111.