You are on page 1of 25

AIM

TO ACQUAINT YOU
ALL WITH THE POWER
OF ‘MATLAB’ IN
CONTEXT TO COMN
ENGG BY CARRYING
OUT SIMULATION
SHOWING DSB AND
SSB (PHASE SHIFT)
AMPLITUDE
MODULATION ON A
USER DEFINED MSG
AS WELL AS CARRIER
SIGNAL
WHY MODULATE?
UNDERSTANDING AM

SC SSB-AM USING PHASE SHIFT


SC
FAST FOURIER TRANSFORM
OP INTRODUCTION TO MATLAB
OP
E MATLAB BASICS E
FFT & MATLAB
DSB-AM APPROACH
SSB-AM APPROACH
CONCLUSION
WHY MODULATE ?

MODULATION SHIFTING BASEBAND SIGNAL TO PASSBAND RANGE.


CHARA
CT
SINE W ERISTICS OF
ACCOR AVE (CARRIER A HIGH FREQU
DANCE ) IS VA ENCY
OF MO W I TH RIED I
DULAT INSTAN N
ING SI TANEO
GNAL. US VALU
E
e=E sin
e = Ins (wt+ᵩ
)
stantan
eous V
w = An alue of
gular F Carrier
requen
ᵩ = P cy
hase R
elation
wrt Re
ference

1. MODULATION DICTATES SIZE OF THE RADIATING ELEMENT.


1. MODULATION DICTATES SIZE OF THE RADIATING ELEMENT.
2. ENABLES SIMULTANEOUS TXN OF DIFFERENT SIGNALS – SHIFTING
2.THEIR
ENABLES SIMULTANEOUS
SPECTRA TXN OF DIFFERENT
USING DIFFERENT SIGNALS – SHIFTING
CARRIER FREQUENCIES.
THEIR SPECTRA USING DIFFERENT CARRIER FREQUENCIES.
UNDERSTANDING AM
AMPLITUDE MODULATION MAY BE DEFINED AS A SYSTEM OF MODULATION IN
WHICH THE AMPLITUDE OF THE CARRIER IS MADE PROPORTIONAL TO THE
INSTANTANEOUS AMPLITUDE OF THE MODULATING VOLTAGE.

MSG SIGNAL FREQUENCY IS INVARIABLY LOWER THAN THAT OF THE CARRIER….

Vm
vmo  Vc  1  m sin m t  sin c t m
Vc
SSB-AM USING PHASE SHIFT

SSB – AM
ONLY HALF OF THE SIGNAL OF DSB-SC IS USED.
THIS METHOD EFFICIENTLY USES POWER AND BANDWIDTH.

PHASE SHIFT TECHNIQUE


TWO VERSIONS OF THE ORIGINAL SIGNAL ARE GENERATED, MUTUALLY 90° OUT OF
PHASE FOR ANY SINGLE FREQUENCY WITHIN THE OPERATING BANDWIDTH.
EACH ONE OF THESE SIGNALS MODULATES CARRIER WAVES (OF ONE FREQUENCY)
WHICH ARE 90° OUT OF PHASE WITH EACH OTHER.
BY EITHER ADDING OR SUBTRACTING THE RESULTING SIGNALS, A LOWER OR UPPER
SIDEBAND SIGNAL IS OBTAINED.
PHASE SHIFT TECHNIQUE

OUTPUTS ARE SUBTRACTED OUTPUTS ARE ADDED


v o  V m V c sin(  c   m ) t v o  V mV c sin(  c   m ) t
FAST FOURIER TRANSFORM

FREQ DOMAIN REPRESENTATION OF A SIG IS OBTAINED BY


APPLYING FOURIER TRANSFORM TECHNIQUES.
TRANSLATE THE SIGNAL FROM ITS TIME DOMAIN TO ITS
CORRESPONDING FREQ DOMAIN.
GIVES THE DETAILS OF VARIOUS FREQ-COMPONENTS IN THE
SIGNAL , THEIR AMPLITUDES, POWER AND BW.

FFT IS A FASTER VERSION OF DISCRETE FOURIER TRANSFORM

WHICH USES SOME CLEVER ALGORITHMS TO CARRY OUT


CONVERSION.
INTRODUCTION TO MATLAB
MATLAB MATRIX LABORATORY
WIDELY USED TO SOLVE DIFFERENT TYPES OF SCIENTIFIC PROBLEMS

CURRENT
DIRECTORY
WINDOW

MATLAB PROMPT
MATLAB READY
FOR YOUR
COMMAND

