Bird
Raised Fist0
Simulinkdata~10 mins

PWM generation in Simulink - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - PWM generation in Simulink
Set Reference Signal
↓
Set Carrier Signal (Triangle Wave)
↓
Compare Reference and Carrier
↓
Generate PWM Output
↓
Output PWM Signal
PWM generation compares a reference signal with a carrier wave to create a pulse-width modulated output.
Execution Sample
Simulink
Reference = 0.6;
Carrier = (sawtooth(2*pi*1000*t, 0.5) + 1)/2;
PWM = Reference > Carrier;
This code compares a constant reference with a triangle wave carrier to produce a PWM signal.
Execution Table
StepTime (ms)Reference ValueCarrier ValueCondition (Reference > Carrier)PWM Output
10.00.60.0True1
20.10.60.3True1
30.20.60.7False0
40.30.61.0False0
50.40.60.7False0
60.50.60.0True1
70.60.60.3True1
80.70.60.7False0
90.80.61.0False0
100.90.60.7False0
111.00.60.0True1
💡 Simulation ends at 1.0 ms, completing one full carrier wave cycle.
Variable Tracker
VariableStartAfter 1After 2After 3After 4After 5After 6After 7After 8After 9After 10Final
Reference0.60.60.60.60.60.60.60.60.60.60.60.6
Carrier0.00.30.71.00.70.00.30.71.00.70.00.0
PWM Output110001100011
Key Moments - 2 Insights
Why does the PWM output switch from 1 to 0 when the carrier value exceeds the reference?
Because the PWM output is 1 only when the reference is greater than the carrier (see execution_table rows 2 and 3). When carrier > reference, condition is false, so output is 0.
Why does the PWM output repeat its pattern every 1 ms?
The carrier is a triangle wave with a 1 kHz frequency, so it completes a cycle every 1 ms, causing the PWM pattern to repeat (see execution_table time column).
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table at step 4. What is the PWM output and why?
A0, because carrier equals 1.0 which is greater than reference
B1, because reference is greater than carrier
C1, because carrier is less than reference
D0, because reference is zero
💡 Hint
Check the 'Condition' and 'PWM Output' columns at step 4 in the execution_table.
At which time does the PWM output first become 0?
A0.1 ms
B0.2 ms
C0.0 ms
D0.5 ms
💡 Hint
Look at the 'PWM Output' column in execution_table and find the first 0.
If the reference value increased to 0.8, how would the PWM output change at 0.7 ms?
APWM output would be 0 because carrier is 1.0
BPWM output would be 0 because 0.8 < 0.7
CPWM output would be 1 because 0.8 > 0.7
DPWM output would be 1 because carrier is 0.3
💡 Hint
Compare new reference 0.8 with carrier at 0.7 ms from execution_table.
Concept Snapshot
PWM generation in Simulink:
- Use a reference signal and a carrier triangle wave.
- Compare reference > carrier at each time step.
- Output 1 if true, else 0.
- PWM duty cycle depends on reference level.
- Carrier frequency sets PWM frequency.
Full Transcript
PWM generation in Simulink works by comparing a reference signal with a carrier triangle wave. At each time step, if the reference is greater than the carrier, the PWM output is 1; otherwise, it is 0. This creates a pulse-width modulated signal where the width of the pulses depends on the reference value. The carrier wave frequency determines how often the PWM signal repeats. For example, with a 1 kHz carrier, the PWM pattern repeats every 1 millisecond. This method is visualized step-by-step by tracking the reference, carrier, condition, and PWM output values over time.

Practice

(1/5)
1. What does PWM stand for in Simulink and what is its main purpose?
easy
A. Pulse Wave Measurement; it measures signal frequency.
B. Power Width Management; it manages battery power levels.
C. Pulse Width Modulation; it controls power by switching signals ON and OFF quickly.
D. Pulse Width Memory; it stores signal data.

Solution

  1. Step 1: Understand PWM meaning

    PWM stands for Pulse Width Modulation, a method to control power by changing signal ON/OFF times.
  2. Step 2: Identify PWM purpose in Simulink

    In Simulink, PWM controls power by switching signals ON and OFF quickly to adjust power delivery.
  3. Final Answer:

    Pulse Width Modulation; it controls power by switching signals ON and OFF quickly. -> Option C
  4. Quick Check:

    PWM = Pulse Width Modulation controlling power [OK]
