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

  • From: David Banas <DBanas@xxxxxxxxxx>
  • To: "'si-list@xxxxxxxxxxxxx'" <si-list@xxxxxxxxxxxxx>
  • Date: Tue, 6 Sep 2011 10:23:48 -0700

> 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.
It's amazing how powerful the right visualization of the problem is.
Thank you, Peter! I'm looking forward to your DesignCon presentation.

Thanks to everyone, whom responded to this. I learned a great deal from all of 
you.
I look forward, hopefully, to meeting you all in person at DesignCon.

-db

-----Original Message-----
From: si-list-bounce@xxxxxxxxxxxxx [mailto:si-list-bounce@xxxxxxxxxxxxx] On 
Behalf Of Istvan Novak
Sent: Monday, September 05, 2011 2:44 PM
To: Peter.Pupalaikis@xxxxxxxxxx
Cc: si-list@xxxxxxxxxxxxx; Dmitriev-Zdorov, Vladimir
Subject: [SI-LIST] Re: Impulse vs. Step Response?

Let me offer one more angle to the discussion: the periodicity
side-effects always
show up in the result of the discrete Fourier transform unless data
points diminish
at the beginning and end of input data set (and also for a few other
special cases).
If we know our input data set, we may be able to do simple manipulations
to get
rid of the problem, like removing the DC content in this case, either by
shifting the
step response by its DC value (as Vladimir suggested) or start with the
calculation
of the Impulse Response rather than Step Response (as Peter suggests),
or combining
the input waveform with a ramp (as the Nicolson paper suggests).  For a
generic
'blind' calculation, a sure solution is windowing, which unfortunately
gives up some
of the 'perceived' or expected resolution of the original data set.

Peter,

I am looking forward to see your paper at DesignCon.  And I agree that
these topics
are usually viewed as obvious, until we happen to stumble across a
result we cant
easily interpret.

Regards,

Istvan Novak
Oracle




On 9/5/2011 2:25 PM, Peter.Pupalaikis@xxxxxxxxxx wrote:
> Hi all:
> I think Vladimir's answer is honing in on the problem, but let me answer
> 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
>
>
>
>
>
>
>    From:       "Dmitriev-Zdorov, 
> Vladimir"<vladimir_dmitriev-zdorov@xxxxxxxxxx>
>
>    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.
>
> Vladimir
>
> -----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

or to administer your membership from a web page, go to:
//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:
                //www.freelists.org/archives/si-list

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




Confidentiality Notice.
This message may contain information that is confidential or otherwise 
protected from disclosure. If you are not the intended recipient, you are 
hereby notified that any use, disclosure, dissemination, distribution,  or 
copying  of this message, or any attachments, is strictly prohibited.  If you 
have received this message in error, please advise the sender by reply e-mail, 
and delete the message and any attachments.  Thank you.
------------------------------------------------------------------
To unsubscribe from si-list:
si-list-request@xxxxxxxxxxxxx with 'unsubscribe' in the Subject field

or to administer your membership from a web page, go to:
//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:     
                //www.freelists.org/archives/si-list
 
Old (prior to June 6, 2001) list archives are viewable at:
                http://www.qsl.net/wb6tpu
  

Other related posts: