Random variation in a signal in Simulink
3 次查看(过去 30 天)
显示 更早的评论
I need to solve this problem in simulink.
I want to create a signal like the one in the picture, that at instant 4 sec change from 1 to 0 in 0.3 sec and then return to 1 from 5.7 sec to 6 sec. In this case the sequence starts at instant 4 sec.
The problem is that this sequence has to be introcuced in a simulink simulation at different time instants, that occurs randomnly. I tried to utilize some triggered blocks, but without success.
Has anyone a solutions?
0 个评论
采纳的回答
Giuseppe Inghilterra
2020-2-19
Hi,
if you can use stateflow in your simulink model, following chart could be a solution:
As you can see you start from state A where yout = 1. Then if a trigger input changes to true you pass to state A1 where yout starts to decrease by 0.01/0.3 at each simulation step. When yout reaches zero you pass to A2 state. Wait for 0.4 seconds and then you pass to state A4, where yout is incremented by 0.01/0.3 at each simulation step until it reaches one. Then you come back to state A.
This cycle is activated when trigger becomes true.
For example my trigger is generated by a sine wave function as shown below:
obtaining the following result:
Note that I run simulation with fixed step solver type and 0.01 as fixed step size.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Sources 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!