Konvoliucija
Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
Matematikoje konvoliucija yra matematinis operatorius, kuris kaip argumentus paima dvi funkcijas "f" ir "g" ir gąžina trečią, kuri, tam tikra prasme, parodo "f" ir "g" persidengimo kiekį.
Dažniausiai viena funkcija imama kaip fiksuotas filtras, dar vadinamas branduoliu (angl. kernel).
Turinys |
[taisyti] Apibrėžimas
ir funkcijų konvoliucija žymima . Ji apibrėžiama kaip funkcijų sandaugos integralas, po to, kai viena jų buvo paversta ir padauginta iš -1. Taigi, konvoliucija yra integralinės transformacijos rūšis:
Integravimo rėžiai priklauso nuo funkcijų apibrrėžimo srities. Dažniausiai a = -∞ ir b = +∞. Integravimo baigtiniame intervale atveju, ir dažnai išplėčiamos periodiškai abiejomis kryptimis, kad reiškinyje argumentas visada priklausytų apibrėžimo sričiai. Toks periodinis sričių panaudojimas kartais vadinamas cikline arba periodine konvoliucija. Kai apibrėžimo sritis išplėčiama, imant funkcijos reikšmes naujuose taškuose lygius 0, konvoliucija vadinama tiesine.
[taisyti] Diskreti konvoliucija
Diskrečioms funkcijoms galime apibrėžti diskrečią konvoliucijos operaciją :
Naudojant pastarąją formulę konvoliucijos sudėtingumas yra lygus O(N2) aritmetinių operacijų "N" taškams. Tačiau šis dydis gali būti sumažintas iki O(N log N), panaudojant greitesnius algoritmus.
[taisyti] Greiti konvoliucijos algoritmai
Praktikoje, skaitmeniniame signalų apdorojime, ir kituose uždaviniuose, kuriuose naudojama diskrečioji konvoliucija, paprastai naudojami greitesni konvoliucijos skaičiavimo algoritmai, sumažinantys sudėtingumą iki O(N log N).
Plačiausiai taikomas greitosios konvoliucijos algoritmas naudoją greitosios Furjė transformacijos algoritmą (angl. FFT) konvoliucijos teoremos pagalba: randama ciklinė konvoliucija imant FFT kiekvienos sekos atskirai, dauginama pataškiui, ir tada atliekama atvirkštinė FFT. Neciklinės konvoliucijos gali būti paskaičiuotos naudojant nulinį išplėtimą.
Žinoma, yra ir kitokių greitosios konvoliucijos algoritmų, nenaudojančių FFT kaipo tokios, kaip, pavyzdžiui, skaičių teorijos transformacijos algoritmai.
[taisyti] Savybės
[taisyti] Komutatyvumas
[taisyti] Asociatyvumas
[taisyti] Distributyvumas
[taisyti] Vienietinis elementas
kur δ žymi δ funkciją.
[taisyti] Daugybos su skaliaru asociatyvumas
kiekvienam realiam (arba kompleksiniam) .
[taisyti] Diferencijavimo taisyklė
kur žymi f išvestinę, arba, diskrečiu atveju, skirtumo operatorių . Rezultate į konvoliuciją galima žiūrėti kaip į išlyginimo operaciją: "f" ir "g" konvoliucija diferencijuojama tiek kartų, kiek daugiausia diferencijuojama viena iš jų.
[taisyti] Konvoliucijos teorema
Konvoliucijos teorema sako:
kur žymi f Furjė transformaciją, o k - konstantą, priklausančią nuo specifinės Furjė transformacijos normalizacijos (pvz., k = 1, jeigu ).
[taisyti] Taikymai
Konvoliucija ir panašios operacijos dažnai sutinkamos daugumoje inžinerijos ir matematikos uždavinių..
- Optikoje daugybė suliejimų aprašoma konvoliucijomis. Šešėlis (pvz., rankos šešėlis ant stalo, kai ranka yra tarp stalo ir šviesos šaltinio) yra konvoliucija daikto formos, kuris meta šešėlį, ir objekto, kuris skleidžia šviesą.
- Skaitmeniniame vaizdų apdorojime konvoliucinis filtravimas vaidina svarbų vaidmenį daugybėje kontūrų atpažinimo ir panašiuose algoritmuose.
- Tiesinėje akustikoje, aidas yra tikrojo garso ir funkcijos, aprašančios, kaip garsas toje aplinkoje atspindimas daiktų, konvoliucija.
- Skaitmeniniame signalų apdorojime dažninis filtravimas gali būti supaprastintas iki dviejų funkcijų konvoliucijos (duomenų ir filtro), kas bus analogiška duomenų ir filtro dauginimui dažnių erdvėje.
[taisyti] Nuorodos
- http://www.jhu.edu/~signals/convolve/index.html Konvoliucijos vizualizacija (Java apletas).
- http://www.jhu.edu/~signals/discreteconv2/index.html Diskrečių funkcijų vizualizacija (java apletas).