Twierdzenia o splocie i o próbkowaniu (aliasing)

Z Brain-wiki
Wersja z dnia 12:06, 16 paź 2024 autorstwa Durka (dyskusja | edycje) (→‎Korelacja i splot)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)

AS/ Twierdzenie o splocie

splot sygnałów — demo

Korelacja i splot

Przypomnijmy z wykładu z Wnioskowania: 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 [math]x[/math] i [math]y[/math] oznacza, że wzrostowi [math]x[/math] towarzyszy najczęściej wzrost [math]y[/math] [math]\left( x_\nearrow\; \rightarrow y_\nearrow \right)[/math]. Jeśli przeważa sytuacja odwrotna [math]\left( x_\nearrow\; \rightarrow y_\searrow \right)[/math] 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ą:


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


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


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


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


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


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 [math]s(t)[/math] z jego kopią przesuniętą o [math]\tau[/math]. Pomijając normalizację i odejmowanie średnich otrzymamy


[math] \sigma_{s, s}(\tau)=\int s(t) s(t+\tau) dt [/math]


Od góry: sygnał [math]s(t)[/math], ten sam sygnał przesunięty w czasie o [math]\tau[/math], 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.


[math] \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 }} [/math]


lub


[math] \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}} [/math]


Rozważmy transformatę Fouriera funkcji korelacji sygnałów [math]f[/math] i [math]g[/math], dla uproszczenia pomijając normalizację:


[math] \displaystyle s(\tau)=\int f(t) g(t+\tau) dt [/math]


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


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


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


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


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

Twierdzenie o splocie

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


... 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:


[math]\displaystyle \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 [/math]


[math]\displaystyle = \int_{-\infty}^{\infty} e^{- i \omega u} f(u) \left( \int_{-\infty}^{\infty} e^{-i \omega (t-u)}g(t-u) dt \right) du [/math]


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


[math]\displaystyle = \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) [/math]

Iloczyn i korelacja dyskretnych sekwencji [math]x[/math] i [math]y\ldots[/math]


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


[math]\displaystyle ((f*g)*h)(u) = \int_{-\infty}^{\infty} (f*g)(x) h(u-x)\,dx [/math]


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


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


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


[math]\displaystyle ((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. [/math]


przyjrzyjmy się całce w nawiasie kwadratowym; całki są po [math]\mathbb{R}[/math], więc na mocy niezmienności względem przesunięcia możemy przesunąć argument [math]x[/math] o [math]-y[/math] czyli [math]x \rightarrow (x+y)[/math]:


[math]\displaystyle \int_{-\infty}^\infty g(x-y) h(u-x)\,dx = \int_{-\infty}^\infty g((x+y)-y) h(u-(x+y))\,dx [/math]


[math]\displaystyle = \int_{-\infty}^{\infty} g(x) h((u-y)-x)\,dx = (g*h)(u-y). [/math]


Tak więc pokazaliśmy, że


[math]\displaystyle ((f*g)*h)(u) = \int_{-\infty}^{\infty} f(y)(g*h)(u-y)\,dy = (f*(g*h))(u)[/math]