COMMAND COMMAND
HISTORY WINDOW
WINDOW
MATLAB BASICS
 VARIABLE NAMES:
 Starts with a Letter
 Up to 31 characters can be used
 May contain letters, digits and underscore_

 Case sensitive (“A” is not the same as “a”)

 SOME MATLAB STATEMENTS:

MATLAB STATEMENT REMARKS


C=5.66 C is a scalar

X=[3.5 6.3, 33] X is a 1X3 matrix with elements 3.5 , 6.3 and 33.
Commas or space are used to separate the
elements in a row

Y=[1 Y is a 2X1 matrix whose elements are 1 and 4.


4]
A=1:5 Equivalent to A=[1 2 3 4 5]
FFT & MATLAB

THE TYPICAL SYNTAX FOR COMPUTING THE FFT OF A SIGNAL IS FFT(X,N)


X IS THE SIGNAL, X[N], YOU WISH TO TRANSFORM
N IS THE NUMBER OF POINTS IN THE FFT.
N MUST BE AT LEAST AS LARGE AS THE NUMBER OF SAMPLES IN X[N].

SYTHESIZE A COSINE WITH 30 SAMPLES AT 10 SAMPLES PER PERIOD


N = [0:29];
X = COS(2*PI*N/10); % Fs=10
THE ABS FUNCTION OF MATLAB FINDS THE MAGNITUDE OF THE TRANSFORM, WE
ARE NOT CONCERED WITH DISTINGUISHING BETWEEN REAL & IMAGINARY
COMPONENTS.
N1 = 64;
X1 = ABS(FFT(X,N1));
THE FREQUENCY SCALE BEGINS AT 0 AND EXTENDS TO N - 1 FOR AN N-POINT FFT.
WE THEN NORMALIZE THE SCALE SO THAT IT EXTENDS FROM 0 TO [1 -1/N]
F1 = [0 : N1 - 1]/N1;
PLOT(F1,X1); % Frequency Plot
DSB-AM APPROACH
MATLAB CODE

% Amplitude Modulation with Single Tone Signal and its Spectrum Analysis
% Show the Time Domain and Frequency Domain Representation of DSB-AM

clc;

N = 1024; % N point FFT N>fc to avoid freq domain aliasing


fs = 4096; % sample frequency
t = (0:N-1)/fs;

A
% Taking User Input for Frequencies
% This is a Cell Array!
prompt={'Enter Carrier Frequency','Enter Message Signal Frequncy'};

% Name of the Dialog Box


name='FREQUENCIES';
numlines=1; % Number of lines visible for User Input
% Default Answer
defaultanswer={'0','0'};

% Creating the Dialog box where the User Input is stored into a Cell Array
answer=inputdlg(prompt,name,numlines,defaultanswer);

% We use {} to Extract the data from the cell array

fc = str2double(answer{1}); % Carrier Frequency


fm = str2double(answer{2}); % Message Signal Frequency

% Taking User Input for Amplitudes


% Cell Array
prompt={'Enter Carrier Amplitude','Enter Message Signal Amplitude'};

% Name of the Dialog Box


name='AMPLITUDE';
A
numlines=1; % Number of lines visible for User Input

% Default Answer
defaultanswer={'0','0'};
% Creating the Dialog box where the User Input is stored into a Cell Array
answer1=inputdlg(prompt,name,numlines,defaultanswer);

% We use {} to Extract the data from the cell array

Vc = str2double(answer1{1}); % Carrier Amplitude


Vm = str2double(answer1{2}); % Message Signal Amplitude

Vc1 = Vc*sin(2*pi*fc*t);
Vm1 = Vm*sin(2*pi*fm*t);

figure('Name','Time Domain Representation of Carrier Wave and Message Signal')


subplot(2,1,1); % Time Domain Plot
plot(t(1:N),Vm1(1:N));
title('Message Signal');
xlabel('Time');
ylabel('Amplitude');
A
subplot(2,1,2);
plot(t(1:N),Vc1(1:N));
title('Carrier Wave');
xlabel('Time');
ylabel('Amplitude');
%---------Double SideBand Full Carrier Modulation (DSB-FC(AM))

A = Vc + Vm*sin(2*pi*fm*t); % Envelope/eliminate the carrier amplitude


m = A.*[sin(2*pi*fc*t)]; % To Multiply two same sized vectors term by term

Mf = 2/N*abs(fft(m,N)); % Normalise the Data


f = fs * (0 : N/2)/N; % Since the fft result is symmetrical, only the positive half is
sufficient for spectral representation

figure('Name','Time/Frequency Domain Representation of DSB-AM Signal');


