f * g = F-1{ F(f) · F(g) }    Convolution in time ↔ multiplication in frequency
f(x) — signal time domain
|F(f)| — signal spectrum FFT →
g(x) — kernel time domain
|F(g)| — kernel spectrum FFT →
(f * g)(x) — direct convolution time domain
(f*g)(t) = Σk f(k) · g(t - k)
F(f)·F(g) & F-1{...}
|F(f)·F(g)| IFFT result
F-1{ F(f) · F(g) } == f * g