I am having trouble understanding the impulse response function. I have a beam of 10 m long. I place 2 sensors, one at point A and one at point B. I then excite the beam at point E (shown in picture) by tapping it with a hammer. I then repeat this on several different beams of different lengths, dimensions, materials and more. I want to tap the beam to see how the beam responds, using accelerometers at locations a and b, and see if I can estimate things about the beam (example material).

In the case of calculating impulse response, what exactly is my input? I assume it is the excitation signal, however I do not measure the excitation signal until it gets to point A (there is no sensor at point E). I therefore do not know the excitation at the source, it just be with a hammer hitting the beam. The matlab documentation uses inputs as an example, but this does not mean anything to me as I do not know my input. enter image description here Also, what does the impulse response actually tell me? How is this useful?

I am using matlagb. Gracias todos, Ben


Firstly, for a response to be classified as the response to an impulse. The input first must qualify as an impulse to the system. For ex: a quick clap could be the impulse input to measure the sound impulse response of the room.

In your case, hitting the hammer at point E must be a "good enough" impulse input for all the materials and lengths.

The issue however is complicated in this case as locations A and B are simply outputs when viewed inline with systems theory for the rope system you constructed. Therefore, the excitation at input should be an "effective impulse" at both locations A and B for you to effectively denote the response of both sensors at A and B to be the response of an impulse.

So the essential question here is to first classify what qualifies as an impulse for rope at E and the suseuqent uniformity of excitation across the length.

If the excitation at E is not uniform at A and B then you would have to define two effective impulses for your rope system. One for the response at A and other at B.

Once you know the impulse response. Then any input can be written as sum of weighted impulses and if the system is linear and time invariant then the output is simply the sum of delayed responses as below for a discrete time signal

$$ x(n) = \sum_{k=-\infty}^{k=\infty} x(k)\delta(n - k)$$

Let the impulse response to this $\delta(n)$ input be $h(n)$ then the output is simply,

$$y(n) = \sum_{k=-\infty}^{k=\infty} x(k)h(n-k)$$

This is possible both because the system is linear as well as time invariant, so if the impulse response $\delta(n)$ is $ h(n)$ then the response for $\delta(n-k)$ is $h(n-k)$


This is an example of a single input multiple output (SIMO) system. You input a single "signal", which is the hammer hitting the beam, and the sensors at A and B output two signals. I'm assuming that hitting the beam with a hammer is sufficiently close to an impulse for this to work out, but in practice you could always put a sensor directly near where you hit the hammer to quantify how close this actually is to a true impulse.

Its is common to call the impulse responses $h$, so you'd have $h_A(n)$ and $h_B(n)$ which are the impulse responses of the beam at those two locations. It is perfectly reasonable to consider these as two "systems" even though there is only a single beam. System $A$ is the beam from where the hammer hits to where sensor $A$ lies, and system $B$ is the beam from where the hammer hits to where sensor $B$ lies.

enter image description here

I'm not a materials engineer but I don't think that the outputs would simply be the impulse but shifted in time, maybe there is some smearing of the impulse over time. I am guessing that you could use different features of the impulse responses like the timing offsets tell you something about how quickly the energy travels through the beam, amplitude differences between $h_A(n)$ and $h_B(n)$ tells you how quickly the energy decays with distance, and perhaps these things could be used to calculate material density or other attributes.

The impulse response tells you the response of the system to an impulse, that is all. If the system in linear time-invariant (LTI) then the impulse response becomes more meaningful and can be used to find the output due to any input by using convolution. In your case, you'd have to reason if the beam is linear and time-invariant. I imagine for any reasonable amount of time and stable temperatures, a beam is probably time invariant. You could imagine that heating or cooling a steel beam might change the responses, in which case the system is time variant. Again, I am not a materials engineer, but if I had to guess I think a beam could be reasonably be considered LTI under the right assumptions (not a beam close to a rocket engine where there would be incredible heating over time).

  • $\begingroup$ Thank you very much for your responses. They have been very helpful. There are some points that I still confused about. I accept that I do not have the measurement at point E in order to define the impulse. Therefore, would it be useful to define the input as a synthetic signal? I am aware of the bandwidth of interest, and I could model a simple pulse wave. However, I have done the test many time son beams of different materials etc. Each of these has a different output at A and B. How do I include this in the impulse response? If possible, it would be great to get some Matlab code. Gracias $\endgroup$ – Ben1000 Apr 10 '20 at 12:57
  • $\begingroup$ You can see from the multiple answers, that there are multiple ways to define the input signal. The true impulse response would characterize the system over all frequencies, but if you only care about a subset of frequencies then you can certainly use a smaller bandwidth input signal. $\endgroup$ – Engineer Apr 10 '20 at 13:15
  • $\begingroup$ You say you've tested many other beams with different materials, each with an A and B output. I still say that each type of beam will have an A impulse response and B impulse response. I don't think combining A and B is the right thing to do, and I know that combining responses of different beams is the wrong thing to do because different beams would be considered to be different systems $\endgroup$ – Engineer Apr 10 '20 at 13:15
  • $\begingroup$ Nice answer and diagram! $\endgroup$ – Peter K. Apr 10 '20 at 14:24

