DSPRelated.com
Forums

newbie question on discrete convolution

Started by mistvan May 12, 2009
Hi

I am playing around with fir filters/convolution. I have a length 11
filter. I convolve this with my input signal and plot both input and
output. I see the output has a delay of 5 samples (filter length/2) with
respect to the input

Why is this?




mistvan wrote:
> Hi > > I am playing around with fir filters/convolution. I have a length 11 > filter. I convolve this with my input signal and plot both input and > output. I see the output has a delay of 5 samples (filter length/2) with > respect to the input > > Why is this?
I presume from your statement that filter is symmetric. That is, the first and last coefficients are equal, the next ones in are also equal, and so on. Now imagine that only the middle coefficient is non-zero, equal to one. This is clearly a delay of five samples. Now make any other pair of coefficients equal to 1/2. The output will be the average of the delayed input at each tap. the average of the two delays is again five samples. Now think superposition. You may want to read the material in the Online Courses at http://www.bores.com/ Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
On May 12, 8:29&#4294967295;am, "mistvan" <mik...@dbresearch.co.uk> wrote:
> Hi > > I am playing around with fir filters/convolution. I have a length 11 > filter. I convolve this with my input signal and plot both input and > output. I see the output has a delay of 5 samples (filter length/2) with > respect to the input > > Why is this?
It's because of causality. Effectively you have to delay the filter to make it causal, hence the delay.
julius wrote:
> On May 12, 8:29 am, "mistvan" <mik...@dbresearch.co.uk> wrote: >> Hi >> >> I am playing around with fir filters/convolution. I have a length 11 >> filter. I convolve this with my input signal and plot both input and >> output. I see the output has a delay of 5 samples (filter length/2) with >> respect to the input >> >> Why is this? > > It's because of causality. Effectively you have to delay the filter > to > make it causal, hence the delay.
That explains why it has to be that way. I explained how it gets that way. 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;