Z Brain-wiki
Skocz do: nawigacja, szukaj

AS/ Twierdzenie o splocie

Korelacja i splot

Korelacja jest miarą podobieństwa lub wzajemnej zależności. Jeśli mówimy, że występuje korelacja między wydajnością i ceną komputerów, to mamy na myśli stwierdzenie, że droższe komputery mają zwykle większą moc obliczeniową — im mniej przypadków przeciwnych, tym korelacja silniejsza. Silna korelacja sygnałów x i y oznacza, że wzrostowi x towarzyszy najczęściej wzrost y \left( x_\nearrow\;\rightarrow y_\nearrow \right). Jeśli przeważa sytuacja odwrotna \left( x_\nearrow\; \rightarrow y_\searrow\right) mówimy o korelacji ujemnej.

Miarą współzmienności (kowariancji) dwóch sygnałów jest ich iloczyn. Przed obliczeniem tego iloczynu (w ogólnym przypadku mówimy o jego wartości oczekiwanej) od każdego z sygnałów warto odjąć wartość średnią:

\sigma_{x y}=\int \left(x(t)-\bar{x}\right)\left(y(t)-\bar{y}\right) dt

Dzięki temu w przypadku, gdy sygnały są od siebie niezależne, \sigma_{x y} będzie bliska zeru — uniezależnia to miarę kowariancji od wartości średnich sygnałów. Aby otrzymać wartości z przedziału [ -1, 1 ] wprowadzamy jako czynnik normalizacyjny wariancję sygnału:

\sigma^2_s=\int\left( s(t)-\bar{s}\right)^2 dt

Znormalizowaną w ten sposób kowariancję zwiemy korelacją:

\mathrm{korelacja}_{x y} = \frac{\sigma_{x y}}{\sqrt{\sigma^2_x\sigma^2_y}}

Może się zdarzyć, że dwa sygnały są bardzo podobne, tylko przesunięte względem siebie w czasie. W wykryciu takiej sytuacji pomaga funkcja korelacji wzajemnej, czyli korelacja dwóch sygnałów w funkcji ich wzajemnego przesunięcia. Z kolei autokorelacja to miara korelacji sygnału s(t) z jego kopią przesuniętą o \tau. Pomijając normalizację i odejmowanie średnich otrzymamy

\sigma_{s, s}(\tau)=\int s(t) s(t+\tau) dt

Od góry: sygnał s(t), ten sam sygnał przesunięty w czasie o \tau, i jego funkcja autokorelacji.

Funkcja autokorelacji będzie miała oczywiście maksimum w zerze, a istnienie innych maksimów związane jest z występowaniem w sygnale okresowo powtarzających się zjawisk. Twierdzenie Wienera-Chinczyna mówi wręcz, że widmo mocy obliczać możemy jako transformatę Fouriera funkcji autokorelacji.

\mathrm{corr}\left(x(t),y(t)\right) = \frac{\sigma^2_{x y}}{\sigma_x \sigma_y} =\frac{\int (x(t)-\mu_x)( y(t)-\mu_y) dt } {\sqrt{ \int (x(t)-\mu_x)^2 dt  \int (y(t)-\mu_y)^2 dt }}

lub

\frac{\sum_i (x_i-\mu_x)(y_i-\mu_y)}{\sqrt{\sum_j (x_j-\mu_x)^2 \sum_k (y_k-\mu_y)^2}}

Rozważmy transformatę Fouriera funkcji korelacji sygnałów f i g, dla uproszczenia pomijając normalizację: s(\tau)=\int f(t) g(t+\tau) dt

\hat{s}(\omega)=\int e^{-i\omega \tau} \left( \int f(t) g(t+\tau) dt \right) d\tau

=\int e^{-i\omega (t+\tau)} g(t+\tau)\; dt \int e^{i\omega t} f(t) \; d\tau

= \int e^{-i\omega u} g(u) du \int e^{i\omega t } f(t) dt =\hat{g}(\omega) \overline{\hat{f}(\omega)}

Jak widać, operator korelacji odpowiada w przestrzeni transformat Fouriera iloczynowi transformaty jednego sygnału ze sprzężeniem zespolonym transformaty drugiego.

Twierdzenie o splocie

s(t) = \int_{-\infty}^{\infty} f(u) g(t-u) du \;\; \Longrightarrow \;\;\; \hat{s}(\omega) = \hat{f}(\omega) \hat{g}(\omega)

... czyli splot w przestrzeni czasu odpowiada iloczynowi w przestrzeni transformat Fouriera.

Jest to wynik wygodniejszy od wzoru (1), stąd filtrowanie realizowane jest właśnie z pomocą splotu, który jak widać z równania (1) jest korelacją z sygnałem o odwróconym kierunku czasu.

Dowód:

\hat{s}(\omega) = \int_{-\infty}^{\infty} e^{-i \omega t} s(t) d t = \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} e^{-i \omega t} f(u) g(t-u) \,d u \,d t = \int_{-\infty}^{\infty} e^{- i \omega u} f(u) \left( \int_{-\infty}^{\infty}  e^{-i \omega (t-u)}g(t-u) dt \right) du

Całka w nawiasie przebiega od -\infty do \infty, więc możemy zamienić (t-u) na t:

= \int_{-\infty}^{\infty} e^{- i \omega u} f(u) \left( \int_{-\infty}^{\infty} e^{- i \omega t}g(t) dt \right) du =\hat{f}(\omega) \hat{g}(\omega)

Iloczyn i korelacja dyskretnych sekwencji x i y\ldots


Splot ma ponadto własność łączności, czyli (f*g)*h = f*(g*h). Z definicji

((f*g)*h)(u)= \int_{-\infty}^{\infty} (f*g)(x) h(u-x)\,dx

= \int_{-\infty}^{\infty} \left[ \int_{-\infty}^{\infty} f(y) g(x-y)\,dy\right] h(u-x)\,dx

= \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} f(y) g(x-y) h(u-x)\,dy\,dx.

Zmieniamy kolejność całkowania na mocy twierdzenia Fubiniego:

((f*g)*h)(u)= \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} f(y) g(x-y) h(u-x)\,dx\,dy = \int_{-\infty}^{\infty} f(y) \left[\int_{-\infty}^{\infty} g(x-y) h(u-x)\,dx\right]\,dy.

przyjrzyjmy się całce w nawiasie kwadratowym; całki są po \mathbb{R}, więc na mocy niezmienności względem przesunięcia możemy odjąć od argumentów y:

\int_{-\infty}^{\infty}} g(x-y) h(u-x)\,dx = \int_{-\infty}^{\infty} g((x+y)-y) h(u-(x+y))\,dx

= \int_{-\infty}^{\infty} g(x) h((u-y)-x)\,dx = (g*h)(u-y).

Tak więc pokazaliśmy, że

((f*g)*h)(u) = \int_{-\infty}^{\infty} f(y)(g*h)(u-y)\,dy = (f*(g*h))(u)