The following screenshot is from this web page. The goal is to evaluate (or see if we can evaluate) the transfer function of a system by using the step function as an input. -Please refer the screenshot for the line of reasoning used in this example- .

  • Why we can't substitute s for jw in the case of a step function (1/s)?
  • Any general rule(s) to check, if we want to substitute s for jw in a given function?

enter image description here

  • \$\begingroup\$ The screenshot is somewhat small to read, please refer to the link provided above, the paragraph in question is "using step response data". Thank you. \$\endgroup\$ – Heisenberg Dec 4 '13 at 23:43
  • \$\begingroup\$ Of course you can find the system response of a linear system from the step response. I describe that in some detail and even show a real world example at electronics.stackexchange.com/a/27861/4512 \$\endgroup\$ – Olin Lathrop Dec 5 '13 at 15:47

The conclusion of the author is incorrect. It is in fact possible to use step response data to measure a system's transfer function, it's just a bit more complicated. This is done all the time when evaluating time domain reflectometry and time domain transmission measurements.

The main issue is that the author defines a step to be "a sequence consisting entirely of 1's", which is not a universal definition. A step function should be 0 for t < 0 and 1 for t > 0. For some reason the author of your web page seems to think t=0 is the beginning of time and there's no way we can get data for t<0, which is not generally true.

However if you use a dataset where you start at some t0 < 0, you will have to account for the delay factor when doing your data analysis to calculate the transfer function (if you care about getting the phase right).

Also, you will need to understand about applying a window function to your data before doing the numerical transform, because the common DFT (aka FFT) assumes a periodic signal. This means it thinks the sample after your final sample will be a repeat of your first sample, and so on. This will often cause there to be an artificial second step (with very high frequency content) at the boundary between the last and first samples. Applying a window function (for example a Hamming window) will minimize the effect of this discontinuity, but also introduce some "smearing" in the computed frequency-domain transfer function. See a textbook on DSP for further details on this issue.

Finally, you will, as alluded to in the web page, run into a problem at high frequencies. Since the power content of the stimulus signal is falling off like 1/f, eventually the response signal will be below the noise floor of the measurement system, and the measurement will not be meaningful. Said another way, when you compensate for the 1/f fall-off of the stimulus in calculating the transfer function, you will enhance the noise at high frequencies.

  • \$\begingroup\$ If one assumes that the behavior of the system at some frequency will be the same as its behavior at all lower frequencies, could one "legitimately" use a square wave? For example, if if a system would "settle out" within 500ms of a step, could one drive it with 1Hz square wave? That would allow use of a Foorier transform with a fundamental frequency of 1Hz, right? \$\endgroup\$ – supercat Dec 5 '13 at 16:24
  • 1
    \$\begingroup\$ @supercat, Whenever you use a DFT you always have a gap between the dc frequency bin (0'th bin) and the first frequency bin, so yes you could use a square wave stimulus just as well as a pulse stimulus. In fact when you use a pulse stimulus and DFT you are implicity doing essentially that -- because the DFT assumes a repetitive signal. I don't know if I conveyed this well --- Alfred's answer may explain it better. \$\endgroup\$ – The Photon Dec 5 '13 at 17:04
  • \$\begingroup\$ Another way to say this, you can use essentially any stimulus you like, so long as it excites the frequencies you're interested in measuring. \$\endgroup\$ – The Photon Dec 5 '13 at 17:04
  • \$\begingroup\$ I was thinking of the square wave in some measure as a means of dealing with things like the "Times starts at zero" issue. Concepts of phase don't really work with a non-periodic impulse, but in theory pose no difficulty whatsoever when performing an FFT on the system's response to a square wave input. \$\endgroup\$ – supercat Dec 5 '13 at 17:27
  • \$\begingroup\$ I suppose there's still a practical aspect that if a system's step response has substantial ringing at e.g. 123.456Hz, performing an FFT on its response to a 1HZ square wave won't make that particularly clear; it would yield a set of harmonics which when summed together would produce the proper wibble wave, but there wouldn't be any discernible 123.456Hz component. \$\endgroup\$ – supercat Dec 5 '13 at 17:30

Why we can't substitute s for jw in the case of a step function (1/s)?

It is true that the region of convergence (ROC) for the Laplace transform of the unit step is \$\Re(s)\gt0\$.

So, setting \$s = 0 + j \omega\$ and calling that the Fourier transform isn't justifiable even if "it works" in some cases.

But, on the website, the context suddenly changes from the Laplace transform of an aperiodic signal to the DFT. That's quite a chasm to jump over!

  • First, we've made a jump from continuous time to discrete time
  • Second, we've made a jump from aperiodic to periodic

The author writes:

However, if you try to FFT a step

Whoa! Why on earth would you try to do that? Recall that the DFT is essentially the discrete time version of the Fourier series which is for periodic functions.

One should no more try to find the DFT of \$u[n]\$ than one should try to find the Fourier series for \$u(t)\$.

Since both \$u[n]\$ and \$u(t)\$ are aperiodic, the appropriate transforms are the DTFT and Fourier transform respectively.

Remember, when finding the Fourier series, the Fourier coefficients are found by integrating over a period. What is the period of a unit step function? Is it surprising that applying a transform for periodic functions gives odd results when carelessly applied to an aperiodic function?

However, you will find that the DTFT of \$u[n]\$ exists (in the sense of generalized functions) and is:

$$X(\omega) = \frac{1}{1-e^{-i \omega}} + \pi \cdot \delta (\omega)$$

Finally, the title question:

Why we can't use step function to identify system's transfer function

We can. However, the context is crucial and the context of the linked website is numerical methods with the FFT.

In the discrete time domain, assuming zero initial conditions and an input that starts with one and is an unending sequence of 1's thereafter, the associated unending output sequence is the step response of the system we'll call \$s[n]\$.

The DTFT of this unending output sequence would be a continuous function of frequency \$S(\omega)\$, \$-\pi \lt \omega \le \pi\$, and would be the step response in the frequency domain.

Thus, the transfer function is:

$$H(\omega) = \dfrac{S(\omega)}{X(\omega)}$$

Now, if you wish to do an FFT of the output sequence, you'll use only a portion, the portion from \$s[0]\$ through \$s[N-1]\$ for some \$N\$.

Essentially, this is equivalent to discarding the rest of the sequence for \$n \ge N\$ and making the output sequence periodic with period \$N\$.

Why? If we take the first \$N\$ numbers in the sequence and periodically "block" copy this before and after to form a periodic sequence, the DTFT of this periodic sequence would become a weighted impulse train with the weights given by the FFT (up to some normalization constant).

But, for a stable system, the output sequence is periodic only if the input sequence is periodic and \$u[n]\$ is not periodic.

Thus, an FFT of some portion of an output sequence cannot represent the step response of a system.

However, there are "tricks" that The Photon mentions in his answer but these are beyond the scope of this answer. Feel free to ask a follow-up question but it might be better to ask on the DSP sister site.


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.