Konvolutsioon

Konvolutsioon on matemaatiline operatsioon (integraalteisendus) kahe funktsiooni (f ja g) vahel, mille tulemusena tekib kolmas funktsioon (f∗g), mis kirjeldab kuidas ühe funktsiooni kuju muudab teist. Konvolutsiooni terminit kasutatakse nii selle tulemus funktsiooni jaoks kui ka selle protsessi kirjelduseks. See on integraal funktsioonide f ja g korrutisest, kus ühe funktsiooni argumenti on peegeldatud ja nihutatud. Integraal on leitud kõikide nihutatud väärtuste jaoks, mille tulemus on konvolutsiooni funktsioon. Konvolutsiooni kasutatakse näiteks tõenäosusteoorias, statistikas, akustikas, spektroskoopias, signaalitöötluses, pilditöötluses ja lineaarsete diferentsiaalvõrrandite lahendamisel. Funktsioonide f ja g konvolutsiooni tähistatakse f∗g valemiga, kus sümbol ∗ tähistab konvolutsiooni operatsiooni. See on defineeritud integraal funktsioonide f ja g korrutisest, kus ühe funktsiooni argumenti on peegeldatud ja nihutatud, mille on tulemus selline integraalteisendus: ( f ∗ g ) ( t ) := ∫ − ∞ ∞ f ( τ ) g ( t − τ ) d τ . {\displaystyle (f*g)(t):=\int _{-\infty }^{\infty }f(\tau )g(t-\tau )\,d\tau .} Samaväärne valem (kasutades kommutatiivsust): ( f ∗ g ) ( t ) := ∫ − ∞ ∞ f ( t − τ ) g ( τ ) d τ . {\displaystyle (f*g)(t):=\int _{-\infty }^{\infty }f(t-\tau )g(\tau )\,d\tau .} Funktsioonidel f ja g, kus lubatud vahemik on [ 0 , ∞ ) {\displaystyle [0,\infty )} , saab valemit esitada kujul: ( f ∗ g ) ( t ) = ∫ 0 t f ( τ ) g ( t − τ ) d τ   kus  f , g : [ 0 , ∞ ) → R . {\displaystyle (f*g)(t)=\int _{0}^{t}f(\tau )g(t-\tau )\,d\tau \quad \ {\text{kus }}f,g:[0,\infty )\to \mathbb {R} .} Tihti kasutatakse tehnilistes lahendustes sellist esitust: f ( t ) ∗ g ( t ) := ∫ − ∞ ∞ f ( τ ) g ( t − τ ) d τ ⏟ ( f ∗ g ) ( t ) , {\displaystyle f(t)*g(t)\,:=\underbrace {\int _{-\infty }^{\infty }f(\tau )g(t-\tau )\,d\tau } _{(f*g)(t)},} mida peab tõlgendama rahulikult segaduse vältimiseks. Näiteks, f ( t ) ∗ g ( t − t 0 ) {\displaystyle f(t)*g(t-t_{0})} on samaväärne valemiga ( f ∗ g ) ( t − t 0 ) {\displaystyle (f*g)(t-t_{0})} , kuid f ( t − t 0 ) ∗ g ( t − t 0 ) {\displaystyle f(t-t_{0})*g(t-t_{0})} on hoopis samaväärne valemiga ( f ∗ g ) ( t − 2 t 0 ) {\displaystyle (f*g)(t-2t_{0})} . Üks vanemaid konvolutsiooni integraali kasutusi esines Taylori valemi tuletise võtmises D'Alemberti teoses "Recherches sur différents points importants du système du monde" (avaldatud 1754). Sammuti valemi esitus: ∫ f ( u ) ⋅ g ( x − u ) d u {\displaystyle \int f(u)\cdot g(x-u)\,du} leidub Sylvestre François Lacroix raamatus "Treatise on differences and series", mis omakorda ilmus entsüklopeedilises sarjas "Traité du calcul différentiel et du calcul intégral", Chez Courcier, Pariis, 1797–1800. Peale seda hakkas konvolutsiooni operatsioon ilmuma ka teistes autorite töödes, näiteks Pierre Simon Laplace, Joseph Fourier, Siméon Denis Poisson. Aga termin ise hakkas laialdasemat kasutust leidma alles 1950. või 1960. aastatel. Enne seda kasutati nimesid/nimetusi Faltung ('voltimine' saksa keeles), kompositsiooni summa, superpositsiooni integraal ja Carsoni integraal. Operatsioon: ∫ 0 t φ ( s ) ψ ( t − s ) d s , 0 ≤ t < ∞ , {\displaystyle \int _{0}^{t}\varphi (s)\psi (t-s)\,ds,\qquad 0\leq t<\infty ,} oli esimesena kasutatud 1913. aastal Itaalia matemaatiku Vito Volterra poolt. Kompleksarvulised funktsioonid f ja g, mis on defineeritud kindla Z hulga arvudel, saab konvolutsiooni tulemust defineerida järgmiselt: ( f ∗ g ) [ n ] = ∑ m = − ∞ ∞ f [ m ] g [ n − m ] , {\displaystyle (f*g)[n]=\sum _{m=-\infty }^{\infty }f[m]g[n-m],} või sellega samaväärne valem (kaustades kommutatiivsus omadust): ( f ∗ g ) [ n ] = ∑ m = − ∞ ∞ f [ n − m ] g [ m ] . {\displaystyle (f*g)[n]=\sum _{m=-\infty }^{\infty }f[n-m]g[m].} Tihti on tavalisest diskreetsest konvolutsiooni operatsioonist võimalik moodustada ringkonvolutsiooni ja selle tulemusel saab kasutada kiireid teisendus algoritme, mis on sammuti konvolutsiooni omadustega ja nendega koostada konvolutsiooni protsessi. Tavalise diskreetse konvolutsiooni arvutamisel N hulga elementide peal on selle võimalik keerukus N 2 {\displaystyle N^{2}} . Kuid Fourier'i kiirteisendus algoritm kasutades, mis on kõige populaarsem kiirteisenduse algoritm, on võimalik N hulga elementide pealt keerukuse viia O ( N log ⁡ N ) {\displaystyle O(N\log N)} peale. Digitaalses signaalitöötluses on populaarne kasutada veel teisti algoritme, näiteks overlap-add meetodit, mille põhimõtteks on viia mõlemad signaalid sagedusruumidesse kasutades FFT funktsiooni, korrutades need oma vahel läbi ning lõpuks tagasi viia aegruumi kasudes pöörd FFT funktsiooni. Kommutatiivsus f ∗ g = g ∗ f {\displaystyle f*g=g*f\,} Assotsiatiivsus f ∗ ( g ∗ h ) = ( f ∗ g ) ∗ h {\displaystyle f*(g*h)=(f*g)*h\,} Distributiivsus f ∗ ( g + h ) = ( f ∗ g ) + ( f ∗ h ) {\displaystyle f*(g+h)=(f*g)+(f*h)\,} Assotsiatiivsus korrutamisel skalaariga a ( f ∗ g ) = ( a f ) ∗ g = f ∗ ( a g ) {\displaystyle a(f*g)=(af)*g=f*(ag)\,} kus a {\displaystyle {a}\,} on suvaline reaalarv (või kompleksarv). Kaaskompleksi võtmine f ∗ g ¯ = f ¯ ∗ g ¯   {\displaystyle {\overline {f*g}}={\overline {f}}*{\overline {g}}\!\ } Multiplikatiivne ühikelement f ∗ δ = f {\displaystyle f*\delta =f\,} kus δ on Diraci deltafunktsioon. Pöördelement Mõnedel S kogumitel leidub pöördelementS−1, mida konvolutsioon rahuldab valemiga: S − 1 ∗ S = δ {\displaystyle S^{-1}*S=\delta } Suhe diferentseerimisega ( f ∗ g ) ′ = f ′ ∗ g = f ∗ g ′ {\displaystyle (f*g)'=f'*g=f*g'} Tõestus: ( f ∗ g ) ′ = d d t ∫ − ∞ ∞ f ( τ ) g ( t − τ ) d τ = ∫ − ∞ ∞ f ( τ ) ∂ ∂ t g ( t − τ ) d τ = ∫ − ∞ ∞ f ( τ ) g ′ ( t − τ ) d τ = f ∗ g ′ . {\displaystyle {\begin{aligned}(f*g)'&={\frac {d}{dt}}\int _{-\infty }^{\infty }f(\tau )g(t-\tau )\,d\tau \\[4pt]&=\int _{-\infty }^{\infty }f(\tau ){\frac {\partial }{\partial t}}g(t-\tau )\,d\tau \\[4pt]&=\int _{-\infty }^{\infty }f(\tau )g'(t-\tau )\,d\tau =f*g'.\end{aligned}}} Suhe integreerimisega Kui F ( t ) = ∫ − ∞ t f ( τ ) d τ , {\displaystyle F(t)=\int _{-\infty }^{t}f(\tau )d\tau ,} ja G ( t ) = ∫ − ∞ t g ( τ ) d τ , {\displaystyle G(t)=\int _{-\infty }^{t}g(\tau )\,d\tau ,} sii ( F ∗ g ) ( t ) = ( f ∗ G ) ( t ) = ∫ − ∞ t ( f ∗ g ) ( τ ) d τ . {\displaystyle (F*g)(t)=(f*G)(t)=\int _{-\infty }^{t}(f*g)(\tau )\,d\tau .} Kui ƒ ja g on integreeruvad funktsioonid, siis integraal nende konvolutsioonist faktoriseerub: ∫ R d ( f ∗ g ) ( x ) d x = ( ∫ R d f ( x ) d x ) ( ∫ R d g ( x ) d x ) . {\displaystyle \int _{\mathbf {R} ^{d}}(f*g)(x)\,dx=\left(\int _{\mathbf {R} ^{d}}f(x)\,dx\right)\left(\int _{\mathbf {R} ^{d}}g(x)\,dx\right).} Ühe muutuja funktsioonide korral d d x ( f ∗ g ) = d f d x ∗ g = f ∗ d g d x {\displaystyle {\frac {d}{dx}}(f*g)={\frac {df}{dx}}*g=f*{\frac {dg}{dx}}\,} kus d/dx on tuletis. Mitme muutuja funktsioonide juhul kehtib analoogne samasus osatuletise jaoks: ∂ ∂ x i ( f ∗ g ) ( x ) = ∂ f ∂ x i ∗ g = f ∗ ∂ g ∂ x i . {\displaystyle {\frac {\partial }{\partial x_{i}}}(f*g)(x)={\frac {\partial f}{\partial x_{i}}}*g=f*{\frac {\partial g}{\partial x_{i}}}.} Funktsioonide ƒ ja g konvolutsiooni Fourier' pööre on ƒ ja g Fourier' pöörete konvolutsioon: F [ f ∗ g ] = F [ f ] F [ g ] {\displaystyle {\mathcal {F}}[f*g]={\mathcal {F}}[f]{\mathcal {F}}[g]\,} , kus F [ f ] {\displaystyle {\mathcal {F}}[f]} tähistab Fourier' pööret funktsioonist f. Konvolutsiooni on võimalik kasutada pajudes tehnilistes ja matemaatilistes rakendustes. Digitaalses pilditöötluses mängib konvolutsiooni kasutus väga olulist rolli. Selle tulemusel on võimalik teha pildil servi tuvastust ja pilti hägustada. Optikas saab kasutada konvolutsiooni, et moodustada pildil teravustamata tausta efekt. Fotograafias seda nimetatakse boke efektiks. Statistikas kaalutud liikuv keskmine on konvolutsioon. Akustikas saab kasutada konvolutsiooni, et originaal helile lisada kaja efekti. Elektrotehnika saab kasutada konvolutsiooni ühe sisendina signaali ja teisena signaali (impulsskostet), et moodustada lineaarne nihkeinvariantne süsteem. Steven W. Smith. "The Scientist and Engineer's Guide to Digital Signal Processing". Vaadatud 19.04.2021. Irwin, J. David; Wilamowski, Bogdan M. (2011). The Industrial Electronics Handbook (2 ed.). CRC Press. ISBN 9781439802892. Alejandro Dominguez-Torres. "The origin and history of convolution". Vaadatud 19.04.2021. R. N. Bracewell. "Early work on imaging theory in radio astronomy". Cambridge University Press. Vaadatud 19.04.2021. Gathen, Joachim von zur; Gerhard, Jürgen (2013). Modern Computer Algebra (3 ed.). Cambridge University Press. ISBN 978-1-107-03903-2. Convolution veebiportaalis MathWorld.