Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Na predmete Signály a sústavy a Číslicové spracovanie signálov sa pojednávalo o konvolúcií ako o matematickej operácii, ktorá má v oblasti spracovania signálov veľký význam. Jej význam spočíva v tom, že v spojení so spektrálnou analýzou umožňuje vyjadrenie vplyvu násobenia signálov vo frekvenčnej oblasti na ich podobu v časovej oblasti a naopak. Ak sa násobia spektra dvoch signálov, potom v časovej oblasti prebieha ich konvolúcia. Konvolúcia predstavuje základný nástroj pri výpočte vplyvu sústavy na signál, pretože ak je signál spracovávaný sústavou dochádza ku konvolúcii signálu a impulznej odpovede sústavy. V spektrálnej oblasti zasa dochádza k násobeniu spektra signálu s prenosovou s frekvenčnou prenosovou funkciou sústavy. Počas prednášok zmieňovaných predmetov sme hovorili výlučne o jednorozmernej podobe konvolúcie. Konvolúciu však možno vykonať aj v mnohodimenzionálnom priestore. Budeme sa zaoberať jej podobou pre 2D priestor teda obraz.  Pre výpočet konvolúcie môžeme použiť nasledovný vzťah:

Vidíme, že uvedený vzťah predstavuje sumu súčinov posunutých vzoriek signálov x a h (impulzná odozva). Ďalej si je možné všimnúť, že signál h je nielen posunutý o i a j vzoriek, ale je navyše aj obrátený.  Signál h(n1, n2) otočíme v horizontálnom aj vertikálnom smere a získame tak signál h(-n1, -n2).  Je nutné poznamenať, že výstupná postupnosť bude v oboch smeroch predĺžená.

Majme dva obrazy:

Veľkosť postupnosti y vypočítame ako súčet dĺžok oboch vstupných signálov mínus 1. Teda ak vieme, že v horizontálnom smere signály majú rozmer 5 a 3, tak výstup bude mať v horizontálnom smere dĺžku 5+3–1=7 a vo vertikálnom smere 6+3–1=8. Na tento fakt treba pri konvolúcii vždy pamätať! Pri výpočte konvolúcie si pomôžeme vhodným grafickým zápisom a nepriamo sa tak vyhneme výpočtu podľa uvedeného vzťahu /samozrejme daný postup je v úplnom súlade s uvedenou rovnicou/. Jednotlivé signály budeme cez seba posúvať z ľavého horného rohu do pravého dolného rohu dovtedy, dokiaľ sa budú signály prekrývať. Indexy posunu budú indexami počítaného prvku signálu y.

Tak ako v prípade jednorozmernej konvolúcie aj pri jej dvojrozmernej implementácií otáčame a posúvame ten obraz, ktorý je jednoduchší. V našom prípade je vhodné otočiť a posúvať obraz h.

V nasledujúcom kroku začneme cez ľavý horný rohu obrazu x prekrývať otočený obraz h. Prvky, ktoré sa prekrývajú vynásobíme a výsledky sčítame.


Takto sme vypočítali prvý riadok vzájomnej konvolúcie. V nasledujúcom kroku sa otočená verzia signálu h posunie o jeden riadok nižšie a proces sa opakujezopakuje.

Proces končí vypočítaním, keď sa obrazy už nebudú prekrývať. Posledný výpočet bude vyzerať nasledovne.