DSP-MATLAB, Ćwiczenie 5, P.Korohoda, KE AGH. Ćwiczenie 5. Przemysław Korohoda, KE, AGH

Podobne dokumenty
TEORIA OBWODÓW I SYGNAŁÓW LABORATORIUM

( ) + ( ) T ( ) + E IE E E. Obliczanie gradientu błędu metodą układu dołączonego

A. Cel ćwiczenia. B. Część teoretyczna

WAHADŁO SPRĘŻYNOWE. POMIAR POLA ELIPSY ENERGII.

ALGEBRA Z GEOMETRIĄ ANALITYCZNĄ

WYMAGANIA Z WIEDZY I UMIEJĘTNOŚCI NA POSZCZEGÓLNE STOPNIE SZKOLNE DLA KLASY 3g. zakres rozszerzony

A4: Filtry aktywne rzędu II i IV

Wykład 21: Studnie i bariery cz.1.

Zaliczenie wykładu Technika Analogowa Przykładowe pytania (czas zaliczenia minut, liczba pytań 6 8)

Prognozowanie notowań pakietów akcji poprzez ortogonalizację szeregów czasowych 1

Ćw. 5. Badanie ruchu wahadła sprężynowego sprawdzenie wzoru na okres drgań

(U.3) Podstawy formalizmu mechaniki kwantowej

Ćwiczenie 4 Badanie wpływu asymetrii obciążenia na pracę sieci

MODYFIKACJA KOSZTOWA ALGORYTMU JOHNSONA DO SZEREGOWANIA ZADAŃ BUDOWLANYCH

DRGANIA WŁASNE RAM OBLICZANIE CZĘSTOŚCI KOŁOWYCH DRGAŃ WŁASNYCH

Pomiary napięć przemiennych

Przekształcenia widmowe Transformata Fouriera. Adam Wojciechowski

Równanie Fresnela. napisał Michał Wierzbicki

Ćwiczenie 3. Właściwości przekształcenia Fouriera

Podstawy rachunku prawdopodobieństwa (przypomnienie)

Metoda rozwiązywania układu równań liniowych z symetryczną, nieokreśloną macierzą współczynników ( 0 )

4. Weryfikacja modelu

Przetwarzanie sygnałów biomedycznych

Koła rowerowe malują fraktale

9. Dyskretna transformata Fouriera algorytm FFT

Metody numeryczne. Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski

Wyznaczenie prędkości pojazdu na podstawie długości śladów hamowania pozostawionych na drodze

Modelowanie przez zjawiska przybliżone. Modelowanie poprzez zjawiska uproszczone. Modelowanie przez analogie. Modelowanie matematyczne

σ-ciało zdarzeń Niech Ω będzie niepustym zbiorem zdarzeń elementarnych, a zbiór F rodziną podzbiorów zbioru Ω spełniającą warunki: jeśli A F, to A F;

Colloquium 3, Grupa A

Kodowanie informacji w systemach cyfrowych

RACHUNEK PRAWDOPODOBIEŃSTWA WYKŁAD 5.

Metody komputerowe i obliczeniowe Metoda Elementów Skoczonych. Element jednowymiarowy i jednoparametrowy : spryna

DYSKRETNA TRANSFORMACJA FOURIERA

Restauracja a poprawa jakości obrazów

BELKI CIĄGŁE STATYCZNIE NIEWYZNACZALNE

KOLOKWIUM Z ALGEBRY I R

Stanisław Cichocki. Natalia Nehrebecka. Wykład 10

Wybrane rozkłady zmiennych losowych i ich charakterystyki

Algebra liniowa z geometrią analityczną

Wpływ zamiany typów elektrowni wiatrowych o porównywalnych parametrach na współpracę z węzłem sieciowym

Optymalizacja harmonogramów budowlanych - problem szeregowania zadań

Wykład 9. Fizyka 1 (Informatyka - EEIiA 2006/07)

wtedy i tylko wtedy, gdy rozwiązanie i jest nie gorsze od j względem k-tego kryterium. 2) Macierz części wspólnej Utwórz macierz

Materiały do wykładów na temat Obliczanie sił przekrojowych i momentów przekrojowych. dla prętów zginanych.

Grupowanie sekwencji czasowych

4.15 Badanie dyfrakcji światła laserowego na krysztale koloidalnym(o19)

