Konvolúció
A konvolúció a jelfeldolgozás egyik legelemibb művelete. Ez a lineáris művelet két függvényből állít elő egy harmadikat. Legegyszerűbben úgy szemléltethető a konvolúció, mint egy adatsorozat (egyik függvényből vett minta) súlyozott mozgó átlagának számítása egy adott súlyfüggvény (a másik függvényből vett minta) alapján.
Tartalomjegyzék
Alapvető tulajdonságok
Az [math]f[/math] és [math]g[/math] függvények konvolúcióját [math]f * g[/math]-vel jelöljük. A „csillag” műveleti jel nem tévesztendő össze a szorzást jelölő ponttal. A hasonlóság azért nem véletlen, mert konvolúció alaptulajonságai megegyeznek a szorzáséval:
- [math]f * g = g * f[/math]
- [math]f * (g + h) = f * g + f * h[/math]
Matematikai leírása
Tekintettel arra, hogy a konvolúció fogalmával a rádióamatőr gyakorlatban csak diszkrét idejű rendszerekben találkozunk, így a matematikai definícióját is erre korlátozzuk.
Vegyünk egy jelfolyamot, melynek pillanatértékei g(m) pontokból állnak. Továbbá egy áramköri egységet, amely a konvolúciót elvégzi. Ennek az áramköri egységnek a konvolúció elvégzéséhez f(1)...f(n) konstans együtthatók állnak rendelkezésre. Ekkor a konvolúció leírható az alábbiak szerint:
- [math](f * g)(m) = \sum_n {f(n) \cdot g(m - n)} \,[/math]
ahol:
- g (mint gerjesztés): a beérkező jel mintái, az elemi mintákat g(m) jelöli.
- f: belső függvény, f(1) ... f(n)-nel jelölve a „mintáit”, tehát egy n hosszú konstans vektor (--> ezt határozza meg az eszköz funkcióját - lásd később).
- f * g: a konvolúció eredménye, (f * g)(m) az eredményül kapott elemi mintákat jelöli
Alkalmazások
Diszkrét idejű jelfeldolgozás terén
A konvolúció leg elterjedtebb alkalmazása a digitális szűrőkben található. Megfelelő konstans vektor alkalmazásával érjük el a különböző karakterisztikákat. A konstansok kiszámításához az interneten jobbnál-jobb szűrőtervező szoftverek találhatók. Az algoritmus implementálható jelfeldolgozó processzorokban és mikrovezérlőkben is, de nagysebességű jelfeldolgozás vagy egyéb praktikus szempontok esetén gyakran implementálják FPGA-ban is. Gyengébb minőséget megkövetelő esetben akár nagyobb CPLD-ben is.
Processzoros áramkörben (mikrovezérlő, DSP, személyi számítógép) történő implementálásnál nagy előny, ha a processzor gyors szorzóáramkörrel rendelkezik illetve az is előny, ha hardverből támogatja a ciklikus puffereket. Ezáltal sokkal kevesebb órajel „elpazarlásával” végezhető el a művelet, vagy másszóval sokkal több minta feldolgozható ugyanakkora órajellel járó processzort tartalmazó áramkörrel.
- A szűrőelrendezéseket csoportosítása
- bemenetek száma szerint egy vagy több bemenettel rendelkező
- kimenetek száma szerint egy vagy több kimenettel rendelkező
Alapból az egyetlen bemenettel és egyetlen kimenettel rendelkező szűrőkkel foglalkozunk, ezekből az alappéldákból levezethetőek a több bemenetű illetve több kimenetű elrendezések.
- Elemi szűrőimplementációk
- FIR szűrő (Finite Impulse Response) - véges impulzusválaszú szűrő
- IIR szűrő (Infinite Impulse Response) - végtelen impulzusválaszú szűrő (Butterworth, Chebishev, Cauer szűrők)
- Mi valósítható meg velük?
- Aluláteresztő szűrő (LP filter)
- Felüláteresztő szűrő (HP filter)
- Sáváteresztő szűrő (BP filter)
- Sávzáró szűrő (Notch filter)
- Fázistoló (Delay)
- Hilbert transzformátor (fontos szerepe van az SSB jel demodulásánál)
- Rezonátor (IIR elrendezés megfelelő együtthatók esetén történő gerjedését használja ki)
Egy speciális, úgynevezett átlapolt összeadásos konvolúció az FFT (gyors Fourier transzformáció) eljárás is, amely szintén a legfontosabb jelfeldolgozó algoritmusok egyike. Segítségével apró frekvenciatartományonként vizsgálható az amplitudó és fázis a vizsgált mintában, illetve az elemi amplitudók és fázisok tetszőleges módosítása után a Fourier transzformált jelet visszalakakítva jellé, tetszőleges jelet előállíthatunk a bemenőjelből.
Kétállapotú értékkészlet esetén
Érdemes megemlékezni egy másik igen fontos alkalmazási területről is, ahol a sokbites, finom (analógot reprezentáló) értékkészlet helyett kétállapotú (bináris) formáját használjuk a jelnek. Ilyen bináris alkalmazások a konvolúciós hibajavító eljárások.