Wydzia³ Elektryczny
Transkrypt
Wydzia³ Elektryczny
Laboratorium Cyfrowego Przetwarzania Sygnałów Wydział Elektryczny Zakład Automatyki LABORATORIUM CYFROWEGO PRZETWARZANIA SYGNAŁÓW Ćwiczenie 1 Dyskretne sygnały deterministyczne i analiza widmowa 1. Cel ćwiczenia • • • Opanowanie umiejętności komputerowego modelowania sygnałów i liniowych układów dyskretnych (z wykorzystaniem pakietu matematycznego MATLAB). Ćwiczenie w posługiwaniu się podstawowymi pojęciami analizy widmowej, w szczególności dyskretną transformatą Fouriera (DFT). Ćwiczenie umiejętności interpretacji wyników obliczeń komputerowych i oceny ich poprawności. 2. Podstawy teoretyczne Pod pojęciem sygnał dyskretny x będziemy rozumieli ciąg liczbowy {x(n)}, którego elementami są próbki x(n) sygnału ciągłego (analogowego) pobierane w chwilach tn=nTs, gdzie Ts jest okresem próbkowania. Indeks n oznacza dyskretny czas tn unormowany względem okresu próbkowania: n=tn/Ts (Rys. 1). Rys. 1 Sygnał ciągły (analogowy), dyskretny i cyfrowy Ćwiczenie 1 – Dyskretne sygnały deterministyczne i analiza widmowa -1- Laboratorium Cyfrowego Przetwarzania Sygnałów W układach cyfrowych przetwarzane są nie sygnały dyskretne o ciągłym zakresie wartości, ale sygnały cyfrowe xc(n)=Q[x(n)], gdzie Q[⋅] oznacza operację kwantowania , czyli nadawania wartości ze zbioru dyskretnego. Przy dalszej analizie błędy kwantowania nie będą jednak uwzględniane, co oznacza utożsamienie sygnałów cyfrowych z dyskretnymi. Jest to uzasadnione, jeżeli liczba bitów przetwornika A/C jest na tyle duża, że Q[x(n)]≅x(n). 2.1. Pojęcia podstawowe A. Transformatą Fouriera (widmem Fourierowskim DTFT – Discrete Time Fourier Transform) sygnału dyskretnego w czasie x(n) i o ograniczonej energii, tzn. spełniającego warunek ∞ ∑ x (n) 2 <∞ (1.1) n = −∞ nazywamy funkcję ∞ ∑ x ( n )e DTFT [ x(n)] = X (e jΩ ) = − jΩn (1.2) n = −∞ Jeżeli x(n)=0 dla n<0 (sygnał jest przyczynowy), to oblicza się transformatę jednostronną z dolną granicą sumowania n=0. Wzór (1.1) określa warunek zbieżności sumy w definicji (1.2). Wielkość (kąt) Ω = ωTs = 2πf / f s (1.3) oznacza pulsację unormowaną względem częstotliwości próbkowania fs=1/Ts. Widmo X(ejΩ) sygnału x(n) jest funkcją okresową o okresie 2π. Rozwijając ją w szereg Fouriera otrzymamy jego współczynniki określające kolejne próbki sygnału dyskretnego: x ( n) = π 1 X (e jΩ )e jnΩ dΩ ∫ 2π −π Podstawowe właściwości transformaty DTFT sygnału dyskretnego: • jest funkcją okresową kąta Ω o okresie 2π, • jest funkcją ciągłego argumentu Ω, • jest obliczana na podstawie nieskończonego ciągu próbek x(n), • dla sygnału rzeczywistego amplituda transformaty jest funkcją parzystą, a faza – funkcją nieparzystą. Z właściwości tych wynika, że widmo sygnału dyskretnego wystarczy przedstawić w zakresie kątów 0≤Ω≤π lub częstotliwości 0≤f≤fs/2. Pulsację ΩΝ=π (częstotliwość fN=fs/2) nazywa się pulsacją Nyquista i określa ona największą częstotliwość, jaka jest widoczna w widmie sygnału dyskretnego. Jeżeli sygnał dyskretny x(n) został otrzymany przez próbkowanie z okresem Ts sygnału ciągłego xa(t), który ma ciągłą transformatę Fouriera Xa(jω), to jego widmo jest (z dokładnością do czynnika 1/Ts) sumą poprzesuwanych o wielokrotność pulsacji próbkowania ωs=2πfs widm sygnału ciągłego (Rys. 2): X (e jωTs ) = 1 Ts ∞ ∑X a ( jω + jkω s ) (1.4) k = −∞ gdzie widmo sygnału analogowego X a ( jω) = ∞ ∫x a (t )e − jωt −∞ Próbkowanie w czasie powoduje okresowość widma w dziedzinie częstotliwości. Częstotliwości analogowe różniące się o wielokrotność częstotliwości próbkowania fs nie dają się rozróżnić w sygnale dyskretnym po próbkowaniu i są widziane jako ta sama częstotliwość f1 z zakresu podstawowego [0,fN] (efekt nakładania się częstotliwości – aliasing): f1 = | ( f true + f N ) mod f s − f N | Ćwiczenie 1 – Dyskretne sygnały deterministyczne i analiza widmowa (1.5) -2- Laboratorium Cyfrowego Przetwarzania Sygnałów Transformata Fouriera jest szczególnym przypadkiem transformaty Z funkcji dyskretnych: Z [ x(n)] = X ( z ) = ∞ ∑ x ( n) z −n (1.6) n = −∞ obliczanej na okręgu jednostkowym zmiennej zespolonej |z|=1, czyli dla z=ejΩ. B. Podstawowe właściwości DTFT. Jeżeli DTFT[x(n)]=X(ejΩ), to: jnΩ j ( Ω−Ω0 ) ) (przesunięcie skali pulsacji), 1) widmo sygnału modulowanego x(n)e 0 ma postać X (e ) 2) widmo sygnału przesuniętego w czasie x(n-d) ma postać e − jdΩ X (e jΩ ) (przesunięcie fazowe), 3) widmo splotu sygnałów x(n) * y (n) = ∑∞ x(k ) y (n − k ) jest iloczynem widm X (e jΩ )Y (e jΩ ) , k =−∞ 4) widmo iloczynu sygnałów x(n) y(n) jest splotem ich widm 1 π Ω −θ ) X (e jΩ ) ∗ Y (e jΩ ) = X (e jθ )Y (e j (Ω )dθ 2π ∫−π (1.7) |Xa(jω)| Ts|X(ejωΤ)| Ts|X(ejωΤ)| Rys. 2 Transformaty amplitudowe Fouriera (ωs=2πfs): a) sygnału ciągłego o paśmie ograniczonym do pulsacji ωg, b) sygnału zdyskretyzowanego dla ωg > ωN, widoczny efekt nakładania się widm (aliasing), c) sygnału zdyskretyzowanego dla ωg < ωN (pulsacja Nyquista ωN=ωs/2). 2.2. Dyskretne przekształcenie Fouriera 2.2.1. Widmo fragmentu sygnału o skończonej długości W praktyce obserwuje się (rejestruje) jedynie pewien fragment x0(n) sygnału x(n) i dlatego obliczenie widma (1.2) wymagającego nieskończonego ciągu próbek nie jest możliwe (poza tym tylko dla ograniczonej klasy sygnałów suma (1.2) jest zbieżna). "Obcięty" sygnał x(n) dla 0 ≤ n ≤ N − 1 x 0 ( n) = dla n ≥ N 0 (1.8) można interpretować jako nałożenie na x(n) okna czasowego (prostokątnego impulsu o jednostkowej amplitudzie) w(n) o długości N: Ćwiczenie 1 – Dyskretne sygnały deterministyczne i analiza widmowa -3- Laboratorium Cyfrowego Przetwarzania Sygnałów x0(n) = x(n) w(n). (1.9) Sygnał x0(n) spełnia warunek (1.1), a zatem istnieje jego widmo ciągłe (DTFT): N −1 X 0 (e jΩ ) = ∑ x0 (n)e − jnΩ (1.10) n=0 Stosując cyfrowe metody obliczeń transformatę (1.10) można obliczyć tylko dla skończonego zbioru dyskretnych wartości Ωm. Ponieważ X0(ejΩ) jest funkcją okresową, wystarczy obliczać widmo tylko dla przedziału [0, 2π) lub [-π, π). Przyjmując, że obliczamy N wartości widma (tyle ile jest próbek sygnału) dla równomiernie rozłożonych pulsacji unormowanych Ωm = 2πm , N m = 0,1,..., N − 1 (1.11) otrzymujemy próbki widma (1.10): N −1 X 0 (e jΩ m ) = ∑ x0 (n)e − jnΩ m (1.12) n=0 Wzór (1.12) określa N-punktowe dyskretne przekształcenie Fouriera (DFT), które przyporządkowuje (w sposób wzajemnie jednoznaczny) skończonemu ciągowi N próbek x0(n) współczynniki jego transformaty DFT. W skrócie zapisuje się: N −1 DFT [ x0 (n)] = X 0 (m) = ∑ x0 (n)e −j 2 πnm N , m = 0,1,..., N − 1 (1.13) n =0 Zauważmy, że • współczynniki DFT nie zmieniają się po cyklicznym przestawieniu próbek w ciągu (np. x0(0)→x0(1), x0(1)→x0(2), ..., x0(N-1)→x0(0) ), • współczynniki DFT mają wartości parami zespolone sprzężone: X(N-1)= X*(0), X(N-2)=X*(1) itd., dlatego wystarczy obliczać (wykreślać) współczynniki w zakresie 0≤m≤[N/2]+1. Znajomość DFT[x0(n)] umożliwia wyznaczenie N próbek wziętych do obliczania transformaty. W tym celu stosuje się odwrotne dyskretne przekształcenie Fouriera IDFT (inverse DFT): 1 IDFT [ X 0 (m)] = x0 (n) = N N −1 ∑ X 0 ( m)e j 2 πnm N , n = 0,1,..., N − 1 (1.14) m =0 Operacja IDFT[X0(m)] powoduje okresowe powielenie odtworzonego ciągu próbek dając sygnał okresowy xp(n) o okresie N: IDFT[X0(m)]=xp(n), gdzie x p (n) = ∞ ∑ x0 (n + kN ) (1.15) k = −∞ Obliczanie DFT[x0(n)] zamiast widma ciągłego DTFT[x(n)] wnosi zniekształcenia wynikające z: • brania do obliczeń jedynie skończonej liczby próbek (nakładania okna czasowego), • obliczania dyskretnego zbioru wartości transformaty (próbkowania widma ciągłego). Przeprowadzane w ramach ćwiczenia eksperymenty numeryczne mają na celu zapoznanie się z wynikającymi z powyższych uproszczeń efektami. Parę transformat DFT i IDFT implementuje się numerycznie stosując szybkie algorytmy FFT (Fast Fourier Transform). DFT jest głównym narzędziem analizy widmowej sygnałów dyskretnych. 2.2.2. Dyskretna transformata Fouriera sygnału okresowego Sygnały okresowe stanowią bardzo istotną klasę sygnałów podlegających analizie widmowej. Dyskretne sygnały okresowe mają nieograniczoną energię i dlatego nie istnieją dla nich widma ciągłe DTFT. Narzędziem analizy takich sygnałów jest dyskretna transformata Fouriera DFT. Jeżeli ciąg N próbek wziętych do obliczenia DFT pochodzi z sygnału okresowego xp(n) i zawiera całkowitą liczbę okresów sygnału (tzn. N jest wielokrotnością okresu), to na podstawie obliczonego Ćwiczenie 1 – Dyskretne sygnały deterministyczne i analiza widmowa -4- Laboratorium Cyfrowego Przetwarzania Sygnałów N-punktowego widma dyskretnego X0p(m)=DFT[x0p(n)] można odtworzyć wyjściowy sygnał okresowy xp(n) bez zniekształceń przez powielanie IDFT zgodnie ze wzorem (1.15), gdzie x0(n)=IDFT[X0p(m)]. Jeżeli sygnał okresowy xp(n) ma ograniczoną zawartość harmonicznych, tzn. jego rozwinięcie w szereg Fouriera x p (n) = ∑m =0 c m e jnΩ m zawiera M wyrazów o współczynnikach zespolonych cm, M −1 m=0,...,M-1, to współczynniki cm są związane ze współczynnikami N-punktowej DFT[xp(n)], gdzie N≥M, zależnością: cm = X p ( m) (1.16) N Jeżeli liczba punktów DFT (próbek xp(n)) mniejsza od M (w sygnale są harmoniczne o częstotliwościach wyższych niż częstotliwość Nyquista DFT) , to we współczynnikach szeregu wyznaczanych na podstawie (1.16) występuje błąd nałożenia (aliasing): cm = ∑ ∞ k = −∞ c~m + kM , gdzie c~m oznacza prawdziwe wartości współczynników szeregu Fouriera. !"W praktyce często nie wiadomo, jaki jest okres N sygnału, a nawet, czy jest on w ogóle okresowy. Jeżeli analizę przeprowadza się stosując L-punktową DFT (L jest określone czasem obserwacji i częstotliwością próbkowania), to odtworzony z próbek widma sygnał ma okres L i różni się od rzeczywistego. Równość tych sygnałów zachodzi tylko wtedy, kiedy w przedziale obserwacji (w sygnale x0(n)) mieści się całkowita liczba okresów sygnału oryginalnego xp(n) (Rys. 3). !"Jeżeli w okresie obserwacji nie mieści się całkowita liczba okresów określonej składowej harmonicznej o pulsacji Ω0, to pulsacja ta wypada pomiędzy prążkami widma odpowiadającymi pulsacjom Ωm określonym wzorem (1.11) i część widma X0(m) obrazująca składową ulega rozmyciu jak na Rys. 3b. a) b) Rys. 3. Moduł L-punktowej transformaty DFT wycinka x0(n) sygnału okresowego xp(n) o okresie N i sygnał okresowy odtworzony na podstawie L-punktowej IDFT dla: a) L=N=8, b) L=12, N=8 2.3. Właściwości DFT 2.3.1. Rozdzielczość częstotliwościowa DFT Przy obliczaniu DFT na podstawie wycinka x0(n) sygnału składającego się z N próbek (wzór (1.13)), rozdzielczość wyznaczanego widma w dziedzinie częstotliwości, określana jako odległość między kolejnymi wyrazami DFT, wynosi (por. wzór (1.11)): ∆f N = 1 NTs Ćwiczenie 1 – Dyskretne sygnały deterministyczne i analiza widmowa (1.17) -5- Laboratorium Cyfrowego Przetwarzania Sygnałów i jest odwrotnie proporcjonalna do czasu obserwacji sygnału T0=NTs. Rozdzielczość DFT wskazuje, jak jest zdolność rozróżnienia w sygnale dwóch składowych harmonicznych o mało różniących się częstotliwościach. Odległość między wyrazami można zmniejszyć poprzez uzupełnienie zarejestrowanego ciągu N1 próbkami zerowymi (zero-padding), czyli sztucznie wydłużając czas obserwacji. Odległość między wyrazami DFT o wymiarze zwiększonym do N+N1 zmniejszy się po takiej operacji do ∆f zp = 1 /[( N + N 1 )Ts ] . Ponieważ uzupełnienie zerami nie wprowadza nowej informacji o sygnale, nowe wyrazy w DFT stanowią efekt interpolacji oryginalnych danych i nie zwiększają zdolności rozróżniania częstotliwości, ale uwypuklają szczegóły widma widoczne wcześniej. Uzupełnianie zerami stosuje się często w celu otrzymania ciągu próbek o długości 2k , co umożliwia zastosowanie do obliczeń algorytmu FFT. 2.3.2. Wpływ skończonego czasu obserwacji na widmo sygnału Skończony czas obserwacji powoduje, że możliwe do obliczenia widmo DFT jest na ogół zniekształcone w stosunku do rzeczywistego widma sygnału o nieograniczonym czasie trwania. Zgodnie z (1.9) DFT stanowi widmo X0(ejΩ) sygnału x(n) z nałożonym oknem w(n). Jeżeli prawdziwe widma sygnału i okna oznaczymy odpowiednio przez X(ejΩ) i W(ejΩ), to widmo iloczynu sygnałów w dziedzinie czasu jest splotem ich widm w dziedzinie częstotliwości (por. 1.7): X 0 (e jΩ ) = X (e jΩ ) ∗ W (e jΩ ) = 1 2π π ∫ −π X (e jθ )W (e j ( Ω−θ ) )dθ (1.18) Widać, że prawdziwe widmo sygnału nie uległoby zniekształceniu tylko wtedy, kiedy widmo okna miałoby kształt szpilki, gdy tymczasem widmo okna jest rozmyte jak na Rys. 4. O zniekształceniu widma DFT decydują głównie: szerokość listka głównego widma okna oraz wysokość listków bocznych. Szerokość listka głównego widma okna wpływa na rozróżnialność częstotliwościową DFT. Jeżeli różnica częstotliwości dwóch składowych o podobnych amplitudach jest mniejsza od szerokości listka głównego, to odpowiadające im prążki zleją się w jeden wskutek rozmycia widma. Wysokość listków bocznych widma okna wpływa na rozróżnialność amplitudową DFT. Jeżeli w widmie występuje składowa o amplitudzie porównywalnej z amplitudą lisków bocznych, to „utonie” ona w pofalowaniach widma DFT związanych z listkami. W celu poprawienia rozróżnialności amplitudy stosuje się okna o kształcie innym niż prostokątny. Zmniejszenie wysokości listków bocznych powoduje jednak poszerzenie listka głównego. Stosowane zwykle okna czasowe są zebrane w poniższej tabeli. Okno Równanie Prostokątne Bartletta (trójkątne) w(n)=1, 0≤n≤N-1 2n /( N − 1), 0 ≤ n ≤ ( N − 1) / 2 w( n) = 2 − 2n /( N − 1), ( N − 1) / 2 ≤ n ≤ N − 1 Hanninga Hamminga Blackmana w(n) = 0.5[1 − cos( 2πn /( N − 1))], 0 ≤ n ≤ N − 1 w(n) = 0.54 − 0.46 cos(2πn /( N − 1)), 0 ≤ n ≤ N − 1 w(n) = 0.42 − 0.5 cos(2πn /( N − 1)) + + 0.08 cos(4πn /( N − 1)), 0 ≤ n ≤ N − 1 Kaisera I 0 [β [( N − 1) / 2] 2 − [n − ( N − 1) / 2] 2 , w(n) = I 0 [β( N − 1) / 2] 0≤n≤N-1, I0(.) – zmodyfikowana f. Bessela pierwszego rodzaju zerowego rzędu; typowo 4<β(N-1)/2<10 Ćwiczenie 1 – Dyskretne sygnały deterministyczne i analiza widmowa Szerokość Maks. wys. listka listków głównego bocznych [dB] -13 2π/N 4π/N -25 4π/N 4π/N -31 -41 6π/N -57 -46 do -82 -6- Laboratorium Cyfrowego Przetwarzania Sygnałów |W | 1 0 .5 0 −π π 0 Ω Rys. 4. Widmo amplitudowe okna prostokątnego dla N=21 2.4. Odtworzenie DTFT sygnału skończonego lub okresowego na podstawie DFT Dysponując M wartościami dyskretnej transformaty Fouriera X0(m) skończonego odcinka x0(n) sygnału dla dyskretnych pulsacji Ωm można odtworzyć ciągłą względem Ω transformatę X0(ejΩ) (DTFT) przechodzącą przez punkty X0(m) korzystając ze wzoru interpolacyjnego: 1 − j Ω ( M −1) 2 Ω M X 0 ( m) jΩ 2 X 0 (e ) = ∑ ⋅ 1 − j Ωm Ω − Ωm m =0 M e 2 sin 2 M −1 e sin (1.19) wynikającego z podstawienia prawej strony wzoru (1.14) na IDFT do równania (1.2) definiującego DTFT dla przypadku skończonego zakresu sumowania. Literatura 1. Oppenheim A.V., Schafer R.W.: „Cyfrowe przetwarzanie sygnałów”, WKiŁ, 1979. 2. Marven C., Ewers G.: Zarys cyfrowego przetwarzania sygnałów, WKiŁ, 1999. 3. Praca zbiorowa pod red. A. Dąbrowskiego: „Przetwarzanie sygnałów przy użyciu procesorów sygnałowych”, Wyd. Politechniki Poznańskiej, 1998. 4. Papoulis A.: „Obwody i układy”, WKiŁ, 1988. 5. Praca zbiorowa pod red. A. Wojtkiewicza: „Cyfrowe przetwarzanie sygnałów”, Preskrypt laboratoryjny, Oficyna Wyd. Politechniki Warszawskiej, 1997. Opracował: Dr inż. Janusz Baran Ćwiczenie 1 – Dyskretne sygnały deterministyczne i analiza widmowa Częstochowa, 1999 -7- Laboratorium Cyfrowego Przetwarzania Sygnałów 3. Obliczenia komputerowe - zadania do wykonania UWAGA: a) Funkcje i procedury MATLABa wywołuje się wpisując po znaku zachęty ">>" nazwę (bez ↑" i "↓ ↓" można przywoływać do linii rozszerzenia) i naciskając <Enter>. Klawiszami strzałek "↑ komend poprzednio wydane polecenia i edytować je (np. zmieniać wartości argumentów) bez konieczności wpisywania całości od nowa. b) Plik tekstowy (skrypt) *.m procedury można otworzyć do przeglądania, edycji lub wydruku poleceniem File | Open M-file z okna komend MATLABa. Podstawowe informacje na temat procedur można uzyskać wypisując z klawiatury: >>help nazwa_procedury <Enter> c) Wykresy drukuje się przy pomocy polecenia File | Print z menu danego okna graficznego. d) W większości przypadków istnieje możliwość kilkukrotnego wykonywania procedur z różnymi wartościami parametrów, co spowoduje nakładanie się na siebie otrzymywanych wykresów i umożliwi porównanie wyników. e) Zakresy osi można dopasowywać za pomocą instrukcji axis([Xmin,Xmax,Ymin,Ymax]) podając własne wartości minimalne i maksymalne na osiach. 3.1. Porównanie widma sygnału ciągłego i dyskretnego a) (*) Wywołać skrypt c1_expt(a,Ts); z parametrami a=1, Ts=0.5. Procedura wykreśla funkcję wykładniczą x(t ) = e − at (1.21) próbkowaną co Ts s. b) Uruchomić skrypt c1_ad(a,Ts); dla Ts=0.2, 0.5, 1. Eksperyment umożliwia obserwowanie widma DTFT wykładniczego sygnału dyskretnego x ( n) = b n (1.22) − aT gdzie b = e s na tle widma wyjściowego sygnału ciągłego (1.21). Oś częstotliwości jest wyskalowana w [Hz], a amplitudy widm są unormowane. • zaobserwować zmiany okresowości widma sygnału dyskretnego i związek tego okresu z Ts, • przeliczyć skalę do częstotliwości unormowanej fn=f/fs ; w jakim zakresie częstotliwości wystarczy obserwować widmo w skali unormowanej? • zauważyć, że amplituda jest funkcją parzystą, a faza – nieparzystą, • w jakim zakresie częstotliwości widma sygnału ciągłego i dyskretnego są zbliżone i jak zależy to od Ts.; wyjaśnić przyczynę zmian amplitudy widma sygnału dyskretnego dla częstotliwości Nyquista f=fs/2, 3.2. Analiza widm DTFT sygnałów dyskretnych o skończonej długości UWAGA: a) Dalej rysowane będą wykresy wartości bezwzględnych zespolonych wyrazów DFT dla częstotliwości unormowanej f n = f / f s z zakresu (-0.5,0.5]. Poza tym przedziałem przebiegi dla sygnałów dyskretnych powtarzają się okresowo). b) Transformaty DTFT sygnałów N-punktowych są obliczane jako L-punktowe DFT, gdzie L>>N, z uzupełnianiem zerami. a) (*) Sygnał stały 1 dla 0 ≤ n ≤ N − 1 x ( n) = 0 dla n ≥ N (1.23) Uruchomić skrypt c1_unit(N); i zarejestrować widma amplitudowe dla różnych długości sygnału, np. N = 5, 10. • jaki jest związek miejsc zerowych widma z N? Ćwiczenie 1 – Dyskretne sygnały deterministyczne i analiza widmowa -8- Laboratorium Cyfrowego Przetwarzania Sygnałów b) Sygnał wykładniczy b n dla 0 ≤ n ≤ N − 1 x ( n) = 0 dla n ≥ N (1.24) Uruchomić skrypt c1_exp(N); i zarejestrować widma amplitudowe dla różnych długości sygnału, np. N = 5, 10 na tle widma przy N → ∞ . • jaki jest związek minimów widma z N? • z czego wynikają zmiany amplitudy na krańcach okresu widma? • przeliczyć skalę do częstotliwości fizycznej jeśli Ts=0.2. c) Sygnał kosinusoidalny cos(nΩ 0 ) dla 0 ≤ n ≤ N − 1 x ( n) = dla n ≥ N 0 (1.25) Uruchomić skrypt c1_cos(N,f0); i zarejestrować widma amplitudowe dla różnych długości sygnału, np. N = 5, 10, 20 i częstotliwości unormowanej (względem fs) f0=0.1 (Ω0=2πf0). • jak na podstawie liczby minimów widma ocenić liczbę próbek N? (porównać z widmami sygnału stałego), • z czego wynika obecność dwóch prążków (obejrzeć c1_cos(100,0.1);)? Powtórzyć eksperyment dla ustalonego N=20 zmieniając częstotliwość, np. f0=0.1, 0.4. • dlaczego zmiana częstotliwości powoduje również zmianę kształtu listków bocznych widma? • porównać i zinterpretować wykresy dla c1_cos(20,0.4); i c1_cos(20,0.6); 3.3. Ilustracja modulacji. Widmo sygnału zespolonego Sygnał zespolony x(n)e jnΩ0 x z ( n) = 0 dla 0 ≤ n ≤ N − 1 dla n ≥ N (1.26) jnΩ jest iloczynem skończonego sygnału stałego x(n) oraz zespolonej harmonicznej e 0 . Do obliczenia widma można zastosować twierdzenie o modulacji (widmo zostaje przesunięte o ±Ω0). a) (*) Modulacja dla sygnału stałego x(n)=1 (1.23) • wygenerować z linii komend Matlaba sygnał stały x(n)=1 o długości N=50 >> x = ones(1,50); Przy pomocy procedury c1_modul(x,f0); dokonać modulacji sygnału zespoloną jnΩ harmoniczną e 0 , gdzie Ω0=2πf0 i zarejestrować widmo dla kilku wartości: f0=0,0.2,-0.1 (zmiana znaku oznacza przesunięcie fazowe o 180°). Zaobserwować zależność przesunięcia widma od f0. • zwrócić uwagę na fakt, że widmo amplitudowe nie jest funkcją parzystą, • co fizycznie oznacza położenie prążka widma dla f0=-0.1? b) Obserwacja modulacji dla sygnału zmiennego x(n) = cos(nΩ1 ), 0 ≤ n ≤ N − 1 ; Korzystając z funkcji c1_gcos(f1, N); wygenerować sygnał cosinusoidalny o długości N=50 i częstotliwości unormowanej f1=0.15: >> x = c1_gcos(0.15, 50); Przy pomocy c1_modul(x,f0); dokonać obserwacji widma dla f0=0,0.2,-0.1 i zinterpretować wyniki. c) (*) Przeprowadzić obliczenia jak w pkt. b) dla f1=0.5 oraz f0=0 (brak modulacji) i 0.5 (f=0.5 oznacza graniczną częstotliwość Nyquista). Ćwiczenie 1 – Dyskretne sygnały deterministyczne i analiza widmowa -9- Laboratorium Cyfrowego Przetwarzania Sygnałów 3.4. Widmo sygnału opóźnionego Celem eksperymentu jest porównanie widma sygnału x(n) z widmem jego opóźnionej kopii x(n-d) . Porównanie takie realizuje procedura c1_delay(x,d); • wygenerować sygnał stały o długości N=5 i obliczyć widma dla opóźnienia d=5 próbek: >>x=ones(1,5); >>c1_delay(x,5) • zaobserwować widma fazowe i powiązać nachylenie fazy sygnału opóźnionego z wielkością opóźnienia, • zwrócić uwagę na skoki fazy o 180° w miejscach zerowych amplitudy. 3.5. Dyskretna transformata Fouriera DFT A. DFT sygnału o skończonym czasie trwania a) Dla sygnału stałego o długości N=8 zaobserwować efekt próbkowania widma przy obliczaniu Npunktowej DFT dla L=N, 2N, 4N. Do obliczania DFT służy procedura c1_dft(x,L,c); (wykres DFT jest rysowany w zakresie [0, fN], opcjonalny parametr c=1 powoduje dodatkowo wykreślanie DTFT(x), domyślnie c=0). >>x=ones(1,8); >>X=c1_dft(x,L,1); (ma być duże X) • W ilu i jakich punktach Ωm wartości DFT są próbkami widma ciągłego X(ejΩ)? b) Dla każdej wartości L z pkt.a) dokonać odtworzenia sygnału x(n) na podstawie L-punktowej DFT wykorzystując procedurę c1_idft(X,L); >>x1=c1_idft(X,L); (X jest pamiętane z poprzedniego kroku) • Odtworzony fragment stanowi jeden okres sygnału okresowego powstającego po operacji IDFT wskutek próbkowania w dziedzinie częstotliwości. Jak okres ten zależy od L? • W którym przypadku wyjściowy sygnał stały został odtworzony poprawnie? B. DFT sygnału okresowego W tym punkcie analizowane będzie DFT nieskończonego sygnału okresowego x(n) = cos(nΩ 0 ) (1.27) o pulsacji Ω0=2π/K (częstotliwości unormowanej f0=1/K). a) przyjąć K=32 i wyznaczyć N-punktową DFT sygnału (1.27) na podstawie wycinka N=64 próbek (pomiar zawiera dokładnie 2 okresy x(n)), a następnie 1 okres odtworzenia sygnału stosując IDFT: >>N=64; >>x= c1_gcos(1/32,N); >>X=c1_dft(x,N); >>x1=c1_idft(X,N); • czy sygnał odtworzony na podstawie IDFT jest zgodny z pierwowzorem? b) powtórzyć obliczenia i analizę odtworzenia dla K=29 (w wycinku nie mieści się pełna liczba okresów), • zaobserwować i wyjaśnić rozmycie widma DFT; jaki jest okres sygnału odtworzonego? c) powtórzyć obliczenia i analizę K=29 generując tylko 2K próbek, tzn. >>x=c1_gcos(1/29,58); (N nadal równe 64) ...... (jest to przypadek uzupełnienia obserwacji zerami (zero padding) do obliczania DFT) 3.6. Przebiegi i widma okien czasowych a) Zarejestrować i porównać przebiegi podstawowych okien czasowych o szerokości N=51 (wartość nieparzysta zachowuje symetrię okna): >>c1_gwin(N) b) Zarejestrować i porównać widma amplitudowe okien (unormowane względem N=51) Ćwiczenie 1 – Dyskretne sygnały deterministyczne i analiza widmowa - 10 - Laboratorium Cyfrowego Przetwarzania Sygnałów • prostokątnego (c1_box(N)), • Bartletta (trójkątnego) (c1_bart(N)), • Hamminga (c1_hamm(N)), • Kaisera (c1_kais(N) dla 2 wartości parametru β), Dla każdego okna zanotować: szerokość listka głównego, poziom pierwszego listka bocznego oraz czy poziom listków bocznych utrzymuje się czy opada w miarę oddalania się od listka głównego. 3.7. Zastosowanie okien w analizie widmowej Przeprowadzić analizę DFT sygnału po nałożeniu okna. Powtórzyć obliczenia z (w wycinku) mnożąc obserwowany wycinek przez okno Kaisera: • Zapoznać się z zawartością pliku skryptowego c1_okno.m. Podobnie jak w pkt.3.5.B.b w wycinku sygnału okresowego nie mieści się pełna liczba okresów powodująca nieciągłość na krańcach sygnału. Nakładane na sygnał okno Hanninga ma na brzegach wartości zerowe, co likwiduje nieciągłości przy okresowym powielaniu sygnału z nałożonym oknem. Uruchomić skrypt: >> c1_okno • Zwrócić uwagę na rozmycie DFT badanego wycinka (Figure 1). Zaobserwować zmianę sygnału w stosunku do oryginału po nałożeniu okna i sprawdzić, że odtworzenie sygnału przekształconego po IDFT jest wierne i nie występuje nieciągłość na krańcach (Figure 2). • Porównać widma wycinka oryginalnego (sygnał z oknem prostokątnym) i wycinka po nałożeniu okna Hanninga na wykresie w skali logarytmicznej i liniowej (Figure 3 i 4). Zwrócić uwagę na wysokość i szerokość listka głównego poziom widma poza nim. 3.8. Rozdzielczość widmowa Przeprowadzić obliczenia ilustrujące wpływ nałożenia na obserwowany sygnał okna Hamminga na zdolność wykrywania składowych harmonicznych. • Zapoznać się z zawartością pliku skryptowego c1_rozdz.m: generowany jest sygnał y o długości N=32 zawierający 3 składowe o częstotliwościach (unormowanych) określonych przez składowe wektora f0 i amplitudach określonych przez składowe A. Obliczana jest L=256punktowa DFT sygnału oryginalnego i po nałożeniu okna Hamminga. Uruchomić skrypt: >>c1_rozdz • Na wykresach DFT w skali logarytmicznej i liniowej zaobserwować różnice wysokości prążków DFT odpowiadających bliskim składowym 1 i 2 (rozróżnialność częstotliwościowa) oraz zdolność wykrywania 3 składowej o małej amplitudzie (rozróżnialność amplitudowa). • (*) Uruchomić i przeanalizować skrypt c1_resol.m ilustrujący pozorny wzrost rozróżnialności po uzupełnieniu ciągu próbek zerami. 4. Opracowanie sprawozdania W sprawozdaniu należy zawrzeć zarejestrowane wyniki eksperymentów numerycznych z odpowiednimi opisami oraz wyjaśnieniami problemów wskazanych w pkt. 3 dokonanymi na podstawie informacji teoretycznych z pkt.2. Ćwiczenie 1 – Dyskretne sygnały deterministyczne i analiza widmowa - 11 -