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
SCOPE
WHY MODULATE?
UNDERSTANDING AM
SSB-AM USING PHASE SHIFT
FAST FOURIER TRANSFORM
INTRODUCTION TO MATLAB
MATLAB BASICS
FFT & MATLAB
DSB-AM APPROACH
SSB-AM APPROACH
CONCLUSION
SCOPE
WHY MODULATE ?
MODULATION SHIFTING BASEBAND SIGNAL TO PASSBAND RANGE. CHARACTERISTICS OF A HIGH
FREQUENCY SINE WAVE (CARRIER) IS
VARIED IN ACCORDANCE WITH
INSTANTANEOUS VALUE OF MODULATING
SIGNAL.
e=E sin (wt+ᵩ) e = Instantaneous Value of Carrier
w = Angular Frequency ᵩ = Phase Relation wrt Reference 1. MODULATION DICTATES SIZE OF THE RADIATING ELEMENT.
2. ENABLES SIMULTANEOUS TXN OF DIFFERENT SIGNALS – SHIFTING 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….
1 sin sinmo c m cv V m t t c
m
V
Vm
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
tVVv mccmo )sin( tVVv mccmo )sin( OUTPUTS ARE SUBTRACTED OUTPUTS ARE ADDED
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
MATLAB PROMPTMATLAB READY
FOR YOUR COMMAND
COMMAND WINDOW
COMMAND HISTORY
WINDOW
CURRENT DIRECTORY WINDOW
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”)
MATLAB BASICS
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 4 ]
Y is a 2X1 matrix whose elements are 1 and 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=10THE 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
A
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 aliasingfs = 4096; % sample frequencyt = (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 Boxname='FREQUENCIES'; numlines=1; % Number of lines visible for User Input
DSB-AM APPROACH
A
% Default Answerdefaultanswer={'0','0'}; % Creating the Dialog box where the User Input is stored into a Cell Arrayanswer=inputdlg(prompt,name,numlines,defaultanswer); % We use {} to Extract the data from the cell array fc = str2double(answer{1}); % Carrier Frequencyfm = str2double(answer{2}); % Message Signal Frequency % Taking User Input for Amplitudes% Cell Arrayprompt={'Enter Carrier Amplitude','Enter Message Signal Amplitude'}; % Name of the Dialog Boxname='AMPLITUDE'; numlines=1; % Number of lines visible for User Input % Default Answerdefaultanswer={'0','0'};
A
% Creating the Dialog box where the User Input is stored into a Cell Arrayanswer1=inputdlg(prompt,name,numlines,defaultanswer); % We use {} to Extract the data from the cell array Vc = str2double(answer1{1}); % Carrier AmplitudeVm = 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');subplot(2,1,2);plot(t(1:N),Vc1(1:N));title('Carrier Wave');xlabel('Time');ylabel('Amplitude');
A
%---------Double SideBand Full Carrier Modulation (DSB-FC(AM)) A = Vc + Vm*sin(2*pi*fm*t); % Envelope/eliminate the carrier amplitudem = A.*[sin(2*pi*fc*t)]; % To Multiply two same sized vectors term by term Mf = 2/N*abs(fft(m,N)); % Normalise the Dataf = 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 plotplot(t,m,t,A,'r',t,-A,'r');title('Time Domain Representation');xlabel('Time'); ylabel('Modulated signal'); subplot(2,1,2); %Frequency Domain Plotplot(f(1:300),Mf(1:300)); % Take First 300 Samplestitle('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 Boxname='FREQUENCIES'; % Number of lines visible for User Inputnumlines=1;
A
% Default Answerdefaultanswer={'0','0'}; % Creating the Dialog box where the User Input is stored into a Cell Arrayanswer=inputdlg(prompt,name,numlines,defaultanswer); % We use {} to Extract the data from the cell array fc = str2double(answer{1}); % Carrier Frequencyfm = str2double(answer{2}); % Message Signal Frequency % Taking User Input for Amplitudes% Cell Arrayprompt={'Enter Carrier Amplitude','Enter Message Signal Amplitude'}; % Name of the Dialog Boxname='AMPLITUDE'; % Number of lines visible for User Inputnumlines=1;
A
% Default Answerdefaultanswer={'0','0'}; % Creating the Dialog box where the User Input is stored into a Cell Arrayanswer1=inputdlg(prompt,name,numlines,defaultanswer); % We use {} to Extract the data from the cell array Vc = str2double(answer1{1}); % Carrier AmplitudeVm = str2double(answer1{2}); % Message Signal Amplitude m = Vm*sin(2*pi*fm*t); %Messagen = Vm*sin(2*pi*fm*t+(pi*90/180)); % 90 Degree Phase Shift of Message Signala = Vc*sin(2*pi*fc*t); % Carrierb = 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;
A
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 Samplestitle('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 Samplestitle('Time Domain Representation - OUTPUT AT BM-B ');xlabel('Time'); ylabel('Modulated Signal'); 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 Samplestitle('Time Domain Representation - Individual Outputs are Added (USB)');xlabel('Time'); ylabel('Modulated Signal');
A
subplot(312); % Time Domain Plot plot(t(1:200),q(1:200),'magenta'); % Take First 200 Samplestitle('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');
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 ??