Lab 7: Amplitude Modulation with Suppressed Carrier
Lab 7: Amplitude Modulation with Suppressed Carrier
Lab 7: Amplitude Modulation with Suppressed Carrier
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
ECEN 4652/5002 Communications <strong>Lab</strong> Spring 2013<br />
3-06-13 P. Mathys<br />
<strong>Lab</strong> 7: <strong>Amplitude</strong> <strong>Modulation</strong> <strong>with</strong> <strong>Suppressed</strong> <strong>Carrier</strong><br />
1 Introduction<br />
Many channels either cannot be used to transmit baseband signals at all, or pass signal<br />
energy very inefficiently, except for a relatively narrow passband region at frequencies substantially<br />
higher than those contained in a baseband message signal. A well-known example<br />
is electromagnetic transmission of radio signals at a frequency fc in free space which requires<br />
an antenna of length comparable to λc/2 for a dipole, or λc/4 for a monopole, where<br />
λc = 3×10 8 /fc is the wavelength in meters corresponding to fc in Hz. Thus, transmission at<br />
fc = 10 kHz would require an antenna of length comparable to 15 km for a dipole, whereas<br />
at fc = 900 MHz a length of 8.3 cm is enough for the monopole antenna of a cell phone.<br />
1.1 <strong>Amplitude</strong> <strong>Modulation</strong> <strong>with</strong> <strong>Suppressed</strong> <strong>Carrier</strong><br />
The most straightforward way to shift a signal spectrum from baseband to a passband<br />
location <strong>with</strong> center frequency fc is to make use of the frequency shift property of the<br />
Fourier transform (FT) which says that<br />
m(t) e j(2πfct+θc)<br />
⇐⇒ M(f − fc) e jθc .<br />
Thus, Ac m(t) e j(2πfct+θc) is a complex-valued bandpass signal <strong>with</strong> amplitude Ac and center<br />
frequency fc if m(t) is a (bandlimited) baseband signal. To make this into a real bandpass<br />
signal x(t), write<br />
x(t) = Re{Ac m(t) e j(2πfct+θc) } = Re Ac m(t) cos(2πfct + θc) + j sin(2πfct + θc) <br />
= Ac m(t) cos(2πfct + θc) ,<br />
where for the last equality it is assumed that m(t) is real-valued. The signal x(t) obtained in<br />
this way is a AM-DSB-SC (amplitude modulation, double side-band, suppressed carrier)<br />
signal <strong>with</strong> carrier frequency fc, carrier phase θc and Fourier transform<br />
x(t) = Ac m(t) cos(2πfct + θc) ⇐⇒ X(f) = Ac <br />
M(f − fc) e<br />
2<br />
jθc + M(f + fc) e −jθc .<br />
In the frequency domain this can be visualized as follows (setting θc = 0)<br />
Mm<br />
M(f)<br />
−fm 0 fm<br />
f<br />
AcMm<br />
2<br />
−fc<br />
−fc−fm −fc+fm<br />
1<br />
0<br />
X(f)<br />
fc−fm<br />
LSB<br />
USB<br />
<br />
fc<br />
fc+fm<br />
f
From the figure it is evident that if the bandwidth of m(t) is fm, then the bandwidth of x(t)<br />
is 2fm, which explains the “DSB” in AM-DSB-SC. It is also clear that if m(t) has no dc<br />
component (which is the case for speech and music signals, for instance), then x(t) has no<br />
component at the carrier frequency fc, which is where the “SC” comes from. The portion<br />
of the spectrum of x(t) for which fc − fm ≤ |f| < fc is called the lower side-band (LSB),<br />
whereas the portion for which fc < |f| ≤ fc + fm is called the upper side-band (USB).<br />
To recover m(t) undistorted from x(t), fc ≥ fm is required, but usually fc ≫ fm in practice.<br />
The block diagram of an AM-DSB-SC transmission system is shown in the following figure.<br />
Transmitter<br />
<br />
mw(t) LPF m(t) x(t) Channel<br />
r(t) v(t) LPF ˆm(t)<br />
× + ×<br />
at fm<br />
HC(f)<br />
at fL<br />
Ac cos(2πfct + θc)<br />
<strong>Carrier</strong> Oscillator<br />
Noise n(t)<br />
<br />
Channel Model<br />
Receiver<br />
<br />
2cos(2πfct + θc)<br />
Local Oscillator<br />
The transmitter consists of a LPF that bandlimits the wideband message signal mw(t) to<br />
|f| ≤ fm and the modulator which multiplies the resulting message signal m(t) <strong>with</strong> the<br />
output Ac cos(2πfct + θc) of the carrier oscillator. The channel is modeled as a filter HC(f)<br />
<strong>with</strong> noise added at the output. In the receiver the incoming signal r(t) is multiplied by<br />
the local oscillator signal cos(2πfct + θc) and then lowpass filtered at fL. Assuming an ideal<br />
channel <strong>with</strong> attenuation γ and no noise such that r(t) = γ x(t), the demodulation operation<br />
can be described as<br />
v(t) = 2r(t) cos(2πfct+θc) = 2γAcm(t) cos 2 (2πfct+θc) = γAcm(t) 1 + cos(4πfct+2θc) .<br />
Assuming that fc ≥ fm, the second term, which is a AM-DSB-SC signal <strong>with</strong> carrier frequency<br />
2fc and carrier phase 2θc, can be removed by lowpass filtering at fL = fm and<br />
thus<br />
ˆm(t) = γAc m(t) .<br />
In the absence of noise and other channel impairments this is an exact replica of the transmitted<br />
message signal, scaled by γAc.<br />
If m(t) is a wide-sense stationary process <strong>with</strong> mean E[m] and autocorrelation function<br />
Rm(τ), then the autocorrelation function of the AM-DSB-SC signal x(t) can be computed<br />
as<br />
Rx(t1, t2) = E Ac m(t1) cos(2πfct1 + θc) A ∗ c m ∗ (t2) cos(2πfct2 + θc) <br />
= |Ac| 2 E[m(t1) m ∗ (t2)]<br />
<br />
= Rm(t1 − t2)<br />
= |Ac| 2<br />
cos(2πfct1 + θc) cos(2πfct2 + θc)<br />
<br />
<br />
<br />
cos 2πfc(t1 − t2) + cos <br />
2πfc(t1 + t2) + 2θc<br />
= 1<br />
2<br />
2 Rm(t1 − t2) cos 2πfc(t1 − t2) + cos <br />
2πfc(t1 + t2) + 2θc .<br />
2
Note that x(t) is a cyclostationary process <strong>with</strong> period 1/fc. The time-averaged autocorrelation<br />
function of x(t) is<br />
¯Rx(τ) = fc<br />
1/fc<br />
0<br />
Rx(t + τ, t) dt =<br />
|Ac| 2<br />
2 Rm(τ) cos(2πfcτ) .<br />
Thus, if m(t) has PSD Sm(f), then the PSD of the AM-DSB-SC signal x(t) is<br />
Sx(f) =<br />
2 |Ac| <br />
Sm(f − fc) + Sm(f + fc)<br />
4<br />
.<br />
The PSD of a speech signal after AM-DSB-SC modulation <strong>with</strong> fc = 8000 Hz and fm = 4000<br />
Hz is shown in the following graph.<br />
10log 10 (S x (f)) [dB]<br />
0<br />
−10<br />
−20<br />
−30<br />
−40<br />
−50<br />
PSD, P x =0.0072139, P x (f 1 ,f 2 ) = 49.9999%, F s =44100 Hz, N=44100, NN=3, Δ f =1 Hz<br />
−60<br />
0 2000 4000 6000 8000<br />
f [Hz]<br />
10000 12000 14000 16000<br />
1.2 Coherent AM Reception<br />
An idealizing assumption which is tacitly made in the AM-DSB-SC transmission system<br />
block diagram given earlier, is that the local oscillator at the receiver is synchronized <strong>with</strong><br />
the carrier oscillator at the transmitter. To see why this synchronism between transmitter<br />
and receiver is important, assume that the local oscillator signal is 2 cos(2πfct), but the<br />
received AM-DSB-SC signal is r(t) = γAcm(t) cos(2πfct + θe), i.e., there is a phase error θe<br />
between transmitter and receiver. Now the receiver computes<br />
and thus<br />
v(t) = 2γAc m(t) cos(2πfct + θe) cos(2πfct) = γAc m(t) cos θe + cos(4πfct + θe) ,<br />
ˆm(t) = γAc cos θe m(t) ,<br />
after the LPF at fL = fm. A small phase error |θe| ≪ π/2 therefore attenuates m(t) by<br />
cos(θe) ≈ 1, which presents no big problem, but phase errors close to ±90 ◦ attenuate m(t)<br />
substantially or even suppress it altogether. This is especially annoying when θe varies <strong>with</strong><br />
time and ˆm(t) changes periodically in intensity. On the positive side, however, this means<br />
that two AM-DSB-SC signals, such as<br />
xi(t) = Acmi(t) cos(2πfct) , and xq(t) = Acmq(t) cos(2πfct + π/2) ,<br />
3
can use the same carrier frequency fc to transmit two independent message signals mi(t)<br />
and mq(t). This is known as quadrature amplitude modulation (QAM), and xi(t)<br />
is called the in-phase component of the AM signal at fc, whereas xq(t) is called the<br />
quadrature component. At any rate, it is crucial for the correct demodulation of AM<br />
signals <strong>with</strong> suppressed carrier, that the receiver is phase (and frequency) synchronized<br />
<strong>with</strong> the transmitter. Receivers of this type are called synchronous or coherent receivers.<br />
In practice the maintenance of exact phase synchronism between two oscillators in different<br />
physical locations is quite a non-trivial problem and requires a considerable amount of active<br />
hardware and/or software.<br />
1.3 AM-SSB-SC and AM-VSB-SC<br />
One of the disadvantages of AM-DSB-SC is that it occupies twice the bandwidth of the<br />
original message signal. One straightforward way to reduce the bandwidth to the original<br />
value is to only keep one of the sidebands of the AM signal and suppress the other one. The<br />
resulting AM signals are known as AM-SSB-LSB (amplitude modulation, single sideband,<br />
lower sideband) and as AM-SSB-USB (amplitude modulation, single sideband, upper sideband)<br />
depending on whether the lower or upper sideband is kept. To convert AM-DSB-SC<br />
to AM-SSB-SC (either LSB or USB), the AM-DSB-SC signal can be filtered <strong>with</strong> a bandpass<br />
filter (BPF) as shown in the following block diagram.<br />
mw(t) LPF m(t) x(t) BPF xB(t)<br />
×<br />
at fm<br />
HBx(f)<br />
Ac cos(2πfct + θc)<br />
<strong>Carrier</strong> Oscillator<br />
For AM-SSB-USB, for example, the transmitter filter HBx(f) is chosen as shown in the<br />
following figure.<br />
Filter for AM-SSB-USB<br />
1<br />
HBx(f)<br />
−fc−fm −fc −fc+fm 0 fc−fm fc fc+fm<br />
A problem <strong>with</strong> this filter are the sharp cutoffs needed near fc, especially if m(t) has a dc<br />
component (which is the case for analog TV broadcast signals, for instance). To alleviate<br />
this problem, vestigial sideband (VSB) modulation can be used. This is essentially a<br />
compromise between AM-DSB and AM-SSB, <strong>with</strong> a well controlled (usually linear) overall<br />
transition from the passband of HB(f) to the stopband near fc, extending over a range of<br />
2∆ around fc. Depending on whether the lower or upper sideband is kept, the resulting<br />
4<br />
f
AM signal is either called AM-VSB-LSB (amplitude modulation, vestigial sideband, lower<br />
sideband) or AM-VSB-USB (amplitude modulation, vestigial sideband, upper sideband).<br />
An example of a filter HB(f) that converts a AM-DSB-SC signal to a AM-VSB-USB-SC<br />
signal is shown in the following figure.<br />
Filter for AM-VSB-USB<br />
−fc−fm −fc −fc+fm<br />
−fc−∆ −fc+∆<br />
1<br />
HB(f)<br />
0 fc−fm fc fc+fm<br />
fc−∆ fc+∆<br />
Demodulation of AM-SSB-SC signals and AM-VSB-SC signals is done in a similar fashion<br />
as for AM-DSB-SC by multiplying the received signal <strong>with</strong> the local oscillator signal<br />
2 cos(2πfct + θc), followed by lowpass filtering at fm. To remove noise and/or interference<br />
from the unused (portion of the) sideband, a BPF should be used at the input of the receiver,<br />
as shown in the following blockdiagram.<br />
r(t) BPF rB(t) v(t) LPF ˆm(t)<br />
×<br />
HBr(f)<br />
at fL<br />
2cos(2πfct + θc)<br />
Local Oscillator<br />
For AM-SSB-SC the same BPF can be used for both the transmitter and the receiver. For<br />
AM-VSB-SC the product HBx(f)HBr(f) of the frequency responses of the BPFs at the<br />
transmitter and receiver must be equal to HB(f) as shown above.<br />
1.4 Bandpass Filters<br />
Suppose you have a lowpass filter hL(t) ⇔ HL(f), e.g., an LPF <strong>with</strong> trapezoidal frequency<br />
response and thus<br />
hL(t) = sin(2πfLt)<br />
πt<br />
sin(2παfLt)<br />
2παfLt<br />
⇐⇒<br />
−(1+α)fL<br />
−(1−α)fL<br />
5<br />
1<br />
0<br />
HL(f)<br />
(1−α)fL<br />
(1+α)fL<br />
0 ≤ α ≤ 1<br />
f<br />
f
By making use of the frequency shift property of the FT, this LPF can be converted to a<br />
BPF hBP (t) ⇔ HBP (f) which is symmetric about some center frequency fc ≥ (1 + α) fL<br />
(where α = 0 for an ideal LPF) by<br />
hBP (t) = 2 hL(t) cos(2πfct) ⇐⇒ HBP (f) = HL(f) ∗ [δ(f − fc) + δ(f + fc)] .<br />
BPFs that are obtained from ideal LPFs (i.e., α → 0) are well suited for picking out one<br />
particular signal from several FDM (frequency division multiplexed) signals, or for generating<br />
SSB (single sideband) AM signals from DSB AM signals. BPFs that are obtained from LPFs<br />
<strong>with</strong> trapezoidal frequency response can be used for similar tasks, but in addition they can<br />
also be used to convert frequency to amplitude (in the transition region of the BPF) and to<br />
generate VSB (vestigial sideband) AM signals.<br />
1.5 <strong>Carrier</strong> Frequency Extraction<br />
Let r(t) be a received noiseless AM-DSB-SC signal <strong>with</strong> attenuation γ, i.e.,<br />
r(t) = γ x(t) = γAc m(t) cos <br />
2π(fc + fe)t + θe ,<br />
where fe is the frequency error and θe is the phase error between the transmitter and the<br />
receiver. To obtain (an estimate of) the error signal ψ(t) = 2πfet + θe from r(t), start from<br />
squaring r(t) to obtain<br />
r 2 (t) = γ 2 A 2 c m 2 (t) cos 2 γ<br />
2π(fc + fe)t + θe = 2 A2 c m2 (t) <br />
1 + cos 4π(fc + fe)t + 2θe .<br />
2<br />
Multiplying this by 2 cos(4πfct) yields<br />
vi(t) = γ 2 A 2 c m 2 (t) 1 + cos <br />
4π(fc + fe)t + 2θe cos 4πfct<br />
= A(t) 2 cos 4πfct + cos(4πfet + 2θe) + cos <br />
4π(2fc + fe)t + 2θe ,<br />
where A(t) = γ 2 A 2 c m 2 (t)/2 is a time-varying amplitude. Simlarly, multiplying by -2 sin 4πfct<br />
results in<br />
vq(t) = −γ 2 A 2 c m 2 (t) 1 + cos <br />
4π(fc + fe)t + 2θe sin 4πfct<br />
= A(t) − 2 sin 4πfct + sin(4πfet + 2θe) − sin <br />
4π(2fc + fe)t + 2θe .<br />
Thus, after lowpass filtering <strong>with</strong> 2fe < fL < fc,<br />
wi(t) = A(t) cos(4πfet + 2θe) and wq(t) = A(t) sin(4πfet + 2θe) .<br />
Finally, the error estimate ψ(t) is obtained by taking an inverse tangent and dividing by 2<br />
as follows<br />
ψ(t) = 1<br />
2 tan−1<br />
<br />
wq(t)<br />
<br />
.<br />
wi(t)<br />
This whole process is shown in blockdiagram form in the next figure.<br />
6
(t)<br />
(.) 2<br />
r 2 (t)<br />
•<br />
×<br />
2cos4πfct<br />
×<br />
vi(t)<br />
vq(t)<br />
−2sin4πfct<br />
LPF<br />
at fL<br />
LPF<br />
at fL<br />
wi(t)<br />
tan −1 wq(t)<br />
wi(t)<br />
wq(t)<br />
Note that, before the division by 2 to obtain ψ(t), it is crucial that the phase (which is<br />
only resolved modulo 2π by the inverse tangent) is unwrapped. To demodulate the received<br />
AM-DSB-SC signal r(t), the local oscillator term 2 cos(2πfct + ψ(t)) is then used instead of<br />
the 2 cos(2πfct + θc) term shown in an earlier blockdiagram.<br />
2 <strong>Lab</strong> Experiments<br />
E1. AM-DSB-SC Transmitter/Receiver. (a) Write a Matlab function, called amxmtr10<br />
which performs the tasks of a AM-DSB-SC transmitter, i.e., bandlimits the message signal to<br />
fm (using trapfilt) and then multiplies the result <strong>with</strong> the output of the carrier oscillator.<br />
The header of amxmtr10 looks as follows:<br />
function x = amxmtr10(t,m,fcparms,fmparms)<br />
%amxmtr10 <strong>Amplitude</strong> <strong>Modulation</strong> Transmitter V1.0<br />
% >>>>> x = amxmtr10(t,m,fcparms,fmparms)
Test your transmitter using the message signal<br />
Fs = 44100; %Sampling rate<br />
t = [0:Fs-1]/Fs; %Time axis<br />
m = (cos(2*pi*3000*t)+cos(2*pi*5000*t)); %Message signal<br />
as input. Set fc = 8000 Hz, θc = 0 ◦ , fm = 4000, km ≈ 10 . . . 20, and αm = 0.05. The LPF<br />
at the transmitter should remove the frequency component at 5000 Hz. The 3000 Hz cosine<br />
should be moved to fc ± 3000 Hz so that the PSD looks as shown below.<br />
S x (f)<br />
0.07<br />
0.06<br />
0.05<br />
0.04<br />
0.03<br />
0.02<br />
0.01<br />
PSD, P x =0.2498, P x (f 1 ,f 2 ) = 0.1249, F s =44100 Hz, N=44100, NN=1, Δ f =1 Hz<br />
0<br />
0 2000 4000 6000 8000<br />
f [Hz]<br />
10000 12000 14000 16000<br />
(b) Use the speech signal in speech701.wav and the music signal in music701.wav to<br />
generate AM-DSB-SC signals x1(t) and x2(t), respectively, <strong>with</strong> fc = 8000 Hz, fm = 4000<br />
Hz, km ≈ 10 . . . 20, and αm = 0.05. Use θc = −90 ◦ for the speech signal and θc = 0 ◦ for<br />
the music signal. Create a third signal x3(t) = (x1(t) + x2(t))/2. Look at the PSDs of<br />
each of the three signals. Does the bandwidth for x3(t), which contains two message signals,<br />
change? Also look at the PSDs of the squared AM signals x 2 1(t), x 2 2(t), and x 2 3(t). Is there<br />
any additional information that you can get from the squared signals? If so, what is this<br />
information and for which of the three signals is it actually present? Save the three signals<br />
for later use.<br />
(c) Write a Matlab function called amrcvr10 that demodulates a received AM-DSB-SC<br />
signal r(t) and produces an estimate ˆm(t) of the transmitted message m(t). Here is the<br />
header for this function<br />
8
function mhat = amrcvr10(t,r,fcparms,fmparms)<br />
%amrcvr10 <strong>Amplitude</strong> <strong>Modulation</strong> Receiver, V1.0<br />
% >>>>> mhat = amrcvr10(t,r,fcparms,fmparms)
To test your modified trapfilt function, estimate the parameters of the BPF whose frequency<br />
response is shown below and recreate h(t) ⇔ H(f) <strong>with</strong> your trapfilt function.<br />
∠X(f) [deg]<br />
|X(f)|<br />
1.4<br />
1.2<br />
1<br />
0.8<br />
0.6<br />
0.4<br />
0.2<br />
200<br />
100<br />
−100<br />
FT Approximation , F s =44100 Hz, N=44100, Δ f =1 Hz<br />
0<br />
0 2000 4000 6000 8000 10000 12000 14000 16000<br />
0<br />
−200<br />
0 2000 4000 6000 8000<br />
f [Hz]<br />
10000 12000 14000 16000<br />
(b) Extend the Matlab functions amxmtr10 and amrcvr10 so that they can also be used<br />
transmit and receive AM-SSB-SC and AM-VSB-SC. Call the new functions amxmtr11 and<br />
amrcvr11. The header of amxmtr11 is:<br />
10
function x = amxmtr11(t,m,fcparms,fmparms,fBparms)<br />
%amxmtr11 <strong>Amplitude</strong> <strong>Modulation</strong> Transmitter, V1.1<br />
% >>>>> x = amxmtr11(t,m,fcparms,fmparms,fBparms)
10log 10 (S x (f)) [dB]<br />
0<br />
−10<br />
−20<br />
−30<br />
−40<br />
−50<br />
PSD, P x =0.0026165, P x (f 1 ,f 2 ) = 49.9999%, F s =44100 Hz, N=44100, NN=3, Δ f =1 Hz<br />
−60<br />
0 2000 4000 6000 8000<br />
f [Hz]<br />
10000 12000 14000 16000<br />
The header of the receiver function amrcvr11 is:<br />
function mhat = amrcvr11(t,r,fcparms,fmparms,fBparms)<br />
%amrcvr11 <strong>Amplitude</strong> <strong>Modulation</strong> Receiver, V1.1<br />
% >>>>> mhat = amrcvr11(t,r,fcparms,fmparms,fBparms)
signals, and demodulating them <strong>with</strong> the AM receiver function. Use Fs = 44100 Hz, fm =<br />
4000 Hz, fc = 8000 Hz, θc = 0 ◦ , and, in the case of AM-VSB, ∆ = 1000 Hz. Look at the<br />
PSDs Sx(f) of all four AM signals x(t) and also at the PSDs of x 2 (t). Are they what you<br />
expect them to be? If not, why not?<br />
(d) Analyze and demodulate the signals in the wav-files amsig704.wav and amsig705.wav.<br />
Determine the important parameters such as fc, θc, SSB or VSB, USB or LSB, fm and,<br />
in the case of VSB, ∆. Which parameters can you obtain from PSDs? For which ones do<br />
you actually have to demodulate the received signals? Note that the signals may have noise<br />
and/or interference from other signals added. If this is the case, try to eliminate as much of<br />
the noise/interference as possible. Explain your strategy!<br />
(e) Revisit those AM signals in the files amsig701.wav, amsig702.wav, and amsig703.wav<br />
that you could not demodulate properly in E1(d). Try if using an AM-SSB receiver (which<br />
removes one of the sidebands before demodulation) helps. If so, can you explain why?<br />
E3. Extraction of <strong>Carrier</strong> Frequency and Phase from AM-DSB-SC Signal. (Experiment<br />
for ECEN 5002, optional for ECEN 4652) (a) Modify your amrcvr11 receiver<br />
function so that it extracts the error estimate ψ(t) = 2πfet + θe between the carrier oscillator<br />
at the transmitter (cos <br />
2π(fc + fe)t + θe ) and the local oscillator at the receiver<br />
(cos 2πfct). Use this to demodulate AM-DSB-SC signals <strong>with</strong> unknown carrier phase and/or<br />
unstable carrier. Here is the header of the new function, called amrcvr12.<br />
13
function mhat = amrcvr12(t,r,fcparms,fmparms,fBparms,fxparms)<br />
%amrcvr11 <strong>Amplitude</strong> <strong>Modulation</strong> Receiver, V1.2 <strong>with</strong> automatic<br />
% carrier extraction for AM-DSB-SC<br />
% >>>>> mhat = amrcvr12(t,r,fcparms,fmparms,fBparms,fxparms)