Top Banner
25
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Matlab Project
Page 2: Matlab Project

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

Page 3: Matlab Project

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

Page 4: Matlab Project

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.

Page 5: Matlab Project

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

Page 6: Matlab Project

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.

Page 7: Matlab Project

PHASE SHIFT TECHNIQUE

tVVv mccmo )sin( tVVv mccmo )sin( OUTPUTS ARE SUBTRACTED OUTPUTS ARE ADDED

Page 8: Matlab Project

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.

Page 9: Matlab Project

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

Page 10: Matlab Project

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]

Page 11: Matlab Project

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

Page 12: Matlab Project

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

Page 13: Matlab Project

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'};

Page 14: Matlab Project

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');

Page 15: Matlab Project

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');

Page 16: Matlab Project

OUTPUT SCREENS

INPUT

OUTPUT

Page 17: Matlab Project

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;

Page 18: Matlab Project

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;

Page 19: Matlab Project

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;

Page 20: Matlab Project

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');

Page 21: Matlab Project

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');

Page 22: Matlab Project

OUTPUT SCREENS

INPUT OUTPUT

Page 23: Matlab Project

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

Page 24: Matlab Project

ASK US ??

Page 25: Matlab Project