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

677 Ansichten (letzte 30 Tage)
Alessio Conte
Alessio Conte am 4 Mai 2018
Kommentiert: Guy Rouleau am 23 Aug. 2024
How can I create an impulse (delta) signal in Simulink? I looked for it in "Sources" library but there is not.

Akzeptierte Antwort

Mark Lin
Mark Lin am 27 Mär. 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 Kommentare
Fangjun Jiang
Fangjun Jiang am 29 Mär. 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 am 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?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (5)

Chul-Goo Kang
Chul-Goo Kang am 28 Dez. 2019
Use step input and multiply s in the transfer function of the next block.
  2 Kommentare
Henry Davies
Henry Davies am 30 Mär. 2020
Can you please explain what you mean by this?

Melden Sie sich an, um zu kommentieren.


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

Melden Sie sich an, um zu kommentieren.


Alessio Conte
Alessio Conte am 29 Mär. 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 am 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 am 23 Aug. 2024

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by