Provide automatic delays to a signal

2 views (last 30 days)
My question which i am having trouble with is . I have attached one drawing here to explain my point. What i need to have delay in a pulse signal. However, the problem is that the delay is not a fixed value. It can be changed by any controller let say one time the delay is 10 and suddenly it become 15 or 12 or any value.
what i need to have is any function or block which can handle the delay of the value which are randomly generated. I have no previous knowledge of incoming delay say the value of 'a' in the drawing. a can be one time 10 or 12 0r 20 anything. The signal keep its delay until new delay comes.
My question is can we have something like this in simulink or please someone help me in it?

Accepted Answer

Jonas
Jonas on 29 Aug 2019
Edited: Jonas on 29 Aug 2019
  • Use a Delay block
  • Set it to receive the delay length from an Inport
  • Feed your variable delay time through a triggered subsystem and trigger it when you change your variable delay time
  • Feed the output of the triggered subsystem inside the delay block as the delay length
The Delay block will now have a variable delay, but will only change the delay length when it changes due to the triggered subsystem.
  2 Comments
Muhammad Hammad Uddin
Muhammad Hammad Uddin on 2 Oct 2019
Thanks for reply. The problem is delay block does not take the non integer value. My delay is 0.6/50000. The delay block denies it. Do you know any delay block can work with non integer value in discrete mode
Jonas
Jonas on 3 Oct 2019
You need to decrease your sample time such that your desired delay becomes an integer value.

Sign in to comment.

More Answers (1)

Renato SL
Renato SL on 29 Aug 2019
I think what you need to look at is the Variable Integer Delay block (documentation here).
I have a simple example so that you can see how it works (slx file attached).
  2 Comments
Muhammad Hammad Uddin
Muhammad Hammad Uddin on 29 Aug 2019
Hello Renato SL:
Thanks for being so conssitenet with my question. I appreciate your time and assistance. I tried your said system , what ever the peak of the random number generated, is the delay to the signal. I will try this into my system. I was thinking is there any block other than integer like any decimal value etc.

Sign in to comment.

Communities

More Answers in the  Power Electronics Control

Community Treasure Hunt

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

Start Hunting!