I would like to know why the convolution is necessary.

that is, who said that multiplying numbers with others and then adding them would tell us something?

If you could give me analogies without mathematics, it would be a great help for non-mathematicians.

  • 3
    $\begingroup$ My friend Joe told me that convolution is pretty dope. $\endgroup$
    – Dan Szabo
    Nov 28, 2019 at 6:23
  • 1
    $\begingroup$ who said that adding numbers would tell us anything? Oh, that was just math, which happened to be useful for a real-world problem. Convolution is just the same: you can do it to some mathematical entities, and it's useful. There's no "philosophy" attached. That'd be the same as asking "what's the hammer philosophy": Hammer is a tool. It transforms boards and nails into nailed boards. $\endgroup$ Nov 28, 2019 at 6:46
  • $\begingroup$ Possible duplicate of What is the physical meaning of the convolution of two signals? $\endgroup$
    – MBaz
    Nov 28, 2019 at 14:27

4 Answers 4


I'm somewhat in the same situation as you @Jony. But I'm working currently on a project involving audio processing, and I had to read a lot about convolution and related topics in the last few days.

I'm not sure I gained an intuitive understanding of convolution--esp. convolution vs. correlation-- but, to quote another answer, "Convolution in the time domain is equivalent to multiplication in the frequency domain." So it becomes obvious it may have a usage in filtering applications.

Wikipedia hs also a couple of nice animation that shows you how the convolution of two functions is related to the area of their intersection:

enter image description here enter image description here

Depending on your field of interest, this may give you some applications idea. As the last word, let me repeat I'm very new to this topic, so take this answer with a grain of salt--and I would gratefully stand to be corrected by more experienced users


