0
0
SimulinkHow-ToBeginner · 4 min read

How to Simulate PWM in Simulink: Step-by-Step Guide

To simulate PWM in Simulink, use a Pulse Generator block to create a carrier signal and a Compare To Constant block to compare it with a modulating signal. This setup generates a PWM waveform by switching the output on and off based on the comparison.
📐

Syntax

Simulating PWM in Simulink involves these main blocks:

  • Pulse Generator: Creates a periodic square wave (carrier signal).
  • Compare To Constant: Compares the modulating signal with the carrier to produce PWM.
  • Modulating Signal: The input signal that controls the pulse width.

The PWM output is high when the modulating signal is greater than the carrier signal.

text
Pulse Generator (frequency, duty cycle) --> Compare To Constant (threshold) --> PWM Output
💻

Example

This example shows how to create a simple PWM signal in Simulink:

  • Use a Pulse Generator block set to 1 kHz frequency and 50% duty cycle as the carrier.
  • Use a Sine Wave block as the modulating signal.
  • Use a Compare To Constant block to compare the sine wave with the pulse generator output.
  • The output of the comparison is the PWM signal.
text
1. Add a Pulse Generator block with Period = 0.001 (1 kHz), Pulse Width = 50.
2. Add a Sine Wave block with desired amplitude and frequency.
3. Add a Compare To Constant block, set Constant value to 0.
4. Connect Sine Wave output to Compare To Constant input.
5. Connect Pulse Generator output to Compare To Constant input (as second input).
6. The Compare To Constant block outputs 1 when Sine Wave > Pulse Generator, else 0.
7. Run the simulation and observe PWM output on Scope.
Output
A PWM waveform on the Scope showing pulses with widths modulated by the sine wave amplitude.
⚠️

Common Pitfalls

Common mistakes when simulating PWM in Simulink include:

  • Using incompatible signal types (e.g., mixing boolean and double signals without conversion).
  • Incorrect block parameters like wrong pulse width or frequency in the Pulse Generator.
  • Not properly connecting the modulating signal and carrier signal to the comparison block.
  • Forgetting to set the Compare To Constant block threshold correctly.

Always verify signal ranges and block settings before running the simulation.

text
Wrong way:
- Using Pulse Generator output directly as PWM without comparison.
Right way:
- Use Compare To Constant block to compare modulating signal and carrier signal to generate PWM.
📊

Quick Reference

Summary tips for PWM simulation in Simulink:

  • Use Pulse Generator for carrier wave.
  • Use Sine Wave or any signal as modulator.
  • Use Compare To Constant block to generate PWM output.
  • Check signal data types and ranges.
  • Use Scope block to visualize PWM waveform.

Key Takeaways

Use a Pulse Generator block as the carrier signal for PWM simulation.
Compare the modulating signal with the carrier using Compare To Constant block to create PWM.
Ensure signal types and block parameters are compatible to avoid simulation errors.
Visualize the PWM output with a Scope block to verify pulse width modulation.
Adjust carrier frequency and modulating signal to control PWM characteristics.