To add to the other responses: if you goal is to get the impulse response the typical approach in practice is to measure the frequency response, and from that you can derive the impulse response since the impulse response is the inverse Fourier Transform of the frequency response.

The reason for this is because it is very difficult to get enough energy to the the closest thing to an implementation of an impulse in time; such as a hammer in the examples. The impulse in time is a uniform response over all frequencies in the frequency domain but in this case it is much more effective instead to sweep the input with a sine wave to cover all frequencies and measure the resulting sine wave at the output for it's magnitude and phase when comparing input to output. The sweep rate needs to be much slower than the integration time to make the measurement, but you can perhaps better picture this as stepping from one frequency to the next and for each measure the magnitude and phase between the output and input sine-waves to derive each sample of the frequency response. This can be done with much higher signal to noise at each frequency and therefore typically can establish a much better estimate of what the actual impulse response is.

Once you have the impulse response, assuming this is a linear system, you can predict the output for any other input using convolution, since an arbitrary waveform can be viewed as a series of weighted impulses.

See this post for further details on that: What does the convolution mean, what is the convolution philosophy

If you have no way to measure the input in the same way you are measuring the output, then you can compare B to A using the swept sine approach and from that establish the impulse response for the system between those points (this would give you the same result as if the source was at point A). You could use alternate waveforms other than swept sine but what will be important is that they have energy spread evenly at the input to the system over the frequency range of interest (which in this case would be all frequencies until the output is sufficiently attenuated). So this could be done with psuedo-random noise sources as well, since they spread energy equally over the frequency band but also allow you to apply a lot more power than a single impulse.

The sine wave test is most straightforward in deriving the frequency domain transfer function and from that the impulse response. But see this other post where I show how to derive the impulse response under the case of wide-band noise sources (here the "channel response" is the impulse response).

How determine the delay in my signal practically

  • $\begingroup$ For this situation with a beam, do you know how to apply a sine wave as an input? I have no idea, maybe there is some testing device that is used for that $\endgroup$ – Engineer Apr 9 '20 at 21:29
  • $\begingroup$ Yes typical vibration test platforms can induce vibration either as a swept sine or random vibration. So you have to provide e a mechanical deflection sinusoidally which isn't overly challenging. Here is an example with commercial equipment: crystalinstruments.com/sine-control $\endgroup$ – Dan Boschen Apr 9 '20 at 21:30

@Ben1000. I'm not a mechanical engineer, but I thought the purpose of mechanical-system impulse testing is to determine the resonant frequency of a mechanical system. Then to design the mechanical system so that its resonant frequency is different from any vibrational frequency the system may ever experience. That way, in its everyday use, the mechanical will never go into a state of mechanical oscillation which may be destructive.

If I'm correct, the idea of impulse testing is to apply a mechanical signal to the system that contains a wideband of frequencies and determine at which of those frequencies the system prefers to oscillate (its "resonant" frequency). Such an input signal is an "impulse-like" signal whose spectrum is wideband. So (1)you hit your beam at point E and record point A's time-domain acceleration signal. (2)Integrate that acceleration signal to determine point A's time-domain velocity signal. (3)Integrate that velocity signal to determine point A's time-domain position signal. (4)Compute the discrete Fourier transform (using the FFT) of the position signal. (5)Examine the spectral data to see at what frequency the spectral magnitude is the largest. That frequency is the resonant frequency at point A of your mechanical system (your beam).

For your simple cantilevered beam, I'll bet point A's resonant frequency will be the same as point B's resonant frequency.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.