Download as pdf or txt
Download as pdf or txt
You are on page 1of 21

EC3005: Amplitude Modulation

Exp (No.2): Amplitude Modulation - Modulation and


demodulation of DSB-FC, DSB-SC, and SSB-SC using MATLAB.

E THARAKA RAM(EC21B1005)
February 12, 2024

Aim:
• To illustrate, understand and simulate the DSB-SC, DSB-FC and SSB-SC configurations

5
of Amplitude Modulation and study their demodulation process.

Software Used:
• MATLAB
00
B1
Theory:
The three configurations of Amplitude modulation are discussed here. Let the message signal
be
21

m(t) = Amsin(2fmt)
And the carrier signal be And the modulation index is
m(t) = Amsin(2fmt) µ =Am/Ac
If µ ¿ 1 the wave is overmodulated and if µ ¡ 1 the wave is undermodulated and critically
modulated if µ = 1
EC

DSB-FC Configuration:
The Double Side Band- Full Carrier configuration transmits both the sidebands’ power/ in-
formation along with the entire carrier information. The general amplitude modulated wave
is expressed as :
s(t) = Ac[1 +µsin(2fmt)]sin(2fct) Expanding the formula for µ in the above expression we get
s(t) = Acsin(2fct) + Acm(t)sin(2fct) Simplifying further and taking the Fourier Transform we
get
S(f) = A/2j[(f fc)(f +fc)] +µAc/2[(f (fc fm)(f +(fc fm)] +µAc/2[(f (fc +fm)(f +(fc +fm)]
Plotting the same in the frequency domain space we get the DSB-SC Expression. From the
equation we get Carrier Power Pc = A2 c/2 and the Side Band Powers (Lower and Upper)
Pusb = Plsb = (µ2/4)Pc which implies, total power of the AM wave PT =(Pc/2)(1 +µ2)
where µ = Am/Ac is the modulation index.

1
DSB-SC Configuration:
The Double Side Band- Suppressed Carrier configuration transmits both the sidebands’ infor
mation without the carrier information saving a significant amount of power. The expression
for this is
s(t) = m(t) c(t)
s(t) = AcAmsin(2fmt)sin(2fct) Simplifying further and adding µ, and taking the Fourier Trans-
form we get
S(f) = µAc/2[(f (fc fm)(f +(fc fm)] +µAc/2[(f (fc +fm)(f +(fc +fm)] This can also be simply
written as S(f) = Ac/2[M(f fc)+M(f +fc)] (2) This shows the Carrier Power is completely
supressed. From the equation we can calculate The Carrier Power is Pc = 0 and only the side
band power is present,
Plsb = Pusb = (AmAc)2/8 Hence total power is equal to PT =Pusb+Plsb = (AmAc)2/4

SSB-SC Configuration:

05
The Single Side Band- Suppressed Carrier configuration transmits only one of the sideband
information (either upper or lower) without the carrier information improving on the DSB-SC.
The expression for this is
s(t) = m(t) c(t) ± ˆm(t) ˆ c(t) Where ˆm(t) denotes the Hilbert Transform of m(t). The ±

0
denotes whether the Upper side band or Lower Sideband to get transmitted. Simplifying and
plotting in frequency domain will prove that only one of the sidebands power gets transmitted
in this configuration. We get the expression of AcAm containing the message content at either
B1
the upper side band (fc + fm) or the lower side band (fc fm). As here there is no carrier and
only one side-band is present we can calculate total power
PT =Psb =(AmAc)2/8
21

AMDemodulator- Coherent Detector:


The modulated wave is passed through a product modulator which calculates
p(t) = s(t) c(t + ) The result is then passed through a Low-Pass Filter with cutoff frequency
equal to message frequency. The output then contains the information of message scaled upto
EC

some factor.

MATLAB:
DSB-FC Code:
% DSB FC AM
%% Critical Case
Am = 1;
Ac = 1;
mu = Am / Ac ;

fm = 10;
fs = 100* fm ;
t = 0:1/ fs :5.*1/ fm ;
% Message Signal
m_t = Am .* sin (2* pi * fm .* t ) ;

2
% Carrier Signal
fsc = 20* fm ;
c_t = Ac .* sin (2* pi * fsc .* t ) ;

% Modulated Signal
s_t = (1 + m_t ) .* c_t ;

figure ;
subplot (3 ,1 ,1) ;
plot (t , m_t ) ;
xlabel (" Time ") ;
ylabel (" Amplitude ") ;
title (" Message Signal ") ;

subplot (3 ,1 ,2) ;

05
plot (t , c_t ) ;
xlabel (" Time ") ;
ylabel (" Amplitude ") ;
title (" Carrier Signal ") ;

subplot (3 ,1 ,3) ;
plot (t , s_t ) ;
0
B1
xlabel (" Time ") ;
ylabel (" Amplitude ") ;
title (" Modulated Signal ") ;
% Frequency Spectrum
n = length ( t ) ;
21

M = fftshift ( fft ( m_t , n ) ) ;


C = fftshift ( fft ( c_t , n ) ) ;
S = fftshift ( fft ( s_t , n ) ) ;

fshift = ( - n /2: n /2 -1) *( fs / n ) ;


EC

figure ;
subplot (3 ,1 ,1) ;
plot ( fshift , abs ( M ) ) ;
xlabel (" Frequency ") ;
ylabel (" Amplitude ") ;
title (" Frequency Spectrum of Message Signal ") ;

subplot (3 ,1 ,2) ;
plot ( fshift , abs ( C ) ) ;
xlabel (" Frequency ") ;
ylabel (" Amplitude ") ;
title (" Frequency Spectrum of Carrier Signal ") ;

subplot (3 ,1 ,3) ;
plot ( fshift , abs ( S ) ) ;
xlabel (" Frequency ") ;

3
ylabel (" Amplitude ") ;
title (" Frequency Spectrum of Modulated Signal ") ;

% Demodulation
recon = s_t .* c_t ;

[b , a ] = butter (4 , fsc /( fs /2) ) ;


%
% freqz (b ,a ,[] , fs )
demod = recon - mean ( recon ) ;
figure ;

subplot (2 ,1 ,1) ;
plot (t , demod ) ;
xlabel (" Time ") ;
ylabel (" Amplitude ") ;

05
title (" Demodulated Signal ") ;

lp_filt = filter (b ,a , demod ) ;


subplot (2 ,1 ,2) ;
plot (t , lp_filt ) ;
xlabel (" Time ") ;
ylabel (" Amplitude ") ;
0
B1
title (" Filtered Signal ") ;

%% Under Modulation
Am = 1;
21

Ac = 100000;
mu = Am / Ac ;

fm = 10;
fs = 100* fm ;
EC

t = 0:1/ fs :5.*1/ fm ;
% Message Signal
m_t = Am .* sin (2* pi * fm .* t ) ;

% Carrier Signal
fsc = 20* fm ;
c_t = Ac .* sin (2* pi * fsc .* t ) ;

% Modulated Signal
s_t = (1 + m_t ) .* c_t ;

figure ;
subplot (3 ,1 ,1) ;
plot (t , m_t ) ;
xlabel (" Time ") ;
ylabel (" Amplitude ") ;
title (" Message Signal ") ;

4
subplot (3 ,1 ,2) ;
plot (t , c_t ) ;
xlabel (" Time ") ;
ylabel (" Amplitude ") ;
title (" Carrier Signal ") ;

subplot (3 ,1 ,3) ;
plot (t , s_t ) ;
xlabel (" Time ") ;
ylabel (" Amplitude ") ;
title (" Modulated Signal ") ;
% Frequency Spectrum
n = length ( t ) ;
M = fftshift ( fft ( m_t , n ) ) ;
C = fftshift ( fft ( c_t , n ) ) ;

05
S = fftshift ( fft ( s_t , n ) ) ;

fshift = ( - n /2: n /2 -1) *( fs / n ) ;

figure ;
subplot (3 ,1 ,1) ;
plot ( fshift , abs ( M ) ) ;
0
B1
xlabel (" Frequency ") ;
ylabel (" Amplitude ") ;
title (" Frequency Spectrum of Message Signal ") ;

subplot (3 ,1 ,2) ;
21

plot ( fshift , abs ( C ) ) ;


xlabel (" Frequency ") ;
ylabel (" Amplitude ") ;
title (" Frequency Spectrum of Carrier Signal ") ;
EC

subplot (3 ,1 ,3) ;
plot ( fshift , abs ( S ) ) ;
xlabel (" Frequency ") ;
ylabel (" Amplitude ") ;
title (" Frequency Spectrum of Modulated Signal ") ;

% Demodulation
recon = s_t .* c_t ;

[b , a ] = butter (4 , fsc /( fs /2) ) ;


%
% freqz (b ,a ,[] , fs )
demod = recon - mean ( recon ) ;
figure ;

subplot (2 ,1 ,1) ;
plot (t , demod ) ;

5
xlabel (" Time ") ;
ylabel (" Amplitude ") ;
title (" Demodulated Signal ") ;

lp_filt = filter (b ,a , demod ) ;


subplot (2 ,1 ,2) ;
plot (t , lp_filt ) ;
xlabel (" Time ") ;
ylabel (" Amplitude ") ;
title (" Filtered Signal ") ;

%% Over Modulation
Am = 100;
Ac = 1;
mu = Am / Ac ;

05
fm = 10;
fs = 100* fm ;
t = 0:1/ fs :5.*1/ fm ;
% Message Signal
m_t = Am .* sin (2* pi * fm .* t ) ;

% Carrier Signal
0
B1
fsc = 20* fm ;
c_t = Ac .* sin (2* pi * fsc .* t ) ;

% Modulated Signal
s_t = (1 + m_t ) .* c_t ;
21

figure ;
subplot (3 ,1 ,1) ;
plot (t , m_t ) ;
xlabel (" Time ") ;
EC

ylabel (" Amplitude ") ;


title (" Message Signal ") ;

subplot (3 ,1 ,2) ;
plot (t , c_t ) ;
xlabel (" Time ") ;
ylabel (" Amplitude ") ;
title (" Carrier Signal ") ;

subplot (3 ,1 ,3) ;
plot (t , s_t ) ;
xlabel (" Time ") ;
ylabel (" Amplitude ") ;
title (" Modulated Signal ") ;
% Frequency Spectrum
n = length ( t ) ;
M = fftshift ( fft ( m_t , n ) ) ;

6
C = fftshift ( fft ( c_t , n ) ) ;
S = fftshift ( fft ( s_t , n ) ) ;

fshift = ( - n /2: n /2 -1) *( fs / n ) ;

figure ;
subplot (3 ,1 ,1) ;
plot ( fshift , abs ( M ) ) ;
xlabel (" Frequency ") ;
ylabel (" Amplitude ") ;
title (" Frequency Spectrum of Message Signal ") ;

subplot (3 ,1 ,2) ;
plot ( fshift , abs ( C ) ) ;
xlabel (" Frequency ") ;
ylabel (" Amplitude ") ;

5
title (" Frequency Spectrum of Carrier Signal ") ;

00
subplot (3 ,1 ,3) ;
plot ( fshift , abs ( S ) ) ;
xlabel (" Frequency ") ;
ylabel (" Amplitude ") ;
B1
title (" Frequency Spectrum of Modulated Signal ") ;

% Demodulation
recon = s_t .* c_t ;

[b , a ] = butter (4 , fsc /( fs /2) ) ;


21

%
% freqz (b ,a ,[] , fs )
demod = recon - mean ( recon ) ;
figure ;
EC

subplot (2 ,1 ,1) ;
plot (t , demod ) ;
xlabel (" Time ") ;
ylabel (" Amplitude ") ;
title (" Demodulated Signal ") ;

lp_filt = filter (b ,a , demod ) ;


subplot (2 ,1 ,2) ;
plot (t , lp_filt ) ;
xlabel (" Time ") ;
ylabel (" Amplitude ") ;
title (" Filtered Signal ") ;
OUTPUT:

7
5
00
Figure 1: Input Signals and the modulated signals DSB-FC(µ = 1)
B1
21
EC

Figure 2: Input Signals and the modulated signals DSB-FC(µ < 1)

8
5
00
Figure 3: Input Signals and the modulated signals DSB-FC(µ > 1)
B1
21
EC

Figure 4: Reconstructed Signal and the Frequency Spectrum (µ = 1)

9
5
00
Figure 5: Reconstructed Signal and the Frequency Spectrum (µ = 1)
B1
21
EC

Figure 6: Reconstructed Signal and the Frequency Spectrum (µ < 1)

10
5
00
Figure 7: Reconstructed Signal and the Frequency Spectrum (µ < 1)
B1
21
EC

Figure 8: Reconstructed Signal and the Frequency Spectrum (µ > 1)

11
5
00
B1
21
EC

Figure 9: Reconstructed Signal and the Frequency Spectrum (µ > 1)

12
DSB-SC Code:
% DSB SC AM
%% Critical Case
Am = 1;
Ac = 1;
mu = Am / Ac ;

fm = 10;
fs = 100* fm ;
t = 0:1/ fs :5.*1/ fm ;
% Message Signal
m_t = Am .* sin (2* pi * fm .* t ) ;

% Carrier Signal
fsc = 20* fm ;

05
c_t = Ac .* sin (2* pi * fsc .* t ) ;

% Modulated Signal
s_t = ( m_t ) .* c_t ;

figure ;
subplot (3 ,1 ,1) ;
plot (t , m_t ) ;
0
B1
xlabel (" Time ") ;
ylabel (" Amplitude ") ;
title (" Message Signal ") ;

subplot (3 ,1 ,2) ;
21

plot (t , c_t ) ;
xlabel (" Time ") ;
ylabel (" Amplitude ") ;
title (" Carrier Signal ") ;
EC

subplot (3 ,1 ,3) ;
plot (t , s_t ) ;
xlabel (" Time ") ;
ylabel (" Amplitude ") ;
title (" Modulated Signal ") ;
% Frequency Spectrum
n = length ( t ) ;
M = fftshift ( fft ( m_t , n ) ) ;
C = fftshift ( fft ( c_t , n ) ) ;
S = fftshift ( fft ( s_t , n ) ) ;

fshift = ( - n /2: n /2 -1) *( fs / n ) ;

figure ;
subplot (3 ,1 ,1) ;
plot ( fshift , abs ( M ) ) ;
xlabel (" Frequency ") ;

13
ylabel (" Amplitude ") ;
title (" Frequency Spectrum of Message Signal ") ;

subplot (3 ,1 ,2) ;
plot ( fshift , abs ( C ) ) ;
xlabel (" Frequency ") ;
ylabel (" Amplitude ") ;
title (" Frequency Spectrum of Carrier Signal ") ;

subplot (3 ,1 ,3) ;
plot ( fshift , abs ( S ) ) ;
xlabel (" Frequency ") ;
ylabel (" Amplitude ") ;
title (" Frequency Spectrum of Modulated Signal ") ;

% Demodulation

5
recon = s_t .* c_t ;

00
[b , a ] = butter (6 , fsc /( fs /2) ) ;
%
% freqz (b ,a ,[] , fs )
demod = ( recon - mean ( recon ) ) ./ std ( recon ) ;
B1
figure ;

subplot (2 ,1 ,1) ;
plot (t , demod ) ;
xlabel (" Time ") ;
ylabel (" Amplitude ") ;
21

title (" Demodulated Signal ") ;

lp_filt = filter (b ,a , demod ) ;


subplot (2 ,1 ,2) ;
EC

plot (t , lp_filt ) ;
xlabel (" Time ") ;
ylabel (" Amplitude ") ;
title (" Filtered Signal ") ;
OUTPUT:

14
5
00
Figure 10: Input Signals and the modulated signals DSB-SC
B1
21
EC

Figure 11: Input Signals and the modulated signals DSB-SC

15
5
00
B1
21
EC

Figure 12: Input Signals and the modulated signals DSB-SC

16
SSB-SC Code:
% SSB SC AM
Am = 1;
Ac = 1;
mu = Am / Ac ;

fm = 10;
fs = 100* fm ;
t = 0:1/ fs :5.*1/ fm ;
% Message Signal
m_t = Am .* sin (2* pi * fm .* t ) ;

% Carrier Signal
fsc = 20* fm ;
c_t = Ac .* sin (2* pi * fsc .* t ) ;

05
% Modulated Signal
m_cap = hilbert ( m_t ) ;
c_cap = hilbert ( c_t ) ;
s_t = m_t .* c_t + m_cap .*( Ac .* sin (2* pi * fsc .* t - pi /2) ) ;

figure ;
subplot (3 ,1 ,1) ;
0
B1
plot (t , m_t ) ;
xlabel (" Time ") ;
ylabel (" Amplitude ") ;
title (" Message Signal ") ;
21

subplot (3 ,1 ,2) ;
plot (t , c_t ) ;
xlabel (" Time ") ;
ylabel (" Amplitude ") ;
title (" Carrier Signal ") ;
EC

subplot (3 ,1 ,3) ;
plot (t , s_t ) ;
xlabel (" Time ") ;
ylabel (" Amplitude ") ;
title (" Modulated Signal ") ;
% Frequency Spectrum
n = length ( t ) ;
M = fftshift ( fft ( m_t , n ) ) ;
C = fftshift ( fft ( c_t , n ) ) ;
S = fftshift ( fft ( s_t , n ) ) ;

fshift = ( - n /2: n /2 -1) *( fs / n ) ;

figure ;
subplot (3 ,1 ,1) ;
plot ( fshift , abs ( M ) ) ;

17
xlabel (" Frequency ") ;
ylabel (" Amplitude ") ;
title (" Frequency Spectrum of Message Signal ") ;

subplot (3 ,1 ,2) ;
plot ( fshift , abs ( C ) ) ;
xlabel (" Frequency ") ;
ylabel (" Amplitude ") ;
title (" Frequency Spectrum of Carrier Signal ") ;

subplot (3 ,1 ,3) ;
plot ( fshift , abs ( S ) ) ;
xlabel (" Frequency ") ;
ylabel (" Amplitude ") ;
title (" Frequency Spectrum of Modulated Signal ") ;

5
% Demodulation
recon = s_t .* c_t ;

%
% freqz (b ,a ,[] , fs )
00
[b , a ] = butter (8 , fsc /( fs /2) ) ;
B1
demod = ( recon - mean ( recon ) ) ./ std ( recon ) ;
figure ;

subplot (2 ,1 ,1) ;
plot (t , demod ) ;
xlabel (" Time ") ;
21

ylabel (" Amplitude ") ;


title (" Demodulated Signal ") ;

lp_filt = filter (b ,a , demod ) ;


EC

subplot (2 ,1 ,2) ;
plot (t , lp_filt ) ;
xlabel (" Time ") ;
ylabel (" Amplitude ") ;
title (" Filtered Signal ") ;
OUTPUT:

18
5
00
Figure 13: Input Signals and the modulated signals SSB-SC
B1
21
EC

Figure 14: Input Signals and the modulated signals SSB-SC

19
5
00
B1
21
EC

Figure 15: Input Signals and the modulated signals SSB-SC

20
Inference:
• Theorder(andtype) of the filter used for reconstruction is responsible for the smoothness
of the reconstructed signal.

• During the process of reconstruction for removal of outliers we standardize the demod
ulated wave before passing it through the filter

Result:
The procedure for generation of the DSB-FC, DSB-SC and the SSB-SC configurations of the
Amplitude Modulation are studied and simulated in MATLAB with outputs verified.

5
00
B1
21
EC

21

You might also like