How to Write a matlab code to plot the amplitude modulated signal in time domain.
106 views (last 30 days)
Show older comments
Yash Yadav
on 27 Jun 2021
Answered: safuan khatimi
on 7 Jan 2023
How to Write a matlab code to plot the amplitude modulated signal in time domain. Modulating signal = cos2π(300t) Carrier signal = cos2π(5000t)
0 Comments
Accepted Answer
Scott MacKenzie
on 27 Jun 2021
Edited: Scott MacKenzie
on 27 Jun 2021
Here's one way to do this. I'm showing two graphs, one with 5 Hz amplitude modulation, one with 5 kHz amplitude modulation. I've also passed the modulated signal into the sound function, so you can hear the result as well. At 5 Hz, the effect in music is known as tremolo.
duration = 3; % seconds
samplingRate = 8192; % per second
samplingInterval = 1 / samplingRate;
t = 1:samplingInterval:duration;
y1 = cos(2*pi*300*t); % signal
y2 = cos(2*pi*5*t); % modulating signal (frequency = 5 Hz, adjust as desired)
y2 = rescale(y2,0.25,1); % modulation amplitude min/max factor
y = y1 .* y2; % create amplitude-modulated signal
% plot about 1 second of the signal (to show amplitude modulation)
plot(y(1:9000))
set(gca,'ylim', [-1.2, 1.2]);
% play it
sound(y, samplingRate); % NOTE: sRate not needed if 8192 (default)
5 Hz modulation:
5 kHz modulation:
2 Comments
Md. Sakib-Ul-Islam
on 4 Mar 2022
what if i want to see the frequency spectrum of this modulated wave? can i get a code for that?
More Answers (2)
MD Rasel Basunia
on 8 Apr 2022
%% taking input of different parameter
Ac=1;%carrier Amplitude
Mu=0.9 % modulation index (let)
fm=300 % message signal frequency
fc=5000 % carrier frequency
fs=100*fm % sampling frequency with oversampling factor 100
%% setting proper time intervals
%t = [0:1e-8:1e-2];
t=[0:1/fs:1e-2];
%% compute the AM signal
x_am_1 = Ac*(1+Mu*cos(2*pi*fm*t)).*cos(2*pi*fc*t);%Am equation
%% compute envelop
x_envelop_1 = abs(Ac*(1+Mu*cos(2*pi*fm*t)));% equation of envelop
%% Graph of Am and its envelop
subplot(211)
plot(t,x_am_1,t,x_envelop_1,'r','linewidth',1.5);grid on;
xlabel('Time(sec)');ylabel('Amplitude');legend('AM signal','Envelop');
title('Single sided envelop of AM with modulation index Mu=0.9');
%% Double side envelop
subplot(212)
plot(t,x_am_1,'k',t,x_envelop_1,'r',t,-x_envelop_1,'b','linewidth',1.5);grid on;
xlabel(' time ');ylabel('Amplitude')
legend('AM signal','Double sided envelop');
title('Double sided envelop of AM with Mu = 0.9');
% you can change modulation index in the above code.
% output:
0 Comments
See Also
Categories
Find more on Modulation in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!