AMPLITUDE MODULATION (AM)
Intro
Amplitude Modulation can be created by modifying the amplitude of a radiofrequent carrier
according to an information signal
of a lower frequency. The depth of an AM signal is described by the modulation index
which has to be within the range from 0 to 1 to avoid overmodulation. Time Domain
The calculation of an AM-signal on the basis of two sinusoidal signals is not very difficult:
The AM-signal can be written as:
Frequency Domain
The spectrum of the AM-signal can be obtained by using the trigonometric identity:
It can be seen, that the modulated signal contains frequency components at Ω,
and
. If the spectrum of the information signal consists of a set of frequency components the AM-signal has twice the bandwith of the highest frequency component of the information signal. The frequencies are centered around the carrier and described as lower and upper sidebands and the method is named DSB-TC AM (Double-Sideband, Transmitted Carrier AM). There are other schemes that supress the carrier and/or one sideband to save power and bandwidth. But in this case the design of a receiver has to be more complex. disp('time and frequency domain of an AM-signal');
time and frequency domain of an AM-signal
init_AM; % define f_c and f_i in init_AM (filter coeffs are updated there)
TX_signal=u_i*cos(2*pi*f_i*t); %u_LF
carrier=u_c*cos(2*pi*f_c*t); %u_RF
MOD_signal=u_c*(1+m*cos(2*pi*f_i*t)).*cos(2*pi*f_c*t);
plot_MOD(t,TX_signal,carrier,MOD_signal);
Spectrum
F_MOD_signal=abs(fftshift(fft(MOD_signal)))/n; % FFT and frequency-pins for double sided spectrum
F = (-n/2:n/2-1)*(fs/n); % frequency range
title('double sided spectrum')
nr=1; % number of spectral components in one sideband
X1=f_c+fpi*f_i; % upper sideband
X2=-f_c+fpi*f_i; % lower sideband
Y=abs(-nr:nr)*m*u_c/4+[0 u_c/2 0]; % frequency pins
legend('FFT','frequency pins')
Audio
% play audio of the AM-signal
PCM=repmat(MOD_signal,1,f_i/np);
Modulation and Demodulation
Version 1: Square Law Modulator
A simple modulation method is based on nonlinear devices. Intermodulation products are created, if such a device is fed with a signal containing frequency components of the carrier and the signal. The lower and upper sidebands are part of these created additional frequency components.
disp(get_link('-> info about Square Law Modulator','MOD_AM_NOTE1'));
The square law modulator uses a nonlinear device like a diode. The working point is defined by the amount of direct voltage, the signal is a serial connection of the carrier and the information signal. The nonlinear current of the circuit leads to a nonlinear voltage on the load resistor. The spectrum of this voltage contains frequencies of the desired AM-signal and can be filtered with a bandpass.
In Simulink the characteristics of the nonlinear device is approximated by a Taylor series which is discontinued after the squared term.
The modulation index can be calculated with the maxima and minima of the plot´s envelope:
A demodulator extracts the information from a modulated RF carrier. A simple AM demodulation can be done with an envelope demodulator. A diode rectifies the signal and the positive RF signal loads the condenser. While the diode blocks the negative half-wave the condenser is discharged through the resistor. The condenser voltage is eqivalent to the information signal if the time constant of the RC-circuit has been chosen appropriately
as discribed in the literature (refer to the link section of this page). A highpassfilter removes the DC amount, a lowpass filter smoothes the signal. Since the phase of the carrier has not be known at the receiver we talk about non-coherent demodulation.
u_m=(m*(a(2)+2*a(3)*u_DC))/(2*a(3));
convert_model(file2sim); % create HTML-version of simulinkfile
disp(get_link('-> create AM in Simulink (version 1)',file2sim));
[TX_signal,carrier,MOD_signal,RX_signal,t]=sim_model(file2sim);
disp('AM in Simulink - results of incoherent version');
plot_MOD(t,TX_signal,carrier,MOD_signal,RX_signal)
disp(['modulation index (measured) m= ',num2str(round((D-d)/(D+d),1),2)]);
end
AM in Simulink - results of incoherent version
modulation index (measured) m= 0.7
pic_file=strcat(file2sim,pic_ext,'.jpg');
if exist(pic_file,'file')
disp('AM in Simulink - block diagram of incoherent version ');
end
AM in Simulink - block diagram of incoherent version
Version 2: Ring Modulator
A ring modulator is a device, that multiplies two sinusoidal signals or signals of other waveforms. This function can be used for modulation and demodulation. Since the phase of the carrier has to be known at the receiver denoted by coherent demodulation. Typically an electronic device named PLL (Phase Locked Loop) is used to synchronize the receiver´s local oscillator. Synchronisation is not simple and will not be discussed here.
convert_model(file2sim); % create HTML-version of simulinkfile
disp(get_link('-> create AM in Simulink (version 2)',file2sim));
[TX_signal,carrier,MOD_signal,RX_signal,t]=sim_model(file2sim);
disp('AM in Simulink - results of coherent version');
plot_MOD(t,TX_signal,carrier,MOD_signal,RX_signal)
end
AM in Simulink - results of coherent version
pic_file=strcat(file2sim,pic_ext,'.jpg');
if exist(pic_file,'file')
disp('AM in Simulink - block diagram of coherent version ');
end
AM in Simulink - block diagram of coherent version
Links