Hint: PWM controls power by fast ON/OFF switching [OK]
Common Mistakes:
  • Confusing PWM with measuring signals
  • Thinking PWM stores data
  • Mixing PWM with battery management
2. Which Simulink block is commonly used to generate PWM signals?
easy
A. Pulse Generator block
B. Gain block
C. Integrator block
D. Scope block

Solution

  1. Step 1: Recall Simulink blocks for PWM

    The Pulse Generator block is designed to create pulses with adjustable width and frequency.
  2. Step 2: Match block to PWM function

    Since PWM requires pulses with specific widths, the Pulse Generator block is the correct choice.
  3. Final Answer:

    Pulse Generator block -> Option A
  4. Quick Check:

    Pulse Generator block creates PWM pulses [OK]
Hint: Pulse Generator creates PWM signals in Simulink [OK]
Common Mistakes:
  • Choosing Gain block which scales signals
  • Selecting Integrator block which sums signals
  • Picking Scope block which only displays signals
3. Given a Pulse Generator block with Amplitude=5, Period=10, Pulse Width=30%, what is the ON time duration of the PWM signal?
medium
A. 3 seconds
B. 5 seconds
C. 7 seconds
D. 10 seconds

Solution

  1. Step 1: Calculate ON time from pulse width and period

    ON time = Pulse Width (%) x Period = 30% x 10 = 0.3 x 10 = 3 seconds.
  2. Step 2: Confirm units and values

    Period is in seconds, so ON time is 3 seconds.
  3. Final Answer:

    3 seconds -> Option A
  4. Quick Check:

    ON time = 30% x 10 = 3 seconds [OK]
Hint: ON time = pulse width % x period [OK]
Common Mistakes:
  • Using amplitude instead of period for calculation
  • Confusing pulse width percentage with time
  • Calculating OFF time instead of ON time
4. You set the Pulse Generator block with Pulse Width = 110%. What will happen during simulation?
medium
A. The block will generate an error and stop simulation.
B. The block will generate a continuous ON signal (always high).
C. The block will generate a continuous OFF signal (always low).
D. The block will ignore the pulse width and use default 50%.

Solution

  1. Step 1: Understand pulse width limits

    Pulse Width should be between 0% and 100%. Values above 100% mean the signal is ON all the time.
  2. Step 2: Predict simulation behavior

    With 110%, the block treats it as always ON, so the output stays high continuously.
  3. Final Answer:

    The block will generate a continuous ON signal (always high). -> Option B
  4. Quick Check:

    Pulse Width > 100% means always ON [OK]
Hint: Pulse Width >100% means signal always ON [OK]
Common Mistakes:
  • Expecting simulation error for >100% pulse width
  • Thinking signal stays OFF
  • Assuming default pulse width is used
5. You want to simulate a PWM signal that controls a motor speed with a frequency of 50 Hz and a duty cycle of 40%. How do you set the Pulse Generator block parameters in Simulink?
hard
A. Set Period = 0.02 seconds, Pulse Width = 50%, Amplitude = motor voltage level
B. Set Period = 50 seconds, Pulse Width = 40%, Amplitude = motor voltage level
C. Set Period = 0.04 seconds, Pulse Width = 40%, Amplitude = motor voltage level
D. Set Period = 0.02 seconds, Pulse Width = 40%, Amplitude = motor voltage level

Solution

  1. Step 1: Calculate period from frequency

    Period = 1 / Frequency = 1 / 50 = 0.02 seconds.
  2. Step 2: Set pulse width and amplitude

    Duty cycle is 40%, so Pulse Width = 40%. Amplitude should match motor voltage level to control speed.
  3. Final Answer:

    Set Period = 0.02 seconds, Pulse Width = 40%, Amplitude = motor voltage level -> Option D
  4. Quick Check:

    Period = 1/50 = 0.02s, Pulse Width = 40% [OK]
Hint: Period = 1/frequency; set pulse width as duty cycle % [OK]
Common Mistakes:
  • Using period equal to frequency value
  • Setting wrong pulse width different from duty cycle
  • Confusing period units (seconds vs milliseconds)
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