7. Szybka transformata Fouriera fft

Badanie stacjonarności szeregów czasowych w programie GRETL

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Sygnały stochastyczne

Przetwarzanie obrazów wykład 6. Adam Wojciechowski

ZASTOSOWANIE ALGORYTMU GENETYCZNEGO DO OPTYMALNEJ DYSKRETYZACJI WSPÓŁCZYNNIKÓW WAGOWYCH CYFROWYCH FILTRÓW SOI

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Koła rowerowe kreślą fraktale

Funkcja jest różnowartościowa w zbiorze A wtedy i tylko wtedy, gdy różnym argumentom funkcja ta przyporządkowuje różne wartości.

Relaksacja. Chem. Fiz. TCH II/19 1

Temat: Prawo Hooke a. Oscylacje harmoniczne. Zagadnienia: prawa dynamiki Newtona, siła sprężysta, prawo Hooke a, oscylacje harmoniczne,

Transformata Fouriera. Sylwia Kołoda Magdalena Pacek Krzysztof Kolago

ANALIZA WIELOKRYTERIALNA

Analiza obrazu. wykład 5. Marek Jan Kasprowicz Uniwersytet Rolniczy 2008

Układy oscylacyjne w przyrodzie

ładunek do przewiezienia dwie możliwości transportu

UZUPEŁNIENIA DO WYKŁADÓW A-C

ZARYS METODY OPISU KSZTAŁTOWANIA SKUTECZNOŚCI W SYSTEMIE EKSPLOATACJI WOJSKOWYCH STATKÓW POWIETRZNYCH

L.Kowalski zadania z rachunku prawdopodobieństwa-zestaw 1 ZADANIA - ZESTAW 1. . (odp. a)

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn x 1 x 2... x m ...

1 Układy równań liniowych

Przykład budowania macierzy sztywności.

Materiały dydaktyczne. Matematyka. Semestr III. Wykłady

WYKŁAD 5 METODY OPTYMALIZACJI NIELINIOWEJ BEZ OGRANICZEŃ

P k k (n k) = k {O O O} = ; {O O R} =

KARTA PRZEDMIOTU. Techniki przetwarzania sygnałów, D1_3

dr Bartłomiej Rokicki Katedra Makroekonomii i Teorii Handlu Zagranicznego Wydział Nauk Ekonomicznych UW

Metody probabilistyczne Rozwiązania zadań

Matematyka dyskretna. Wykład 2: Kombinatoryka. Gniewomir Sarbicki

dr inż. Ryszard Rębowski 1 WPROWADZENIE

jednoznacznie wyznaczają wymiary wszystkich reprezentacji grup punktowych, a związki ortogonalności jednoznacznie wyznaczają ich charaktery

Logarytmy. Funkcje logarytmiczna i wykładnicza. Równania i nierówności wykładnicze i logarytmiczne.

WYKŁAD 15. Rozdział 8: Drgania samowzbudne

Cyfrowe Przetwarzanie Obrazów i Sygnałów

2. Próbkowanie Sygnały okresowe (16). Trygonometryczny szereg Fouriera (17). Częstotliwość Nyquista (20).

Równania rekurencyjne 1 RÓWNANIA REKURENCYJNE

R w =

Układy równań i nierówności liniowych

Instrukcja do laboratorium z cyfrowego przetwarzania sygnałów. Ćwiczenie 3. Transformata Z; blokowe struktury opisujące filtr

Ćwiczenie nr 1: Wahadło fizyczne

DOBÓR PRZEKROJU PRZEWODÓW OBCIĄŻONYCH PRĄDEM ZAWIERAJĄCYM WYŻSZE HARMONICZNE

Indukcja matematyczna

Nr 2. Laboratorium Maszyny CNC. Politechnika Poznańska Instytut Technologii Mechanicznej

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Wykład z Technologii Informacyjnych. Piotr Mika

3a. Wstęp: Elementarne równania i nierówności

3. Macierze i Układy Równań Liniowych

Andrzej Leśnicki Laboratorium CPS Ćwiczenie 6 1/8 ĆWICZENIE 6. Dyskretne przekształcenie Fouriera DFT

ZASADY WYZNACZANIA BEZPIECZNYCH ODSTĘPÓW IZOLACYJNYCH WEDŁUG NORMY PN-EN 62305

METODA PROJEKTOWANIA REJONU ZMIANY KIERUNKU TRASY KOLEJOWEJ

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

A i A j lub A j A i. Operator γ : 2 X 2 X jest ciągły gdy

FFT i dyskretny splot. Aplikacje w DSP

Transkrypt:

DSP-MATLAB, Ćwiczenie 5, P.Korohoda, KE AGH Instrucja do laboratorium z cyfrowego przetwarzania sygnałów Ćwiczenie 5 Wybrane właściwości Dysretnej Transformacji Fouriera Przemysław Korohoda, KE, AGH Zawartość instrucji: 1 Materiał z zaresu DSP 1.1 Macierzowy zapis DFT 1.2 Symetrie transformaty DFT 1.2.1 Ciąg o długości parzystej 1.2.2 Ciąg o długości nieparzystej 1.3 Szyba Transformacja Fouriera 1.4 DFT jao rozład na ciągi bazowe 1.5 Transformata DFT ciągu pochodzącego z próbowania sygnału zespolonego typu e j2 vt i osinusoidy 1.6 Pojęcie niższej i wyższej częstotliwości 1.7 Efet Gibbsa 2 Korzystanie z paietu MATLAB 2.1 Uwagi ogólne 2.2 Przyłady rozwiązań wybranych problemów 2.2.1 Badanie efetu sończonej precyzji obliczeń dla FFT pojedynczej długości ciągu - wyznaczanie błędu średniowadratowego (rmse) powstałego po przeprowadzeniu transformacji w przód i wstecz: 2.2.2 Test na ilość operacji zmiennoprzecinowych w FFT w zależności od długości ciągu: 2.2.3 Macierzowa interpretacja DFT. 2.2.4 Rozład ciągu na ciągi bazowe 2.2.5 Sprawdzanie ortonormalności uładu ciągów (wetorów) bazowych 2.2.6 Transformaty ciągów pochodzących z próbowania wybranych sygnałów ciągłych 2.2.7 Błąd w dziedzinie pierwotnej wyniający ze zmiany wartości współczynniów transformaty 3 Zadania do wyonania 1

DSP-MATLAB, Ćwiczenie 5, P.Korohoda, KE AGH a instrucję sładają się następujące części: 1 Materiał z zaresu DSP 2 Korzystanie z paietu MATLAB 3 Zadania do wyonania Do sprawnego wyonania ćwiczenia nie jest onieczna wcześniejsza pratyczna znajomość nie wprowadzonych w ramach poprzednich ćwiczeń funcji paietu MATLAB, jedna niezbędna jest dobra orientacja w materiale przedstawionym w częściach 1 oraz 2 tej instrucji oraz w zagadnieniach będących przedmiotem poprzednich ćwiczeń. Dlatego też wsazane jest doładne przeczytanie obu wymienionych części instrucji oraz zanalizowanie podanych przyładów. UWAGA: znajomość i zrozumienie części 1 i 2 oraz materiału z poprzednich ćwiczeń mogą zostać przez prowadzącego sontrolowane w tracie zajęć. W realizacji zadań z części 3 może pomóc ich wcześniejsze przemyślenie w powiązaniu z częściami 1 i 2. W razie niejasności należy sonsultować się z prowadzącym przed zajęciami - na przyład w terminie onsultacji - bezpośrednio lub poprzez e-mail: orohoda@uci.agh.edu.pl 2

