Need to shift a PWM signal (square wave) in simulink
50 views (last 30 days)
Show older comments
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
0 Comments
Answers (1)
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:
0 Comments
See Also
Categories
Find more on Variable Initialization in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!