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

 Accepted Answer

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

Wow thanks, It looks great! I Will try
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.
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 (6)

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

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
That is correct. When Ts->0, the pulse becomes the theoretical delta (the impulse).

Sign in to comment.

Yes you're right actually...I was just curious of doing what we have seen in classe but actually doesn't make sense.
Thanks!
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.

Tags

Asked:

on 4 May 2018

Answered:

on 21 Oct 2025

Community Treasure Hunt

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

Start Hunting!