DSP-MATLAB, Ćwiczenie 5, P.Korohoda, KE AGH 1 Materiał z zaresu DSP 1.1 Macierzowy zapis DFT Wzór (33) z poprzedniej instrucji definiujący transformatę DFT (a taże transformatę odwrotną) przedstawia ombinację liniową elementów ciągu x[ n]. Wynia z tego, że można go zapisać w postaci macierzowej i transformację DFT zinterpetować jao przeształcenie macierzowe. Fatycznie, jeśli ciągi x[ n] oraz X[ ] przedstawimy w postaci wetorów olumnowych, to równanie (33) przybierze postać: X[ 0] X[ 1] X[ 1] x[ 0] x[ 1] A x[ 1] (1) gdzie ażdy element macierzy A jest oreślony następująco: a j 2 n, exp n Analogicznie można zapisać transformację odwrotną, wyrażoną poprzez macierz B ażdy element jest oreślony równaniem: 1 j 2 n b, n exp A (2) 1, tórej (3) 1.2 Symetrie transformaty DFT W więszości przypadów ciąg pierwotny zawiera wyłącznie elementy o zerowej części urojonej. W taiej sytuacji transformata DFT wyazuje pewne charaterystyczne symetrie. W pewnym uproszczeniu można stwierdzić, że jeżeli dla ciągu transformaty X[ ] ciągu rzeczywistego x[ n] zostanie oreślony (w przybliżeniu) punt środowy, to wartości amplitud transformaty w puntach położonych symetrycznie po obu stronach tego środa będą taie same, natomiast wartości faz będą taie same co do modułu, jedna przeciwnego znau. Można to stwierdzenie sformułować również ta: wartości amplitud będą względem tego środowego puntu parzyste, a wartości faz nieparzyste. W pewnych przypadach onieczne jest jedna doładniejsze oreślenie zarówno puntu środowego, ja i powstałych symetrii. Szczegółowe wyjaśnienie zawierają poniższe podrozdziały. 1.2.1 Ciąg o długości parzystej W przypadu, gdy długość ciągu x[ n] jest parzysta, to jao punt środowy należy przyjąć element transformaty o numerze i ani ten element, ani element X[ 0 ] nie posiadają swoich bliźniaczych 2 odpowiedniów. Przedstawiono to na rys.1. Ponadto ani X[ 0 ], ani X[ / 2 ] nie może mieć części urojonej. Warto się zastanowić, ja taą właściwość zaobserwować na wyresach amplitudy i fazy. 3

DSP-MATLAB, Ćwiczenie 5, P.Korohoda, KE AGH Rys.1. Ilustracja symetrii transformaty parzystego ciągu rzeczywistego - z lewej amplituda, z prawej faza 1.2.2 Ciąg o długości nieparzystej W przypadu, gdy długość ciągu x[ n] jest nieparzysta, to punt środowy leży pomiędzy elementami 1 1 o numerach i. W taiej sytuacji jedynie element X[ 0 ] nie posiada swojego 2 2 bliźniaczego odpowiednia. Przedstawiono to na rys.2. Ponadto element X[ 0 ] nie może mieć w taiej sytuacji niezerowej części urojonej. Rys.2. Ilustracja symetrii transformaty nieparzystego ciągu rzeczywistego - z lewej amplituda, z prawej faza Warto zauważyć, że symetria amplitudy jest identyczna z symetrią części rzeczywistej, natomiast symetria fazy jest taa sama, ja symetria części urojonej. W ramach ćwiczenia domowego proszę udowodnić za pomocą odpowiednich przeształceń równania (33) powstawanie opisanych symetrii. 1.3 Szyba Transformacja Fouriera Można zauważyć, że bezpośrednie stosowanie wzoru (33), (35) lub (39) z poprzedniej instrucji powoduje wielorotne przeprowadzanie podobnych operacji na podobnych liczbach. Ponieważ DFT jest dość powszechnie stosowaną transformacją, więc opracowano wiele algorytmów wyliczających transformatę za pomocą znacznie mniejszej liczby operacji arytmetycznych niż wynia to ze wspomnianych wzorów. W literaturze uzupełniającej można znaleźć szereg przyładów oraz oszacowanie zmniejszenia liczby operacji w wyniu zastosowania algorytmów ta zwanej Szybiej Transformacji Fouriera, w srócie FFT (ang. Fast Fourier Transform). Ponieważ powszechnie dostępne są gotowe procedury algorytmów FFT, zagadnienie szczegółowych rozwiązań tych algorytmów nie zostało zawarte w zaresie niniejszego laboratorium. Zainteresowani studenci z łatwością znajdą odpowiednią literaturę uzupełniającą. Ze względu jedna na prawidłowe posługiwanie się gotowymi procedurami, w ramach ćwiczeń zostanie zbadana efetywność obliczeniowa algorytmu FFT w zależności od długości ciągu pierwotnego. ależy podreślić, że FFT to nie olejna wersja Transformacji Fouriera, lecz algorytm do szybszego wyliczania DFT. Zatem, jeśli interesuje nas wyni transformacji, a nie sposób jego wyznaczania, i mówimy srótowo transformata FFT, to zawsze oznacza to transformatę DFT. 4

