![threedelay.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/235421/image.png)
Provide Duty Signal delay
1 次查看(过去 30 天)
显示 更早的评论
Hello,
I am trying to give three duty signal to a block. Such as D1+D2+D3=1. So what ever the combination of these duty is the total answer should be 1. I have used transport delay but it is not giving me accurate delay. You can see in screenshort.
My objective is to have variable duty (like it can be changed instaneously through a controller) and as soon as D1 end D2 should start which is then folled by D3=1-D1-D2
Can you please help me with this model. I am attaching model too. In screenshot the delay D3 is giving a slant which is not desireable. It should be like D1.
0 个评论
采纳的回答
Renato SL
2019-8-27
I would do something like this (.slx file is attached).
![threedelay.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/235421/image.png)
So the signals will be generated by each Pulse Generator. At each period, signal 1 will not be delayed, signal 2 will be present as signal 1 dies, and signal 3 will be present as signal 2 dies.
In the model, I put these blocks as a subsystem and put a mask over it. I hope that helps. Anyway, please check the output signal and the implementation under the mask to see if this is suitable for you.
0 个评论
更多回答(2 个)
Muhammad Hammad Uddin
2019-8-27
3 个评论
Renato SL
2019-8-28
编辑:Renato SL
2019-8-28
Previously, I was thinking of using the Stair Generator or Repeating Sequence Stair to feed values to the Pulse Generator block.
[TL;DR] : To have the duty cycles change through time, you cannot use only Pulse Generator.
I believe you need to define your own signal generator, using MATLAB Function block or Simulink Function block, that can take into account the fact that the duty cycle will change. I imagine you should take into account the simulation time and relate it to a predefined set of possible values to determine the value of duty cycle and therefore, the form of the signals.
Or use another block.
Muhammad Hammad Uddin
2019-8-28
2 个评论
sasikanth chandana
2019-8-29
As time period of input signal is constant. You can create variable delay using random generator code in MATLAB Ex: Delay range=(0,1)*T T time period of signal
(0+(1-0)*rand(1,10))*T
This will create required delay in terms of time T and feed it to transportation delay
Renato SL
2019-8-29
So to be clear (Sasikanth mentioned it above), is the period of the input signal constant ( is the duty cycle constant) and your concern is only the variable delay? Variation of duty cycle is not the issue?
I saw that you have asked it in a new question, so if I have something that might help, I will answer there.
社区
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 String 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!