10.07.2015 Views

Skrypt APSC - MARS

Skrypt APSC - MARS

Skrypt APSC - MARS

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Spis treściPrzedmowa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Pojęcia wstępne 71.1 Typy sygnałów . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2 Sygnały a informacja . . . . . . . . . . . . . . . . . . . . . . . . . 91.3 Ciągłe sygnały deterministyczne . . . . . . . . . . . . . . . . . . 101.3.1 Parametry sygnałów . . . . . . . . . . . . . . . . . . . . . 101.3.2 Sygnały o ograniczonej energii . . . . . . . . . . . . . . . 111.3.3 Sygnały o ograniczonej mocy . . . . . . . . . . . . . . . . 141.4 Sygnały dyskretne . . . . . . . . . . . . . . . . . . . . . . . . . . 151.5 Sygnały dystrybucyjne . . . . . . . . . . . . . . . . . . . . . . . . 172 Przestrzenie sygnałów 222.1 Reprezentacje sygnałów . . . . . . . . . . . . . . . . . . . . . . . 222.2 Własności matematyczne zbiorów sygnałów . . . . . . . . . . . . 262.2.1 Własności metryczne przestrzeni sygnałów . . . . . . . . . 262.2.2 Struktura liniowa przestrzeni sygnałów . . . . . . . . . . . 272.2.3 Norma, iloczyn skalarny . . . . . . . . . . . . . . . . . . . 282.2.4 Kąt między sygnałami. Bazy ortogonalne i ortonormalne 302.3 Uogólniony szereg Fouriera . . . . . . . . . . . . . . . . . . . . . 332.4 Reprezentacje sygnałów dyskretnych . . . . . . . . . . . . . . . . 342.5 Bazy ortogonalne w przestrzeniach sygnałów ciąglych . . . . . . 362.5.1 Zespolona baza harmoniczna . . . . . . . . . . . . . . . . 392.5.2 Rzeczywisty trygonometryczny szereg Fouriera . . . . . . 402.6 Podstawowe operacje na sygnałach . . . . . . . . . . . . . . . . . 422.6.1 Splot sygnałów . . . . . . . . . . . . . . . . . . . . . . . . 422.6.2 Korelacja wzajemna, autokorelacja . . . . . . . . . . . . . 442


SPIS TREŚCI 33 Transformata Fouriera 473.1 Definicje i przykłady . . . . . . . . . . . . . . . . . . . . . . . . . 483.2 Podstawowe twierdzenia . . . . . . . . . . . . . . . . . . . . . . . 513.3 Transformaty sygnałów dystrybucyjnych . . . . . . . . . . . . . . 533.4 Iloczyn i splot sygnałów . . . . . . . . . . . . . . . . . . . . . . . 544 Próbkowanie sygnałów 594.1 Problem niejednoznaczności postaci sygnału w dziedzinie częstotliwości. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594.2 Twierdzenie o próbkowaniu . . . . . . . . . . . . . . . . . . . . . 614.3 Compressed Sampling . . . . . . . . . . . . . . . . . . . . . . . . 645 Dyskretna Transformata Fouriera 765.1 Definicja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 766 Filtry analogowe 806.1 Transformata Laplace’a . . . . . . . . . . . . . . . . . . . . . . . 806.2 Opis liniowych układów analogowych . . . . . . . . . . . . . . . . 836.3 Transmitancja Laplace’a . . . . . . . . . . . . . . . . . . . . . . . 846.4 Rodzaje i charakterystyka filtrów . . . . . . . . . . . . . . . . . . 886.4.1 Filtr Butterwortha . . . . . . . . . . . . . . . . . . . . . . 936.4.2 Filtr Czebyszewa I . . . . . . . . . . . . . . . . . . . . . . 966.4.3 Filtr Czebyszewa II . . . . . . . . . . . . . . . . . . . . . . 996.4.4 Filtr Bessela . . . . . . . . . . . . . . . . . . . . . . . . . 996.4.5 Filtr eliptyczny . . . . . . . . . . . . . . . . . . . . . . . . 996.5 Projektowanie filtrów w Matlabie . . . . . . . . . . . . . . . . . . 1006.5.1 Pierwsza charakterystykaamplitudowo-częstotliwościowa . . . . . . . . . . . . . . . 1006.5.2 Funkcje Matlaba przydatne przy projektowaniu filtrów . . 1037 Filtry cyfrowe 1067.1 Transformata Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1077.2 Opis liniowych układów dyskretnych . . . . . . . . . . . . . . . . 1107.3 Transmitancja układów dyskretnych . . . . . . . . . . . . . . . . 1137.4 Filtry FIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1147.4.1 Współczynniki filtrów FIR . . . . . . . . . . . . . . . . . . 1147.4.2 Projektowanie filtrów FIR metodą okien czasowych . . . . 1157.4.3 Projektowanie filtrów FIR metodą próbkowania w dziedzinieczęstotliwości . . . . . . . . . . . . . . . . . . . . . 119


SPIS TREŚCI 47.4.4 Projektowanie filtrów FIR metodą Remeza . . . . . . . . 1257.4.5 Pozostałe metody projektowania filtrów FIR . . . . . . . 1257.5 Projektowanie filtrów FIR w Matlabie . . . . . . . . . . . . . . . 1257.5.1 Metoda okien czasowych . . . . . . . . . . . . . . . . . . . 1297.5.2 Metoda próbkowania w dziedzinie częstotliwości . . . . . 1317.5.3 Metoda Remeza . . . . . . . . . . . . . . . . . . . . . . . 1317.6 Filtry IIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1327.6.1 Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . 1327.6.2 Projektowanie filtrów IIR metodą niezmienności odpowiedziimpulsowej . . . . . . . . . . . . . . . . . . . . . . . . 1337.6.3 Projektowanie filtrów IIR metodą transformacji biliniowej 1347.6.4 Projektowanie filtrów IIR metodami iteracyjnymi . . . . . 1377.7 Projektowanie filtrów IIR w Matlabie . . . . . . . . . . . . . . . 1377.7.1 Metoda niezmienności odpowiedzi impulsowej . . . . . . . 1377.7.2 Metoda transformacji biliniowej . . . . . . . . . . . . . . . 1387.7.3 Metoda Yule’a-Walkera . . . . . . . . . . . . . . . . . . . 1407.8 Proces filtracji cyfrowej . . . . . . . . . . . . . . . . . . . . . . . 1417.8.1 Struktury filtrów . . . . . . . . . . . . . . . . . . . . . . . 1417.8.2 Filtracja sygnałów w Matlabie . . . . . . . . . . . . . . . 143


PrzedmowaŻyjemy w czasach cyfrowej rewolucji. Coraz więcej danych, które rejestrujemy,składujemy, przetwarzamy i przesyłamy to dane cyfrowe. To sprawia, że następujekonwergencja różnych dziedzin z pogranicza informatyki, telekomunikacji,technik obliczeniowych, mediów w jeden wielki trend technologiczny, który przybliżanas do informacji, przyśpiesza obrót gospodarczy, zamienia świat w jednąglobalną wioskę.Dlatego wydaje się dość oczywiste, że w profilu wykszałcenia informatykapowinien znajdować się przedmiot, który zawiera podstawowe informacje o tymjak takie dane cyfrowe pozyskiwać, jak je składować, by pogodzić wierność oryginalnemusygnałowi z ograniczeniem rozmiaru danych, jak je przechowywać iprzetwarzać. Dlatego w programie niedawno uruchomionej specjalności teleinformatykina studiach II stopnia z informatyki na Wydziale Fizyki, Matematykii Informatyki Politechniki Krakowskiej znalazł się przedmiot o nazwie Akwizycjai Przetwarzanie Sygnałów Cyfrowych (<strong>APSC</strong>). Celem jego uruchomieniajest zapoznanie studenta z technikami rejestracji i przewarzania danych cyfrowych.Niniejszy skrtypt jest pomyślany jako materiał pomocniczy zarówno dlastudentów jak i prowadzących ten przedmiot.Autorzy starali się, by to opracowanie było w miarę samowystaczalne. Naszymcelem było napisanie przewodnika przedmiotu, który stara sie wyjaśnićpodstawowe pojęcia dotyczące technologii cyfrowej. Zaczynamy od przedstawieniaróżnego rodzaju typów sygnałów, w tym sygnałów dyskretnych i dystrybucyjnych.Mimo tego, że dziedzina ta jest tak nowoczesna, to podstawowenarzędzia matematyczne (analiza Fourierowska, będąca podstawą metod częstotliwościowych)zostały wprowadzone już ponad 200 lat temu. Przy ich pomocydyskutujemy metody akwizycji sygnałów dyskretnych z ciągłych żródeł i omawiamywarunki, jakie muszą być spełnione, by tak pozyskany sygnał pozwoliłna wierną rekonstrukcję danych źrodłowych. Oprócz klasycznego podejścia,opisanego w twierdzeniu o próbkowaniu, dyskutujemy niedawno wprowadzone


Przedmowa 6metody oszczędnego próbkowania. Jako przykład przetwarzania danych cyfrowychprzedstawiamy różne metody filtracji sygnałów - zarówno analogowychjak i cyfrowych.Nie zakładamy żadnego specjalnego przygotowania koniecznego dla zrozumieniatego tekstu - wystraczą te podstawy analizy matematyznej i algebry,które student przyswaja w trakcie pierwszych lat studiów pierwszego stopnia.Zakładamy, że nieodłączną częścia tego przedmiotu będzie laboratorium. Podstawowymnarzędziem używanym do wykonania ćwiczeń laboratoryjnych będzieMatlab, zwłaszcza jego część o nazwie Signal Processing Toolbox zawierającywiele narzędzi ułatwiających wykonywanie symulacji, obliczeń i projektów rozmaitychrozwiazań stosownych w przetwarzaniu sygnałów cyfrowych. Zakładamy,że uczestnicy kursu potrafią posługiwać się Matlabem w stopniu pozwalającymna napisanie prostego programu, zdefiniowaniu funkcji, czy też narysowaniewykresu.Na rynku jest dostępnych kilka książek, które są bardziej kompletnym źródłemniż nasz strypt - najbardziej godne polecenia wydają nam się monografiaTomasza P. Zielińskiego, a także książka Jerzego Szabatina czy też (nabardziejpodstawowa i prosto napisana) ksiązka Richarda G. Lyonsa. Gdyby materiałtego skryptu okazał się niewystarczający, odsyłamy czytelnika do tych pozycji.


Rozdział 1Pojęcia wstępnePodstawowym obiektem zainteresowania niniejszego skryptu będą sygnały, zeszczególnym naciskiem na analizę i przetwarzanie sygnałów cyfrowych. Należywięc zacząć od wyjaśnienia, co będziemy rozumieć pod pojęciem sygnału.Pojęcie to jest ściśle powiązane z procesem pomiaru. W trakcie tego procesurejestrujemy (mierzymy) pewne wybrane wielkości fizyczne (na przykład temperaturę,ciśnienie, napięcie elektytryczne, pole magnetyczne) i ich zależnośćod położenia i/lub czasu. Tak więc sygnał opisuje zmienność w czasie i/lubprzestrzeni pewnych wybranych wielkości fizycznych. Często rozważanym przykłademsygnału jest jest przebieg w czasie wielkości napięcia elektrycznego nawyjściu mikrofonu w trakcie rejestracji dźwięku.Sygnały są generowane przez różnorakie źródła biologiczne (np. sygnały generowaneprzez organizm ludzki, używane w diagnostyce medycznej), społecznei techniczne. Wiele sygnałów jest generowanych sztucznie przez człowieka; służąone jako nośnik przenoszący informacji (radio, telewizja, sieci komputerowe) lubjako sygnał pobudzający układ, stymulujący jego odpowiedź, niosącą informacjeo jego własnościach (radar, sonar).1.1 Typy sygnałówW zależności od ilości zmiennych niezależnych, jak również rodzaju oraz rozmiaruwielkości mierzonych możemy mówić o różnych różnych typach sygnałów.Tak więc - kierując się:• liczbą niezależnych zmiennych od których sygnał zależy mówimy o sygna-7


ROZDZIAŁ 1. POJĘCIA WSTĘPNE 8łach:jednowymiarowych n.p. sygnał powstały w trakcie rejestracji dźwięku,wielowymiarowych - n.p. zapis nieruchomego obrazka (sygnał dwuwymiarowy),zapis sekwencji video (sygnał trójwymiarowy);• zdolnością odbiorcy do przewidzenia kolejnych wartości sygnału, dzielimysygnały nadeterministyczne - dla których mamy dokładny model matematycznyopisu,losowe - czyli takie, dla których nie mamy modelu pozwalającena przewidzeniekolejnych wartości pomiarowych; co najwyżej możemy określićprawdopodobieństwa uzyskania kolejnych wartości;• charakterem (ciągłością) zmiennych, od których sygnał zależy jak równieżsamej wielkości reprezentującej sygnał - mówimy tu o sygnale o naturze:ciągłej,dyskretnej.• czasem, w którym wartość sygnału jest różna od zera - tutaj można mówićo sygnałacho nieskończonym czasie trwania,impulsowych, w których sygnał poza pewnym skończonym obszaremjest równy 0.Przyjrzyjmy się dokładniej różnym typom sygnałów wynikających z różnegocharakteru ciągłości tak sygnału jak parametrów, od których on zależy. Dlauproszczenia rozważmy jednowymiarowe sygnały zależne od czasu. Tutaj, zewzględu na charakter dziedziny sygnału, jak również jego zbioru wartości, możemymówić o:1. ciągłym sygnale czasu ciągłego (sygnał analogowy - n.p. sygnał na wyjściumikrofonu rejestrującego dźwięk);2. sygnale ciągłym w czasie i dyskretnym w amplitudzie (n.p. skwantyzowanymsygnale na wyjściu przetwornika A/C);


ROZDZIAŁ 1. POJĘCIA WSTĘPNE 93. ciągłym sygnale dyskretnego czasu - taki sygnał uzyskujemy w wynikupróbkowania sygnału analogowego;4. sygnale dyskretnym zarówno w czasie jak też w amplitudzie.Szczególną podgrupę sygnałów dyskretnych zarówno w czasie jak też w amplitudziestanowią sygnały, które mają ograniczony zbiór możliwych wartości;sygnały z tej grupy nazywamy sygnałami cyfrowymi. Zazwyczaj w takim przypadkustosujemy rodzaj kodowania bitowego. Jeżeli nasz sygnał cyfrowy ma Nmożliwych dyskretnych wartości, to każdą z jego wartości możemy jednoznacznieokreślić przez podanie n-bitowego ciągu, N ≤ 2 n - etykiety bitowej, którajednoznacznie określa oryginalną wartość sygnału. Tak więc zamiast używaniaoryginalego sygnału możemy stosować te etykiety bitowe. Wtedy nasz sygnałto ciąg pól n-bitowych; w każdej chwili czasu wartość sygnału przybiera jednąz dwóch wartości: 0 lub 1. Takie sygnały nazywamy sygnałami binarnymi; odgrywająone coraz większą rolę w transmisji i przetwarzaniu danych cyfrowych.1.2 Sygnały a informacjaDla nas sygnał to nośnik informacji. Można zadać pytanie, czy każdy sygnałniesie informacje? Aby na nie odpowiedzieć przypomnijmy że według teoriiinformacji C.Shannona [13], informacja nie jest powiązana z konkretnymi wartościamisygnału, tylko raczej z prawdopodobieństwem otrzymania danej wartościsygnału. Według tej teorii miarą ilości informacji I A związanej z rejestracjąsygnału A, prawdopodobieństwo uzyskania którego wynosi p A , jest wielkośćlog 2 ( 1P A). Gdy przesyłany sygnał jest deterministyczny, czyli gdy odbiorca mapełną wiedzę o wartościach przesyłanego sygnału, to zdarzenia - odbiór sygnałuA są zdarzeniami pewnymi, dla których prawdopodobieństwa są równe 1. Takiesygnały nie niosą żadnej informacji. Informacja jest związana tylko z takimisygnałami, które dla odbiorcy są losowe. Pomimo tego, znaczna część wykladubędzie dyskutować sygnały deterministyczne i badać ich przetwarzanie. Powodemtego jest fakt, że sygnały takie matematycznie rzecz biorąc są prostszymiobiektami niż sygnały losowe. Dlatego na przykładzie tych deterministycznychsygnałów, których naturę i własności matematyczne rozumiemy lepiej niż naturęi własności sygnałów losowych, łatwiej będzie pokazać metody ich reprezentacji,czy też zdefiniować i pokazać działanie metod ich przetwarzania.


ROZDZIAŁ 1. POJĘCIA WSTĘPNE 101.3 Ciągłe sygnały deterministyczneW niniejszym podrozdziale wprowadzimy podstawowe parametry służące doopisu i klasyfikacji sygnałów. Pokażemy również przykłady różnych sygnałów,szczególnie takich, które są często używane w teorii sygnałów.1.3.1 Parametry sygnałówPodstawowymi parametrami opisującymi sygnały są wielkości związane z ichczasem trwania oraz energią, jaką niosą. Są to takie parametry jak wartośćśrednia sygnału, jego energia oraz moc. Deterministyczny sygnał analogowyokreślać będziemy przez określenie jego przebiegu w czasie x(t). Energia w teoriisygnałów jest zadana jako suma kwadratów amplitud sygnału - w porównaniudo definicji energii w fizyce nie zależy ona od zmienności sygnału. Dla przebiegux(t) możemy określić:1. wartość średnią sygnału w przedziale [t 1 ′t 2 ]〈x〉 =ˆ t2t 1x(t)dt,2. wartość średnią dla sygnałów o nieskończonym czasie trwania〈x〉 = limT →∞12TˆT−Tx(t)dt,3. wartość średnią dla sygnałów okresowych o okresie T:〈x〉 = 1 Ttˆ0+Tt 0x(t)dt,4. energię:5. średnią moc:E x =P x = limT →∞ˆ∞−∞12Tx 2 (t)dt,ˆT−Tx 2 (t)dt,


ROZDZIAŁ 1. POJĘCIA WSTĘPNE 116. średnią moc sygnału okresowego:P x = 1 Ttˆ0+Tx 2 (t)dt,−t 01.3.2 Sygnały o ograniczonej energiiMając te definicje możemy określić klasy sygnałów w zależności od energii lubmocy jaka jest z nimi związana. Pierwszą taką klasą jest klasa sygnałów oskończonej energii. Sygnały, których energia jest niekoniecznie jest skończona,ale moc jest ograniczona nazywamy sygnałami o ograniczonej mocy.Ćwiczenia:1. Pokaż, że średnia moc sygnału o ograniczonej energii jest równa 0.2. Czy fakt, że sygnał ma ograniczoną energię oznacza, że jest sygnałemimpulsowym? Jeżeli nie - to jak szybko musi zanikać taki sygnał dlat → ∞, by pomimo to mógł być sygnałem o skończonej energii?Najprościej zapewnić ograniczoność energii sygnału ograniczając czas jego trwaniado pewnego skończonego odcinka czasowego; poza nim taki sygnał jest zerem.Taki sygnał nazywamy sygnałem impulsowym - najprostszy sygnał impulsowyto impuls prostokątny Π(t). Dokładniej mówiąc, symbol Π(t) oznaczaznormalizowany w czasie i amplitudzie sygnał impusowy, którego kszałt przedstawiarys.1.1a.Stosując skalowanie szerokości i amplitudy oraz przesunięcie jesteśmy w stanieuzyskać impuls prostokątny o dowolnej amplitudzie A, pozycji środka coraz szerokości b. Łatwo sprawdzić, że sygał x(t|A, c, b) dopowiadający takiemuuogólnionemu impulsowi prostokątnemu można zapisać: x(t|A,c,b)=A Π( x−cb ).Mając taki impuls prostokątny możemy wyciąć z dowolnego sygnału jegofragment, będący impulsem o szerokości i położeniu określonym przez parametryimpulsu prostokątnego, natomiast amplitudzie określonej przez wartości sygnału(ewentualnie przeskalowanej przez amplitudę A przebiegu prostokątnego).Mówimy, że impuls prostokątny działa tutaj jako tzw. funkcja okna, która zcałego przebiegu sygnału „wycina” fragment szczególnie nas interesujący, którychcemy podać analizie - aby to uzyskać przemnażamy badany przebieg x(t)przez właściwą funkcję okna. W podobny sposób możemy użyć impulsu trójkątnego,którero przebieg czasowy został pokazany na rys.1.1b. Rysunki 1.2aoraz 1.2b pokazują impulsy uzyskane w sposób opisany powyżej, a więc:


ROZDZIAŁ 1. POJĘCIA WSTĘPNE 121x(t)1x(t)-0.5 0 0.5(a) Znormalizowany impuls prostokątnyt-1 0 1(b) Impuls trójkątnytRysunek 1.1: Przykłady sygnałów impulsowych1x(t)1x(t)tt-T/40T/40 T(a) Impuls kosinusoidalny wycięty oknem prosto-(bkątnypulsem prostokątnymImpuls wycięty z przebiegu wkładniczego im-Rysunek 1.2: Działanie funkcji okna


ROZDZIAŁ 1. POJĘCIA WSTĘPNE 13x(t)x(t)Att0 T(a) Eksponecjalnie malejący(b) Sinusoida tłumionaRysunek 1.3: Sygnały przyczynowe (określone dla t>0) o niezwartm nośniku iskończonej energii• symetryczny impuls kosinusoidalny (rys.1.2a) uzyskany przez działanie symetrycznegoimpulsu prostokątnego Π( t T) na nieskończony (w czasie) sygnałpostaci: cos(ωt)=cos( 2πT ).• impuls wykładniczy, wycięty oknem prostokątnym o szerokości T w czasieod 0 do T .Ci, którzy zadali sobie trud udzielenia odpowiedzi na pytanie 2 z Ćwiczeń wiedzą,że sygnał nie musi mieć charakteru impulsu (czyli - jak to określają matematycy- zwartego nośnika), by być sygnałem o ograniczonej energii. Wystarczy,by był on gładki (nie miał osbliwości) oraz by jego amplituda spadała odpowiednioszybko dla dużych czasów. Ilustrują to cztery kolejne przykłady:Rysunek 1.3pokazuje dwa przykłady sygnałów określone tylko dla t > 0.Czynnikiem, który zapewnia skończoność energii jest funkcja exp(−αt), α > 0.Inne przykłady sygnałów o skończonej energii mimo nieskończonego czasu trwaniasygnału to przebieg gaussowski (rys.1.4b) oraz sygnał Sinc(ω 0 t) (nazywanyrównież Sa(ω 0 t), określony następująco:{ sin(ω0t)Sinc(t) =ω 0tdla t ≠ 01 dla t = 0,którego przebieg przedstawia rys.1.4a. Zobaczymy, że sygnał opisany taką funkcjąjest blisko związany z impulsem prostokątnym oraz, że odgrywa dużą rolę


ROZDZIAŁ 1. POJĘCIA WSTĘPNE 141x(t)1x(t)tt(a) Sygnał Sinc(ω 0 t)(b) Sygnał gaussowskiRysunek 1.4: Inne ważne sygnały o skończonej energiiw teorii próbkowania, będącego częścią procesu akwizycji sygnałów cyfrowychz sygnałów analogowych.1.3.3 Sygnały o ograniczonej mocyWarunek skończoności energii jest dość silnym ograniczeniem na postać sygnałuponieważ nakłada wymagania efektywnej lokalizacji przebiegu sygnału. Szersząklasą sygnałów jest klasa sygnałów o ograniczonej mocy. Najprostszymiprzykładami takich sygnałów są:• sygnał stały x(t) =const• sygnał harmoniczny x(t) = A sin(ω 0 t)• fala prostokątna (bipolarna - rys.1.5a, unipolarna - rys.1.5b)Do tej grupy należą również często stosowane w teorii sygnałów funkcje skokujednostkowego (czyli funkcja Heaviside’a) określona formułą:{1 dla t ≥ 01(t) =(1.1)0 dla t < 0jak też funkcja znaku, określona jako:


ROZDZIAŁ 1. POJĘCIA WSTĘPNE 15Ax(t)Ax(t)tAt(a) bipolarna(b) unipolarnaRysunek 1.5: Fala prostokątna⎧⎪⎨ 1 dla t > 0sgn(t) = 0 dla t = 0(1.2)⎪⎩−1 dla t < 0Przebiegi tych funkcji ilustruje rysunek 1.6. Funkcje te (a zwłaszcza funkcjaskoku) mogą - podobnie jak to było z impulsem prostokątnym czy też trójkątnym- być używane jako narzędzia do formowania sygnału; na przykład znormalizowanysygnał skoku jednostkowego możemy też zapisać:1.4 Sygnały dyskretneΠ(t) = 1(t + 0.5) − 1(t − 0.5)Jak powiedzieliśmy to w trakcie omawiania różnych typów sygałów, sygnałydyskretne to sygnały określone tylko w przeliczalnym zbiorze chwil czasowych.Większość sygnałów tego rodzaju, które stanowić będą przedmiot naszego zainteresowania,będziemy otrzymywać poprzez pomiar wartości sygnału analogowegow określonych z góry punktach czasowych. Proces tego pomiaru nazywaćbędziemy próbkowaniem sygnału. Najczęściej stosuje się próbkowanie równomierne,polegające na pomiarze sygnału w równo odległych od siebie chwilachczasowych t n = nT s , gdzie n - numer próbki w sekwencji. Czas T s nazywamy


ROZDZIAŁ 1. POJĘCIA WSTĘPNE 161x(t)x(t)10tt0(a) Funkcja skoku jednostkowego 1(t)(b) Funkcja znaku sgn(t)Rysunek 1.6: Podstawowe funkcje o ograniczonej mocyokresem próbkowania, a jego odwrotność f s = 1/T s - częstotliwością próbkowania.Ponieważ dla takiego próbkowania czas pobierania próbki jest jednoznaczniezadany poprzez numer próbki, dlatego będziemy traktować takie sygnałyjako funkcje bezwymiarowej wielkości n - czasu unormowanego względem okresupróbkowania.Podobnie jak dla sygnałów analogowych możemy zdefiniować parametry sygnałutakie jak wartość średnia, energia średnia, średnia moc. Wzory na teparametry są analogiczne do tych określonych dla sygnałów ciągłych - trzebatylko ciągłe całkowanie zamienić na dyskretne sumowanie.E x =ˆ∞−∞P x = limT →∞x 2 (t)dt −→12TˆT−T∞∑n=−∞x 2 (n)x 2 1(t)dt −→ limN→∞ 2N + 1N∑x 2 (n)Podobnie jak dla sygnałów ciągłych możemy podzielić sygnały dyskretnena dwie główne grupy - o ograniczonej energii oraz o ograniczonej mocy. Rysunki1.7a i 1.7b pokazują dyskretne wersje impulsu prostokątnego oraz impulsutrójkątnego.−N


ROZDZIAŁ 1. POJĘCIA WSTĘPNE 17x[n]x[n]11-3 0 1 2 3n-3 0 1 2 3n(a) dyskretny impuls prostokątny(b) Dyskretny impuls trójkątnyRysunek 1.7: Przykłady sygnału dyskretnego1.5 Sygnały dystrybucyjneOmawiane do tej pory sygnały były wielkościami modelowanymi przez zwykłefunkcje - ciągłe dla sygnałów analogowych, bądź ich dyskretne odpowiednikidla sygnałów dyskretnych. W wielu przypadkach związanych z przetwarzaniemsygnałów użytecznym jest rozważyć jako modele sygnału wielkości, które niemogą być traktowane jako zwykłe funkcje. Ich porządna matematyczna definicjajest dość skomplikowana [8]; polega na określeniu działania tych obiektówna inne, zwykłe funkcje. Wielkości te nazywamy dystrybucjami; klasycznymprzykładem takiej dystrybucji jest impuls delta Diraca δ(t).Jak określić dystrybucje? Załóżmy dla uproszczenia, że chodzi nam tu odystrybucje zależne od jednej zmiennej - takie jak delta Diraca. Niech Ω będzieotwartym podzbiorem zbioru liczb rzeczywistych. Rozważamy przestrzeńfunkcji określonych na Ω o wartościach liczbowych. Matematycy definiują dystrybucjejako liniowe odzworowania, które funkcjom pewnej dobrze określonejpodklasy wszystkich możliwych funkcji liczbowych określonych na Ω, nazywanejzbiorem funkcji próbnych przypisują liczbę. Jak wybrać podklasę funkcjipróbnych? Okazuje się, że im bardziej restrykcyjna jest definicja tej podklasy(im mniej funkcji próbnych), tym więcej obiektów może na nie działać (tymwięcej dystrybucji). Aby zapewnić możliwość w miarę swobodnego określaniadysytrybucji tak, by zwyczajne funkcje lokalnie całkowalne były ich szczególnymiprzypadkami, powiniśmy jako funkcje próbne wybrać bardzo szczególnefunkcje. Muszą one być gładkie tak, by można obliczyć pochodne dowolnego


ROZDZIAŁ 1. POJĘCIA WSTĘPNE 18rzędu oraz mieć zwarty nośnik (czyli funkcje próbne muszą być dokładnie równe0 poza pewnym przedziałem).Fakt, że funcje próbne mają powyższe własności sprawia, że:• mogą być dowolnie wiele razy różniczkowane• są całkowalne, ponadto istnieją całki z iloczynów tych funkcji, z prawiedowolną inną funkcją ograniczoną.Przestrzeń wektorową - zbiór funkcji próbnych zadanych na Ω z określonymdodawaniem funkcji i mnożeniem funkcji przez liczbę oznaczamy jako D(Ω).Dystrybucją będziemy nazywać każdy liniowy funkcjonał określony na D(Ω).Innymi słowy dystrybucją f będzie każdy przepis L f , który dowolnej funkcjipróbnej ϕ ∈D(Ω) przypisze jednoznacznie liczbę, ponadto dla dowolnych funkcjipróbnych ϕ 1 , ϕ 2 oraz dowolnych liczb a 1 , a 2 spełniona jest relacjaL f (a 1 ϕ 1 + a 2 ϕ 2 ) = a 1 L f (ϕ 1 ) + a 2 L f (ϕ 2 ).Jak można określić działanie L f ? Gdy f jest funkcją lokalnie całkowalną,to poprawnym sposobem określenia tego działania jest formuła:ˆL f (ϕ) = f(x) ϕ(x) dxΩJest tak dlatego, gdyż własności funkcji próbnej gwarantują zbieżność całki, zaśliniowość wynika z tego, że całka jest funkcjonałem liniowym. Ponieważ przepisna obliczanie wartości dystrybucji jest tu zadana przez funkcję f, możemyniejako utożsamić funkcję f z dystrybucją którą .f określa. Widzimy, że w tymsensie dystrybucją jest każda funkcja lokalnie całkowalna.Czy prawdziwe jest odwrotne stwierdzenie? Czy działanie każdej dystrybucjida się zapisać przez formułę całkową z pewnym f, które jest zwykłą funkcją?Łatwo można wykazać, że tak nie jest. Zrobimy to podając kontrprzykład,czyli określając dystrybucję która nie da się sprowadzić do formuły całkowej zezwykłymi funkcjami.Definiujemy funkcjonał δ, którego działanie na dowolną funkcję próbną określamyjako:L δ0 (ϕ) = ϕ(0)Twierdzimy, że jest to dobrze określona dystrybucja. By to wykazać trzebapokazać, że:


ROZDZIAŁ 1. POJĘCIA WSTĘPNE 19• ten przepis pozwala określić działanie dystrybucji na dowolną funkcjępróbną - tak jest w istocie;• funkcjonał jest liniowy - wynika to z liniowości przestrzeni D(Ω).Pozostaje teraz pokazać, że nie istnieje (klasyczna) funkcja, która poprzez formułęcałkową ze zwykłą funkcją określa wartości dystrybucji zgodnie z wyjściowądefinicja. Gdyby tak było, to dla każdej funkcji próbnej mielibyśmywarunek:ˆdtδ(t)ϕ(t) = ϕ(0) (1.3)ΩBy taka relacja mogła zachodzić dla wszystkich funkcji próbnych, to musiałybybyć spełnione dwa sprzeczne ze sobą wymagania:• wartość funkcji δ(t) musiałaby być równa 0 dla t̸=0 (by nie dopuścić dowpływu innch wartości funkcji ϕ na wynik) - czyli nośnik funkcji δ(t) jestzbiorem miary zero• całka po nośniku funkcji δ(t) musiałaby dać skończony wynik.Tych wymagań nie można zrealizować traktując δ(t) jako zwykłą funkcję. Takafunkcja musiałaby mieć wszędzie (z wyjątkiem zera) wartość zero, zaś w t = 0dążyć do nieskończoności. Widzimy, że impuls Diraca to model nieskończeniewąskiego sygnału o nieskończenie dużej amplitudzie i polu pod wykresem równym1. Takiego impulsu nie można zrealizować jako zwykłą funkcję, ale możebyć on rozumiany jako granica ciągu zwykłych funkcji δ(α, t) z parametrem∞´α > 0, takim że dla każdego α mamy: dtδ(t, α) = 1 . Wtedy:−∞lim δ(t, α) = δ(t).α→0Takich ciągów aproksymujących dystrybujcję δ(t) może być wiele - pokażemyto na przykładzie ciągu w którym kolejne funkcje aproksymujące to impulsyprostokątne o rosnącej amplitudzie i malejącej szerokości. Elementy tego ciągudefiniujemu jako: δ(t, α) = 1 αΠ(αt) - czyli impulsy o szerokości α i amplitudzie1α. Możemy sprawdzić, że spełniony jest warunek jednostkowego pola impulsu.Pokażemy, że granicą tak określonego ciągu zwykłych funkcji jest dystrybucjaδ(t). By tego dokonać powinniśmy pokazać, dla każdej funkcji próbnej ϕ ciągwartości obliczonych jako całki z iloczynów tej funkcji z funkcjami - elementami


ROZDZIAŁ 1. POJĘCIA WSTĘPNE 20ciągu aproksymacyjnego zmierzają do wartości dystrybucji δ dla tej funkcji,czyli do ϕ(0). W naszym przykładzie dla ustalonego α mamy:ˆ∞−∞dxδ(t, α)ϕ(t) = 1 αˆα/2−α/2ϕ(t)dt.Dla małych α możemy zaaproksymować funkcję próbną jej rozwinięciem wszereg MacLaurine’a:ϕ(t) = ϕ(0) + ϕ ′ (0)t + ϕ ′′ (0) t 2 + O(t 3 ).Po wstawieniu tego rozwinięcia do całki dostajemy następujące wyrażeniena jej przybliżoną wartość:ˆ∞−∞dxδ(t, α)ϕ(t) = 1 α[[ϕ(0)α + 1]24 ϕ′′ (0)α 3 + O(α 5 )= ϕ(0) + 124 ϕ′′ (0)α 2 + O(α 4 )Oznacza to, że lim α→0 δ(t, α) = δ(t). Powyższy sposób dowodzenia równościdystrybucyjnych jest dość często stosowany; zastosujemy go jeszcze dowykazania następującej relacji dystrybucyjnej:d1(t) = δ(t).dtAby dowieść tej relacji określmy sygnał 1(t) jako granicę następującego ciąguaproksymacyjnego:⎧⎪⎨ 0 dla t < − α 21(t) = limtα→0 ⎪ α + 1 2dla − α 2 < t < α 2⎩1 dla t > α 2 .Pochodna tego wyrażenie prowadzi do następującego ciągu aproksymacyjnego:⎧⎪⎨ 0 dla t < − α 2ddt 1(t) = 1⎪ αdla − α 2 < t < α 2⎩0 dla t > α 2 .


ROZDZIAŁ 1. POJĘCIA WSTĘPNE 21Ostatnia formuła jest już nam znana - pokazaliśmy poprzednio, że jej granicadla α → 0 to dystrybucja δ(t). Tak więc tym samym wykazaliśmy prawdziwośćrelacji między pochodną skoku jednostkowego a dystrybucją delta Diraca.Kluczową dla zastosowań w teorii sygnałów własnością dystrybucji deltaDiraca jest jej działanie dystrybucyjne opisane wzorem 1.3 oraz jego uogólnieniepostaci:ˆdtδ(t − t 0 )ϕ(t) = ϕ(t 0 ). (1.4)ΩPowyższe relacje pokazują, że dystrybucja delta może być uważana za matematycznymodel próbkowania: działanie δ(t − t 0 ) na ciągły sygnał x(t) dajepróbkę tego sygnału w t 0 . Obiektem realizującym jednorodne próbkowanie sygnałuciągłego z okresem próbkowania T s jest tak zwana dystrybucja grzebieniowa,nazywana inaczej „grzebieniem Diraca”. Jest ona określona jako nieskończonasuma impulsów Diraca, powtarzanych z okresem T s .δ Ts (t) =∞∑n=−∞δ(t − nT s ). (1.5)Pomnożenie dowolnego sygnału x(t) przez dystrybucję grzebieniową dajeciąg impulsów Diraca poprzesuwanych o całkowitą ilość okresów próbkowania oamplitudach określonych przez wartość oryginalnego sygnału w danym punkcie:x(t)δ Ts (t) =∞∑n=−∞x(nT 0 )δ(t − nT s ).Sygnał opisany przez tę formułę jest sygnałem dystrybucyjnym opisującymwynik próbkowania.


Rozdział 2Przestrzenie sygnałówW niniejszym rozdziale zajmiemy się omówieniem wymagań matematycznychzwiązanych z akwizycją i przetwarzaniem sygnałów. Pokażemy, że reprezentacjasygnału zależy od wyboru sygnałów wzorcowych - bazy w przestrzenisygnałów. Określimy również pewne standardowe funkcje używane w analizie iprzetważaniu sygnałów.2.1 Reprezentacje sygnałówDo tej pory traktowaliśmy sygnały jako abstrakcyjne wielkości reprezentującewyniki pomiarów. Jak zobaczymy za chwilę, ten sam sygnał może być zapisanyw różny sposób, czyli może mieć różne reprezentacje [7]. Źródeł tego faktumożna szukać w specyfice pomiaru. Aby dokonać pomiaru ustalamy pewnesygnały wzorcowe, a następnie porównujemy sygnał mierzony z wzorcami, starającsię wyrazić wielkości mierzone jako kombinację liniową wzorców. Gdywybierzemy inne sygnały wzorcowe, to pomiar tej samej wielkości da nam innewspółczynniki rozkładu, czyli inną reprezentację tego samego sygnału. Wybórreprezentacji może mieć spore znaczenie praktyczne - wybierająć różne wzorcemożemy uzyskać różną jakość reprezentacji. Będziemy mówić, że reprezentacjajest tym lepsza im mniej współczynników rozwinięcia potrzebuje, by zaprezentowaćsygnał z ustaloną z góry dokładnością. Tak więc odpowiedni wybór reprezentacjimoże pozwolić na znaczną kompresję danych. Dobór reprezenatcji jestrównież ważny w procesach przetwarzania sygnałów. Na przykład często potrafimypowiedzieć, co się dzieje w procesie, gdy sygnał ma określoną częstotliwość.22


ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 23Dlatego też jedną z podstawowych metod analizy sygnałów jest analiza częstotliwościowa,w której dokonujemy rozkładu sygnału na składowe o określonychczęstotliwościach.Jako ilustrację tych wstępnych uwag rozważmy przykład ilustrujący zależnośćsygnału od reprezentacji.Przykład 1.Dokonano serii pomiarów dwóch wielkości uzyskano następujące wyniki:w 1 = (25, 23), w 2 = (22, 23), w 3 = (20, 22), w 4 = (18, 17). Taki zapis wynikówsugeruje, analizując sygnał zrobiliśmy następujące założenia:• nasz sygnał to para liczb, czyli wektor w przestrzenie dwuwymiarowej,• przyjęliśmy naturalny układ sygnałów wzorcowych (wektorów bazowychw R 2 ):e 1 =[ [1 0, e0]2 = .1][ aPrzy takich założeniach zapis wektora w = oznacza, że liczby a i b są współczynnikamirozwinięcia wektora w w bazie e 1 , e 2 , w = a + b . Obliczającb][ [1 00]1]energię naszego układu dla wektora w otrzymujemy E = a 2 + b 2 . Dla sygnałówtakich jak rozważane w naszym przykładzie obie składowe sygnałów są porównywalne,a więc ich znaczenie w dla dokładnej reprezentacji wektora w bądzietego samego rzędu. Dlatego w reprezentacji określonej przez wzorce e 1 , e 2 musimyz równą starannością kodować wartości obu tych składowych. Nie jest tojdnak jedyna możliwość. Możemy jako nasze wektory wzorcowe wybrać innąparę, na przykład:[ [ ]1 1f 1 = , f1]2 =−1Teraz chcemy wyrazić nasz wektor jako kombinację nowych sygnałów wzorcowych:[ [ [ [ [ ]a 1 1 1 1 αw = = αfb]1 + βf 2 = α + β =1]−1]1 −1]β[ αWektor x = , który jest reprezentacją sygnału w bazie {fβ]1, f 2 } spełnia równanieliniowe postaci w = Ax, gdzie A jest macierzą związaną z przejściem od


ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 24Tablica 2.1: Reprezentacja sygnału - ilustracjawektor {e 1 , e 2 } {f 1 , f 2 } rekonstrukcja błąd {h 1 , h 2 }[ ] [ ] [ [ ] [ ]25 241w 11√ 2423 1 24]−1 2[ ] [ ] [ ] [ ] [1]22 22, 5 22, 5 −0, 5w 21√ 22, 523 −0, 5 22, 5 0, 5 2[ ] [ ] [ ] [ ] [−0, 5]20 21 21 −1w 3 √12122 −1 21 1 2[ ] [ ] [ ] [ ] [−1]18 17, 5 17, 5 0, 5w 41√ 17, 517 −0, 5 17, 5 −0, 5 2 −0, 5starej do nowej bazy. Jak wiemy z algebry zmiana wektorów bazowych jestrównoważna określeniu pewnej liniowej transformacji opisanej macierzą, którejkolumny to wektory nowej bazy wyrażone jako kombinacja wektorów starejbazy. Jeżeli nowe wzorce zostały poprawnie wybrane (tak, że one również sąbazą w R 2 , to macierz A jest nieosobliwa, więc możemy znaleźć poszukiwanąreprezentację wektora w nowej bazie jako x = A −1 w. Ilustracja tego, jak wybórbazy wpływa na reprezentacje sygnał, własności statystyczne ich składowych,czy wkład poszczególnych składowych do energii sygnału jest treścią Tabeli 2.1.W kolumnie drugiej i trzeciej tej tabeli pokazuje reprezentacje wektorów pomiarowychz omawianego przykładu odpowiednio dla wzorców {e 1 , e 2 } oraz{f 1 , f 2 }.Porównując obie te reprezentacje zauważamy wyraźne różnice. Przejście dodrugiej reprezentacji spowodowało uporządkowanie wkładu do energii od obuskładowych sygnału - wkład do energii od drugiej współrzędnej w reprezentacji{f 1 , f 2 } jest znacząco mniejszy, niż wkład od pierwszej współrzędnej. Oznaczato, że w czasie kodowania możemy bez szkody dla jakości wyniku większą uwagępoświęcić pierwszej składowej. Gdybyśmy w reprezentacji drugiej w trakcie kodowaniazupełnie zaniedbali wartość drugiej składowej (przyjęli, że jest równa0), a następnie tak zmodyfikowany wektor przekształcili na powrót do reprezentacjipierwszej, to dostaniemy zupełnie dobre odtworzenie wyjściowego sygnału.Rzeczywiście, rozważane w przykładzie wektory miały w reprezentacji drugiejskładowe α, β, gdzie α ≫ β. Po wykonaniu drastycznego kodowania polegającegona zaniedbaniu drugiej składowe dostajemy i powrocie do reprezentacjipierwszej dostajemy rekonstukcję wyjściowych wektorów; zrekonstruowanewektory są wypisane w kolumnie czwartej tabeli 2.1, a błędy rekonstrukcji -w kolumnie piątej. Opisaną procedurę możemy uważać za prototyp procedury


ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 25kodowania w tzw. kodowaniu transformacyjnym, którego sztandarowym przykłademjest kodowanie JPEG. Widzimy, ze właściwy wybór sygnałów wzorcowychmoże doprowadzić do znacznie bardziej zwartej reprezentacji sygnału, niżto miało miejsce w bazie naturalnej.W omawianym przykładzie przejście do nowej reprezentacji wymagało rozwiązaniapewnego problemu liniowego. Możliwe jest uzyskanie tego mniejszymnakładem kosztów obliczeniowych, o ile w zbiorze sygnałów który rozważamyjest określony iloczyn skalarny, a docelowy układ sygnałów wzorcowych jest ortonormalny,czyli zawiera sygnały unormowane - to znaczy o długości 1 orazwzajemnie do siebie prostopadłe. Jeżeli w omawianym przykładzie przyjmiemystandartowy iloczyn skalarny, to zauważamy, że wektory f 1 , f 2 są prostopadłe(f 1 · f 2 = 0), ale nie są unormowane, [ ] czyli należy [ ] wprowadzić nowy, unormowanyukład wektorów h 1 = √ 1 12, h1 2 = √ 1 12. Oczywiście jest to sytuacja−1analogiczna do omawianej poprzednio, czyli możemy wyliczyć postać naszej reprezentacjiwektorów omawianą wcześniej metodą rowwiązania układu równańliniowych, ale znacznie prościej będzie wykorzystać ortogonalność wektorów bazowych.Zapisujemy formalny rozkład wektorów w bazie ortogonalnej, czyliw = xh 1 + yh 2 . Mnożąc obie strony tego równania przez h 1 otrzymujemy:w · h 1 = x h 1 · h 1 + y h 2 · h 1 = x.Podobnie przemnażając skalarnie wyjściowe równanie przez h 2 uzyskujemyy = w·h 2 . Dla wektorów rozważanych w przykładzie, współczynniki rozwinięciaw bazie {h 1 , h 2 }są wypisane w kolumnie 6 tabeli2.1. Jak widać, są one (zdokładnością, do ogólnego czynnika 1 √2równe tym, które uzyskano dla wzorców{f 1 , f 2 }.Warto zwrócić uwagę na jeszcze jeden aspekt zagadnienia - dotyczy on energiisygnału w różnych reprezentacjach. Gdy obliczymy energię jako sumę kwadratówwspółczynników rozwinięcia w danej reprezentacji, to przekonamy się, żetak określna energia jest taka sama w reprezentacji z wzorcami {e 1 , e 2 } oraz{h 1 , h 2 }, ale jest różna, gdy stosujemy wzorce {f 1 , f 2 }. Powododem tego jestfakt, że transformacja powiązana ze zmianą bazy {e i } → {f k } nie jest transformacjąortogonalną (czyli nie zachowuje długości), natmiast jest nią transformacjazwiazana z przejściem zmiana bazy z {e i } → {h k }.


ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 262.2 Własności matematyczne zbiorów sygnałówOmówiony w poprzednim rozdziale przykład przekonuje, że po to, by móc wykonywaćna sygnałach jakiekolwiek operacjie, należy zbiory sygnałów (przestrzeniesygnałów) wyposażyć we własności pozwalając nimi swobodnie manipulować.Chodzi tu o możliwości okreslenia odległości między sygnałami, określenia długościpojedyńczego sygnału, pomiaru kąta między nimi - czyli wyposasażenieje w pewne własności metryczne. Inne potrzebne własności to określenie możliwościdodawania sygnałów, mnożenia sygnału przez liczbę, określenia sygnałówbazowych, poszukiwania reprezentacji sygnału w dla różnych wyborów sygnałówbazowych - jest to grupa okreśkająca algebraiczne własności zbiorów sygnałów.Ostatnią wreszcie grupą własności związana jest z zupełnością zbiorów sygnałów- dotyczy ona kwestii, czy ciągi Cauchy’ego elementów zbioru sygnałów majągranice w tym zbiorze. Przedstawimy teraz wymagania, jakie zazwyczaj stawimyzbiorom sygnałów. Szersze omówienie podstaw algebraicznych włąsnościpotrzebnych do określenia użytecznych klas przestrzeni sygnałów można znaleźćw [16] Choć w większości przypadków sygnałami są funkcje, to będziemy sięstarali wprowadzić potrzebne konstrukcje matematyczne bez specjalnego identyfikowanianatury obiektów będących sygnałami.2.2.1 Własności metryczne przestrzeni sygnałówMinimalne wymagania metryczne w zbiorze sygnałów S spełnimy określającmetrykę, czyli funkcję, która każdej parze x i y sygnałów z S przyporządkowujenieujenmną liczbę rzecztywistą ρ(x, y) o następujących własnościach:• ρ(x, y) = 0⇐⇒ x = y,• ρ(x, y) = ρ(y, x)• ρ(x, z) ≤ ρ(x, y) + ρ(y, z)(symetria),(nierówność trójkąta).Przestrzeń sygnałów wyposażoną w metryką nazywamy przestrzenią metryczną.Wielkość ρ(x, y) interpretujemy jako odległość między sygnałami. Mając definicjęmetryki możemy wprowadzić rozmaite pojęcia topologiczne, jak zbiórotwarty, otoczenie, brzeg, granica ciągu oraz granica funkcji. Ważną własnościąprzestrzeni metrycznej jest jej zupełność. Mówimy, że przestrzeń jest zupełna,gdy każdy jej ciąg Cauchy’ego elementów tej przestrzeni (czyli ciąg,dla któregoodległości jego elementów maleją do zera) ma granicę, która jest równieżelenetem tej przestrzeni.


ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 27Oczywiście metrykę w danym zbiorze sygnałów można określać na różnesposoby; na ogół prowadzi to do różnych własności topologicznych.Przykłady przestrzeni sygnałów będących przestrzeniami metrycznymi:1. Przestrzeń R n n-elementowych ciągów liczb rzeczywistych. Możemy zdefiniowaćróżne metryki, n.p.:{0 dla x = y(a) metryka dyskretna: ρ(x, y) =1 dla x ≠ y ,∑(b) metryka taksówkowa: ρ(x, y) = N |(x i − y i |,i=1√N∑(c) metryka Euklidesa: ρ(x, y) = (x i − y i ) 2 .2. Przestrzeń sygnałów o ograniczonej energii (zwykle oznaczaną symbolemL 2 ) jest przestrzenią metryczną z metryką:ˆ∞ρ(x, y) = √ |x(t) − y(t)| 2 dt−∞3. Przestrzeń funkcji okresowych o okresie T 0 jest przestrzenią metryczną zmetryką:ρ(x, y) = √ 1 ˆ∞|x(t) − y(t)|T 2 dt0−∞2.2.2 Struktura liniowa przestrzeni sygnałówJak widzieliśmy na przykładach w pierwszej części tego rozdziału, kluczowąwłasnością, w którą ma być wyposażony każdy zbiór sygnałów jest możliwośćwykonywania kombinacji liniowych sygnałów, czyli dodawaniu wektorów i mnożeniuich przez liczbę. Włąściwą konstrukcją matematyczną implementującąte włąsności jest struktra przestrzeni wektorowej. Mówimy, że zbiór sygnałówjest przestrzenią wektorową nad ciałem K, gdy określimy dla niej dwie operacje:dodawanie sygnałów (opreacja "+") oraz mnożenia przez liczbę z ciała K(operacja "*") o własnościach:i=1


ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 29Każda liniowa przestrzeń unormowana jest automatycznie przestrzeniąmetryczną z metryką określoną (indukowaną) przez normę, zdefiniowanąjako: ρ(x, y) = ‖x − y‖. Tak więc, jeżeli pewien zbiór sygnałów wyposażonyjest wszystkie atrybuty, które sprawiają, że ma on (wraz z odpowiednimidziałaniami) strukturę liniowej przestrzeni unormowanej, to wtakim zbiorze możemy określić norme (długość) sygnału, jego odległośćod innych sygnałów; nie mamy jedynie możliwości określenia kąta międzywektorami.Przykłady liniowych przestrzeni unormowanych:1. Przestrzeń R n n-elementowych ciągów liczb rzeczywistych. Możemy zdefiniowaćróżne normy, n.p.:∑(a) norma L1: ‖x‖ 1 = N |(x i − y i |, indukuje ona metrykę taksówkową,i=1√N∑(b) norma L2: ‖x‖ 2 = (x i − y i ) 2 , indukuje ona metrykę Euklidesa.i=12. Przestrzeń L 2 sygnałów o ograniczonej energii jest liniową przestrzeniąunormowaną z normą:ˆ∞‖x‖ L 2 = √ |x(t)| 2 dt.3. Przestrzeń funkcji okresowych o okresie T 0 jest liniową przestrzenią unormowanąz normą:‖x‖ L 2 = √ 1 ˆT 0|x(t)|T 0 T 2 dt0Mówimy, że w przestrzeni sygnałów będącej przestrzenią wektorową ze względuna zwykłe operacje dodawawania wektorów i mnożenia wektorów przez liczbę,określiliśmy iloczyn skalarny, jeżeli zdefiniowaliśmy odwzorowanie, które każdejuporządkowanej parze x, y elementów tej przestrzeni przypisze liczbę (x, y)zespoloną tak, by spełnione były warunki:• < x, y >=< y, x > ∗ ,−∞0


ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 30• < αx + βy, z >= α < x, z > +β < y, z >,• x ≠ 0 ⇒< x, x >> 0,• x = 0 ⇒< x, x >= 0.Symbol ” * ” w pierwszym warunku określającym iloczyn skalarny oznaczasprzężenie zespolone. Widzimy, że iloczyn skalarny to funkcjonał respektującywłasności algebraiczne przestrzeni, w której działa - jest on funkcją liniową swojegopierwszego argumentu i antyliniową (tzn. liniową + sprzężenie zespolone)- drugiego.Jeżeli w zbiorze sygnałów (przestrzeni liniowej) jest określony iloczyn skalarny,to zbór ten jest również przestrzenią unormowaną z normą określoną jako:‖x‖ = √ < x, x >.Ponadto, jak pokazywaliśmy to wcześniej, taka przestrzeń jest również przestrzeniąmetryczną w której jest równierz zadana przez iloczyn skalarny:ρ(x, y) = ‖x − y‖ = √ < x − y | x − y >.Mając określony iloczyń skalarny możemy wprowadzić jeszcze określeniedwóćh struktur matematycznych używanych w analizie sygnałów. I tak, zbiórsygnałów wyposażony w operacje dodawania sygnałów, mnożenia sygnału przezliczbę oraz iloczyn skalarny, unormowany przez normę określoną przez iloczynskalarny nazywamy przestrzenią unitarną.Jeżeli tak określona przestrzeń unitarna jest zupełna (w metryce określonejprzez iloczyn skalarny), to nazywamy ją przestrzenią Hilberta.2.2.4 Kąt między sygnałami. Bazy ortogonalne i ortonormalneto liczba rzeczywista mniejsza od 1. To pozwala nam interpretowaćją jako kosinus kąta - możemy więc dla dowolnych dwóch sygnałów z przestrzeniunitarnej określić { kąt pomiędzy nimi w sposób następujący:arccos(||‖x‖‖y‖dla x ≠ 0 oraz y ≠ 0≮ (x, y) =0 dla x = 0 lub y = 0Jedną z własności, którą spełnia każdy iloczyn skalarny jest nierówność Schwartza.Mówi ona że dla dowolnych niezerowych wektorów x, y spełniona jest relacja:| < x, y > | ≤ ‖x‖‖y‖, czyli wartość bezwzględna iloczynu skalarnego dwóchniezerowych wektorów nie jest większy niż iloczyn ich norm. Oznacza to że wielkość||‖x‖‖y‖


ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 31Jeżeli iloczyn skalarny dwóch niezerowych wektorów jest równy zero, to mówimy,że są one ortogonalne (czyli kąt między nimi wynosi π/2, a więc są względemsiebie prostopadłe).W pierwszj części rozdziału dyskutowaliśmy problem reprezentacji sygnałui związany z nim problem wyboru sygnałów wzorcowych. Matematycznym odpowiednikiemsygnałów wzorcowych są tzw. wektory bazowe w przestrzeniachunitarnych lub przestrzeniach Hilberta będących zbiorami sygnałów. Aby wyjaśnićczym jest baza w przestrzni liniowej należy najpierw określić pojęcie liniowejniezależności sygnałów. Rozważny zbiór X N = {x i (t), i = 1, 2, ..., N}sygnałów przestrzeni liniowej V . Każdy sygnał zbudowany według przepisux(t) = ∑ a i x i (t), gdzie a i - liczby (współczynniki kombinacji) nazywamy kombinacjąliniową sygnałów x i z X N . Mówimy, że zbiór X N sygnałów jest liniowoniezależny, jeżeli zerowanie się kombinacji jest możliwe tylko wtedy, gdywszystkie współczynniki kombinacji są zerami. Rzeczywiście, gdyby kombinacjasię zerowała mimo tego, że nie wszystkie jej współczynniki były zerami, to byoznaczało, że można wyrazić któryś z wektorów poprzez pozostałe.Jeżeli w przestrzeni V każdy układ liniowo niezależnych sygnałów zawieramaksymalnie N sygnałów, to przestrzeń nazywamy N-wymiarową. Wtedy dowolnyukład N liniowo niezależnych sygnałów nazywamy bazą przestrzeni V .Każdy taki układ sygnałów może zostać wybrany jako wzorcowy układ sygnałów.Mimo że bazą przestrzeni liniowej może być każdy maksymalny układ liniowoniezależnych sygnałów, to w praktyce o wiele wygodniej jest używać pewnychspecjalnych baz, które oprócz tego, że składają się z sygnałów liniowo niezależnych,to dodatkowo spełniają warunek ortogonalności. Oznacza on, że dladwóch dowolnych sygnałów z X N każde dwa różne wektory bazowe są do siebieprostopadłe, czyli jeżeli x i oraz x j ∈ X N oraz (i ≠ j) ⇒< x i , x j> = 0. Takiebazy nazywamy bazami ortogonalnymi.Jeżeli ponadto normy wszystkich wektorów bazowych są równe 1, to takąbazę nazywamy bazą ortonormalną. Niech X = x i , i = 1, 2, ...N będzie takąbazą. Wtedy, dowolny wektor przestrzeni można zapisać jako rozwinięcie w∑bazie X: g = N ∑a k x k, h = N b k x k . Obliczając iloczyn skalarny tych wektorówdostajemyk=1k=1N∑ N∑N∑g · h = a i b j ∗ x i · x j = a i b ∗ i = a · b. (2.1)i=1 j=1Wynik ten, to treść twierdzenia Parsevala, które mówi, że iloczyn skalarnydwóch sygnałów jest równy iloczynowi skalarnemu współczynników rezwinięciai=1


ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 32tych sygnałów w bazie ortonormalnej.Mając dowolny układ N liniowo niezależnych sygnałów możemy uzyskaćbazę ortogonalną i ortonormalną N-wymiarowej przestrzeni przy użyciu iteracyjnejprocedury Gramma-Schmidta.Przykład:Mamy⎡określone ⎤ ⎡3 wektory ⎤ w⎡przestrzeni ⎤ R 3 :x 1 = ⎣ 1 1⎦ , x 2 = ⎣ 1 2⎦ , x 3 = ⎣ 1 1⎦.1 1 2Należy skonstruować na tej podstawie bazę ortonormalną w R 3 , którejpierwszy wektor jest proporcjonalny do x 1 .Aby wykonać to zadanie, to na podstawie zbioru liniowo niezależnych wektorów{x 1 , x 2 , x 3 } konstrujemy zbiór wektorów ortogonalnych {y 1 , y 2, y 3 }, przyjmującdla każdego i, że y i jest równe x i od którego odjęto jego rzuty na wcześniejustalone wektory y k . Po znalezieniu wszystkich y i znajdujemy końcowy układwektorów bazy ortonormalnej poprzez unormowanie wektorów y i .1. Krok pierwszy: przyjmujemu, że y 1 = x 1 .2. Krok drugi: przyjmujemy y 2 = x 2 −a 1 y 1 ; wartość a 1 ustalamy żądając, byznikał iloczyn skalarny y 1 · y 2 , co prowadzi do równania ⎡ x 2 · y 1 = a 1 y 1 · y 1 ,którego rozwiązanie to a 1 = 4 3 . To daje y 2 = 1 ⎣ −1 ⎤32 ⎦. Ponieważ norma−1y 2 nie ma na razie ⎡ znaczenia (i tak będzie ustalona na końcu), możemyteż za y 2 przyjąć ⎣ −1⎤2 ⎦.−13. Krok trzeci: przyjmujemy y 3 = x 3 −a 2 y 1 −b 2 y 2 ; wartości a 2 i b 2 ustalamyżądając znikania iloczynów skalarnych y 1 · y 3 oraz y 2 · y 3 , co prowadzido równań x 3 · y 1 = a 2 y 1 · y 1 oraz: ⎡ x 3 · y 2 = b 2 y 2 · y 2 . z rozwiązaniamia 2 = 4 3 , b 2 = − 1 6 . To daje y 3 = 1 ⎣ −1⎤0 ⎦2.1⎡ ⎤ ⎡4. Dzielimy y i przez ich normy otrzymując: z 1 = √ 1 3⎦, z 2 = √ 1 ⎣ −1 ⎤6⎦,⎣ 1 112−1


ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 33⎡z 3 = √ 1 ⎣ −1 ⎤20 ⎦.1Kwestia istnienia baz oraz baz ortogonalnych w przestrzeniach skończenie wymiarowychwydaje się dość prosta. Poważniejszy problem to bazy w przestrzeniachnieskończenie wymiarowych. Gdy w przestrzeni sygnałów V mamy nieskończony(przeliczalny) zbiór liniowo niezależnych sygnałów X = {x k , k ∈ K},(czyli takich, dla których znikanie kombinacji liniowej jej elementów pociąga zasobą znikanie wszystkich współczynników tej kombinacji), to mówimy, że X jestnieskończoną bazą wyróżnioną w tej przestrzeni.Taki nieskończony zbiór X liniowo niezależnych sygnałów należących doprzestrzeni Hilberta V sygnałów nazywamy bazą ortogonalną w V , jeżeli sygnałyz X są ortogonalne oraz jeżeli w przestrzeni V nie ma żadnego niezerowegosygnału, który nie należy do X i jest ortogonalny do wszystkich elementów zX. Nie każda przestrzeń Hilberta dopuszcza istnienie baz ortogonalnych. Przestrzeniew których to jest możliwe nazywają się ośrodkowymi przestrzeniamiHilberta.2.3 Uogólniony szereg FourieraGdy przestrzeń sygnałów V jest ośrodkową przestrzenią Hilberta z bazą ortonormalnąX={x k ∈ K}, to bardzo łatwo możemy wyznaczyć reprezentacjędowolnego sygnału x z V za pomocą sygnałów wzorcowych z X. To, że X jestbazą w V oznacza, że dowolny sygnał x z V możemy zapisać jako:x = ∑ k∈Ka k x k (2.2)Równość taką należy rozumieć jako równość w sensie normy, co oznacza że‖x − ∑ k∈Ka k x k ‖ = 0Szereg 2.2 nazywamy uogólnionym szeregiem Fouriera, a liczby a k współczynnikamiFouriera tego szereregu. Aby je wyznaczyć, korzystamy z faktu, że wektory x ksą ortonormalne; mnożąc skalarnie równanie 2.2 przez wektor x n dostajemy:x · x n = ∑ a k x k · x n = ∑ a k δ kn = a n , (2.3)k∈Kk∈K


ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 34gdzie symbol δ ij to tzw. symbol Kroneckera, równy 1 dla i = j, oraz 0 wpozostałych przypadkach.Ostatnie równanie nazywamy równaniem analizy, zaś równanie (2.2) - równaniemsyntezy. Pokażemy teraz kilka przypadków uogólnionych szeregów Fourieraw przestrzeniach skończenie wymiarowych; najbardziej znane przypadkiklasycznych trygonometrycznych szeregów Fouriera dla nieskończenie wymiarowychprzestrzeni sygnałów zostaną omówione w następnym rozdziale.2.4 Reprezentacje sygnałów dyskretnychSygnał cyfrowy to sygnał, który z natury rzeczy składa się ze skończonej ilościpróbek, a każda z nich ma skończony zbiór możliwych wartości. Co więcej,bardzo często na potrzeby przetwarzania dane cyfrowe dzielimy na mniejszebloki opisujące porcje danych które jednocześnie podlegają przetworzeniu. I tak,przy przetwarzaniu obrazów podstawową porcją danych jest blok 8x8 pikseli- dane jednego takiego bloku możemy traktować jako wektor w przestrzeni orozmiarze N = 64. Uogólniając - sygnał cyfrowy możemy traktować jako wektorw N wymiarowej przestrzeni. Taka przestrzeń ma naturalną bazę ortonormalnąe i , i = 1, ..., N, w której i-ty wektor bazowy e i ma na i-tej pozycji jedynkę, pozatym same zera (uogólnienie kanonicznej bazy w przestrzeni R 3 ).Oczywiście, nie jest to jedyna baza ortonormalna w N-wymiarowej przestrzeni.Inną skończenie wymiarową bazą ortonormalną w N wymiarach jestdyskretna zespolona baza Fouriera (DFT). Jest to baza, w której wszystkieskładowe wszystkich wektorów to liczby zespolone leżące w płaszczyźnie zespolonejna okręgu o promieniu 1. Oznacza to, że n-ta składowa k-tego wektorabazy jest postaci:f k (n) = √ 1 exp(j∆ n,k ),Ngdzie j to jednostka urojona (j 2 = −1), zaś ∆ n,k jest czysto rzeczywistą fazą.Tutaj obydwa indeksy k, n przebiegają przez N różnych wartości; zwyczajowonumeruje się je od 0 do N − 1. Wartości faz powinny być tak dobrane, byzapewnić ortogonalność wektorów bazy. Okazuje się, że dobrym wyborem jestnastępujący przepis na fazy:∆ n,k = 2π kn. (2.4)NTo daje następujący przepis na składowe wektorów bazy:


ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 35f k (n) = 1 √Nexp(2πjkn).By sprawdzić, że taka baza jest ortonormalna musimy pokazać, że iloczynskalarny dwóch różnych wektorów tej bazy jest równy 0. Mamy więc:f k·f n = 1 N−1 ∑Nexp( 2πj2πjNmk) exp(−N mn) = 1 M−1 ∑N[exp( 2πjN (k−n)]m = 1 N Sm=0Dla n = k wielkość S w ostatnim wzorze to suma jedynek; dostajemy warunekunormowania wektorów bazowych: ‖f k ‖ = 1. Dla k ≠ n musimy obliczyć S- jest to suma szeregu geometryczny, jej wartość wynosi:m=0S = 1 − qN1 − q , (2.5)gdzie q = exp( 2πjk−nN(k −n)). Dla k ≠ n, oraz k, n < N wielkośćNnie jest liczbącałkowitą, więc wielkość q = exp( 2πjN(k − n)) jest różne od 1, czyli mianownikwzoru (2.5) jest różny od zera. Namiast w liczniku wyrażenie q N = exp( 2πjN (k −n)N)=exp(2πj(k − n)) =1, co oznacza, że S = 0, a to z kolei - że różne wektoryz dyskretnej bazy Fouriera są do siebie prostopadłe.Znajdzmy dyskretną bazę Fouriera dla N = 4. Aby to zrobić należy wyliczyćfazy składowych wektorów poszczególnych według wzoru (2.4).Dla wektora b 0 wszystkie fazy są równe 0, dla wektora b 1 fazy są równe π 2(0, 1, 2, 3),dla wektora b 2 wynoszą one π 2 (0, 2, 4, 6), natomiast wektor b 3 zadają fazyπ2(0, 3, 6, 9). Taki wybór faz daje następujący zestaw ortonormalych wektorówbazowych:b 0 =[ (1 , 0), (1, 0), (1, 0), (1, 0)]/2 = [1, 1, 1, 1]/2 + j [0, 0, 0, 0]/2b=[ (1, 0), (0, 1), (-1,0), (0, -1)]/2 = [1, 0, -1, 0]/2 + j [0, 1, 0, -1]/2b 2 =[ (1, 0), (-1,0), ( 1,0), (-1,0)]/2 = [1, -1, 1, -1]/2 + j [0, 0, 0, 0]/2b 3 =[ (1, 0), (0,-1), (-1,0), (0, 1)]/2 = [1, 0, -1, 0]/2 + j [0, -1, 0, 1]/2Porównując dyskretną bazę Fouriera z bazą kanoniczną {e i }zauważamy, żebazy te zupełnie inaczej opisują dane. Gdyby na przykład nasze dane opisywałypróbki dzwięku poprzez podanie natężenia dźwięku w kolejnych chwilachnumerowanych od 1 do N, to znaczenie k-tego wektora bazowego e k jest następujące:w chwili k był dzwięk; jegonatężenie można odczytać jako współczynnikmnożący k-ty wektor rozkładu sygnału na składowe w bazie kanonicznej {e k }.Natomiast dyskretna baza Fouriera (i inne bazy ortonormalne, które przedstawimyza chwilę) opisuje te dane dzwiękowe inaczej - rozkłada obserwowanedane dźwiękowe na różne przebiegi, różniące się sposobem zmienności. Patrząc


ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 36na definicje dyskretnej bazy fourierowskiej i na przedstawione przykłady widać,że wektor bazowy b 0 opisuje składową stałą w naszym przebiegu; jego amplitudamówi jakie było średnie natężenienie dzwięku w całym przebieg. Natomiastwektory b i opisują coraz większą zmienność - wektory b 1, b 2, ... odpowiadają częstotliwościomf 0 , 2f 0 , 3f 0 , ... itp., gdzie f 0 = fs/N, zaś f S to częstotliwośćpróbkowania.Gdy rozłożymy dyskretną zespoloną bazę Fouriera na część rzeczywistą iurojoną:b k (n) = √ 1 ( ) 2πjexpN N kn = √ 1 ( ) ( )]2π2π[cosN N kn + j sinN kn(2.6)to zauważymy, że układ wektorów określonych jako cześć urojona odpowiednichwektorów bazy zespolonej nie jest bazą w N - wymiarowej przestrzenirzeczywistej. Dlatego definicje dyskretnych baz ortonormalnych - kosinusowej isinusowej nie mogą być określone jako odpowiednio - część rzeczywista i urojonazespolonej bazy Fouriera.Ich definicje mają postać [4]:• baza kosinusowa (DCT):( ) √ √πk(2n + 1)1 2b k (n) = c(k) cos, c(0) =2NN , c(i) = N• baza sinusowa (DST):b k (n) =√ ( )2 π(k + 1)(n + 1)N + 1 sin N + 1dla k > 0 (2.7)(2.8)Bazy te są czysto rzeczywiste; podobnie jak dyskretna baza Fouriera kolejnewektory bazowe odpowiadają coraz większym zmiennościom; jednak bazy DCTi DST są wolniej zmienne (o czynnik ~ 2 w porównaniu do bazy DFT).2.5 Bazy ortogonalne w przestrzeniach sygnałówciąglychW jednym z poprzednich podrozdziałów pokazaliśmy ogólną strategię związanąz aproksymacją sygnałów, które są ósrodkowymi przestrzeniami Hilberta, czyli


ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 37są przestrzeniami liniowymi z iloczynem skalarnych, są zupełne i posiadają bazęortonormalną. Pokazaliśmy tam, że każdy sygnał z takiej przestrzeni można zapisaćjako sumę ortonormalnych sygnałów wzorcowych - jest to tzw. uogólnionyszereg Fouriera, przy czym współczynniki tego rozwinięcia są iloczynami skalarnymisygnału i odpowiedniego sygnału bazowego. Ten przepis jest wynikiemuogólnienia, możliwego dzięki rozwojowi jaki dokonał się w tej dziedzinie odczasów Jean Baptiste Josepha Fouriera, który jako pierwszy zaproponował, byużyć rodziny funkcji trygonometrycznych do aproksymacji innych funkcji.Zajmiemy się teraz tym szczególnym przypadkiem, który interesował Fouriera.Interesować nas więc będzie zbiór L 2 T 0sygnałów okresowych o okresie T 0 .Ta przestrzeń sygnałów, z iloczynem skalarnym określonym jako:< x, y >= 1 Ttˆ0+Tt 0dtx(t)y(t) (2.9)jest przestrzenią Hilberta. Zacznimy od przypadku, gdy zarówno aproksymowanefunkcje jak też funkcje bazowe aproksymacji są rzeczywiste. Niech {f k }będzie rodziną takich funkcji, które spełniają warunek ortogonalności z iloczynemskalarnym (2.9), czyli dla i ≠ j spełniają relację:tˆ0+Tt 0f i (t) f j (t) = 0Nie będziemy wymagać, by te funkcje były unormowane do ‖f i ‖ = 1. Stosującogólną metodę postępiwania postulujemy rozwinięcie:x(t) =∞∑k=−∞c k f k (t). (2.10)Mnożąc skalarnie powyższe równanie przez f n (t) dostajemy wyrażenie nawspółczynniki rozwinięcia:c n =t 0+T ´t 0t 0+T´t 0x(t)f n (t)dtf n (t)f n (t). (2.11)


ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 38Okazuje się, że taki przepis na aproksymację można uzyskać inaczej - amianowicie poprzez żądanie, by błąd aproksymacji (2.10) rozumiany jako kwadratnormy różnicy miedzy aproksymowaną funkcją a jej aproksymacją, byłminimalny. Błąd ten jest funkcją współczynników rozwinięcia, więc warunkiemoptymalności jest znikanie pochodnych funkcji błędu wzgledem współczynnikówrozwinięcia. Mamy więc wyrażenie na błąd:ε = 1 Ttˆ0+T[x(t) −t 0oraz warunek na jego minimalizację:⎛∂⎝ 1∂c n Ttˆ0+Ttˆ0+T[x −t 0tˆ0+T[x(t) −t 0t 0x(t)f n (t)dt =∞∑k=−∞∞∑k=−∞∞∑k=−∞c k f k (t)∞∑k=−∞c k f k (t)] 2dt⎞2c k f k (t)]dt⎠ = 0]ˆc kt 0+Tt 0f n (t)dt = 0f k (t)f n (t)dtPonieważ funkcje f k (t)są ortogonalne, to ostatnia całka w powyższym równaniunie znika tylko dla k = n; tak więc z całej sumy wejdzie tylko człon zk = n. To prowadzi do równania na współczynniki rozwinęcia, którego rozwiązaniasą identyczne z formułą (2.11). To oznacza, że aproksymacja fourierowskajest optymalna.Gdy przestrzeń sygnałów jest zespolona, to formuła na współczynniki rozwinięciaulega lekkiej modyfikacji i przymuje postać:c n =t 0+T ´t 0t 0+T´t 0x(t)f n (t) ∗ dtf n (t)f n (t) ∗Zbadamy teraz rozwinięcia fourierowskie dla zespolonej i rzeczywistej bazyharmonicznej.


ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 392.5.1 Zespolona baza harmonicznaUkładem zespolonych funkcji okresowych, które można wykorzystać jako bazęw przestrzeniL 2 T 0jest przeliczalny ciąg funkcji harmonicznych postaci:g k (t) = exp(j 2πkT t)Chcemy, by wszystkie funkcje zbudowane jako kombinacje funkcji bazowychbyły automatycznie okresowe z okresem T . Tak będzie, gdy wszystkie funkcjebazowe będą okresowe z takim właśnie okresem. Takie wymaganie prowadzi dorelacji:g k (t + T ) = exp(k 2πj (t + T )) = exp(2kπj)g(t),Tz której wnioskujemy, że k może przyjmować tylko wartości całkowite: k =0, ±1,±2, . . .Łatwo sprawdzić, że funkcje bazowe odpowiadające różnym wartościom k sąwzajemnie prostopadłe. Funkcje te są również unormowane w normie określonejprzez iloczyn skalarny (2.9). Funkcje bazowe można zapisać na różne sposóbypokazujące ich zależność od pulsacji, częstotliwości oraz okresu. jako:g k (t) = exp(jkω 0 t) = exp(j2πf 0 t) = exp( 2πjT kt).Z tych postaci sygnału odczytujemy wartości pulsacji, czestotliwości i okresudla różnych funkcji bazowych: ω k = kω 0 , f k = kf 0 , T k = T0k. Tak więc w bazieharmonicznej sygnał jest sumą składowej stałej (k = 0) oraz kolejnych harmonicznych,których pulsacje (częstotliwości) rosną a okres maleje wraz z numeremharmoniki. Częstotliwość najniższej (pierwszej) harmoniki jest określona przezokres periodyczności T analizowanego sygnału:ω 0 = 2πf 0 = 2πT 0.Współczynniki rozwinięcia w tej bazie mają postać:c k = 1 tˆ0+TT 0t 0x(t) exp(−jkω 0 t)dt (2.12)


ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 402.5.2 Rzeczywisty trygonometryczny szereg FourieraNajbardziej znanym podejściem do aproksymacji funkcji okresowych jest użyciefunkcji trygonometrycznych jako funkcji bazowych. Zbiorem sygnałów,jakirozpatrujemy jest zbiór rzeczywistych funkcji okresowych o okresie T 0 z iloczynemskalarnym (2.9). Rzeczywistą bazą ortogonalną w tej przestrzeni jest zbiórfunkcji:1, cos k 2πT 0t,sin k 2πT 0t, k = 1, 2, . . .Używając tej bazy uzyskujemy następujący rozkład rzeczywistych funkcjiperiodyczych o okresie T 0 w szereg funkcji trygonometrycznych:x(t) = a 0 + ∑ (a k cos kω 0 t + b k sin kω 0 t), (2.13)gdzie ω 0 = 2πT 0, k jest liczbą naturalną, a współczynniki rozwinięcia wyrażająsię wzorami:a 0 = 1 tˆ0+TT 0a k = 2 tˆ0+TT 0b k = 2 tˆ0+TT 0t 0x(t)dt, (2.14)t 0x(t) cos kω 0 tdt, (2.15)t 0x(t) sin kω 0 tdt. (2.16)Te same formuły uzyskamy, gdy dokonamy rozwinięcia rzeczywistej funkcjiw zespolonej bazie harmonicznej. Wtedy żądane, by zespolony szereg aproksymowałfunkcję, która w istocie jest rzeczywista daje relacje między różnymiwspółczynnikami prowadzące do wzorów (2.13- 2.16).Klasyczna metoda aproksymacji zespolonymi funkcjami harmonicznymi lubfunkcjami trygonometrycznymi to przykład analizy częstotliwościowej sygnału.W takiej aproksymacji reprezentujemy sygnał - funkcję czasu jako sumę składowych(sygnałów wzorcowych) o ustalonych częstotliwościach. Ma ona zastosowaniewówczas, gdy aproksymowany sygnał jest okresowy.


ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 41Poniżej zostaną omówione dwa przykłady, które ilustrują zastosowanie szeregówFouriera do aproksymacji sygnałów okresowych.Przykład 1:Nasz sygnał to bipolarna fala trójkątna zadana formułą⎧⎪⎨ − 4A T t − 2A dla − T 2 < t < − T 4f(t) =4AT ⎪⎩t dla − T 4 < t < T 4− 4A T t + 2A dla T4 < t < T 2i przedstawiona na rysunku. Należy znaleźć szereg aproksymujący.Używamy bazy trygonometryczej; współczynniki rozwinęcia znajdujemy używającformuł (2.14-2.16), z t 0 = −T/2. Przy takim wyborze obszar całkowaniaw formułach na współczynniki to przedział [−T/2, T/2]. Jest to obszar symetrycznywzględem zera. Dodatkowo zauważamy, że aproksymowana funkcja jestnieparzysta. Dlatego, gdy obliczamy współczynnik rozwinięcia dla kosinusóworaz wyrazu wolnego, to dostajemy całkę z funkcji nieparzystej po obszarze symetrycznymwzględem zera, co na mocy symetrii automatycznie daje 0. To jestwynik ogólny, który nie zależy od postaci funkcji, tylko od tego, czy ma ona symetrięwzględem zmiany znaku. Podobna argumentacja prowadzi do wniosku,że w przypadku, gdy aproksymowana funkcja jest parzysta, to jej rozwinięciebędzie zawierać tylko funkcje parzyste - funkcję stałą i kosinusy.Pozostaje obliczyć współczynniki b k . Korzystając ze wzoru (2.16) i formułyna funkcję, którą rozwijamy dostajemy:b k = 1 T= 2 TˆT/2−T/2ˆT/40f(t) sin(kω 0 t)dt = 2 T4AtT dt + 2 ˆTCałkując przez części dostajemy:T/2T/4ˆT/20f(t) sin(kω 0 t)dt =(2A − 4At )sin(kω 0 t)dtTb k = 16A sin( kπ 2 ) sin2 ( kπ 4 )k 2 π 2Widać, że dla k parzystych pierwszy z sinusów licznika będzie się zerował,co oznacza że szereg aproksymacyjny zawiera tylko człony z nieparzystymi wartościamik; dla nich pierwszy z sinusów ma wartości ±1. Dla takich wartości k,


ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 42kwadrat drugiego sinusa dla nieparzystych k daje wartość 1 2. To pozwala namnapisać poszukiwane rozwinięcie:f(t) = 8A (π 2 sin(ω 0 t) − 1 3 2 sin(3ω 0t) + 1 )5 2 sin(5ω 0t) .Przykład 2:Pokaż, że dla sygnału - fali prostokątnej zadanej formułą⎧⎪⎨ 0 dla − T 2 < t < − T 4f(t) = A dla − T 4 ⎪⎩< t < T 4T0 dla4 < t < T 2• rozwinięcie nie zawiera sinusów• szereg aproksymacyjny ma postać:f(t) = A 2 + 2A π(cos(ω 0 t) − 1 3 cos(3ω 0t) + 1 )5 cos(5ω 0t) − . . . .Poniższe rysunki ilustrują rozwinięcia w szereg omawiane w przykładach ipokazują jak ich jakość zależy od ilości harmonik oraz od klasy funkcji, którąmamy aproksymować.2.6 Podstawowe operacje na sygnałachPrzedstawimy teraz pewne operacje często wykonywane na sygnałach, zarównow przypadku sygnałów ciągłych jak też dyskretnych.2.6.1 Splot sygnałówJedna z najważniejszych spośród wszystkich operacji wykonywanych na sygnałachjest operacja splotu. Operacja ta parze sygnałów x(t), h(t) przypisujesygnał y(t) określony formułą:y(t) =ˆ∞−∞dτ x(τ) h(t − τ) =ˆ∞−∞dτ h(τ) x(t − τ) (2.17)


ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 431.210.810.5N=6Approx[N](t)0.60.4N=6Approx[N](t)00.2-0.50-1-0.2-0.4 -0.2 0 0.2 0.4t-0.4 -0.2 0 0.2 0.4t1.211N=180.80.5Approx[N](t)0.60.4N=18Approx[N](t)00.2-0.50-1-0.2-0.4 -0.2 0 0.2 0.4t-0.4 -0.2 0 0.2 0.4t1.211N=300.80.5Approx[N](t)0.60.4N=30Approx[N](t)00.2-0.50-1-0.2-0.4 -0.2 0 0.2 0.4t-0.4 -0.2 0 0.2 0.4tRysunek 2.1: Rozwinięcia w szereg Fouriera fali prostokątnej i trójkątnej.


ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 44W podobny sposób wprowadza się definicję splotu dyskretnego; najważniejszaróżnica to zamiana całkowania na dyskretne sumowanie. Tak więc splotdwóch dyskretnych funkcji x(n) oraz h(n) to funkcja y(n) określona wzorem:y(n) =∞∑k=−∞x(k) h(n − k) =∞∑k=−∞h(n) x(n − k) (2.18)Operacja splotu ma przepisany sobie symbol graficzny ⊗; przy jego pomocyoba wyrażenia na splot możemy zapisać:y = x ⊗ h = h ⊗ x.Znaczenie splotu wypływa z faktu, że operacja ta opisuje mechnizm filtracjisygnału. W trakcie tej operacji jeden z sygnałów (powiedzmy x ) jest traktowanyjako sygnał poddawany filtracji, drugi zaś jest sygnałem filtrujących. Funkcjafiltrowana jest wzmacniana/osłabiana w sposób zależny od funkcji filtrującej iróżny dla różnych składowych częstotliwościowych. W dziedzinie czasu procesfiltracji polega na odwróceniu w czasie drugiego z sygnałów, przesunięcie wczasie tak uzyskanego sygnału filtrującego o czas t (w wersji cyfrowej - o n czasówpróbkowania ) i scałkowaniu iloczynu sygnału x oraz przetworzonego w sposóbopisany powyżej sygnału h. Interpretacja splotu – tu niezbyt jasna i zrozmiałaznacznie się upraszcza, gdy opisujemy ten proces w dziedzinie częstotliwości(czyli w bazie, w której funkcje bazowe są funkcjami o ustalonej częstotliwości).W tej bazie odpowiednikiem funkcji x(t), h(t) są ich transformaty Fouriera(widma). Prostota opisu filtracji bierze się z faktu, że widmo transformatyFouriera splotu jest równe iloczynowi widm.2.6.2 Korelacja wzajemna, autokorelacjaInną operacją stosowaną powszechnie w przetwarzaniu sygnałów jest wyznaczaniekorelacji dwóch sygnałów. Operacja ta ma na celu zbadanie stopnia podobieństwadwóch różnych przebiegów czasowych w funkcji wielkości przesunięciaczasowego pomiędzy nimi. Wielkość ta jest często stosowana do znalezienia wsygnale czasowym mierzonym przez pewien dłuższy czas krótszych przebiegówo znanych charakterystykach.Dla sygnałów x(t), y(t) należących do klasy sygnałów o ograniczonej energii,funkcja korelacji wzajemnej R xy (τ) jest określona jako:


ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 45R xy (τ) =ˆ∞−∞dt x(t) y(t − τ) ∗ (2.19)Tak więc funkcja korelacji wzajemnej dwóch sygnałów jest określona jakozależność ilocznu skalarnego dwóch sygnałów od przesuninięcia czasowego pomiędzynimi. Szczególnym przypadkiem jest korelacja pomiędzy sygnałem ajego przesuniętą w czasie kopią. W takim przypadku funkcję korelacyjną nazywamyfunkcją korelacji własnej bądź też autokorelacją. Tą funkcję wyznaczamyze wzoru:R xx (τ) = R x (τ) =ˆ∞−∞dt x(t) x(t − τ) ∗ (2.20)Ta funkcja jest zwykle stosowana do poszukiwań zachowań periodycznych,takich jak wykrywanie przebiegów ukrytych w szumie. Typowe zastosowanie tona przyklad wyznaczanie okresu głosek dźwięcznych w analizie mowy.Wersja dyskretna powyższych formuł ma postać:R xy (k) =R xx (k) = R x (k) =∞∑n=−∞∞∑n=−∞x(n) y(n − k) ∗ (2.21)x(n) x(n − k) ∗ (2.22)Wzory 2.21, 2.22 zakładają, że dysponujemy nieskończoną ilością próbeksygnałów. W praktyce tak nie jest; ilość danych jakie mamy do swojej dyspozycjijest ograniczona. Jeżeli ilość tych próbek oznaczymy przez przez N i zażądany,by do sumy korelacyjnej weszła co najmniej jedna para próbek, to widać żewielkość przesunięcia k - argument funkcji korelacyjnej może się zmieniać między-(N−1) a (N−1). Dla ustalonego k ilość nakładujących się z przesunięciem k parwynosi N − k. Gdy weźmiemy pod uwagę te ustalenia i będziemy indeksowaćkolejne elementy sumy od n = 0 do N − |k| − 1, to dostajemy następującewyrażenia na oszacowanie funkcji korelacyjnej:


ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 46R xy =R xy = 1N−|k|R xy= 1 NN−1−|k|∑n=0N−1−|k|∑n=0N−1−|k|∑n=0x(n)x(n − k) ∗ (2.23)x(n)x(n − k) ∗ (2.24)x(n)x(n − k) ∗ (2.25)Powyższe oszacowania (czyli estymaty) korelacji różnią się sposobem, w jakibiorą pod uwagą fakt, że skończona długość próbek wpływa na ilość skorelowanychpar - skladników sumowania. Wzór (2.23) nie bierze żadnej poprawki naliczbę składników sumy - korelację wyliczoną z tego wzoru nazywamy korelacjąnieunormowaną. Formuły (2.24, 2.25) są unormowane, różnią się jednak właściwościamistatystycznymi - wartość oczekiwania wielkości opisanej wzorem (2.25)nie jest równa faktycznej wartości parametru, dlatego ten estymator nazywamyestymatorem obciążonym.


Rozdział 3Transformata FourieraGłównym przedmiotem zainteresownia niniejszego rozdziału jest analiza częstotliwościowasygnałów. Polega ona na przejściu do reprezenacji sygnału, w którejsygnałami wzorcowymi są sygnały z ustaloną częstotliwością (ustalonym tempemzmian sygnału w czasie bądź przestrzeni). Reprezentacje częstotliwościowesą bardzo użytecznym narzędziem w analizie i przetwarzaniu zarówno dla sygnałówdyskretnych (bazy DFT, DCT, DST) jak i ciągłych (szeregi Fouriera). Wtym ostatnim przypadku mamy pewne ograniczenie - szeregi Fouriera możemystosować tylko do sygnałów periodycznych z ustalonym okresem periodyczności.Teraz poznamy transformatę Fouriera - narzędzie które umożliwia analizęsygnałów aperiodycznych. Ma ona zastosowanie głównie do przetwarzanie sygnałówciągłych.Sygnały dyskretne są najczęściej wynikiem procesu digitalizacji sygnałówciągłych. Proces ten polega na próbkowaniu ciągłego sygnału i kwantyzacjiwartości próbek. Można zadać tu wiele pytań na temat tego procesu, począwszyod najbardziej fundamentalnego - czy na podstawie próbek sygnału możemyodtworzyć charakterystyki oryginału, jego wartość chwilową? Jak musibyć wykonany proces pomiaru, żeby takie odtworzenie było możliwe? Jakie sąrelacje pomiędzy widmem sygnału ciągłego a widmem jego spróbkowanej wersji?Okazuje się, że w uzyskaniu odpowiedzi na te pytania główną rolę odgrywatransformata Fouriera.47


ROZDZIAŁ 3. TRANSFORMATA FOURIERA 483.1 Definicje i przykładyNiech x(t) - sygnał analogowy, w ogólnym przypadku zespolony. Prostym przekształceniemFouriera sygnału x(t) nazywamy wielkość określoną całką:X(jω) =ˆ∞−∞x(t) exp(−jωt)dt. (3.1)Odwrotne przekszałcenie Fouriera określone jest całką:x(t) = 12πˆ∞−∞X(jω) exp(jωt). (3.2)Wiekość X(jω) nazywamy widmem Fouriera sygnału x(t). Równania (3.1,3.2) stanowią parę transformacji łączących z sobą sygnał i jego widmo. Równanie(3.1) jest odpowiednikiem równania (2.3) dla uogólnionego szeregu Fouriera- nazywamy je równaniem analizy, natomiast równanie (3.2) odpowiadarównaniu(2.2) i nosi nazwę równanie syntezy. Ta analogia do szeregu Fourieradaje interpretację funkcji widma X(jω) - funkcja ta jest gęstością zespolonejamplitudy opisującej wkład pulsacji ω w syntezę sygnału x(t).Fakt, że X(jω) jest transformatą sygnału x(t) będziemy zapisywać jakoX(jω) = F [x(t)], zaś to, że zachodzi transformacja odwrotna notujemy jako:x(t) = F −1 [X(jω)]. Inna notacja relacji zachodzącej między sygnałem i jegotransformatą to zapis:x(t) ←→ X(jω).Można pokazać, że wzory (3.1, 3.2) są granicą odpowiednich formuł dla szeregówFouriera; granica ta odpowiada sytuacji, w której okres sygnału T → ∞,pulsacja podstawowa ω 0 = 2π/T zmierza do zera, a dyskretny rozkład pulsacjiprzechodzi w rozkład gładki.Zasadnym jest pytanie o to, jakie warunki konieczne i wystarczające musząbyć spełnione, by całki (3.1,3.2) istniały, jednak pełna odpowiedź na to pytanienie jest prosta. Zazwyczaj jako warunek konieczny podaje się wymaganiebezwzględnej całkowalności, czyli relację:ˆ∞−∞|x(t)|dt < ∞.


ROZDZIAŁ 3. TRANSFORMATA FOURIERA 49Niestety, klasa funkcji spełniających ten warunek jest dosyć wąska. Jeżeliobie całki (3.1,3.2) istnieją, to mówimy, że jest określona transformata w sensiezwykłym. Jednak dla wielu sygnałów (n.p. dla sygnału stałego, sygnału skokujednostkowego) transformata w sensie zwykłym nie istnieje. Dlatego wprowadzonopojęcie transformaty Fouriera w sensie granicznym. Jeżeli jakiś sygnałx(t) nie ma transformaty Fouriera w sensie zwykłym, ale możemy skonstruowaćciąg aproksymacyjny sygnałów x α (t) o własnościach:• dla każdego α funkcja x α (t) ma transformatę w sensie zwykłym,• ciąg x α (t) aproksymuje sygnał x(t), czyli dla każdego t mamylim x α(t) = x(t).α→0Ponieważ dla każdego α istnieje transformata funkcji x α (t), więc w dziedzinietransformat mamy ciąg X α (jω). Jeżeli lim α→0 x α (t) = x(t) dla każdego t orazlim α→0 X α (jω) = X(jω) dla każdego ω, to parę x(t)←→ X(jω) nazywamy parątransformat Fouriera w sensie granicznym.Przykład 1:Obliczmy transformatę Fouriera impulsu prostokątnego o szerokości T i amplitudzieA (czyli funkcji AΠ(t/T )).Zauważamy że funkcja, której transformatę mamy obliczyć jest bezwzględniecałkowalna, czyli istnieje jej transformata w sensie zwykłym. Możemy jąwyznaczyć wprost z definicji:[ ( )] tF AΠT=ˆ∞−∞( ) tAΠ exp(−jωt)dt = ATˆT/2−T/2= − 1 ( (jω A exp −jω T ) (− exp jω T ))=22= 2A ( ) ( )ωT ωTω sin = AT sinc22exp(−jωt) =Możemy więc zapisać:( ) ( t ωTΠ ←→ T sincT 2)Przykład 2:


ROZDZIAŁ 3. TRANSFORMATA FOURIERA 50Wyznaczmy teraz transformatę Fouriera rzeczywistego sygnału eksponencjalniezanikającego: x(t) = 1(t)exp(−αt). Również ta funkcja jest bezwzględniecałkowalna (dla α > 0), więc możemy obliczyć całkę wprost:X(jω) =ˆ ∞0exp(−αt) exp(−jωt)dt =ˆ ∞0exp(−(α + jω)t)dt =1α + jω .Ten przykład przekonuje, że na ogół widmo sygnału jest funkcję zaspolonąnawet w sytuacji, gdy sygnał jest rzeczywisty. Każdą liczbę zespoloną możemyzapisać układzie biegunowym jako A exp(jΦ), gdzie A = |X(jω)| - amplituda,zaś Φ - faza. Funkcję przedstawiającą zależność amplitudy od częstotliwości nazywamywidmem amplitudowym, zaś fazy od częstotliwości - widmem fazowym.Dla sygnału eksponecjalnie zanikającego mamy:X(jω) =1α + jω = α − jωα 2 + ω 2 ,co w rezultacie dajeA(ω) = |X| =1√α2 + ω 2 ,( ) ImX(ω)Φ(ω) = arctan = − arctan( ω ReX(ω)α ).W widmie częstotliwościowym widać, że dominują w nim niskie częstości -maksimum widma jest dla ω = 0, następnie widmo maleje z szybością określonąprzez parametr α. Dla ω = α wartość amplitudy spada o czynnik √ 2 czyli 3dB w porównaniu do maksimum. Sygnały o podobnej charakterystyce nazywaćbędziemy sygnałami dolnopasmowymi.Przykład 3:Wyznaczymy teraz transformatę sygnału sgn(t).Dla tego sygnału całka (3.1) nie istnieje - nie jest on transforomalny w sensiezwykłym. Aby wyznaczyć jego transformatę w sensie granicznym bierzemy ciągaproksymujący postaci:x α (t) = exp(−α|t|)sgn(t).Dla każdego z elementów ciągu aproksymującego możemy wyznaczyć jegotransformatę w sensie zwykłym:


ROZDZIAŁ 3. TRANSFORMATA FOURIERA 51X α (jω) =ˆ∞−∞= −= −exp(−αt)sgn(t) exp(−jωt)dt =ˆ0−∞ˆ∞exp((α − jω)t)dt + exp(−(α + jω)t)dt1α − jω + 1α + jω =0−2jωα 2 + ω 2Transformatą w sensie granicznym funkcji sgn(t) będzie więc granica ciągutransformat X α (ω) dla α → 0 która jest równa 2j/ω. Możemy więc napisać:sgn(t) ←→ 2jωW podobny sposób wyznacza się transformaty wyrażeń dystrybucyjnych.3.2 Podstawowe twierdzeniaTransformata Fouriera ma szereg własności, które w dużym stopniu ułatwiająjej wyliczenie. W niniejszym podrozdziale twierdzenia na temat tych własnościprzedstawimy bez dowodów; będziemy za to starać się pokazać konsekwencjez nich wypływające. Osoby zainteresowane dowodami omawianych twierdzeńmogą je znaleźć w [6, 4]. We wszystkich twierdzeniach zakładamy, że x(t), y(t) torzeczywiste lub zespolone sygnały, oraz że x(t) ←→ X(jω) oraz y(t) ←→ Y (jω),czyli x i X oraz y i Y to pary transformat Fouriera. Wtedy zachodzą następującetwierdzenia:1. Liniowość: ax(t) + by(t) ←→ aX(jω) + bY (jω).Uzasadnienie: jest to natychmiastowa konsekwencja liniowości całki2. Symetria: x(t) ←→ X(jω)=⇒ X(jt)←→ 2π x(−ω)Pokazuje wymienność kształtu sygnału i widma: jeżeli transformata sygnałux(t) jest opisana przez funkcję X(jω), to jeżeli jako sygnał weźmiemyX(jt), to jego widmo jest zadane przez przeskalowaną przez czynnik2π funkcję x od argumentu odbitego symetrycznie względem zera.Przykład: pokazaliśmy w poprzednim rozdziale, że Π(t/T ) ←→ T sinc(ωT/2).


ROZDZIAŁ 3. TRANSFORMATA FOURIERA 52Na podstawie omawianego twierdzenia możemy bez rachunków wyznaczyćtransformatę funkcji sinc(t). Jak to zrobić? Powinniśmy najpierw zrozumiećco oznacza zapis Π(t/T ) ←→ T sinc(ωT/2). Należy go czytać tak:transformata impulsu prostokątnego zależnego od zmiennej t podzielonejprzez pewną skalę jest równy iloczynowi tej skali i funkcji sinc od argumentudualnego względem t pomnożonemu przez połowę tej skali. Terazzmieniam nazwy zmiennej t na ω (a zmiennej ω na t) , oraz zmieniamnazwę skali; nie nazywam jej dalej T, tylko 2ω 0 .Po tych zmianach stwierdzenie: Π(t/T ) ←→ T sinc(ωT/2)jest równoważne zapisowi: Π(ω/(2ω 0 ) ←→ 2ω 0 sinc(ω 0 t). Teraz stosujemytwierdzenie o symetrii i dostajemy: 2ω 0 sinc(ω 0 t)←→ 2πΠ(−ω/(2ω 0 ) =2πΠ(ω/(2ω 0 ). Wynik ten można też zapisać:2ω 0 sinc(ω 0 t) ←→ 2πΠ(ω/2ω 0 ). (3.3)Formuła (3.3) jest też charakterystyką sygnału sinc - jest to idealny sygnałdolnopasmowy; zawiera tylko składowe o pulsacjach |ω| < ω 0 , wewnątrztego przedziału gęstość widmowa jest stała.3. Skalowanie: x(at) ←→ 1 a X( ω a )Przeskalowanie sygnału w czasie powoduje odwrotne przeskalowanie jegowidma; przy czym zmiana w widmie to dwa efekty: zwężenie (gdy a < 1)i jednoczesne proporcjonalne zwiększenie gęstości widmowej4. Przesunięcie w czasie: x(t − t 0 ) ←→ exp(−jωt 0 )X(jω)5. Przesunięcie w częstotliwości (modulacja zespolona): exp(±jω 0 t)x(t) ←→X(j(ω ∓ ω 0 ))Przemnożenie sygnału x(t) przez exp(−jω 0 t) przesuwa jego widmo w pulsacjio ω 0 w porównaniu do wyjściowego, niezmodulowanego sygnału6. Modulacja rzeczywista(a) cos(ω 0 t)x(t) ←→ 1 2 (X(ω − ω 0 + X(ω + ω 0 )(b) sin(ω 0 t)x(t) ←→ 1 2j (X(ω − ω 0 − X(ω + ω 0 )Wynika z poprzedniego tw. oraz liniowości.7. Splot: z(t) = x(t) ⊗ y(t) ←→ Z(jω) = X(jω)Y (jω)Bardzo ważne twierdzenie, zwłaszcza dla opisu dzałania filtrów liniowychoraz próbkowania sygnałów analogowych .


ROZDZIAŁ 3. TRANSFORMATA FOURIERA 538. Iloczyn sygnałów: z(t) = x(t)y(t) ←→ Z(jω) = X(jω) ⊗ Y (jω)Widmo iloczynu sygnałów jest równe splotowi widm. Łącznie z poprzednimtwierdzeniem pokazuje dualność czasu i częstotliwości: iloczyn w jednejdziedzinie daje splot w drugiej.3.3 Transformaty sygnałów dystrybucyjnychDo analizy procesów próbkowania sygnału potrzebna będzie jeszcze znajomośćtransformat Fouriera kilku sygnałów dystrybucyjnych, takich jak delta Diracaczy dystrybucja grzebieniowa. Transformaty Fouriera tych obiektów będą transformatamiw sensie granicznym. Punktem wyjścia do ich wyznaczenia jest znalezienietransformaty sygnału gaussowskiego. Bezpośrednim rachunkiem możnawykazać następującą relację:( )1√ exp − t22πα2 2α 2 ←→ exp(− α2 ω 2 )(3.4)2Pokazaliśmy poprzednio, że dystrybucja delta Diraca może być uważana zagranicę ciągu impulsów o amplitudzie dążącej do nieskończoności i szerokościzmierzającej do zera przy zachowaniu jednostkowego pola pod impulsem. Impulsemtego rodzaju jest impuls opisany przez lewą stronie relacji (3.4). Możemywięc napisać, żelimα→∞( )1√ exp − t22πα2 2α 2 = δ(t).Tak więc transformatą impulsu Diraca jest granica prawej strony relacji (3.4),która dla dowolnego ustalonego ω wynosi 1. To daje następującą relację:δ(t) ←→ 1 (3.5)Ta relacja pokazuje, że widmo impulsu Diraca zawiera składowe o wszystkichczęstotliwościach i wszystkie one wnoszą taki sam wkład do amplitudy.Na podstawie twierdzenia o symetrii dostajemy również transformatę Fourierasygnału stałego:1 ←→ 2πδ(ω)Łącząc tą relację z twierdzeniem o modulacji zespolonej, dostajemye jω0t ←→ 2πδ(ω − ω 0 ) (3.6)


ROZDZIAŁ 3. TRANSFORMATA FOURIERA 54Inną dystrybucją ważną zwłaszcza w opisie procesu próbkowania sygnałówciągłych jest dystrybucja grzebieniowa. Przypomnijmy, że jest ona zdefiniowanajakoδ T0 (t) =∞∑k=−∞δ(t − kT 0 )Ta suma jest wielkością periodyczną o okresie T 0 , więc możemy rozłożyćją w zespolony szereg Fouriera. Łatwo wykazać, że wszystkie współczynnikirozwinięca fourierowskiego są takie same, równe 1 T 0. W konsekwencji mamyδ T0 (t) = 1 T 0∞ ∑k=−∞exp(jkω 0 t), gdzie ω 0 = 2πT 0(3.7)Jak zobaczymy, w opisie procesu próbkowania potrzeba będzie znajomośćwidma dystrybucji grzebieniowej. Wykorzystując wyprowadzone przed chwiląrealcje (3.6,3.7) otrzymujemy:F [δ T0 (t)] = 1 T 0∞ ∑k=−∞F [exp(jkω 0 t)] = 1 T 0∞ ∑k=−∞2πδ(ω−kω 0 ) = ω 0∞ ∑k=−∞δ(ω−kω 0 )(3.8)Tak więc widmo dystrybucji grzebieniowej o okresie T 0 w dziedzinie czasujest dystrybucją grzebieniową w dziedzinie częstości o okresie ω 0 = 2πT 0i amplitudzieω 0 .3.4 Iloczyn i splot sygnałówBardzo często rozważamy sygnały, które są iloczynem lub splotem innych sygnałów.Jak pokazały to dwa ostatnie twierdzenia omawiane w rozdziale 3.2,operacje te są wzajemnie komplementarne. Przyjrzyjmy się bliżej sytuacjom, wktórych one występują.Na początek rozważmy prostą sytuację, w której chcemy dokonać analizyczęstotliwościowej sygnału czasowego x(t). W tym celu należy obliczyć całkę(3.1) w pełnym zakresie czasowym. Jest to możliwe, gdy umiemy opisać sygnałzwartą formułą analityczną i wyliczyć całkę. Nie jest to częsta sytuacja; w większościprzypadków musimy obciąć obszar całkowania do pewnego skończonegoobszaru: −T < t < T . Ale takie obcięcie jest równoważne z obliczeniem wpełnym obszarze całki (3.1) ze zmodyfikowanego sygnału x w (t), który może być


ROZDZIAŁ 3. TRANSFORMATA FOURIERA 55traktowany jako iloczyn sygnału x(t) i pewnej funkcji czasu, która jest równa0 (lub bardzo szybko zmierza do 0) poza obszarem, w którym sygnał jest namznany, a mało go zmienia w obszarze, w którym sygnał znamy dobrze. Rolą tejfunkcji jest obcięcie sygnału w obszarze, w którym nie jest nam dobrze znany.Każdą taką funkcję nazywać będziemy funkcją okna w(t); jej najprostszą wersjąjest impuls prostokątny.Podsumowując - względy praktyczne powodują, że dokonujemy analizy częstotliwościowejnie sygnału x(t), lecz jego obciętej wersji x w (t) = w(t)x(t). Jakwiemy, widmo iloczynu funkcji jest równe splotowi ich widm. Mamy więc:X w (ω) = 12π X ⊗ WWidać, że od wyboru funkcji okna zależy, jak bardzo widmo idealne, daneprzez X(ω), różni się od widma zmierzonego, określonego przez X w (ω). Zróbmyprosty rachunek dla przypadku sygnału harmonicznego cos(ω 0 t). Dla takiegosygnału widmo idealne jest równe:X(jω) = π [δ(ω − ω 0 ) + δ(ω + ω 0 )]Natomiast widmo sygnału okienkowego to splot powyższego wyrażenia zwidmem funkcji okna. Wziąwszy pod uwagę, że sygnał X(ω) to suma deltDiraca, dostajemyX(jω) = 1 2 [W (ω − ω 0) + W (ω + ω 0 )]Widzimy, że zniekształcenie widma spowodowane okienkowaniem będzie tymmniejsze im bliższe delcie Diraca będzie widmo funkcji okna. Tak więc funkcjeokna powinny mieć widmo silnie skoncentrowane wokół pulsacji ω = 0 iszybko zanikające ze wzrostem pulsacji. Szerokość maksimum wokół zera (listekgłówny) określa rozdzielczość częstotliwościową, czyli minimalną odległość w ω,na jaką mogą zbliżyć się do siebie dwie składowe harmoniczne o równych amplitudach,aby jeszcze były rozróżnialne. Gdy odległość w częstotliwości dwóchtakich składowych harmonicznych jest rzędu szerokości prążka głównego, to sygnałod nich zlewa się w jeden prążek i przestaje być rozdzielany. Natomiastpoziom maksimów bocznych w widmie okna (inaczej listków bocznych) decydujeo tym, czy dwie składowe sygnału o ustalonych częstościach, ale różniące się amplitudamibędą rozdzielane. Rozważamy tu sytuację, w której dwie składowesygnału o ustalonych częstotliwościach, rozdzielone przy równych amplitudachprzestają takie być, gdy amplitudę jednej z nich zmniejszymy tak, że wysokość


ROZDZIAŁ 3. TRANSFORMATA FOURIERA 56jej listka głównego jest porównywalna z amplitudą listków bocznych drugiejskładowej.Rysunek 3.1 pokazuje jak wygłąda zmiejszanie się możliwości rozdzieleniadwóch bliskich sobie składowych harmonicznych o podobnej amplitudzie w funkcjiich odległości w częstotliwości (rozdzielczość częstotliwościowa - lewy panelrysunku) lub dwóch składowych harmonicznych o ustalonych pozycjach w częstotliwościw funkcji amplitudy jednej z nich; amplituda drugiej składowej się niezmienia (rozdzielczość ampltudowa - prawy panel rysunku). Ważne w kontekściewyboru rodzaju okna i ustalenia jego szerokości jest pytanie: jak od typuokna i jego szerokości zależą rozdzielczości częstotliwościowa i amplitudowa.Okazuje się, że gdy okno ulega poszerzeniu, to zwiększa się jego rozdzielczośćczęstotliwościowa. Jest to efekt generyczny, niezależny od typu okna. Aby gowytłumaczyć zauważmy, że zgodnie z twierdzeniem o skalowaniu poszerzeniusygnału odpowiada zwężenie jego widma, w tym zmniejszenie szerokości listkagłównego. Natomiast poszerzenie okna na ogół nie ma wpływu na rozdzielczośćamplitudową. Powodem tego jest fakt, że zmiana szerokości okna działa w tensam sposób na poziom listków bocznych i listka głównego, tak że stosunek ichamplitud jest stały dla danego typu okna. Wartość tego stosunku, a w rezultacierozdzielczość amplitudowa, zależy jednak od rodzaju okna. Poniższy rysunekpodaje relację pomiędzy amplitudami prążków dla dwóch okien prostokątnycho różnych szerokościach10010W(T, ω)W(2T, ω/2)W( ω )10.1-2 -1.5 -1 -0.5 0 0.5 1 1.5 2ωOprócz okna prostokątnego, w przetwarzaniu sygnałów stosuje się równieżokna innych typów, które nie są równe 1 w obszarze okna. Poniższa tabelkazestawia te najczęściej używane.


ROZDZIAŁ 3. TRANSFORMATA FOURIERA 57808060ω 0 = 0.3260A = 1.04040X( ω )202000-20-4 -2 0 2 4ω-20-4 -2 0 2 4ω8060ω 0 = 0.0940X( ω )200-20-4 -2 0 2 4ω8060ω 0 = 0.0640X( ω )X( ω )8060A = 0.440X( ω )200-20-4 -2 0 2 4ω8060A = 0.140X( ω )202000-20-4 -2 0 2 4ω-20-4 -2 0 2 4ωRysunek 3.1: Możliwości rozdzielcze analizy częstotliwościowej sygnałów.


ROZDZIAŁ 3. TRANSFORMATA FOURIERA 58Typ okna Funkcja okna Widmo okna{1 dla|t| ≤ Tsin ωTprostokątne p T (t) =2ω0 dla|t| > T{1 − |t|/T dla|t| ≤ Ttrójkątne q T (t) =0 dla|t| > T[Hanna12 (1 + cos(πt/T ))] p T (t)T[ ] 2sin(ωT/2)ωT/2π 2 sin(ωT )ω(π 2 −T 2 ω 2 )(1.08πHamminga [0.54 + 0.46(πt/T )] p T (t)2 −0.16T 2 ω 2 )ω(π 2 −T 2 ω 2 )sin(ωT )W porównaniu do okna prostokątnego, pozostałe funkcje okna mają niższelistki boczne, ale ich listek główny jest znacznie szerszy. Oznacza to, że mają onegorszą rozdzielczość częstotliwościową, za to lepszą rozdzielczość amplitudową.Inną operacją na sygnałach której działanie bardzo się upraszcza, gdy zastosujemytransformatę Fouriera, jest splot sygnałów. Znaczenie tej operacji polegana tym, że z jej pomocą modelujemy działanie liniowych układów niezmiennychw czasie (filtrów liniowych). Zazwyczaj układ taki jest opisany pewną funkcjąh(t) jednoznacznie go identyfikującą, uzyskaną jako odpowiedź układu na pobudzenieimpulsowe δ(t). Działanie takiego układu na dowolny sygnał jest opisanejako operacja splotu sygnału wejściowego x(t) z funkcją odpowiedzi impulsowejukładu h(t) :y(t) = x(t) ⊗ h(t).Jeżeli chcemy, by taka operacja filtracji wykonywała jakieś konkretne zadanie,by w pewien określony sposób modyfikowało własności synału wejściowego,musimy wiedzieć, jak działanie filtra zależy od wyboru funkcji h(t). Najczęściejdziałanie filtrów ma modyfikować własności częstotliwosciowe filtrowanego sygnału- na przykład filtr ma wytłumić składowe wysokoczęstotliwościowe, niezmieniać składowych sygnału o pośrednich częstościach oraz wzmocnic sygnałuskładowe niskoczęstotliwościowe. Niestety w dziedzinie działanie operacji splotujest dość nieoczywiste, więc dość trudno jest przełożyć te oczekiwania na sposóbmodyfikacji funkcji h(t). Własność splotu sprawia, że w dziedzinie częstotliwościowejsplotowi sygnałów odpowiada iloczyn ich widm: Y (jω) = H(jω)X(jω).Ponadto, w tej dziedzinie dość łatwo jest przełożyć wymagania formułowanedla różnych składowych częsotliwościowych na przepis, jak należy zmodyfikowaćfunkcję H(jω). Na przykład, jeżeli chcemy, by sygnał na wyjściu filtra niezawierał składowych pomiędzy ω 1 a ω 2 , to powinniśmy tak ukształtować układ,by funkcja H(jω) = 0 dla ω 1 < ω 2 . Więcej na temat operacji splotu, filtrowaniai wykorzystaniu transformat całkowych można znaleźć w rozdziałach na tematfiltrów analogowych i cyfrowych.


Rozdział 4Próbkowanie sygnałówWiększość sygnałów cyfrowych, z jakimi spotykamy się w codziennej praktyce,pochodzi ze zdigitalizowanych sygnałów analogowych. Digitalizacja to proces,w którym mierzymy wartości próbek sygnałów i dokonujemy ich kwantyzacji.Próbkowanie polega na pomiarze sygnału tylko w dyskretnym zbiorze równoodległychchwil czasowych; wartości sygnału pomiędzy punktami pomiaru niesą znane. Powstaje pytanie: czy na podstawie tych niepełnych danych jesteśmyw stanie odtworzyć oryginalny sygnał analogowy. Jeżeli tak jest, to jakie warunkimuszą być spełnione, by to było możliwe? Odpowiedzi na te pytania sąprzedmiotem twierdzenia o próbkowaniu sformułowanego i udowodnionego poraz pierwszy w roku 1933 przez rosyjskiego matematyka W. Kotielnikowa [14] iodkrytego niezależnie kilkanaście lat później przez C. Shannona [15].4.1 Problem niejednoznaczności postaci sygnałuw dziedzinie częstotliwościPytania o możliwość odtworzenia sygnału z próbek możemy sprowadzić do następującegozagadnienia: mamy szereg czasowy, określający wartości pewnejnieznanej funkcji w ustalonych, równoodległych chwilach. Czy istnieje procedura,która jednoznacznie odtworzy przebieg tej funkcji? Jest rzeczą oczywistą,że tak nie jest; że bez pewnych dodatkowych informacji nie da się tego zrobić.Ilustruje to rysunek 4.1. Sugeruje on też, że możliwe są dwa typy dodatkowychwarunków:59


ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 6032.52x(t)1.510.500 1 2 3 4 5tRysunek 4.1: Ilustracja niejednoznaczności odtwarzania przebiegu funkcji• Ograniczenia na zmienność funkcji - im mniej zmienna będzie funkcja,tym łatwiej ustalić właściwe rozwiązanie. Wiemy, że zmienność sygnałujest związana z jego własnościami widmowymi - tak więc ograniczenie nazmienność będzie ograniczeniem na widmo sygnału.• Szybkość próbkowania - jest rzeczą jasną, że im częściej pobieramy próbki,tym większa szansa na właściwą rekonstrukcję. Tutaj należy odnieść częstotliwośćpróbkowania do zmienności sygnału - intuicyjnie czujemy, żegdy sygnał wykazuje większą zmienność, to musimy częściej próbkowaćniż wtedy, gdy zmienność jest mniejsza.Aby lepiej zidentyfikować żródło problemów pojawiających się przy rekonstrukcjisygnałów z próbek, przyjrzyjmy się prostemu przypadkowi, w którymanalizowany jest sygnał sinusoidalnym o częstotliwości f 0 . Załóżmy, że próbkujemysygnał z częstotliwością f s , tak więc czas pomiędzy poszczególnymi próbkamiwyniesie t s = 1 f s. Gdy zaczynamy próbkowanie w chwili t = 0, to mierzonewartości kolejnych próbek wynosząx(n) = sin(2πf 0 nt s )Znamy chwile kolejnych pomiarów oraz mierzone wartości próbek x(n). Niestetyto nie wystarcza, by wyznaczyć częstość f 0 . Powodem tego jest fakt, żefunkcja sin nie jest różnowartościowa. To że wartości sinusa są sobie równe nieoznacza, że równe są jego argumenty (czyli fazy); wystarcza, że fazy różnią się


ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 61o całkowitą wielokrotność 2π. Tak więc nasz sygnał może być opisany w innysposób:x(n) = sin(2πf 0 nt s ) = sin(2πf 0 nt s + 2πm) (4.1)Załóżmy, że m jest całkowitą wielokrotnością numeru próbki n, m = nk. Wtedyrównanie (4.1) możemy zapisać w postaci:x(n) = sin(2πf 0 nt s ) = sin(2πf 0 nt s + 2πnk) == sin(2π(f 0 + k t s)n = sin(2π(f 0 + kf s )nt s )Ostatnie równanie oznacza, że ciąg x(n) wybrany jako ciąg kolejnych próbeksygnału harmonicznego o częstotliwości f 0 reprezentuje równie dobrze przebiegio innych częstotliwościach. Innymi słowy, gdy próbkujemy sygnał sinusoialny zczęstotliwością f s to nie jesteśmy w stanie powiedzieć, czy próbki pochodzą zprzebiegu o częstotliwości f 0 , czy też z przebiegu o częstotliwości f 0 + kf s . Takwięc każdy ciąg próbek pochodzących z przebiegu sinusoidalnego reprezentujew istocie nieskończenie wiele sinusoid o częstościach f 0 + kf s .Omówione niejednoznaczności reprezentacji sygnału okresowego mogą powodowaćpowstanie w trakcie próbkowania zniekształcenia, które nazywa sięaliasingiem. Polega ono na błędnym oszacowaniu częstotliwości mierzonego sygnału,tak że próbki sygnału o wysokich częstotliwościach są interpretowanejako próbki o niższych częstotliwościach. W wyniku tych przekłamań wiernarekonstrukcja sygnału ciągłego z jego próbek staje się niemożliwa. Problemówtakich nie będzie, jeśli nałożymy na proces próbkowania dodatkowe warunki,które usuną źródła tej niejednoznaczności. Takimi warunkami są na przykładzałożenia, że widmo mierzonego sygnału jest ograniczone, a częstotliwość próbkowaniaodpowiednio wysoka.4.2 Twierdzenie o próbkowaniuSygnały, w których widmie nie ma składowych o częstotliwościach większychniż pewna ustalona wartość ω m nazywamy sygnałami o ograniczonym paśmie.Możemy teraz sformułować twierdzenie o próbkowaniu. Jeżeli ciągły sygnałx(t) jest sygnałem o ograniczonym paśmie z ograniczeniem ω m , to sygnał takimożemy dokładnie odtworzyć z próbek o częstotliwości ω p ≥ 2ω m .


ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 62Aby zobaczyć mechanizm działania tego twierdzenia, prześledźmy procespróbkowania i następującej po nim rekonstrukcji ciągłego sygnału x(t) o ograniczonympaśmie. Wiemy, że proces równomiernego próbkowania sygnału analogowegomożemy matematycznie opisać jako iloczyn tego sygnału i dystrybucjigrzebieniowej Diraca, czylix δ (t) = x(t)δ T (t)Przez x δ (t) będziemy rozumieli dyskretny sygnał powstały ze spróbkowaniasygnału analogowego. T określa okres próbkowania, częstość próbkowania jestokreślona przez ω p = 2πT. Ponieważ spróbkowany sygnał jest iloczynem dwóchwielkości, jego widmo będzie splotem widm czynników. W rozdziale 3.3 wyznaczyliśmytransformatę Fouriera dystrybucji grzebieniowej, uzyskując wynikF [δ T (t)] = ω p∞ ∑k=−∞δ(ω − kω p ) = ω p δ ωp (ω p )Zastosowanie tej formuły pozwala nam wyznaczyć widmo spróbkowanegosygnału. Obliczając wartość splotu dostajemy:X δ (jω) = 12π X(jω) ⊗ ω pδ(ω p ) = ω p2π∞∑k=−∞X(j(ω − kω p )) (4.2)Uzyskany wynik mówi, że widmo dyskretnego sygnału otrzymanego w trakciepróbkowania sygnału ciągłego jest równe nieskończonej sumie powielonychi przesuniętych widm wyjściowego sygnału ciągłego. Odtworzenie oryginalnegosygnału jest możliwe wtedy, gdy potrafimy odzyskać pełną informację o widmie.Aby to było możliwe, sygnał x(t) musi być sygnałem o ograniczonym widmie.W przeciwnym razie kolejne egzemlarze wyjściowego widma nakładałybysię na siebie, powodując zniekształcenie widma, które uniemożliwia poprawnąrekonstrukcję. Ale wymaganie ograniczoności widma nie wystarcza, aby móczapewnić sobie możliwość rekonstrukcji. Musimy również zapobiec nakładaniusię na siebie kolejnych kopii widma.O tym, czy dojdzie do nakładania, decyduje relacja dwóch parametrów: ω mokreślającego szerokość oryginalnego widma (∆ = 2ω m ) oraz ω p - częstotliwościpróbkowania, która określa wielkość przesunięcia względem siebie kolejnych kopiiwidma oryginału. Jeżeli przesunięcie jest większe niż szerokość powielanegoobszaru:ω p ≥ ∆ = 2ω m (4.3)


ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 63to kolejne kawałki widma pozostają rozdzielone (nie zlewają się) i możemyużyć dowolnego z nich do rekonstrukcji danych oryginalnego sygnału ciągłego.Warunek wyrażony w powyższej nierówności nazywamy warunkiem Nyquista.Aby dokonać rekonstrukcji używamy idealnego filtra dolnoprzepustowego,omówionego w (3.3). Filtrując sygnał x δ (t) tym filtrem o częstości granicznejω g spełniającej warunek ω m ≤ ω g ≤ ω p −ω m odfiltrowujemy z sygnału spróbkowanegoprzyczynki od powielonych składowych widma. Oznacza to, że widmotego tego filtra to impuls prostokątny o szerokości ∆ = 2ω g , (a więc Π(ω/∆)),czyli sam filtr jest opisany odpowiedzią impulsową postaci (3.3):h(t) = 1 π sinc(ω gt). (4.4)Najniższą możliwą częstością próbkowania, która nie powoduje nakładaniasię kolejnych kopii widma w trakcie próbkowania i pozwala na odzyskanie pełnejinformacji o widmie wyjściowego sygnału ciągłego jest wartość ω p = 2ω m . Dlatakiej częstości próbkowania wymagana częstość graniczna filtra wynosi ω g =ω m .By opisać działanie filtra rekonstrukcyjnego w dziedzinie częstotliowości,mnożymy obustonnie równanie (4.2) przez transmitancję filtra otrzymując:X δ (jω)Π( ω2ω g) = 12π[ω p∞ ∑k=−∞X(j(ω − kω p ))]Π( ω2ω g) = ω p2π X(jω).skąd rekonstrukcja sygnału x rec (t) ma postać:x rec (t) = F −1 [X(jω)] = 2π [F −1 X δ (jω)Π( ω ])ω p 2ω gZamieniając iloczyn widm na splot sygnałów czasowych dostajemy ostatecznie:(x rec (t) = π∞)∑[ ] sin(ωm t)x(kT )δ(t − kT ) ⊗ = (4.5)ω m πt=∞∑k=−∞k=−∞x(kT ) sin(ω m(t − kT ). (4.6)ω m (t − kT )Ostatnia formuła przedstawia formułę pokazującą jak obliczyć dokładną wartośćrekonstruowanej funkcji na podstawie znajomości jego próbek. Nosi ona


ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 64w literaturze nazwę formuły interpolacyjnej Kotielnikowa-Shannona. To, że taformuła rzeczywiście aproksymuje sygnał bierze się z fakty, że układ funkcji:f m (t) = 1 √Tsinc [ω m (t − kT )]jest ortonormalną bazą w przestrzeni funkcji o ograniczonym widmie całkowalnychz kwadratem. W tej bazie kolejne elementy są swoimi kopiami przesunętymiwzględem chwili początkowej t = 0 o czas nT . Wzór (4.5) jest rozwinięciemsygnału x(t) w uogólniony szereg Fouriera dla tej bazy ortonormalnej.Własnością tej bazy jest to, że współczynniki a n rozwinięcia dowolnej funkcji oograniczonym paśmie całkowalnej z kwadratem są próbki sygnału:a n = x(nT ).W opisanej powyżej procedurze rekonstrukcji sygnału z próbek zakładaliśmy,że częstość próbkowania minimalna (ω p = 2ω m ), czyli próbkowanie zachodzi zczęstotliwością Nyquista. Gdy jest inaczej (czyli gdy ω p > 2ω m ), to wynik (4.5)się stosuje z jedną korektą:x rec (t) = 2ω gω p∞ ∑k=−∞x(kT ) sin(ω g(t − kT ),ω g (t − kT )która polega na przeskalowaniu próbek przez czynnik 2ωgω p, gdzie ω g jestograniczeniem widma spełniającym warunek ω m ≤ ω g ≤ ω p − ω m .Rozważany do tej pory sygnał był sygnałem dolnopasmowym. Uzyskanewyniki można łatwo uogólnić na przypadek sygnału pasmowego. Również tutajpodstawowym warunkiem możliwej rekonstrukcji jest nienakładanie się kolejnychpoprzesuwanych kopii widma. Gdy ten warunek jest spełniony, to jak wprzypadku sygnału dolnopasmowego wycinamy pojedyńczą kopię widma, w raziepotrzeby przesuwamy go we właściwy zakres częstotliwości i wykorzystujemydo uzyskania rekonstrukcji.4.3 Compressed SamplingTwierdzenie o próbkowaniu i wynikające z niego kryterium Nyquista są podstawąklasycznej metody akwizycji danych cyfrowych. Dane takie na ogół pochodząze źródeł analogowych a ich akwizycja polega na próbkowaniu i następującejpo niej kwantyzacji danych próbek. Kluczowe w tym punkcie pytanie


ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 65dotyczy częstości próbkowania f p która zapewnia wierną rekonstrukcję rejestrowanegosygnału. Jak pokazaliśmy w rozdziale 4.2, dla sygnałów o ograniczonympaśmie ta wymagana częstość jest określona przez naturalny rozmiar problemu(np. szerokość pasma B, czy też - dla obrazów- wymaganą rozdzielczością przestrzenną),mamy więc f p ∼ B. Takie podejście zapewnia powodzenie czyligwarantuje wierną rekonstrukcję, ale jest kosztowne; wymagana przez nie częstośćpróbkowania prowadzi do bardzo dużych rozmiarów danych. Wydaje się,że Shannon był pesymistą - jeżeli protokół pomiaru spełnia wymagania twierdzeniao próbkowaniu, to mamy gwarancję wiernej rekonstrukcji sygnału z próbekdla wszystkich danych określonego typu; nawet dla przypadków najgorszejewentualności, które z punktu widzenia człowieka nie różnią się od szumu i nieniosą żadnych informacji.Zwykle dane, które są dla nas interesujące, są silnie nadmiarowe, co oznacza,że możemy je zarejestrować przy użyciu znacznie mniejszej ilości pomiarów niżwynika to z warunku Nyquista. Dowodem na to jest sukces kompresji danych,który pozwala na znaczną redukcję rozmiarów plików danych. Najbardziej efektywnemetody kompresji są metodami z grupy kodowania transformacyjnego -ich działanie polega na znalezieniu bazy, w której sygnał jest rzadki, czyli dasię opisać przy pomocy małej ilości sygnałów bazowych. Po zidentyfikowaniutych ważnych składowych możemy pozostałe, mniej ważne składowe zaniedbaćalbo zakodować z mniejszą dokładnością uzyskując w obu przypadkach redukcjęrozmiaru pliku. Przykładami tych metod kompresji są standardy JPEG, któryużywa bazy funkcji trygonometrycznych czy też JPEG2000 stosujący transformacjefalkowe. Tak więc klasyczne podejście do problemu akwizycji i kompresji/kodowaniadanych przebiega według następującego protokołu:• Mierzymy pełny sygnał z częstością próbkowania daną przez kryteriumNyquista.• Robimy przegląd zmierzonych współrzędnych rozwinięcia, szeregujemy jewedług wielkości• Odrzucamy składowe o małej amplitudzie.• Kodujemy pozostałe, „duże składowe”.Aby zilustrować tą zasadę postępowania, wykonujemy następującą sekwencjędziałań:• bierzemy obrazek testowy (w naszym przypadku jest to obrazek lena wrozdzielczośći 512x512 pikseli w odcieniach szarości)


ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 66Rysunek 4.2: Ilustracja rzadkości danych lena512, lewa strona - tylko 6500 falek;prawy - dane kompletne• dokonujemy rozkładu obrazka na falki uzyskując 262144 współczynnikifalkowowych• znajdujemy współczynnik rozwinięcia falkowego [7] o maksymalnej wartościbezwzględnej W• ustalamy wartość progową c > 0;• dla wszystkich współczynników rozwinęcia falkowego w i porównujemy wartośćtego współczynnika z wartością maksymalną W; jeżeli | wiW| < c, topomijamy wkład odpowiadającej mu falki kładąc w i = 0; w przciwnymrazie wartość w i pozostawiamy bez zmian• dokonujemy rekonstrukcji obrazka poprzez wykonanie odwrotnej transformacjifalkowej na tak zmodyfikowanym zbiorze współczynnikówPostępując w ten sposób zatrzymujemy w rozkładzie tylko falki z największymiwartościami współczynników rozkładu; ilość pozostawionych składowychzależy od wartości wybranego progu c. Poniżej pokazujemy porównanie oryginalnegoobrazka (który uwzględnia wszystkie falki) z obrazkiem otrzymanymdla wartości c = 0.0015, co odpowiada pozostawieniu około 6500 falek (około2.5% ich całkowitej ilości).Opisany powyżej schemat postępowania pokazuje, że klasyczna metoda akwizycjidziała - uzyskujemy dane cyfrowe, które dość wiernie reprezentują oryginalnysygnał analogowy i jednocześnie redukują rozmiary potrzebnych danych.Jednak takie podejście ma jeden zasadniczy mankament - wymaga, by w okresie


ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 67pośrednim mierzyć wszystko, jak to nakazuje reguła Nyquista. Dopiero potemmożemy zakodować ważne a zaniedbać nieistotne składowe.Można zapytać o sens takiego postępowania - po co robić taką masę pomiarówa za chwilę większość z nich wyrzucić? Czy nie możnaby mierzyć tylko teważne składowe? Problem polega na tym, że rozpoczynając pomiar nie wiemyktóre składowe okażą się ważne; o tym przekonujemy się dopiero później, podokonaniu kompletu pomiarów. Ten mankament nie ma większego znaczeniana przykład dla działania cyfrowego aparatu fotograficznego, gdzie zrobieniezdjęcia polega na pomiarze wartości kilku lub kilkunastu milionów pikseli i natychmiastowymodrzuceniu większości tych danych przez oprogramowanie wbudowanew aparat. Ale koszt tej operacji jest bardzo mały, więc standardowepostępowanie jest zadawalające. Inaczej wygląda sprawa, gdy dokonywanie pomiarówjest kosztowne, jak to się dzieje w przypadku na pomiarów dokonywanychna potrzeby diagnostyki medycznej (tomografia komputerowa, rezonansmagnetyczny), pomiarów w podczerwieni, lub promieniach gamma, czy też wprzypadku pomiarów rozpraszania neutronów. Wtedy zmniejszenie ilości pomiarówjest bardzo ważne. Powstaje pytanie - czy da sie zdefiniować protokółakwizycji danych, który:• jest nieadaptacyjny, nie zależy od danych;• pozwala uniknąć dużej ilości pomiarów; dokonuje kompresji danych już napoziomie akwizycji;• pozwala zrekonstruować wiernie wyjściowy sygnał;Okazuje się, że odpowiedź na te pytania jest pozytywna; nowe podejście doakwizycji danych cyfrowych jest rozwijane od kilku lat i znane jest pod nazwąCompressed Sensing lub Compressed Sampling [11, 9, 10]; w polskiej nomenklaturzepojawiło się określenie „oszczędne próbkowanie”. Podejście to realizujeprotokół akwizycji przedstawiony powyżej i przy spełnieniu warunków, któreza chwilę zostaną przedstawione pozwala na wierną rekonstrukcję przy ilościpomiarów znacznie mniejszej, niż wynika to z warunku Nyquista. Konstrukcjaprotokołu opiera się na dwóch zasadach:1. rzadkości - która nakłada wymagania na własności danych;2. niekoherencji - która jest więzem na sposób wykonania pomiaru.Rzadkość oznacza, że dane są nadmiarowe, tak że transfer informacji jest znaczniemniejszy niż wynikałoby to z tego, jaką szerokość pasma zajmuje dane.


ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 68Jeżeli tak jest, to istnieje baza, w której reprezentacja sygnału jest znacznie bardziejzwarta. W tej bazie duża część współczynników rozwinięcia będzie równazero (dokładnie, lub też będzie na tyle mniejsza od „dużych” współczynnikówokreślających ważne składowe, że możemy je zaniedbać bez szkody dla jakościreprezentacji). Przykład takich danych zademonstrowaliśmy powyżej (obrazeklena512) - pokazaliśmy tam, że znakomita większość współczynników rozkładuw bazie falkowej - chociarz niezerowa, to była na tyle mała, że odrzucenie falekim odpowiadającym nie powodowało znaczącej utraty jakości.Ograniczmy naszą dyskusję do przypadku dyskretnego. Nasz sygnał będziezawsze sygnałem o skończonej długości. Oznaczny naturalny rozmiar tego sygnałuprzez N. Zwykle liczba N jest duża - np. przy przetwarzaniu obrazówjest ona rzędu liczby piksel, a więc 10 7 . Jak dyskutowaliśmy to w rozdziale 2a zwłaszcza w częścach 2.3, 2.4 oraz 2.1, żeby zaprezentować sygnał f(t), należywybrać sygnały wzorcowe ψ i (t) (bazę w przestrzeni sygnałów) i określićwspółczynniki x i tego rozwinięcia. Wtedy możemy napisać:f(t) =N∑x i ψ i (t)i=1W dawolnie wybranej bazie sygnał rzadki nie różni się specjalnie od zwykłegosygnału, który tej cechy nie posiada. Natomiast, inaczej wygląda sprawagdy jesteśmy w bazie, w której nasz sygnał jest jest rzadki. - w takiej baziebędzie miał o tylko K (gdzie K ≪ N) niezerowych składowych. O takim sygnalemówimy, że jest on K-rzadki. Odwołując się do obrazu Lena - sygnałma rozmiar N = 512 2 , po przejsciu do bazy falek można odrzucić bez większejszkody dla jakości większość z nich - wystarczyło zachować tylko ok. 6500współczynników. Oznacza to, że w tej bazie reprezentacja wektora rzadkiegobędzie dla większości swoich współrzędnych miała zera (lub efektywnie - samezera). Można tutaj zadać pytanie - ile trzeba dokonać pomiarów, żeby określićten sygnał? Podejście compressed sensing mówi, że w takiej sytuacji, w którejsygnał ma rozmiar N, ale jest rzadki, tak że jego „rozmiar informacyjny” wynosiK ≪ N można zaproponować protokół pomiaru, w którym wystarczy dokonaćM K (czyli M ≪ N) pomiarów, by z prawdopodobieństwem bliskim pewnościzrekonstrować ten sygnał dokładnie. Dokładniejsze oszacowanie pokazują, żewymagana ilość pomiarów powinna spełniać ograniczenieM > C log(N)K, (4.7)gdzie C- liczba rzędu 1. Wracając do naszego przykłądu - podejście próbkowaniaoszczędnego zapewnia, że gdy efektywna rzadkość danych jest równaK


ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 69= 6500 to wystarczy M ≈ 6500 log(512 2 ) ≈ 25000 pomiarów (co stanowi około10% naturalnego rozmiaru sygnału). Oczywiście - tego efektu by nie było, gdybysygnał ze swojej natury nie był rzadki - rzadkość sygnału jest warunkiem koniecznymby mówić o oszczędnym próbkowaniu. Wydaje się, że większość (lubprzynajmniej znaczna część ważnych dla nas sygnałów jak obrazy naturalne,dźwięk, wykazuje rzadkość. Jakie dodatkowe (poza rzadkością) wymagania musząbyć spełnione, by redukcja ilości pomiarów była możliwa?Tutaj trzeba powiedzieć, co będziemy rozumieć przez pomiar. Pomiar polegazawsze na porównaniu wielkości mierzonej ze wzorcem. Tak więc określamywzorce sygnałów (bazę {Ψ i }w przestrzeni sygnałów); za pomiar i-tej wielkościbędziemy uważali iloczyn skalarny sygnału z i-tym wzorcem:lub w zapisie macierzowym:y i = ψ i · x,y i = ψ T i x,gdzie x wektor reprezentujący sygnał, ψ i - ity wzorzec (wektor bazy). Kiedywykonujemy M takich pomiarów, to możemy zestawić je w wektor pomiaru y.Cały proces pomiaru odpowiada równaniu liniowemu:y = Ax, (4.8)gdzie y - znany (uzyskany jako wynik pomiarów) wektor pomiaru o rozmiarzeM × 1, A - znana (zależna od wybory sygnałów wzorcowych) macierzpomiarów o wymiarze M × N, x - nieznany (poszukiwany) wektor sygnału owymiarze N × 1. Interesujące dla nas są przypadki silnego podpróbkowania(M ≪ N). Teraz pytanie o możliwość jednoznacznej rekonstrukcji sygnału zpomiarów sprowadza się do odpowiedzi na pytanie o możliwość jednoznacznegorozwiązania równania (4.8). Na pierwszy rzut oka to wydaje się niemożliwe -mamy układ M równań z N niewiadomymi (M ≪ N) - czyli układ jest silnieniedookreślony. Tak jest w przypadku ogólnym, gdy nic nie wiemy o sygnale -wtedy ilość równań musi być co najmniej równa ilości niewiadomych. Ale gdysygnał jest K-rzadki, to tak naprawdę ilość danych określających rozwiązaniebędzie mniejsza. To sprawia, że gdy ilość pomiarów M spełnia warunek (4.7),to może być to wystarczająca ilość warunków do tego, by rozwiązać układ (4.8).Warunkiem na to jest właściwy wybór macierzy pomiaru (co się przekłada nawybór sygnałów wzorcowych, czyli bazy używanej do dokonywania pomiarów).Zobaczmy to na prostym przykładzie rozważmy sygnał, którego naturalny rozmiarwynosi 100. Załóżmy, że wiemy, że sygnał ten jest rzadki z K = 2, bo


ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 70wiemy, że w pewnej bazie {ψ i, , i = 1, . . . 100}, ma on tylko 2 niezerowe składoweodpowiadające pierwszemu i piątemu wzorcowi, np. .x = 2ψ 1 + 3ψ 5Teraz, by określić pomiar musimy wybrać wzorce sygnałów pomiarowychφ i , i = 1...100. Oczywiście, możemy i tutaj jako wzorce wybrać wektory bazy,w których nasz sygnał jest rzadki. Jeżli wykonamy pełnego pomiaru, to sygnałodzyskamy, bo widzimy, że dokonując pomiaru w bazie {ψ} dla sygnału ogólnej100 ∑postaci: a k ψ k mierząc dla dowolnego i mamy:k=1y i = ψi T x = 100 ∑ψ i a k ψ k = a i ; lub macierzowo y = I x.k=1Tak więc przy takim wyborze baz macierz pomiaru, to macierz jednostkowa.Jakie to ma kosekwencje ? Najważniejsza z nich, to ta, że nie będziemy mogliw tym wypadku dokonać redukcji ilości pomiarów. Powodem tego jest to, zeta macierz wiąże wynik pojedyńczego pomiaru y i tylko z jedną współrzędną sygnałua i . Gdybyśmy w naszej zredukowanej macierzy pomiarów nie uwzględniliskładowych pierwszej i piątej bazy, to w wektorze pomiarowym y nie będzieżadnej zależności od składowych a 1 ,a 5 , a więc nie będzie można takiego sygnałuzrekonstrować. Powodem tego jest korelacja między bazą {ψ i } w którejmamy rzadki sygnał (baza w której sygnał rejestrujemy) a bazą {φ k }używanądo pomiarów tutaj te bazy są po prostu identyczne. Dyskusja powyżej mówi,że:1. By móc zredukować ilości pomiarów powinniśmy do rejestracji i reprezenacjisygnałów używać różnych baz,2. Bazy te powinny mieć jak najmniejszą korealcję; sygnały bazy {ψ} powinnymieć w bazie {φ} możliwie „gęstą” reprezentację. To będzie znaczyło,że pomiar pojedyńczej składowej jest powiązany z wartościami dużejilości składowych rozwinięcia syganału w bazie {φ}.Wielkością która w sposób ilościowy mierzy taką korelację jest tzw. koherencjabaz. Gdy mamy dwie takie ortonormalne bazy {Ψ j }, {φ k } w N-wymiarowejprzestrzeni sygnałów, to ich koherencją nazywamy:µ(ψ, ψ) = √ Nmax |φ j · ψ k |. (4.9)1≤j,k≤NTak więc µ(ψ, φ) określa maksymalną korelację pomiędzy dowolnymi elementamiobu tych baz. Można dość łatwo pokazać, że µ(ψ, φ) ∈ [1, √ N]. Jest to


ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 71ważna wielkość, bo określa ona niezbędną ilość pomiarów potrzebnych do wiernejrekonstrukcji sygnałów z niepełnej ilości pomiarów - jedno z podstawowychtwierdzeń Compressed Sensing mówi, że gdy mamy sygnał, który jest S-rzadkiw bazie {ψ} i dokonamy na nim m losowych (czyli takich, w których losujemynumery kolejnych sygnałów wzorcowych z bazy {φ} z rozkładu jednorodnego)pomiarów, to o ile jest spełniony warunekm ≥ C µ 2 (ψ, φ) S log(N), (4.10)gdzie C to pewna dodatnia wielkość, to rekonstrukcja w oparciu o te pomiaryjest dokładna z prawdopodobieństwem bardzo bliskim jedynki. Własności bazprzenoszą się na własności macierzy pomiaru. Rekonstrukcja sygnału rzadkiegobędzie możliwa, co więcej będzie stabilna względem małych zaburzeń wprocesie pomiaru, gdy macierz pomiaru spełnia tzw. Restricted Isometry Property(RIP). Mówimy, ze macierz A spełnia RIP rzędu S, gdy dla wszystkichS-rzadkich sygnałów działanie tej macierzy jest w bliskie działaniu macierzy ortogonalnej.Oznacza to, dla każdej liczby człkowitej S=1, 2, , ... istnieją stałedodatnie δ S które zapewniają, że w działaniu na wektory S-rzadkie macierzpomiaru nie zmienia bardzo ich długości, tak że prawdziwa jest relacja:(1 − δ S )‖x‖ 2 l2 ≤ ‖Ax‖2 l2 ≤ (1 + δ S)‖x‖ 2 l2ze stałą δ S niezbyt bliską wartości 1.Klasyczny przykladem pary baz o minimalnej koherencji, która daje macierzpomiaru spełniającą warunek RIP jest następująca para baz:• φ to baza położeń (funkcje bazowe toφ k = δ(t − k)), ψ to baza Fourierowska,ψ n (t) = √ 1Nexp(2πint/N)Macierze o takich własnościach można próbować konstruować dla każdego przypadkuoddzielnie; jednak okazuje się, że najprostszy sposób ich uzyskania polegana wzięciu macierzy losowych. Możliwa konstrukcja takiej pary baz to:1. Za {Ψ} bierzemy dowolną ustaloną bazę2. Za {Φ}bierzemy bazę wylosowaną w następujący sposób:(a) losujemy N wektorów N-elementowych z rozkładem jednostkowymna sferze jednostkowej,(b) dokonujemy ortogonalizacji tych wektorów metodą Gramma-Schmidta.


ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 72Określenie schematu Compressed Sensing polega na zaprojektowaniu dwóch elementów:• stabilnej macierzy pomiaru• algorytmu rekonstrukcjiPierwszy element mamy załatwiony - wiemy, że zawsze możemy w charakterzemacierzy pomiaru wziąć odpowiednią macierz losową. Pozostaje jeszcze kwestiaschematu rekonstrukcji. Tutaj punktem startu może być równanie (4.8), naktóre możemy patrzeć jak na sformułowanie problemu matematycznego, którymamy rozwiązać żeby uzyskać rekonstrukcję. Wiemy, że dla sytuacji nas interesujących,problem jest niedookreślony i nie ma jednoznacznego rozwiązania.By to było możliwe, musimy do tego równania dołączyć dodatkowy warunek,który z wielu możliwych rozwiązań wybierze to właściwe. Takim warunkiemjest wymaganie, by rozwiązanie było rzadkie. Należy więc postawić problemnastępująco:Spośród wszystkich rozwiązań równania (4.8) jako rozwiązanie weź to, którejest najbardziej rzadkie - ma najwięcej składowych zerowych.Często odwzorowanie, które wektorowi x przyporządkowuje ilość jego niezerowychskładowych nazywamy normą zerową tego wektora ‖x‖ o mimo, że niespełnia ono wszystkich aksjomatów wymaganych dla normy. W takim języku,problem rekonstrukcji sygnału z niekompletnych próbek sprowadza się do następującegoproblemu optymalizacyjnego: Mając daną macierz pomiarów A orazwektor pomiarów y szukamy rozwiązania x, które jest określone jako:x = arg min ‖x ′ ‖ 0 takich, że Ax ′ = y.Niestety, taki algortm ma dwie poważne wady - jest niestabilny, a co gorsza -praktycznie niewykonalny dla dużych rozmiarów danych - wymaga on rozwiązanieproblemu kombinatorycznego - wypisania wszystkich możliwych typówrozkładów niezerowych składowych wewnątrz rozwiązania. Taki problem jestproblemem NP -zupełnym, a więc nie istnieje algorytm pozwalający znaleźćrozwiązanie w „rozsądnym czasie”.Przełomem w problemie rekonstrukcji było wykazanie, że algorytm analogicznydo (4.3), ale z normą pierwszą (określenie normy l1 , czyli normy pierwszej- patrz rozdział 2.2.3), a więc określony jako:x = arg min ‖x ′ ‖ 1 takich, że Ax = y. (4.11)potrafi rekonstruować sygnały rzadkie z niepełnych próbek przy wymaganiachna temat rzadkości, ilości pomiarów i niekoherencji. Co więcej, matematyczny


ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 73problem optymalizacyjny, jaki on sobą reprezentuje jest to tzw. wypukły problemoptymalizacyjny, o którym wiadomo, że jest możliwa jego redukcja doproblemu programowania liniowego znanego jako „basis pursuit” (algorytm pogoniza bazą). Algorytm ten ma złożoność obliczeniową rzędu O(N 3 ). Oprócztego algorytmu optymalizacyjnego, znane są inne algorytmy, zazwyczaj o algorytmachtypu zachłannego, które są znacznie szybsze od „basis pursuit”, alekosztem gorszej jakości rekonstrukcji.Compressed Sensing to nie tylko teoria; istnieją już nawet urządzenia działającew oparciu o tą zasadę. Poniżej przedstawię budowę i działanie 1-pikselowejkamery zbudowanej na Uniwesytecie Rice w Stanach Zjednoczonych [12].Schemat działania kamery przedstawia rys.(4.3). Zogniskowany przez wejściowąsoczewkę obraz jest rzucany na układ Digital Mirror Device (DMD) -macierz mikroskopowych lusterek, z których każde może być niezależnie ustawiane.W zależności od sterowania układem DMD każde z tych lusterek możeodbijać padające na nie światło lub też nie. Odbite od wszystkich luster DMDświatło pada na soczewkę obrazową i zostaje zogniskowane na pojedyńczej fotodiodzie.Pojedyńczy pomiar jest dokonywany następująco:• generator liczb losowych generuje losowy ciąg bitów, który podany naDMD steruje położeniami poszczególnych lusterek tak, by odbijały onepadające na nie światło w kierunku fotodiody (gdy sterowanie było 1) lubusuwały to światło z pola widzenia soczewki obrazowej tak, by nie dawałoono wkładu do mierzonej wielkości;• tak więc kolejne ciągi losowych bitów odpowiadają sygnałom wzorcowymφ j które określają wiersze macierzy pomiaru. Mierzonym sygnałem jestnapięcie na fotodiodzie, które jest iloczynem skalarnym obrazu x (swiatłopadające) i właściwego wektora wzorcowego φ j ;• światło pochodzące od sumy wszytkich punktów DMD jest zbierane przezsoczewkę obrazu, i rejestrowane przez fotodiodę;• tak powstały sygnał podlega digitalizacji; powstały w ten sposób strumieńbitowy może być zapisane, transmitowane. Odworzenie zapisanego w tensposób sygnału wymaga przeprowadzenia rekonstrukcji sygnału.Ten proces pomiaru jest powtarzany M-krotnie, by określić wektor pomiaru y.Wyniki uzyskane przy pomocy tego rodzaju urządzenia pokazuje rys.(4.4).Nie jest on może idealnej jakości, ale pokazuje, że rzeczywiście można zbudować


ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 74Rysunek 4.3: Kamera jednopikselowa - zasada działaniaurządzenie działające w oparciu o zasady oszczędnego próbkowania i pozwalającyna rekonstrukcję obrazu w sposób, który jednoznacznie identyfikuje jegozawartość na podstawie tylko około 2% całkowitej liczby pomiarów wykonanychw podejsciu standardowymOstatnie dwa rysunki zostały zaczerpnięte z [12] .


ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 75Rysunek 4.4: Pierwszy obraz „sfotografowany” kamerą jednopikselowa


Rozdział 5Dyskretna TransformataFourieraPodobnie jak dla sygnałów ciągłych, jedną z najważnieszych operacji wykonywanychna sygnale dyskretnym jest analiza częstotliwościowa. Najwygodniejszymnarzędziem, które może być wykorzystane w tym celu dla sygnałów dyskretnychjest Dyskretna Transformata Fouriera (DFT). Pełni ona specjalną rolę wświecie sygnałów dyskretnych - analogiczną do tej, która przypada całkowemuprzekształceniu Fouriera w dzedzinie ciągłej. W niniejszym rozdziale przedstawimydefinicje i podstawowe własności DFT.5.1 DefinicjaW dzisiejszych czasach podstawowym typem synału jest sygnał cyfrowy. Sygnałten, jako wielkość, która jest przechowywana w pamięci i na dysku komputera,musi być skończony. Najczęściej reprezentuje on skończony odcinekczasu T przebiegu sygnału i jest opisany przez skończoną ilość N wartości sygnału.Wartości te to próbki sygnału x(n) mierzone w ustalonych chwilacht n = nT s , n = 0, 1,. . . , N − 1. Zwykle zakłada się, że poza odcinkiem [0,T]wartości próbek są równe 0. Mając te dane, możemy obliczyć współczynnikirozwinęcia X(k) dyskretnej funkcji x(n) w szereg Fouriera zespolonych funkcjiharmonicznych. Jeżeli chcemy, by tę operację możny było odwrócić (tak,by na podstawie znajomości współczynników X(k) wyznaczyć wejściowy ciągpróbek x(n)), to ilość współczynników X(k) które wyznaczamy powinna być76


ROZDZIAŁ 5. DYSKRETNA TRANSFORMATA FOURIERA 77równa ilości próbek. Współczynniki te powinny próbkować widmo sygnału wczęstotliwości, podobnie jak wartości próbek x(n) próbkują sygnał w dziedzinieczasu - kolejne punkty widma powinny być równoodległe w częstotliwości.Tak więc chcemy uzyskać relację pomiędzy wartościami funkcji x(n) - próbekw czasie i X(k) - próbek w spektrum w częstotliwości.Relację taką określa następująca para równań:X(k) =x(n) = 1 NN−1∑n=0N−1∑k=0(x(n) exp − 2π )N jkn , (5.1)( ) 2πX(k) expN jkn . (5.2)Pierwsze z tych równań to definicja tzw. dyskretnej transformaty Fouriera(DFT) nazywanej inaczej dyskretnym przekształceniem Fouriera (DPF), drugie- to operacja odwrotna.Podobnie jak dla ciągłej transformaty Fouriera (patrz rozdział 3.2) to, żeciąg X(k) jest dyskretną transformatą Foriera ciągu próbek x(n) będziemy zapisywać:x(n) ←→ X(k).Dysktretna Transformata Fouriera ma również szereg własności, które - podobniedo przypadku transformaty ciągłej - ułatwiają jej obliczenie i pozwalająna wnioskowanie bez wykonania obliczeń. Najważniejsze z nich to:1. Liniowość: ax(n) + by(n) ←→ aX(k) + bY (k).Uzasadnienie: jest to natychmiastowa konsekwencja liniowości sumy.2. Okresowość: gdy traktujemy definicję (5.1) jako formalną definicję, totak określona funkcja jest periodyczna z okresem N. Powód: relacjaexp(−2πjk) = 1 (dla całkowitych k), czego wynika:F(k + N) ===N−1∑n=0N−1∑n=0N−1∑n=0( )2πx(n) expN jn(k + N) =( )2πx(n) expN jnk + 2πjn =( ) 2πx(n) expN jnk = F(k)


ROZDZIAŁ 5. DYSKRETNA TRANSFORMATA FOURIERA 783. Symetria: gdy ciąg wejściowy x(n) jest rzeczywisty, to X( N 2 + k) =X ∗ ( N 2 − k)(a) oznacza to, ze liczba niezależnych składowych określających DFTsygnału rzeczywistego jest o połowę mniejsza niż dla sygnału zespolonego(b) użyteczna informacja zawarta jest w pierwszych N/2 + 1 prążkach onumerach k = 0, ..., N/2 + 1 i częstościach f k = kf 0 , gdzie f 0 = 1 T =1NT s(c) N/2-ty prążek widma leży na osi symetrii: część rzeczywista jestwzględem niego symetryczna, część urojona - antysymetryczna(d) wystarczy rozważać tylko N/2 + 1 prążków; widmo określone przezN liczb rzeczywistych:4. Własność splotu: z(k) = x(k) ⊗ y(k) ←→ Z(n) = X(n)Y (n)(a) Splotowi sygnałów dyskretnych w czasie odpowiada iloczyn ich widmDFT. Przez splot sygnałów dyskretnych rozumiem wielkość zadanaformułą:z(k) =N−1∑n=0x(n)y(k − n),gdzie próbki z indeksmi formalnie poza zakresem zmiennosci zastępowanesą próbkami o indeksach przesuniętych o wielokrotność N, o indeksach0, 1, 2, ..., N − 1. Tak więc w czasie analizy DFT zakładamy okresowośćsygnałów. Taki splot nazywamy splotem cyklicznym.5. Własność iloczynu: iloczynowi dwóch sygnałów sygnałów okresowych odpowiadacykliczny splot ich widm.6. Przesunięcie w czasie:7. Parametry DFT:(a) Dziedzina czasu:x(n − n 0 ) ←→ exp(−j( 2π )N k)n 0 X(k)


ROZDZIAŁ 5. DYSKRETNA TRANSFORMATA FOURIERA 79i. czas próbkowania: T sii. rozmiar sygnału: N punktówiii. długość sygnału: (N − 1)T siv. okres: T = NT s(b) Dziedzina częstotliwości:i. minimalny odstęp w częstotliwości: f s=1T = 1NT sii. rozmiar spektrum: N składowychiii. częstotliwość dla której mamy maksimum: N 2 f siv. okres w częstotliwości: F p = Nf s = 1 T s


Rozdział 6Filtry analogoweZanim przejdziemy do omawiania filtrów cyfrowych warto zapoznać się z układamianalogowymi. Temat ten jest istotny z co najmniej dwóch ważnych powodów.Po pierwsze, podczas akwizycji bardzo często mamy do czynienia z sygnałamianalogowymi, które są następnie poddawane próbkowaniu i przetwarzanena postać cyfrową. Przed procesem próbkowania sygnał musi mieć ograniczonewidmo częstotliwości, aby miało zastosowanie twierdzenie o próbkowaniu. Zreguły to pasmo ogranicza filtr analogowy, który ma zadanie usunąć z sygnałuskładowe częstotliwościowe będące poza obszarem zainteresowania, zabezpieczająctym samym przed wystąpieniem zjawiska aliasingu. Po drugie istniejąmetody projektowania filtrów cyfrowych będących aproksymacją analogowychprototypów. W ten sposób znacznie rozszerza się spektrum możliwych do zaprojektowaniafiltrów cyfrowych.W tym rozdziale zajmiemy się jedynie układami liniowymi, niezmiennymi wczasie (ang. LTI - linear time-invariant system)6.1 Transformata Laplace’aTransformata Laplace’a jest wygodnym narzędziem do rozwiązywania równańróżniczkowych, które występują w tym rozdziale. Zastosowanie transformatyLaplace’a sprowadza problem rozwiązania równania różniczkowego do problemurozwiązania pewnego liniowego równania algebraicznego. Transformata Laplace’ajest operatorem przekształcającym sygnał x(t) na pewną funkcję ze-80


ROZDZIAŁ 6. FILTRY ANALOGOWE 81spoloną X(s) zgodnie ze wzorem:L[x(t)] = X(s) =ˆ ∞−∞x(t)e −st dt.W naszych rozważaniach zmienna t jest zmienną czasową, sygnał x(t) jest przyczynowy,to znaczy x(t) = 0 dla t < 0. Dla takich sygnałów określa się jednostronnątransformatę Laplace’a:L[x(t)] = X(s) =ˆ ∞0x(t)e −st dt. (6.1)Argument s jest argumentem zespolonym w postaci s = σ + jω, w którym ωoznacza pulsację.Między transformatą Laplace’a i Fouriera istnieje ścisły związek. Dla s = jωotrzymujemy jednostronną transformatę Fouriera:X(jω) =ˆ ∞0x(t)e −jωt dt. (6.2)Jednostronne przekształcenie Laplace’a posiada wszystkie podstawowe właściwościjednostronnego przekształcenia Fouriera.Przykład.Obliczyć transformatę Laplace’a funkcji:⎧⎪⎨ 0, t < 0x(t) = 1/2, t = 0⎪⎩e −t , t > 0Rozwiązanie:∞L[x(t)] =´ 0e −t e −st dt = − e−(1+s)t1+s∣ ∞ = 11+s − lim t→∞ e−(1+s)t1+st=0lim t→∞e −(1+s)t1+s= 0 dla Re(s) > −1Jeśli część rzeczywista zmiennej s jest większa od -1 transformata Laplace’aistnieje i wynosi: L[x(t)] = 11+s .Zadanie.Oblicz transformatę Laplace’a funkcji skoku jednostkowego:⎧⎪⎨ 0, t < 0x(t) = 1/2, t = 0⎪⎩1, t > 0


ROZDZIAŁ 6. FILTRY ANALOGOWE 82Przy danej transformacie powracamy do funkcji czasu stosując zależnośćx(t) = L −1 X(s) = 12πjˆ c+j∞c−j∞X(s)e st ds, (6.3)gdzie c jest liczbą rzeczywistą nieujemną, a całkowanie przebiega wzdłuż prostejrównoległej do osi urojonej. Obliczenie tej całki często jest trudne, dlategokorzysta się z tablic transformat oraz własności i twierdzeń przekształcenia Laplace’a,głównie twierdzenia o rozkładzie transformaty na ułamki proste. Wtabeli 6.1 przedstawiono transformaty Laplace’a dla kilkunastu przykładowychfunkcji.Tablica 6.1: Wybrane sygnały i ich transformaty Laplace’ax(t) X(s) x(t) X(s)δ(t) 11(t)1st · 1(t)1s 2t n , n > 0n!s n+1e −at 1s+ate −at 1(s+a) 2t n−1 e −at(n−1)!1 − e − t T1b−a (e−at − e −bt ),a ≠ b− 1b−a (ae−at − be −bt ),a ≠ bsin(ωt)cos(ωt)e −at sin(ωt)e−at cos(ωt)1(s+a)(s+b)s(s+a)(s+b)ωs 2 +ω 2ss 2 +ω 2ω(s+a) 2 +ω 2s+a(s+a) 2 +ω 21(s+a) t sin(ωt) 2ωsn (s 2 +ω 2 ) 21s(sT +1) t cos(ωt)s 2 −ω 2(s 2 +ω 2 ) 2Szczególnym przypadkiem sygnału jest opisywana w rozdziale 1.5 dystrybucjadelta Diraca δ(t) - sygnał nieskończenie krótki, o nieskończonej amplitudziei polu pod wykresem równym 1.Przekształcenie Laplace’a jest jednoznaczne, czyli nie ma dwóch istotnieróżnych sygnałów, których obrazem w przekształceniu Laplace’a jest ta samafunkcja.


ROZDZIAŁ 6. FILTRY ANALOGOWE 836.2 Opis liniowych układów analogowychZ liniowym układem analogowym mamy do czynienia, gdy spełnia on zasadęsuperpozycji, czyli wypadkowa odpowiedź układu liniowego na sumę wymuszeńrówna jest sumie odpowiedzi na poszczególne wymuszenia:x 1 (t) → y 1 (t) i x 2 (t) → y 2 (t) to ax 1 (t) + bx 2 (t) → ay 1 (t) + by 2 (t), (6.4)gdzie x(t) jest sygnałem wejściowym, y(t) sygnałem wyjściowym, a i b dowolnymistałymi.Układy, o których tu mowa, przetwarzają sygnały wejściowe x(t) na sygnaływyjściowe y(t) z wykorzystaniem swojej odpowiedzi impulsowej h(t):x(t) → y(t) =ˆ ∞−∞h(τ)x(t − τ)dτ, (6.5)czyli sygnał wyjściowy jest równy splotowi sygnału wejściowego i funkcji odpowiedziimpulsowej, co zapisujemy jako:y(t) = h(t) ⊗ x(t). (6.6)Odpowiedzią impulsową h(t) układu nazywamy jego odpowiedź na impuls Diraca,czyli sygnał δ(t):δ(t) → y(t) =ˆ ∞−∞h(τ)δ(t − τ)dτ = h(t). (6.7)Z właściwości przekształcenia Fouriera dotyczącej splotu sygnałów (rozdział 3.4)dowiedzieliśmy się, że splotowi dwóch sygnałów w dziedzinie czasu odpowiadailoczyn ich transformat Fouriera w dziedzinie częstotliwości, czyli widm. Wprzypadku naszego układu przetwarzającego sygnał możemy więc zapisać:y(t) =ˆ ∞−∞h(τ)x(t − τ)dτ ⇐⇒ Y (jω) = X(jω)H(jω). (6.8)Z tego wzoru już łatwo zauważyć, że za pomocą H(jω) można dokonać modyfikacjiwidma sygnału X(jω), czyli filtracji sygnału wejściowego. Dla tychpulsacji, które chcemy wytłumić wartość H(jω) powinna być równa 0. Dokonującodwrotnej transformaty Fouriera otrzymamy odpowiedź impulsową h(t),która jest potrzebna w procesie filtracji.


ROZDZIAŁ 6. FILTRY ANALOGOWE 84Każdy układ liniowy, w tym filtry, możemy opisać równaniem różniczkowym:N∑n=0a nd n y(t)dt n =M∑m=0b md m x(t)dt m . (6.9)Korzystając z właściwości pochodnej transformacji Fouriera zastosowanej doobu stron powyższego równania otrzymujemy:N∑a n (jω) n Y (jω) =n=0M∑b m (jω) m X(jω), (6.10)m=0skąd można wyliczyć transmitancję widmową:H(jω) = Y (jω)X(jω) = b M(jω) M + b M−1 (jω) M−1 + · · · b 1 (jω) 1 + b 0a N (jω) N + a N−1 (jω) N−1 + · · · a 1 (jω) 1 + a 0∑ Mm=0=b m(jω) m∑ Nn=0 a n(jω) . (6.11)nW liczniku i mianowniku powyższego równania widzimy wielomiany zmiennejzespolonej (jω) o współczynnikach a n i b m . Wielomiany można zapisać w postaciiloczynowej:H(jω) = Y (jω)X(jω) = b M(jω − z 1 )(jω − z 2 ) · · · (jω − z M )a N (jω − p 1 )(jω − p 2 ) · · · (jω − p N )= b ∏ MM m=1 (jω − z m)∏ Na N n=1 (jω − p n) , (6.12)gdzie z 1 . . . z m to (zespolone) miejsca zerowe - zera transmitancji, a 1 . . . a n to(zespolone) bieguny - bieguny transmitancji.6.3 Transmitancja Laplace’aDzięki rachunkowi operatorowemu obliczenie odpowiedzi układu na zadany sygnałwejściowy jest znacznie prostsze niż obliczenia w dziedzinie czasu. Oczywiścienie zawsze znalezienie odpowiedniej transformaty musi być proste, jednakkorzystanie z tabeli 6.1 umożliwia odpowiednie dopasowanie funkcji do już wcześniejwyznaczonych transformat.


ROZDZIAŁ 6. FILTRY ANALOGOWE 85Układy liniowe, niezmienne w czasie, często opisuje się z wykorzystaniempojęcia transmitancji. Dokonując transformaty Laplace’a równania 6.9 (korzystamyz właściwości pochodnej transformaty Laplace’a), z założeniem przyczynowościsygnałów x(t) i y(t) i zerowymi warunkami początkowymi, otrzymujemywzór na transmitancję Laplace’a układu H(s):H(s) = Y (s)X(s) = b ∏ MM m=1 (s − z m)∏ Na N n=1 (s − p n) . (6.13)Zmienna s = σ + jω jest zmienną zespoloną, jednak w celu uzyskania interpretacjiczęstotliwościowej H(s) należy przyjąć część rzeczywistą σ = 0. W tensposób transmitancja H(s) sprowadza się do transformaty Fouriera H(jω).W pasywnych filtrach analogowych wykorzystuje się trzy podstawowe elementy:rezystory (R), cewki (L), i kondensatory (C). Przypomnijmy sobie informacjez elektrotechniki lub podstaw elektroniki i wypiszmy prawa Ohma dlatych elementów dotyczące wartości chwilowych, wartości skutecznych zespolonychi w postaci transformaty Laplace’a.Tablica 6.2: Prawo Ohma wartości chwilowych, wartości skutecznych zespolonychi w postaci transformaty Laplace’a dla liniowych elementów biernych.Elementwartości chwilowePrawo Ohmawartościskutecznezespolonetransformata Laplace’aR u R = Ri U R = RI U R (s) = RI(s)L u L = L didtU L = jωLI U L (s) = sLI(s) − Li(0)C ´ u c = U c = 11 tC 0 idt + u jωC I U C(s) = 1 Uc(0)sCI(s) −sc(0)Pokażmy teraz, w jaki sposób można obliczyć transmitancję laplasowską iodpowiedź impulsową prostego układu filtru dolnoprzepustowego RC przedstawionegona rysunku 6.1.Transmitancja wiąże wartość wyjściową napięcia z wejściową w następującysposób:Y (s) = H(s)Y (s) (6.14)więcH(s) = Y (s)X(s)(6.15)


ROZDZIAŁ 6. FILTRY ANALOGOWE 86Rysunek 6.1: Filtr RCZgodnie z drugim prawem Kirchhoffa w zaznaczonym oczku suma napięć chwilowychna elementach musi być równa sumie napięć chwilowych źródeł energii,napięcie na kondensatorze U C jest bezpośrednio napięciem wyjściowym Y (s):X(s) = U R (s) + Y (s).Po zastosowaniu prawa Ohma (tablica 6.2) i założeniu, że w chwili początkowejkondensator nie był naładowany (U C (0) = 0) otrzymujemy:X(s) = RI(s) + 1 (sC I(s) = R + 1 )I(s).sCWyliczamy I(s):X(s)I(s) =R + 1 .sCZ prawa Ohma napięcie na kondensatorze, a jednocześnie wyjściowe jest równe:Y (s) = 1sC I(s).Po podstawieniu wyliczonego wcześniej I(s):H(s) = Y (s)X(s)Y (s) = 1sC ·=X(s)R + 1sC/ : X(s),1sC(R + 1sC ) = 1sRC + 1 .Jest to transmitancja zespolona układu przedstawionego na rysunku 6.1.Jeśli wymuszeniem będzie skok jednostkowy 1(t) wówczas odpowiedź układuobliczymy w następujący sposób:X(s) = L[1(t)] = 1 s ,Y (s) = H(s)X(s) =1s(sRC + 1) .


ROZDZIAŁ 6. FILTRY ANALOGOWE 87Korzystając z tablicy transformat 6.1 znajdujemy oryginał funkcji Y(s), któryjest odpowiedzią układu w dziedzinie czasu:y(t) = L −1 [Y (s)] = 1 − e − tRC .Jeśli sygnałem wejściowym tego filtru będzie impuls Diraca δ(t), wówczas:X(s) = L[δ(t)] = 1Y (s) = H(s) · 1Y (s) =1sRC + 1 = 1RC ·1s + 1RCy(t) = L −1 [Y (s)] = 1RC · e− tRC .Ponieważ pobudzeniem jest impuls Diraca, z zależności 6.7 wynika, że otrzymaliśmyjednocześnie odpowiedź impulsową filtru:Zadanie.h(t) = 1RC · e− tRC .Wyznaczyć odpowiedź układu górnoprzepustowego filtru RC na skok jednostkowyi impuls Diraca.Pojęcie transmitancji upraszcza rozwiązywanie układów złożonych. Rozpatrzmypołączenie równoległe dwóch układów o transmitancjach h 1 (t) i h 2 (t),przedstawione na rysunku 6.2a. Sygnał x(t) jest podany jednocześnie na wej-Rysunek 6.2: Transmitancja wypadkowa połączenia równoległego (a) i szeregowego(b) układów.


ROZDZIAŁ 6. FILTRY ANALOGOWE 88ścia obu układów, natomiast sygnałem wyjściowym y(t) jest suma sygnałówprzefiltrowanych przez każdy układ.y(t) = y 1 (t) + y 2 (t) ==ˆ ∞−∞ˆ ∞−∞x(τ)h 1 (t − τ)dτ +x(τ)[h 1 (t − τ) + h 2 (t − τ)]dτ.Otrzymujemy zatem układ o transmitancji wypadkowej:h(t) = h 1 (t) + h 2 (t).ˆ ∞−∞x(τ)h 2 (t − τ)dτKorzystając z liniowości przekształcenia Laplace’a możemy więc napisać:H(s) = H 1 (s) + H 2 (s).Połączenie szeregowe dwóch układów przedstawiono na rysunku 6.2b. Sygnałwejściowy x(t) podany jest na wejście pierwszego układu, którego wyjściejest doprowadzone do wejścia drugiego. Wyjście drugiego układu stanowi wyjściey(t). Jeśli sygnałem wejściowym będzie impuls Diraca x(t) = δ(t), wówczasna wyjściu pierwszego układu otrzymamy sygnał będący splotem δ(t) i h(t):y 1 (t) =ˆ ∞−∞h 1 (τ)δ(t − τ)dτ = h 1 (t)Wyjście drugiego układu to splot sygnału y 1 (t) i h 2 (t), korzystając z powyższegorównaniay(t) =ˆ ∞−∞h 2 (τ)y 1 (t − τ)dτ =ˆ ∞−∞h 2 (τ)h 1 (t − τ)dτPonieważ splot w dziedzinie czasu to iloczyn w dziedzinie s, transmitancja wypadkowaukładu szeregowego połączenia jest równa:H(s) = H 1 (s)H 2 (s).6.4 Rodzaje i charakterystyka filtrówFiltry analogowe to najczęściej układy modyfikujące w odpowiedni sposób widmoczęstotliwościowe sygnałów. Projektowanie sprowadza się zwykle do ukształtowaniacharakterystyki amplitudowo-częstotliwościowej transmitancji filtru. Wzależności od pasma częstotliwości przepuszczanych przez filtr wyróżniamy:


ROZDZIAŁ 6. FILTRY ANALOGOWE 89Rysunek 6.3: Charakterystyki filtrów idealnych - dolnoprzepustowego (a), górnoprzepustowego(b), środkowoprzepustowego (c) i pasmowozaporowego (d)• filtry dolnoprzepustowe• filtru górnoprzepustowe• filtry pasmowoprzepustowe• filtry pasmowozaporoweNa rysunku 6.3 przedstawiono charakterystyki filtrów idealnych, a na rysunku6.4 oczekiwania projektowe (tzw. gabaryty) filtrów rzeczywistych. Charakterystykaamplitudowo-częstotliwościowa może przybierać różne kształty posiadającesprecyzowane założenia. W tablicy 6.3 zebrano najpopularniejsze rodzajefiltrów.W tablicy 6.3 zestawiono cechy podstawowych rodzajów filtrów analogowych,a przykładowe ich charakterystyki amplitudowe i fazowe w dziedzinieczęstotliwości na rysunku 6.5.


ROZDZIAŁ 6. FILTRY ANALOGOWE 90 Rysunek 6.4: Gabaryty filtrów rzeczywistych - dolnoprzepustowego (a), górnoprzepustowego(b), środkowoprzepustowego (c) i pasmowozaporowego (d)


ROZDZIAŁ 6. FILTRY ANALOGOWE 91Tablica 6.3: Zestawienie rodzajów filtrów.TypButterworthaCzebyszewa ICzebyszewa IIBesselaEliptyczny(Cauera)OpisNajbardziej płaska charakterystykaamplitudowo-częstotliwościowa w paśmieprzepustowym, słaba stromość zbocza wpaśmie przejściowym, charakterystyka fazowazbliżona do liniowej.Zafalowania charakterystykiamplitudowo-częstotliwościowej w paśmieprzepustowym, duża stromość zbocza wpaśmie przejściowym, nieliniowacharakterystyka fazowa.Zafalowania charakterystykiamplitudowo-częstotliwościowej występują wpaśmie zaporowym.Bez zafalowań charakterystykiamplitudowo-częstotliwościowej, szerokiepasmo przejściowe, najbardziej liniowacharakterystyka fazowa.Zafalowania charakterystykiamplitudowo-częstotliwościowej w paśmieprzepustowym i zaporowym, najbardziejstrome zbocze w paśmie przejściowym


ROZDZIAŁ 6. FILTRY ANALOGOWE 925500−5−5−10−10|H(Ω)|−15−20|H(Ω)|−15−20−25−25−30−30−35−35−4010 1 10 2 10 3f [Hz](a) Butterwortha−4010 1 10 2 10 3f [Hz](b) Czebyszewa I5500−5−5−10−10|H(Ω)|−15−20|H(Ω)|−15−20−25−25−30−30−35−35−4010 1 10 2 10 3f [Hz](c) Czebyszewa II−4010 1 10 2 10 3f [Hz](d) EliptycznyRysunek 6.5: Przykładowe charakterystyki amplitudowo-częstotliwościowe ifazowo-częstotliwościowe filtrów opisanych w tablicy 6.3.


ROZDZIAŁ 6. FILTRY ANALOGOWE 936.4.1 Filtr ButterworthaFiltr Butterwortha w stosunku do innych filtrów ma najbardziej płaski przebiegcharakterystyki amplitudowej w paśmie przepustowym, kosztem najszerszegopasma przejściowego i nieliniowej charakterystyki fazowej.Kwadrat charakterystyki amplitudowej dolnoprzepustowego filtru Butterwortharzędu N wyraża się wzorem:|H(jω)| 2 = H(jω) · H ∗ (jω) = H(jω) · H(−jω) =11 + ( ω ω 0) 2N (6.16)gdzie N oznacza rząd filtru, ω 0 jest pulsacją graniczną przy której wzmocnieniejest mniejsze o 3dB (dwukrotnie) w stosunku do wzmocnienia dla ω = 0.Ponieważ:mamy:|H(0)| 2 1= ( ) 2N= 1, i |H(jω 0 )| 2 =01 +ω 0w mierze decybelowej:10 · log|H(jω 0 )| 2|H(0)| 2 =121 = 1 2 ,( )|H(jω 0 )| 2 ( 1|H(0)| 2 = 10 · log ≈ −3dB.2)1( ) 2N= 11 +ω0 2 ,ω 0Dla dużych wartości częstotliwości jedynka w mianowniku (6.16) staje się pomijalniemałą wartością i można zauważyć, że:⎡ ⎤(10 · log |H(jω)| 2) ( )⎢ 1 ⎥ω≈ 10 · log ⎣() 2N ⎦ = −20 · N · logωω 0ω 0wzmocnienie maleje liniowo wraz z logarytmem częstotliwości sygnału, z nachyleniem-20dB/dekadę.Na rysunku 6.6 przedstawiona została rodzina charakterystyk amplitudowychoraz fazowych filtru Butterwortha dla kilku wybranych rzędów N. Zauważmy,że im większa wartość N tym charakterystyka jest bliższa idealnej.


ROZDZIAŁ 6. FILTRY ANALOGOWE 9450N= 1N= 3N=105N= 1N= 3N=10−50−10|H(jω)| [dB]−15−20ϕ(jω) [rd]−5−25−30−10−35−4010 1 10 2 10 3f [Hz]−1510 1 10 2 10 3f [Hz](a)(b)Rysunek 6.6: Kwadrat charakterystyki amplitudowo-częstotliwościowej (a) i fazowej(b) filtru Butterwortha rzędu N=1, N=3 i N=10 o częstotliwości granicznej100Hz.Znormalizowana względem pulsacji granicznej ω o = 1rd/s transmitancja dolnoprzepustowegofiltru Butterwortha wyznaczona przez położenie biegunów wyrażasię wzorem:∏ Nk=1H(s) =(−p k)∏ Nk=1 (s − p (6.17)k)w którym p k to znormalizowane bieguny transmitancji:p k = e j( π 2 + π2N +(k−1) π N ) k = 1, 2, . . . , N (6.18)Na płaszczyźnie Gaussa (płaszczyzna zespolona) wszystkie bieguny leżą po ujemnejstronie osi rzeczywistej, symetrycznie względem niej i układają się na okręgujednostkowym (o promieniu 1). Położenie biegunów na tej płaszczyźnie przedstawiarysunek 6.7. Widzimy, że dolnoprzepustowy filtr Butterwortha nie posiadazer transmitancji. Stała w liczniku transmitancji 6.17 zapewnia jednostkowewzmocnienie dla ω = 0; dla podanego wzoru znormalizowanego jest równajeden.Projektowanie filtrów ButterworthaParametrami filtru Butterwortha są: trzydecybelowa częstotliwość granicznaω 0 oraz rząd N. Jeśli wymagania projektowe zakładają określone wartości δ p ,ω p , δ s , ω s należy wówczas wyznaczyć parametry ω 0 i N.


ROZDZIAŁ 6. FILTRY ANALOGOWE 95Po̷lożenie zer i biegunówPo̷lożenie zer i biegunów110.80.80.60.60.40.40.20.2Im0Im0−0.2−0.2−0.4−0.4−0.6−0.6−0.8−0.8−1−1−1 −0.5 0 0.5 1Re(a) N parzyste.−1 −0.5 0 0.5 1Re(b) N nieparzyste.Rysunek 6.7: Położenie biegunów filtru Butterwortha.Korzystając z 6.16 zapiszmy transmitancję w sposób:H(jω) =1√1 + ( ω ω 0) 2N (6.19)Następnie szukamy parametrów filtru o najniższym rzędzie, który mieści sięw „tunelu” (rysunek 6.4). W granicznym przypadku charakterystyka zawierapunkty o współrzędnych (ω p , 1 − δ p ) i (ω s , δ s ), z czego możemy ułożyć układrównań: ⎧⎪⎨ 11 − δ p = √1+( ωpω ) 2N0(6.20)⎪1⎩ δ s = √1+(ωsω ) 2N 0Z powyższego wyznaczamy N i ω 0 (obliczenia można znaleźć w [1, 4]):⎡As⎤10 10 −1log ApN =10 10 −1( )2 · logωs⎢ ω p ⎥(6.21)ω 0 =ω s(10 As10 − 1) 12N(6.22)


ROZDZIAŁ 6. FILTRY ANALOGOWE 96 Rysunek 6.8: Gabaryty filtru określone przez A p i A s ; przykład dla filtru dolnoprzepustowego.Przez ⌈x⌉ oznaczono najmniejszą liczbę naturalną większą lub równą x, współczynnikiA p = −20 log(1 − δ p ), A s = −20 log(δ s ) określają wzmocnienie filtruw decybelach dla odpowiednich krawędzi projektowych (rys. 6.8). Biegunytransmitancji są rozłożone podobnie jak w 6.17, jedynie promień jest inny, wyznaczonyprzez nową częstotliwość graniczną ω 0 :p k = ω 0 e j( π 2 · π2N ·(k−1) π N ) k = 1, 2, . . . , N (6.23)6.4.2 Filtr Czebyszewa IFiltr Czebyszewa charakteryzuje się większą stromością charakterystyki amplitudowoczęstotliwościowejw paśmie przejściowym, posiada jednak zafalowania w paśmieprzepustowym.Kwadrat charakterystyki amplitudowej dolnoprzepustowego filtru Czebyszewawyraża się wzorem:|H(jω)| 2 = H(jω) · H ∗ 1(jω) = H(jω) · H(−jω) = ( ) (6.24)1 + ε 2 · TN2 ωω 0gdzie N jest rzędem filtru, ε określa wielkość zafalowań w paśmie przepustowym,ω 0 stanowi krawędź pasma przepuszczania, a T N jest wielomianem Czebyszewazdefiniowanym w następujący sposób:⎧∣( ) ω⎨cos[N · cos −1 ( ω ωT N =0)],ω ∣∣ω 0≤ 1∣ω 0 ⎩cosh[N · cosh −1 ( ω ω 0)], ∣ ω ∣∣ (6.25)ω 0> 1


ROZDZIAŁ 6. FILTRY ANALOGOWE 97Z tej definicji wynika, że dla argumentu ω/ω 0 mniejszego lub równego jeden (codo wartości bezwzględnej), wielomian przyjmuje wartości z przedziału −1 do1, a zatem kwadrat charakterystyki amplitudowo-częstotliwościowej oscyluje wgranicach 1/(1 + ε 2 ) dla częstotliwości −ω 0 do ω 0 . Dla pozostałych wartości ωwartość wielomianu gwałtownie rośnie do nieskończoności.Współczynniki wielomianu Czebyszewa można obliczyć ze wzoru rekurencyjnego:T 0 (ω) = 1T 1 (ω) = ωT n (ω) = 2 · ω · T n−1 (ω) − T n−2 (ω), n > 2Znormalizowana względem pulsacji granicznej ω o = 1rd/s transmitancja dolnoprzepustowegofiltru Czebyszewa wyznaczona przez położenie biegunów wyrażasię wzorem:∏ Nk=1H(s) = H (−p k)0 ∏ Nk=1 (s − p (6.26)k)Współczynnik H 0 przybiera jedną z dwóch wartości:H 0 ={1 N nieparzyste1 √1+ε 2N parzyste(6.27)Bieguny filtru Czebyszewa wylicza się znajdując pierwiastki mianownika z równania6.24. Rozwiązanie jest bardziej skomplikowane niż w przypadku filtruButterwortha. Tutaj przedstawimy końcowy wzór na bieguny (znormalizowane):p k = s ( ) (k 2k − 1 sinh−1 ( ))1= − sinω 0 2N π ε· sinh+N+j cos( 2k − 12N π )· cosh(sinh−1 ( 1εN)), k = 1, 2, . . . , N (6.28)Bieguny są rozłożone na elipsie w lewej półpłaszczyźnie zmiennej zespolonej p.Równanie tej elipsy wygląda następująco:Re 2 (p k )[sinh 2 sinh −1 ( 1 ε)N] +Im 2 (p k )[ ] = 1 (6.29)cosh 2 sinh −1 ( 1 ε)N


ROZDZIAŁ 6. FILTRY ANALOGOWE 98W [1] można znaleźć wyprowadzenie powyższych wzorów, natomiast w [4] autorprzedstawił w sposób graficzny powiązanie pomiędzy położeniem biegunówfiltrów Butterwortha i Czebyszewa.Podobnie jak dolnoprzepustowy filtr Butterwortha, dolnoprzepustowy filtrCzebyszewa nie posiada zer transmitancji. Poziom zafalowań jest wyznaczonyprzez parametr ε, przy czym we wzorach uwzględniono, że pulsacją graniczną ω 0jest pulsacja, dla której kwadrat charakterystyki amplitudowo-częstotliwościowejmaleje do wartości 1/(1 + ε 2 ).Projektowanie filtrów CzebyszewaJeśli w projekcie zadane są gabaryty filtru (δ p , ω p , δ s , ω s ), należy wyznaczyćparametry filtru: ω 0 , ε, N. Najczęściej przyjmuje się pulsację graniczną filtruω p = ω 0 , a zatem dla tej granicznej pulsacji na podstawie 6.24 otrzymamywartość wzmocnienia:√11 + ε 2 · T 2 N( ) = 1√ = 1 − δ p (6.30)ωp 1 + ε2ω pJeśli A p wyrazimy w decybelach otrzymujemy A p = −20 log(1 − δ p ). Po obliczeniu20 log(·) z obu stron równania i kilku przekształceniach dostajemy:√ε = 10 Ap10 − 1 (6.31)Wymagany rząd filtru możemy wyznaczyć na podstawie 6.24:1√ ( ) = 1√[1 + ε 2 · TN 2 ωsω p1 + ε{cosh( )]}= δ s (6.32)2 2 N · cosh −1 ω sω pDla wzmocnienia w paśmie zaporowym wyrażonego w decybelach A s = −20 log(δ s )i podstawieniu ε ze wzoru 6.31 znajdziemy:⎡N =⎢[√ ( ) (cosh −1 10 As10 − 1 / 10 Ap10 − 1( )cosh −1 ω sω p) ] ⎤⎥(6.33)


ROZDZIAŁ 6. FILTRY ANALOGOWE 996.4.3 Filtr Czebyszewa IIFiltr Czebyszewa II nie posiada oscylacji w paśmie przepustowym, tylko w paśmiezaporowym. Kwadrat charakterystyki amplitudowo-częstotliwościowej wyrażasię wzorem:|H(jω)| 2 1=1(6.34)1 +γ 2·T N( 2 ω 0ω )1γ = √(6.35)10 Ap10 −1Transmitancja dolnoprzepustowego filtru Czebyszewa II jest dana wzorem:H(s) = H 0∏ Nk=1 (s − 1z k)∏ Nk=1 (s − 1p k) , H 0 =N∏k=1z kp k(6.36)Zarówno rząd filtru N jak i położenie biegunów p k wyznacza się tak samo jakdla filtru Czebyszewa I, natomiast zera z zależności:( πz k = j · sin2 + 2k − 1 )(6.37)2N6.4.4 Filtr BesselaPodstawową właściwością filtru Bessela jest to, że wprowadza przesunięcie fazowezależne liniowo od częstotliwości, co skutkuje wnoszeniem stałego opóźnienia,niezależnego od częstotliwości. Dzięki temu jest on najlepszym filtremdo przenoszenia impulsów prostokątnych. Wadą jest natomiast szerokie pasmoprzejściowe.Ponieważ jest możliwość zaprojektowania cyfrowego filtru FIR z liniową fazą,posiadającego węższe pasmo przejściowe, filtru Bessela z reguły nie stosuje sięjako prototypu do konstrukcji cyfrowego odpowiednika.6.4.5 Filtr eliptycznyFiltr eliptyczny, zwany też filtrem Cauera, posiada równomierne zafalowania,zarówno w paśmie przepustowym, jak i zaporowym. Zawiera równą liczbę zeri biegunów, a kwadrat jego charakterystyki amplitudowo-częstotliwościowej opisanyjest wzorem:


ROZDZIAŁ 6. FILTRY ANALOGOWE 100|H(jω)| 2 =11 + ε 2 · U N(ωω 0) (6.38)gdzie U N (x) jest eliptyczną funkcją Jacobiego rzędu N. Zera leżą na osi urojonejprzestrzeni s. Błąd aproksymacji w filtrach eliptycznych jest równy, rozciągniętyna pasmo zaporowe jak i pasmo przepustowe. Dlatego filtry te są najbardziejefektywne z punktu widzenia osiągnięcia parametrów filtru przy najmniejszymmożliwym rzędzie. Równoważnie możemy powiedzieć, że dla danego rzędu filtrui dla danego zbioru specyfikacji, filtr eliptyczny ma najwęższe pasmo przejściowe.Rząd filtru potrzebny do potrzymania filtru spełniającego następujące wymagania:tłumienie w paśmie zaporowym δ s , zafalowania w paśmie przepustowymδ p i stosunek częstotliwości granicznej pasma przepustowego do częstotliwościpasma zaporowego δ p /δ s szacujący szerokość pasma przejściowego, dany jestwzorem:N =( )ωpKω sK(√ )1 − ε2δ 2K ( (√ )) ( ) 2εωpδ K 1 −ω sgdzie K jest całką eliptyczną pierwszego rodzaju, współczynnik δ odnosi siędo tłumienia w paśmie zaporowym δ s , a parametr ε do zafalowań w paśmieprzepustowym.6.5 Projektowanie filtrów w Matlabie6.5.1 Pierwsza charakterystykaamplitudowo-częstotliwościowaNa początek zaprezentujemy bardzo prosty skrypt Matlaba, którego zadaniemjest wykreślenie charakterystyki amplitudowej, fazowej i rozmieszczenia zer dolnoprzepustowegofiltru Butterwortha.%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−% Pierwsza charakter ystyka amplitudowo−c z ę s t o t l i w o ś c i o w a% dla f i l t r u Butterwortha%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−N = 4 ; % rząd f i l t r uW0 = 1 ; % p u l s a c j a granicznakp = 1 :N; % indeksy biegunów


ROZDZIAŁ 6. FILTRY ANALOGOWE 101p = W0 ∗ exp ( j ∗ ( pi /2 + pi /(2∗N) + ( kp−1)∗ pi /N ) ) ; % biegunyb = r e a l ( prod(−p ) ) ; % l i c z n i k t r a n s m i t a n c j ia = poly (p ) ;% mianownik t r a n s m i t a n c j if i g u r e (1)p l o t ( r e a l (p ) , imag (p ) , ’ xb ’ , ’ MarkerSize ’ , 1 0 ) ;g r i d ont i t l e ( ’ Położenie zer i biegunów ’ ) ;a x i s equal ;a x i s ([ −1.1 1.1 −1.1 1 . 1 ] ∗W0) ;p l o t c i r c l e (W0) ;x l a b e l ( ’ Re ’ ) ; y l a b e l ( ’ Im ’ )f i g u r e (2)w=W0∗ ( 0 . 1 : 0 . 0 1 : 1 0 ) ; % wektor c z ę s t o t l i w o ś c ih = f r e q s (b , a ,w) ; % charakter ystyka c z ę s t o t l i w o ś c i o w amag = abs (h ) ;% amplitudaphase = angle ( h ) ;% f azasubplot ( 2 , 1 , 1 ) , semilogx (w, 20∗ log10 (mag ) )t i t l e ( ’ Charakterystyka amplitudowa ’ ) ;x l a b e l ( ’ Pulsacja [ rad / s ] ’ ) ; y l a b e l ( ’ Amplituda [ dB ] ’ )g r i d onsubplot ( 2 , 1 , 2 ) , semilogx (w, unwrap ( phase ) )t i t l e ( ’ Charakterystyka fazowa ’ ) ;x l a b e l ( ’ Pulsacja [ rad / s ] ’ ) ; y l a b e l ( ’ Faza [ rad ] ’ )g r i d onFunkcja plot circle zawarta w pliku plotcircle.mf u n c t i o n p l o t c i r c l e ( r )c i r l c e v e c t o r =0:0.01:2∗ pi ;hold onp l o t ( r ∗ s i n ( c i r l c e v e c t o r ) , r ∗ cos ( c i r l c e v e c t o r ) , ’ : ’ ) ;c l e a r c i r l c e v e c t o rhold o f fW skrypcie tym zadaliśmy rząd filtru równy 4 i pulsację graniczną ω 0 =1[rad/s]. Bieguny są liczone zgodnie ze wzorem 6.18.Funkcja poly tworzy reprezentację wielomianu na podstawie podanych pierwiastków(tu - biegunów) w postaci wierszowego wektora współczynników uporządkowanychwedług malejących potęg zmiennej niezależnej.Funkcja freqs oblicza odpowiedź częstotliwościową filtru analogowego. Jej parametramisą w kolejności: wektor współczynników licznika transmitancji (b),wektor współczynników mianownika transmitancji (a) i wektor częstotliwości(w) określający zakres analizy. Odpowiedź jest wektorem liczb zespolonych,dlatego do narysowania charakterystyki amplitudowej bierzemy moduł wartości,a fazowej - kąt.


ROZDZIAŁ 6. FILTRY ANALOGOWE 1021Po̷lożenie zer i biegunów0Charakterystyka amplitudowaIm0.80.60.40.20−0.2Amplituda [dB]−50−10010 −1 10 0 10 1Pulsacja [rad/s]Charakterystyka fazowa0−0.4−0.6−0.8−1−1 −0.5 0 0.5 1Re(a) Położenie biegunów.Faza [rad]−2−4−6−810 −1 10 0 10 1Pulsacja [rad/s](b) Charakterystyka amplitudowa i fazowa.Rysunek 6.9: Dolnoprzepustowy filtr Butterwortha zasymulowany w Matlabie.W efekcie otrzymujemy wykresy jak na rysunku 6.9.Zwróćmy uwagę na charakterystykę amplitudową. Oś częstotliwości jest logarytmiczna,natomiast na osi amplitudy umieszczone jest wzmocnienie układuwyrażone w decybelach. Ponieważ ten przykładowy filtr nie wnosi żadnegowzmocnienia, a tylko tłumi sygnały o wyższych częstotliwościach, amplitudawyrażona w decybelach przyjmuje wartości mniejsze lub równe 0. Jest to inżynierskisposób przedstawiania charakterystyki, głównie amplitudowej. Takareprezentacja zapewnia nam dobrą rozdzielczość częstotliwościową dla niskichczęstotliwości i dużą dynamikę amplitudy umożliwiającą zaobserwowanie charakterystykitakże dla dużych tłumień. Dodatkowo łatwo można zauważyć, żedla tego filtru, rzędu czwartego, charakterystyka powyżej częstotliwości granicznejma nachylenie 4·20dB/dek. Zatem każde dziesięciokrotne zwiększenieczęstotliwości powoduje zmniejszenie amplitudy o 80dB.Pokażmy również, jak wygląda wykres charakterystyki amplitudowej w przypadkuliniowej osi częstotliwości i amplitudy wyrażonej stosunkiem amplitudywyjściowej do wejściowej filtru. W tym celu należy zmodyfikować odpowiednielinie skryptu na poniższe:w=W0∗ ( 0 : 0 . 0 1 : 4 ) ;subplot ( 2 , 1 , 1 ) , p l o t (w, mag)subplot ( 2 , 1 , 2 ) , p l o t (w, unwrap ( phase ) )Wynikowy wykres przedstawia rysunek 6.10. Taka reprezentacja charakterystykizapewne będzie mniej przydatna na przykład przy analizie filtrów w za-


ROZDZIAŁ 6. FILTRY ANALOGOWE 1031Charakterystyka amplitudowa0.8Amplituda0.60.40.200 0.5 1 1.5 2 2.5 3 3.5 4Pulsacja [rad/s]2Charakterystyka fazowa0Faza [rad]−2−4−60 0.5 1 1.5 2 2.5 3 3.5 4Pulsacja [rad/s]Rysunek 6.10: Dolnoprzepustowy filtr Butterwortha. Charakterystyka w skaliliniowej.kresie częstotliwości akustycznych, gdyż dźwięki o poziomie -30dB mogą byćjeszcze dobrze słyszalne przez ucho ludzkie, podczas gdy stosunek amplitudwynosi zaledwie 0,03.6.5.2 Funkcje Matlaba przydatne przy projektowaniu filtrówMatlab zawiera sporo funkcji przydatnych przy projektowaniu filtrów. Szczególnieprzydatne jest studiowanie każdej użytej funkcji w celu zapoznania się z jejmożliwościami. Często bowiem zarówno argumenty jak i wynik funkcji mogą byćw innym formacie, zawierać różną liczbę elementów wejściowych i wyjściowych.Pomoc dotyczącą danej funkcji lub zagadnienia uzyskujemy poprzez wpisanie woknie komend polecenia doc szukana_nazwa [Enter].Oto przykładowy skrypt z zastosowaniem funkcji buttord zwracającej rząd iczęstotliwość graniczną filtru, który spełni założone gabaryty filtru Butterwortha,a także butter wyznaczającej współczynniki wielomianu.%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−% Projektowanie f i l t r ó w w Matlabie


ROZDZIAŁ 6. FILTRY ANALOGOWE 104%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Ap = 3 ; % Apass [ dB ]As = 75; % Astop [ db ]Wp = 1 ; % Wpass [ rd/ s ]Ws = 10; % Wstop [ rd/ s ]% Wyznaczenie rzędu f i l t r u Butterwortha[N,W0] = buttord (Wp,Ws, Ap, As , ’ s ’ ) ;disp ( [ ’ Rząd = ’ num2str (N ) ] ) ;disp ( [ ’ Pulsacja graniczna = ’ num2str (W0) ’ rad /s ’ ] ) ;% Wyznaczenie t r a n s m i t a n c j i f i l t r u Butterwortha[ b , a ] = butter (N,W0, ’ s ’ ) ;p r i n t s y s (b , a , ’ s ’ )[ z , p , k]= tf 2zp (b , a ) ;f i g u r e (1)p l o t ( r e a l (p ) , imag (p ) , ’ xb ’ , ’ MarkerSize ’ , 1 0 ) ;g r i d ont i t l e ( ’ Położenie zer i biegunów ’ ) ;a x i s equal ;a x i s ([ −1.1 1.1 −1.1 1 . 1 ] ∗W0) ;p l o t c i r c l e (W0) ;x l a b e l ( ’ Re ’ ) ; y l a b e l ( ’ Im ’ )f i g u r e (2)w= ( 0 . 1 : 0 . 0 1 : 4 ) ;h = f r e q s (b , a ,w) ; % charakter ystyka c z ę s t o t l i w o ś c i o w amag = abs (h ) ;% amplitudaphase = angle ( h ) ;% f azasubplot ( 2 , 1 , 1 ) , semilogx (w, 20∗ log10 (mag ) )t i t l e ( ’ Charakterystyka amplitudowa ’ ) ;x l a b e l ( ’ Pulsacja [ rad / s ] ’ ) ; y l a b e l ( ’ Amplituda [ dB ] ’ )g r i d onsubplot ( 2 , 1 , 2 ) , semilogx (w, unwrap ( phase ) )t i t l e ( ’ Charakterystyka fazowa ’ ) ;x l a b e l ( ’ Pulsacja [ rad / s ] ’ ) ; y l a b e l ( ’ Faza [ rad ] ’ )g r i d onFunkcji butter należy podać następujące parametry: rząd filtru (N), pulsacjęgraniczną (ω 0 ) oraz ciąg znakowy ’s’ oznaczający, że interesuje nas filtranalogowy w dziedzinie zmiennej zespolonej s (domyślnie funkcja projektujefiltr cyfrowy). Funkcja butter potrafi zwrócić transmitancję w postaci wielomianowej,zero-biegunowej lub zmiennych stanu.Funkcja tf2zp służy do zmiany postaci wielomianowej transmitancji na zero-


ROZDZIAŁ 6. FILTRY ANALOGOWE 105biegunową. W powyższym przykładzie wykorzystano ją do znalezienia biegunówtransmitancji, aby można je było przedstawić na płaszczyźnie zespolonej.Istnieje również funkcja odwrotna - zp2tf.Polecenie printsys w wygodny sposób prezentuje transmitancję w postaciułamka i uporządkowanych współczynników według malejących potęg argumentu.Do zaprojektowania filtrów o charakterystykach Czebyszewa typu 1 i 2 orazeliptycznego służą odpowiednio funkcje cheby1, cheby2, ellip. Minimalny rządfiltru spełniający określone wymagania obliczają funkcje buttord, cheb1ord, cheb2ord,ellipord.


Rozdział 7Filtry cyfroweW tym rozdziale przedstawiamy zasadę filtracji cyfrowej i metody projektowaniafiltrów cyfrowych. Opis zawężamy do układów liniowych, stacjonarnych (o niezmiennychw czasie parametrach). Pokazujemy, w jaki sposób uzyskać żądanącharakterystykę częstotliwościową filtru, między innymi bazując na szeroko poznanejwiedzy z zakresu projektowania filtrów analogowych. Tytułem wstępuprzedstawiamy także podstawową wiedzę dotyczącą transformaty Z.Filtry cyfrowe to jeden z najczęściej implementowanych elementów cyfrowegoprzetwarzania sygnałów. Szybki rozwój procesorów DSP jak i układówprogramowalnej logiki stale zwiększa możliwości w przetwarzaniu coraz bardziejzłożonych sygnałów, a jednocześnie przetwarzanie to staje się tańsze wrealizacji.Wśród zalet filtrów cyfrowych na pewno wymienimy takie cechy jak:• łatwość uzyskiwania złożonych charakterystyk amplitudowo-częstotliwościowych,• możliwość uzyskania liniowej fazy,• możliwa praca z bardzo niskimi częstotliwościami,• duże możliwości rekonfiguracji,• powtarzalność parametrów (stabilność temperaturowa, czasowa, brak rozrzutuparametrów).Wady filtrów cyfrowych to przede wszystkim:• ograniczona szybkość przetwarzania,106


ROZDZIAŁ 7. FILTRY CYFROWE 107• ograniczone pasmo częstotliwości do połowy częstotliwości próbkowania.7.1 Transformata ZTransformatę Z możemy traktować jako odpowiednik transformaty Laplace’a,znanej z układów analogowych. Definiuje się ją następująco:X(z) =∞∑n=−∞x(n)z −n , (7.1)gdzie z jest zmienną zespoloną, x spróbkowanym sygnałem. Transformata istniejedla tych z, dla których szereg jest zbieżny.Przykład.Mamy sygnał cyfrowy o wartościach kolejnych próbek równych: x(0) = 0, 2;x(1) = 0, 6; x(2) = 0, 3.Transformatą Z tego sygnału jest: X(z) = 0, 2 + 0, 6z −1 + 0, 3z −2 .Z powyższego przykładu widzimy, że z transformaty możemy łatwo odtworzyćsygnał, bowiem współczynnik występujący przed n-tą potęgą zmiennejzespolonej jest równy próbce sygnału w chwili n.Przykład.Dana jest funkcja eksponencjalna, zanikająca w czasie: x(n) = e −an , n =0, 1, 2, . . .Jej transformatą jest:Z { e −an} ∞∑∞∑= e −an z −n (= e −a z −1) n 1 =1 − e −a z −1 ,n=0n=0przy czym ∣ ∣ e −a z −1∣ ∣ < 1 ⇐⇒ |z| > |e −a | (na podstawie twierdzenia o zbieżnościszeregu geometrycznego).Zadanie.Oblicz transformatę Z impulsu δ(n) i skoku jednostkowego 1(n).Podobnie jak w przypadku transformaty Laplace’a, transformaty wielu popularnychsygnałów możemy zebrać w formie tablicy (patrz tabela 7.1).Obszar zbieżności jest istotny, ponieważ istnieją transformaty pozornie identyczneróżniące się tylko obszarem zbieżności.


ROZDZIAŁ 7. FILTRY CYFROWE 108Tablica 7.1: Wybrane sygnały i ich transformaty Zx(n){X(z) Obszar zbieżnościδ(n) =1, n = 00, n ≠ 01 0 ≤ |z| ≤ ∞δ(n − m), m > 0 z −m |z| > 0δ(n + m), m > 0 z m |z| < ∞{1, n ≥ 011(n) =1−z|z| > 10, n < 0−1n · 1(n)n 2 · 1(n)a n · 1(n)na n · 1(n)z −1(1−z −1 ) 2 |z| > 1z −1 (1+z −1 )(1−z −1 ) 3 |z| > 111−az −1az −1(1−az −1 ) 2|z| > |a||z| > |a|W celu odtworzenia oryginału x(n) na podstawie jego transformaty X(z) iinformacji o jej obszarze zbieżności definiuje się transformatę odwrotną Z:x(n) = 1 ˛X(z)z n−1 dz (7.2)2πjΓgdzie krzywa Γ jest konturem obejmującym początek układu współrzędnychpłaszczyzny zespolonej z, obiegająca go w kierunku dodatnim (przeciwnym doruchu wskazówek zegara).W wielu przypadkach oryginał można uzyskać stosując prostsze metody. Naprzykład, jeśli X(z) jest wielomianem zmiennej z:X(z) =∑n 2n=n 1b(n)z −n , (7.3)x(n) można wyznaczyć interpretując współczynniki stojące przy odpowiednichpotęgach zmiennej z, czego przykład przytoczono wcześniej.Kolejne metody to dzielenie wielomianów, rozkład na ułamki proste, metodaresiduów. Wszystkie są opisane w literaturze [3, 4].Ponieważ w tej książce wspieramy się środowiskiem Matlab, pokażemy zastoso-


ROZDZIAŁ 7. FILTRY CYFROWE 109wanie funkcji residuez.Format polecenia jest następujący:[ r , p , k ] = r e s i d u e z (b , a )gdzie b, a są wektorami reprezentującymi współczynniki wielomianów w licznikui mianowniku w kierunku malejących potęg zmiennej z −1 . Wektor r reprezentujewspółczynniki rozkładu na ułamki proste, odpowiednio do biegunówdanych jako wektor p. Wektor k zawiera współczynniki odpowiadające składnikomzwiązanym z kolejnymi potęgami z −1 , które pojawiają się gdy stopieńlicznika jest większy lub równy stopniowi mianownika.Przykład.X(z) = z3 − 10z 2 − 4z + 42z 2 .− 2z − 4Użycie funkcji Matlaba wymaga przedstawienia wielomianów jako funkcje zmiennejz −1 :X(z) = z3 ( 1 − 10z −1 − 4z −2 + 4z −3)2z 2 (1 − z −1 − 2z −2 )F(z) = 1 − 10z−1 − 4z −2 + 4z −31 − z −1 − 2z −2 .Wydajemy polecenie i otrzymujemy wyniki:= 1 2 z 1 − 10z−1 − 4z −2 + 4z −31 − z −1 − 2z −2 = 1 zF (z)2>> [ r , p , k ] = r e s i d u e z ( [ 1 −10 −4 4 ] , [ 1 −1 −2])r =−3 1p =2 −1k =3 −2Rozkład X(z) jest zatem następujący:F(z) =−31 − 2z −1 + 1+ 3 − 2z−11 + z−1 Aby wyznaczyć transformatę odwrotną należy określić obszar zbieżności funkcjiF(z). Granice obszaru zbieżności wyznaczają bieguny z 1 = 2, z 2 = −1, z 3 = 0.Należy pamiętać, że w ten sposób otrzymujemy sygnał x(n), nie x(t), cooznacza, że transformata z zachowuje informacje tylko w chwilach próbkowania.


ROZDZIAŁ 7. FILTRY CYFROWE 1107.2 Opis liniowych układów dyskretnychLiniowość układu dyskretnego możemy opisać tak samo jak układu analogowego,uwzględniając jednak to, że sygnał jest ciągiem wartości (próbek):x 1 (n) → y 1 (n) i x 2 (n) → y 2 (n) to ax 1 (n) + bx 2 (n) → ay 1 (n) + by 2 (n),(7.4)gdzie x(n) jest sygnałem wejściowym, y(n) sygnałem wyjściowym, a i b dowolnymistałymi.Bardzo ważną rolę w układach analogowych ogrywa impuls Diraca, któregocyfrowym odpowiednikiem jest delta Kroneckera:{δ(n) =1, n = 00 n ≠ 0 . (7.5)Wykorzystując powyższe, każdą próbkę dowolnego sygnału x(n) możemy przedstawićjako sumę przesuniętych impulsów jednostkowych pomnożonych przezwartości próbek tego sygnału:x(n) =∞∑k=−∞x(k)δ(n − k). (7.6)Jeśli układ jest niezmienny w czasie, a takimi zajmujemy się w tym rozdziale,na przesunięte w czasie pobudzenie odpowiada taką samą lecz przesuniętą wczasie odpowiedzią:x(n) → y(n), x(n − k) → y(n − k). (7.7)W szczególności na pobudzenie deltą Kroneckera mamy:δ(n − k) → h(n − k). (7.8)Zatem powiązanie sygnałów: wejściowego x(n) i wyjściowego y(n) jest następujące:x(n) =∞∑k=−∞x(k)δ(n − k) → y(n) =∞∑k=−∞x(k)h(n − k) = x(n) ⊗ h(n). (7.9)Operacja ta jest już nam znana - jest to splot sygnałów x(n) i h(n). Podstawiającn − k = m:∞∑y(n) = h(m)x(n − m) = h(n) ⊗ x(n). (7.10)m=−∞


ROZDZIAŁ 7. FILTRY CYFROWE 111 Rysunek 7.1: Schemat blokowy filtru o skończonej odpowiedzi impulsowej.Jest to równanie opisujące proces filtracji cyfrowej sygnału x(n) przez filtr h(n).Rozważania zawężamy do układów przyczynowych, to znaczy, że odpowiedźnie wyprzedza pobudzenia. Zatem dla m < 0 sygnał jest zerowy i sumowanierozpoczynamy od m = 0.Jeśli odpowiedź impulsowa h(m) składa się ze skończonej, równej M + 1,liczby niezerowych próbek, otrzymujemy praktyczny przepis (algorytm) realizacjifiltracji za pomocą maszyny cyfrowej:y(n) =M∑h(m)x(n − m), (7.11)m=0który w postaci graficznej przedstawiono na rysunku 7.1. Blok oznaczony z −1opóźnia sygnał o jedną próbkę. Takie założenia doprowadziły nas do opisufiltrów o skończonej odpowiedzi impulsowej (FIR), z którymi bliżej zapoznamysię w rozdziale 7.4.Ze wzoru 7.11 możemy wnioskować, że wyjście układu y(n) w n-tej chwiliczasowej zależy tylko od wartości próbki bieżącej i próbek poprzednich x(n).Ciekawą zależność można wyznaczyć dla przykładowego filtru o odpowiedzi impulsowejrównej:h(n) = (−a) n , n > 0, |a| < 1. (7.12)Układ charakteryzujący się taką samą odpowiedzią można zapisać w inny sposób:y(n) = x(n) − ay(n − 1). (7.13)Wyjście układu zależy tu nie tylko od bieżącej próbki sygnału wejściowego, alerównież od próbki sygnału wyjściowego w chwili n − 1. Graficzną interpretację


ROZDZIAŁ 7. FILTRY CYFROWE 112 (a) Schemat blokowyukładu opisanegorównaniem 7.13. (b) Schemat blokowy układu opisanegorównaniem 7.15.Rysunek 7.2: Struktury filtrów o nieskończonej odpowiedzi impulsowej.tego zapisu przedstawia rysunek 7.2a. Wyraźnie widzimy tu sprzężenie zwrotne- próbka sygnału wyjściowego jest zapamiętywana, dodawana do kolejnej próbkisygnału wejściowego i znów zapamiętywana, dodawana do następnej próbki sygnałuwejściowego itd. Każdy sygnał różny od zera, w tym również impulsjednostkowy powoduje, że układ odpowiada nieskończenie długim ciągiem naswoim wyjściu. Dlatego te układy nazywamy układami o nieskończonej odpowiedziimpulsowej (IIR). Gdybyśmy chcieli otrzymać równoważnik obliczany napodstawie wzoru (7.10), h(m) musiałoby być ciągiem nieskończonym i sumabyłaby również nieskończona.Rozbudowując układ o kolejne elementy opóźniające otrzymamy:y(n) = x(n) −∞∑a k y(n − k). (7.14)k=1Biorąc pod uwagę elementy sprzężenia zwrotnego (7.14) jak i te z równania(7.10) otrzymujemy równanie różnicowe opisujące filtr typu IIR:y(n) =∞∑∞∑b m x(n − m) − a k y(n − k), (7.15)m=0przy czym oznaczenie współczynników h(m) będące odpowiedzią impulsową filtruFIR zastąpiono współczynnikami b m . Na rysunku 7.2b przedstawiono todziałanie w postaci graficznej .k=1


ROZDZIAŁ 7. FILTRY CYFROWE 113Praktyczną realizację algorytmu przez maszynę cyfrową otrzymujemy poograniczeniu do skończonej liczby elementów pamiętających i współczynników:y(n) =M∑N∑b m x(n − m) − a k y(n − k). (7.16)m=0Opis i projektowanie filtrów typu FIR znacząco różni się od IIR, dlategoprzedstawiamy je w kolejnych osobnych podrozdziałach.7.3 Transmitancja układów dyskretnychUkład liniowy niezmienny względem przesunięcia wiąże sygnały wyjściowy zwejściowym w sposób opisany w poprzednim rozdziale (równanie 7.10):k=1y(n) = h(n) ⊗ x(n), (7.17)czyli splot w dziedzinie czasu, w dziedzinie Z zaobserwujemy iloczyn:Y (z) = H(z)X(z). (7.18)H(z) jest transformatą Z odpowiedzi impulsowej i nazywamy transmitancjąukładu. Przekształćmy równanie 7.15 do bardziej ogólnej postaci równania różnicowego:∞∑∞∑a k y(n − k) = b m x(n − m), (7.19)k=0(zauważmy, że pojawił się element a 0 ). Stosując transformatę Z do obu stronrównania otrzymujemy:[ ∞] [∑∞]∑Z a k y(n − k) = Z b m x(n − m)k=0∞∑a k Z [y(n − k)] =k=0Na podstawie tablicy 7.1:m=0m=0∞∑b m Z [x(n − m)] .m=0Z [y(n − k)] = z −k Y (z)Z [x(n − m)] = z −m X(z),


ROZDZIAŁ 7. FILTRY CYFROWE 114więc:∞∑a k z −k Y (z) =k=0Na podstawie zależności (7.18) mamy:∞∑b m z −m X(z).m=0H(z) = Y (z) ∑ ∞X(z) = ∑m=0 b mz −m∞k=0 a . (7.20)−kkzPostać równania (7.20) jest stosowana do opisu filtrów cyfrowych, przy czymwspółczynnik a 0 przeważnie jest równy 1 (lub całość transmitancji normalizowanatak, aby a 0 było równe 1) dla filtrów IIR, a dla filtrów FIR cały mianownikjest równy 1 . Ze względów praktycznych oba sumowania ogranicza się do M iN elementów:7.4 Filtry FIR7.4.1 Współczynniki filtrów FIRH(z) = Y (z) ∑ MX(z) = m=0 b mz −m∑ Nk=0 a . (7.21)−kkzWróćmy do równania 7.11 - splotu sygnału wejściowego i odpowiedzi impulsowejfiltru. Jeśli rozważamy sygnały przyczynowe i zbadamy odpowiedź układu naimpuls jednostkowy (deltę Kroneckera) wówczas otrzymamy:y(n) =M∑h(m)δ(n − m). (7.22)m=0Załóżmy przykładowo, że M=3; wówczas:y(0) = h(0) · 0 + h(1) · 0 + h(2) · 0 + h(3) · 1 = h(3)y(1) = h(0) · 0 + h(1) · 0 + h(2) · 1 + h(3) · 0 = h(2)y(2) = h(0) · 0 + h(1) · 1 + h(2) · 0 + h(3) · 0 = h(1)y(3) = h(0) · 1 + h(1) · 0 + h(2) · 0 + h(3) · 0 = h(0).Widzimy więc, że w przypadku filtrów FIR odpowiedź impulsowa jest identycznaz wartościami współczynników filtru. Zatem jeśli mówimy o odpowiedziimpulsowej filtru FIR to chodzi nam o jego współczynniki.


ROZDZIAŁ 7. FILTRY CYFROWE 115Równanie (7.11) możemy zapisać w skróconej formie posługując się symbolemsplotu:y(n) = h(n) ⊗ x(n). (7.23)Ponieważ dyskretna transformata Fouriera (DFT) splotu odpowiedzi impulsowejfiltru i sygnału wejściowego jest równa iloczynowi ich widm (patrz 4), możemyzapisać następującą relację:y(n) = h(n) ⊗ x(n)DFT⇄IDFTY (e jΩ ) = H(e jΩ )X(e jΩ ), (7.24)gdzie Ω oznacza pulsację unormowaną względem częstotliwości próbkowania f s :Ω = 2π f f s. (7.25)7.4.2 Projektowanie filtrów FIR metodą okien czasowychMetoda okien czasowych jest jedną z prostszych w implementacji. Polega onana zdefiniowaniu oczekiwanego kształtu charakterystyki w dziedzinie częstotliwości,czyli H(e jΩ ) i obliczeniu za pomocą odwrotnego przekształcenia Fourieraodpowiedzi impulsowej filtra:h(n) = 12πˆ π−πH(e jΩ )e jΩn dΩ, −∞ ≤ n ≤ ∞. (7.26)Uzyskana nieskończenie długa odpowiedź czasowa musi być skrócona. Dokonujesię tego poprzez wymnożenie odpowiedzi h(n) z funkcją okna w(n):h w (n) = h(n)w(n), −∞ ≤ n ≤ ∞, (7.27)przy czym funkcja okna dla |n| > M posiada wartości równe 0, czyli ma długośćN = 2M + 1 próbek.Ponieważ rozważamy układy przyczynowe, odpowiedź impulsowa musi być przyczynowa,tzn. h(n) = 0 dla n < 0. Dokonujemy zatem przesunięcia odpowiedziw prawo o M próbek i ograniczamy liczbę próbek do 2M + 1:h wsh = h w (n − M), 0 ≤ n ≤ 2M. (7.28)To przesunięcie czasowe odpowiedzi skutkuje tylko dodatkowym przesunięciemfazowym wprowadzanym przez filtr.


ROZDZIAŁ 7. FILTRY CYFROWE 116Tablica 7.2: Zestawienie wzorów odpowiedzi impulsowych filtrów „idealnych”.F 0 , F 1 , F 2 - unormowane względem częstotliwości próbkowania częstotliwościgraniczne: F = f f s, F 1 - częstotliwość dolna, F 2 - częstotliwość górna.Rodzaj filtruDolnoprzepustowy h(n) =Górnoprzepustowy h(n) =Pasmowoprzepustowy h(n) =Pasmowozaporowy h(n) =Odpowiedź impulsowa{sin(Ω2F 0n)0 Ω , n ≠ 00n2F 0 , n = 0{sin(Ωδ(n) − 2F 0n)0 Ω , 0n n ≠ 01 − 2F 0 , n = 0{sin(Ω2F 2n) sin(Ω2 Ω 2n− 2F 1n)1 Ω , 1n n ≠ 02(F 2 − F 1 ), n = 0{ ()δ(n) −sin(Ω2F 2n) sin(Ω2 Ω 2n− 2F 1n)1 Ω 1n, n ≠ 01 − 2(F 2 − F 1 ), n = 0Tablica 7.3: Definicje wybranych okien czasowych.Nazwa okna Definicja okna, n = 0 . . . N − 1Prostokątne w(n) = 1Trójkątne w(n) = 1 − 2|n−N/2|NHanninga w(n) = 0, 5 − 0, 5 cos(2πn/N)Hamminga w(n) = 0, 54 − 0, 46 cos(2πn/N)Blackmana w(n) = 0, 42 − 0, 5 cos(2πn/N) + 0, 18 cos(4πn/N)√]) 2Kaisera w(n) =I 0[βI(x) = 1 + ∑ ∞k=11−( n−(N−1)/2(N−1)/2I[ 0(β)(x/2)kk!gdzie] 2(funkcja Bessela)


ROZDZIAŁ 7. FILTRY CYFROWE 117W tablicy 7.2 zestawiono odpowiedzi impulsowe najczęściej stosowanych filtrówo „idealnej” charakterystyce amplitudowo-częstotliwościowej.Proces obliczeniowy tych filtrów nie jest bardzo złożony. Na przykład dlafiltru dolnoprzepustowego określamy H(e jΩ ) = 1 dla −Ω 0 ≤ Ω ≤ Ω 0 i 0 dlapozostałych częstotliwości. Na podstawie (7.26) mamy:h(n) = 1 ˆ πH(e jω )e jΩn dΩ = 12π −π2πoraz=1j2πnˆ Ω0[e jΩn − e −jΩn] = 2j sin(Ω 0n)j2πn= 2F 0sin(Ω 0 n)Ω 0 n , n ≠ 01 · e jΩn dΩ = 1 1−Ω 02π jn ejΩn | Ω0−Ω 0= sin(Ω 0n)πnh(0) = 2F 0Ω 0 cos(Ω 0 n)Ω 0| n=0= 2F 0 (z reguły d’Hospitala).Pozostałe wyprowadzenia znajdują się w [4].Przykładową odpowiedź impulsową filtru dolnoprzepustowego o częstotliwościgranicznej 0, 2f s , funkcję okna Hamminga i odpowiedź impulsową z zastosowaniemtego okna przedstawiono na rysunku 7.3.Charakterystyka amplitudowo-częstotliwościowa tego filtru jest pokazana narysunku 7.4. Gdy amplituda jest pokazana w skali liniowej nie jesteśmy w stanieodczytać charakterystyki poza pasmem przepustowym. Dopiero ukazaniejej w skali logarytmicznej (wyskalowanej w decybelach) prezentuje kształt charakterystykiw całym zakresie częstotliwości. Istotnie, jeśli przy projektowaniufiltrów opisywaną metodą wybieramy jeden z licznych kształtów okien (tablica7.3), wpływamy także na charakterystykę amplitudową w zakresie częstotliwości,w których filtr tłumi. Na rysunku 7.5 pokazano charakterystykę filtrów otakiej samej częstotliwości granicznej i długości, ale z zastosowaniem różnychokien. Ze względu na symetrię wokół częstotliwości 0, zakres częstotliwości zostałograniczony do 0 . . . 0, 5f s .Zastosowanie różnych okien powoduje przede wszystkim różne tłumienie wpaśmie zaporowym filtru. Niestety większe tłumienie w paśmie zaporowym(„listków” bocznych) jest okupione większą szerokością „listka” głównego.Długość okna wpływa głównie na szerokość pasma przejściowego. Im dłuższeokno (większa liczba współczynników) tym pasmo przejściowe staje się węższe,ale niestety zwiększa się czas obliczeń, zapotrzebowanie na pamięć i opóźnieniesygnału wyjściowego (o M próbek). Zależność widma Fouriera filtru od liczby


ROZDZIAŁ 7. FILTRY CYFROWE 1180.40.3h(n)0.20.1w(n)0−0.1−50 −40 −30 −20 −10 0 10 20 30 40 50n10.80.60.40.20−50 −40 −30 −20 −10 0 10 20 30 40 50n0.40.3hw(n)0.20.10−0.1−50 −40 −30 −20 −10 0 10 20 30 40 50nRysunek 7.3: Odpowiedź impulsowa filtru dolnoprzepustowego h(n), okno Hammingaw(n) i odpowiedź impulsowa filtru po przemnożeniu z funkcją okna hw(n).N=93, F 0 = 0, 2.


ROZDZIAŁ 7. FILTRY CYFROWE 1191.220100.8−20|H(Ω)|0.6|H(Ω)| [dB]−40−600.4−800.2−1000−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5Ω/2π−120−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5Ω/2πRysunek 7.4: Charakterystyka amplitudowo-częstotliwościowa filtru z rysunku7.3 w skali liniowej i logarytmicznej.współczynników filtru pokazuje rysunek 7.6 (opuszczono fragment ch-ki dla częstotliwościujemnych).Na szczególną uwagę przy projektowaniu filtrów zasługują parametryczneokna Czebyszewa i Kaisera. Umożliwiają one zaprojektowanie filtru spełniającegozadane założenia: szerokość pasma przejściowego ∆f, maksymalne zafalowaniaw paśmie przepustowym δ p i tłumienie w paśmie zaporowym δ s . Otowzory projektowe filtru z zastosowaniem okna Kaisera:δ = min(δ p , δ s )A = −20log(δ),⎧⎪⎨ 0, A s < 21dBβ = 0, 5842(A − 21)⎪⎩0,4 + 0, 07886(A − 21), 21dB ≤ A s ≤ 50dB0, 1102(A − 8, 7), A s > 50dBN ≥ A s − 7, 95 f s14, 36 ∆f .gdzie N jest liczbą całkowitą, nieparzystą.7.4.3 Projektowanie filtrów FIR metodą próbkowania wdziedzinie częstotliwościW tej metodzie charakterystykę amplitudową filtru kształtujemy poprzez umieszczeniena niej próbek, a następnie liczymy odwrotną DFT celem uzyskania od-


ROZDZIAŁ 7. FILTRY CYFROWE 1200−20RectwinHammingHanning0−20BartlettBlackmanKaiser (5)−40−40|H(Ω)| [dB]−60−80−100|H(Ω)| [dB]−60−80−100−120−120−140−140−1600 0.1 0.2 0.3 0.4 0.5Ω/2π−1600 0.1 0.2 0.3 0.4 0.5Ω/2π(a) Okna: prostokątne, Hamminga, Hanninga, Bartleta, Blackmana, Kaisera (β = 5).0−10−30β = 0.1β = 1β = 5β = 100−10−30β = 0.1β = 1β = 5β = 10|H(Ω)| [dB]−50−70−90−110|H(Ω)| [dB]−50−70−90−130−110−1500 0.1 0.2 0.3 0.4 0.5Ω/2π0.15 0.16 0.17 0.18 0.19 0.2 0.21 0.22 0.23 0.24 0.25 0.26Ω/2π(b) Okna Kaisera dla β = 0, 1 β = 1 β = 5 β = 10 i powiększenie fragmentu.Rysunek 7.5: Porównanie charakterystyk częstotliwościowych filtrów zaprojektowanychprzy użyciu różnych okien. N = 93, F 0 = 0, 2.


ROZDZIAŁ 7. FILTRY CYFROWE 121100−10−20N = 31N = 63N = 127N = 511−30|H(Ω)| [dB]−40−50−60−70−80−90−1000.16 0.18 0.2 0.22 0.24 0.26 0.28 0.3Ω/2πRysunek 7.6: Zależność charakterystyki częstotliwościowej filtru od liczbywspółczynników filtru (F 0 = 0, 2, okno Hamminga).powiedzi impulsowej, czyli bezpośrednio współczynników filtru FIR. Tu równieżzastosowanie funkcji okien do odpowiedzi impulsowej filtru pozwala uzyskaćwiększe tłumienie w paśmie zaporowym.Zaprojektujmy przykładowy filtr dolnoprzepustowy za pomocą N = 32 próbekw dziedzinie częstotliwości (rys. 7.7). Próbki te pokrywają zakres pulsacjiod „prawie”−π do π, czyli od minus połowy częstotliwości próbkowaniado połowy częstotliwości próbkowania. „Prawie” dlatego, że próbka o indeksiem = − N N−22+ 1 = −15 reprezentuje pulsację Ω = −πN. Próbka o indeksiem = 0 reprezentuje pulsację Ω = 0, próbka m = N 2= 16 pulsację Ω = π. Wokolicy częstotliwości zerowej przyjmijmy K = 7 próbek równych 1, pozostałerówne 0. Aby wyznaczyć h(n) w sposób algebraiczny posłużymy się odwrotnąDFT z H(m):Rozwiązaniem jest:h(n) = 1 N2∑mn j2πH(m)e N , −∞ ≤ n ≤ ∞ (7.29)Nm=−( N 2 +1)co przedstawiono na rysunku 7.8(a).h(n) = sin(πnK/N)sin(πn/N) , (7.30)


ROZDZIAŁ 7. FILTRY CYFROWE 1221(a) Transmitancja idealnego filtru dolnoprzepustowegoH(m)0.50−15 −10 −5 0 5 10 15m(b) Funkcja z (a) przesuniȩta do zakresu 0..2π1H(m)0.500 5 10 15 20 25 30mRysunek 7.7: Transmitancja idealnego filtru dolnoprzepustowego.(a) Odwrotna DFT funkcji H(m) z rysunku poprzedniego0.2h(n)0.10−15 −10 −5 0 5 10 15n(b) Wspó̷lczynniki dla algorytmu FIR0.2h(n)0.100 5 10 15 20 25 30nRysunek 7.8: Odwrotna DFT transmitancji idealnego filtru dolnoprzepustowego.


ROZDZIAŁ 7. FILTRY CYFROWE 1230.250.20.15h(n)0.10.050−0.050 5 10 15 20 25 30nRysunek 7.9: Wycięty fragment odpowiedzi impulsowej (15 współczynników).Jak widać, jest to postać funkcji sinc(x). Ciąg współczynników można równieżotrzymać numerycznie wykonując obliczenia algorytmem odwrotnego FFT.W najprostszym przypadku oczekujemy symetrycznej względem próbki środkowejodpowiedzi impulsowej. Odrzucamy zatem próbkę o indeksie 16. Należyjeszcze dostosować indeksowanie do algorytmu filtracji w związku z czym przesuwamyodpowiedź w czasie o 15 próbek. Z twierdzenia o przesunięciu (rozdział??) wiemy, że taka operacja nie zmienia charakterystyki amplitudowej, a jedyniepowoduje liniowe przesunięcie fazy [4].Do filtracji nie jest konieczne użycie wszystkich współczynników otrzymanychpo powyższych operacjach. W praktyce odpowiedź impulsowa może byćzbyt długa jak na możliwości pamięci i szybkości działania maszyny liczącej. Pokażmywięc, jak liczba wybranych współczynników wpływa na charakterystykęamplitudową filtru. W tym celu z otrzymanych N − 1 = 31 próbek odpowiedziimpulsowej (rys. 7.8) wybieramy na przykład 15 „środkowych” (rys. 7.9). Pozostałepróbki są równe zero i w konsekwencji zakres sumowania według zależności7.11 można zmniejszyć (skrócić). Uzyskane charakterystyki częstotliwościowedla 11, 15, 23 i 31 współczynników filtru przedstawiamy na rys. 7.10. Szarymkonturem zaznaczona jest charakterystyka idealna, którą chcieliśmy uzyskać.Większa liczba współczynników filtru FIR powoduje zawężenie obszaru przejściowegoi zwiększenie częstotliwości zafalowań. Nie ma jednak wpływu nazwiększenie tłumienia w paśmie zaporowym i nierównomierności w paśmie przepustowym.


ROZDZIAŁ 7. FILTRY CYFROWE 1241.41.21id11152331|H(Ω)|0.80.60.40.20−0.5 0 0.5Ω/2πRysunek 7.10: Wynikowa charakterystyka amplitudowo-częstotliwościowa w zależnościod liczby współczynników filtra, na tle charakterystyki idealnej (projektowanej).Źródłem zafalowań charakterystyki amplitudowo-częstotliwościowej jest użycieokna prostokątnego, bowiem wycięcie fragmentu z odpowiedzi impulsowejfiltru nastąpiło przez wymnożenie części „środkowych” próbek przez 1, a pozostałychprzez 0.Nierównomierności charakterystyki można zmniejszyć przez użycie innegookna niż prostokątne. Definicje najczęściej stosowanych okien czasowych przedstawionow poprzednim podrozdziale, w tabeli 7.3.Wymnożenie odpowiedzi impulsowej 7.30 przez funkcję wybranego okna powodujezredukowanie nieciągłości (rys. 7.11). Jakie ma to przełożenie na charakterystykęczęstotliwościową pokazano na rysunku 7.12. W stosunku dozastosowanego wcześniej okna prostokątnego obserwujemy większe tłumienie wpaśmie zaporowym i znacznie zredukowaną nierównomierność charakterystykiw paśmie przepustowym. Niestety odbywa się to kosztem poszerzenia pasmaprzejściowego. Stromość charakterystyki można poprawić zwiększając liczbęwspółczynników filtru.W identyczny sposób można zaprojektować filtr górnoprzepustowy, środkowoprzepustowy,środkowozaporowy lub o innym kształcie. Na rysunku 7.14przedstawiono projekt filtru środkowoprzepustowego 64-go rzędu z zastosowaniemokna Hamminga.


ROZDZIAŁ 7. FILTRY CYFROWE 1250.250.20.15h(n)0.10.050−0.050 5 10 15 20 25 30nRysunek 7.11: Odpowiedź impulsowa przykładowego filtru po wymnożeniuprzez okno Hamminga.7.4.4 Projektowanie filtrów FIR metodą RemezaMetoda ta, zwana również metodą Parks-McClellan’a, polega na minimalizowaniufunkcji błędu projektowanej charakterystyki amplitudowej i sumy kosinusoidwziętych ze współczynnikami wagowymi aproksymujących tą charakterystykę.Podstawy matematyczne metody są dość złożone i nie przedstawimy ich w tymmiejscu. Więcej na temat algorytmu można przeczytać w [4]. Wystarczy namwiedza, że filtry zaprojektowane tą metodą mają dużo lepsze parametry odpoprzednio opisanych. Przy tej samej liczbie współczynników i tłumieniu wpaśmie zaporowym osiąga się węższe pasmo przejściowe. Środowisko Matlabzawiera zbiór funkcji niezbędnych do zaprojektowania filtrów tego typu.7.4.5 Pozostałe metody projektowania filtrów FIRW literaturze można znaleźć również inne metody projektowania filtrów FIR,na przykład metodę optymalizacji średniokwadratowej.7.5 Projektowanie filtrów FIR w MatlabieWszystkie opisane metody opierają się o taki sam schemat działania, którymożna przedstawić w punktach:


ROZDZIAŁ 7. FILTRY CYFROWE 126|H(Ω)|1.41.210.80.60.40.20−0.5 0 0.5Ω/2π0rectwinHamming|H(Ω)| [dB]−50−100−150−0.5 0 0.5Ω/2πRysunek 7.12: Porównanie charakterystyk częstotliwościowych przykładowegofiltru z zastosowaniem okna prostokątnego i Hamminga. Wykresy przedstawionew skali liniowej i logarytmicznej.


ROZDZIAŁ 7. FILTRY CYFROWE 1270−103264128512−20−30−40|H(Ω)| [dB]−50−60−70−80−90−1000 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5Ω/2π(a) Okno Hamminga.0−103264128512−20−30−40|H(Ω)| [dB]−50−60−70−80−90−1000 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5Ω/2π(b) Okno Hanninga.Rysunek 7.13: Porównanie charakterystyk częstotliwościowych filtrów środkowoprzepustowycho różnej liczbie współczynników, zaprojektowanych metodąpróbkowania w dziedzinie częstotliwości (zaprezentowano część charakterystykiw zakresie częstotliwości 0 . . . 0, 5f s ).


ROZDZIAŁ 7. FILTRY CYFROWE 128(a) Transmitancja zadana filtru środkowoprzepustowego1H(m)0.50−30 −20 −10 0 10 20 30m(b) Odwrotna DFT funkcji H(m)0.150.10.05h(n)0−0.05−0.1−30 −20 −10 0 10 20 30n(c) Transmitancja filtru z oknem Hamminga0|H(Ω)| [dB]−20−40−60−80−0.5 0 0.5Ω/2πRysunek 7.14: Filtr środkowoprzepustowy, zaprojektowany metodą okien, zoknem Hamminga.


ROZDZIAŁ 7. FILTRY CYFROWE 1291. określenie parametrów filtru: kształtu charakterystyki amplitudowej (iewentualnie fazowej) w dziedzinie częstotliwości, maksymalnych zafalowańw paśmie przepustowym, minimalnego tłumienia w paśmie zaporowym,szerokość pasma przejściowego; wszystkie częstotliwości najlepiejunormować względem częstotliwości próbkowania,2. wyznaczenie odpowiedzi impulsowej,3. wybór okna i wymnożenie jego funkcji z odpowiedzią impulsową (dotyczymetody okien czasowych i próbkowania w dziedzinie częstotliwości),4. sprawdzenie charakterystyki amplitudowo-częstotliwościowej i fazowo-częstotliwościowej.7.5.1 Metoda okien czasowychOdpowiedź impulsową filtru projektowanego tą metodą zwraca funkcja fir1.Jako parametr należy podać rząd filtru n i częstotliwość graniczną Wn unormowanądo połowy częstotliwości próbkowania (częstotliwości Nyquista). JeśliWn jest wektorem 2-elementowym można utworzyć filtr pasmowoprzepustowy.Trzeci parametr może określić typ filtru na dolnoprzepustowy lub pasmowozaporowy.Domyślnie program stosuje okno Hamminga, ale można jako kolejnyparametr funkcji podać inne okno. Dokładny opis znajduje się w dokumentacjiMatlaba (polecenie doc fir1).Do szybkiego sprawdzenia amplitudy i fazy w dziedzinie częstotliwości zaprojektowanegofiltru używamy funkcji freqz. Pierwszym parametrem jest wektorwspółczynników filtru (licznik transmitancji), drugim współczynniki mianownika(dla filtrów FIR wstawiamy 1), trzecim może być liczba punktów tworzącacharakterystykę wyjściową. Wywołując funkcję bez przypisania wartości zwracanychdo wektora tworzony jest wykres.Przedstawmy na prostym przykładzie projekt filtru dolnoprzepustowego o32 współczynnikach i częstotliwości granicznej równej 0,2 częstotliwości próbkowania.h = f i r 1 ( 3 2 , 0 . 2 ) ;f r e q z (h , 1 , 5 1 2 )W projekcie wygodniej, zamiast częstotliwością unormowaną posługiwać sięwartościami bezwzględnymi wyrażonymi w Hercach. Sekwencja poleceń w środowiskuMatlaba może być następująca:


ROZDZIAŁ 7. FILTRY CYFROWE 130f s = 1000; % c z ę s t o t l i w o ś ć próbkowania [ Hz ]f 0 = 200; % c z ę s t o t l i w o ś ć granicznaN = 64; % rząd f i l t r uh = f i r 1 (N, f 0 /( f s / 2 ) ) ;f r e q z (h , 1 , 5 1 2 , f s )Podając częstotliwość próbkowania funkcji freqz wykres będzie wyskalowany wHercach.Do zaprojektowania filtru pasmowozaporowego należy użyć funkcji fir1 z parametrami:h = f i r 1 (N, [ f 1 f 2 ] . / ( f s /2) , ’ stop ’ )gdzie wektor częstotliwości granicznych f1 (dolnej) i f2 (górnej) jest normalizowanydo połowy częstotliwości próbkowania.Jeśli założenia projektowe narzucają maksymalny poziom zafalowań i minimalnetłumienie w paśmie zaporowym wówczas korzystne jest użycie parametrycznegookna Kaisera. Matlab oferuje nam funkcję kaiserord zwracającąparametry β i N. Zaprojektujmy filtr o paśmie przepustowym od 0 do 200Hz zmaksymalnymi zafalowaniami 5% i tłumieniu 40dB przy częstotliwości 300Hz.Częstotliwość próbkowania to 1000Hz.f s = 1000; % c z ę s t o t l i w o ś ć próbkowania [ Hz ]dp = 0 . 0 5 ; % zafalowania w paśmie przepustowym (%)As = 40;% tłumienie w paśmie zaporowym (dB)f 1 = 200; % c z ę s t o t l i w o ś ć dolna 1 [ Hz ]f 2 = 300; % c z ę s t o t l i w o ś ć dolna 2 [ Hz ]mags = [ 1 0 ] ;ds = 10^(−As / 2 0 ) ; % przeliczamy z d e c y b e l idevs = [ dp ds ] ;[N,Wn, beta , f type ] = k a i s e r o r d ( [ f 1 f 2 ] , mags , devs , f s ) ;h = f i r 1 (N,Wn, ftype , k a i s e r (N+1, beta ) ) ;f r e q z (h , 1 , 5 1 2 , f s )disp ( [ ’ beta = ’ num2str ( beta ) ’ N = ’ num2str (N) ] )Zadanie.Zaprojektuj filtr dolnoprzepustowy o paśmie 15kHz i nierównomierności 5%oraz tłumieniu 65dB przy częstotliwości 16kHz. Częstotliwość próbkowaniawynosi 48kHz.


ROZDZIAŁ 7. FILTRY CYFROWE 1317.5.2 Metoda próbkowania w dziedzinie częstotliwościDo projektowania odpowiedzi impulsowej tą metodą przewidziana jest funkcjafir2. Podaje się jej parametry po kolei: rząd filtru, wektor punktów częstotliwościi wektor wartości amplitud w tych punktach. Przykładowy program:f s = 1000; % c z ę s t o t l i w o ś ć próbkowania [ Hz ]f 0 = 400; % c z ę s t o t l i w o ś ć granicznaN = 30; % rządf = [ 0 f 0 / f s f 0 / f s 1 ] ; % wektor punktów c z ę s t o t l i w o ś c im = [ 1 1 0 0 ] ; % wektor amplitudh = f i r 2 (N, f ,m) ;[H,w] = f r e q z (h , 1 , 5 1 2 ) ;p l o t ( f s /2∗w/ pi , 20∗ log10 ( abs (H) ) )g r i d onWektor f może być dłuższy, czyli zawierać więcej punktów. Każdemu z tychpunktów częstotliwości musi odpowiadać wartość amplitudy (wektor m). W tensposób określa się kształt charakterystyki amplitudowo-częstotliwościowej.W przykładzie pokazano również w jaki sposób można przypisać zwracanewartości funkcji freqz do wektorów - odpowiedzi częstotliwościowej (H, zespolone)i częstotliwości (w), aby wykorzystać te dane do dalszych obliczeń lubprezentacji danych. Zadanie.Zaprojektuj filtr o paśmie przepustowym od 300Hz do 2, 5kHz sygnałuspróbkowanego z częstotliwością 8kHz. Porównaj charakterystyki dla kilku wybranychwartości N.7.5.3 Metoda RemezaProjektowanie filtrów metodą Remeza (algorytmem Parks-McClellan’a) zapewniafunkcja firpm. Kolejność i znaczenie parametrów jest bardzo podobne jakw funkcji fir2, przy czym wartości w wektorze częstotliwości i amplitudy podajesię parami tworząc przedziały zmienności charakterystyki amplitudowoczęstotliwościowej.Zależność pomiędzy wektorem częstotliwości i amplitudypokazano na rysunku 7.15 (rysunek zaczerpnięty z pliku pomocy programu Matlab).Zadanie.Zbadaj charakterystykę amplitudowo-częstotliwościową filtru o charakterystycezadanej jak na rysunku 7.15.


ROZDZIAŁ 7. FILTRY CYFROWE 13210.90.80.70.6|H(Ω)|0.50.40.30.20.100 0.2 0.4 0.6 0.8 1Ω/πRysunek 7.15: Zasada zadawania charakterystyki częstotliwościowej w funkcjifirpm7.6 Filtry IIR7.6.1 WprowadzenieFiltry o nieskończonej odpowiedzi impulsowej, inaczej zwane rekursywnymi,znacznie różnią się od filtrów FIR. Przede wszystkim zapewniają dużą stromośćcharakterystyk amplitudowo-częstotliwościowych przy dużo mniejszej liczbiewspółczynników wprowadzając równocześnie mniejsze opóźnienie. Pamiętajmy- mniejsza liczba współczynników to mniejsza liczba mnożeń! Niestety ichcharakterystyka fazowo-częstotliwościowa jest nieliniowa - filtr wprowadza niejednakoweopóźnienia dla różnych częstotliwości, co powoduje zmianę kształtusygnału wyjściowego. Należy również pamiętać, że istnienie sprzężenia zwrotnego(rys. 7.2) wiąże się z ryzykiem niestabilności filtru.Mimo, że filtry IIR są trudniejsze w projektowaniu i analizie, mamy dodyspozycji kilka metod ich projektowania. Najpopularniejsze z metod opisujemyw kolejnych podrozdziałach.


ROZDZIAŁ 7. FILTRY CYFROWE 1337.6.2 Projektowanie filtrów IIR metodą niezmienności odpowiedziimpulsowejMetoda ta polega na zaprojektowaniu filtru cyfrowego, którego odpowiedź impulsowah d (n) jest spróbkowaną wersją ciągłej odpowiedzi filtru analogowegoh a (t):h d (n) = T s · h a (nT s ). (7.31)Mnożenie przez T s uniezależnia wzmocnienie filtru cyfrowego od okresu próbkowania(T s = 1 f s- okres próbkowania).Ponieważ metoda ta bazuje na prototypie filtru analogowego, musimy najpierwzaprojektować filtr analogowy i otrzymać pożądaną funkcję transmitancjiw postaci:∑ Mm=0H a (s) =b ms m∑ Nn=0 a ns . (7.32)nNastępnie musimy policzyć odwrotną transformatę Laplace’a w celu wyznaczeniaodpowiedzi impulsowej. Nie zawsze to zadanie jest proste. W celu ułatwieniaobliczeń istnieje możliwość rozłożenia transmitancji na sumę ułamków prostych:H a (s) =N∑k=1A ks − p k. (7.33)Odpowiedź impulsowa takiego układu dana jest wzorem:N∑h a (t) = A k e pkt . (7.34)k=1Korzystając z zależności (7.31) dostajemy następującą formułę na odpowiedźfiltru cyfrowego:N∑h d (n) = T s · A k e pknT . (7.35)k=1Transmitancja filtru cyfrowego jest równa transformacie Z jego odpowiedzi impulsowej:N∑ A kH d (z) =1 − e p kT sz −1 . (7.36)k=1Należy mieć na uwadze, że próbkowanie sygnału powoduje powielenie widm amplitudowychw dziedzinie częstotliwości i może prowadzić do aliasingu. Dlategoteż charakterystyka amplitudowa filtru cyfrowego jest przeważnie zniekształconaw stosunku do prototypu analogowego.


ROZDZIAŁ 7. FILTRY CYFROWE 1347.6.3 Projektowanie filtrów IIR metodą transformacji biliniowejProjektowanie filtrów metodą transformacji biliniowej (inaczej zwanej metodąTustina), podobnie jak metodą niezmienności odpowiedzi impulsowej, polegana odwzorowaniu charakterystyki prototypu analogowego. Jej sporą zaletą jestprzejście bezpośrednio z postaci transmitancji Laplace’a zaprojektowanego filtruanalogowego do transmitancji cyfrowej bez stosowania transformacji Laplace’ajak i transformacji Z. Nie występuje także problem aliasingu wspomniany wpoprzedniej metodzie.Transformację transmitancji filtru analogowego na cyfrowy dokonujemy przezpodstawienie:s = 2 T s· z − 1z + 1 , (7.37)gdzie T s jest okresem próbkowania (T s = 1 f s)Mówimy wówczas, że został skonstruowany filtr cyfrowy taki, że:H d (z) = H a (s) = H a ( 2 T s· z − 1z + 1 ).Charakterystykę amplitudowo-częstotliwościową filtru analogowego określamypodstawiając s = jω, cyfrowego zaś podstawiając z = e jΩ , zatem na podstawie(7.37):s = 2 T s· ejΩ − 1e jΩ + 1 ,wiedząc, że:sin x = ejx − e −jx2je j Ω 2cos x = ejx + e −jx,2obliczamy:( ) ( )jω = 2 · ejΩ − 1T s e jΩ + 1 = 2 e j Ω 2 e j Ω 2 − e −j Ω 2· ( ) = j 2 e j Ω 2 − e −j Ω 2 / (2j)· ( )T s e j Ω 2 + e −j Ω 2T s e j Ω 2 + e −j Ω 2 /2= j 2 T s· sin Ω 2cos Ω 2= j 2 T s· tan Ω 2 ,zatem związki między pulsacjami analogową ω i cyfrową Ω wyrażają się w następującysposób:ω = 2 T s· tan Ω 2 ,Ω = 2 arctan ωT s2 , (7.38)


ROZDZIAŁ 7. FILTRY CYFROWE 135Rysunek 7.16: Odwzorowanie płaszczyzny s w płaszczyznę z w transformacjibiliniowej.Rysunek 7.17: Zależność pomiędzy częstotliwością analogową i cyfrową.gdzie Ω = 2πf/f s to unormowana pulsacja cyfrowa zmieniająca się w zakresie−π . . . π, a ω = 2πf to pulsacja analogowa o częstotliwości zmieniającej się od−∞ do ∞.Odwzorowanie płaszczyzny s w płaszczyznę z przedstawia rysunek 7.16. Wszczególności zaznaczono, że wnętrze koła jednostkowego jest odwzorowaniemlewej półpłaszczyzny s. Rysunek 7.17 pokazuje nieliniową zależność częstotliwościanalogowej i cyfrowej w tym przekształceniu.Zaprojektowanie filtru tą metodą polega na:• określeniu typu filtru analogowego i jego transmitancji• określeniu pulsacji granicznych filtru cyfrowego i przeliczeniu ich na pulsacje’analogowe’ (wzór 7.38),• wyznaczeniu transmitancji cyfrowej przez podstawienie (wzór 7.37),• odczytaniu współczynników a n i b m z postaci transmitancji.


ROZDZIAŁ 7. FILTRY CYFROWE 136Przykład.Zaprojektujmy filtr dolnoprzepustowy Czebyszewa, drugiego rzędu, o częstotliwościgranicznej 100Hz i nierównomierności charakterystyki w paśmie przepustowym≤ 1dB. Częstotliwość próbkowania w systemie cyfrowym wynosif s = 1kHz.Transmitancja prototypu analogowego:H a (s) =as 2 , a = 414949 b = 713, 351 c = 465580.+ bs + cWykonujemy podstawienie (wzór 7.37):H d (z) ====a( ) 22 1−z −1T s 1+z + b2 1−z −1−1 T s 1+z+ c −1a ( 1 + z −1) 2( ) 22T s(1 − z−1) 2 + b 2 T s(1 − z −1 ) (1 + z −1 ) + c (1 + z −1 ) 2(2T s) 2+ b2a( 2Ts )2 +b 21 + 2c−2( 2Ts )2( 2Ts )2 +b 2(T s+ c +a ( 1 + 2z −1 + 2z −2)( ) ) 222c − 2T sz −1 +Ts +c (1 + 2z −1 + 2z −2)+ ( 2Ts +cz−1 ( 2Podstawiając dane numeryczne:.Ts )2 −b 2Ts +cTs )2 +b 2Ts +cz−2( (2T s) 2− b2T s+ cH d (z) = 0, 0704224 + 0, 140844z−1 + 0, 0704224z −21 − 1, 19967z −1 + 0, 515738z −2 .Współczynniki filtru IIR:Zadanie.b 0 = 0, 0704224b 1 = 0, 140844 a 1 = 1, 19967b 2 = 0, 0704224 a 2 = 0, 515738Zaprojektuj metodą transformacji biliniowej cyfrowy filtr dolnoprzepustowyo charakterystyce Butterwortha pierwszego rzędu i częstotliwości granicznej8kHz. Częstotliwość próbkowania: 25kHz..)z −2


ROZDZIAŁ 7. FILTRY CYFROWE 1377.6.4 Projektowanie filtrów IIR metodami iteracyjnymiUżycie komputera umożliwia projektowanie filtrów na wiele innych sposobów.Na przykład w Signal Processing Toolbox Matlaba znajdziemy funkcję (yulewalk)projektowania w zasadzie dowolnego kształtu charakterystyki amplitudowoczęstotliwościowej.Działa ona na zasadzie minimalizacji wskaźnika jakości zdefiniowanegow następujący sposób:E =K∑ [∣ ( )∣ ∣ ( )∣] ∣Hp ejΩ k ∣ − ∣H ejΩ k ∣ 2, (7.39)k=1gdzie H p to projektowana charakterystyka filtru zadana dla K pulsacji Ω k . Minimalizującfunkcję (7.39) uzyskujemy optymalne współczynniki transmitancji.Więcej o metodach projektowania filtrów cyfrowych można znaleźć w [3].7.7 Projektowanie filtrów IIR w Matlabie7.7.1 Metoda niezmienności odpowiedzi impulsowejMetoda ta jest rzadziej stosowana niż opisywane w kolejnych podrozdziałach.Przedstawimy tu gotowe rozwiązanie w postaci funkcji impinvar pakietu SignalProcessing Toolbox.Na początek należy zaprojektować filtr analogowy, którego transmitancja (wpostaci wektorów ze współczynnikami licznika i mianownika) jest parametremwejściowym funkcji impinvar. W wielkim uproszczeniu filtr można zaprojektowaćw dwóch linijkach:[ b , a ] = butter ( 4 , 0 . 3 , ’ s ’ ) ;[ bz , az ] = impinvar (b , a , 1 0 ) ;Poniżej przedstawiamy przykładowy skrypt porównujący odpowiedzi impulsowei charakterystyki amplitudowo-częstotliwościowe filtru analogowego i zaprojektowanegometodą niezmienności odpowiedzi impulsowej filtru cyfrowego.f s = 1000;f g = 100;R = 1 ;% r i p p l e , dBN = 2 ;TMAX = 0 . 0 2 5 ; % czas obser wacjiTs=1/ f s ;wg = 2∗ pi ∗ f g ; % p u l s a c j a graniczna analogowego


ROZDZIAŁ 7. FILTRY CYFROWE 138wa = 2∗ pi ∗ [ 0 : f s /1000: f s / 2 ] ; % wektor p u l s a c j i analogowejwd = ( 0 : 1 / f s : 1 ) ; % wektor p u l s a c j i cyfrowej[ ba , aa]=cheby1 (N,R, wg , ’ s ’ ) ; % p r o j e k t f i l t r uf i g u r e (1)c l fhold on% odpowiedź impulsowa f i l t r u analogowegoimpulse ( ba , aa ,TMAX) ;% p r o j e k t f i l t r u cyfrowego[ bd , ad ] = impinvar ( ba , aa , f s ) ;g = f s ; % skalowanie amplitudy% odpowiedź impulsowa f i l t r u cyfrowegoimpz ( g∗bd , ad , [ ] , f s ) ;legend ( [ ’ h( t ) ’ ; ’ h(n ) ’ ] ) ;hold o f ff i g u r e (2)c l fhold on% charakter ystyka amplitudowo−c z ę s t o t l i w o ś c i o w a% f i l t r u analogowego[ Ha ,w]= f r e q s ( ba , aa , wa ) ;p l o t (wa/(2∗ pi ) ,20∗ log10 ( abs (Ha ) ) ) ;% i f i l t r u cyfrowego[ Hd, wd]= f r e q z ( bd , ad , 5 1 2 ) ;p l o t (wd/(2∗ pi )∗ f s , 20∗ log10 ( abs (Hd ) ) , ’ : ’ ) ;x l a b e l ( ’ f [ Hz ] ’ ) ;y l a b e l ( ’ |H| [ dB ] ’ ) ;legend ( [ ’H( s ) ’ ; ’H( z ) ’ ] ) ;a x i s ( [ 0 500 −40 5 ] ) ;g r i d on7.7.2 Metoda transformacji biliniowejMatlab daje kilka możliwości zaprojektowania filtrów tą metodą. Oto skrypt pokazującymożliwie dużo etapów obliczeniowych, czyli obliczający współczynnikifiltru IIR „na piechotę”:f s = 1000; % c z ę s t o t l i w o ś ć próbkowaniaf g = 100; % c z ę s t o t l i w o ś ć graniczna f i l t r uR = 1 ;% zafalowania , dB


ROZDZIAŁ 7. FILTRY CYFROWE 139Ts=1/ f s ; % obliczamy okres próbkowaniawga = 2/Ts∗ tan ((2∗ pi ∗ f g / f s ) / 2 ) ; % p u l s a c j a graniczna f . analogowegof ga = wga /(2∗ pi ) ; % c z ę s t o t l i w o ś ć graniczna f . analog .wa = 2∗ pi ∗ [ 0 : f s /1000: f s / 2 ] ; % wektor p u l s a c j i analogowejwd = ( 0 : 1 / f s : 1 ) ; % wektor p u l s a c j i cyfrowej% p r o j e k t f i l t r u analogowego ( Czebyszewa , 2−go rzędu )[ ba , aa]=cheby1 (2 ,R, wga , ’ s ’ ) ;% charakter ystyka c z ę s t o t l i w o ś c i o w a f . analogowegof i g u r e (1)[ Ha ,w]= f r e q s ( ba , aa , wa ) ;hold onp l o t (wa/(2∗ pi ) ,20∗ log10 ( abs (Ha ) ) ) ;p r i n t s y s ( ba , aa , ’ s ’ ) % postać t r a n s m i t a n c j i ( zmienna s )a=ba ( 3 ) ;b=aa ( 2 ) ;c=aa ( 3 ) ;% podstawienie wg przykładuTS2 = (2/ Ts ) ^ 2 ; % podstawienie upraszczając e% o b l i c z e n i e współczynników f i l t r u cyfrowegob0 = a /(TS2+b∗2/Ts+c ) ;b1 = 2∗a /(TS2+b∗2/Ts+c ) ;b2 = a /(TS2+b∗2/Ts+c ) ;a0 = 1 ;a1 = (2∗ c−2∗TS2 )/( TS2+b∗2/Ts+c ) ;a2 = (TS2−b∗2/Ts+c )/( TS2+b∗2/Ts+c ) ;% wektor współczynników ( l i c z n i k t r a n s m i t a n c j i z )bd = [ b0 b1 b2 ] ;% wektor współczynników ( mianownik t r a n s m i t a n c j i z )ad = [ a0 a1 a2 ] ;% postać t r a n s m i t a n c j i cyfrowej ( zmienna z )p r i n t s y s (bd , ad , ’ z ’ )% charakter ystyka c z ę s t o t l i w o ś c i o w a f . cyfrowego[ Hd, wd]= f r e q z ( bd , ad , 5 1 2 ) ;p l o t (wd/(2∗ pi )∗ f s , 20∗ log10 ( abs (Hd ) ) , ’ : ’ ) ;x l a b e l ( ’ f [ Hz ] ’ ) ;y l a b e l ( ’ |H| [ dB ] ’ ) ;legend ( [ ’H( s ) ’ ; ’H( z ) ’ ] ) ;a x i s ( [ 0 500 −40 5 ] ) ;g r i d on


ROZDZIAŁ 7. FILTRY CYFROWE 140Oznaczenia zmiennych a, b, c, b0, b1, b2, a1, a2 pokrywają się z przykłademobliczeniowym zawartym w podrozdziale 7.6.3. Pominęliśmy tu etap projektowaniaod podstaw prototypu analogowego, ponieważ było to przedmiotemrozdziału 6. Użyliśmy funkcji Matlaba - cheby1, której podajemy częstotliwośćgraniczną przeliczoną według wzoru 7.38. W wektorach bd i ad znajdują sięzebrane współczynniki odpowiednio licznika i mianownika transmitancji filtrucyfrowego, poukładane w kolejności od najwyższej do najniższej potęgi zmiennejz. Należy zauważyć, że struktura programu nie pozwala dokonać obliczeń dlafiltru innego rzędu niż 2. O funkcji freqz napisaliśmy przy okazji filtrów FIR(7.5.1).Pierwszym, dużym ułatwieniem jest użycie funkcji bilinear. Funkcji tej podajemywspółczynniki licznika i mianownika transmitancji filtru analogowegooraz częstotliwość próbkowania. W wyniku otrzymujemy współczynniki licznikai mianownika transmitancji układu cyfrowego. Zatem nasz kod znaczącosię skróci, ponieważ tuż po obliczeniu ba, aa filtru analogowego można obliczyćbd, ad:[ ba , aa]=cheby1 (2 ,R, wga , ’ s ’ ) ; % p r o j e k t f i l t r u analogowego[ bd , ad]= b i l i n e a r ( ba , aa , f s ) ; % współczynniki f i l t r u cyfr owegoCo więcej, nie jesteśmy ograniczeni co do stopnia wielomianów licznika i mianownika,zatem bez problemów możemy obliczać transmitancje filtrów dowolnychrzędów.Kolejnym ułatwieniem jest użycie wprost funkcji cheby1 (butter i pozostałych)do obliczenia współczynników filtru cyfrowego. W naszym przykładziebyłaby to linijka:[ bd , ad]=cheby1 (N,R, wga )Jak widać, brakuje parametru ’s’, co Matlab traktuje jako chęć zaprojektowaniafiltru cyfrowego z użyciem transformacji biliniowej.7.7.3 Metoda Yule’a-WalkeraDo zaprojektowania filtru tą metodą służy funkcja yulewalk. Jej parametramisą rząd filtru, oraz dwa wektory kształtujące charakterystykę amplitudowoczęstotliwościową.Wektor częstotliwości zawiera współrzędną częstotliwości dlapunktów, a wektor amplitud - wartości modułu transmitancji dla wymienionychczęstotliwości. Zakres częstotliwości to 0 . . . 1, przy czym 1 oznacza połowę częstotliwościpróbkowania. Poniżej znajduje się przykładowy projekt dolnoprzepustowegofiltru IIR ósmego rzędu o częstotliwości granicznej 0, 3 · f s .


ROZDZIAŁ 7. FILTRY CYFROWE 141f = [ 0 0.6 0.6 1 ] ;m = [ 1 1 0 0 ] ;[ b , a ] = yulewalk (8 , f ,m) ;[ h ,w] = f r e q z (b , a , 1 2 8 ) ;p l o t ( f ,m,w/ pi , abs (h) , ’ − − ’)legend ( ’ i dealna ’ , ’ yulewalk ’ )Zadanie.Zaprojektuj metodą Yule’a-Walkera filtr pasmowoprzepustowy o częstotliwościachf d = 300Hz, f g = 2200Hz, czwartego rzędu. Częstotliwość próbkowaniajest równa 8kHz. Przedstaw jego charakterystykę amplitudowo-częstotliwościowąw skali liniowej na tle charakterystyki projektowanej (’idealnej’), na drugim wykresieprzedstaw tę charakterystykę w skali decybelowej.7.8 Proces filtracji cyfrowej7.8.1 Struktury filtrówZasadniczo algorytm filtracji opisuje równanie różnicowe (7.16), które tu powtórzymy:M∑N∑y(n) = b m x(n − m) − a k y(n − k). (7.40)m=0Schemat blokowy tego algorytmu przedstawiliśmy już na rysunku 7.2b. Jest totak zwana postać bezpośrednia typu I. Dzięki liniowości układów można zamienićkolejność struktur FIR i IIR, w wyniku czego powstaje układ postaci bezpośredniejtypu II. Oba układy dla porównania przedstawiamy na rysunku 7.18 (dlaM=N=2). Oczywiście, jeśli budujemy filtr tylko FIR, współczynniki a 1 . . . a nsą równe 0 i układ sprowadza się do przedstawionego na rysunku 7.1.Można budować również inne postacie. Wykorzystując zasady transpozycjielementów filtrów FIR i IIR, przedstawione na rysunku 7.19, uzyskujemyschematy jak na rysunkach 7.20.Zauważmy, że w postaciach II filtrów ulega redukcji liczba komórek pamiętających(bloków z −1 ).W przypadku filtrów FIR o liniowej fazie odpowiedź impulsowa, a zatemwspółczynniki filtru, są symetryczne wokół próbki środkowej, to znaczy spełniająrównanie:h(m) = h(M − m).k=1


ROZDZIAŁ 7. FILTRY CYFROWE 142 (a) Postać bezpośrednia typu I. (b) Postać bezpośrednia typu II.Rysunek 7.18: Postacie bezpośrednie realizacji algorytmu 7.40. Rysunek 7.19: Transpozycje filtrów cyfrowych.Wykorzystując ten fakt możemy zmniejszyć o połowę (lub prawie o połowę, dlaM nieparzystego) liczbę mnożeń realizując filtr w postaci przedstawionej narysunku 7.21.Współistnienie różnych struktur filtrów ma swoje podłoże w stosowanychuproszczeniach, ograniczeniach arytmetyki danego rozwiązania sprzętowego jaki dopasowania obliczeniowego do współpracujących bezpośrednio z filtrem układówprzetwarzania [3, 4]. Na przykład filtr w postaci bezpośredniej typu I jestnajlepszym rozwiązaniem w przypadku stałoprzecinkowego procesora sygnałowego,ze względu na istnienie jednego punktu sumacyjnego (procesory DSPposiadają dłuższy akumulator pozwalający na chwilowe przepełnienie). Natomiastpostać bezpośrednia typu II jest lepsza dla procesora zmiennoprzecinkowego,gdyż oszczędza się na pamięci. Dodatkowe przekształcenie do postacitransponowanej typu II poprawia dokładność obliczeń zmiennoprzecinkowych z


ROZDZIAŁ 7. FILTRY CYFROWE 143 (a) Transponowana postać filtru typu I. (b) Transponowana postać filtru typuII.Rysunek 7.20: Transponowane wersje filtru IIR.uwagi na sumowanie zbliżonych wartości.Filtry IIR wyższych rzędów, ze względu na istnienie sprzężenia zwrotnegomogą mieć problemy ze stabilnością, przepełnieniami arytmetycznymi i wymagająstarannego projektowania. Dlatego też często buduje się filtry IIR z sekcjiukładów drugiego rzędu, tzw. sekcji bikwadratowych (ang. biquad), a dla wyższychrzędów łączy te sekcje w kaskady (jeden za drugim). Niestety, dla niskichczęstotliwości filtracji sekcje bikwadratowe są bardziej podatne na błędy kwantyzacji,głównie od współczynników a 1 i a 2 oraz pamięci.7.8.2 Filtracja sygnałów w MatlabieMatlab posiada bardzo proste narzędzie do cyfrowej filtracji sygnału w postacifunkcji filter. Wystarczy funkcji przekazać takie parametry jak wektor współczynnikówb m , a k i sygnał wejściowy. Na wyjściu otrzymujemy przefiltrowanysygnał w postaci wektora.7.8.2.1 Przykład 1Pokażmy jednak na przykładzie więcej szczegółów. Oto skrypt Matlaba generującysygnał złożony z sygnałów sinusoidalnych o dwóch różnych częstotliwościach.Następnie sygnał jest filtrowany za pomocą dolnoprzepustowego filtruFIR zaprojektowanego tak, aby pozbyć się drugiej - wyższej częstotliwosci. Algorytmfiltracji jest wykonywany według schematu pokazanego na rysunku 7.1.


ROZDZIAŁ 7. FILTRY CYFROWE 144 (a) M=6 (parzyste).(b) M=7 (nieparzyste).Rysunek 7.21: Redukcja liczby mnożeń w filtrze FIR o liniowej fazie.


ROZDZIAŁ 7. FILTRY CYFROWE 145Na koniec dokonaliśmy porównania naszej metody „na piechotę” z funkcją filter.Okazuje się, że wyniki są praktycznie identyczne.f s =1000; % c z ę s t o t l i w o ś ć próbkowaniaL=250; % l i c z b a próbekA1=5; % amplituda 1fx1 =10; % c z ę s t o t l i w o ś ć 1A2=3; % amplituda 2fx2 =131; % c z ę s t o t l i w o ś ć 2M=20; % długość f i l t r uf g =50; % c z ę s t o t l i w o ś ć graniczna f i l t r uwg = 2∗ f g / f s ; % p r z e l i c z e n i e na c z ę s t o t l i w o ś ć znormalizowanądt=1/ f s ; % okres próbkowaniat=dt ∗ ( 0 : L−1); % wektor czasu% złożony sygnał testowy :x=A1∗ s i n (2∗ pi ∗ fx1 ∗ t)+A2∗ s i n (2∗ pi ∗ fx2 ∗ t ) ;f i g u r e (1)p l o t ( t , x ) ; g r i d ; y l a b e l ( ’ x ( t ) ’ ) ; x l a b e l ( ’ t [ s ] ’ ) ;t i t l e ( ’ Sygnał wejściowy x ( t ) ’ )%p r o j e k t dolnoprzepustowego f i l t r u f i r z oknem hanningah = f i r 1 (M−1,wg , hanning (M) ) ;buf = z e r o s (1 ,M) ; % wyzerowanie bufora o d ł u g o ś c i Mc l e a r y % c z y s z c z e n i e ciągu wyjściowegof o r n = 1 : L% p r z e s u n i ę c i e próbek w buforze i dodanie nowejbuf = [ x ( n) buf ( 1 :M−1)];y (n) = sum( buf . ∗ hr ) ; % mnożenie z dodawaniemendf i g u r e (2)% sygnał po f i l t r a c j i :p l o t ( t , y ) ; g r i d ; y l a b e l ( ’ y ( t ) ’ ) ; x l a b e l ( ’ t [ s ] ’ ) ;t i t l e ( ’ Sygnał p r z e f i l t r o w a n y y ( t ) ’ )y2 = f i l t e r (h , 1 , x ) ; % f i l t r a c j af i g u r e (3)p l o t ( t , y2−y ) ; g r i d ; y l a b e l ( ’ y2 ( t)−y ( t ) ’ ) ; x l a b e l ( ’ t [ s ] ’ ) ;t i t l e ( ’ Porównanie z f unkcją " f i l t e r " ’ )7.8.2.2 Przykład 2Drugi przykładowy skrypt pozwala zaobserwować skuteczność filtracji. Sygnałemwejściowym jest ten sam co wyżej, złożony z dwóch przebiegów sinusoidal-


ROZDZIAŁ 7. FILTRY CYFROWE 146nych o częstotliwościach 10Hz i 131Hz i o różnych amplitudach. Tym razemzaprojektowaliśmy filtr IIR o charakterystyce Butterwortha, piątego rzędu, oczęstotliwości granicznej 50Hz. Filtracja odbywa się za pomocą funkcji filter.Na koniec, za pomocą transformaty DFT, sporządzany jest wykres widma sygnałuwejściowego i przefiltrowanego, na którym widać, że składowa sygnału oczęstotliwości 131Hz została wytłumiona.f s =1000; % c z ę s t o t l i w o ś ć próbkowaniaL=250; % l i c z b a próbekA1=5; % amplituda 1fx1 =10; % c z ę s t o t l i w o ś ć 1A2=3; % amplituda 2fx2 =131; % c z ę s t o t l i w o ś ć 2N=5; % rząd f i l t r uf g =50; % c z ę s t o t l i w o ś ć graniczna f i l t r uwg = 2∗ f g / f s ; % p r z e l i c z e n i e na c z ę s t o t l i w o ś ć znormalizowanądt=1/ f s ; % okres próbkowaniat=dt ∗ ( 0 : L−1); % wektor czasu% złożony sygnał testowy :x=A1∗ s i n (2∗ pi ∗ fx1 ∗ t)+A2∗ s i n (2∗ pi ∗ fx2 ∗ t ) ;f i g u r e (1)p l o t ( t , x ) ; g r i d ; y l a b e l ( ’ x ( t ) ’ ) ; x l a b e l ( ’ t [ s ] ’ ) ;t i t l e ( ’ Sygnał wejściowy x ( t ) ’ )[ b , a]= butter (N, wg ) ; % p r o j e k t f i l t r uy=f i l t e r (b , a , x ) ; % f i l t r a c j a% sygnał po f i l t r a c j i :f i g u r e (2)p l o t ( t , y ) ; g r i d ; y l a b e l ( ’ y ( t ) ’ ) ; x l a b e l ( ’ t [ s ] ’ ) ;t i t l e ( ’ Sygnał p r z e f i l t r o w a n y y ( t ) ’ )% DFT powyższych sygnałów :NFFT = 2^nextpow2 (L ) ; % Długość 2^xX = f f t ( x ,NFFT)/L ;Y = f f t ( y ,NFFT)/L ;f = f s /2∗ l i n s p a c e (0 , 1 ,NFFT/2+1);% Rysowanie spektrum c z ę s t o t l i w o ś c i :f i g u r e (3)p l o t ( f , 2∗ abs (X( 1 :NFFT/2+1)) , ’ r −−’, f , 2∗ abs (Y( 1 :NFFT/2+1)) , ’b− ’)t i t l e ( ’ Spektrum c z ę s t o t l i w o ś c i o w e sygnałów x ( t ) i y ( t ) ’ )x l a b e l ( ’ f [ Hz ] ’ )y l a b e l ( ’ Amplituda ’ )legend ( ’ |X( f ) | ’ , ’ |Y( f ) | ’ )g r i d on


ROZDZIAŁ 7. FILTRY CYFROWE 1477.8.2.3 Przykład 3Oczywiście jest również możliwość filtracji sygnałów zewnętrznych, na przykładzawartych w pliku dźwiękowym w formacie wav. Kolejny skrypt wczytuje dowektora x nagranie dźwiękowe wraz z informacją o liczbie kanałów i wielkościpróbek w bitach. Zaprojektowany jest filtr środkowoprzepustowy metodąYule’a Walkera tłumiący wszystkie częstotliwości poniżej 1, 6kHz i powyżej5kHz. Jego charakterystykę amplitudowo-częstotliwościową pokazano za pomocąfunkcji freqz. Jeśli filtrujemy sygnał mowy lub muzyczny „brakuje” namrozdzielczości dla niskich częstotliwości szczególnie, jeśli f1 miałoby być równena przykład 500Hz. Wówczas szczególnie przydatna jest skala logarytmicznaosi częstotliwości. Dlatego można zamienić odpowiednie komentarze w linijkachpoczynając od F = logspace. Następnie jest pokazane widmo sygnału przed ipo filtracji. Na koniec oba nagrania zostają odtworzone.c l e a r a l l ; c l f ;f 1 = 1600; % c z ę s t o t l i w o ś ć dolnaf 2 = 5000; % c z ę s t o t l i w o ś ć górnaN = 15; % rząd f i l t r u[ x , f s , n b i t s ]=wavread ( ’ republ . wav ’ ) ;[ n ,m]= s i z e ( x ) ;i f m==2, x=x (: , 1)+ x ( : , 2 ) ; endL = n ; % długość wektora danychx=x/max( abs ( x )+0.001); % normalizacja danychdisp ( [ ’ bitów na próbkę = ’ num2str ( n b i t s ) ] ) ;disp ( [ ’ f s = ’ num2str ( f s ) ’ Hz ’ ] ) ;disp ( [ ’ długość = ’ num2str (L) ’ próbek ’ ] ) ;F1 = 2∗ f 1 / f s ; % normalizacja c z ę s t o t l i w o ś c i granicznychF2 = 2∗ f 2 / f s ; % do połowy c z ę s t o t l i w o ś c i próbkowania% wektory k s z t a ł t u j ą c e pasmo i p r o j e k t f i l t r uf = [ 0 F1 F1 F2 F2 1 ] ;m = [ 0 0 1 1 0 0 ] ;[ b , a ] = yulewalk (N, f ,m) ;% charakter ystyka f i l t r u% ( oś c z ę s t o t l i w o ś c i l i n i o w a lub logarytmiczna )f i g u r e ( 1 ) ;%F = l ogspace ( log10 ( 1 0 ) , log10 ( f s / 2 ) , 1 2 8 ) ; % ch−ka l ogF = l i n s p a c e ( 0 , ( f s / 2 ) , 1 2 8 ) ; % ch−ka l i nH = f r e q z (b , a , F, f s ) ;%semilogx (F, 20∗ log10 ( abs (H) ) ) % ch−ka l ogp l o t (F, 20∗ log10 ( abs (H) ) ) % ch−ka l i n


ROZDZIAŁ 7. FILTRY CYFROWE 148g r i d on%f i l t r a c j ay = f i l t e r (b , a , x ) ;y = y/max( abs ( y )+0.001); % normalizacja pof i l t r a c j i% DFT powyższych sygnałów :NFFT = 2^nextpow2 (L ) ; % Długość 2^xX = f f t ( x ,NFFT)/L ;Y = f f t ( y ,NFFT)/L ;f = f s /2∗ l i n s p a c e (0 , 1 ,NFFT/2+1);% rysowanie spektrum c z ę s t o t l i w o ś c i :f i g u r e (2)p l o t ( f , 2∗ abs (X( 1 :NFFT/2+1)) , ’ r − ’ , f , 2∗ abs (Y( 1 :NFFT/2+1)) , ’b− ’)t i t l e ( ’ Spektrum c z ę s t o t l i w o ś c i o w e sygnałów x ( t ) i y ( t ) ’ )x l a b e l ( ’ f [ Hz ] ’ )y l a b e l ( ’ Amplituda ’ )legend ( ’ |X( f ) | ’ , ’ |Y( f ) | ’ )g r i d on% odtworzenie dźwiękówsound (x , f s ) ;sound (y , f s ) ;


Bibliografia[1] Izydorczyk J., Płonka G., Tyma G.: „Teoria sygnałów. Wstęp(teoria, przykłady zadania)”, Wyd. Helion, Gliwice, 1999.[2] Lyons R.G.: „Wprowadzenie do cyfrowego przetwarzania sygnałów”,WKiŁ, 1999.[3] Oppenheim A.V., Schafer R.W.: „Cyfrowe przetwarzanie sygnałów”,WKiŁ, 1979.[4] Zieliński T.: „Cyfrowe przetwarzanie sygnałów. Od teorii do zastosowań”,WKiŁ, 2005 („Od teorii do cyfrowego przetwarzaniasygnałów”, Wydział EAIiE AGH, 2002).[5] Steven W. S.: „The Scientist and Engineer’s Guide to Digital SignalProcessing”, California Technical Publishing, 1997, [dostęp:30 września 2011], .[6] Szabatin J., „Podstawy przetwarzania sygnałów”, Warszawa 2003.[7] Białasiewicz T., „Falki i aproksymacje”, WNT, Warszawa 2000.[8] Schwartz L., „Kurs analizy matematycznej”, Tom I i II. PWN,Warszawa 1980.[9] Candes E., Romberg J., and Tao T., „Robust uncertainty principles:Exact signal reconstruction from highly incomplete frequencyinformation”, IEEE Trans. on Information Theory, 52(2) pp.489 - 509, 2006.[10] Donoho D., „Compressed sensing”, (IEEE Trans. on InformationTheory, 52(4), pp. 1289 - 1306, 2006.149


BIBLIOGRAFIA 150[11] Candes E., Tao T., „Near optimal signal recovery from randomprojections: Universal encoding strategies?”, IEEE Trans. on InformationTheory, 52, pp. 5406 - 5425, 2006.[12] Boufonos P., Romberg J., Baraniuk R., „Compressive Sensing,Theory and Applications”, (IEEE Int. Conf. on Acoustics, Speech,and Signal Processing (ICASSP), Las Vegas, Nevada, April 2008.[13] Shannon C.E.: „A mathematical theory of communication” BellSyst. Techn. Journal, vol. 27, July 1948.[14] V. A. Kotelnikov V. A.: „On the carrying capacity of the etherand wire in telecommunications”, Material for the First All-UnionConference on Questions of Communication, Izd. Red. Upr. SvyaziRKKA, Moscow, 1933 (Russian). (english translation, PDF)[15] C. E. Shannon, „Communication in the presence of noise”, Proc.Institute of Radio Engineers, vol. 37, no. 1, pp. 10–21, Jan. 1949.Reprint as classic paper in: Proc. IEEE, vol. 86, no. 2, (Feb. 1998)[16] Herdegen A.: „Wykłady z algebry liniowej i geometrii”, WydawnictwoDiscepto, Kraków, 2005.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!