subplot(2,1,1); %Time domain plot
plot(t,m,t,A,'r',t,-A,'r');
title('Time Domain Representation');
xlabel('Time');
ylabel('Modulated signal'); A
subplot(2,1,2); %Frequency Domain Plot
plot(f(1:300),Mf(1:300)); % Take First 300 Samples
title('Frequency Domain Representation');
xlabel('Frequency (Hz)'); ylabel('Spectral Magnitude');
OUTPUT SCREENS

INPUT

OUTPUT
SSB-AM APPROACH
MATLAB CODE

%Single SideBand Modulation


%Time domain and Frequency domain representation

N = 1024;
fs = 2048;
t = (0:N-1)/fs;

% Taking User Input for Frequencies


% This is a Cell Array!
prompt={'Enter Carrier Frequency','Enter Message Signal Frequncy'};

% Name of the Dialog Box


name='FREQUENCIES';

% Number of lines visible for User Input


numlines=1;
% Default Answer
defaultanswer={'0','0'};

% Creating the Dialog box where the User Input is stored into a Cell Array
answer=inputdlg(prompt,name,numlines,defaultanswer);

% We use {} to Extract the data from the cell array

fc = str2double(answer{1}); % Carrier Frequency


fm = str2double(answer{2}); % Message Signal Frequency

% Taking User Input for Amplitudes


% Cell Array
prompt={'Enter Carrier Amplitude','Enter Message Signal Amplitude'};

% Name of the Dialog Box


name='AMPLITUDE';
A
% Number of lines visible for User Input
numlines=1;
% Default Answer
defaultanswer={'0','0'};

% Creating the Dialog box where the User Input is stored into a Cell Array
answer1=inputdlg(prompt,name,numlines,defaultanswer);

% We use {} to Extract the data from the cell array

Vc = str2double(answer1{1}); % Carrier Amplitude


Vm = str2double(answer1{2}); % Message Signal Amplitude

m = Vm*sin(2*pi*fm*t); %Message
n = Vm*sin(2*pi*fm*t+(pi*90/180)); % 90 Degree Phase Shift of Message Signal
a = Vc*sin(2*pi*fc*t); % Carrier

A
b = Vc*sin(2*pi*fc*t+(pi*90/180)); % 90 Degree Phase Shift of Carrier Signal

x=n.*a;
y=m.*b;
p=x+y;
q=x-y;
SBU=2/N*abs(fft(p));
SBL=2/N*abs(fft(q));
freq=fs*(0:N/2)/N;
figure('Name','Time Domain Representation of BM Outputs');
subplot(211); % Time Domain Plot
plot(t(1:200),x(1:200),'b'); % Take First 200 Samples
title('Time Domain Representation - OUTPUT AT BM-A ');
xlabel('Time');
ylabel('Modulated Signal');

subplot(212); % Time Domain Plot


plot(t(1:200),y(1:200),'r'); % Take First 200 Samples
title('Time Domain Representation - OUTPUT AT BM-B ');
xlabel('Time'); ylabel('Modulated Signal');
A
figure('Name','Time/Frequency Domain Representation of SSB Modulated Signal');
subplot(311); % Time Domain Plot
plot(t(1:200),p(1:200),'b'); % Take First 200 Samples
title('Time Domain Representation - Individual Outputs are Added (USB)');
xlabel('Time'); ylabel('Modulated Signal');
subplot(312); % Time Domain Plot
plot(t(1:200),q(1:200),'magenta'); % Take First 200 Samples
title('Time Domain Representation - Individual Outputs are Subtracted (LSB)');
xlabel('Time'); ylabel('Modulated Signal');

subplot(313); % Frequency Domain Plot


plot(freq,SBU(1:N/2+1),’b’,freq,SBL(1:N/2+1),’g’);
title('Frequency Domain Representation ');
xlabel('Frequency (Hz)'); ylabel('Spectral Magnitude');
legend('USB','LSB');

A
OUTPUT SCREENS

INPUT OUTPUT
CONCLUSION

MATLAB IS A HIGH PERFORMANCE SOFTWARE


CAPABILITIES
 COMPUTATION
 VISUALIZATION
 EASY-TO-USE ENVIRONMENT
 HIGH-LEVEL LANGUAGE
 DATA TYPES
 FUNCTIONS
 CONTROL FLOW STATEMENTS
 INPUT/OUTPUT
 GRAPHICS
 OBJECT-ORIENTED PROGRAMMING CAPABILITIES

REFERENCE
 www.mathworks .com
 www.blinkdagger.com
ASK US ??

You might also like