Amplitude Modulation based on Depth of Modulation(Modulation Factor) using GNU Octave
Last Updated :
17 Feb, 2021
Modulation in communication systems is a widely used process in which characteristics like amplitude, frequency, or phase angle of a high-frequency carrier wave is varied according to the instantaneous value of the low-frequency message signal.
Amplitude modulation is a modulation technique utilized in electronic communication, most ordinarily for transmitting data by means of a carrier wave. In amplitude modulation, the amplitude that is the signal quality of the carrier wave differs with respect to that of the message signal being transmitted.
There are mainly three types of modulation techniques: Amplitude Modulation, Frequency Modulation, and Phase Modulation.
In this article, we are going to discuss how to generate the Amplitude Modulated waveforms using GNU Octave.
GNU Octave is an open-source software that supports high-level programming language. It is similar to MATLAB in terms of writing the program/code for performing various mathematical operations or plots. You can learn how to perform basic operations on Octave from here.
Amplitude modulation of a sine wave can be generated using Octave with the following programs:
Assigning all the required parameters:
MATLAB
t = 0:0.001:1
fm = 10
fc = 100
|
Program to visualize the Modulating Signal:
MATLAB
input_signal = sin(2 * pi * fm * t)
plot(input_signal, 'k' )
xlabel( 'Time' )
ylabel( 'Amplitude' )
title( 'Input or Modulating Signal' )
|
Output:
Program to visualize the Carrier Signal:
MATLAB
carrier_signal = sin(2 * pi * fc *t)
plot(carrier_signal, 'r' )
xlabel( 'Time' )
ylabel( 'Amplitude' )
title( 'Carrier Signal' )
|
Output:
There are three different cases of Amplitude Modulation depending upon the value of modulation factor also known as depth of modulation (m). The modulation factor can be defined as the ratio of the difference between the maximum and minimum amplitudes of the modulated signal to the sum of these amplitudes.
MATLAB
m = 0.5
under_modulated_signal = (1 + m * sin(2 * pi * fm *t)) .* sin(2 * pi * fc * t)
plot(under_modulated_signal, 'b' )
xlabel( 'Time' )
ylabel( 'Amplitude' )
title( 'Under Modulated Output Signal (m < 1)' )
|
Output:
- Critical or Full Modulation (m = 1)
MATLAB
m = 1.0
fully_modulated_signal = (1 + m * sin(2 * pi * fm *t)) .* sin(2 * pi * fc * t)
plot(fully_modulated_signal, 'b' )
xlabel( 'Time' )
ylabel( 'Amplitude' )
title( 'Critically Modulated Output Signal (m = 1)' )
|
Output:
MATLAB
m = 1.5
over_modulated_signal = (1 + m * sin(2 * pi * fm *t)) .* sin(2 * pi * fc * t)
plot(over_modulated_signal, 'b' )
xlabel( 'Time' )
ylabel( 'Amplitude' )
title( 'Over Modulated Output Signal (m > 1)' )
|
Output:
If you want to implement Amplitude Modulation using MATLAB, then please take guidance from here.
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...