Hello guys,
I want to have a voltage dips simulation on matlab (code and simulink if possible), so a voltage dip is the diminution of the supply voltage in a specific time, that means I want to have an amplitude signal of 220 V, then in a given period goes down to 70% of 220 V which means 154 V, then goes up again... etc
Thank you for your answer.

1 件のコメント

Jon
Jon 2022 年 5 月 23 日
So you just want a square wave with a fixed period that switches between 220V and 154V?

サインインしてコメントする。

 採用された回答

Walter Roberson
Walter Roberson 2022 年 5 月 24 日

0 投票

square() is -1 to +1. you multiply by 0.7 and add 0.3 so you get a range of -0.4 to +1. You multiply your signal by that, but the parts that are negative reflect your signal with a sharp kink.
If you multiplied by 0.3 and added 0.7 then the range would be 0.4 to +1

2 件のコメント

Walter Roberson
Walter Roberson 2022 年 5 月 24 日
Don't use square(). Use
1 - 0.3*(START1<=t&t<=STOP1 | START2<=t&t<=STOP2)
and so on.
But it depends what should happen if you have two overlapping pulses. The above code would merge the ranges, only one dip. There are other very reasonable situations in which you would want to either sum the drops (30%+30% => 0.4) or multiply (.7*.7 => 0.49)
Walter Roberson
Walter Roberson 2022 年 5 月 25 日
The square() function goes negative. You need to adjust the range
0.85 + square(Frequency)*0.15

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeMATLAB Support Package for Arduino Hardware についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by