electroSome

AM Generation using Matlab

MATLAB Logo

MATLAB Logo

Amplitude modulation (AM) is a one of the conventional modulation technique to transmit signals using a carrier wave. The amplitude or the strength of a high frequency carrier wave is changed in accordance with the amplitude of message signal. Generation of AM in MATLAB is a piece of cake. If you are new to MATLAB, please go through our tutorials.

First of all lets get into the basics..

Where,

When the signal is amplitude modulated, the amplitude of the high frequency carrier is varied in accordance with the amplitude of message signal.

Modulation Index or Modulation Depth is the one of the most common term that used along with modulation techniques. Here in AM, it is the measure of amplitude variation surrounding an unmodulated carrier. It is the ratio of the amplitude of message signal to the amplitude of carrier signal.

In terms of modulation index (m=Am/Ac) the equation of the modulated signal becomes,

Now you can easily understand the following code.

Matlab Code

Ac=input('enter carrier signal amplitude');
Am=input('enter message signal amplitude');
fc=input('enter carrier frequency');
fm=input('enter message frequency');% fm<fc
m=input('enter modulation index');
t=input('enter time period');
t1=linspace(0,t,1000);
y1=sin(2*pi*fm*t1); % message signal
y2=sin(2*pi*fc*t1); % carrier signal
eq=(1+m.*y1).*(Ac.*y2);
subplot(311);
plot(t1,y1);
xlabel('Time');
ylabel('Amplitude');
title('Message signal')
subplot(312)
plot(t1,y2);
xlabel('Time');
ylabel('Amplitude');
title('Carrier signal');
subplot(313);
plot(t1,eq);
plot(t1,eq,'r');
xlabel('Time');
ylabel('Amplitude');
title('Modulated signal');

Output

AM Generation using Matlab