Twierdzenie o splocie g(t) = (s h) (t) G(f ) = S(f ) H(f ) (1) To twierdzenie działa też w drugą stronę: G(f ) = (S H) (f ) g(t) = s(t) h(t) (2) Zastosowania: zamiana splotu na mnożenie daje wgląd w okienkowanie łatwo zrozumieć działanie flitrów
Wstęp Jakie są dostępne okna w matlabie? help window Zobaczmy jak wyglądają te okienka np: przykład N = 65; w = window(@blackmanharris,n); w1 = window(@hamming,n); w2 = window(@tukeywin,n,0.2); plot(1:n,[w,w1,w2]); axis([1 N 0 1]); legend( Blackman-Harris, Hamming, Tukey );
Badanie własności okien Narzędzie do badania własności okienek: window Zwróćmy uwagę na własności okienek opisywane przez parametry: Leakage factor stosunek mocy w listkach bocznych do całej mocy okienka Relative sidelobe attenuation różnica wysokości od głównego piku do najwyższego listka Mainlobe width (-3dB) szerokość głównego piku na wysokości 3dB poniżej szczytu Co w świetle twierdzenia o splocie wnioskujemy o działaniu okienek?
Własności okien w działaniu Przygotuj sygnał np. sinus o częstości f = 10.2 Hz fazie 0, czasie trwania T = 1 s, i częstości próbkowania Fs = 100 Hz Jakie jest widmo takiego sygnalu, jakie jest widmo tego sygnalu w skali pol logarytmicznej? Zokienkuj sygnał oknami blackmanharris, hamming, tukeywin porównaj widma tla różnych okienek, zwróć uwagę na szerokość piku i występowanie listków bocznych zbadaj co się dzieje wraz ze zmianą długości sygnału
Okienkować możemy też w częstości Wytwórz sygnał o długości T = 2 s i częstości próbkowania Fs = 128 Hz złożony z białego szumu, przetransformuj go do dziedziny czestosci, przytnij widmo tak, aby zastało tylko coś w paśmie 10 ± 2 Hz i przetransformuj z powrotem do dziedziny czasu obejrzyj sygnał. Operację ta wykonaj przy pomocy okna prostokatnego i gausowskiego.
Transformata fouriera sygnału stochastycznego Bardzo często musimy oszacować widmo mocy sygnału zawierającego znaczny udział szumu. Poniższy skrypt ilustruje niepewność szacowania pików w widmie otrzymanym z transformaty fouriera dla sygnału zawierającego szum. przykład t=0:1/256:20-1/256; s=sin(2*pi*t*30); sz=randn(1,20*256); s_sz=s+sz; for i=1:20 x=s_sz(1+(i-1)*256:i*256); X=fft(x); sp=x.*conj(x)/256; Psp(:,i)=sp(1:128); end plot(psp) Proszę obejrzeć otrzymane widma. Jaka jest niepewność wniku? Czy podobny problem występuje dla sygnału bez szumu? Skonstruuj funkcję rysującą średnie widmo wraz z 95% przedziałem ufności.
Sygnał stochastyczny - szereg czasowy Wartości x mierzone w funkcji czasu t tworzą szereg czasowy x(t). Jeśli K jest zbiorem k zdarzeń (k K) i każde z tych zdarzeń ma przypisaną funkcję x k (t) zwaną realizacją procesu ξ(t), the stochastic process can be defined as a set of functions: ξ(t) = {x 1 (t), x 2 (t),..., x N (t)} (3) gdzie x k (t) są losowymi funkcjami czasu t. Procesy stochastyczne można opisywać prze wartości oczekiwane liczone po realizacjach. Dla przypomnienia wartość oczekiwaną liczymy tak: µ x (t 1 ) = E [ξ(t 1 )] = lim N k=1 N x k (t 1 )p(x k, t 1 ) (4) średnia µ x (t 1 ) procesu ξ(t) w chwili t 1 to suma wartośći zaobserwowanych w chwili we wszystkich realizacjach t 1 ważona przwdopodobieństwem Jarosławystąpienia Żygierewicz okienkowanie tej realizacji: sygnału i transformata Fouriera
Stacjonarność i ergodyczność Stacjonarność: Jeśli dla procesu stochastycznego ξ(t) wszystkie momenty są niezależne od czasu to jest on stajonarny w ścisłym sensie. Jeśli tylko średnia µ x i autokorelacja R x (τ) nie zależą od czasu to proces jest stacjonarny w słabym sensie, co dla wielu zastosowań jest wystarczające. Ergodyczność: Proces jest ergodyczny jeśli jego średnie po czasie i po realizacjach są sobie równe. Oznacza to, że dla takiego procesu jedna realizacja jest reprezentatywna i zawiera całą informację o tym procesie.
Estymowanie widma sygnału stochastycznego Generalnie widmo można estymować stosując modele parametryczne - o tym później i nieparametryczne czyli bezpośrednio z sygnału. Jak widzieliśmy w poprzednim przykładzie żeby oszacować widmo procesu stochastycznego musimy coś uśredniać: uśrednianie po realizacjach uśrednianie po czasie uśrednianie po sąsiednich binach częstości
Co mamy do dyspozycji? Methoda Opis Funkcja Periodogram Estymata gęstości widmowej mocy spectrum.periodogram, periodogram Welch Uśredione periodogramy spectrum.welch, w zachodzących na siebie pwelch, cpsd, fragmentach czasowych. tfestimate, Sygnał w każdym fragmencie mscohere jest okienkowany. Zakładamy ergodyczność. Multitaper Estymata oparta na kombinacji ortogonalnych okienek (tapers) spectrum.mtm, pmtm
periodogram [Pxx,f] = periodogram(x,window,nfft,fs, range ) Algorytm: Sekwencja periodogramu dla sygnału [x 1,..., x n ] dana jest wzorem: n 2 x k e iωk przykład randn( state,0); Fs = 1000; t = 0:1/Fs:.3; x = cos(2*pi*t*200)+0.1*randn(size(t)); periodogram(x,[], onesided,512,fs) S(ω) = 1 n k=1 Jeśli zokienkujemy nasz sygnał oknem [w 1,..., w n ] to mamy modyfikowany periodogram czyli: S(ω) = 1 n 1 n n k=1 x ke iωk 2 n k=1 w k 2 Z tego obliczana jest widmowa gęstość mocy czyli S(ω) F gdzie F = fs jak podamy fs, albo 2π kiedy nic nie podamy
pwelch [Pxx,f] = pwelch(x,window,noverlap,f,fs) randn( state,0); Fs = 1000; t = 0:1/Fs:.3; x = cos(2*pi*t*200)+0.1*randn(size(t)); pwelch(x,33,32,[],fs, onesided ) przykład sygnał x jest dzielony na k zachodzących na siebie segmentów każdy segment jest okienkowany z każdego segmentu liczony jest modyfikowany periodogram periodogramy są uśredniane z tej średniej obliczana jest widmowa gęstość mocy S(ω) F
pmtm [Pxx,Pxxc,f] = pmtm(x,nw,nfft,fs,p) sygnał okienkowany jest przez 2*nw-1 okienek stanowiących sekwencję sferoidalnych okienek. nw jest iloczynem czas-szerokość pasma częstości dla tej sekwencji okienek. Funkcja ta zwraca też (1 p)% przedział ufności na estymowane średnie widmo. randn( state,0); fs = 1000; t = 0:1/fs:0.3; x = cos(2*pi*t*200) + 0.1*randn(size(t)); [Pxx,Pxxc,f] = pmtm(x,3.5,512,fs,0.99); hpsd = dspdata.psd([pxx Pxxc], Fs,fs); plot(hpsd) przykład Sekwencje te można wytwarzać funkcją [e,v] = dpss(n,nw,k). Zbadajmy kilka przykładowych sekwencji.
Rozdzielczość i wariancja w różnych metodach estymacji widma Przeanalizujmy przykłady z Signal Processing Toolbox:: Spectral Estimation Method