## AM Generation using Matlab

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..

- Carrier signal (S
_{c}) = A_{c}sin(2πf_{c}t) - Message signal (S
_{m}) = A_{m}sin(2πf_{m}t)

Where,

- Ac – Amplitude of the carrier signal
- Am – Amplitude of the message signal
- fc – frequency of the carrier signal
- fm – frequency of the message signal

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

- Modulated Signal = (A
_{c}+ A_{m}sin(2 πf_{m}t))*sin(2 πf_{c}t)

**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,

**Modulated signal = (1+ msin(2 πf**_{m}t))*A_{c}sin(2 πfct)

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');