DSPRelated.com
Forums

about convolution- am I right?

Started by kiki August 17, 2005
Hi all,

I just want a confirmation and a double check:

suppose y[n]=x[n]*h[n],

then x[n-1]*h[n-1]=y[n-2],

x[n-1]*h[n]=y[n-1],

x[n]*h[n-1]=y[n-1],

x[n+a]*h[n+b]=y[n+a+b],

am I right?

What do these mean in terms of the system intuitively?

Thanks a lot 


kiki wrote:
> Hi all, > > I just want a confirmation and a double check: > > suppose y[n]=x[n]*h[n], > > then x[n-1]*h[n-1]=y[n-2], > > x[n-1]*h[n]=y[n-1], > > x[n]*h[n-1]=y[n-1], > > x[n+a]*h[n+b]=y[n+a+b], > > am I right? > > What do these mean in terms of the system intuitively?
There's too much to be guessed at. Does x[n] mean the nth sample of signal x? That's its usual interpretation unless otherwise annotated. Does the operator '*' signify multiplication, or convolution? I can't find a consistent set of notation conventions that would reveal meaning in your equations to me. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
"Jerry Avins" <jya@ieee.org> wrote in message 
news:qd2dnT7EP657QJ_eRVn-hg@rcn.net...
> kiki wrote: >> Hi all, >> >> I just want a confirmation and a double check: >> >> suppose y[n]=x[n]*h[n], >> >> then x[n-1]*h[n-1]=y[n-2], >> >> x[n-1]*h[n]=y[n-1], >> >> x[n]*h[n-1]=y[n-1], >> >> x[n+a]*h[n+b]=y[n+a+b], >> >> am I right? >> >> What do these mean in terms of the system intuitively? > > There's too much to be guessed at. Does x[n] mean the nth sample of signal > x? That's its usual interpretation unless otherwise annotated. Does the > operator '*' signify multiplication, or convolution? > > I can't find a consistent set of notation conventions that would reveal > meaning in your equations to me. > > Jerry > -- > Engineering is the art of making what you want from things you can get. > &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
Jerry, The notation x[n] is the mathematical notation not the programming notation, i.e. x is not an arrary but a mathematical variable. This is analagous to having a time domain signal x(t). Kiki, Yes, your equations are correct. The intuition is pretty simple. For example, x[n-1]*h[n] = y[n-1] is delaying the input by 1 sample which therefore delays the output by 1 sample. With x[n]*h[n-1] = y[n-1] you are putting a sample of delay into the filter. Both of these delays, i.e. to the input and in the filter's impulse response, will delay the output signal. Therefore they are additive. As a side note it is easy to see they are additive by looking at this in the frequency domain: x[n-a] * h[n-b] <--> X(w)e^(-jwa)H(w)e^(-jwb) If you do some simple math in the frequency domain you get: X(w)H(w)e^(-jw(a+b)) which can be rewritten Y(w)e^(-jw(a+b)). Converting back to time domain you get y[n-(a+b)] and you see the delays are cumulative. Brad
Hi,

It seems like this system is also not time invariant. Because (from the
2nd equation):
x[n-1]*h[n-1]=y[n-2]

If the system was time invariant, shouldn't you expect :

x[n-1]*h[n-1]=y[n]

If this is so, this system cannnot be represented by X(w)H(W) (this
requires that the system be linear time-invariant...)

-Ikaro

kiki wrote:

> I just want a confirmation and a double check: > > suppose y[n]=x[n]*h[n], > > then x[n-1]*h[n-1]=y[n-2],
x[n-1] = x[n]*d[n-1] h[n-1] = h[n]*d[n-1] so x[n-1]*h[n-1] = x[n]*d[n-1]*h[n]*d[n-1] = x[n]*h[n]*d[n-2] = y[n-2] where d[n] is the Kronecker delta (0 everywhere except n=0, where it's 1).
> x[n-1]*h[n]=y[n-1], > > x[n]*h[n-1]=y[n-1], > > x[n+a]*h[n+b]=y[n+a+b], > > am I right? > > What do these mean in terms of the system intuitively?
Any delay propagates through the system. Multiple delays add to the delay. Ciao, Peter K.
"Ikaro" <ikarosilva@hotmail.com> wrote in message 
news:1124291252.006341.56200@g44g2000cwa.googlegroups.com...
> Hi, > > It seems like this system is also not time invariant. Because (from the > 2nd equation): > x[n-1]*h[n-1]=y[n-2] > > If the system was time invariant, shouldn't you expect : > > x[n-1]*h[n-1]=y[n] > > If this is so, this system cannnot be represented by X(w)H(W) (this > requires that the system be linear time-invariant...) > > -Ikaro >
This is my confusion too. For me, x[n-1]*h[n-1] should equal y[n-1] intuitively... you point that x[n-1]*h[n-1] should equal y[n] also make sense ... Can anybody explain if it is time-invariant? For me, "*" convolution itself says this system is LTI... otherwise you won't be able to use "*" to characterize the system....
"Jerry Avins" <jya@ieee.org> wrote in message 
news:qd2dnT7EP657QJ_eRVn-hg@rcn.net...
> kiki wrote: >> Hi all, >> >> I just want a confirmation and a double check: >> >> suppose y[n]=x[n]*h[n], >> >> then x[n-1]*h[n-1]=y[n-2], >> >> x[n-1]*h[n]=y[n-1], >> >> x[n]*h[n-1]=y[n-1], >> >> x[n+a]*h[n+b]=y[n+a+b], >> >> am I right? >> >> What do these mean in terms of the system intuitively? > > There's too much to be guessed at. Does x[n] mean the nth sample of signal > x? That's its usual interpretation unless otherwise annotated. Does the > operator '*' signify multiplication, or convolution? > > I can't find a consistent set of notation conventions that would reveal > meaning in your equations to me. > > Jerry > -- > Engineering is the art of making what you want from things you can get. > &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
Jerry, The notation x[n] is the mathematical notation not the programming notation, i.e. x is not an array but a mathematical function. This is analagous to having a time domain signal x(t). Kiki, Yes, your equations are correct. The intuition is pretty simple. For example, x[n-1]*h[n] = y[n-1] is delaying the input by 1 sample which therefore delays the output by 1 sample. With x[n]*h[n-1] = y[n-1] you are putting a sample of delay into the filter. Both of these delays, i.e. to the input and in the filter's impulse response, will delay the output signal. Therefore they are additive. As a side note it is easy to see they are additive by looking at this in the frequency domain: x[n-a] * h[n-b] <--> X(w)e^(-jwa)H(w)e^(-jwb) If you do some simple math in the frequency domain you get: X(w)H(w)e^(-jw(a+b)) which can be rewritten Y(w)e^(-jw(a+b)). Converting back to time domain you get y[n-(a+b)] and you see the delays are cumulative. Brad