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

  • From: David Banas <DBanas@xxxxxxxxxx>
  • To: Mike Steinberger <msteinb@xxxxxxxxxx>
  • Date: Tue, 25 Jun 2013 12:53:55 -0700

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
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 {xi} 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 {yi} is the output sequence of the order-N system, in response to input 
sequence, {xi}, and {hk} 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 {hk} 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, {hk} = {bk}.

Now, we have to assume that we do not know {bk}, 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 {bk} 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: {xk} = {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, xk = 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 {uk} is the “unit step response sequence” and {hi} 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.

Other related posts: