Bird
Raised Fist0
Signal Processingdata~10 mins

Modulation concept (AM, FM, PM) in Signal Processing - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Modulation concept (AM, FM, PM)
Input Signal (Message)
↓
Choose Modulation Type
↓
AM
↓
Modulated Signal Output
↓
Transmission or Storage
The input message signal is taken and a modulation type is chosen (AM, FM, or PM). Each modulation changes the carrier wave differently to produce the modulated output signal.
Execution Sample
Signal Processing
carrier = cos(2*pi*fc*t)
message = sin(2*pi*fm*t)
# AM modulation
am_signal = (1 + message) * carrier
# FM modulation
fm_signal = cos(2*pi*fc*t + beta * message)
# PM modulation
pm_signal = cos(2*pi*fc*t + k * message)
This code shows how a message signal modulates a carrier wave using AM, FM, and PM methods.
Execution Table
StepVariableValue at t=0.1sCalculationResult
1carriercos(2*pi*1000*0.1)cos(628.32)1.0
2messagesin(2*pi*10*0.1)sin(6.2832)0.0
3am_signal(1 + 0.0) * 1.01 * 1.01.0
4fm_signalcos(2*pi*1000*0.1 + 5 * 0.0)cos(628.32 + 0)1.0
5pm_signalcos(2*pi*1000*0.1 + 3 * 0.0)cos(628.32 + 0)1.0
6messagesin(2*pi*10*0.11)sin(6.9115)0.5878
7am_signal(1 + 0.5878) * cos(2*pi*1000*0.11)1.5878 * cos(691.15)-1.57
8fm_signalcos(2*pi*1000*0.11 + 5 * 0.5878)cos(691.15 + 2.939)-0.99
9pm_signalcos(2*pi*1000*0.11 + 3 * 0.5878)cos(691.15 + 1.763)-0.68
10Exitt > 0.11sEnd of sample stepsStop
💡 Sample steps end after t=0.11s to show modulation values at two time points.
Variable Tracker
Variablet=0.1st=0.11s
carrier1.0-0.9877
message0.00.5878
am_signal1.0-1.57
fm_signal1.0-0.99
pm_signal1.0-0.68
Key Moments - 3 Insights
Why does the AM signal amplitude change but the carrier frequency stay the same?
In the execution_table rows 3 and 7, the AM signal is calculated by multiplying the carrier by (1 + message). This changes the amplitude but the carrier frequency (cosine argument) remains unchanged.
How does FM modulation change the carrier wave compared to AM?
Rows 4 and 8 show FM signal where the carrier frequency is changed by adding a term proportional to the message inside the cosine argument, shifting the phase and frequency.
What is the difference between FM and PM in how the message affects the carrier?
Rows 8 and 9 show FM adds message multiplied by beta inside the cosine argument as a phase shift proportional to message amplitude, while PM adds message multiplied by k as a direct phase shift. Both affect phase but differently scaled.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table at step 7. What is the value of am_signal at t=0.11s?
A0.5878
B1.57
C-1.57
D-0.9877
💡 Hint
Check the 'Result' column for step 7 in the execution_table.
At which step does the message signal first become non-zero?
AStep 2
BStep 6
CStep 3
DStep 8
💡 Hint
Look at the 'message' variable values in execution_table rows 2 and 6.
If the modulation index beta in FM is increased, how would fm_signal at step 8 change?
AIts phase shift would increase, changing the cosine value
BIt would stay the same
CAmplitude would increase
DMessage signal would become zero
💡 Hint
Refer to the FM signal formula in execution_sample and step 8 calculations.
Concept Snapshot
Modulation changes a carrier wave to carry information.
AM changes amplitude: am_signal = (1 + message) * carrier.
FM changes frequency by phase shift: fm_signal = cos(2πfc t + β * message).
PM changes phase directly: pm_signal = cos(2πfc t + k * message).
Each method encodes message differently for transmission.
Full Transcript
Modulation takes a message signal and changes a carrier wave to send information. Amplitude Modulation (AM) changes the carrier's amplitude based on the message. Frequency Modulation (FM) changes the carrier's frequency by shifting its phase according to the message. Phase Modulation (PM) changes the carrier's phase directly based on the message. The execution table shows values of carrier, message, and modulated signals at two time points, illustrating how each modulation method alters the carrier wave differently. Beginners often wonder why AM changes amplitude but not frequency, and how FM and PM differ in phase changes. The quiz questions help reinforce understanding by referencing these execution steps.

Practice

(1/5)
1. Which type of modulation changes the amplitude of the carrier wave to transmit information?
easy
A. Frequency Modulation (FM)
B. Amplitude Modulation (AM)
C. Phase Modulation (PM)
D. Pulse Modulation

Solution

  1. Step 1: Understand modulation types

    Amplitude Modulation (AM) changes the amplitude of the carrier wave to carry information.
  2. Step 2: Compare with other modulation types

    Frequency Modulation changes frequency, Phase Modulation changes phase, so they are not correct here.
  3. Final Answer:

    Amplitude Modulation (AM) -> Option B
  4. Quick Check:

    Amplitude change = AM [OK]
Hint: Amplitude change means AM modulation [OK]
Common Mistakes:
  • Confusing amplitude change with frequency or phase
  • Choosing FM or PM instead of AM
  • Thinking pulse modulation is amplitude modulation
