[ibis-macro] Re: On impulse and step responses.

  • From: Mike Steinberger <msteinb@xxxxxxxxxx>
  • To: David Banas <DBanas@xxxxxxxxxx>
  • Date: Tue, 25 Jun 2013 17:48:05 -0500

Dave-

I'm not going to engage in a verbal conversation about a problem that can be readily solved through a rigorous mathematical proof. Please state your assumptions and write your equations. I request that you present them in the form of a mathematical proof in which each equation is rigorously derived from the equations and assumptions that came before it. I see a step in that derivation where the IBIS-AMI specification makes one assumption (explicitly or implicitly) and you appear to be making a different assumption. I believe I know where those assumptions occur and what those assumptions are. However, I see rigorous mathematics as the only way to have this conversation efficiently.

Respectfully yours,
Mike Steinberger

A personal story so that you know where I'm coming from:
The summer after my sophomore year of high school, I went to an NSF program in mathematics at Ohio State University. The program was run by professor Arnold Ross. I was in the lowest quartile of that population, but quite a number of the high school kids there were doing graduate level mathematics (e.g., Calculus of Manifolds, whatever that is). The whole point of that program was to teach us how to do rigorous mathematical proofs, and the method was to give us a lot of homework in Abstract Algebra and Number Theory requiring rigorous mathematical proofs. They worked us so hard that one night I dreamed that there was a theorem that I had to prove, and I could only go to sleep once I had proven this theorem. (I must have proven it, because I did get to sleep that night.) As I look back on it decades later, I realize that that was the experience that made rigorous mathematics one of my go-to tools. That experience made me a much more effective technical person and technical communicator than I would otherwise have been. I owe a lot to Dr. Ross and the staff at that summer program, and I don't suppose I'll ever get a chance to express my gratitude to them.

On 06/25/2013 04:35 PM, David Banas wrote:

Hi Mike,

I’m sorry, if you found my language disrespectful. The funny thing is, I spent a fair amount of time on that last passage, trying to find language, which was civil and, yet, still made the point that a condescending dismissal does not a successful rebuttal to a mathematical argument make. My apologies for any offense taken, and I’d be happy to buy you a drink at the next conference we both attend, in order to try and make amends.

Now, if you’re still game for a few more rounds, I think there’s some really juicy stuff, below; stuff that’s interesting to a lot of folks in this community. I think it’d be very productive for us to trade a few more challenges/rebuttals on this topic; I feel like we’re really close to blowing the lid off of this one and gaining some clarity. I’ve made some very pointed challenges to your repost, below. Will you parry, sir?

Thanks, in advance, for reconsidering,

-db

*From:*Mike Steinberger [mailto:msteinb@xxxxxxxxxx]
*Sent:* Tuesday, June 25, 2013 12:59 PM
*To:* David Banas
*Cc:* ibis-macro@xxxxxxxxxxxxx
*Subject:* Re: [ibis-macro] Re: On impulse and step responses.

Dave-

I believe that this type of disrespectful language has no place in any professional environment, especially a public reflector. If you're unwilling to live up to this expectation, then this conversion is concluded.

Mike Steinberger

On 06/25/2013 02:53 PM, David Banas wrote:

Hi Mike,

I’ve responded in-line, below, in order to preserve context.

Thanks,

-db

*From:*Mike Steinberger [mailto:msteinb@xxxxxxxxxx]
*Sent:* Tuesday, June 25, 2013 12:23 PM
*To:* David Banas
*Cc:* ibis-macro@xxxxxxxxxxxxx <mailto:ibis-macro@xxxxxxxxxxxxx>
*Subject:* Re: [ibis-macro] Re: On impulse and step responses.

Dave-

Even though "Kronecker Delta" has the word "delta" in it, it's not relevant to this conversation.

The problem to be solved here is that we need a sampled time domain function that expresses the transfer function of a linear, time invariant process in a way that 1. Allows us to calculate the output of the process in response to a particular sampled time domain input waveform

