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

445 visualizzazioni (ultimi 30 giorni)
How can I create an impulse (delta) signal in Simulink? I looked for it in "Sources" library but there is not.

Risposta accettata

Mark Lin
Mark Lin il 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 Commenti
Fangjun Jiang
Fangjun Jiang il 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 il 12 Giu 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?

Accedi per commentare.

Più risposte (6)

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

Fangjun Jiang
Fangjun Jiang il 4 Mag 2018
Modificato: Fangjun Jiang il 4 Mag 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 Commenti
Alessio Conte
Alessio Conte il 5 Mag 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 il 7 Mag 2018
That is correct. When Ts->0, the pulse becomes the theoretical delta (the impulse).

Accedi per commentare.


Alessio Conte
Alessio Conte il 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 il 14 Giu 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 il 23 Ago 2024

Khadidja
Khadidja il 21 Ott 2025 alle 9:25

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by