Here is an intuitive non mathematical explanation of convolution. (After writing this out and then reading FAT32's answer, he is saying the same thing-- I saw the equations at first glance so thought I was adding the "non-mathematical" answer you wanted---- this is adding graphics with no equations but I think it is the same answer--- so I recommend selecting his as the "correct" answer and use these graphics to help explain that).

Any signal can be represented as an infinite series of time delayed impulses, weighted by the signal at that point in time. For continuous time signals, these impulses are infinitely close-- but a discrete time example with a linear filter will make this clearer, given that the output of a linear filter is the convolution of the input with the impulse response of the filter.

The impulse response of a filter is what the filter would produce at its output if an impulse was presented at the input.

If we weigh the impulse at the input by an amount, the impulse response at the output would be weighted accordingly.

If we delay the impulse at the input by an amount, the impulse response at the output would be delayed accordingly.

What happens with multiple inpulses at the input at different delays and weights is we end up getting the sum of these at the output since a previous impulse response output has not completely decayed by the time the next input arrives! Convolution is doing this specifically. When we graphically perform convolution where we reverse the time axis of the input and then slide that waveform from left to right, it is because the left most part of the input waveform is what would arrive at the filter first! The diagrams below should help demonstrate this:

Consider an input of three impulses at unit magnitude followed by 8 impulses at half magnitude as shown in the top part of the figure below. The impulse response (what each of those inputs would provide at the output, weighted by the input and delayed by the input) is shown in the middle figure. The convolution of the two is shown at the bottom.

convolution example

Dissecting this further, below we see the impulse response (in discrete time this is properly called the "Unit Sample Response") as it would appear at the output due to each of the first 5 inputs. The resulting output is the sum of each of these individual responses at any given time. Notice how we move forward in time how each impulse is weighted: 1 1 1 0.5 0.5, the leading edge of our input waveform is applied first similar to how we would do this graphically.

Convolution in action


Good answers, but the OP asked for "analogies without mathematics".

First, convolution is a operation, just like addition (you've picked two apples, you pick two more) or multiplication (you fetch a bucket of water five times to fill a larger container). So, it's not a matter of whether it's necessary, the computation is something that lets us explain or predict this property.

Consider yourself in a large empty room, perhaps a gymnasium. Clap your hands together once. If you were in a wide open space outdoors, this would produce a very short sound, but here it might cause a sound that lasts several seconds.

You know this is due to reflections of the clap as the sound bounces off the wall, then those reflections continue to bounce off walls. (At some point the energy falls below a threshold and we consider it stopped.)

But a more precise way to describe it, and one that lets us better predict the resulting sound of a different source (perhaps a violin) in that room would be to describe it mathematically as a convolution.

For instance, what would happen if we clapped twice, a half-second apart, the second clap at half the loudness of the first? The resulting sound would be the same as the first, plus a copy of the first delayed by a half-second.

Going back to the single clap. at one time in their lives, many people have learned the character of an large unfamiliar room by clapping (or maybe shouting a truncated "hey"), and listening to the result. Crudely, they are taking the "impulse response" of the room. A sharp clap is not a bad impulse, really, it forces an impulse of air (but get a good slap of the hands—cupping them muffles it a bit—you need a flat frequency spectrum). Firing a starter pistol or popping a ballon works too.

If you record that impulse response, and convolve it with the sound of the that same (ideal) cap outdoors with no reverberation, the result is the same sound you got in the room. OK, that doesn't buy us anything, it's the same as the impulse response we recorded. But what if our source sound is a sung "laaaaaa!" (recorded dry), and we convolve that with room's impulse? It sounds exactly the same as if that person sang the note in the room.

The why of this is easier to understand if we talk about digital recordings. Each sample is an impulse, at various amplitudes. Somewhat like many claps at a continuous high rate. So, you could go back to the idea of the two claps that cause overlapping and scaled copies of the room's impulse response.

That's what the math of convolution gives us. If we determine the impulse response of a room, we can easily calculate what any stationary sound would sound like in that room (at least at that specific point). A drum-strike, a elephant bellow, a mouse squeak, an acoustic guitar performance.

Some more non-mathematical explanations here: https://www.earlevel.com/main/2012/03/05/convolution—in-words/


I understand your concern on the meaning of the convolution, but you seem to look at the thing from a wrong perspective.

But the following interpretation may help you understand what those arithmetic operations are trying to achieve.

Assume an LTI, causal system with impulse response $h[n]$. I think you know what an impulse response is, otherwise no point of discussing what a convolution sum is doing.

Now look into the convolution sum formula which is a superposition sum of individual responses per input sample $x[k]$ applied.

$$y[n] = x[n] \star h[n] = \sum_{k=-\infty}^{n} x[k] h[n-k]$$

You can view $h[n-k]$ as a shifted impulse response to the position of $n=k$, and weighted by $x[k]$; as the result of an impulse applied at time $k$ given as $x[k] \delta[n-k]$.

So, for any particular value of $n$, to compute the output $y[n]$, you should sum up the particular samples from all of the shifted impulse responses $h[n-k]$ for each shift by $k$, strictly to the left (past inputs) for a causal system.

For example for $n=0$, the contributions will only be from $h[n]$ and $y[0] = x[0]h[0]$, whereas for $n=1$ there will be two contributions from $h[n]$ and $h[n-1]$ as $y[1] = x[0]h[1] + x[1]h[0]$. And for $n=2$ there will be three contributions from $h[n]$,$h[n-1]$ and $h[n-2]$ yielding $y[2] = x[0]h[2] + x[1]h[1] + x[2]h[0]$... and so on.

Note that the computation of the sampe $y[2]$ involves three components. The component $x[2]h[0]$ indicates the response from the current input sample $x[2]$, whereas the contribution $x[1]h[1]$ indicates the remaning response coming from a previous input sample $x[1]$, and the contribution $x[0]h[2]$ indicates the contribution that remains from an input sample $x[0]$ applied two samples ago from the current output $y[2]$.

As the impulse response is shifting to left for each new $k$ away from $n$, the tail of the impulse response at the time $n$ is weighted by $x[k]$ is added up. You add up all of the nonzero contributions this way until all shifts are considered. And that's the sum formula you have.


Not the answer you're looking for? Browse other questions tagged or ask your own question.