*/[David Banas] Isn’t this parroting my post, below? For instance, isn’t this just a rewording of this excerpt from my text, below?:/*

That is, what input sequence to a discrete time, linear, shift invariant (LSI) system will elicit a response from that system, which will then allow us to predict the output of that system, in response to any arbitrary input, via convolution?


2. Allows us to perform the same calculation and get a re-sampled version of the same result if we change the sample interval and re-sample the input waveform.

I submit that you can't solve this problem by ignoring the sample interval.

*/[David Banas] And you are correct. Each time Init() is called, we must re-calculate the tap weights of our digital filter, according to the value we find in the “sample_interval” parameter. I’m not sure how anything I said, previously, would suggest that I was intending to ignore the sample interval. What I claim is that there is no need for the EDA tool to scale the values in the “impulse_matrix” parameter by the sample rate. At the time those values are about to be processed by the filter, Init() has already adjusted the filter tap weights to the new sample rate./*



Your example assumes that the sample interval is equal to the symbol duration.

*/[David Banas] No, it doesn’t. Please show me, precisely, where it makes this assumption./*

*//*

That is, the delay between x(i-1) and x(i) is one symbol time.

*/[David Banas] I make no such assumption. The {x_i } are intended as samples, not bits. In fact, the notion of “bit time”, or “unit interval”, is nowhere to be found in my previous post./*

*//*

In some contexts, that's a perfectly fine problem to solve, but that doesn't happen to be the problem we need to solve. We need waveforms which have been uniformly sampled with a sample interval that is a small fraction of a symbol duration.

*/[David Banas] I agree with you, and claim that nothing I have said, previously, is inconsistent with this assertion./*



You will find it instructive to re-derive the equations in your example in a way that makes the sample interval an explicit variable.

*/[David Banas] Those equations aren’t so much “derived” as they are “quoted” from a very well respected graduate level text on DSP. So, if you’re right and they’re missing the sample rate as a necessary parameter, then DSP must be being taught wrong in a fair number of American post-graduate courses. I suspect that this is not the case./*

*//*

I'm not going to derive those equations for you, but if you want to re-derive them, I'm willing to check your math.

*/[David Banas] Thanks for the offer, but at this point I lack the confidence in your understanding of the fundamental principles at hand, which would be required, in order for me to refer to you as an authoritative reference on this topic./*



Respectfully yours,
Mike S.

On 06/25/2013 01:17 PM, David Banas wrote:

Hi Mike,

Thanks for the reply. Respectfully, you’re wrong.

This notion of enforcing an area of 1, when we move into the discrete time domain, is very misguided.

As is noted in most DSP texts, the discrete time equivalent of the continuous time Dirac delta function is the Kronecker delta sequence: {1, 0, 0, …}. And the magnitude of the first element of that sequence is /not/ scaled by the system sampling rate.

https://en.wikipedia.org/wiki/Kronecker_delta#Digital_signal_processing

(Before you criticize me for relying upon Wikipedia for my understanding of DSP fundamentals, let me assure you that I am posting the above only because it is extremely convenient for all to view quickly, and that I have verified what it says against my own graduate school DSP text: “Digital Signal Processing” by Richard A. Roberts and Clifford T. Mullis.)

I believe we can understand why, by going back to the original motivation for deriving the Dirac delta function and then following the same motivation for deriving the Kronecker delta sequence. So, then, why was the Dirac delta function useful? Well, because it produces output from a continuous time system, which allows us to predict the output of that same system to /any arbitrary input/, via continuous time convolution:

/yt=τ=0∞h(      64;)∙x(t-τ)dτ/

Where y(t) is the output of the system, in response to any arbitrary input, x(t), and h(t) is the response of the system to the Dirac delta function as input; the so called “impulse response” of the system. (I have assumed a causal system.)

Now, what is the discrete time equivalent of the Dirac delta function? That is, what input sequence to a discrete time, linear, shift invariant (LSI) system will elicit a response from that system, which will then allow us to predict the output of that system, in response to any arbitrary input, via convolution? We have, for convolution in discrete time:

/yi=k=0N-1hk∙xi-k/

Where {y_i } is the output sequence of the order-N system, in response to input sequence, {x_i }, and {h_k } is the discrete time equivalent of the system impulse response. That is, it is that sequence, which uniquely describes our LSI system, such that we can use the equation, above, in order to find the output sequence of the system, in response to any arbitrary input sequence.

Now, how do we find {h_k } for some particular LSI system? Let’s take a simple, 2-tap FIR filter for example:

/yi=b0∙xi+b1∙xi-1=k=01bk∙xi-k/

And we find that, for a 2-tap FIR filter, {h_k } = {b_k }.

Now, we have to assume that we do not know {b_k }, a priori. And the final question that remains then is, “What sequence should we use as input to the 2-tap FIR filter, in order that it generate {b_k } as its output?” When we find the answer to this question, we will have found the discrete time equivalent of the Dirac delta function.

Let’s try, first, the Kronecker delta sequence: {x_k } = {1, 0, 0, …}:

/yi=k=01bk∙xi-k=bi,i//∈0,1;0 otherwise=b0,b1,0,0,…=bi(Ignoring trailing zeros.)/

//

/(since, in this case, x_k = 0 for k /= 0)./

//

/And, so, we find that the discrete time equivalent to the Dirac delta function is not the sequence, {<sample_rate>, 0, 0, …}, but simply, {1, 0, 0, …}./

//

/If you’ve read this far, thanks! ;-)/

/-db/

//

//

*/From:/*/ibis-macro-bounce@xxxxxxxxxxxxx <mailto:ibis-macro-bounce@xxxxxxxxxxxxx> [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] *On Behalf Of *Mike Steinberger
*Sent:* Tuesday, June 25, 2013 9:29 AM
*To:* ibis-macro@xxxxxxxxxxxxx <mailto:ibis-macro@xxxxxxxxxxxxx>
*Subject:* [ibis-macro] Re: On impulse and step responses./

//

/Dave-

I clarified that point for Greg Edlund on this e-mail reflector. Here's a repeat of my response to him (minus the snippy comments):

If you want to use a narrow pulse of whatever shape, that's fine; however it is essential that the pulse always has unit area (volts * seconds). Therefore, as your pulse gets narrower and narrower, its amplitude has to get greater and greater. In fact, the Dirac delta function has, by definition, unit area, in that it's defined as the limit of your narrow pulse (with unit area) as the width of the pulse goes to zero.

In the sampled data World, we don't actually take the width of the pulse to zero. Rather, we leave it one sample wide, as being the narrowest pulse we can generate in that domain. The sampled data equivalent of the (continuous time domain) Dirac delta function therefore has a width of one sample and an amplitude of one over the sample interval.

Hope this helps.
Mike S.

On 06/25/2013 11:04 AM, David Banas wrote: /

/Hi Fangyi,/

//

/Thanks for the reply./

/Please, see below./

//

/Thanks,/

/-db/

//

//

*/From:/*/fangyi_rao@xxxxxxxxxxx <mailto:fangyi_rao@xxxxxxxxxxx> [mailto:fangyi_rao@xxxxxxxxxxx]
*Sent:* Thursday, June 20, 2013 8:18 AM
*To:* David Banas; ibis-macro@xxxxxxxxxxxxx <mailto:ibis-macro@xxxxxxxxxxxxx>
*Subject:* RE: On impulse and step responses./

//

/David;/

//

/Step response has an unit of volt. Impulse response, which is the derivative of step response by definition, has an unit of volt/sec./

*/[David Banas] If this discussion pertained to the continuous time domain, I would agree with you, but it doesn’t. This discussion pertains to the discrete time domain. (It has to, since we’re sending in a discrete set of samples, taken at a uniform sampling interval, to Init().) And, in that domain, both quantities must have the same unit, since we require:/*

*/uk=i=0khi/*

*//*

*/where {u_k } is the “unit step response sequence” and {h_i } the “unit pulse response sequence” of the LSI discrete time system being discussed, and I have taken the liberty of assuming we’re only interested in describing causal systems. In our particular application, the most reasonable unit for these two sequences seems to be “Volt”, which is why I’m very perplexed as to why several of us seem to feel that “Volts/sec.” is the proper unit to be sending into Init(). Does our current spec. call out the exact units to be used?/*

*//*

/Also, please keep in mind that the Dirac delta function has an unit of 1/sec. /

//

/Regards,/

/Fangyi/

//

*/From:/*/ibis-macro-bounce@xxxxxxxxxxxxx <mailto:ibis-macro-bounce@xxxxxxxxxxxxx> [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] *On Behalf Of *David Banas
*Sent:* Thursday, June 20, 2013 7:50 AM
*To:* ibis-macro@xxxxxxxxxxxxx <mailto:ibis-macro@xxxxxxxxxxxxx>
*Subject:* [ibis-macro] On impulse and step responses./

//

/Hi all,/

//

/In our work, we often take as a priori that the impulse response is the time derivative of the step response. As I puzzle over this further, I realize that I’m stumped by something very fundamental, which is this:/

//

/A quantity, which is the time derivative of some other quantity, cannot have the same units as that other quantity. And, yet, when we discuss/measure/simulate either a step response or an impulse response, we expect to be talking about / measuring / viewing a voltage as a function of time, in both cases! How can this be?/

//

/Thanks,/

/-db/

//

//

/
------------------------------------------------------------------------
/

/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./

//

/
------------------------------------------------------------------------
/

/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./

//

/
------------------------------------------------------------------------
/

/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./

------------------------------------------------------------------------

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.


------------------------------------------------------------------------
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.

Other related posts: