0
$\begingroup$

The transfer function of a system is given by:

$$\large H(s) = \huge \frac{V_{out}(s)}{V_{in}(s)}$$

In digital domain the principle is of course the same, just replace laplace transform with z-transform and voltages with amplitudes. The transfer function, when converted to time domain, solves the impulse response of the system when conditions are met.

My question is about the prerequisites for finding the real impulse response using this method (other than LTI properties). Obviously, if a signal with a shorter length than the impulse response is used for the analysis, the real impulse response can't be solved for. However, is it enough to have a signal the length of the impulse response, regardless of what the input is? (Using dirac delta as input will of course solve the impulse, but what about other cases such as $sin(t)$?)

I can at least answer the question when it comes to fourier transform and related frequency response $H(w)$. In that scenario the signal indeed needs to be zero padded properly or we will have circular convolution. I am assuming the case is then the same for laplace transform. Thus, is it correct to say that for the $H(s)$ to yield the correct transfer function, the time signal representing the input needs to be zero padded by the length of the impulse (-1)?

$\endgroup$
1
$\begingroup$

If I understand your question correctly, it is about measuring the impulse response or frequency response of an actual system.

One of your questions appears to be "can I use any input signal to measure the system's frequency response (or impulse response)?" The answer is clearly no. As an extreme example, take a sinusoidal input signal $x(t)=\sin(\omega_0t)$. An LTI system with frequency response $H(\omega)=|H(\omega)|e^{j\phi(\omega)}$ will have a response $y(t)=|H(\omega_0)|\sin(\omega_0t+\phi(\omega_0))$, where $\phi(\omega)$ is the system's phase response. Consequently, with a sinusoidal input signal you can just measure $H(\omega)$ at a single frequency (namely the frequency of the input signal). That's why an impulse is a good input signal for measuring the properties of a system: it contains all frequencies, not just a few.

One common practical method to measure a system's impulse response (or frequency response) is the sine sweep method, where the frequency of the input signal is swept over the whole frequency range of interest. This method and a few others are compared in this paper.

$\endgroup$
  • $\begingroup$ Good point, clearly the input needs to contain all frequencies as well. But even for the sine sweep case the signal needs to be zero padded, correct? (Relative to the original sine sweep). In the paper I believe they refer to the error as "time domain aliasing error". $\endgroup$ – Dole Dec 28 '15 at 7:18
  • $\begingroup$ @Dole: As also mentioned in Richard Lyons' answer, the notion of "zero padding" only makes sense in discrete-time. Depending on the method, too short signals can either cause (time-domain) aliasing, or you might not be able to estimate the tail of the impulse response. $\endgroup$ – Matt L. Dec 28 '15 at 12:51
0
$\begingroup$

You seem to be bound and determined to compute your desired impulse response by multiplication in the freq domain followed by an inverse DFT, rather than use simpler time-domain convolution. Matt L. answered your first question and described a tried-n-true sine sweep scheme that uses a Fourier transform for measuring a system's frequency response. Your last question, in your last paragraph, is a bit strange. Dole, you don't use $H(s)$ to "yield" a transfer function. $H(s)$ is a transfer function (a Laplace transfer function). You seem to be incorrectly mixing continuous Laplace concepts with zero-padding which is a discrete-time notion. In most civilized countries, including Germany, Das ist verboten.

It appears you want multiply the DFT of an input sequence by some mysterious frequency-domain sequence. But if that frequency-domain sequence is the frequency response of a system, then no multiplication is necessary. Merely compute the inverse DFT of the frequency response sequence and take the real part of the result to obtain your time-domain impulse response.

Now assuming that all you have is an $H(s)$ equation, you can do the following: Convert a continuous $H(s)$ function to a discrete z-domain $H(z)$ equation, and then convert $H(z)$ to a discrete $H(\omega)$ frequency response equation. Evaluate the $H(\omega)$ equation as $\omega$ goes from $-\pi$ to $+\pi$ to produce an $N$-sample complex-valued $H[m]$ frequency response sequence. Then compute the inverse DFT of $H[m]$ and take the real part of the result. That's your discrete-time impulse response.

$\endgroup$
  • $\begingroup$ Thanks for the answer. By "yield" I simply meant that the measured transfer function is the transfer function that characterizes the system in reality. I mixed the discrete and continuous notation a bit there, but even in continuous domain you would have to add silence or whatever the equivalent of zero padding is called, for there not to be aliasing. $\endgroup$ – Dole Dec 28 '15 at 10:56

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.