Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
325 views

Matlab Code

The document contains MATLAB code for simulating different digital modulation techniques: - It includes code for amplitude modulation (AM), frequency modulation (FM), pulse amplitude modulation (PAM), amplitude shift keying (ASK), frequency shift keying (FSK), and phase shift keying (PSK). - For each modulation technique, the code generates the message signal, carrier signal, and modulated output signal and plots them. It also takes user input for signal parameters like amplitude, frequency, etc. - The code provides an end-to-end demonstration of how digital modulation works in MATLAB for education and simulation purposes.

Uploaded by

hariharankalyan
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
325 views

Matlab Code

The document contains MATLAB code for simulating different digital modulation techniques: - It includes code for amplitude modulation (AM), frequency modulation (FM), pulse amplitude modulation (PAM), amplitude shift keying (ASK), frequency shift keying (FSK), and phase shift keying (PSK). - For each modulation technique, the code generates the message signal, carrier signal, and modulated output signal and plots them. It also takes user input for signal parameters like amplitude, frequency, etc. - The code provides an end-to-end demonstration of how digital modulation works in MATLAB for education and simulation purposes.

Uploaded by

hariharankalyan
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

MATLAB Code For Amplitude Modulation:

clc;
clear all;
close all;
Ac=2; %carrier amplitude
fc=0.5; %carrier frequency
Am=.5; %message signal amplitude
fm=.05; %message signal frequency
Fs=100; %sampling rate/frequency
ka=1; %modulation coefficient
t=[0:0.1:50]; %defining the time range & disseminating it into samples
ct=Ac*cos(2*pi*fc*t); %defining the carrier signal wave
mt=Am*cos(2*pi*fm*t); %defining the message signal
AM=ct.*(1+ka*mt); %Amplitude Modulated wave, according to the standard definition
subplot(3,1,1); %plotting the message signal wave
plot(mt);
ylabel('Message signal');
subplot(3,1,2); %plotting the carrier signal wave
plot(ct);
ylabel('carrier');
subplot(3,1,3); %plotting the amplitude modulated wave
plot(AM);
ylabel('AM signal');

Screenshot of the output:

MATLAB CODE For FM (Frequency Modulation)


clc
clear

all

close

all

0:0.001:1; %upto

1000

samples

vm

