Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 3. Właściwości przekształcenia Fouriera 1. Podstawowe właściwości przekształcenia Fouriera Omówione w ramach niniejszego ćwiczenia właściwości dotyczą m.in. DFT, DTFT i FFT. iech w dalszej części instrukcji zapis X =FT{x } oznacza przekształcenie Fouriera (np. X [m]= 1 1 2 mn i n=0 x [n]e ), natomiast zapis x =FT 1 {X } odwrotne przekształcenie Fouriera (np. x[n]= 1 m=0 X [m]e i 2 mn ). W niniejszym ćwiczeniu może być pomocne, że podczas wykonywania ćwiczenia 3. (FFT) można było zauważyć symetrię wykresów części rzeczywistej i urojonej transformaty Fouriera, rysowanych dla m 0, 1. Wykres części rzeczywistej charakteryzował się symetrią osiową względem prostej m= 2 m, Im {X } = 2, 0., natomiast wykres części urojonej symetrią środkową względem punktu 1.1. Homogeniczność Przekształcenie Fouriera jest homogeniczne, tzn. k-krotna zmiana amplitudy sygnału spowoduje k-krotną zmianę amplitudy transformaty: k X =FT {k x}. Podobną zależnością charakteryzuje się przekształcenie odwrotne: k x=ft 1 {k X }. 1.2. Addytywność Przekształcenie Fouriera jest addytywne, tzn. transformata sumy sygnałów jest równa sumie transformat tych sygnałów: 1
FT {x 1 x 2 } FT {x 2 }. Addytywne jest również odwrotne przekształcenie Fouriera: FT 1 {X 1 X 2 }=FT 1 {X 1 } FT 1 {X 2 }. Homogeniczność i addytywność świadczą o liniowości przekształcenia Fouriera, a można je udowodnić, korzystając bezpośrednio z definicji, pamiętając przy tym m.in. o tym, że ka n =k a n dla k=const C oraz że a n b n = a n b n. 1.3. Kompresja i ekspansja sygnału Kompresja sygnału w jednej dziedzinie powoduje jego ekspansję w drugiej dziedzinie, np. zwężenie sygnału w dziedzinie czasu ( przyspieszenie ) spowoduje poszerzenie widma częstotliwościowego (wystąpienie większych częstotliwości). Dla k=const C możemy zapisać: FT { x[kn] }= 1 k X [ m k ]. 1.4. Właściwości fazowe przekształcenia Fouriera 1.4.1. Wpływ przesunięcia sygnału w dziedzinie czasu na fazę transformaty Przesunięcie sygnału w czasie nie zmienia amplitudy jego transformaty. Ma natomiast wpływ na jej fazę jeśli sygnał zostanie w dziedzinie czasu przesunięty o s próbek, faza transformaty zmieni się o 2 s f : x 2 [n]= x 1 [n s] {X 2 }= {X 1 } 2 s f, gdzie f 0; 0,5 jest częstotliwością podaną jako ułamek częstotliwości próbkowania, tzn. f = m (m numer składowej, liczba składowych transformaty). 1.4.2. Rozwinięcie fazy Kąt fazowy liczby zespolonej jest liczbą z przedziału ; (albo 0; 2 ). iemniej przy wykreślaniu fazy transformaty Fouriera przydatne jest często, aby ze względu na zachowanie ciągłości wykresu przeciwdziedzina była zbiorem większym. W tym celu stosuje się rozwijanie fazy (ang. phase unwrapping), polegające na dodawaniu całkowitych wielokrotności 2 do obliczonych kątów. Dąży się przy tym do tego, żeby różnica fazy między kolejnymi punktami transformaty była jak najmniejsza (co zapewnia ciągłość wykresu). 1.5. Przeciek widma Dla dyskretnego przekształcenia Fouriera dany sygnał x[n] (złożony z próbek) jest zarówno w dziedzinie czasu, jak i w dziedzinie częstotliwości sygnałem okresowym o okresie. Jeśli więc analizujemy sygnał okresowy o okresie mniejszym niż, prawidłowe wyniki uzyskamy wówczas, gdy w badanym fragmencie sygnału ( n 0, 1 ) wystąpi całkowita liczba jego okresów. Jeśli analizowany sygnał rozpocznie się lub będzie zakończony niepełnym okresem, w widmie X[m] 2
wystąpią dodatkowe niezerowe składowe, które nie charakteryzują badanego sygnału, a jedynie zaburzają interpretację wyników. Zjawisko to nazywamy przeciekiem widma. azwa ta związana jest z wyciekiem energii sygnału, określanej przez właściwą składową widma, do innych składowych. 1.6. Modulacja amplitudowa mnożenie sygnałów 1.6.1. Splot Splotem sygnałów nazywamy działanie, którego argumentami są dwa sygnały i które zdefiniowane jest dla sygnałów ciągłych następującym wzorem: s t =x 1 t x 2 t = x 1 u x 2 t u d u. Dla sygnałów dyskretnych x 1 i x 2 operację wyznaczania n-tej próbki splotu zapisać można następująco: 1 1 s[n]= x 1 x 2 [n]= x 1 [k] x 2 [n k ]. k =0 Jeżeli liczba próbek sygnału x 1 jest równa 1, a sygnał x 2 ma 2 próbek, przy czym 1 > 2, liczba próbek wyniku operacji splotu wynosi 1 + 2 1. Przy obliczaniu splotu należy zwrócić uwagę na to, aby indeksy zmiennych nie wykraczały poza dostępny zakres. W przypadku pracy z Octave em oznacza to spełnienie zależności: 1 n ( 1 + 2 1), 1 k 1, 1 n k 2. 1.6.2. Mnożenie sygnałów a przekształcenie Fouriera Transformata splotu sygnałów jest iloczynem transformat tych sygnałów: FT {x 1 x 2 } FT {x 2 }, natomiast transformata iloczynu sygnałów jest splotem ich transformat: FT {x 1 x 2 } FT {x 2 }. Mnożenie dwóch sygnałów jest wykorzystywane m.in. przy modulacji amplitudowej oraz filtrowaniu sygnałów. Istotą modulacji amplitudowej jest przeniesienie widma sygnału w wyższe częstotliwości przez zastosowanie sygnału nośnego x c o pewnej częstotliwości f c dużo wyższej od maksymalnej częstotliwości f x sygnału niosącego informację x. Operacja mnożenia sygnałów (splotu transformat) powoduje, że widmo sygnału x zostaje przesunięte w dziedzinie częstotliwości w stronę prążka częstotliwości nośnej. Powstałe widmo sygnału zmodulowanego składa się z prążka częstotliwości nośnej f c oraz dwu wstęg bocznych, które to wstęgi są symetryczne względem prążka f c i mają kształt taki sam jak widmo sygnału niezmodulowanego. Istotne jest, aby częstotliwość sygnału nośnego była większa niż największa częstotliwość składowa sygnału informacyjnego. 3
2. Zadania do realizacji a zajęciach laboratoryjnych należy rozwiązać 5 podanych poniżej zadań. Za każde zadanie można otrzymać jeden punkt pod warunkiem, że zostanie ono całkowicie poprawnie zrealizowane. Warto przypomnieć, że w zadaniach wskazane jest wykorzystywać funkcje napisane podczas wcześniejszych ćwiczeń. Zadanie nr 1 W zadaniu pierwszym należy napisać dwie funkcje. Pierwszą postaci: function [t, xr]=sin_t(t, c, ) generującą sinusoidę x r o częstotliwości c herców w przedziale czasowym 0, t, zadanym w sekundach i wykorzystującą do jej przedstawienia próbek. Do wektora t powinny zapisać się punkty na osi czasu, dla których obliczona została wartość sinusoidy. Druga funkcja powinna mieć postać: function [fx]=freq_d(t, ) i zwracać wektor f x częstotliwości składowych transformaty, jeśli sygnał wejściowy miał długość t sekund i po spróbkowaniu ma próbek. Zadanie nr 2 W zadaniu drugim należy napisać funkcję następującej postaci: function [zr, zi]=sig_mul(xr, xi, yr, yi) wykonującą mnożenie dwóch sygnałów zespolonych ( n 0, 1 z[n]= x[n] y[n] ). 4
Zadanie nr 3 Zadanie trzecie polega na napisaniu funkcji następującej: function [uw_fi]=unwrap_phase(fi) która będzie realizować rozwinięcie fazy. Zadanie nr 4 W zadaniu czwartym należy napisać funkcję następującej postaci: function [zr, zi]=sig_conv(xr, xi, yr, yi) która będzie realizować splot sygnałów x[n] i y[n]. Zadanie nr 5 Do dyspozycji jest sygnał dźwiękowy Wroclaw.wav, który można wczytać do Octave a za pomocą wbudowanej funkcji wavread(). Częstotliwość próbkowania tego sygnału wynosi 16 khz. W ramach zadania 5. należy wykonać prawidłową modulację amplitudową z sygnałem Wroclaw.wav jako sygnałem informacyjnym. Do zaliczenia zadania potrzebne jest wyświetlenie transformaty Fouriera z prawidłową skalą częstotliwości. Pytania na kartkówkę 1. Jak wyjaśnisz wspomniane w punkcie 1 symetrie wykresów Re{X[m]} i Im{X[m]}? 2. apisz funkcję przesuwającą zespolony sygnał x[n] o s próbek. Przyjmij, że po próbce x[ 1] kolejną w prawo jest próbka x[0]. 3. Zaproponuj algorytm rozwijania fazy i napisz funkcję go realizującą. 4. Ile wynosi częstotliwość próbkowania, jeśli sygnał o próbkach zawiera dokładnie k okresów sygnału o częstotliwości f? 5. apisz funkcję realizującą splot zespolonych sygnałów x[n] i y[n]. 5