Korreláció jelek és rendszerek elméletében

A korreláció azt méri, mennyire hasonlít két jel egymásra különböző időeltolások mellett. Ebben az anyagban a korrelációt algoritmusként, kézi számolásként és interaktív „csúsztatás–szorzás–összegzés” műveletként tárgyalom.

1. Alapintuíció: nem szűrés, hanem hasonlóságmérés

A korrelációban az egyik jelet különböző késleltetésekkel rápróbálom a másikra. Minden késleltetésnél összeszorzom az átfedő mintákat, majd összeadom a szorzatokat. Ha az összeg nagy pozitív, a jelek az adott késleltetésnél hasonló előjelű mintákkal fedik egymást. Ha nagy negatív, akkor hasonló alak, de ellentétes előjel jelenik meg. Ha közel nulla, akkor az adott eltolásnál nincs erős lineáris hasonlóság.

Tanári kulcsmondat: a korreláció minden késleltetéshez rendel egy „illeszkedési pontszámot”.

Emiatt a korreláció természetes eszköz késleltetésbecslésre, mintázatkeresésre, jeldetektálásra, autokorreláció esetén pedig periodicitás és jelstruktúra feltárására.

2. Diszkrét idejű korreláció

Ebben a tananyagban a következő konvenciót használom. Valós jeleknél a komplex konjugálás elhagyható.

Keresztkorreláció: r_xy[k] = Σ_n x[n] · y*[n-k] Autokorreláció: r_xx[k] = Σ_n x[n] · x*[n-k]

Itt k a késleltetés, * pedig komplex konjugálást jelent. Ha a jelek valósak, akkor y*[n-k] = y[n-k]. Véges hosszú sorozatoknál a nem létező indexű mintákat nullának tekintem.

Jelölés Jelentés
x[n] Az a jel, amelyhez képest az illeszkedést vizsgálom.
y[n-k] A másik jel k mintával jobbra tolva.
r_xy[k] Az illeszkedés számszerű értéke az adott késleltetésnél.

3. Kapcsolat a konvolúcióval

A korreláció és a konvolúció azért keveredik gyakran, mert mindkettőben eltolás, szorzás és összegzés történik. A különbség fogalmilag lényeges.

Művelet Diszkrét képlet Mit csinál?
Konvolúció y[n] = Σ_k x[k]h[n-k] Rendszer válaszát számítja ki: bemenet + impulzusválasz → kimenet.
Korreláció r_xy[k] = Σ_n x[n]y*[n-k] Hasonlóságot mér különböző késleltetéseknél.
Legyen: ỹ[n] = y*[-n] Ekkor: r_xy[k] = (x * ỹ)[k]

Vagyis a keresztkorreláció számítható konvolúcióként is, ha a második jelet időben megfordítom és komplex konjugálom. Ez azonban nem jelenti azt, hogy a két művelet fogalmi szerepe azonos.

4. Algoritmus véges sorozatokra

Legyen x hossza N, y hossza M. Nullakiterjesztést feltételezve a természetes késleltetési tartomány:

k = -(M-1), ..., -1, 0, 1, ..., N-1

A számítás:

for k = -(M-1) ... (N-1): sum = 0 for n = 0 ... (N-1): m = n - k if 0 ≤ m < M: sum = sum + x[n] · conjugate(y[m]) r[k] = sum

A belső ciklus csak az átfedő mintákat használja. Ez különösen fontos, mert a széleken kevesebb minta fed át, ezért a nyers korreláció szélső értékei gyakran kisebbek.

5. Normalizált korreláció

A nyers korreláció függ a jelek amplitúdójától és az átfedő minták számától. Ha alakot akarok összehasonlítani, gyakran célszerű normalizálni.

ρ_xy[k] = Σ_n x[n]y*[n-k] ──────────────────────────── sqrt(Σ_n |x[n]|² · Σ_n |y[n-k]|²)

Így az érték ideális esetben -1 és 1 közé kerül: 1 erős azonos irányú hasonlóság, -1 erős ellentétes előjelű hasonlóság, 0 gyenge lineáris hasonlóság.

Óvatosan: a normalizálás nem javít meg minden problémát. DC-eltolás, trend, nem stacionárius jel vagy kevés átfedő minta félrevezető maximumot adhat. Ilyenkor középérték-levonás vagy ablakolt normalizálás indokolt.

6. Kézi számolási példa

