I am trying to frequency modulate a cosine signal(for assignment). I have written the following code but not getting the required output.
dt = 0.0002;
t = 0:dt:0.05;
fm = 50;
fc = 1000;
beta1 = 1;
beta2 = 2;
%making sine and m(t)
m_t = 5.*cosd(2.*pi.*fm.*t);
sin_fm = sind(2.*pi.*fm.*t); %integral of m_t. A_m adjusted in beta
%fmmod signal
fmmod1 = cosd(2.*pi.*fc.*t + beta1.*sin_fm);
fmmod2 = cosd(2.*pi.*fc.*t + beta2.*sin_fm);
%frequency_deviation
kf_1 = (beta1*fm)/5; %5 is amplitude of message signal(Am)
kf_2 = (beta2*fm)/5;
%frequency modulated signal of matlab
fmmod1_m = fmmod(m_t,fc,1/dt,kf_1);
fmmod2_m = fmmod(m_t,fc,1/dt,kf_2);
figure(1);
plot(t,fmmod1);
title('Without using fmmod beta=3');
figure(2);
plot(t,fmmod2);
title('Without using fmmod beta=5');
figure(3);
plot(t,fmmod1_m);
title('With using fmmod beta=3');
figure(4);
plot(t,fmmod2_m);
title('With using fmmod beta=5');
I have used sind
in place of sin
in the code because for earlier code of Amplitude Modulation sin
was not giving the required waveform but when I used sind
it was giving the required waveform.
AM code
dt1 = 0.0001;
fc1 = 500*1000;
fm1 = 5*1000;
t1 = 0:dt1:0.1;
%making cosine for message and carrier for higher frequency
cos_fm1 = cosd(2*pi*fm1.*t1);
cos_fc1 = cosd(2*pi*fc1.*t1);
%making Udsb_am signal for higher frequecny
Udsb_am2h = 2.*cos_fc1 + cos_fc1.*cos_fm1;
Udsb_am1h = 1.*cos_fc1 + cos_fc1.*cos_fm1;
Udsb_am_half_h = (0.5).*cos_fc1 + cos_fc1.*cos_fm1;
figure(1);
plot(t1,Udsb_am2h);
title('AM for Ac=2');
figure(2);
plot(t1,Udsb_am1h);
title('AM for Ac=1');
figure(3);
plot(t1,Udsb_am_half_h);
title('AM for Ac=0.5');
What I want to ask from the question?
When should I use sind
and sin
?(I know sind
is for degree and sin
is for radian).Asking question about sind
and sin
because when I saw the code on internet they have used sin
not sind
.
What is wrong in the code of FM?