DSP-MATLAB, Ćwiczenie 5, P.Korohoda, KE AGH 1.4 DFT jao rozład na ciągi bazowe Ciąg o długości można przedstawić jao liniową ombinację ciągów bazowych o tej samej długości: K x[ n] a b [ n] : n 0, 1,..., 1 0 (4) Transformata DFT zawiera współczynnii (zespolone) taiego rozwinięcia dla ciągów bazowych o postaci: b [ n] e : 0, 1,..., 1 (5) j2 n Gdy ciąg x[ n] jest rzeczywisty, to można również przyjąć ciągi bazowe w postaci: 2 n b [ n] cos : 0, 1,..., K (6) Przy czym dla parzystego: K, dla nieparzystego: K 1 2 2 : 0 0 lub 0, natomiast dla parzystego dodatowo taże: /2 0 /2.. Ponadto dla dowolnego lub Po to by stwierdzić, że dla ciągów bazowych (5) prawdziwy jest wzór (4) wystarczy podstawić ciągi bazowe (5) do (4) i porównać otrzymaną zależność ze wzorem na odwrotną transformację DFT: 1 x[ n] X[ ] e 1 j2 n 0 Z powyższego porównania otrzymuje się natychmiast zależność pomiędzy współczynniami rozwinięcia (4) - czyli a - i współczynniami transformaty X[ ]: a X[ ] Zależność ta jest, ja widać, bardzo prosta. iestety ciągi (5) są zespolone. Dla rzeczywistych ciągów bazowych (6) pomiędzy współczynniami rozwinięcia i współczynniami transformaty zachodzi nieco inny związe uwzględniający obecność fazy w opisie -tego ciągu bazowego: Przez X a 2 X [ ] X [ ] (9) [ ] oznaczono fazę elementu X[ ] transformaty. Właśnie obecność w ażdym ciągu bazowym (6) fazy, zależnej od ciągu x n ciągów bazowych jest w taim przypadu równa ooło połowie. (7) (8) [ ], powoduje, że ilość Warto zauważyć, że ciągi bazowe (5) tworzą uład ortogonalny i wszystie te ciągi mają taie same normy (w metryce eulidesowej). Co można na ten temat powiedzieć w przypadu ciągów bazowych (6)? Uwaga - zależności (7), (8) i (9) oraz wypływające z nich wniosi dotyczą wersji DFT zaimplementowanej w MATLAB ie. 5

DSP-MATLAB, Ćwiczenie 5, P.Korohoda, KE AGH 1.5 Transformata DFT ciągu pochodzącego z próbowania sygnału zespolonego typu e j2 vt i osinusoidy Z powyższych rozważań na temat rozładu na ciągi bazowe można wywniosować co następuje. Jeżeli ciąg pierwotny o długości jest typu: x[ n] e j2 n (10) dla 01,,..., 1, to jego transformata DFT zawiera same zera poza jednym elementem o indesie oraz X[ ]. Ponieważ ciąg (10) nie jest rzeczywisty, więc jego transformata nie posiada symetrii typowych dla transformaty ciągu rzeczywistego. Jeżeli ciąg pierwotny jest typu: 2 n x[ n] cos (11) 01,,..., 1, to jego transformata zawiera jedynie jeden lub dwa elementy niezerowe. Gdy jest parzyste, wówczas jedyny element niezerowy pojawi się dla 0 lub. Dla 2 dla nieparzystego jedyny element niezerowy pojawi się tylo dla 0. W pozostałych przypadach pojawią się doładnie dwa elementy niezerowe, o indesach oraz, tóre muszą dodatowo spełniać odpowiednie symetrie, ponieważ ciąg (11) jest rzeczywisty, czyli: X[ ] X[ ] X[ ] X[ ] 2 (12) Gdy ciąg pierwotny jest typu: x[ n] cos 2 f n (13) i częstotliwość cyfrowa f nie spełnia zależności (14): f (14) to transformata taiego ciągu zawiera więcej niż dwie wartości niezerowe. Ponadto można zauważyć, że w taim przypadu olejnych odcinów rozdzielających na osi ciągłego czasu punty próbowania nie odpowiada całowitej ilości oresów osinusoidy. Warto pamiętać, że transformacja DFT jest operacją liniową, zatem dowolny stały współczynni zmieniający amplitudę wszystich wyrazów ciągu (10), (11) lub (13) pojawi się również jao współczynni salujący amplitudy wszystich elementów transformaty. 1.6 Pojęcie niższej i wyższej częstotliwości Opierając się na poprzednich dwóch podrozdziałach można wyjaśnić, dlaczego uważa się, że w dziedzinie transformaty DFT najwyższa częstotliwość znajduje się w oolicy elementu środowego. Doładniej, dla parzystego masymalna częstotliwość jest reprezentowana przez element 6