Vegyük a következő két véges sorozatot: x = [1, 2, 1], y = [1, 1]. A használt képlet: r_xy[k] = Σ_n x[n]y[n-k].

Késleltetés Átfedő tagok Összeg
k = -1 x[0]y[1] = 1·1 1
k = 0 x[0]y[0] + x[1]y[1] = 1·1 + 2·1 3
k = 1 x[1]y[0] + x[2]y[1] = 2·1 + 1·1 3
k = 2 x[2]y[0] = 1·1 1
Az eredmény: r_xy[-1..2] = [1, 3, 3, 1]. A két azonos maximum azt jelzi, hogy a rövid [1,1] minta két helyen is hasonlóan jól illeszkedik.

7. Interaktív demonstráció

Add meg a két sorozatot vesszővel, szóközzel vagy pontosvesszővel elválasztva. A csúszka a késleltetést állítja. Az ábra felül az x[n] jelet, alul a y[n-k] eltolt jelet mutatja.

A kijelölt késleltetés szorzatai

Korrelációs értékek

8. Autokorreláció értelmezése

Az autokorreláció ugyanazt a jelet hasonlítja önmagához eltolt változatban. Ezért a zérus késleltetésnél kapott nyers érték a jel energiája:

r_xx[0] = Σ_n |x[n]|²

Valós jeleknél az autokorreláció páros: r_xx[k] = r_xx[-k]. Komplex jeleknél hermitikus szimmetria jelenik meg: r_xx[k] = r_xx*[-k].

Periodikus jel autokorrelációja periodikus csúcsokat mutat. Ezért az autokorreláció használható periódusidő becslésére, de zaj, harmonikusok és véges ablak miatt a maximumok értelmezése nem automatikus.

9. Statisztikai korreláció vagy jelkorreláció?

A jelek és rendszerek elméletében a korreláció gyakran nem ugyanaz, mint a statisztikai Pearson-féle korrelációs együttható.

Fogalom Jellemző
Jelkorreláció Késleltetésfüggő függvény: r_xy[k].
Pearson-korreláció Középérték-levont és szórással normalizált egyetlen szám.
Gyakori hiba: két nagy DC-komponensű jel nyers korrelációja nagy lehet akkor is, ha az alakjuk érdemben nem hasonló. Ilyenkor a középérték levonása nem opcionális technikai részlet, hanem a helyes modell része.

10. Tipikus hallgatói hibák

  • Összekeverik a konvolúcióval: a képletszerű kapcsolat ellenére a cél eltérő.
  • Rossz előjelű késleltetést olvasnak le: a használt konvenciót mindig rögzíteni kell.
  • Elfelejtik a komplex konjugálást: komplex jeleknél ez nem kozmetikai részlet.
  • A nyers maximumot túlértelmezik: amplitúdó és átfedési hossz torzíthat.
  • Nem vonnak középértéket: DC-komponens hamis hasonlóságot kelthet.
  • Az autokorrelációt keresztkorrelációként kezelik: az autokorreláció speciális eset, erősebb szimmetriatulajdonságokkal.
  • A széleket figyelmen kívül hagyják: a kevés átfedő minta miatt a szélső késleltetések statisztikailag gyengébbek.
  • Periodikus és véges hosszú korrelációt összemossák: körkörös korrelációnál az indexelés moduló szerint történik.

11. Ellenőrző kérdések

1. Mi a korreláció legfontosabb fogalmi jelentése?

Késleltetésfüggő hasonlóságmérés. Nem elsősorban rendszerkimenetet számít, hanem azt mutatja meg, melyik eltolásnál illeszkedik legjobban két jel.

2. Miért lehet a keresztkorrelációt konvolúcióval számolni?

Mert r_xy[k] = (x * ỹ)[k], ahol ỹ[n] = y*[-n]. A második jelet időben megfordítom és komplex konjugálom, majd konvolúciót végzek.

3. Mit jelent az autokorreláció zérus késleltetésű értéke?

Véges energiájú diszkrét jel esetén r_xx[0] = Σ|x[n]|², tehát a jel energiája.

4. Miért veszélyes csak a nyers korreláció maximumára támaszkodni?

Mert a nyers érték függ az amplitúdótól, az átfedő minták számától és a DC-komponenstől. Nagy maximum nem feltétlenül jelent értelmes alakhasonlóságot.

5. Mikor kell komplex konjugálást használni?

Komplex jeleknél mindig. Valós jeleknél a konjugálás nem változtat az értéken, ezért gyakran nem írják ki.