- Decrease the solver step size further so that the switching transitions are captured more accurately.
- Use a different solver that better handles the rapid switching dynamics.
- Isolate the switching signal generation from the continuous simulation (for example, using dedicated discrete blocks or a Stateflow chart) so that the switching signals aren’t tied directly to the fixed-step integration.
How to remove unwanted sawtooth gating pulses for inverter
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I am using space vector modulation to generate the switching signals for a 4 level inverters and the gating pulses for devices from the controller is that. Why instead of have a correct signals, it has sawtooth like that. The solver is ode4 (runge-kutta) 2e-6 seconds. I've found that the sawtooth frequency is equal the solver (1/2e-6 seconds). Thanks for help

0 Kommentare
Akzeptierte Antwort
Jack
am 8 Mär. 2025
The sawtooth gating pulses are an artifact of using a fixed-step solver with a step size of 2e-6 seconds. Since the solver updates the state only at these discrete intervals, the gating signals generated by space vector modulation are effectively “sampled” at 1/2e-6 Hz, leading to a sawtooth appearance.
To remove these unwanted pulses, you can try one or more of the following approaches:
Follow me so you can message me anytime with future MATLAB questions. If this helps, please accept the answer as well.
2 Kommentare
Jack
am 10 Mär. 2025
The sawtooth gating pulses may be occurring because your switching signals are being generated at the integration step (2e-6 sec) rather than at your intended sampling time (1/1000 sec). Even if you change the solver, if the blocks generating the switching signals are still tied to the integration steps, you'll see that artifact.
One solution is to decouple the switching signal generation from the continuous integration. For example, you can place the space vector modulation or the switching signal generation logic into a discrete subsystem with an explicit sample time (1/1000 sec). Using a Zero-Order Hold or a Rate Transition block between the continuous and discrete portions of your model will ensure that the gating pulses are updated only at the desired interval. This way, the discrete blocks generate a stable signal based on your specified sample time, preventing the sawtooth behavior caused by the ultra-small integration step.
Follow me so you can message me anytime with future questions. If this helps, please upvote it as well.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu General Applications finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!