input('Enter

Amplitude

(Message)

');

vc

input('Enter

Amplitude

(Carrier)

');

fM

input('Enter

Message

frequency

');

fc

input('Enter

Carrier

frequency

');

input('Enter

Modulation

Index

');

msg

vm*sin(2*pi*fM*t);

subplot(3,1,1); %plotting

message

signal

plot(t,msg);
xlabel('Time');
ylabel('Amplitude');
title('Message
carrier
subplot(3,1,2); %plotting

');
=

vc*sin(2*pi*fc*t);
carrier

signal

plot(t,carrier);
xlabel('Time');
ylabel('Amplitude');
title('Carrier

Signal');

vc*sin(2*pi*fc*t+m.*cos(2*pi*fM*t));
FM

subplot(3,1,3);%plotting

(Frequency

Modulated)

signal

plot(t,y);
xlabel('Time');
ylabel('Amplitude');
title('FM Signal');

Sample MATLAB Input:


Enter

Amplitude

(Message)

Enter

Amplitude

(Carrier)

Enter

Message

frequency

Enter

Carrier

frequency

Enter Modulation Index = 10


MATLAB's Output For The Above Input:

MATLAB Code For PAM (Pulse-amplitude modulation)

100

clc;
close

all;

clear

all;

input('Enter

the

amplitude

');

input('Enter

the

frequency

');

0:0.02:2; %

for

total

x1

stem(t); %generation

x2

sin(2*pi*f*t); %generation

of

of

20
impulse

of

sine

x1.*x2; %modulation

subplot(3,1,1); %for

impulse

samples
signal
wave
step

signal

plot

stem(x1);
title('Impulse

Signal');

xlabel('Time');
ylabel('Amplitude

');

subplot(3,1,2)

%for

sine

wave

plot

plot(t,x2);
title('Sine

Wave');

xlabel('Time

');

ylabel('Amplitude

');

subplot(3,1,3)

%for

PAM

wave

plot

stem(t,y);
title('PAM

Wave');

xlabel('Time');
ylabel('Amplitude');
Sample Input At MATLAB Command Window:
Enter

the

Enter the frequency = 3


Output of PAM wave in MATLAB

amplitude

MATLAB Code FOR ASK (Amplitude Shift Keying) :


clc %for

clearing

close

all %for

closing

clear

all %for

deleting

fc=input('Enter

the

fp=input('Enter

the

amp=input('Enter

the

the
all

the

all
of

amplitude

window

the

freq
freq

command
variables

of
Periodic

(For

except

Carrier

window
command

from

Sine

Wave

Binary

pulse

&

Binary

Pulse

the

window
memory

carrier:');
(Message):');
Message):');

t=0:0.001:1; %

For

setting

c=amp.*sin(2*pi*fc*t);%

For

subplot(3,1,1) %For

Plotting

the

sampling

Generating

Carrier

The

interval
Sine

wave

Carrier

wave

plot(t,c)
xlabel('Time')
ylabel('Amplitude')
title('Carrier

Wave')

m=amp/2.*square(2*pi*fp*t)+(amp/2);%For
subplot(3,1,2) %For

Plotting

The

Generating
Square

Square

Binary

wave

Pulse

message
(Message)

plot(t,m)
xlabel('Time')
ylabel('Amplitude')
title('Binary

Message

w=c.*m; %

The

subplot(3,1,3) %For

Pulses')

Shift

Plotting

The

Keyed

Amplitude

Shift

Wave
Keyed

Wave

plot(t,w)
xlabel('Time')
ylabel('Amplitude')
title('Amplitide Shift Keyed Signal')
INPUTS GIVEN TO GENERATE ASK MODULATED WAVE:
Enter
Enter

the
the

freq
freq

of
of

Periodic

Sine
Binary

Enter the amplitude (For Both Carrier & Binary Pulse Message):4
RESULT:

Wave

carrier:100

pulse

(Message):10

MATLAB Code FOR FSK (Frequency Shift Keying) BFSK in this case:
clc %for clearing the command window
close all %for closing all the window except command window
clear all %for deleting all the variables from the memory
fc1=input('Enter the freq of 1st Sine Wave carrier:');
fc2=input('Enter the freq of 2nd Sine Wave carrier:');
fp=input('Enter the freq of Periodic Binary pulse (Message):');
amp=input('Enter the amplitude (For Both Carrier & Binary Pulse Message):');
amp=amp/2;
t=0:0.001:1; % For setting the sampling interval
c1=amp.*sin(2*pi*fc1*t);% For Generating 1st Carrier Sine wave
c2=amp.*sin(2*pi*fc2*t);% For Generating 2nd Carrier Sine wave
subplot(4,1,1); %For Plotting The Carrier wave
plot(t,c1)
xlabel('Time')
ylabel('Amplitude')
title('Carrier 1 Wave')
subplot(4,1,2) %For Plotting The Carrier wave
plot(t,c2)

xlabel('Time')
ylabel('Amplitude')
title('Carrier 2 Wave')
m=amp.*square(2*pi*fp*t)+amp;%For Generating Square wave message
subplot(4,1,3) %For Plotting The Square Binary Pulse (Message)
plot(t,m)
xlabel('Time')
ylabel('Amplitude')
title('Binary Message Pulses')
for i=0:1000 %here we are generating the modulated wave
if m(i+1)==0
mm(i+1)=c2(i+1);
else
mm(i+1)=c1(i+1);
end
end
subplot(4,1,4) %For Plotting The Modulated wave
plot(t,mm)
xlabel('Time')
ylabel('Amplitude')
title('Modulated Wave')
The following INPUTS GIVEN TO GENERATE FSK MODULATED WAVE:
Enter the freq of 1st Sine Wave carrier:10
Enter the freq of 2nd Sine Wave carrier:30
Enter the freq of Periodic Binary pulse (Message):5
Enter the amplitude (For Both Carrier & Binary Pulse Message):4
Result:

Frequency Shift Keying (FSK) Digital Modulation MATLAB Simulation

Read more: http://www.divilabs.com/2013/12/frequency-shift-keying-fsk-digital.html#ixzz3TIQ8DkcD

MATLAB Code FOR PSK (Phase Shift Keying) :


clc %for

clearing

the

close

all %for

closing

all

clear

all %for

deleting

all

t=0:.001:1; %

For

fc=input('Enter

frequency

fm=input('Enter
amp=input('Enter

the

of

&

except

variables

setting

the
Carrier

window
command

from

Plotting

wave:
:
Both

Carrier
The

window
memory
interval

Sine

Amplitude(Assuming

Generating

the

sampling

frequency

Message

c=amp.*sin(2*pi*fc*t);%
subplot(3,1,1) %For

window

the

Message
Carrier

command

Carrier

');
');

Equal):');
Sine
wave

plot(t,c)
xlabel('Time')
ylabel('Amplitude')
title('Carrier')
m=square(2*pi*fm*t);%

For

Plotting

Message

signal

subplot(3,1,2)
plot(t,m)
xlabel('time')
ylabel('ampmplitude')
title('Message Signal')% Sine wave multiplied with square wave in order to
generate

PSK

x=c.*m;
subplot(3,1,3) %

For

Plotting

PSK

(Phase

Shift

Keyed)

signal

plot(t,x)
xlabel('t')
ylabel('y')
title('PSK')

INPUTS GIVEN TO GENERATE ASK MODULATED WAVE:


Enter
Enter

frequency
Message

of

Carrier
frequency

Enter The Carrier & Message Amplitude(Assuming Both Equal): 3


RESULT:

Sine

wave:
:

60
10

You might also like