2. Which of the following is the correct way to represent Frequency Modulation (FM) mathematically for a carrier wave c(t) = A_c cos(2πf_c t) with message signal m(t)?
easy
A. s(t) = A_c cos(2πf_c t + k_f m(t))
B. s(t) = A_c (1 + k_a m(t)) cos(2πf_c t)
C. s(t) = A_c cos(2π(f_c + k_f m(t)) t)
D. s(t) = A_c cos(2πf_c t) + m(t)

Solution

  1. Step 1: Recall FM formula

    Frequency Modulation changes the frequency of the carrier. The instantaneous frequency is f_c + k_f m(t).
  2. Step 2: Match formula to options

    s(t) = A_c cos(2π(f_c + k_f m(t)) t) shows s(t) = A_c cos(2π(f_c + k_f m(t)) t), which correctly represents FM.
  3. Final Answer:

    s(t) = A_c cos(2π(f_c + k_f m(t)) t) -> Option C
  4. Quick Check:

    Frequency inside cosine = FM [OK]
Hint: FM changes frequency inside cosine argument [OK]
Common Mistakes:
  • Choosing amplitude modulation formula instead
  • Ignoring the time variable in frequency term
  • Adding message signal outside cosine
3. Given the Python code below simulating a simple AM signal, what will be the output array values?
import numpy as np

A_c = 1
k_a = 0.5
f_c = 5
fs = 50
t = np.arange(0, 1, 1/fs)
m_t = np.sin(2 * np.pi * 1 * t)
s_t = A_c * (1 + k_a * m_t) * np.cos(2 * np.pi * f_c * t)
print(np.round(s_t[:5], 3))
medium
A. [1.0, 0.309, -0.809, -1.191, -0.691]
B. [1.0, 0.809, -0.309, -1.191, -0.691]
C. [1.0, 0.309, 0.809, 1.191, 0.691]
D. [0.0, 0.309, -0.809, -1.191, -0.691]

Solution

  1. Step 1: Calculate message and carrier values

    Message m_t is a 1 Hz sine wave sampled at 50 Hz. Carrier frequency is 5 Hz. Calculate first 5 samples of s_t using AM formula.
  2. Step 2: Compute first 5 samples

    Using formula: s_t = 1 * (1 + 0.5 * m_t) * cos(2π * 5 * t), the first 5 rounded values are approximately [1.0, 0.309, -0.809, -1.191, -0.691].
  3. Final Answer:

    [1.0, 0.309, -0.809, -1.191, -0.691] -> Option A
  4. Quick Check:

    AM signal first samples = [1.0, 0.309, -0.809, -1.191, -0.691] [OK]
Hint: AM output = carrier * (1 + k_a * message) [OK]
Common Mistakes:
  • Mixing up frequency and amplitude terms
  • Not rounding values correctly
  • Using wrong sampling frequency
4. The following code attempts to generate a Phase Modulated (PM) signal but has an error. What is the error?
import numpy as np

A_c = 1
k_p = 0.5
f_c = 10
fs = 100

t = np.arange(0, 1, 1/fs)
m_t = np.sin(2 * np.pi * 2 * t)
s_t = A_c * np.cos(2 * np.pi * f_c * t + k_p * np.sin(m_t))
print(np.round(s_t[:5], 3))
medium
A. The time vector t is incorrectly defined
B. The carrier frequency f_c is too high for sampling frequency fs
C. The amplitude A_c should be multiplied inside the cosine argument
D. The modulation term should be k_p * m_t, not k_p * np.sin(m_t)

Solution

  1. Step 1: Analyze modulation term in PM formula

    Phase modulation uses k_p * m_t inside the cosine argument, not k_p * np.sin(m_t).
  2. Step 2: Identify the error in code

    The code incorrectly applies np.sin(m_t) instead of directly using m_t as the phase modulation signal.
  3. Final Answer:

    The modulation term should be k_p * m_t, not k_p * np.sin(m_t) -> Option D
  4. Quick Check:

    PM uses message signal directly in phase [OK]
Hint: PM uses message signal directly inside cosine phase [OK]
Common Mistakes:
  • Applying sine twice on message signal
  • Confusing amplitude with phase modulation
  • Incorrect time vector or sampling frequency
5. You want to transmit a message signal m(t) that has sudden jumps (discontinuities). Which modulation technique among AM, FM, and PM is best to minimize distortion caused by these jumps, and why?
hard
A. FM, because frequency changes are less affected by amplitude noise
B. PM, because phase changes handle discontinuities smoothly
C. AM, because amplitude changes are less sensitive to sudden jumps
D. None, all modulation types distort sudden jumps equally

Solution

  1. Step 1: Understand effect of sudden jumps on modulation

    Sudden jumps cause rapid changes in signal. AM changes amplitude, which is sensitive to noise and distortion.
  2. Step 2: Compare FM and PM for handling jumps

    FM changes frequency, which is more robust to amplitude noise and sudden jumps than AM. PM also changes phase but can be more sensitive to rapid phase shifts.
  3. Final Answer:

    FM, because frequency changes are less affected by amplitude noise -> Option A
  4. Quick Check:

    FM resists distortion from sudden jumps [OK]
Hint: FM resists noise and sudden jumps better than AM or PM [OK]
Common Mistakes:
  • Choosing AM thinking amplitude is always best
  • Assuming PM handles jumps better than FM
  • Ignoring noise sensitivity differences
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard