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 (Sc) = Acsin(2πfct)
- Message signal (Sm) = Amsin(2πfmt)
- 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 = (Ac+ Amsin(2 πfmt))*sin(2 πfct)
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 πfmt))*Acsin(2 πfct)
Now you can easily understand the following 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');