Estymacja widma na podstawie FT: Różnice pomiędzy wersjami
(Nie pokazano 20 pośrednich wersji utworzonych przez tego samego użytkownika) | |||
Linia 1: | Linia 1: | ||
− | = | + | =[[Analiza_sygnałów_-_lecture|AS/]] Estymacja widma na podstawie Transformaty Fouriera= |
− | W praktycznych zastosowaniach mamy do czynienia z sygnałami próbkowanymi o skończonej długości. Transformata Fouriera | + | ==Dyskretna Transformata Fouriera (DFT)== |
− | Formułę na współczynniki | + | |
+ | W praktycznych zastosowaniach mamy do czynienia z sygnałami próbkowanymi o skończonej długości. Transformata Fouriera działająca na takich sygnałach nazywana jest Dyskretną Transformatą Fouriera, a algorytm najczęściej wykorzystywany do jej obliczania to szybka trasnsformata Fouriera (fast Fourier transform FFT). | ||
+ | Formułę na współczynniki transformaty Fouriera można otrzymać z [[Szereg_Fouriera|szeregu Fouriera]]. Załóżmy, że sygnał który chcemy przetransformować składa się z <math>N</math> próbek. | ||
<math> s =\{ s[0],\dots,s[n],\dots s[N-1]\}</math> | <math> s =\{ s[0],\dots,s[n],\dots s[N-1]\}</math> | ||
Linia 10: | Linia 12: | ||
i próbki pobierane były co <math>T_s</math> sekund. Zakładamy, że analizowany sygnał <math>s</math> to jeden okres nieskończonego sygnału o okresie <math>T=N\cdot T_s</math>. Wprowadźmy oznaczenie: | i próbki pobierane były co <math>T_s</math> sekund. Zakładamy, że analizowany sygnał <math>s</math> to jeden okres nieskończonego sygnału o okresie <math>T=N\cdot T_s</math>. Wprowadźmy oznaczenie: | ||
− | <math>s[n]=s( | + | <math>s[n]=s(n T_s)</math>. |
+ | |||
+ | Przepiszmy wzór na współczynniki [[Szereg_Fouriera|szeregu Fouriera]] | ||
− | |||
<math> | <math> | ||
− | + | c_{k} = \frac{1}{T}\int_{0}^{T} s(t) e^\frac{2\pi i k t}{T} d t | |
</math> | </math> | ||
− | =Praktyczna estymacja widma Fourierowskiego sygnałów= | + | Ponieważ sygnał jest teraz dyskretny, całka zamieni się na sumę pól prostokątów o bokach równych wartości funkcji podcałkowej w zadanych punktach <math>x(nT_s)e^{(2i{\pi}knT_s/T)}</math> i odległości między punktami <math>T_s</math>: |
+ | |||
+ | |||
+ | <math> | ||
+ | \hat{s}[k] = \frac{1}{NT_s}\sum_{n=0}^{N-1}s(nT_s)e^{2i\pi\frac{knT_s}{NT_s}} \; T_s = \frac{1}{N}\sum_{n=0}^{N-1}s[n]e^{2i{\pi}\frac{kn}{N}} | ||
+ | </math> | ||
+ | |||
+ | |||
+ | |||
+ | ==Praktyczna estymacja widma Fourierowskiego sygnałów== | ||
Dla sygnałów dyskretnych obliczamy Dyskretną Transformatę Fouriera (omawianą też szerzej na [[Ćwiczenia_2#Dyskretna_Transformata_Fouriera_.28DFT.29|ćwiczeniach]]). Kwadrat jej modułu to inaczej periodogram, czyli estymata gęstości widmowej mocy dla sygnałów dyskretnych. | Dla sygnałów dyskretnych obliczamy Dyskretną Transformatę Fouriera (omawianą też szerzej na [[Ćwiczenia_2#Dyskretna_Transformata_Fouriera_.28DFT.29|ćwiczeniach]]). Kwadrat jej modułu to inaczej periodogram, czyli estymata gęstości widmowej mocy dla sygnałów dyskretnych. | ||
Linia 25: | Linia 37: | ||
Sygnały z którymi mamy do czynienia w praktyce są nie tylko dyskretne, ale też skończone. | Sygnały z którymi mamy do czynienia w praktyce są nie tylko dyskretne, ale też skończone. | ||
Obliczanie transformaty Fouriera dla skończonego odcinka niesie ze | Obliczanie transformaty Fouriera dla skończonego odcinka niesie ze | ||
− | sobą dodatkowe komplikacje. Znamy wartości sygnału <math> | + | sobą dodatkowe komplikacje. Znamy wartości sygnału <math>s[n]</math> |
dla <math>i=1\ldots N</math>. Odpowiada to iloczynowi sygnału | dla <math>i=1\ldots N</math>. Odpowiada to iloczynowi sygnału | ||
<math>\left\{s[n]\right\}_{n\in\mathbb{Z}}</math> z oknem prostokątnym | <math>\left\{s[n]\right\}_{n\in\mathbb{Z}}</math> z oknem prostokątnym | ||
Linia 39: | Linia 51: | ||
W efekcie [[Twierdzenia_o_splocie_i_o_próbkowaniu_(aliasing)|(patrz twierdzenie o splocie)]] otrzymujemy splot transformaty Fouriera | W efekcie [[Twierdzenia_o_splocie_i_o_próbkowaniu_(aliasing)|(patrz twierdzenie o splocie)]] otrzymujemy splot transformaty Fouriera | ||
sygnału (nieskończonego) z transformatą Fouriera okna | sygnału (nieskończonego) z transformatą Fouriera okna | ||
− | <math>\hat{w}_p[k]</math>. Na przykład dla okna prostokątnego będzie to funkcja postaci <math>sin(x)/x</math>, która może wprowadzić w widmie sztuczne oscylacje, które mylnie możemy zidentyfikować z pikami widma. Dlatego w praktyce stosujemy okna o | + | <math>\hat{w}_p[k]</math>. Na przykład dla okna prostokątnego będzie to funkcja postaci <math>sin(x)/x</math>, która może wprowadzić w widmie sztuczne oscylacje, które mylnie możemy zidentyfikować z pikami widma. Dlatego w praktyce stosujemy okna o łagodniejszym przebiegu transformaty Fouriera. Czyli: |
− | łagodniejszym przebiegu transformaty Fouriera. Czyli: | + | #Obliczamy iloczyn sygnału <math>s[n]</math> z wybranym oknem <math>w[n]</math> |
− | #Obliczamy iloczyn sygnału <math>s[n]</math> z wybranym oknem <math>w[n]</math> | ||
#Obliczamy periodogram sygnału <math>s[n] w[n]</math> | #Obliczamy periodogram sygnału <math>s[n] w[n]</math> | ||
− | W ogólnym | + | W ogólnym przypadku, biorąc pod uwagę normalizację okna |
<math>w[n] = \frac{1}{\sqrt{\sum_{n=0}^{N-1} (w[n])^2}}w[n]</math> | <math>w[n] = \frac{1}{\sqrt{\sum_{n=0}^{N-1} (w[n])^2}}w[n]</math> | ||
Linia 59: | Linia 70: | ||
Przy założeniu stacjonarności sygnału możemy obliczyć widmo [[Nieparametryczne_widmo_mocy#Metoda_Welcha|testowaną na ćwiczeniach]] metodą Welcha, według której dzielimy sygnał na zachodzące na siebie odcinki, każdy odcinek mnożymy przez okno <math>w[n]</math> po czy otrzymane widma uśredniamy. W ten sposób dla każdej częstości mamy po kilka estymat mocy widmowej, wyliczonych z kolejnych odcinków, co pozwala na oszacowanie błędu estymaty. | Przy założeniu stacjonarności sygnału możemy obliczyć widmo [[Nieparametryczne_widmo_mocy#Metoda_Welcha|testowaną na ćwiczeniach]] metodą Welcha, według której dzielimy sygnał na zachodzące na siebie odcinki, każdy odcinek mnożymy przez okno <math>w[n]</math> po czy otrzymane widma uśredniamy. W ten sposób dla każdej częstości mamy po kilka estymat mocy widmowej, wyliczonych z kolejnych odcinków, co pozwala na oszacowanie błędu estymaty. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | <div align="right"> | |
+ | [[Twierdzenia_o_splocie_i_o_próbkowaniu_(aliasing)|⬅]] [[Analiza_sygnałów_-_wykład|⬆]] [[Model_autoregresyjny_(AR)|⮕]] | ||
+ | </div> |
Aktualna wersja na dzień 10:14, 8 lis 2024
AS/ Estymacja widma na podstawie Transformaty Fouriera
Dyskretna Transformata Fouriera (DFT)
W praktycznych zastosowaniach mamy do czynienia z sygnałami próbkowanymi o skończonej długości. Transformata Fouriera działająca na takich sygnałach nazywana jest Dyskretną Transformatą Fouriera, a algorytm najczęściej wykorzystywany do jej obliczania to szybka trasnsformata Fouriera (fast Fourier transform FFT). Formułę na współczynniki transformaty Fouriera można otrzymać z szeregu Fouriera. Załóżmy, że sygnał który chcemy przetransformować składa się z [math]N[/math] próbek.
[math] s =\{ s[0],\dots,s[n],\dots s[N-1]\}[/math]
i próbki pobierane były co [math]T_s[/math] sekund. Zakładamy, że analizowany sygnał [math]s[/math] to jeden okres nieskończonego sygnału o okresie [math]T=N\cdot T_s[/math]. Wprowadźmy oznaczenie:
[math]s[n]=s(n T_s)[/math].
Przepiszmy wzór na współczynniki szeregu Fouriera
[math]
c_{k} = \frac{1}{T}\int_{0}^{T} s(t) e^\frac{2\pi i k t}{T} d t
[/math]
Ponieważ sygnał jest teraz dyskretny, całka zamieni się na sumę pól prostokątów o bokach równych wartości funkcji podcałkowej w zadanych punktach [math]x(nT_s)e^{(2i{\pi}knT_s/T)}[/math] i odległości między punktami [math]T_s[/math]:
[math]
\hat{s}[k] = \frac{1}{NT_s}\sum_{n=0}^{N-1}s(nT_s)e^{2i\pi\frac{knT_s}{NT_s}} \; T_s = \frac{1}{N}\sum_{n=0}^{N-1}s[n]e^{2i{\pi}\frac{kn}{N}}
[/math]
Praktyczna estymacja widma Fourierowskiego sygnałów
Dla sygnałów dyskretnych obliczamy Dyskretną Transformatę Fouriera (omawianą też szerzej na ćwiczeniach). Kwadrat jej modułu to inaczej periodogram, czyli estymata gęstości widmowej mocy dla sygnałów dyskretnych.
Sygnały z którymi mamy do czynienia w praktyce są nie tylko dyskretne, ale też skończone. Obliczanie transformaty Fouriera dla skończonego odcinka niesie ze sobą dodatkowe komplikacje. Znamy wartości sygnału [math]s[n][/math] dla [math]i=1\ldots N[/math]. Odpowiada to iloczynowi sygnału [math]\left\{s[n]\right\}_{n\in\mathbb{Z}}[/math] z oknem prostokątnym [math]w_p[k][/math]:
[math] w_p[k]=\left\{\begin{array}{rl} 1 & \mathrm{dla} \;k=1 .. N\\ 0 & \mathrm{dla} \;k\lt 0 \vee k\gt N\\ \end{array} \right. [/math]
W efekcie (patrz twierdzenie o splocie) otrzymujemy splot transformaty Fouriera sygnału (nieskończonego) z transformatą Fouriera okna [math]\hat{w}_p[k][/math]. Na przykład dla okna prostokątnego będzie to funkcja postaci [math]sin(x)/x[/math], która może wprowadzić w widmie sztuczne oscylacje, które mylnie możemy zidentyfikować z pikami widma. Dlatego w praktyce stosujemy okna o łagodniejszym przebiegu transformaty Fouriera. Czyli:
- Obliczamy iloczyn sygnału [math]s[n][/math] z wybranym oknem [math]w[n][/math]
- Obliczamy periodogram sygnału [math]s[n] w[n][/math]
W ogólnym przypadku, biorąc pod uwagę normalizację okna
[math]w[n] = \frac{1}{\sqrt{\sum_{n=0}^{N-1} (w[n])^2}}w[n][/math]
dostajemy widmo mocy sygnału okienkowanego:
[math] P[k] = \frac{1}{\sum_{n=0}^{N-1} (w[n])^2} \left|\sum_{n=0}^{N-1} s[n]w[n] e^{i\frac{2 \pi }{N} k n}\right|^2 [/math]
Przy założeniu stacjonarności sygnału możemy obliczyć widmo testowaną na ćwiczeniach metodą Welcha, według której dzielimy sygnał na zachodzące na siebie odcinki, każdy odcinek mnożymy przez okno [math]w[n][/math] po czy otrzymane widma uśredniamy. W ten sposób dla każdej częstości mamy po kilka estymat mocy widmowej, wyliczonych z kolejnych odcinków, co pozwala na oszacowanie błędu estymaty.