# [SI-LIST] Re: Impulse vs. Step Response?

• From: Peter.Pupalaikis@xxxxxxxxxx
• Date: Mon, 5 Sep 2011 14:25:10 -0400

```Hi all:
what I suspect is going on my own way.

First, the DFT or FFT algorithm making the computation is probably just
fine - the FFT is only a fast version of the DFT so I consider these two
things the same.

The problem is in the interpretation of the result of the DFT.  I believe
the desire here was to see something related to the frequency spectrum of a
step response through the procedure outlined - that is the problem - you
will not.

As Vladimir alluded to, the DFT provides the Fourier series coefficients
necessary to reproduce a "repeating" version of the input signal.  We know
that it acts as if the input signal repeats because that is how it is
periodic which is how Fourier series coefficients can exist in the first
place.  (BTW - the frequency domain coefficients are assumed to repeat also
- as it leads to discrete time samples).

To see what's going on here, please follow this description - I wish I
could supply a picture:

The step response starts with the first point equal to zero, let's say, and
the subsequent points rise with an RC time-constant look to a final value -
let's say 1 V.  It asymptotically approaches 1 V until the end of the
waveform.  It has NO points before time zero.  Draw that picture, but
repeat it over and over - It looks like an inverted impulse train response.
In other words, it looks like the response of an RC network to train of
pulses that go from 1 to 0 Volts for an instant and return to 1 V.  The
frequency response of this will look more like the impulse response.

Many people don't understand this assumption of repetitiveness of the
waveform.

To attempt to make things better, one might be inclined to apply the step
further from time zero - like halfway into the waveform whose DFT is being
computed - this will cause other problems because you will not see the step
response and not even the square-wave response - the discontinuity between
the end and the beginning of the waveform will cause other problems.

If you really want to try to extract the frequency content of the step
reponse from the DFT, you will need to use methods provided in these two
classic papers:

W. L. Gans & N. S. Nahman, "Continuous and discrete Fourier transform of
step-like waveforms", IEEE Trans. Inst. & Meas., vol. IM-31, pp. 97-101,
June 1982
A. M. Nicolson, "Forming the fast Fourier transform of a step response in
time-domain metrology", Electron. Lett., vol.9, pp. 317-318, July 1973

But I would do the following:

Generate the impulse response (making sure that it settles adequately
before the end, because remember, the DFT is the impulse-train response).
apply your 1/jw thinking to plot values in the DFT if you want to see the
frequency content of the step response.

Or:

Take the derivative of the step response
Apply the DFT
integrate the result.

This improves things because the end-points become continuous (assuming the
impulse response settles).

BTW - I submitted a DesignCon paper this year that goes into all of the
assumptions made in using the DFT - mostly for the purpose of interpreting
and using s-parameters, which are also discrete and related to the
continuous system response through the DFT.  In submitting it, I am
predicting that it might get reviews like "everyone knows this already".
We'll see what happens.

Pete

To:         "si-list@xxxxxxxxxxxxx" <si-list@xxxxxxxxxxxxx>

Date:       09/04/2011 11:46 PM

Subject:    [SI-LIST] Re: Impulse vs. Step Response?

Sent by:    si-list-bounce@xxxxxxxxxxxxx

Thanks Yuriy,

The problem is indeed in the FFT algorithm, but it appears even deeper than
it first looked. Thanks to the original question, this thread highlights an
important issue.

The entire discussion is caused by a wrong expectation from FFT. We used
discrete Fourier transform (DFT) - because FFT is merely an algorithmically
efficient implementation of DFT - but expected the results to be similar to
the analytical solution for the integral Fourier transformation, in case of
singular spectrum.
Unfortunately, the two approaches - though closely related - are different.
DFT essentially replaces unbounded aperiodic function, with a one having a
period equal to the time interval of consideration. It is correct to say
that DFT computes the coefficients of N harmonics, n=0…N-1, of a periodical
function, with base frequency equal 1/T, if the time domain response of
duration T is represented by N samples.
In some cases, DFT results in an intuitively expected spectrum. This is for
example the case when an entire time domain response fits into the interval
(0,T) and is zero outside. Plus, the sampling of the time response should
be sufficiently fine to accurately represent high frequencies. The second
condition is satisfied, but the first is not.
What happens if we compute Fourier series of a periodical function having a
non-zero mean value? Right, the mean value becomes a zero harmonic and does
not affect magnitudes of other harmonics in any way. This is what happens
with DFT in case of the response X(t)=1-exp(-t/tau). With sufficiently
large t (practically, already after 10ns) X(t) approximates to the constant
1.0. FFT converts this constant into relatively large zero harmonic (or,
depending on implementation, it may become not the first but the N-th
sample of the resulted spectrum). We do not see any 1/(j*2*Pi*freq)
multiplies from DFT exactly for this reason.
Mathematically, DFT is computed as follows: Y(k) = (1/N) SUM(for n=0 to
N-1) { Xn*exp(-j*2*Pi*k*n/N)}. If Xn is constant (let’s consider the case
of separate summation for the term equal ‘1’, the above sum is exact zero
for all k except multiples of N. It is only for k=0 that exponentials are
all ones and the sum becomes 1.0.
To properly address the case of aperiodical function truncated at
essentrially non-zero value is to remove such discontinuity from the very
beginning. Then, we should compute the spectrum of a pulse that has a
finite energy (in our case, this is exp(-t/tau)) and then add what we ‘d
expect from this extra constant addition.

Please be aware that many standard FFT implementations were not designed to
take the constant components properly.

-----Original Message-----
From: "Yuriy Shlepnev" <shlepnev@xxxxxxxxxxxxx>
Subject: [SI-LIST] Re: Impulse vs. Step Response?
Date: Sat, 3 Sep 2011 12:28:40 -0700

David,

Following Vladimir's advice, take a look at the time domain response curve
V(out).
If it looks close to the expected step response (voltage exponentially rise
from 0 to 1), then the problem is with the FFT computation. I would use
complex FFT from a math software in this case with appropriate
normalization.
If it looks close to the expected impulse response (voltage jumps to some
value and exponentially goes to 0), then the problem is in your SPICE
simulation setup. I would switch to PWL description of the step function as
was suggested earlier.

Best regards,
Yuriy

Yuriy Shlepnev
www.simberian.com

From: si-list-bounce@xxxxxxxxxxxxx [mailto:si-list-bounce@xxxxxxxxxxxxx] On
Behalf Of David Banas
Sent: Friday, September 02, 2011 3:36 PM
To: 'shlepnev@xxxxxxxxxxxxx'; 'steve weir'; 'si-list@xxxxxxxxxxxxx'
Subject: [SI-LIST] Re: Impulse vs. Step Response?

I used the FFT calculator in CosmosScope with the following settings:
- `# of Points (Displayed)' = 8192
- `Time Start'              =    0
- `Time Stop'               =    1 us
- `Time Increment'          = linear
- `Waveform View'           = line
- `Windowing Function'      = rect

-db------------------------------------------------------------------
To unsubscribe from si-list:
si-list-request@xxxxxxxxxxxxx with 'unsubscribe' in the Subject field

http://www.freelists.org/webpage/si-list

For help:
si-list-request@xxxxxxxxxxxxx with 'help' in the Subject field

List technical documents are available at:
http://www.si-list.net

List archives are viewable at:
http://www.freelists.org/archives/si-list

Old (prior to June 6, 2001) list archives are viewable at:
http://www.qsl.net/wb6tpu

------------------------------------------------------------------
To unsubscribe from si-list:
si-list-request@xxxxxxxxxxxxx with 'unsubscribe' in the Subject field

http://www.freelists.org/webpage/si-list

For help:
si-list-request@xxxxxxxxxxxxx with 'help' in the Subject field

List technical documents are available at:
http://www.si-list.net

List archives are viewable at:
http://www.freelists.org/archives/si-list

Old (prior to June 6, 2001) list archives are viewable at:
http://www.qsl.net/wb6tpu

```