How can I hold an impulse value for a given time period using Simulink?

4 views (last 30 days)
Hi
I am doing some research using Simulink, and want to hold an impulse value for a given time period.
For example, if the input is an impulse at t = 10, that is,
x(t) = 1 (10 <= t <= 10.02), 0 (elsewhere),
then my desired output is the following:
y(t) = 1 (10 <= t <= 15), 0 (elsewhere).
In other words, I want to hold the impulse value (1) for five more seconds.
How can I do this?
Thanks in advance. :)

Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 30 Aug 2013
Use a zoh block with sample time set to 5
  2 Comments
Hancheol
Hancheol on 30 Aug 2013
Hi Azzi Thanks for your answer. ;) You're right. I tried a simulation in which I had created an impulse, added a zoh, and got a successful result. But when I try this to my situation, it does not work. In my case the impulse (input) comes from an 'edge detector' block, and I'm wondering if this affects the results...
Azzi Abdelmalek
Azzi Abdelmalek on 30 Aug 2013
I think it's not a good solution, because the zoh block will hold during 5s the first value, if it's the high value of your pulse (suppose 1), then the zoh will hold the value 1 during 5s, and if it's 0, then 0 will be hold). We should find another solution

Sign in to comment.

Categories

Find more on Event Functions 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!