DSP-MATLAB, Ćwiczenie 5, P.Korohoda, KE AGH transformaty o indesie, natomiast dla nieparzystego masymalną częstotliwość reprezentuje 2 1 1 para elementów o indesach oraz. Dla dowolnej długości ciągu sładowa stała jest 2 2 reprezentowana przez element o indesie 0, natomiast najniższa niezerowa częstotliwość odpowiada parze elementów transformaty o indesach 1 oraz 1 i częstotliwość ta rośnie w miarę zbliżania się do elementów odpowiadających częstotliwości masymalnej. ależy jedna pamiętać, że powyższe wniosi odnośnie wysoości częstotliwości dotyczą wyłącznie dysretnych wartości częstotliwości cyfrowej oreślonych dla 01,,..., 1 przez wzór (14). Wartości te można z olei, dysponując częstotliwością próbowania, przeliczyć na dysretne wartości częstotliwości w Hz. Każdej innej częstotliwości cyfrowej z przedziału 0, 1) nie spełniającej warunu (14) będzie odpowiadać więsza ilość prążów rozłożona po całym przedziale, więc ciąg tai zawiera z puntu widzenia taiej interpretacji różne częstotliwości - zarówno te wyższe, ja i niższe. Przyładowo, dla 64 ciąg: x[ n] cos 2 0, 125 n (15) odpowiada w dziedzinie transformaty DFT dwóm prążom o indesach 8 i 56. Identycznie opisany ciąg, jedna dla 66, będzie odpowiadał wielu prążom, choć dominować będą elementy 8 i 58. Zatem w tym drugim przypadu nie da się powiedzieć, że z puntu widzenia DFT jest to ciąg o oreślonej częstotliwości, bowiem zawiera tych częstotliwości wiele. Jest to dość istotna różnica w stosunu do D-TFT, gdzie niemal zawsze (z wyjątiem sytuacji prowadzącej do ciągu nieoresowego) próbowana osinusoida o f 0 odpowiada dwóm prążom loalizującym jednoznacznie częstotliwość, przy czym częstotliwość ta w przypadu D-TFT rośnie wraz z oddalaniem się od puntu f 0. Opisana różnica wynia z fatu, iż DFT operuje na sończonym ciągu próbe. Ja, opierając się na obserwacjach poczynionych dla DFT oraz relacjach pomiędzy DFT i D-TFT zbadanych w ramach poprzedniego ćwiczenia, wyazać słuszność powyższego porównania? Ciąg transformaty DFT jest dla rzeczywistego ciągu pierwotnego symetryczny oraz częstotliwości rosną w ierunu środowego elementu tej transformaty, by następnie maleć w miarę zbliżania się do elementu ostatniego, zatem często rozważa się jedynie połowę (w przybliżeniu) ciągu transformaty zawierającą ompletną informację o wszystich częstotliwościach typu (14). 1.7 Efet Gibbsa Jeżeli w dziedzinie transformaty wprowadzi się pewien błąd zmieniając nieco wartość jednego tylo współczynnia tej transformaty - na przyład o indesie - to po powrocie do dziedziny pierwotnej odtworzony ciąg x[ n ] nie będzie już identyczny z ciągiem początowym x[ n]. Z liniowości transformacji DFT oraz rozważań na temat rozładu na ciągi bazowe można wywniosować, że zmiana elementu X[ ] transformaty o X[ ] spowoduje wprowadzenie do ciągu pierwotnego błędu w X [ ] postaci ciągu bazowego o amplitudzie (w implementacji MATLAB a): X X[ ] X [ ] [ ] X [ ] x [ n ] x [ n ] e j2 n (16) Gdyby transformatę ciągu rzeczywistego zmodyfiować ta, że zachowane będą odpowiednie symetrie, na przyład ta: X [ ] X [ ] X [ ] X [ ] X [ ] conj X [ ] (17) 7

DSP-MATLAB, Ćwiczenie 5, P.Korohoda, KE AGH to do ciągu pierwotnego zostanie wprowadzony błąd, będący odwrotną transformatą ciągu X err sładającego się z samych zer i tylo dwóch elementów niezerowych: X err[ ] X[ ] oraz X err[ ] conj X[ ], czyli: x [ n ] x [ n ] X n x [ n ] 2 [ ] 2 err cos X [ ] (18) Biorąc pod uwagę liniwość transformacji DFT można zatem stwierdzić, że wprowadzenie błędu typu (16) dla pewnej ilości wartości spowoduje, że w dziedzinie pierwotnej wprowadzony błąd będzie ombinacją liniową ciągów typu (18). W przypadu wyreślenia taiego ciągu błędu otrzymuje się zazwyczaj obraz oscylacji. Opisany efet pojawienia się zmian w ciągu pierwotnym w wyniu wprowadzenia błędu w dziedzinie transformaty nazywa się efetem Gibbsa. Często rozważa się szczególny przypade tego błędu, gdy w dziedzinie transformaty pomija się zupełnie pewną grupę współczynniów, przyjmując w ich miejsce wartości zerowe. Efet Gibbsa może dotyczyć taże sytuacji odwrotnej - gdy błąd wprowadza się do wybranych elementów ciągu pierwotnego, co daje w rezultacie błąd o wyglądzie oscylacji w dziedzinie transformaty. Wyjaśnienie taiego wariantu jest bardzo podobne, co wynia z podobieństwa wzorów na transformatę DFT w przód i odwrotną. 8

DSP-MATLAB, Ćwiczenie 5, P.Korohoda, KE AGH 2 Korzystanie z paietu MATLAB 2.1 Uwagi ogólne Warto pamiętać, że numeracja elementów wetorów w MATLAB ie rozpoczyna się od 1, zatem indesy czasowe i częstotliwościowe z rozważań z zaresu DSP - rozdział 1 instrucji - są w stosunu do tej numeracji przesunięte o 1 (pierwszy element ciągu pierwotnego lub transformaty ma tam zwyle indes 0 ). Z puntu widzenia czytelnego przedstawienia zagadnienia dość istotne jest jaa forma wizualizacji zostanie wybrana dla danego zestawu danych. ieiedy lepsze jest wypisanie na eranie wartości - wszystich lub tylo wybranych - w postaci liczbowej, a innym razem orzystniejszy jest wyres typu plot, stem lub mesh. 2.2 Przyłady rozwiązań wybranych problemów Poniżej przedstawiono przyłady częściowych rozwiązań problemów podobnych do tych, tóre będą tematem ćwiczeń. Przyłady nie zawierają etapu badania otrzymanych wyniów - ten fragment należy uzupełnić samodzielnie. 2.2.1 Badanie efetu sończonej precyzji obliczeń dla FFT pojedynczej długości ciągu - wyznaczanie błędu średniowadratowego (rmse) powstałego po przeprowadzeniu transformacji w przód i wstecz: >> =128; >> x=rand(1,); X=fft(x); xi=ifft(x); >> rmse=sqrt(sum(abs(x-xi).^2)/); sqrt jest funcją Matlab a wyznaczającą pierwiaste wadratowy 2.2.2 Test na ilość operacji zmiennoprzecinowych w FFT w zależności od długości ciągu: >> for =2:2^8, x=rand(1,); flops(0); X=fft(x); oper(-1)=flops; end; 2.2.3 Macierzowa interpretacja DFT. >> =32; >> MDFT=fft(eye()); >> x=rand(,1); uwaga - wetor x jest tym razem olumnowy >> X=MDFT*x; Jaie przyłady należałoby zbadać, by się upewnić, czy metoda wyznaczania macierzy MDFT jest poprawna? 2.2.4 Rozład ciągu na ciągi bazowe W tym przyładzie najpierw zostanie wygenerowany zestaw ortogonalnych ciągów bazowych ułożonych w postaci olumn macierzy B : >> =8; >> x=rand(,1); olumnowy wetor reprezentujący ciąg przeznaczony do rozwinięcia >> B0=zeros(,); >> for =1:, B0(1:,)=rand(,1)+0.5; end; olumny powinny być liniowo niezależne >> ran(b0) sprawdzenie, czy fatycznie ta jest >> B(:,1)=B0(:,1)/sqrt(sum(abs(B0(:,1)).^2)); normalizacja pierwszej olumny poniżej procedura ortonormalizacyjna: >> for =2:, b=b0(:,); for m=1:-1; b=b-(b *B(:,m))*B(:,m);end; B(:,)=b./sqrt(sum(abs(b).^2)) ;end ciąg x jest teraz rozwijany w szereg, gdzie olumny macierzy B to ciągi bazowe: >> X=B*x; >> x2=zeros(,1); for =1:, x2=x2+x()*b(:,);end >> err=x2-x; 9

DSP-MATLAB, Ćwiczenie 5, P.Korohoda, KE AGH Ja uzasadnić sposób, w jai macierz B została wyorzystana do wyznaczania współczynniów poszuiwanego rozwinięcia? 2.2.5 Sprawdzanie ortonormalności uładu ciągów (wetorów) bazowych ieiedy może się oazać przydatne stwierdzenie, czy dany uład wetorów jest ortogonalny oraz, czy jest znormalizowany. Zbadamy zatem ortogonalność olumn macierzy B0 oraz B z poprzedniego przyładu: >> for =1:, for m=1:, ILSKAL(,m)=conj(B0(:,) )*conj(b0(:,m)); end; end; >> mesh(ilskal); >> for =1:, for m=1:, ILSKAL(,m)=conj(B(:,) )*conj(b(:,m)); end; end; >> mesh(ilskal); Ja powinna wyglądać macierz ILSKAL dla uładu ortogonalnego, a ja dla nieortogonalnego? Sprawdzenie normy ciągów bazowych: >> for =1:, ORMA()=sqrt(conj(B(:,) )*conj(b(:,))); end Można również sprawdzić, że dla uładu ortonormalnego macierz odwrotną do macierzy B można otrzymać przez transpozycję macierzy B. O czym powinna przypominać zastosowana przy wyznaczaniu iloczynu salarnego i normy funcja conj (wartość sprzężona)? Czy można by w tym przyładzie z tej funcji zrezygnować? 2.2.6 Transformaty ciągów pochodzących z próbowania wybranych sygnałów ciągłych >> =64; >> =7; >> n=0:63; i następnie: >> x=exp(j*2*pi**n/+pi/7); albo: >> x=cos(2*pi**n/+pi/7); po czym: >> X=fft(x); i pozostaje już tylo sprawdzić odpowiednie hipotezy. 2.2.7 Błąd w dziedzinie pierwotnej wyniający ze zmiany wartości współczynniów transformaty >> =64; >> x=rand(1,); >> X=fft(x); >> =4; >> DX=3*exp(j*pi/5); wyraźnie widać jaą amplitudę i fazę ma błąd >> X()=X()+DX; >> X(-)=X(-)+conj(DX); >> xinv=ifft(x); >> xerr=xinv-x; i teraz można postudiować właściwości ciągu xerr. 10

DSP-MATLAB, Ćwiczenie 5, P.Korohoda, KE AGH 3 Zadania do wyonania 1. Poazać na przyładzie, na czym polega macierzowa interpretacja DFT. 2. Sprawdzić poprawność algorytmu FFT zaimplementowanego w funcji fft Matlab a. 3. Zbadać efetywność algorytmu FFT w zależności od długości ciągu. 4. Potwierdzić istnienie odpowiednich symetrii w transformacie DFT rzeczywistego ciągu pierwotnego. Poazać, że symetrie te powstają taże w ciągu pierwotnym, gdy transformata jest rzeczywista (bez części urojonej) i wyjaśnić ten efet. 5. Zademonstrować, co oznacza stwierdzenie, że transformata DFT zawiera współczynnii rozwinięcia sygnału w szereg sygnałów bazowych. 6. Wyazać, na czym polega podział na wyższe i niższe częstotliwości w onteście transformaty DFT. 7. Wyznaczyć transformaty DFT wybranych ciągów cyfrowych i wyjaśnić zaobserwowane cechy tych transformat. 8. Poazać za pomocą przyładów, na czym polega efet Gibbsa. 11