Provide Duty Signal delay
1 view (last 30 days)
Show older comments
Muhammad Hammad Uddin
on 26 Aug 2019
Commented: Renato SL
on 29 Aug 2019
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 Comments
Accepted Answer
Renato SL
on 27 Aug 2019
I would do something like this (.slx file is attached).
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 Comments
More Answers (2)
Muhammad Hammad Uddin
on 27 Aug 2019
3 Comments
Renato SL
on 28 Aug 2019
Edited: Renato SL
on 28 Aug 2019
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
on 28 Aug 2019
2 Comments
sasikanth chandana
on 29 Aug 2019
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
on 29 Aug 2019
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.
Communities
More Answers in the Power Electronics Control
See Also
Categories
Find more on General Applications 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!