Convolution

CONVOLUTION

CONVOLUTION is a mathematical operator “*”.Graphically, it expresses how the ‘shape’ of one function is modified by the other.

It is applicable only to Linear Time Invariant Systems.

Time Invariant: systems where a sh…


This content originally appeared on DEV Community and was authored by vivekvohra

CONVOLUTION

CONVOLUTION is a mathematical operator “*”.Graphically, it expresses how the 'shape' of one function is modified by the other.

It is applicable only to Linear Time Invariant Systems.

Time Invariant: systems where a shift in input results in an identical shift in output.eg:

Image description

Linear:In simple terms it is a graph between output and input which must be a straight line through the origin without having saturation or dead time.

Image description
For discrete systems, the formula is :

Image description

Image description

https://youtu.be/QmcoPYUfbJ8?si=2CCf64_x9fGl7jx5

In this video, we understand convolution using a great analogy. Suppose we want to find how much smoke burning several matchsticks produce. Here we take a time frame of 5 minutes. Let's define 2 functions:

Smoke function: S(t) - It describes the amount of smoke produced by a single matchstick across time. It might be an exponential decay graph.
Image description

Firework function: F(t)- It describes the number of matchsticks lit per minute.
Let it be a linear function. y = x

  • t=0 1 match was lit
  • t=2 2 matches were lit: total smoke = smoke from 2 sticks at present = 2*S(0) (because for matchsticks at this time they just started burning) + smoke of prev. 1 stick after 1 sec. of burning = 1*S(1). Image description
at minute 0 1*S(0)
at minute 1 2*S(0)+ 1*S(1)
at minute 2 3*S(0) + prev(t + 1)

Thus we can conclude that it indeed follows the above equation.

We can visualize convolution as a sliding window:

Image description

Image description

Image description

Image description

Now if are 1st function is very large as compared to our 2nd function

Our visualization will be somewhat like this:

Image description

In 2-D version(Image processing)

Image description

or using Alternate illustration :

In the 2-D function, we can solve this Matrix convolution at (2,2) by flipping and multiplying.

i.e. = (i*1)+(h*2)+(g*3)+(f*4)+ (e*5) + (d*6) + (c*7) + (b*8) + (a*9)

In Image Processing, the 2nd function is known as Kernel which is in this case 3x3 matrix

[1/9, 1/9, 1/9],

[1/9, 1/9, 1/9],

[1/9, 1/9, 1/9]

We could have solved our Blur function by taking our 2nd function such that it sum of all nodes is 1 and then doing the convolution. (Remember while multiplying we have to flip the Matrix!!).


This content originally appeared on DEV Community and was authored by vivekvohra


Print Share Comment Cite Upload Translate Updates
APA

vivekvohra | Sciencx (2025-03-07T20:14:09+00:00) Convolution. Retrieved from https://www.scien.cx/2025/03/07/convolution/

MLA
" » Convolution." vivekvohra | Sciencx - Friday March 7, 2025, https://www.scien.cx/2025/03/07/convolution/
HARVARD
vivekvohra | Sciencx Friday March 7, 2025 » Convolution., viewed ,<https://www.scien.cx/2025/03/07/convolution/>
VANCOUVER
vivekvohra | Sciencx - » Convolution. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2025/03/07/convolution/
CHICAGO
" » Convolution." vivekvohra | Sciencx - Accessed . https://www.scien.cx/2025/03/07/convolution/
IEEE
" » Convolution." vivekvohra | Sciencx [Online]. Available: https://www.scien.cx/2025/03/07/convolution/. [Accessed: ]
rf:citation
» Convolution | vivekvohra | Sciencx | https://www.scien.cx/2025/03/07/convolution/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.