Amplitude and Frequency Modulation MatLab Code

AMPLITUDE MODULATION:

When fm =10 Hz and fc= 20Hz;

DSB-SC:

t=0:0.001:1;

vd=8*cos(2*pi*5*t);

vc=0.1*cos(2*pi*15*t);

ft=vc.*vd;

am=ft+vc;

figure(1)

plot(t,vd);

figure(2)

plot(t,vc);

figure(3)

plot(t,am);

FOR DSB-FC :

vm=10 ;

vc=5 ;

fm=20 ;

fc=100 ;

t=0:0.0001:0.0999;

f=1:1:999;

wc=2*pi*fc;

wm=2*pi*fm;

V1=vc+vm*sin(wm*t);

V2=-(vc+vm*sin(wm*t));

Vm=vm*sin(wm*t);

Vc=vc*sin(wc*t);

Vam=(1+sin(wm*t)).*(sin(wc*t));

Vf=abs(fft(Vam,10000))/10000;

figure;

plot(t,Vam);

hold on;

plot(t,V1,'r')

plot(t,V2,'r');

xlabel('frequency'),

ylabel('amplitude');

grid on;

%plotting modulating signal

figure;

plot(t,Vm);

title('AM modulating signal');

xlabel('time'), ylabel('amplitude');

grid on;

%Plot carrier signal

figure;

plot(t, Vc);

title('AM carrier signal');

xlabel('time'), ylabel('amplitude');

grid on;

clear;

FM MODULATION:

vc=1;

vm=1;

fm=250;

fc=5000;

m=10;

t=0:0.00001:0.09999;

f=0:10:99990;

wc=2*pi*fc;

wm=2*pi*fm;

sc_t=vc*cos(wc*t);

sm_t=vm*cos(wm*t);

kf=1000;

s_fm=vc*cos((wc*t)+10*sin(wm*t));

vf=abs(fft(s_fm,10^4))/5000;

figure;

plot(t,s_fm);

hold on;

plot(t,sm_t,'r');

axis([0 0.01 -1.5 1.5]);

xlabel('time(second)'),ylabel('amplitude');

title('FM time-domain');

grid on;

figure;

plot(f,vf);

axis([ 0 10^4 0 0.4]);

xlabel('frequency'),ylabel('amplitude');

title('FM frequency-domain');

grid on;figure;plot(t,sm_t);

axis([0 0.1 -1.5 1.5]);

title('FM modulating signal');


EmoticonEmoticon