Envelope of a Carrier Signal in AM
Let’s go step by step and explain the envelope of a carrier signal, including the math, and how it changes when amplitude modulation (AM) is applied with different amplitudes.
1. Carrier Signal
A carrier signal is usually a high-frequency sinusoidal wave:
c(t) = A_c cos(ω_c t + φ)
Where:
- A_c = carrier amplitude
- ω_c = 2 π f_c = carrier angular frequency
- φ = phase
Graphically: it’s a pure sine wave.
2. Modulation by a Signal
Suppose you have a message signal (modulating signal) m(t) that varies in amplitude:
m(t) = [m_1, m_2, m_3, ...]
In Amplitude Modulation (AM), the carrier’s amplitude is changed according to m(t):
s(t) = [A_c + m(t)] cos(ω_c t)
- Here
s(t)is the modulated signal. - The carrier frequency remains the same (ω_c), but the amplitude follows m(t).
3. Envelope of the AM Signal
- The envelope is the curve that “wraps around” the peaks of the carrier wave.
- Mathematically, for AM:
Envelope(t) = |A_c + m(t)| - This means the max amplitude of the carrier at each instant is determined by the modulating signal.
Example with Array of Amplitudes
m(t) = [1, 2, 3, 2, 1]
A_c = 5
Envelope = [5+1, 5+2, 5+3, 5+2, 5+1] = [6, 7, 8, 7, 6]
Graphically, the carrier oscillates around zero, but its peaks follow the envelope [6,7,8,7,6].
4. Key Properties
- Envelope = amplitude of the carrier over time.
- Carrier frequency doesn’t change, only amplitude changes.
- The shape of the envelope is exactly the shape of the modulating signal m(t).
- If m(t) has multiple levels, the envelope steps according to each amplitude.
5. General Formula with Modulation Index
s(t) = A_c [1 + μ m(t)/A_m] cos(ω_c t)
μ = A_m / A_c
Envelope: Envelope = A_c |1 + μ m(t)/A_m|
6. Visual Intuition
Carrier: ~~~~~~~~ ~~~~~~~~
Modulating: /\ /\
Envelope: / \____/ \
The carrier oscillates rapidly, the envelope follows the slower message signal.
8. MATLAB Code for Modulating a Simple Array of Data with a Carrier Signal
%% Carrier and AM Signal Visualization
clc; clear; close all;
% Carrier parameters
Ac = 5; % Carrier amplitude
fc = 50; % Carrier frequency in Hz
t = 0:0.0001:0.1; % Time vector (0 to 0.1 s with 0.1 ms step)
% Modulating signal (message) - example array
m_array = [1 2 3 2 1];
% Repeat array to match length of t
m = repmat(m_array, 1, ceil(length(t)/length(m_array)));
m = m(1:length(t)); % truncate to match t
% Amplitude Modulated Signal
s = (Ac + m).*cos(2*pi*fc*t);
% Envelope of the AM signal
envelope_signal = Ac + m;
% Plotting
figure('Color','w');
hold on; grid on; box on;
plot(t, s, 'b', 'LineWidth', 1.5); % AM Signal
plot(t, envelope_signal, 'r--', 'LineWidth', 2); % Upper Envelope
plot(t, -envelope_signal, 'r--', 'LineWidth', 2); % Lower Envelope
title('Carrier Signal with AM Envelope');
xlabel('Time (s)');
ylabel('Amplitude');
legend('AM Signal','Envelope','Location','best');
Output
9. MATLAB Code for Modulating a Low-Frequency Sinusoidal Message Signal with a High-Frequency Carrier Signal
clc; clear; close all;
% Carrier parameters
Ac = 5; % Carrier amplitude
fm = 5; % Message frequency in Hz
fc = 50; % Carrier frequency in Hz
t = 0:0.0001:1; % Time vector (0 to 0.1 s with 0.1 ms step)
% Modulating signal (message) - example array
m_array = sin(2*pi*fm*t);
% Repeat array to match length of t
m = repmat(m_array, 1, ceil(length(t)/length(m_array)));
m = m(1:length(t)); % truncate to match t
% Amplitude Modulated Signal
s = (Ac + m).*cos(2*pi*fc*t);
% Envelope of the AM signal
envelope_signal = Ac + m;
% Plotting
figure('Color','w');
hold on; grid on; box on;
plot(t, s, 'b', 'LineWidth', 1.5); % AM Signal
plot(t, envelope_signal, 'r--', 'LineWidth', 2); % Upper Envelope
plot(t, -envelope_signal, 'r--', 'LineWidth', 2); % Lower Envelope
title('Carrier Signal with AM Envelope');
xlabel('Time (s)');
ylabel('Amplitude');
legend('AM Signal','Envelope','Location','best');