# Difficulties while understanding Convolution [duplicate]

I have just started convolution sum. I am able to do Mathematical convolution sum. But I am unable to make a figure of it in my mind. So I tried to go through the graphical convolution. Below is the picture

I understand decomposed part but I don't understand that how each decomposed part is generating x[ 0 ]h[ n ],x[ 1 ]h[ n-1 ]....?

I guess a little help makes me to understand the Convolution sum. Thanks

• It's on ee.se, but maybe this answer helps? – a concerned citizen Jun 1 '18 at 6:27
• Read this answer on this site and then edit your question especially the figure labels based on your understanding of what that answer says. – Dilip Sarwate Jun 1 '18 at 13:20
• – MBaz Jun 1 '18 at 15:16

The convolution sum is $$y[n] = \sum_k x[k]h[n-k]$$ If you take the term corresponding to $k=0$, the contribution is $x[0]h[n]$. Similarly the contribution of $k=1$ is $x[1]h[n-1]$. Here, $h[n]$ is delayed by $n=1$. Similarly you can see how each term of the sum contributes to overall sum. The sum is taken over values $k$ where $x[k] \neq 0$ because only those terms contribute to the sum.

• I know mathematically how to convolved two signal. Please can you tell me what is X[0]h[n]...? – Anurag Rag Jun 1 '18 at 13:12
• To understand that, we need to delve deep into the basics of LTI systems. For an LTI system, a linearly scaled time-shifted input results in the same linearly scaled time-shifted output. If we represent x[n] by multiple shifted-scaled versions of delta function (the basic signal - d[n]) , the k=0 term is x[0]d[n]. When we pass this component through LTI system represented by h[n], we get the output x[0]h[n]. Similarly for other terms of k. – jithin Jun 2 '18 at 14:52

For convolution to apply the system must be Linear Time Invariant. This means that when the input is the sum of 2 signals then the output is equal to the sum of the individual outputs (when each signal is applied separately). It also means that you can scale the input and the output will be scaled by the same factor. The input signal can also be shifted in time and the output signal will also be shifted in time by the same amount. The decomposition you described is using these properties.

Given that an impulse $\delta[n]$ applied to a system the output is given by $h[n]$. If the input is $A\delta[n]$ , where $A$ is a scalar then the output is given by $Ah[n]$ - it simply scales the impulse response. If the input is $A\delta[n-k]$ , where $k$ is a constant, then the output is $Ah[n-k]$.

In your picture, they decompose the input into a series of scaled delta functions i.e. $x[0]$ , $x[1]$ and so on. The output from $x[0]$ is $x[0]h[n]$ i.e. it scales the impulse response by the scalar value $x[0]$. Similarly the output corresponding to $x[1]$ is $x[1]h[n-1]$. Since $x[1]$ is a weighted impulse delayed by one sample the impulse response must be weighted and delay by one sample as well. Note that $x[1] = x[1]\cdot \delta[n-1]$ This continues for all the samples in $x[n]$. The total output is given by adding these weighted and delayed impulse responses together.

There are a few ways of approaching convolution. Linear algebra is one, let $x[n]$ where $x[n]=0$ for $n <0$ be input and $y[n]$ output. A causal filter can be expressed as a matrix vector product.

$$\left| \begin{array}{c} y[0] \\ y[1] \\ y[2] \\ y[3] \\ \vdots \end{array} \right| = \left| \begin{array}{ccccc }h[0] & 0 & 0 & 0 & \dots\\ h[1] & h[0] & 0 & 0 & \dots\\ h[2] & h[1] & h[0] & 0 & \dots\\ h[3] & h[2] & h[1] & h[0] & \ddots \\ \vdots & \vdots & \vdots & \vdots & \ddots \end{array}\right| \left| \begin{array}{c} x[0] \\ x[1] \\ x[2] \\ x[3] \\ \vdots \end{array} \right|$$ For an IIR Filter, the matrix is infinite, for a FIR filter, the matrix dimension depends on the length of $x[n]$.

You can write out each term of $y[n]$ and see it is discrete convolution.

We don't do infinite graphical convolution so you can use this construction to draw your pictures.

This form of matrix is called Toeplitz.