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

617 次查看(过去 30 天)
How can I create an impulse (delta) signal in Simulink? I looked for it in "Sources" library but there is not.

采纳的回答

Mark Lin
Mark Lin 2019-3-27
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 个评论
Fangjun Jiang
Fangjun Jiang 2019-3-29
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
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?

请先登录,再进行评论。

更多回答(5 个)

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

Fangjun Jiang
Fangjun Jiang 2018-5-4
编辑:Fangjun Jiang 2018-5-4
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 个评论
Alessio Conte
Alessio Conte 2018-5-5
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 2018-5-7
That is correct. When Ts->0, the pulse becomes the theoretical delta (the impulse).

请先登录,再进行评论。


Alessio Conte
Alessio Conte 2019-3-29
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 2024-6-14
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 2024-8-23

类别

Help CenterFile Exchange 中查找有关 Sources 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by