How can I create an impulse (delta) signal in Simulink?

645 views (last 30 days)
How can I create an impulse (delta) signal in Simulink? I looked for it in "Sources" library but there is not.

Accepted Answer

Mark Lin
Mark Lin on 27 Mar 2019
Hi Alessio,
Use a step response block and linked it to a derivative block can create a delta, impulse, signal.
All you need to do is making sure the response time in your system.
Hope it help.
  3 Comments
Fangjun Jiang
Fangjun Jiang on 29 Mar 2019
Alessio Conte, what is your purpose of needing a pulse in Simulink?
The derivative of a step signal is the impulse signal. But that is only theoritical. Doing that in Simulink, the outcome depends on the sample time.
Jimmy Sølvsteen Nielsen
Jimmy Sølvsteen Nielsen on 12 Jun 2020
I could see several uses for a pulse function in Simulink. For example adding a defined amount of chemical into a mixing tank volume instantaneously, and having delayed mixing in the tank. calculating output concentration is a common chemical enginering task.
I get that takting the derivative of the step function will depend on the sample time, and I wonder why the Dirac function is not available in the Simulink function library?

Sign in to comment.

More Answers (5)

Chul-Goo Kang
Chul-Goo Kang on 28 Dec 2019
Use step input and multiply s in the transfer function of the next block.

Fangjun Jiang
Fangjun Jiang on 4 May 2018
Edited: Fangjun Jiang on 4 May 2018
From the note of impulse():
Note: In discrete time, impulse computes the response to a unit-area pulse of length Ts and height 1/Ts where Ts is the sample time. This pulse approaches the continuous-time Dirac impulse delta(t) as Ts goes to zero.
So you will construct a pulse of width as Ts and height as 1/Ts.
  2 Comments
Alessio Conte
Alessio Conte on 5 May 2018
Hi, thanks for your answer. Not sure to have understood... do you mean that a rectangular signal whose base is Ts and height is 1/Ts is the equivalent of a delta impulse signal? I attach an image of what i mean
Fangjun Jiang
Fangjun Jiang on 7 May 2018
That is correct. When Ts->0, the pulse becomes the theoretical delta (the impulse).

Sign in to comment.


Alessio Conte
Alessio Conte on 29 Mar 2019
Yes you're right actually...I was just curious of doing what we have seen in classe but actually doesn't make sense.
Thanks!

Hiromasa
Hiromasa on 14 Jun 2024
Thank you for your question.
One way to create an impulse signal is to use Hit Crossing block. (https://www.mathworks.com/help/simulink/slref/hitcrossing.html)
As shown below, Hit Crossing outputs an impulse signal of magnitue 1. The gain block after the Hit Crossing amplifies the signal by the factor of 1/t where t is a discrete time step for the system.
Hope this information helps.

Guy Rouleau
Guy Rouleau on 23 Aug 2024

Tags

Community Treasure Hunt

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

Start Hunting!