Clear Filters
Clear Filters

Need to shift a PWM signal (square wave) in simulink

35 views (last 30 days)
Hi,
I have a system where I have three PWM signals that I need at 0 degrees, 120 and 240, I have attempted several methods without any success. I've seen similar systems use the transport delay block but when I use this it distorts the signal. Additionally the discrete variable time delay has made the system very slow when using it to the point that my simulation won't run. Is there another option?
Thanks for any help

Answers (1)

Suman Sahu
Suman Sahu on 21 Aug 2023
Hi Thomas,
You have three PWM signals and you want to phase shift the signals by 0, 120 and 240 degrees respectively. You have tried using the ‘Transport Delay’ block and the ‘Discrete Variable Time Delay’ blocks. Since the ‘Discrete Variable Time Delay’ block has made the system slow, you can try increasing the sample time or reducing the delay time to achieve a better balance between accuracy and simulation speed. Additionally, you can try experimenting with different solvers to improve the simulation speed.
You can try using the ‘Propagation Delay’ block. The first input to the block is the signal to be delayed or phase shifted, and the second input is the delay signal where you can pass the delay time (in seconds) through a constant block. The delay time corresponding to the phase shift in degrees can be calculated based on the time period of your signals.
Please refer to the following documentations to learn more about the ‘Propagation Delay’ block:

Categories

Find more on Variable Initialization in Help Center and File Exchange

Products


Release

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!