Skrypt APSC

150

Transcript of Skrypt APSC

Page 1: Skrypt APSC

!"#"$%&

'(#% ")"*

+,--

% " .* //) 0"* 1$ 2

**$ 3 245 "5 (

4" 4607&,8,-,-0,,0,+9:-,0,,

Page 2: Skrypt APSC

Spis treści

Przedmowa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1 Pojęcia wstępne 7

1.1 Typy sygnałów . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2 Sygnały a informacja . . . . . . . . . . . . . . . . . . . . . . . . . 91.3 Ciągłe sygnały deterministyczne . . . . . . . . . . . . . . . . . . 10

1.3.1 Parametry sygnałów . . . . . . . . . . . . . . . . . . . . . 101.3.2 Sygnały o ograniczonej energii . . . . . . . . . . . . . . . 111.3.3 Sygnały o ograniczonej mocy . . . . . . . . . . . . . . . . 14

1.4 Sygnały dyskretne . . . . . . . . . . . . . . . . . . . . . . . . . . 151.5 Sygnały dystrybucyjne . . . . . . . . . . . . . . . . . . . . . . . . 17

2 Przestrzenie sygnałów 22

2.1 Reprezentacje sygnałów . . . . . . . . . . . . . . . . . . . . . . . 222.2 Własności matematyczne zbiorów sygnałów . . . . . . . . . . . . 26

2.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 30

2.3 Uogólniony szereg Fouriera . . . . . . . . . . . . . . . . . . . . . 332.4 Reprezentacje sygnałów dyskretnych . . . . . . . . . . . . . . . . 342.5 Bazy ortogonalne w przestrzeniach sygnałów ciąglych . . . . . . 36

2.5.1 Zespolona baza harmoniczna . . . . . . . . . . . . . . . . 392.5.2 Rzeczywisty trygonometryczny szereg Fouriera . . . . . . 40

2.6 Podstawowe operacje na sygnałach . . . . . . . . . . . . . . . . . 422.6.1 Splot sygnałów . . . . . . . . . . . . . . . . . . . . . . . . 422.6.2 Korelacja wzajemna, autokorelacja . . . . . . . . . . . . . 44

2

Page 3: Skrypt APSC

SPIS TREŚCI 3

3 Transformata Fouriera 47

3.1 Definicje i przykłady . . . . . . . . . . . . . . . . . . . . . . . . . 483.2 Podstawowe twierdzenia . . . . . . . . . . . . . . . . . . . . . . . 513.3 Transformaty sygnałów dystrybucyjnych . . . . . . . . . . . . . . 533.4 Iloczyn i splot sygnałów . . . . . . . . . . . . . . . . . . . . . . . 54

4 Próbkowanie sygnałów 59

4.1 Problem niejednoznaczności postaci sygnału w dziedzinie często-tliwości . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

4.2 Twierdzenie o próbkowaniu . . . . . . . . . . . . . . . . . . . . . 614.3 Compressed Sampling . . . . . . . . . . . . . . . . . . . . . . . . 64

5 Dyskretna Transformata Fouriera 76

5.1 Definicja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

6 Filtry analogowe 80

6.1 Transformata Laplace’a . . . . . . . . . . . . . . . . . . . . . . . 806.2 Opis liniowych układów analogowych . . . . . . . . . . . . . . . . 836.3 Transmitancja Laplace’a . . . . . . . . . . . . . . . . . . . . . . . 846.4 Rodzaje i charakterystyka filtrów . . . . . . . . . . . . . . . . . . 88

6.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 . . . . . . . . . . . . . . . . . . . . . . . . 99

6.5 Projektowanie filtrów w Matlabie . . . . . . . . . . . . . . . . . . 1006.5.1 Pierwsza charakterystyka

amplitudowo-częstotliwościowa . . . . . . . . . . . . . . . 1006.5.2 Funkcje Matlaba przydatne przy projektowaniu filtrów . . 103

7 Filtry cyfrowe 106

7.1 Transformata Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1077.2 Opis liniowych układów dyskretnych . . . . . . . . . . . . . . . . 1107.3 Transmitancja układów dyskretnych . . . . . . . . . . . . . . . . 1137.4 Filtry FIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

7.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 dzie-

dzinie częstotliwości . . . . . . . . . . . . . . . . . . . . . 119

Page 4: Skrypt APSC

SPIS TREŚCI 4

7.4.4 Projektowanie filtrów FIR metodą Remeza . . . . . . . . 1257.4.5 Pozostałe metody projektowania filtrów FIR . . . . . . . 125

7.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 . . . . . . . . . . . . . . . . . . . . . . . 131

7.6 Filtry IIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1327.6.1 Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . 1327.6.2 Projektowanie filtrów IIR metodą niezmienności odpowie-

dzi impulsowej . . . . . . . . . . . . . . . . . . . . . . . . 1337.6.3 Projektowanie filtrów IIR metodą transformacji biliniowej 1347.6.4 Projektowanie filtrów IIR metodami iteracyjnymi . . . . . 137

7.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 . . . . . . . . . . . . . . . . . . . 140

7.8 Proces filtracji cyfrowej . . . . . . . . . . . . . . . . . . . . . . . 1417.8.1 Struktury filtrów . . . . . . . . . . . . . . . . . . . . . . . 1417.8.2 Filtracja sygnałów w Matlabie . . . . . . . . . . . . . . . 143

Page 5: Skrypt APSC

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ę-puje konwergencja różnych dziedzin z pogranicza informatyki, telekomunikacji,technik obliczeniowych, mediów w jeden wielki trend technologiczny, który przy-bliża nas 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ść ory-ginalnemu sygnałowi z ograniczeniem rozmiaru danych, jak je przechowywać iprzetwarzać. Dlatego w programie niedawno uruchomionej specjalności telein-formatyki na studiach II stopnia z informatyki na Wydziale Fizyki, Matematykii Informatyki Politechniki Krakowskiej znalazł się przedmiot o nazwie Akwi-zycja i Przetwarzanie Sygnałów Cyfrowych (APSC). Celem jego uruchomieniajest zapoznanie studenta z technikami rejestracji i przewarzania danych cyfro-wych. 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. Na-szym celem było napisanie przewodnika przedmiotu, który stara sie wyjaśnićpodstawowe pojęcia dotyczące technologii cyfrowej. Zaczynamy od przedsta-wienia różnego rodzaju typów sygnałów, w tym sygnałów dyskretnych i dys-trybucyjnych. Mimo tego, że dziedzina ta jest tak nowoczesna, to podstawowenarzędzia matematyczne (analiza Fourierowska, będąca podstawą metod często-tliwościowych) zostały wprowadzone już ponad 200 lat temu. Przy ich pomocydyskutujemy metody akwizycji sygnałów dyskretnych z ciągłych żródeł i oma-wiamy warunki, 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

Page 6: Skrypt APSC

Przedmowa 6

metody oszczędnego próbkowania. Jako przykład przetwarzania danych cyfro-wych przedstawiamy różne metody filtracji sygnałów - zarówno analogowychjak i cyfrowych.

Nie zakładamy żadnego specjalnego przygotowania koniecznego dla zrozu-mienia tego 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. Pod-stawowym narzę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 roz-maitych rozwiazań stosownych w przetwarzaniu sygnałów cyfrowych. Zakła-damy, że uczestnicy kursu potrafią posługiwać się Matlabem w stopniu pozwa-lającym na napisanie prostego programu, zdefiniowaniu funkcji, czy też naryso-wanie wykresu.

Na rynku jest dostępnych kilka książek, które są bardziej kompletnym źró-dłem niż 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.

Page 7: Skrypt APSC

Rozdział 1

Pojęcia wstępne

Podstawowym obiektem zainteresowania niniejszego skryptu będą sygnały, zeszczególnym naciskiem na analizę i przetwarzanie sygnałów cyfrowych. Na-leży wię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 tem-peraturę, 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 przy-kładem sygnał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 ge-nerowane przez 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łów

W zależności od ilości zmiennych niezależnych, jak również rodzaju oraz roz-miaru wielkoś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

Page 8: Skrypt APSC

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ł dwuwy-miarowy), zapis sekwencji video (sygnał trójwymiarowy);

• zdolnością odbiorcy do przewidzenia kolejnych wartości sygnału, dzielimysygnały na

deterministyczne - dla których mamy dokładny model matematycznyopisu,

losowe - czyli takie, dla których nie mamy modelu pozwalającena przewi-dzenie kolejnych 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łach

o 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-żemy mó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. skwantyzowa-nym sygnale na wyjściu przetwornika A/C);

Page 9: Skrypt APSC

ROZDZIAŁ 1. POJĘCIA WSTĘPNE 9

3. 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 am-plitudzie stanowią sygnały, które mają ograniczony zbiór możliwych wartości;sygnały z tej grupy nazywamy sygnałami cyfrowymi. Zazwyczaj w takim przy-padku stosujemy rodzaj kodowania bitowego. Jeżeli nasz sygnał cyfrowy ma Nmożliwych dyskretnych wartości, to każdą z jego wartości możemy jednoznacz-nie określić przez podanie n-bitowego ciągu, N ≤ 2n - 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; od-grywają one coraz większą rolę w transmisji i przetwarzaniu danych cyfrowych.

1.2 Sygnały a informacja

Dla 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 war-tościami sygnału, tylko raczej z prawdopodobieństwem otrzymania danej warto-ści sygnału. Według tej teorii miarą ilości informacji IA związanej z rejestracjąsygnału A, prawdopodobieństwo uzyskania którego wynosi pA, jest wielkośćlog2( 1

PA). Gdy przesyłany sygnał jest deterministyczny, czyli gdy odbiorca ma

peł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. Powo-dem tego 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.

Page 10: Skrypt APSC

ROZDZIAŁ 1. POJĘCIA WSTĘPNE 10

1.3 Ciągłe sygnały deterministyczne

W 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łów

Podstawowymi 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 [t1′t2]

〈x〉 =ˆ t2

t1

x(t)dt,

2. wartość średnią dla sygnałów o nieskończonym czasie trwania

〈x〉 = limT →∞

12T

T

−T

x(t)dt,

3. wartość średnią dla sygnałów okresowych o okresie T:

〈x〉 =1T

t0+Tˆ

t0

x(t)dt,

4. energię:

Ex =

−∞

x2(t)dt,

5. średnią moc:

Px = limT →∞

12T

T

−T

x2(t)dt,

Page 11: Skrypt APSC

ROZDZIAŁ 1. POJĘCIA WSTĘPNE 11

6. średnią moc sygnału okresowego:

Px =1T

t0+Tˆ

−t0

x2(t)dt,

1.3.2 Sygnały o ograniczonej energii

Mają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 trwa-nia do pewnego skończonego odcinka czasowego; poza nim taki sygnał jest ze-rem. Taki sygnał nazywamy sygnałem impulsowym - najprostszy sygnał im-pulsowy to impuls prostokątny Π(t). Dokładniej mówiąc, symbol Π(t) oznaczaznormalizowany w czasie i amplitudzie sygnał impusowy, którego kszałt przed-stawia rys.1.1a.

Stosując skalowanie szerokości i amplitudy oraz przesunięcie jesteśmy w sta-nie uzyskać 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−c

b ).Mając taki impuls prostokątny możemy wyciąć z dowolnego sygnału jego

fragment, będący impulsem o szerokości i położeniu określonym przez parame-try impulsu prostokątnego, natomiast amplitudzie określonej przez wartości sy-gnał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ój-ką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:

Page 12: Skrypt APSC

ROZDZIAŁ 1. POJĘCIA WSTĘPNE 12

-0.5 0 0.5

1

t

x(t)

(a) Znormalizowany impuls prostokątny

-1 0 1

1

t

x(t)

(b) Impuls trójkątny

Rysunek 1.1: Przykłady sygnałów impulsowych

-T/4 0 T/4

1

t

x(t)

(a) Impuls kosinusoidalny wycięty oknem prosto-kątnym

0 T

1

t

x(t)

(b) Impuls wycięty z przebiegu wkładniczego im-pulsem prostokątnym

Rysunek 1.2: Działanie funkcji okna

Page 13: Skrypt APSC

ROZDZIAŁ 1. POJĘCIA WSTĘPNE 13

0 T

A

t

x(t)

(a) Eksponecjalnie malejący

t

x(t)

(b) Sinusoida tłumiona

Rysunek 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 sy-metrycznego impulsu prostokątnego Π( t

T ) na nieskończony (w czasie) sy-gnał 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ń wie-dzą, że sygnał nie musi mieć charakteru impulsu (czyli - jak to określają mate-matycy - 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 odpowied-nio szybko 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 trwa-nia sygnału to przebieg gaussowski (rys.1.4b) oraz sygnał Sinc(ω0t) (nazywanyrównież Sa(ω0t), określony następująco:

Sinc(t) =

sin(ω0t)ω0t dla t 6= 0

1 dla t = 0,

którego przebieg przedstawia rys.1.4a. Zobaczymy, że sygnał opisany taką funk-cją jest blisko związany z impulsem prostokątnym oraz, że odgrywa dużą rolę

Page 14: Skrypt APSC

ROZDZIAŁ 1. POJĘCIA WSTĘPNE 14

1

t

x(t)

(a) Sygnał Sinc(ω0t)

1

t

x(t)

(b) Sygnał gaussowski

Rysunek 1.4: Inne ważne sygnały o skończonej energii

w teorii próbkowania, będącego częścią procesu akwizycji sygnałów cyfrowychz sygnałów analogowych.

1.3.3 Sygnały o ograniczonej mocy

Warunek skończoności energii jest dość silnym ograniczeniem na postać sygnałuponieważ nakłada wymagania efektywnej lokalizacji przebiegu sygnału. Szer-szą 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(ω0t)

• 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(t) =

1 dla t ≥ 00 dla t < 0

(1.1)

jak też funkcja znaku, określona jako:

Page 15: Skrypt APSC

ROZDZIAŁ 1. POJĘCIA WSTĘPNE 15

A

t

x(t)

A

(a) bipolarna

A

t

x(t)

(b) unipolarna

Rysunek 1.5: Fala prostokątna

sgn(t) =

1 dla t > 00 dla t = 0−1 dla t < 0

(1.2)

Przebiegi 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ąt-nym - być używane jako narzędzia do formowania sygnału; na przykład znor-malizowany sygnał skoku jednostkowego możemy też zapisać:

Π(t) = 1(t+ 0.5)− 1(t− 0.5)

1.4 Sygnały dyskretne

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 zain-teresowania, będziemy otrzymywać poprzez pomiar wartości sygnału analogo-wego w określonych z góry punktach czasowych. Proces tego pomiaru nazywaćbędziemy próbkowaniem sygnału. Najczęściej stosuje się próbkowanie równo-mierne, polegające na pomiarze sygnału w równo odległych od siebie chwilachczasowych tn = nTs, gdzie n - numer próbki w sekwencji. Czas Ts nazywamy

Page 16: Skrypt APSC

ROZDZIAŁ 1. POJĘCIA WSTĘPNE 16

0

1

t

x(t)

(a) Funkcja skoku jednostkowego 1(t)

0

1

t

x(t)

(b) Funkcja znaku sgn(t)

Rysunek 1.6: Podstawowe funkcje o ograniczonej mocy

okresem próbkowania, a jego odwrotność fs = 1/Ts - częstotliwością próbkowa-nia. Ponieważ dla takiego próbkowania czas pobierania próbki jest jednoznacz-nie zadany 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 sy-gnału takie 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.

Ex =

−∞

x2(t)dt −→∞∑

n=−∞x2(n)

Px = limT →∞

12T

T

−T

x2(t)dt −→ limN→∞

12N + 1

N∑

−N

x2(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. Ry-sunki 1.7a i 1.7b pokazują dyskretne wersje impulsu prostokątnego oraz impulsutrójkątnego.

Page 17: Skrypt APSC

ROZDZIAŁ 1. POJĘCIA WSTĘPNE 17

-3 0 1 2 3

1

n

x[n]

(a) dyskretny impuls prostokątny

-3 0 1 2 3

1

n

x[n]

(b) Dyskretny impuls trójkątny

Rysunek 1.7: Przykłady sygnału dyskretnego

1.5 Sygnały dystrybucyjne

Omawiane 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 defini-cja jest 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ę-dzie otwartym podzbiorem zbioru liczb rzeczywistych. Rozważamy przestrzeńfunkcji określonych na Ω o wartościach liczbowych. Matematycy definiują dys-trybucje jako liniowe odzworowania, które funkcjom pewnej dobrze określonejpodklasy wszystkich możliwych funkcji liczbowych określonych na Ω, nazywa-nej zbiorem 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ól-nymi przypadkami, powiniśmy jako funkcje próbne wybrać bardzo szczególnefunkcje. Muszą one być gładkie tak, by można obliczyć pochodne dowolnego

Page 18: Skrypt APSC

ROZDZIAŁ 1. POJĘCIA WSTĘPNE 18

rzę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 Lf , który dowolnej funkcjipróbnej ϕ ∈D(Ω) przypisze jednoznacznie liczbę, ponadto dla dowolnych funkcjipróbnych ϕ1 , ϕ2 oraz dowolnych liczb a1, a2 spełniona jest relacja

Lf(a1ϕ1 + a2ϕ2) = a1Lf(ϕ1) + a2Lf(ϕ2).

Jak można określić działanie Lf ? Gdy f jest funkcją lokalnie całkowalną,to poprawnym sposobem określenia tego działania jest formuła:

Lf (ϕ) =ˆ

Ω

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ż prze-pis na 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-ślamy jako:

Lδ0(ϕ) = ϕ(0)

Twierdzimy, że jest to dobrze określona dystrybucja. By to wykazać trzebapokazać, że:

Page 19: Skrypt APSC

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 for-mułę 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-łyby być spełnione dwa sprzeczne ze sobą wymagania:

• wartość funkcji δ(t) musiałaby być równa 0 dla t 6=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ów-nym 1. 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α→0

δ(t, α) = δ(t).

Takich 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

Page 20: Skrypt APSC

ROZDZIAŁ 1. POJĘCIA WSTĘPNE 20

cią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) t2 +O(t3).

Po wstawieniu tego rozwinięcia do całki dostajemy następujące wyrażeniena jej przybliżoną wartość:

−∞

dxδ(t, α)ϕ(t) =1α

[

[ϕ(0)α +124ϕ′′(0)α3 +O(α5)

]

= ϕ(0) +124ϕ′′(0)α2 +O(α4)

Oznacza to, że limα→0 δ(t, α) = δ(t). Powyższy sposób dowodzenia rów-ności dystrybucyjnych jest dość często stosowany; zastosujemy go jeszcze dowykazania następującej relacji dystrybucyjnej:

d

dt1(t) = δ(t).

Aby dowieść tej relacji określmy sygnał 1(t) jako granicę następującego ciąguaproksymacyjnego:

1(t) = limα→0

0 dla t < −α2

tα + 1

2 dla − α2 < t < α

2

1 dla t > α2 .

Pochodna tego wyrażenie prowadzi do następującego ciągu aproksymacyj-nego:

d

dt1(t) =

0 dla t < −α2

1α dla − α

2 < t < α2

0 dla t > α2 .

Page 21: Skrypt APSC

ROZDZIAŁ 1. POJĘCIA WSTĘPNE 21

Ostatnia 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− t0)ϕ(t) = ϕ(t0). (1.4)

Powyższe relacje pokazują, że dystrybucja delta może być uważana za ma-tematyczny model próbkowania: działanie δ(t − t0) na ciągły sygnał x(t) dajepróbkę tego sygnału w t0. Obiektem realizującym jednorodne próbkowanie sy-gnału ciągłego z okresem próbkowania Ts jest tak zwana dystrybucja grzebie-niowa, nazywana inaczej „grzebieniem Diraca”. Jest ona określona jako nieskoń-czona suma impulsów Diraca, powtarzanych z okresem Ts.

δTs (t) =∞∑

n=−∞δ(t− nTs). (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(nT0)δ(t− nTs).

Sygnał opisany przez tę formułę jest sygnałem dystrybucyjnym opisującymwynik próbkowania.

Page 22: Skrypt APSC

Rozdział 2

Przestrzenie sygnałów

W niniejszym rozdziale zajmiemy się omówieniem wymagań matematycznychzwiązanych z akwizycją i przetwarzaniem sygnałów. Pokażemy, że reprezen-tacja sygnał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łów

Do tej pory traktowaliśmy sygnały jako abstrakcyjne wielkości reprezentującewyniki pomiarów. Jak zobaczymy za chwilę, ten sam sygnał może być zapi-sany w 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, sta-rając się 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 zaprezen-tować sygnał z ustaloną z góry dokładnością. Tak więc odpowiedni wybór repre-zentacji może pozwolić na znaczną kompresję danych. Dobór reprezenatcji jestrównież ważny w procesach przetwarzania sygnałów. Na przykład często potra-fimy powiedzieć, co się dzieje w procesie, gdy sygnał ma określoną częstotliwość.

22

Page 23: Skrypt APSC

ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 23

Dlatego też jedną z podstawowych metod analizy sygnałów jest analiza często-tliwoś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:

w1 = (25, 23), w2 = (22, 23), w3 = (20, 22), w4 = (18, 17). Taki zapis wyni-ków sugeruje, 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):

e1 =[

10

]

, e2 =[

01

]

.

Przy takich założeniach zapis wektora w =[

ab

]

oznacza, że liczby a i b są współ-

czynnikami rozwinięcia wektora w w bazie e1, e2, w = a

[

10

]

+ b

[

01

]

. Obliczając

energię naszego układu dla wektora w otrzymujemy E = a2 + b2. Dla sygnałówtakich jak rozważane w naszym przykładzie obie składowe sygnałów są porów-nywalne, a więc ich znaczenie w dla dokładnej reprezentacji wektora w bądzietego samego rzędu. Dlatego w reprezentacji określonej przez wzorce e1, e2 mu-simy z 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:

f1 =[

11

]

, f2 =[

1−1

]

Teraz chcemy wyrazić nasz wektor jako kombinację nowych sygnałów wzor-cowych:

w =[

ab

]

= αf1 + βf2 = α

[

11

]

+ β

[

1−1

]

=[

1 11 −1

] [

αβ

]

Wektor x =[

αβ

]

, który jest reprezentacją sygnału w bazie f1,f2 spełnia rów-

nanie liniowe postaci w = Ax, gdzie A jest macierzą związaną z przejściem od

Page 24: Skrypt APSC

ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 24

Tablica 2.1: Reprezentacja sygnału - ilustracja

wektor e1, e2 f1, f2 rekonstrukcja błąd h1, h2

w1

[

2523

] [

241

] [

2424

] [

1−1

]

1√2

[

241

]

w2

[

2223

] [

22, 5−0, 5

] [

22, 522, 5

] [

−0, 50, 5

]

1√2

[

22, 5−0, 5

]

w3

[

2022

] [

21−1

] [

2121

] [

−11

]

1√2

[

21−1

]

w4

[

1817

] [

17, 5−0, 5

] [

17, 517, 5

] [

0, 5−0, 5

]

1√2

[

17, 5−0, 5

]

starej do nowej bazy. Jak wiemy z algebry zmiana wektorów bazowych jestrównoważna określeniu pewnej liniowej transformacji opisanej macierzą, któ-rej kolumny 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−1w. 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 po-miarowych z omawianego przykładu odpowiednio dla wzorców e1, e2 orazf1, f2.

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 reprezentacjif1, f2 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 ko-dowania zupełnie zaniedbali wartość drugiej składowej (przyjęli, że jest równa0), a następnie tak zmodyfikowany wektor przekształcili na powrót do reprezen-tacji pierwszej, 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 polega-jącego na zaniedbaniu drugiej składowe dostajemy i powrocie do reprezenta-cji pierwszej 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

Page 25: Skrypt APSC

ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 25

kodowania w tzw. kodowaniu transformacyjnym, którego sztandarowym przy-kładem jest kodowanie JPEG. Widzimy, ze właściwy wybór sygnałów wzorco-wych moż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 roz-wiązania pewnego 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 or-tonormalny, 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 f1, f2są prostopadłe(f1 · f2 = 0), ale nie są unormowane, czyli należy wprowadzić nowy, unormo-

wany układ wektorów h1 = 1√2

[

11

]

, h2 = 1√2

[

1−1

]

. Oczywiście jest to sytuacja

analogiczna do omawianej poprzednio, czyli możemy wyliczyć postać naszej re-prezentacji wektorów omawianą wcześniej metodą rowwiązania układu równańliniowych, ale znacznie prościej będzie wykorzystać ortogonalność wektorów ba-zowych. Zapisujemy formalny rozkład wektorów w bazie ortogonalnej, czyliw = xh1 + yh2 . Mnożąc obie strony tego równania przez h1otrzymujemy:

w · h1 = xh1 · h1 + y h2 · h1 = x.

Podobnie przemnażając skalarnie wyjściowe równanie przez h2 uzyskujemyy = w ·h2. Dla wektorów rozważanych w przykładzie, współczynniki rozwinięciaw bazie h1, h2są 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

f1, f2.Warto zwrócić uwagę na jeszcze jeden aspekt zagadnienia - dotyczy on energii

sygnału w różnych reprezentacjach. Gdy obliczymy energię jako sumę kwadra-tów współczynników rozwinięcia w danej reprezentacji, to przekonamy się, żetak określna energia jest taka sama w reprezentacji z wzorcami e1, e2 orazh1, h2, ale jest różna, gdy stosujemy wzorce f1, f2. Powododem tego jestfakt, że transformacja powiązana ze zmianą bazy ei → fk nie jest transfor-macją ortogonalną (czyli nie zachowuje długości), natmiast jest nią transforma-cja zwiazana z przejściem zmiana bazy z ei → hk.

Page 26: Skrypt APSC

ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 26

2.2 Własności matematyczne zbiorów sygnałów

Omówiony w poprzednim rozdziale przykład przekonuje, że po to, by móc wyko-nywać 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łu-gości pojedyń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żli-wości dodawania 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 sta-wimy zbiorom 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 iden-tyfikowania natury obiektów będących sygnałami.

2.2.1 Własności metryczne przestrzeni sygnałów

Minimalne 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) (symetria),

• ρ(x, z) ≤ ρ(x, y) + ρ(y, z) (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 de-finicję 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ó-rego odległości jego elementów maleją do zera) ma granicę, która jest równieżelenetem tej przestrzeni.

Page 27: Skrypt APSC

ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 27

Oczywiś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ń Rn n-elementowych ciągów liczb rzeczywistych. Możemy zde-

finiować różne metryki, n.p.:

(a) metryka dyskretna: ρ(x, y) =

0 dla x = y

1 dla x 6= y,

(b) metryka taksówkowa: ρ(x, y) =N∑

i=1

|(xi − yi|,

(c) metryka Euklidesa: ρ(x, y) =

N∑

i=1

(xi − yi)2 .

2. Przestrzeń sygnałów o ograniczonej energii (zwykle oznaczaną symbolemL2) jest przestrzenią metryczną z metryką:

ρ(x, y) =

−∞

|x(t) − y(t)|2dt

3. Przestrzeń funkcji okresowych o okresie T0 jest przestrzenią metryczną zmetryką:

ρ(x, y) =

1T0

−∞

|x(t)− y(t)|2dt

2.2.2 Struktura liniowa przestrzeni sygnałów

Jak 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-żeniu ich 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 opera-cje: dodawanie sygnałów (opreacja "+") oraz mnożenia przez liczbę z ciała K(operacja "*") o własnościach:

Page 28: Skrypt APSC

ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 28

• przemienność dodawania: x+ y = y + x

• łączność dodawania: (x + y) + z = x+ (y + z)

• łączność mnożenia: α(βx) = (αβ) x

• rozdzielność mnożenia względem dodawania: α(x + y) = αx + αy oraz(α+ β)x = αx+ βx

W charakterze ciała liczbowego K będziemy stosować zbiór liczb rzeczywistychlub zbiór liczb zespolonych.

Przykłady:

1. Przestrzeń Rn n-elementowych ciągów liczb rzeczywistych ze zwykłym

dodawaniem wektorów i mnożeniem wektora przez liczbę.

2. Przestrzeń sygnałów o ograniczonej energii (przestrzeń L2) uzupełniona osygnał zerowy x(t) ≡ 0 z dodawaniem funkcji i mnożeniem funkcji przezliczbę określoną w zwykły sposób.

3. Przestrzeń funkcji okresowych o okresie T0.

2.2.3 Norma, iloczyn skalarny

Ważnym elementem prowadzącym do stworzenia konstrukcji najlepiej przystoso-wanych do analizy sygnałów jest połączenie własności algebraicznych i metrycz-nych. Pierwszym krokiem w tą stronę jest wprowadzenie liniowych przestrzeniunormowanych.

Mówimy, że zbiór sygnałów ma strukturę liniowej przestrzeni unormowanej,jeżeli:

1. jest on przestrzenią liniową

2. w zbiorze tym zdefiniowano normę, czyli odwzorowanie, które każdemusygnałowi x przypisuje nieujemną liczbę rzeczywistą ‖x‖, zwaną normątego sygnału, o własnościach:

• ‖x‖ = 0 ⇔ x = 0

• ‖|αx‖ = |α|‖• ‖ x+ y‖ ≤ ‖x‖+ ‖y‖

Page 29: Skrypt APSC

ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 29

Każ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 wypo-sażony jest wszystkie atrybuty, które sprawiają, że ma on (wraz z odpo-wiednimi dział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ń Rn n-elementowych ciągów liczb rzeczywistych. Możemy zde-

finiować różne normy, n.p.:

(a) norma L1: ‖x‖1 =N∑

i=1

|(xi − yi|, indukuje ona metrykę taksówkową,

(b) norma L2: ‖x‖2 =

N∑

i=1

(xi − yi)2, indukuje ona metrykę Euklidesa.

2. Przestrzeń L2 sygnałów o ograniczonej energii jest liniową przestrzeniąunormowaną z normą:

‖x‖L2 =

−∞

|x(t)|2dt.

3. Przestrzeń funkcji okresowych o okresie T0 jest liniową przestrzenią unor-mowaną z normą:

‖x‖L2T0

=

1T0

T0ˆ

0

|x(t)|2dt

Mó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ż-dej uporządkowanej parze x, y elementów tej przestrzeni przypisze liczbę (x, y)zespoloną tak, by spełnione były warunki:

• < x, y >=< y, x >∗,

Page 30: Skrypt APSC

ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 30

• < αx+ βy, z >= α < x, z > +β < y, z >,

• x 6= 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ą swo-jego pierwszego argumentu i antyliniową (tzn. liniową + sprzężenie zespolone)- drugiego.

Jeżeli w zbiorze sygnałów (przestrzeni liniowej) jest określony iloczyn ska-larny, 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ż prze-strzenią 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ślenie

dwóć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 ortonor-

malne

Jedną 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 wiel-kość |<x,y>|

‖x‖‖y‖ to 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:

≮ (x, y) =

arccos( |<x,y>|‖x‖‖y‖ dla x 6= 0 oraz y 6= 0

0 dla x = 0 lub y = 0

Page 31: Skrypt APSC

ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 31

Jeż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ę-dem siebie prostopadłe).

W pierwszj części rozdziału dyskutowaliśmy problem reprezentacji sygnałui związany z nim problem wyboru sygnałów wzorcowych. Matematycznym od-powiednikiem sygnałów wzorcowych są tzw. wektory bazowe w przestrzeniachunitarnych lub przestrzeniach Hilberta będących zbiorami sygnałów. Aby wy-jaśnić czym jest baza w przestrzni liniowej należy najpierw określić pojęcie li-niowej niezależności sygnałów. Rozważny zbiór XN = xi(t), i = 1, 2, ..., Nsygnałów przestrzeni liniowej V . Każdy sygnał zbudowany według przepisux(t) =

aixi(t), gdzie ai - liczby (współczynniki kombinacji) nazywamy kom-binacją liniową sygnałów xi z XN . Mówimy, że zbiór XN sygnałów jest li-niowo niezależ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 do-wolny ukł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 nieza-leżnych, to dodatkowo spełniają warunek ortogonalności. Oznacza on, że dladwóch dowolnych sygnałów z XN każde dwa różne wektory bazowe są do siebieprostopadłe, czyli jeżeli xi oraz xj ∈ XN oraz (i 6= j) ⇒< xi, xj> = 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 = xi, i = 1, 2, ...N będzie takąbazą. Wtedy, dowolny wektor przestrzeni można zapisać jako rozwinięcie w

bazie X: g =N∑

k=1

akxk, h =N∑

k=1

bkxk. Obliczając iloczyn skalarny tych wektorów

dostajemy

g · h =N∑

i=1

N∑

j=1

aibj ∗ xi · xj =N∑

i=1

aib∗i = a · b. (2.1)

Wynik ten, to treść twierdzenia Parsevala, które mówi, że iloczyn skalarnydwóch sygnałów jest równy iloczynowi skalarnemu współczynników rezwinięcia

Page 32: Skrypt APSC

ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 32

tych 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 itera-cyjnej procedury Gramma-Schmidta.

Przykład:Mamy określone 3 wektory w przestrzeni R3:

x1 =

111

, x2 =

121

, x3 =

112

.

Należy skonstruować na tej podstawie bazę ortonormalną w R3, którejpierwszy wektor jest proporcjonalny do x1.

Aby wykonać to zadanie, to na podstawie zbioru liniowo niezależnych wek-torów x1, x2, x3 konstrujemy zbiór wektorów ortogonalnych y1, y2,y3, przyj-mując dla każdego i, że yi jest równe xi od którego odjęto jego rzuty na wcześniejustalone wektory yk. Po znalezieniu wszystkich yi znajdujemy końcowy układwektorów bazy ortonormalnej poprzez unormowanie wektorów yi.

1. Krok pierwszy: przyjmujemu, że y1 = x1.

2. Krok drugi: przyjmujemy y2 = x2−a1y1; wartość a1ustalamy żądając, byznikał iloczyn skalarny y1 · y2, co prowadzi do równania x2 · y1 = a1y1 · y1,

którego rozwiązanie to a1 = 43 . To daje y2 = 1

3

−12−1

. Ponieważ norma

y2 nie ma na razie znaczenia (i tak będzie ustalona na końcu), możemy

też za y2 przyjąć

−12−1

.

3. Krok trzeci: przyjmujemy y3 = x3−a2y1−b2y2; wartości a2 i b2 ustalamyżądając znikania iloczynów skalarnych y1 · y3 oraz y2 · y3, co prowadzido równań x3 · y1 = a2y1 · y1 oraz: x3 · y2 = b2y2 · y2. z rozwiązaniami

a2 = 43 , b2 = − 1

6 . To daje y3 = 12

−101

.

4. Dzielimy yi przez ich normy otrzymując: z1 = 1√3

111

, z2 = 1√6

−12−1

,

Page 33: Skrypt APSC

ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 33

z3 = 1√2

−101

.

Kwestia istnienia baz oraz baz ortogonalnych w przestrzeniach skończenie wy-miarowych wydaje się dość prosta. Poważniejszy problem to bazy w przestrze-niach nieskończenie wymiarowych. Gdy w przestrzeni sygnałów V mamy nie-skończony (przeliczalny) zbiór liniowo niezależnych sygnałów X = xk, 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 sy-gnały z 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. Prze-strzenie w których to jest możliwe nazywają się ośrodkowymi przestrzeniamiHilberta.

2.3 Uogólniony szereg Fouriera

Gdy przestrzeń sygnałów V jest ośrodkową przestrzenią Hilberta z bazą or-tonormalną X=xk ∈ 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∈K

akxk (2.2)

Równość taką należy rozumieć jako równość w sensie normy, co oznacza że

‖x−∑

k∈K

akxk‖ = 0

Szereg 2.2 nazywamy uogólnionym szeregiem Fouriera, a liczby akwspółczynnikamiFouriera tego szereregu. Aby je wyznaczyć, korzystamy z faktu, że wektory xk

są ortonormalne; mnożąc skalarnie równanie 2.2 przez wektor xn dostajemy:

x · xn =∑

k∈K

akxk · xn =∑

k∈K

akδkn = an, (2.3)

Page 34: Skrypt APSC

ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 34

gdzie symbol δijto 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ów-naniem syntezy. Pokażemy teraz kilka przypadków uogólnionych szeregów Fo-uriera w przestrzeniach skończenie wymiarowych; najbardziej znane przypadkiklasycznych trygonometrycznych szeregów Fouriera dla nieskończenie wymiaro-wych przestrzeni sygnałów zostaną omówione w następnym rozdziale.

2.4 Reprezentacje sygnałów dyskretnych

Sygnał 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 orozmiarzeN = 64. Uogólniając - sygnał cyfrowy możemy traktować jako wektorw N wymiarowej przestrzeni. Taka przestrzeń ma naturalną bazę ortonormalnąei, i = 1, ..., N , w której i-ty wektor bazowy ei ma na i-tej pozycji jedynkę, pozatym same zera (uogólnienie kanonicznej bazy w przestrzeni R3).

Oczywiście, nie jest to jedyna baza ortonormalna w N -wymiarowej prze-strzeni. 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 zespo-lonej na okręgu o promieniu 1. Oznacza to, że n-ta składowa k-tego wektorabazy jest postaci:

fk(n) =1√N

exp(j∆n,k),

gdzie j to jednostka urojona (j2 = −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πNkn. (2.4)

To daje następujący przepis na składowe wektorów bazy:

Page 35: Skrypt APSC

ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 35

fk(n) =1√N

exp(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:

fk ·fn = 1N

N−1∑

m=0exp(2πj

N mk) exp(− 2πjN mn) = 1

N

M−1∑

m=0[exp(2πj

N (k−n)]m = 1N S

Dla n = k wielkość S w ostatnim wzorze to suma jedynek; dostajemy waru-nek unormowania wektorów bazowych: ‖fk‖ = 1. Dla k 6= n musimy obliczyć S- jest to suma szeregu geometryczny, jej wartość wynosi:

S =1− qN

1− q , (2.5)

gdzie q = exp(2πjN (k−n)). Dla k 6= n, oraz k, n < N wielkość k−n

N nie jest liczbącałkowitą, więc wielkość q = exp(2πj

N (k − n)) jest różne od 1, czyli mianownikwzoru (2.5) jest różny od zera. Namiast w liczniku wyrażenie qN = exp(2πj

N (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 b0wszystkie fazy są równe 0, dla wektora b1fazy są równe π2 (0, 1, 2, 3),

dla wektora b2 wynoszą one π2 (0, 2, 4, 6), natomiast wektor b3 zadają fazy

π2 (0, 3, 6, 9). Taki wybór faz daje następujący zestaw ortonormalych wektorówbazowych:

b0=[ (1 , 0), (1, 0), (1, 0), (1, 0)]/2 = [1, 1, 1, 1]/2 + j [0, 0, 0, 0]/2

b=[ (1, 0), (0, 1), (-1,0), (0, -1)]/2 = [1, 0, -1, 0]/2 + j [0, 1, 0, -1]/2

b2=[ (1, 0), (-1,0), ( 1,0), (-1,0)]/2 = [1, -1, 1, -1]/2 + j [0, 0, 0, 0]/2

b3=[ (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ą eizauważamy, że

bazy te zupełnie inaczej opisują dane. Gdyby na przykład nasze dane opisy-wały próbki dzwięku poprzez podanie natężenia dźwięku w kolejnych chwilachnumerowanych od 1 do N, to znaczenie k-tego wektora bazowego ek 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 ek.

Natomiast dyskretna baza Fouriera (i inne bazy ortonormalne, które przed-stawimy za 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

Page 36: Skrypt APSC

ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 36

na definicje dyskretnej bazy fourierowskiej i na przedstawione przykłady widać,że wektor bazowy b0 opisuje składową stałą w naszym przebiegu; jego ampli-tuda mówi jakie było średnie natężenienie dzwięku w całym przebieg. Natomiastwektory biopisują coraz większą zmienność - wektory b1,b2,... odpowiadają czę-stotliwościom f0, 2f0, 3f0, ... itp., gdzie f0 = fs/N , zaś fS to częstotliwośćpróbkowania.

Gdy rozłożymy dyskretną zespoloną bazę Fouriera na część rzeczywistą iurojoną:

bk(n) =1√N

exp(

2πjN

kn

)

=1√N

[

cos(

2πNkn

)

+ j sin(

2πNkn

)]

(2.6)

to zauważymy, że układ wektorów określonych jako cześć urojona odpowied-nich wektoró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):

bk(n) = c(k) cos(

πk(2n+ 1)2N

)

, c(0) =

1N, c(i) =

2Ndla k > 0 (2.7)

• baza sinusowa (DST):

bk(n) =

2N + 1

sin(

π(k + 1)(n+ 1)N + 1

)

(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-

łów ciąglych

W jednym z poprzednich podrozdziałów pokazaliśmy ogólną strategię związanąz aproksymacją sygnałów, które są ósrodkowymi przestrzeniami Hilberta, czyli

Page 37: Skrypt APSC

ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 37

są przestrzeniami liniowymi z iloczynem skalarnych, są zupełne i posiadają bazęortonormalną. Pokazaliśmy tam, że każdy sygnał z takiej przestrzeni można za-pisać jako sumę ortonormalnych sygnałów wzorcowych - jest to tzw. uogólnionyszereg Fouriera, przy czym współczynniki tego rozwinięcia są iloczynami ska-larnymi sygnał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ł Fo-uriera. Interesować nas więc będzie zbiór L2

T0sygnałów okresowych o okresie T0.

Ta przestrzeń sygnałów, z iloczynem skalarnym określonym jako:

< x, y >=1T

t0+Tˆ

t0

dtx(t)y(t) (2.9)

jest przestrzenią Hilberta. Zacznimy od przypadku, gdy zarówno aproksymo-wane funkcje jak też funkcje bazowe aproksymacji są rzeczywiste. Niech fkbędzie rodziną takich funkcji, które spełniają warunek ortogonalności z iloczy-nem skalarnym (2.9), czyli dla i 6= j spełniają relację:

t0+Tˆ

t0

fi(t) fj(t) = 0

Nie będziemy wymagać, by te funkcje były unormowane do ‖fi‖ = 1. Sto-sując ogólną metodę postępiwania postulujemy rozwinięcie:

x(t) =∞∑

k=−∞ckfk(t). (2.10)

Mnożąc skalarnie powyższe równanie przez fn(t) dostajemy wyrażenie nawspółczynniki rozwinięcia:

cn =

t0+T´

t0

x(t)fn(t)dt

t0+T´

t0

fn(t)fn(t)

. (2.11)

Page 38: Skrypt APSC

ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 38

Okazuje się, że taki przepis na aproksymację można uzyskać inaczej - amianowicie poprzez żądanie, by błąd aproksymacji (2.10) rozumiany jako kwa-drat normy 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:

ε =1T

t0+Tˆ

t0

[

x(t) −∞∑

k=−∞ckfk(t)

]2

dt

oraz warunek na jego minimalizację:

∂cn

1T

t0+Tˆ

t0

[

x−∞∑

k=−∞ckfk(t)

]2

dt

= 0

t0+Tˆ

t0

[

x(t) −∞∑

k=−∞ckfk(t)

]

fn(t)dt = 0

t0+Tˆ

t0

x(t)fn(t)dt =∞∑

k=−∞ck

t0+Tˆ

t0

fk(t)fn(t)dt

Ponieważ funkcje fk(t)są ortogonalne, to ostatnia całka w powyższym rów-naniu nie 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ą-zania są identyczne z formułą (2.11). To oznacza, że aproksymacja fourierowskajest optymalna.

Gdy przestrzeń sygnałów jest zespolona, to formuła na współczynniki roz-winięcia ulega lekkiej modyfikacji i przymuje postać:

cn =

t0+T´

t0

x(t)fn(t)∗dt

t0+T´

t0

fn(t)fn(t)∗

Zbadamy teraz rozwinięcia fourierowskie dla zespolonej i rzeczywistej bazyharmonicznej.

Page 39: Skrypt APSC

ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 39

2.5.1 Zespolona baza harmoniczna

Układem zespolonych funkcji okresowych, które można wykorzystać jako bazęw przestrzeni

L2T0

jest przeliczalny ciąg funkcji harmonicznych postaci:

gk(t) = exp(j2π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:

gk(t+ T ) = exp(k2πjT

(t+ T )) = exp(2kπj)g(t),

z 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:

gk(t) = exp(jkω0t) = exp(j2πf0t) = exp(2πjTkt).

Z tych postaci sygnału odczytujemy wartości pulsacji, czestotliwości i okresudla różnych funkcji bazowych: ωk = kω0, fk = kf0, Tk = T0

k . Tak więc w bazieharmonicznej sygnał jest sumą składowej stałej (k = 0) oraz kolejnych harmo-nicznych, 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πf0 =2πT0.

Współczynniki rozwinięcia w tej bazie mają postać:

ck =1T0

t0+Tˆ

t0

x(t) exp(−jkω0t)dt (2.12)

Page 40: Skrypt APSC

ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 40

2.5.2 Rzeczywisty trygonometryczny szereg Fouriera

Najbardziej znanym podejściem do aproksymacji funkcji okresowych jest uży-cie funkcji trygonometrycznych jako funkcji bazowych. Zbiorem sygnałów,jakirozpatrujemy jest zbiór rzeczywistych funkcji okresowych o okresie T0 z iloczy-nem skalarnym (2.9). Rzeczywistą bazą ortogonalną w tej przestrzeni jest zbiórfunkcji:

1, cos k2πT0t, sin k

2πT0t, k = 1, 2, . . .

Używając tej bazy uzyskujemy następujący rozkład rzeczywistych funkcjiperiodyczych o okresie T0 w szereg funkcji trygonometrycznych:

x(t) = a0 +∑

(ak cos kω0t+ bk sin kω0t), (2.13)

gdzie ω0 = 2πT0, k jest liczbą naturalną, a współczynniki rozwinięcia wyrażają

się wzorami:

a0 =1T0

t0+Tˆ

t0

x(t)dt, (2.14)

ak =2T0

t0+Tˆ

t0

x(t) cos kω0tdt, (2.15)

bk =2T0

t0+Tˆ

t0

x(t) sin kω0tdt. (2.16)

Te same formuły uzyskamy, gdy dokonamy rozwinięcia rzeczywistej funkcjiw zespolonej bazie harmonicznej. Wtedy żądane, by zespolony szereg aprok-symował 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ła-dowych (sygnałów wzorcowych) o ustalonych częstotliwościach. Ma ona zasto-sowanie wówczas, gdy aproksymowany sygnał jest okresowy.

Page 41: Skrypt APSC

ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 41

Poniżej zostaną omówione dwa przykłady, które ilustrują zastosowanie sze-regów Fouriera do aproksymacji sygnałów okresowych.

Przykład 1:Nasz sygnał to bipolarna fala trójkątna zadana formułą

f(t) =

− 4AT t− 2A dla − T

2 < t < −T4

4AT t dla − T

4 < t < T4

− 4AT t+ 2A dla T

4 < t < T2

i przedstawiona na rysunku. Należy znaleźć szereg aproksymujący.Używamy bazy trygonometryczej; współczynniki rozwinęcia znajdujemy uży-

wając formuł (2.14-2.16), z t0 = −T/2. Przy takim wyborze obszar całkowaniaw formułach na współczynniki to przedział [−T/2, T/2]. Jest to obszar syme-tryczny wzglę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 sy-metrycznym wzglę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 sy-metrię 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 bk. Korzystając ze wzoru (2.16) i formułyna funkcję, którą rozwijamy dostajemy:

bk =1T

T/2ˆ

−T/2

f(t) sin(kω0t)dt =2T

T/2ˆ

0

f(t) sin(kω0t)dt =

=2T

T/4ˆ

0

4AtTdt+

2T

T/2ˆ

T/4

(

2A− 4AtT

)

sin(kω0t)dt

Całkując przez części dostajemy:

bk =16A sin(kπ

2 ) sin2(kπ4 )

k2π2

Widać, że dla k parzystych pierwszy z sinusów licznika będzie się zerował,co oznacza że szereg aproksymacyjny zawiera tylko człony z nieparzystymi war-tościami k; dla nich pierwszy z sinusów ma wartości ±1. Dla takich wartości k,

Page 42: Skrypt APSC

ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 42

kwadrat drugiego sinusa dla nieparzystych k daje wartość 12 . To pozwala nam

napisać poszukiwane rozwinięcie:

f(t) =8Aπ2

(

sin(ω0t)−132

sin(3ω0t) +152

sin(5ω0t))

.

Przykład 2:Pokaż, że dla sygnału - fali prostokątnej zadanej formułą

f(t) =

0 dla − T2 < t < −T

4

A dla − T4 < t < T

4

0 dla T4 < t < T

2

• rozwinięcie nie zawiera sinusów

• szereg aproksymacyjny ma postać:

f(t) =A

2+

2Aπ

(

cos(ω0t)−13

cos(3ω0t) +15

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łach

Przedstawimy 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łów

Jedna z najważniejszych spośród wszystkich operacji wykonywanych na sygna-łach jest 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)

Page 43: Skrypt APSC

ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 43

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

-0.4 -0.2 0 0.2 0.4

Appro

x[N

](t)

t

N=6

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

-0.4 -0.2 0 0.2 0.4

Appro

x[N

](t)

t

N=18

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

-0.4 -0.2 0 0.2 0.4

Appro

x[N

](t)

t

N=30

-1

-0.5

0

0.5

1

-0.4 -0.2 0 0.2 0.4

Appro

x[N

](t)

t

N=6

-1

-0.5

0

0.5

1

-0.4 -0.2 0 0.2 0.4

Appro

x[N

](t)

t

N=18

-1

-0.5

0

0.5

1

-0.4 -0.2 0 0.2 0.4

Appro

x[N

](t)

t

N=30

Rysunek 2.1: Rozwinięcia w szereg Fouriera fali prostokątnej i trójkątnej.

Page 44: Skrypt APSC

ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 44

W podobny sposób wprowadza się definicję splotu dyskretnego; najważniej-sza róż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 filtracji

sygnał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, autokorelacja

Inną operacją stosowaną powszechnie w przetwarzaniu sygnałów jest wyznacza-nie korelacji dwóch sygnałów. Operacja ta ma na celu zbadanie stopnia podo-bieństwa dwó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 Rxy(τ) jest określona jako:

Page 45: Skrypt APSC

ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 45

Rxy(τ) =

−∞

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 po-między nimi. Szczególnym przypadkiem jest korelacja pomiędzy sygnałem ajego przesuniętą w czasie kopią. W takim przypadku funkcję korelacyjną nazy-wamy funkcją korelacji własnej bądź też autokorelacją. Tą funkcję wyznaczamyze wzoru:

Rxx(τ) = Rx(τ) =

−∞

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ć:

Rxy(k) =∞∑

n=−∞x(n) y(n− k)∗ (2.21)

Rxx(k) = Rx(k) =∞∑

n=−∞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:

Page 46: Skrypt APSC

ROZDZIAŁ 2. PRZESTRZENIE SYGNAŁÓW 46

Rxy =N−1−|k|∑

n=0

x(n)x(n − k)∗ (2.23)

Rxy = 1N−|k|

N−1−|k|∑

n=0

x(n)x(n − k)∗ (2.24)

Rxy = 1N

N−1−|k|∑

n=0

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ść skorelowa-nych par - 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ści-wościami statystycznymi - wartość oczekiwania wielkości opisanej wzorem (2.25)nie jest równa faktycznej wartości parametru, dlatego ten estymator nazywamyestymatorem obciążonym.

Page 47: Skrypt APSC

Rozdział 3

Transformata Fouriera

Głównym przedmiotem zainteresownia niniejszego rozdziału jest analiza często-tliwościowa sygnałów. Polega ona na przejściu do reprezenacji sygnału, w którejsygnałami wzorcowymi są sygnały z ustaloną częstotliwością (ustalonym tem-pem zmian sygnału w czasie bądź przestrzeni). Reprezentacje częstotliwościowesą bardzo użytecznym narzędziem w analizie i przetwarzaniu zarówno dla sygna-łów dyskretnych (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 sy-gnałów cią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ąw-szy od najbardziej fundamentalnego - czy na podstawie próbek sygnału mo-żemy odtworzyć 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 wer-sji? Okazuje się, że w uzyskaniu odpowiedzi na te pytania główną rolę odgrywatransformata Fouriera.

47

Page 48: Skrypt APSC

ROZDZIAŁ 3. TRANSFORMATA FOURIERA 48

3.1 Definicje i przykłady

Niech x(t) - sygnał analogowy, w ogólnym przypadku zespolony. Prostym prze-kształceniem Fouriera 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) =1

−∞

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ów-nanie (3.1) jest odpowiednikiem równania (2.3) dla uogólnionego szeregu Fo-uriera - 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 sze-regów Fouriera; 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 pyta-nie nie jest prosta. Zazwyczaj jako warunek konieczny podaje się wymaganiebezwzględnej całkowalności, czyli relację:

−∞

|x(t)|dt <∞.

Page 49: Skrypt APSC

ROZDZIAŁ 3. TRANSFORMATA FOURIERA 49

Niestety, 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 wprowa-dzono poję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 mamy

limα→0

xα(t) = x(t).

Ponieważ 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 am-

plitudzie A (czyli funkcji AΠ(t/T )).Zauważamy że funkcja, której transformatę mamy obliczyć jest bezwzględ-

nie całkowalna, czyli istnieje jej transformata w sensie zwykłym. Możemy jąwyznaczyć wprost z definicji:

F

[

AΠ(

t

T

)]

=

−∞

AΠ(

t

T

)

exp(−jωt)dt = A

T/2ˆ

−T/2

exp(−jωt) =

= − 1jωA

(

exp(

−jωT2

)

− exp(

jωT

2

))

=

=2Aω

sin(

ωT

2

)

= AT sinc(

ωT

2

)

Możemy więc zapisać:

Π(

t

T

)

←→ T sinc(

ωT

2

)

Przykład 2:

Page 50: Skrypt APSC

ROZDZIAŁ 3. TRANSFORMATA FOURIERA 50

Wyznaczmy teraz transformatę Fouriera rzeczywistego sygnału eksponen-cjalnie zanikającego: x(t) = 1(t)exp(−αt). Również ta funkcja jest bezwzględ-nie całkowalna (dla α > 0), więc możemy obliczyć całkę wprost:

X(jω) =ˆ ∞

0

exp(−αt) exp(−jωt)dt =ˆ ∞

0

exp(−(α+ 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 na-zywamy widmem 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 daje

A(ω) = |X | =1√

α2 + ω2, Φ(ω) = arctan

(

ImX(ω)ReX(ω)

)

= − arctan(ω

α).

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 3

dB 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 sensie

zwykł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:

Page 51: Skrypt APSC

ROZDZIAŁ 3. TRANSFORMATA FOURIERA 51

Xα(jω) =

−∞

exp(−αt)sgn(t) exp(−jωt)dt =

= −0ˆ

−∞

exp((α − jω)t)dt+

0

exp(−(α+ jω)t)dt

= − 1α− jω +

1α+ jω

=−2jωα2 + ω2

Transformatą 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 twierdzenia

Transformata 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łki

2. Symetria: x(t) ←→ X(jω)=⇒ X(jt)←→ 2π x(−ω)

Pokazuje wymienność kształtu sygnału i widma: jeżeli transformata sy-gnału x(t) jest opisana przez funkcję X(jω), to jeżeli jako sygnał weź-miemy X(jt), to jego widmo jest zadane przez przeskalowaną przez czyn-nik 2π funkcję x od argumentu odbitego symetrycznie względem zera.Przykład: pokazaliśmy w poprzednim rozdziale, że Π(t/T )←→ T sinc(ωT/2).

Page 52: Skrypt APSC

ROZDZIAŁ 3. TRANSFORMATA FOURIERA 52

Na podstawie omawianego twierdzenia możemy bez rachunków wyznaczyćtransformatę funkcji sinc(t). Jak to zrobić? Powinniśmy najpierw zrozu-mieć 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 argu-mentu dualnego 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ω0sinc(ω0t). Teraz stosujemytwierdzenie o symetrii i dostajemy: 2ω0sinc(ω0t)←→ 2πΠ(−ω/(2ω0) =2πΠ(ω/(2ω0). Wynik ten można też zapisać:

2ω0sinc(ω0t) ←→ 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) ←→ 1aX(ω

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 widmowej

4. Przesunięcie w czasie: x(t− t0) ←→ exp(−jωt0)X(jω)

5. Przesunięcie w częstotliwości (modulacja zespolona): exp(±jω0t)x(t) ←→X(j(ω ∓ ω0))

Przemnożenie sygnału x(t) przez exp(−jω0t) przesuwa jego widmo w pul-sacji o ω0w porównaniu do wyjściowego, niezmodulowanego sygnału

6. Modulacja rzeczywista

(a) cos(ω0t)x(t) ←→ 12 (X(ω − ω0 +X(ω + ω0)

(b) sin(ω0t)x(t) ←→ 12j (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 .

Page 53: Skrypt APSC

ROZDZIAŁ 3. TRANSFORMATA FOURIERA 53

8. 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 poprzed-nim twierdzeniem pokazuje dualność czasu i częstotliwości: iloczyn w jed-nej dziedzinie daje splot w drugiej.

3.3 Transformaty sygnałów dystrybucyjnych

Do 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ą trans-formatami w sensie granicznym. Punktem wyjścia do ich wyznaczenia jest zna-lezienie transformaty sygnału gaussowskiego. Bezpośrednim rachunkiem możnawykazać następującą relację:

1√2πα2

exp(

− t2

2α2

)

←→ exp(

−α2ω2

2

)

(3.4)

Pokazaliś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. Im-pulsem tego rodzaju jest impuls opisany przez lewą stronie relacji (3.4). Możemywięc napisać, że

limα→∞

1√2πα2

exp(

− t2

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 wszyst-kich czę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, dostajemy

ejω0t ←→ 2πδ(ω − ω0) (3.6)

Page 54: Skrypt APSC

ROZDZIAŁ 3. TRANSFORMATA FOURIERA 54

Inną 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− kT0)

Ta suma jest wielkością periodyczną o okresie T0, 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

T0. W konsekwencji mamy

δT0(t) =1T0

∞∑

k=−∞exp(jkω0t), gdzie ω0 =

2πT0

(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)] =1T0

∞∑

k=−∞F [exp(jkω0t)] =

1T0

∞∑

k=−∞2πδ(ω−kω0) = ω0

∞∑

k=−∞δ(ω−kω0)

(3.8)Tak więc widmo dystrybucji grzebieniowej o okresie T0 w dziedzinie czasu

jest dystrybucją grzebieniową w dziedzinie częstości o okresie ω0 = 2πT0

i ampli-tudzie ω0.

3.4 Iloczyn i splot sygnałów

Bardzo często rozważamy sygnały, które są iloczynem lub splotem innych sy-gnałó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ęk-szości przypadkó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 xw(t), który może być

Page 55: Skrypt APSC

ROZDZIAŁ 3. TRANSFORMATA FOURIERA 55

traktowany 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ściowej nie sygnału x(t), lecz jego obciętej wersji xw(t) = w(t)x(t). Jakwiemy, widmo iloczynu funkcji jest równe splotowi ich widm. Mamy więc:

Xw(ω) =1

2πX ⊗W

Widać, że od wyboru funkcji okna zależy, jak bardzo widmo idealne, daneprzez X(ω), różni się od widma zmierzonego, określonego przez Xw(ω). Zróbmyprosty rachunek dla przypadku sygnału harmonicznego cos(ω0t). 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, dostajemy

X(jω) =12

[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 funk-cje okna 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 am-plitudach, 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 sy-gnał 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ę am-plitudami bę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ść

Page 56: Skrypt APSC

ROZDZIAŁ 3. TRANSFORMATA FOURIERA 56

jej 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 funk-cji ich 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ści w funkcji amplitudy jednej z nich; amplituda drugiej składowej się niezmienia (rozdzielczość ampltudowa - prawy panel rysunku). Ważne w kontek-ście wyboru 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ściach

0.1

1

10

100

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

W(

ω )

ω

W(T, ω)

W(2T, ω/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.

Page 57: Skrypt APSC

ROZDZIAŁ 3. TRANSFORMATA FOURIERA 57

-20

0

20

40

60

80

-4 -2 0 2 4

X(

ω )

ω

ω0 = 0.32

-20

0

20

40

60

80

-4 -2 0 2 4

X(

ω )

ω

ω0 = 0.09

-20

0

20

40

60

80

-4 -2 0 2 4

X(

ω )

ω

ω0 = 0.06

-20

0

20

40

60

80

-4 -2 0 2 4

X(

ω )

ω

A = 1.0

-20

0

20

40

60

80

-4 -2 0 2 4

X(

ω )

ω

A = 0.4

-20

0

20

40

60

80

-4 -2 0 2 4

X(

ω )

ω

A = 0.1

Rysunek 3.1: Możliwości rozdzielcze analizy częstotliwościowej sygnałów.

Page 58: Skrypt APSC

ROZDZIAŁ 3. TRANSFORMATA FOURIERA 58

Typ okna Funkcja okna Widmo okna

prostokątne pT (t) =

1 dla|t| ≤ T

0 dla|t| > T2 sin ωT

ω

trójkątne qT (t) =

1− |t|/T dla|t| ≤ T

0 dla|t| > TT[

sin(ωT/2)ωT/2

]2

Hanna[

12 (1 + cos(πt/T ))

]

pT (t) π2 sin(ωT )ω(π2−T 2ω2)

Hamminga [0.54 + 0.46(πt/T )]pT (t) (1.08π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 zasto-sujemy transformatę 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 pobu-dzenie impulsowe δ(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 zada-nie, 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 sy-gnał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-ściowej splotowi 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 zmodyfiko-wać 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.

Page 59: Skrypt APSC

Rozdział 4

Próbkowanie sygnałów

Wię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ówno-odległych chwil 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 wa-runki muszą 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łu

w dziedzinie częstotliwości

Pytania o możliwość odtworzenia sygnału z próbek możemy sprowadzić do na-stępującego zagadnienia: mamy szereg czasowy, określający wartości pewnejnieznanej funkcji w ustalonych, równoodległych chwilach. Czy istnieje proce-dura, 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 dodatko-wych warunków:

59

Page 60: Skrypt APSC

ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 60

0

0.5

1

1.5

2

2.5

3

0 1 2 3 4 5

x(t

)

t

Rysunek 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 rekon-strukcji sygnałów z próbek, przyjrzyjmy się prostemu przypadkowi, w którymanalizowany jest sygnał sinusoidalnym o częstotliwości f0. Załóżmy, że próbku-jemy sygnał z częstotliwością fs, tak więc czas pomiędzy poszczególnymi prób-kami wyniesie ts = 1

fs. Gdy zaczynamy próbkowanie w chwili t = 0, to mierzone

wartości kolejnych próbek wynoszą

x(n) = sin(2πf0nts)

Znamy chwile kolejnych pomiarów oraz mierzone wartości próbek x(n). Nie-stety to nie wystarcza, by wyznaczyć częstość f0. 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ę

Page 61: Skrypt APSC

ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 61

o całkowitą wielokrotność 2π. Tak więc nasz sygnał może być opisany w innysposób:

x(n) = sin(2πf0nts) = sin(2πf0nts + 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πf0nts) = sin(2πf0nts + 2πnk) =

= sin(2π(f0 +k

ts)n = sin(2π(f0 + kfs)nts)

Ostatnie równanie oznacza, że ciąg x(n) wybrany jako ciąg kolejnych próbeksygnału harmonicznego o częstotliwości f0 reprezentuje równie dobrze przebiegio innych częstotliwościach. Innymi słowy, gdy próbkujemy sygnał sinusoialny zczęstotliwością fs to nie jesteśmy w stanie powiedzieć, czy próbki pochodzą zprzebiegu o częstotliwości f0, czy też z przebiegu o częstotliwości f0 + kfs. Takwięc każdy ciąg próbek pochodzących z przebiegu sinusoidalnego reprezentujew istocie nieskończenie wiele sinusoid o częstościach f0 + kfs.

Omówione niejednoznaczności reprezentacji sygnału okresowego mogą po-wodować powstanie w trakcie próbkowania zniekształcenia, które nazywa sięaliasingiem. Polega ono na błędnym oszacowaniu częstotliwości mierzonego sy-gnał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ób-kowania odpowiednio wysoka.

4.2 Twierdzenie o próbkowaniu

Sygnał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.

Page 62: Skrypt APSC

ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 62

Aby 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 ogra-niczonym paśmie. Wiemy, że proces równomiernego próbkowania sygnału ana-logowego możemy matematycznie opisać jako iloczyn tego sygnału i dystrybucjigrzebieniowej Diraca, czyli

xδ(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 wyzna-czyliśmy transformatę Fouriera dystrybucji grzebieniowej, uzyskując wynik

F [δ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ω) =1

2πX(jω)⊗ ωpδ(ωp) =

ωp

∞∑

k=−∞X(j(ω − kωp)) (4.2)

Uzyskany wynik mówi, że widmo dyskretnego sygnału otrzymanego w trak-cie pró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 wid-mie. Aby to było możliwe, sygnał x(t) musi być sygnałem o ograniczonym wid-mie. 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: ωm

określającego szerokość oryginalnego widma (∆ = 2ωm) oraz ωp - częstotliwościpróbkowania, która określa wielkość przesunięcia względem siebie kolejnych ko-pii widma oryginału. Jeżeli przesunięcie jest większe niż szerokość powielanegoobszaru:

ωp ≥ ∆ = 2ωm (4.3)

Page 63: Skrypt APSC

ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 63

to 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óbko-wanego przyczynki 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) =

ωp

2πX(jω).

skąd rekonstrukcja sygnału xrec(t) ma postać:

xrec(t) = F−1 [X(jω)] =2πωp

F−1

[

Xδ(jω)Π(ω

2ωg)]

Zamieniając iloczyn widm na splot sygnałów czasowych dostajemy ostatecz-nie:

xrec(t) =π

ωm

( ∞∑

k=−∞x(kT )δ(t− kT )

)

⊗[

sin(ωmt)πt

]

= (4.5)

=∞∑

k=−∞x(kT )

sin(ωm(t− kT )ωm(t− kT )

. (4.6)

Ostatnia formuła przedstawia formułę pokazującą jak obliczyć dokładną war-tość rekonstruowanej funkcji na podstawie znajomości jego próbek. Nosi ona

Page 64: Skrypt APSC

ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 64

w literaturze nazwę formuły interpolacyjnej Kotielnikowa-Shannona. To, że taformuła rzeczywiście aproksymuje sygnał bierze się z fakty, że układ funkcji:

fm(t) =1√T

sinc [ωm(t− kT )]

jest ortonormalną bazą w przestrzeni funkcji o ograniczonym widmie całkowal-nych z kwadratem. W tej bazie kolejne elementy są swoimi kopiami przesu-nętymi względem chwili początkowej t = 0 o czas nT . Wzór (4.5) jest rozwi-nięciem sygnału x(t) w uogólniony szereg Fouriera dla tej bazy ortonormalnej.Własnością tej bazy jest to, że współczynniki an rozwinięcia dowolnej funkcji oograniczonym paśmie całkowalnej z kwadratem są próbki sygnału:

an = 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ą:

xrec(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 jest

ograniczeniem widma spełniającym warunek ωm ≤ ωg ≤ ωp − ωm.Rozważany do tej pory sygnał był sygnałem dolnopasmowym. Uzyskane

wyniki można łatwo uogólnić na przypadek sygnału pasmowego. Również tutajpodstawowym warunkiem możliwej rekonstrukcji jest nienakładanie się kolej-nych poprzesuwanych kopii widma. Gdy ten warunek jest spełniony, to jak wprzypadku sygnału dolnopasmowego wycinamy pojedyńczą kopię widma, w ra-zie potrzeby przesuwamy go we właściwy zakres częstotliwości i wykorzystujemydo uzyskania rekonstrukcji.

4.3 Compressed Sampling

Twierdzenie o próbkowaniu i wynikające z niego kryterium Nyquista są pod-stawą klasycznej metody akwizycji danych cyfrowych. Dane takie na ogół po-chodzą ze źródeł analogowych a ich akwizycja polega na próbkowaniu i nastę-pującej po niej kwantyzacji danych próbek. Kluczowe w tym punkcie pytanie

Page 65: Skrypt APSC

ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 65

dotyczy częstości próbkowania fp która zapewnia wierną rekonstrukcję rejestro-wanego sygnał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ą prze-strzenną), mamy więc fp ∼ 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 twier-dzenia o próbkowaniu, to mamy gwarancję wiernej rekonstrukcji sygnału z pró-bek dla 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 efek-tywne metody 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 transfor-macje falkowe. Tak więc klasyczne podejście do problemu akwizycji i kompre-sji/kodowania danych 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)

Page 66: Skrypt APSC

ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 66

Rysunek 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-ści bezwzględnej W

• ustalamy wartość progową c > 0;

• dla wszystkich współczynników rozwinęcia falkowegowi porównujemy war-tość tego współczynnika z wartością maksymalną W; jeżeli |wi

W | < c, topomijamy wkład odpowiadającej mu falki kładąc wi = 0; w przciwnymrazie wartość wi pozostawiamy bez zmian

• dokonujemy rekonstrukcji obrazka poprzez wykonanie odwrotnej transfor-macji falkowej na tak zmodyfikowanym zbiorze współczynników

Postępując w ten sposób zatrzymujemy w rozkładzie tylko falki z najwięk-szymi wartościami współczynników rozkładu; ilość pozostawionych składowychzależy od wartości wybranego progu c. Poniżej pokazujemy porównanie ory-ginalnego obrazka (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 akwi-zycji działa - uzyskujemy dane cyfrowe, które dość wiernie reprezentują orygi-nalny sygnał analogowy i jednocześnie redukują rozmiary potrzebnych danych.Jednak takie podejście ma jeden zasadniczy mankament - wymaga, by w okresie

Page 67: Skrypt APSC

ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 67

poś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ę pomia-rów a 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 na-tychmiastowym odrzuceniu większości tych danych przez oprogramowanie wbu-dowane w aparat. Ale koszt tej operacji jest bardzo mały, więc standardowepostępowanie jest zadawalające. Inaczej wygląda sprawa, gdy dokonywanie po-miarów jest kosztowne, jak to się dzieje w przypadku na pomiarów dokonywa-nych na 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 po-miarów jest 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 nomen-klaturze pojawił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 znacz-nie mniejszy niż wynikałoby to z tego, jaką szerokość pasma zajmuje dane.

Page 68: Skrypt APSC

ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 68

Jeżeli tak jest, to istnieje baza, w której reprezentacja sygnału jest znacznie bar-dziej zwarta. 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 sy-gnału przez N . Zwykle liczba N jest duża - np. przy przetwarzaniu obrazówjest ona rzędu liczby piksel, a więc 107. Jak dyskutowaliśmy to w rozdziale 2a zwłaszcza w częścach 2.3, 2.4 oraz 2.1, żeby zaprezentować sygnał f(t), na-leży wybrać sygnały wzorcowe ψi(t) (bazę w przestrzeni sygnałów) i określićwspółczynniki xitego rozwinięcia. Wtedy możemy napisać:

f(t) =N∑

i=1

xiψi(t)

W dawolnie wybranej bazie sygnał rzadki nie różni się specjalnie od zwy-kłego sygnał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 sy-gnale mówimy, że jest on K-rzadki. Odwołując się do obrazu Lena - sygnałma rozmiar N = 5122, po przejsciu do bazy falek można odrzucić bez więk-szej szkody 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ć ograniczenie

M > C log(N)K, (4.7)

gdzie C- liczba rzędu 1. Wracając do naszego przykłądu - podejście prób-kowania oszczędnego zapewnia, że gdy efektywna rzadkość danych jest równaK

Page 69: Skrypt APSC

ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 69

= 6500 to wystarczy M ≈ 6500 log(5122) ≈ 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 ko-niecznym by 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 mu-szą 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ę Ψiw przestrzeni sygnałów); za pomiar i-tej wielkościbędziemy uważali iloczyn skalarny sygnału z i-tym wzorcem:

yi = ψi · x,lub w zapisie macierzowym:

yi = ψTi 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 roz-miarze M × 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 roz-miar wynosi 100. Załóżmy, że wiemy, że sygnał ten jest rzadki z K = 2, bo

Page 70: Skrypt APSC

ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 70

wiemy, ż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ψ5

Teraz, 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ólnej

postaci:100∑

k=1

akψk mierząc dla dowolnego i mamy:

yi = ψTi x =

100∑

k=1

ψiakψk = ai; lub macierzowo y = I x.

Tak 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 yi tylko z jedną współrzędną sy-gnału ai. 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 a1,a5, a więc nie będzie można takiego sy-gnału zrekonstrować. Powodem tego jest korelacja między bazą ψi w którejmamy rzadki sygnał (baza w której sygnał rejestrujemy) a bazą φkuż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 repreze-nacji sygnałów używać różnych baz,

2. Bazy te powinny mieć jak najmniejszą korealcję; sygnały bazy ψ po-winny mieć w bazie φ możliwie „gęstą” reprezentację. To będzie zna-czył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:

µ(ψ, ψ) =√N max

1≤j,k≤N|φj · ψk|. (4.9)

Tak więc µ(ψ, φ) określa maksymalną korelację pomiędzy dowolnymi elemen-tami obu tych baz. Można dość łatwo pokazać, że µ(ψ, φ) ∈ [1,

N ]. Jest to

Page 71: Skrypt APSC

ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 71

ważna wielkość, bo określa ona niezbędną ilość pomiarów potrzebnych do wier-nej rekonstrukcji 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 warunek

m ≥ 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 rzad-kiego będzie możliwa, co więcej będzie stabilna względem małych zaburzeń wprocesie pomiaru, gdy macierz pomiaru spełnia tzw. Restricted Isometry Pro-perty (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 or-togonalnej. 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‖2l2 ≤ ‖Ax‖2

l2 ≤ (1 + δS)‖x‖2l2

ze stałą δSniezbyt bliską wartości 1.Klasyczny przykladem pary baz o minimalnej koherencji, która daje macierz

pomiaru spełniającą warunek RIP jest następująca para baz:

• φ to baza położeń (funkcje bazowe toφk = δ(t− k)), ψ to baza Fourierow-ska, ψn(t) = 1√

Nexp(2πint/N)

Macierze o takich własnościach można próbować konstruować dla każdego przy-padku oddzielnie; 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.

Page 72: Skrypt APSC

ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 72

Określenie schematu Compressed Sensing polega na zaprojektowaniu dwóch ele-mentów:

• stabilnej macierzy pomiaru

• algorytmu rekonstrukcji

Pierwszy element mamy załatwiony - wiemy, że zawsze możemy w charakterzemacierzy pomiaru wziąć odpowiednią macierz losową. Pozostaje jeszcze kwe-stia schematu 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 inte-resują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 nieze-rowych skł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ącego problemu 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, ze 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ą-zanie problemu 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 analo-giczny do (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, ze 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

Page 73: Skrypt APSC

ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 73

problem optymalizacyjny, jaki on sobą reprezentuje jest to tzw. wypukły pro-blem optymalizacyjny, o którym wiadomo, że jest możliwa jego redukcja doproblemu programowania liniowego znanego jako „basis pursuit” (algorytm po-goni za bazą). Algorytm ten ma złożoność obliczeniową rzędu O(N3). Oprócztego algorytmu optymalizacyjnego, znane są inne algorytmy, zazwyczaj o algo-rytmach typu 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ła-jące w 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 usta-wiane. 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 fo-todiodzie.

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ć

Page 74: Skrypt APSC

ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 74

Rysunek 4.3: Kamera jednopikselowa - zasada działania

urządzenie działające w oparciu o zasady oszczędnego próbkowania i pozwala-jący na rekonstrukcję obrazu w sposób, który jednoznacznie identyfikuje jegozawartość na podstawie tylko około 2% całkowitej liczby pomiarów wykonanychw podejsciu standardowym

Ostatnie dwa rysunki zostały zaczerpnięte z [12] .

Page 75: Skrypt APSC

ROZDZIAŁ 4. PRÓBKOWANIE SYGNAŁÓW 75

Rysunek 4.4: Pierwszy obraz „sfotografowany” kamerą jednopikselowa

Page 76: Skrypt APSC

Rozdział 5

Dyskretna Transformata

Fouriera

Podobnie jak dla sygnałów ciągłych, jedną z najważnieszych operacji wykonywa-nych na sygnale dyskretnym jest analiza częstotliwościowa. Najwygodniejszymnarzędziem, które może być wykorzystane w tym celu dla sygnałów dyskret-nych jest 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 przedsta-wimy definicje i podstawowe własności DFT.

5.1 Definicja

W dzisiejszych czasach podstawowym typem synału jest sygnał cyfrowy. Sy-gnał ten, jako wielkość, która jest przechowywana w pamięci i na dysku kom-putera, 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 sy-gnału. Wartości te to próbki sygnału x(n) mierzone w ustalonych chwilachtn = nTs, 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 funk-cji harmonicznych. 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

Page 77: Skrypt APSC

ROZDZIAŁ 5. DYSKRETNA TRANSFORMATA FOURIERA 77

ró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) =N−1∑

n=0

x(n) exp(

−2πNjkn

)

, (5.1)

x(n) =1N

N−1∑

k=0

X(k) exp(

2πNjkn

)

. (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 za-pisywać: x(n) ←→ X(k).

Dysktretna Transformata Fouriera ma również szereg własności, które - po-dobnie do 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=0

x(n) exp(

2πNjn(k +N)

)

=

=N−1∑

n=0

x(n) exp(

2πNjnk + 2πjn

)

=

=N−1∑

n=0

x(n) exp(

2πNjnk

)

= F (k)

Page 78: Skrypt APSC

ROZDZIAŁ 5. DYSKRETNA TRANSFORMATA FOURIERA 78

3. Symetria: gdy ciąg wejściowy x(n) jest rzeczywisty, to X(N2 + k) =

X∗(N2 − 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 zespo-lonego

(b) użyteczna informacja zawarta jest w pierwszych N/2 + 1 prążkach onumerach k = 0, ..., N/2 + 1 i częstościach fk = kf0, gdzie f0 = 1

T =1

NTs

(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=0

x(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 od-powiada cykliczny splot ich widm.

6. Przesunięcie w czasie:

x(n− n0) ←→ exp(

−j(2πNk)n0

)

X(k)

7. Parametry DFT:

(a) Dziedzina czasu:

Page 79: Skrypt APSC

ROZDZIAŁ 5. DYSKRETNA TRANSFORMATA FOURIERA 79

i. czas próbkowania: Ts

ii. rozmiar sygnału: N punktówiii. długość sygnału: (N − 1)Ts

iv. okres: T = NTs

(b) Dziedzina częstotliwości:

i. minimalny odstęp w częstotliwości: fs=1T = 1

NTs

ii. rozmiar spektrum: N składowychiii. częstotliwość dla której mamy maksimum: N

2 fs

iv. okres w częstotliwości: Fp = Nfs = 1Ts

Page 80: Skrypt APSC

Rozdział 6

Filtry analogowe

Zanim przejdziemy do omawiania filtrów cyfrowych warto zapoznać się z ukła-dami analogowymi. Temat ten jest istotny z co najmniej dwóch ważnych powo-dów. Po pierwsze, podczas akwizycji bardzo często mamy do czynienia z sygna-łami analogowymi, 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, zabezpie-czając tym 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 za-projektowania filtrów cyfrowych.

W tym rozdziale zajmiemy się jedynie układami liniowymi, niezmiennymi wczasie (ang. LTI - linear time-invariant system)

6.1 Transformata Laplace’a

Transformata 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 La-place’a jest operatorem przekształcającym sygnał x(t) na pewną funkcję ze-

80

Page 81: Skrypt APSC

ROZDZIAŁ 6. FILTRY ANALOGOWE 81

spoloną X(s) zgodnie ze wzorem:

L[x(t)] = X(s) =ˆ ∞

−∞x(t)e−stdt.

W naszych rozważaniach zmienna t jest zmienną czasową, sygnał x(t) jest przy-czynowy, to znaczy x(t) = 0 dla t < 0. Dla takich sygnałów określa się jedno-stronną transformatę Laplace’a:

L[x(t)] = X(s) =ˆ ∞

0

x(t)e−stdt. (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ω) =ˆ ∞

0

x(t)e−jωtdt. (6.2)

Jednostronne przekształcenie Laplace’a posiada wszystkie podstawowe właści-wości jednostronnego przekształcenia Fouriera.

Przykład.Obliczyć transformatę Laplace’a funkcji:

x(t) =

0, t < 01/2, t = 0e−t, t > 0

Rozwiązanie:

L[x(t)] =´∞

0 e−te−stdt = − e−(1+s)t

1+s

t=0= 1

1+s − limt→∞e−(1+s)t

1+s

limt→∞e−(1+s)t

1+s = 0 dla Re(s) > −1

Jeśli część rzeczywista zmiennej s jest większa od -1 transformata Laplace’aistnieje i wynosi: L[x(t)] = 1

1+s .

Zadanie.Oblicz transformatę Laplace’a funkcji skoku jednostkowego:

x(t) =

0, t < 01/2, t = 01, t > 0

Page 82: Skrypt APSC

ROZDZIAŁ 6. FILTRY ANALOGOWE 82

Przy danej transformacie powracamy do funkcji czasu stosując zależność

x(t) = L−1X(s) =1

2πj

ˆ c+j∞

c−j∞X(s)estds, (6.3)

gdzie c jest liczbą rzeczywistą nieujemną, a całkowanie przebiega wzdłuż pro-stej ró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 La-place’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’a

x(t) X(s) x(t) X(s)

δ(t) 11

b−a (e−at − e−bt),a 6= b

1(s+a)(s+b)

1(t) 1s

− 1b−a (ae−at − be−bt),

a 6= bs

(s+a)(s+b)

t · 1(t) 1s2 sin(ωt) ω

s2+ω2

tn, n > 0 n!sn+1 cos(ωt) s

s2+ω2

e−at 1s+a e−at sin(ωt) ω

(s+a)2+ω2

te−at 1(s+a)2 e−at cos(ωt) s+a

(s+a)2+ω2

tn−1e−at

(n−1)!1

(s+a)n t sin(ωt) 2ωs(s2+ω2)2

1− e− tT

1s(sT +1) t cos(ωt) s2−ω2

(s2+ω2)2

Szczególnym przypadkiem sygnału jest opisywana w rozdziale 1.5 dystrybu-cja delta 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.

Page 83: Skrypt APSC

ROZDZIAŁ 6. FILTRY ANALOGOWE 83

6.2 Opis liniowych układów analogowych

Z 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:

x1(t) → y1(t) i x2(t) → y2(t) to ax1(t) + bx2(t) → ay1(t) + by2(t), (6.4)

gdzie x(t) jest sygnałem wejściowym, y(t) sygnałem wyjściowym, a i b dowol-nymi stał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 odpo-wiedzi impulsowej, co zapisujemy jako:

y(t) = h(t)⊗ x(t). (6.6)

Odpowiedzią impulsową h(t) układu nazywamy jego odpowiedź na impuls Di-raca, 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ć mo-dyfikacji widma 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. Doko-nując odwrotnej transformaty Fouriera otrzymamy odpowiedź impulsową h(t),która jest potrzebna w procesie filtracji.

Page 84: Skrypt APSC

ROZDZIAŁ 6. FILTRY ANALOGOWE 84

Każdy układ liniowy, w tym filtry, możemy opisać równaniem różniczkowym:

N∑

n=0

andny(t)dtn

=M∑

m=0

bmdmx(t)dtm

. (6.9)

Korzystając z właściwości pochodnej transformacji Fouriera zastosowanej doobu stron powyższego równania otrzymujemy:

N∑

n=0

an(jω)nY (jω) =M∑

m=0

bm(jω)mX(jω), (6.10)

skąd można wyliczyć transmitancję widmową:

H(jω) =Y (jω)X(jω)

=bM (jω)M + bM−1(jω)M−1 + · · · b1(jω)1 + b0

aN(jω)N + aN−1(jω)N−1 + · · · a1(jω)1 + a0

=∑M

m=0 bm(jω)m

∑Nn=0 an(jω)n

. (6.11)

W liczniku i mianowniku powyższego równania widzimy wielomiany zmiennejzespolonej (jω) o współczynnikach an i bm. Wielomiany można zapisać w po-staci iloczynowej:

H(jω) =Y (jω)X(jω)

=bM (jω − z1)(jω − z2) · · · (jω − zM )aN(jω − p1)(jω − p2) · · · (jω − pN )

=bM

∏Mm=1(jω − zm)

aN

∏Nn=1(jω − pn)

, (6.12)

gdzie z1 . . . zm to (zespolone) miejsca zerowe - zera transmitancji, a1 . . . an to(zespolone) bieguny - bieguny transmitancji.

6.3 Transmitancja Laplace’a

Dzięki rachunkowi operatorowemu obliczenie odpowiedzi układu na zadany sy-gnał wejściowy jest znacznie prostsze niż obliczenia w dziedzinie czasu. Oczywi-ście nie zawsze znalezienie odpowiedniej transformaty musi być proste, jednakkorzystanie z tabeli 6.1 umożliwia odpowiednie dopasowanie funkcji do już wcze-śniej wyznaczonych transformat.

Page 85: Skrypt APSC

ROZDZIAŁ 6. FILTRY ANALOGOWE 85

Układy liniowe, niezmienne w czasie, często opisuje się z wykorzystaniempojęcia transmitancji. Dokonując transformaty Laplace’a równania 6.9 (korzy-stamy z właściwości pochodnej transformaty Laplace’a), z założeniem przyczy-nowości sygnałó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)

=bM

∏Mm=1(s− zm)

aN

∏Nn=1(s− pn)

. (6.13)

Zmienna s = σ + jω jest zmienną zespoloną, jednak w celu uzyskania interpre-tacji czę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 ele-menty: rezystory (R), cewki (L), i kondensatory (C). Przypomnijmy sobie in-formacje z elektrotechniki lub podstaw elektroniki i wypiszmy prawa Ohma dlatych elementów dotyczące wartości chwilowych, wartości skutecznych zespolo-nych i w postaci transformaty Laplace’a.

Tablica 6.2: Prawo Ohma wartości chwilowych, wartości skutecznych zespolo-nych i w postaci transformaty Laplace’a dla liniowych elementów biernych.

ElementPrawo Ohma

wartości chwilowe wartościskutecznezespolone

transformata Laplace’a

R uR = Ri UR = RI UR(s) = RI(s)L uL = L di

dt UL = jωLI UL(s) = sLI(s)− Li(0)C uc =

1C

´ t

0 idt+ uc(0)U c = 1

jωC I UC(s) = 1sC I(s)− Uc(0)

s

Pokażmy teraz, w jaki sposób można obliczyć transmitancję laplasowską iodpowiedź impulsową prostego układu filtru dolnoprzepustowego RC przedsta-wionego na 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ęc

H(s) =Y (s)X(s)

(6.15)

Page 86: Skrypt APSC

ROZDZIAŁ 6. FILTRY ANALOGOWE 86

Rysunek 6.1: Filtr RC

Zgodnie z drugim prawem Kirchhoffa w zaznaczonym oczku suma napięć chwi-lowych na elementach musi być równa sumie napięć chwilowych źródeł energii,napięcie na kondensatorze UC jest bezpośrednio napięciem wyjściowym Y (s):

X(s) = UR(s) + Y (s).

Po zastosowaniu prawa Ohma (tablica 6.2) i założeniu, że w chwili początkowejkondensator nie był naładowany (UC(0) = 0) otrzymujemy:

X(s) = RI(s) +1sC

I(s) =(

R +1sC

)

I(s).

Wyliczamy I(s):

I(s) =X(s)R+ 1

sC

.

Z 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):

Y (s) =1sC

· X(s)R+ 1

sC

/ : X(s),

H(s) =Y (s)X(s)

=1

sC(R+ 1sC )

=1

sRC + 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ładu

obliczymy w następujący sposób:

X(s) = L[1(t)] =1s,

Y (s) = H(s)X(s) =1

s(sRC + 1).

Page 87: Skrypt APSC

ROZDZIAŁ 6. FILTRY ANALOGOWE 87

Korzystają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)] = 1

Y (s) = H(s) · 1

Y (s) =1

sRC + 1=

1RC

· 1s+ 1

RC

y(t) = L−1[Y (s)] =1RC

· e− tRC .

Ponieważ pobudzeniem jest impuls Diraca, z zależności 6.7 wynika, że otrzyma-liśmy jednocześnie odpowiedź impulsową filtru:

h(t) =1RC

· e− tRC .

Zadanie.

Wyznaczyć odpowiedź układu górnoprzepustowego filtru RC na skok jed-nostkowy i impuls Diraca.

Pojęcie transmitancji upraszcza rozwiązywanie układów złożonych. Rozpa-trzmy połączenie równoległe dwóch układów o transmitancjach h1(t) i h2(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 szerego-wego (b) układów.

Page 88: Skrypt APSC

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) = y1(t) + y2(t) =ˆ ∞

−∞x(τ)h1(t− τ)dτ +

ˆ ∞

−∞x(τ)h2(t− τ)dτ

=ˆ ∞

−∞x(τ)[h1(t− τ) + h2(t− τ)]dτ.

Otrzymujemy zatem układ o transmitancji wypadkowej:

h(t) = h1(t) + h2(t).

Korzystając z liniowości przekształcenia Laplace’a możemy więc napisać:

H(s) = H1(s) +H2(s).

Połączenie szeregowe dwóch układów przedstawiono na rysunku 6.2b. Sy-gnał 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-ście y(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):

y1(t) =ˆ ∞

−∞h1(τ)δ(t − τ)dτ = h1(t)

Wyjście drugiego układu to splot sygnału y1(t) i h2(t), korzystając z powyższegorównania

y(t) =ˆ ∞

−∞h2(τ)y1(t− τ)dτ =

ˆ ∞

−∞h2(τ)h1(t− τ)dτ

Ponieważ splot w dziedzinie czasu to iloczyn w dziedzinie s, transmitancja wy-padkowa układu szeregowego połączenia jest równa:

H(s) = H1(s)H2(s).

6.4 Rodzaje i charakterystyka filtrów

Filtry analogowe to najczęściej układy modyfikujące w odpowiedni sposób widmoczęstotliwościowe sygnałów. Projektowanie sprowadza się zwykle do ukształto-wania charakterystyki amplitudowo-częstotliwościowej transmitancji filtru. Wzależności od pasma częstotliwości przepuszczanych przez filtr wyróżniamy:

Page 89: Skrypt APSC

ROZDZIAŁ 6. FILTRY ANALOGOWE 89

Rysunek 6.3: Charakterystyki filtrów idealnych - dolnoprzepustowego (a), gór-noprzepustowego (b), środkowoprzepustowego (c) i pasmowozaporowego (d)

• filtry dolnoprzepustowe

• filtru górnoprzepustowe

• filtry pasmowoprzepustowe

• filtry pasmowozaporowe

Na rysunku 6.3 przedstawiono charakterystyki filtrów idealnych, a na rysunku6.4 oczekiwania projektowe (tzw. gabaryty) filtrów rzeczywistych. Charakte-rystyka amplitudowo-częstotliwościowa może przybierać różne kształty posiada-jące sprecyzowane założenia. W tablicy 6.3 zebrano najpopularniejsze rodzajefiltrów.

W tablicy 6.3 zestawiono cechy podstawowych rodzajów filtrów analogo-wych, a przykładowe ich charakterystyki amplitudowe i fazowe w dziedzinieczęstotliwości na rysunku 6.5.

Page 90: Skrypt APSC

ROZDZIAŁ 6. FILTRY ANALOGOWE 90

Rysunek 6.4: Gabaryty filtrów rzeczywistych - dolnoprzepustowego (a), górno-przepustowego (b), środkowoprzepustowego (c) i pasmowozaporowego (d)

Page 91: Skrypt APSC

ROZDZIAŁ 6. FILTRY ANALOGOWE 91

Tablica 6.3: Zestawienie rodzajów filtrów.

Typ Opis

Butterwortha

Najbardziej płaska charakterystykaamplitudowo-częstotliwościowa w paśmieprzepustowym, słaba stromość zbocza wpaśmie przejściowym, charakterystyka fazowazbliżona do liniowej.

Czebyszewa I

Zafalowania charakterystykiamplitudowo-częstotliwościowej w paśmieprzepustowym, duża stromość zbocza wpaśmie przejściowym, nieliniowacharakterystyka fazowa.

Czebyszewa IIZafalowania charakterystykiamplitudowo-częstotliwościowej występują wpaśmie zaporowym.

Bessela

Bez zafalowań charakterystykiamplitudowo-częstotliwościowej, szerokiepasmo przejściowe, najbardziej liniowacharakterystyka fazowa.

Eliptyczny(Cauera)

Zafalowania charakterystykiamplitudowo-częstotliwościowej w paśmieprzepustowym i zaporowym, najbardziejstrome zbocze w paśmie przejściowym

Page 92: Skrypt APSC

ROZDZIAŁ 6. FILTRY ANALOGOWE 92

101

102

103

−40

−35

−30

−25

−20

−15

−10

−5

0

5

f [Hz]

|H(Ω

)|

(a) Butterwortha

101

102

103

−40

−35

−30

−25

−20

−15

−10

−5

0

5

f [Hz]

|H(Ω

)|

(b) Czebyszewa I

101

102

103

−40

−35

−30

−25

−20

−15

−10

−5

0

5

f [Hz]

|H(Ω

)|

(c) Czebyszewa II

101

102

103

−40

−35

−30

−25

−20

−15

−10

−5

0

5

f [Hz]

|H(Ω

)|

(d) Eliptyczny

Rysunek 6.5: Przykładowe charakterystyki amplitudowo-częstotliwościowe ifazowo-częstotliwościowe filtrów opisanych w tablicy 6.3.

Page 93: Skrypt APSC

ROZDZIAŁ 6. FILTRY ANALOGOWE 93

6.4.1 Filtr Butterwortha

Filtr 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ω) =1

1 + ( ωω0

)2N(6.16)

gdzie N oznacza rząd filtru, ω0 jest pulsacją graniczną przy której wzmocnie-nie jest mniejsze o 3dB (dwukrotnie) w stosunku do wzmocnienia dla ω = 0.Ponieważ:

|H(0)|2 =1

1 +(

0ω0

)2N= 1, i |H(jω0)|2 =

1

1 +(

ω0

ω0

)2N=

12,

mamy:|H(jω0)|2

|H(0)|2=

12

1=

12,

w mierze decybelowej:

10 · log

(

|H(jω0)|2

|H(0)|2

)

= 10 · log(

12

)

≈ −3dB.

Dla dużych wartości częstotliwości jedynka w mianowniku (6.16) staje się po-mijalnie małą wartością i można zauważyć, że:

10 · log(

|H(jω)|2)

≈ 10 · log

1(

ωω0

)2N

= −20 ·N · log

(

ω

ω0

)

wzmocnienie maleje liniowo wraz z logarytmem częstotliwości sygnału, z nachy-leniem -20dB/dekadę.

Na rysunku 6.6 przedstawiona została rodzina charakterystyk amplitudo-wych oraz fazowych filtru Butterwortha dla kilku wybranych rzędów N. Za-uważmy, że im większa wartość N tym charakterystyka jest bliższa idealnej.

Page 94: Skrypt APSC

ROZDZIAŁ 6. FILTRY ANALOGOWE 94

101

102

103

−40

−35

−30

−25

−20

−15

−10

−5

0

5

f [Hz]

|H(j

ω)|

[dB

]

N= 1

N= 3

N=10

(a)

101

102

103

−15

−10

−5

0

5

f [Hz]ϕ

(jω

)[r

d]

N= 1

N= 3

N=10

(b)

Rysunek 6.6: Kwadrat charakterystyki amplitudowo-częstotliwościowej (a) i fa-zowej (b) filtru Butterwortha rzędu N=1, N=3 i N=10 o częstotliwości granicz-nej 100Hz.

Znormalizowana względem pulsacji granicznej ωo = 1rd/s transmitancja dol-noprzepustowego filtru Butterwortha wyznaczona przez położenie biegunów wy-raża się wzorem:

H(s) =∏N

k=1(−pk)∏N

k=1(s− pk)(6.17)

w którym pk to znormalizowane bieguny transmitancji:

pk = ej( π2 + π

2N +(k−1) πN ) k = 1, 2, . . . , N (6.18)

Na płaszczyźnie Gaussa (płaszczyzna zespolona) wszystkie bieguny leżą po ujem-nej stronie 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 przed-stawia rysunek 6.7. Widzimy, że dolnoprzepustowy filtr Butterwortha nie po-siada zer transmitancji. Stała w liczniku transmitancji 6.17 zapewnia jednost-kowe wzmocnienie dla ω = 0; dla podanego wzoru znormalizowanego jest równajeden.

Projektowanie filtrów Butterwortha

Parametrami 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 .

Page 95: Skrypt APSC

ROZDZIAŁ 6. FILTRY ANALOGOWE 95

−1 −0.5 0 0.5 1

−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

Po lozenie zer i biegunow

Re

Im

(a) N parzyste.

−1 −0.5 0 0.5 1

−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

Po lozenie zer i biegunow

Re

Im(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ń:

1− δp = 1√

1+(ωpω0

)2N

δs = 1√

1+( ωsω0

)2N

(6.20)

Z powyższego wyznaczamy N i ω0 (obliczenia można znaleźć w [1, 4]):

N =

log 10As10 −1

10Ap10 −1

2 · log(

ωs

ωp

)

(6.21)

ω0 =ωs

(

10As10 − 1

)1

2N

(6.22)

Page 96: Skrypt APSC

ROZDZIAŁ 6. FILTRY ANALOGOWE 96

Rysunek 6.8: Gabaryty filtru określone przez Ap i As; przykład dla filtru dol-noprzepustowego.

Przez ⌈x⌉ oznaczono najmniejszą liczbę naturalną większą lub równą x, współ-czynniki Ap = −20 log(1 − δp), As = −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, wy-znaczony przez nową częstotliwość graniczną ω0:

pk = ω0ej( π

2 · π2N ·(k−1) π

N ) k = 1, 2, . . . , N (6.23)

6.4.2 Filtr Czebyszewa I

Filtr Czebyszewa charakteryzuje się większą stromością charakterystyki amplitudowo-częstotliwościowej w 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∗(jω) = H(jω) ·H(−jω) =1

1 + ε2 · T 2N

(

ωω0

) (6.24)

gdzieN jest rzędem filtru, ε określa wielkość zafalowań w paśmie przepustowym,ω0 stanowi krawędź pasma przepuszczania, a TN jest wielomianem Czebyszewazdefiniowanym w następujący sposób:

TN

(

ω

ω0

)

=

cos[N · cos−1( ωω0

)],∣

ωω0

∣ ≤ 1

cosh[N · cosh−1( ωω0

)],∣

ωω0

∣ > 1(6.25)

Page 97: Skrypt APSC

ROZDZIAŁ 6. FILTRY ANALOGOWE 97

Z 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 rekurencyj-nego:

T0(ω) = 1

T1(ω) = ω

Tn(ω) = 2 · ω · Tn−1(ω)− Tn−2(ω), n > 2

Znormalizowana względem pulsacji granicznej ωo = 1rd/s transmitancja dol-noprzepustowego filtru Czebyszewa wyznaczona przez położenie biegunów wy-raża się wzorem:

H(s) = H0

∏Nk=1(−pk)

∏Nk=1(s− pk)

(6.26)

Współczynnik H0 przybiera jedną z dwóch wartości:

H0 =

1 N nieparzyste1√

1+ε2N parzyste

(6.27)

Bieguny filtru Czebyszewa wylicza się znajdując pierwiastki mianownika z rów-nania 6.24. Rozwiązanie jest bardziej skomplikowane niż w przypadku filtruButterwortha. Tutaj przedstawimy końcowy wzór na bieguny (znormalizowane):

pk =sk

ω0= − sin

(

2k − 12N

π

)

· sinh

(

sinh−1(

)

N

)

+

+j cos(

2k − 12N

π

)

· cosh

(

sinh−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:

Re2(pk)

sinh2

[

sinh−1( 1ε )

N

] +Im2(pk)

cosh2

[

sinh−1( 1ε )

N

] = 1 (6.29)

Page 98: Skrypt APSC

ROZDZIAŁ 6. FILTRY ANALOGOWE 98

W [1] można znaleźć wyprowadzenie powyższych wzorów, natomiast w [4] au-tor przedstawił 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ą ω0

jest pulsacja, dla której kwadrat charakterystyki amplitudowo-częstotliwościowejmaleje do wartości 1/(1 + ε2).

Projektowanie filtrów Czebyszewa

Jeś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:

1√

1 + ε2 · T 2N

(

ωp

ωp

)

=1√

1 + ε2= 1− δp (6.30)

Jeśli Ap wyrazimy w decybelach otrzymujemy Ap = −20 log(1 − δp). Po obli-czeniu 20 log(·) z obu stron równania i kilku przekształceniach dostajemy:

ε =

10Ap10 − 1 (6.31)

Wymagany rząd filtru możemy wyznaczyć na podstawie 6.24:

1√

1 + ε2 · T 2N

(

ωs

ωp

)

=1

1 + ε2

cosh[

N · cosh−1(

ωs

ωp

)]2= δs (6.32)

Dla wzmocnienia w paśmie zaporowym wyrażonego w decybelachAs = −20 log(δs)i podstawieniu ε ze wzoru 6.31 znajdziemy:

N =

cosh−1

[√

(

10As10 − 1

)

/(

10Ap10 − 1

)

]

cosh−1(

ωs

ωp

)

(6.33)

Page 99: Skrypt APSC

ROZDZIAŁ 6. FILTRY ANALOGOWE 99

6.4.3 Filtr Czebyszewa II

Filtr Czebyszewa II nie posiada oscylacji w paśmie przepustowym, tylko w pa-śmie zaporowym. Kwadrat charakterystyki amplitudowo-częstotliwościowej wy-raża się wzorem:

|H(jω)|2 =1

1 + 1

γ2·T 2N( ω0

ω )(6.34)

γ =1

10Ap10 −1

(6.35)

Transmitancja dolnoprzepustowego filtru Czebyszewa II jest dana wzorem:

H(s) = H0

∏Nk=1(s− 1

zk)

∏Nk=1(s− 1

pk), H0 =

N∏

k=1

zk

pk(6.36)

Zarówno rząd filtru N jak i położenie biegunów pk wyznacza się tak samo jakdla filtru Czebyszewa I, natomiast zera z zależności:

zk = j · sin(

π

2+

2k − 12N

)

(6.37)

6.4.4 Filtr Bessela

Podstawową właściwością filtru Bessela jest to, że wprowadza przesunięcie fa-zowe zależ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 eliptyczny

Filtr 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 opi-sany jest wzorem:

Page 100: Skrypt APSC

ROZDZIAŁ 6. FILTRY ANALOGOWE 100

|H(jω)|2 =1

1 + ε2 · UN

(

ωω0

) (6.38)

gdzie UN (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 wyma-gania: 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 =K(

ωp

ωs

)

K

(

1− ε2

δ2

)

K(

εδ

)

K

(

1−(

ωp

ωs

)2)

gdzie 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 Matlabie

6.5.1 Pierwsza charakterystyka

amplitudowo-częstotliwościowa

Na początek zaprezentujemy bardzo prosty skrypt Matlaba, którego zadaniemjest wykreślenie charakterystyki amplitudowej, fazowej i rozmieszczenia zer dol-noprzepustowego filtru Butterwortha.

%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

% Pierwsza char akter ys tyka 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 gr an i czna

kp = 1 :N; % indeksy biegunów

Page 101: Skrypt APSC

ROZDZIAŁ 6. FILTRY ANALOGOWE 101

p = W0 ∗ exp ( j ∗ ( p i /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 i

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żen i e 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) ; % char akter ys tyka c z ę s t o t l i w o ś c i o w amag = abs (h ) ; % amplitudaphase = angle ( h ) ; % f azasubp l ot ( 2 , 1 , 1 ) , semi logx (w, 20 ∗ l og10 (mag ) )t i t l e ( ’ Charakterystyka amplitudowa ’ ) ;x l a b e l ( ’ Pu l sac j a [ rad / s ] ’ ) ; y l a b e l ( ’ Amplituda [ dB ] ’ )g r i d onsubp l ot ( 2 , 1 , 2 ) , semi logx (w, unwrap ( phase ) )t i t l e ( ’ Charakterystyka fazowa ’ ) ;x l a b e l ( ’ Pu l sac j a [ rad / s ] ’ ) ; y l a b e l ( ’ Faza [ rad ] ’ )g r i d on

Funkcja plot circle zawarta w pliku plotcircle.m

f 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 f

W 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 pierwiast-ków (tu - biegunów) w postaci wierszowego wektora współczynników uporząd-kowanych według malejących potęg zmiennej niezależnej.Funkcja freqs oblicza odpowiedź częstotliwościową filtru analogowego. Jej pa-rametrami są 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.

Page 102: Skrypt APSC

ROZDZIAŁ 6. FILTRY ANALOGOWE 102

−1 −0.5 0 0.5 1

−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

Po lozenie zer i biegunow

Re

Im

(a) Położenie biegunów.

10−1

100

101

−100

−50

0Charakterystyka amplitudowa

Pulsacja [rad/s]

Am

plit

uda [

dB

]10

−110

010

1−8

−6

−4

−2

0Charakterystyka fazowa

Pulsacja [rad/s]F

aza [

rad]

(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 lo-

garytmiczna, 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-żynierski sposó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 cha-rakterystyki także dla dużych tłumień. Dodatkowo łatwo można zauważyć, żedla tego filtru, rzędu czwartego, charakterystyka powyżej częstotliwości gra-nicznej ma 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 przy-padku liniowej 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 ) ;subp l ot ( 2 , 1 , 1 ) , p l o t (w, mag)subp l ot ( 2 , 1 , 2 ) , p l o t (w, unwrap ( phase ) )

Wynikowy wykres przedstawia rysunek 6.10. Taka reprezentacja charaktery-styki zapewne będzie mniej przydatna na przykład przy analizie filtrów w za-

Page 103: Skrypt APSC

ROZDZIAŁ 6. FILTRY ANALOGOWE 103

0 0.5 1 1.5 2 2.5 3 3.5 40

0.2

0.4

0.6

0.8

1Charakterystyka amplitudowa

Pulsacja [rad/s]

Am

plit

uda

0 0.5 1 1.5 2 2.5 3 3.5 4−6

−4

−2

0

2Charakterystyka fazowa

Pulsacja [rad/s]

Faza [

rad]

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 fil-

trów

Matlab zawiera sporo funkcji przydatnych przy projektowaniu filtrów. Szczegól-nie przydatne 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 Butterwor-tha, a także butter wyznaczającej współczynniki wielomianu.

%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

% Projektowanie f i l t r ó w w Matlabie

Page 104: Skrypt APSC

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 ’ ) ;d i sp ( [ ’ Rząd = ’ num2str (N ) ] ) ;d i sp ( [ ’ Pu l sac j a gr an i czna = ’ 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]= t f 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żen i e 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) ; % char akter ys tyka c z ę s t o t l i w o ś c i o w amag = abs (h ) ; % amplitudaphase = angle ( h ) ; % f azasubp l ot ( 2 , 1 , 1 ) , semi logx (w, 20 ∗ l og10 (mag ) )t i t l e ( ’ Charakterystyka amplitudowa ’ ) ;x l a b e l ( ’ Pu l sac j a [ rad / s ] ’ ) ; y l a b e l ( ’ Amplituda [ dB ] ’ )g r i d onsubp l ot ( 2 , 1 , 2 ) , semi logx (w, unwrap ( phase ) )t i t l e ( ’ Charakterystyka fazowa ’ ) ;x l a b e l ( ’ Pu l sac j a [ rad / s ] ’ ) ; y l a b e l ( ’ Faza [ rad ] ’ )g r i d on

Funkcji butter należy podać następujące parametry: rząd filtru (N), pul-sację 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 wielo-mianowej, zero-biegunowej lub zmiennych stanu.

Funkcja tf2zp służy do zmiany postaci wielomianowej transmitancji na zero-

Page 105: Skrypt APSC

ROZDZIAŁ 6. FILTRY ANALOGOWE 105

biegunową. W powyższym przykładzie wykorzystano ją do znalezienia biegu-nów transmitancji, 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 argu-mentu.

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.

Page 106: Skrypt APSC

Rozdział 7

Filtry cyfrowe

W tym rozdziale przedstawiamy zasadę filtracji cyfrowej i metody projektowaniafiltrów cyfrowych. Opis zawężamy do układów liniowych, stacjonarnych (o nie-zmiennych w czasie parametrach). Pokazujemy, w jaki sposób uzyskać żądanącharakterystykę częstotliwościową filtru, między innymi bazując na szeroko po-znanej wiedzy 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 cyfro-wego przetwarzania sygnałów. Szybki rozwój procesorów DSP jak i układówprogramowalnej logiki stale zwiększa możliwości w przetwarzaniu coraz bar-dziej zł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 roz-rzutu parametrów).

Wady filtrów cyfrowych to przede wszystkim:

• ograniczona szybkość przetwarzania,

106

Page 107: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 107

• ograniczone pasmo częstotliwości do połowy częstotliwości próbkowania.

7.1 Transformata Z

Transformatę 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 ist-nieje dla 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 odtwo-

rzyć 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

=∞∑

n=0

e−anz−n =∞∑

n=0

(

e−az−1)n

=1

1− e−az−1,

przy czym∣

∣e−az−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 po-pularnych sygnałów możemy zebrać w formie tablicy (patrz tabela 7.1).

Obszar zbieżności jest istotny, ponieważ istnieją transformaty pozornie iden-tyczne różniące się tylko obszarem zbieżności.

Page 108: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 108

Tablica 7.1: Wybrane sygnały i ich transformaty Z

x(n) X(z) Obszar zbieżności

δ(n) =

1, n = 00, n 6= 0

1 0 ≤ |z| ≤ ∞

δ(n−m), m > 0 z−m |z| > 0

δ(n+m), m > 0 zm |z| <∞

1(n) =

1, n ≥ 00, n < 0

11−z−1 |z| > 1

n · 1(n) z−1

(1−z−1)2 |z| > 1

n2 · 1(n) z−1(1+z−1)(1−z−1)3 |z| > 1

an · 1(n) 11−az−1 |z| > |a|

nan · 1(n) az−1

(1−az−1)2 |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

2πj

˛

Γ

X(z)zn−1dz (7.2)

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) =n2∑

n=n1

b(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-

Page 109: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 109

wanie 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 licz-niku i mianowniku w kierunku malejących potęg zmiennej z−1. Wektor r re-prezentuje współczynniki rozkładu na ułamki proste, odpowiednio do biegunówdanych jako wektor p. Wektor k zawiera współczynniki odpowiadające skład-nikom zwią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 − 10z2 − 4z + 4

2z2 − 2z − 4.

Użycie funkcji Matlaba wymaga przedstawienia wielomianów jako funkcje zmien-nej z−1:

X(z) =z3(

1− 10z−1 − 4z−2 + 4z−3)

2z2 (1− z−1 − 2z−2)=

12z

1− 10z−1 − 4z−2 + 4z−3

1− z−1 − 2z−2=

12zF (z)

F (z) =1− 10z−1 − 4z−2 + 4z−3

1− z−1 − 2z−2.

Wydajemy polecenie i otrzymujemy wyniki:

>> [ r , p , k ] = r e s i d u e z ( [ 1 −10 −4 4 ] , [ 1 −1 −2])r =

−3 1p =

2 −1k =

3 −2

Rozkład X(z) jest zatem następujący:

F (z) =−3

1− 2z−1+

11 + z−1

+ 3− 2z−1

Aby wyznaczyć transformatę odwrotną należy określić obszar zbieżności funkcjiF (z). Granice obszaru zbieżności wyznaczają bieguny z1 = 2, z2 = −1, z3 = 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.

Page 110: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 110

7.2 Opis liniowych układów dyskretnych

Liniowość 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):

x1(n) → y1(n) i x2(n) → y2(n) to ax1(n) + bx2(n) → ay1(n) + by2(n),(7.4)

gdzie x(n) jest sygnałem wejściowym, y(n) sygnałem wyjściowym, a i b dowol-nymi stałymi.

Bardzo ważną rolę w układach analogowych ogrywa impuls Diraca, któregocyfrowym odpowiednikiem jest delta Kroneckera:

δ(n) =

1, n = 00 n 6= 0

. (7.5)

Wykorzystując powyższe, każdą próbkę dowolnego sygnału x(n) możemy przed-stawić 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ępu-ją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). Podsta-wiając n− k = m:

y(n) =∞∑

m=−∞h(m)x(n−m) = h(n)⊗ x(n). (7.10)

Page 111: Skrypt APSC

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) realiza-cji filtracji za pomocą maszyny cyfrowej:

y(n) =M∑

m=0

h(m)x(n−m), (7.11)

który w postaci graficznej przedstawiono na rysunku 7.1. Blok oznaczony z−1

opóź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 im-pulsowej równej:

h(n) = (−a)n, n > 0, |a| < 1. (7.12)

Układ charakteryzujący się taką samą odpowiedzią można zapisać w inny spo-só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ę

Page 112: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 112

(a) Schemat blokowyukładu opisanegorównaniem 7.13.

(b) Schemat blokowy układu opisa-nego ró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 sy-gnału wejś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 odpo-wiedzi impulsowej (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) −∞∑

k=1

aky(n− k). (7.14)

Biorą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) =∞∑

m=0

bmx(n−m)−∞∑

k=1

aky(n− k), (7.15)

przy czym oznaczenie współczynników h(m) będące odpowiedzią impulsową fil-tru FIR zastąpiono współczynnikami bm. Na rysunku 7.2b przedstawiono todziałanie w postaci graficznej .

Page 113: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 113

Praktyczną realizację algorytmu przez maszynę cyfrową otrzymujemy poograniczeniu do skończonej liczby elementów pamiętających i współczynników:

y(n) =M∑

m=0

bmx(n−m)−N∑

k=1

aky(n− k). (7.16)

Opis 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 dyskretnych

Ukł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):

y(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:

∞∑

k=0

aky(n− k) =∞∑

m=0

bmx(n−m), (7.19)

(zauważmy, że pojawił się element a0). Stosując transformatę Z do obu stronrównania otrzymujemy:

Z

[ ∞∑

k=0

aky(n− k)

]

= Z

[ ∞∑

m=0

bmx(n−m)

]

∞∑

k=0

akZ [y(n− k)] =∞∑

m=0

bmZ [x(n−m)] .

Na podstawie tablicy 7.1:

Z [y(n− k)] = z−kY (z)

Z [x(n−m)] = z−mX(z),

Page 114: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 114

więc:∞∑

k=0

akz−kY (z) =

∞∑

m=0

bmz−mX(z).

Na podstawie zależności (7.18) mamy:

H(z) =Y (z)X(z)

=∑∞

m=0 bmz−m

∑∞k=0 akz−k

. (7.20)

Postać równania (7.20) jest stosowana do opisu filtrów cyfrowych, przy czymwspółczynnik a0 przeważnie jest równy 1 (lub całość transmitancji normalizo-wana tak, aby a0 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:

H(z) =Y (z)X(z)

=∑M

m=0 bmz−m

∑Nk=0 akz−k

. (7.21)

7.4 Filtry FIR

7.4.1 Współczynniki filtrów FIR

Wróć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∑

m=0

h(m)δ(n−m). (7.22)

Załóż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 iden-tyczna z wartościami współczynników filtru. Zatem jeśli mówimy o odpowiedziimpulsowej filtru FIR to chodzi nam o jego współczynniki.

Page 115: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 115

Równanie (7.11) możemy zapisać w skróconej formie posługując się symbo-lem splotu:

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 (ejΩ) = H(ejΩ)X(ejΩ), (7.24)

gdzie Ω oznacza pulsację unormowaną względem częstotliwości próbkowania fs:

Ω = 2πf

fs. (7.25)

7.4.2 Projektowanie filtrów FIR metodą okien czasowych

Metoda okien czasowych jest jedną z prostszych w implementacji. Polega onana zdefiniowaniu oczekiwanego kształtu charakterystyki w dziedzinie częstotli-wości, czyli H(ejΩ) i obliczeniu za pomocą odwrotnego przekształcenia Fourieraodpowiedzi impulsowej filtra:

h(n) =1

ˆ π

−π

H(ejΩ)ejΩndΩ, −∞ ≤ 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):

hw(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ć przy-czynowa, 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:

hwsh= hw(n−M), 0 ≤ n ≤ 2M. (7.28)

To przesunięcie czasowe odpowiedzi skutkuje tylko dodatkowym przesunięciemfazowym wprowadzanym przez filtr.

Page 116: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 116

Tablica 7.2: Zestawienie wzorów odpowiedzi impulsowych filtrów „idealnych”.F0, F1, F2 - unormowane względem częstotliwości próbkowania częstotliwościgraniczne: F = f

fs, F1- częstotliwość dolna, F2 - częstotliwość górna.

Rodzaj filtru Odpowiedź impulsowa

Dolnoprzepustowy h(n) =

2F0sin(Ω0n)

Ω0n , n 6= 0

2F0, n = 0

Górnoprzepustowy h(n) =

δ(n)− 2F0sin(Ω0n)

Ω0n , n 6= 01− 2F0, n = 0

Pasmowoprzepustowy h(n) =

2F2sin(Ω2n)

Ω2n − 2F1sin(Ω1n)

Ω1n , n 6= 0

2(F2 − F1), n = 0

Pasmowozaporowy h(n) =

δ(n)−(

2F2sin(Ω2n)

Ω2n − 2F1sin(Ω1n)

Ω1n

)

, n 6= 0

1− 2(F2 − F1), n = 0

Tablica 7.3: Definicje wybranych okien czasowych.

Nazwa okna Definicja okna, n = 0 . . .N − 1

Prostokątne w(n) = 1Trójkątne w(n) = 1− 2|n−N/2|

N

Hanninga 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)

Kaisera w(n) =I0

[

β

1−(

n−(N−1)/2

(N−1)/2

)2

]

I0(β) gdzie

I(x) = 1 +∑∞

k=1

[

(x/2)k

k!

]2

(funkcja Bessela)

Page 117: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 117

W tablicy 7.2 zestawiono odpowiedzi impulsowe najczęściej stosowanych fil-trów o „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(ejΩ) = 1 dla −Ω0 ≤ Ω ≤ Ω0 i 0 dlapozostałych częstotliwości. Na podstawie (7.26) mamy:

h(n) =1

ˆ π

−π

H(ejω)ejΩndΩ =1

ˆ Ω0

−Ω0

1 · ejΩndΩ =1

2π1jnejΩn |Ω0

−Ω0

=1

j2πn

[

ejΩn − e−jΩn]

=2j sin(Ω0n)

j2πn=

sin(Ω0n)πn

= 2F0sin(Ω0n)

Ω0n, n 6= 0

oraz

h(0) = 2F0Ω0 cos(Ω0n)

Ω0|n=0 = 2F0 (z reguły d’Hospitala).

Pozostałe wyprowadzenia znajdują się w [4].Przykładową odpowiedź impulsową filtru dolnoprzepustowego o częstotliwo-

ści granicznej 0, 2fs, funkcję okna Hamminga i odpowiedź impulsową z zastoso-waniem tego 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 sta-nie odczytać charakterystyki poza pasmem przepustowym. Dopiero ukazaniejej w skali logarytmicznej (wyskalowanej w decybelach) prezentuje kształt cha-rakterystyki w 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 zo-stał ograniczony do 0 . . . 0, 5fs.

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

Page 118: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 118

−50 −40 −30 −20 −10 0 10 20 30 40 50−0.1

0

0.1

0.2

0.3

0.4

n

h(n

)

−50 −40 −30 −20 −10 0 10 20 30 40 500

0.2

0.4

0.6

0.8

1

n

w(n

)

−50 −40 −30 −20 −10 0 10 20 30 40 50−0.1

0

0.1

0.2

0.3

0.4

n

hw

(n)

Rysunek 7.3: Odpowiedź impulsowa filtru dolnoprzepustowego h(n), okno Ham-minga w(n) i odpowiedź impulsowa filtru po przemnożeniu z funkcją okna hw(n).N=93, F0 = 0, 2.

Page 119: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 119

−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.50

0.2

0.4

0.6

0.8

1

1.2

|H(Ω

)|

Ω/2π

−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5−120

−100

−80

−60

−40

−20

0

20

Ω/2π

|H(Ω

)|[d

B]

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ści ujemnych).

Na szczególną uwagę przy projektowaniu filtrów zasługują parametryczneokna Czebyszewa i Kaisera. Umożliwiają one zaprojektowanie filtru spełniają-cego zadane założenia: szerokość pasma przejściowego ∆f , maksymalne zafa-lowania w 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, As < 21dB0, 5842(A− 21)0,4 + 0, 07886(A− 21), 21dB ≤ As ≤ 50dB0, 1102(A− 8, 7), As > 50dB

N ≥ As − 7, 9514, 36

fs

∆f.

gdzie N jest liczbą całkowitą, nieparzystą.

7.4.3 Projektowanie filtrów FIR metodą próbkowania w

dziedzinie częstotliwości

W tej metodzie charakterystykę amplitudową filtru kształtujemy poprzez umiesz-czenie na niej próbek, a następnie liczymy odwrotną DFT celem uzyskania od-

Page 120: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 120

0 0.1 0.2 0.3 0.4 0.5−160

−140

−120

−100

−80

−60

−40

−20

0

Ω/2π

|H(Ω

)|[d

B]

Rectwin

Hamming

Hanning

0 0.1 0.2 0.3 0.4 0.5−160

−140

−120

−100

−80

−60

−40

−20

0

Ω/2π

|H(Ω

)|[d

B]

Bartlett

Blackman

Kaiser (5)

(a) Okna: prostokątne, Hamminga, Hanninga, Bartleta, Blackmana, Kaisera (β = 5).

0 0.1 0.2 0.3 0.4 0.5−150

−130

−110

−90

−70

−50

−30

−10

0

Ω/2π

|H(Ω

)|[d

B]

β = 0.1

β = 1

β = 5

β = 10

0.15 0.16 0.17 0.18 0.19 0.2 0.21 0.22 0.23 0.24 0.25 0.26

−110

−90

−70

−50

−30

−10

0

Ω/2π

|H(Ω

)|[d

B]

β = 0.1

β = 1

β = 5

β = 10

(b) Okna Kaisera dla β = 0, 1 β = 1 β = 5 β = 10 i powiększenie fragmentu.

Rysunek 7.5: Porównanie charakterystyk częstotliwościowych filtrów zaprojek-towanych przy użyciu różnych okien. N = 93, F0 = 0, 2.

Page 121: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 121

0.16 0.18 0.2 0.22 0.24 0.26 0.28 0.3−100

−90

−80

−70

−60

−50

−40

−30

−20

−10

0

10

Ω/2π

|H(Ω

)|[d

B]

N = 31

N = 63

N = 127

N = 511

Rysunek 7.6: Zależność charakterystyki częstotliwościowej filtru od liczbywspółczynników filtru (F0 = 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ó-bek w dziedzinie częstotliwości (rys. 7.7). Próbki te pokrywają zakres pul-sacji od „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

2 + 1 = −15 reprezentuje pulsację Ω = −πN−2N . Próbka o indeksie

m = 0 reprezentuje pulsację Ω = 0, próbka m = N2 = 16 pulsację Ω = π. W

okolicy 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):

h(n) =1N

N2∑

m=−( N2 +1)

H(m)ej2π mnN , −∞ ≤ n ≤ ∞ (7.29)

Rozwiązaniem jest:

h(n) =sin(πnK/N)sin(πn/N)

, (7.30)

co przedstawiono na rysunku 7.8(a).

Page 122: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 122

−15 −10 −5 0 5 10 15

0

0.5

1

m

H(m

)

(a) Transmitancja idealnego filtru dolnoprzepustowego

0 5 10 15 20 25 30

0

0.5

1

m

H(m

)

(b) Funkcja z (a) przesunieta do zakresu 0..2π

Rysunek 7.7: Transmitancja idealnego filtru dolnoprzepustowego.

−15 −10 −5 0 5 10 15

0

0.1

0.2

n

h(n

)

(a) Odwrotna DFT funkcji H(m) z rysunku poprzedniego

0 5 10 15 20 25 30

0

0.1

0.2

n

h(n

)

(b) Wspo lczynniki dla algorytmu FIR

Rysunek 7.8: Odwrotna DFT transmitancji idealnego filtru dolnoprzepusto-wego.

Page 123: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 123

0 5 10 15 20 25 30

−0.05

0

0.05

0.1

0.15

0.2

0.25

n

h(n

)

Rysunek 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ów-nież otrzymać numerycznie wykonując obliczenia algorytmem odwrotnego FFT.

W najprostszym przypadku oczekujemy symetrycznej względem próbki środ-kowej odpowiedzi impulsowej. Odrzucamy zatem próbkę o indeksie 16. Należyjeszcze dostosować indeksowanie do algorytmu filtracji w związku z czym prze-suwamy odpowiedź 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 otrzyma-nych po 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. Po-każmy wię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). Pozo-stałe pró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-ściowego i 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 prze-pustowym.

Page 124: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 124

−0.5 0 0.50

0.2

0.4

0.6

0.8

1

1.2

1.4

Ω/2π

|H(Ω

)|

id

11

15

23

31

Rysunek 7.10: Wynikowa charakterystyka amplitudowo-częstotliwościowa w za-leżności od liczby współczynników filtra, na tle charakterystyki idealnej (pro-jektowanej).

Źródłem zafalowań charakterystyki amplitudowo-częstotliwościowej jest uży-cie okna prostokątnego, bowiem wycięcie fragmentu z odpowiedzi impulsowejfiltru nastąpiło przez wymnożenie części „środkowych” próbek przez 1, a pozo-stałych przez 0.

Nierównomierności charakterystyki można zmniejszyć przez użycie innegookna niż prostokątne. Definicje najczęściej stosowanych okien czasowych przed-stawiono w poprzednim podrozdziale, w tabeli 7.3.

Wymnożenie odpowiedzi impulsowej 7.30 przez funkcję wybranego okna po-woduje zredukowanie nieciągłości (rys. 7.11). Jakie ma to przełożenie na cha-rakterystykę 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, środko-woprzepustowy, środkowozaporowy lub o innym kształcie. Na rysunku 7.14przedstawiono projekt filtru środkowoprzepustowego 64-go rzędu z zastosowa-niem okna Hamminga.

Page 125: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 125

0 5 10 15 20 25 30

−0.05

0

0.05

0.1

0.15

0.2

0.25

n

h(n

)

Rysunek 7.11: Odpowiedź impulsowa przykładowego filtru po wymnożeniuprzez okno Hamminga.

7.4.4 Projektowanie filtrów FIR metodą Remeza

Metoda ta, zwana również metodą Parks-McClellan’a, polega na minimalizowa-niu funkcji 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 FIR

W 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 Matlabie

Wszystkie opisane metody opierają się o taki sam schemat działania, którymożna przedstawić w punktach:

Page 126: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 126

−0.5 0 0.50

0.2

0.4

0.6

0.8

1

1.2

1.4

Ω/2π

|H(Ω

)|

−0.5 0 0.5−150

−100

−50

0

Ω/2π

|H(Ω

)|[d

B]

rectwin

Hamming

Rysunek 7.12: Porównanie charakterystyk częstotliwościowych przykładowegofiltru z zastosowaniem okna prostokątnego i Hamminga. Wykresy przedstawionew skali liniowej i logarytmicznej.

Page 127: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 127

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

−100

−90

−80

−70

−60

−50

−40

−30

−20

−10

0

Ω/2π

|H(Ω

)|[d

B]

32

64

128

512

(a) Okno Hamminga.

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

−100

−90

−80

−70

−60

−50

−40

−30

−20

−10

0

Ω/2π

|H(Ω

)|[d

B]

32

64

128

512

(b) Okno Hanninga.

Rysunek 7.13: Porównanie charakterystyk częstotliwościowych filtrów środko-woprzepustowych o różnej liczbie współczynników, zaprojektowanych metodąpróbkowania w dziedzinie częstotliwości (zaprezentowano część charakterystykiw zakresie częstotliwości 0 . . . 0, 5fs).

Page 128: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 128

−30 −20 −10 0 10 20 30

0

0.5

1

m

H(m

)

(a) Transmitancja zadana filtru srodkowoprzepustowego

−30 −20 −10 0 10 20 30

−0.1

−0.05

0

0.05

0.1

0.15

n

h(n

)

(b) Odwrotna DFT funkcji H(m)

−0.5 0 0.5

−80

−60

−40

−20

0

Ω/2π

|H(Ω

)|[d

B]

(c) Transmitancja filtru z oknem Hamminga

Rysunek 7.14: Filtr środkowoprzepustowy, zaprojektowany metodą okien, zoknem Hamminga.

Page 129: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 129

1. określenie parametrów filtru: kształtu charakterystyki amplitudowej (iewentualnie fazowej) w dziedzinie częstotliwości, maksymalnych zafalo-wań w paśmie przepustowym, minimalnego tłumienia w paśmie zaporo-wym, 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 czasowych

Odpowiedź impulsową filtru projektowanego tą metodą zwraca funkcja fir1.Jako parametr należy podać rząd filtru n i częstotliwość graniczną Wn unor-mowaną 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 pasmowoza-porowy. 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 zapro-jektowanego filtru używamy funkcji freqz. Pierwszym parametrem jest wektorwspółczynników filtru (licznik transmitancji), drugim współczynniki mianow-nika (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 zwra-canych do 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ób-kowania.

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 śro-dowisku Matlaba może być następująca:

Page 130: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 130

f 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 ś ć gr an i cznaN = 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 para-metrami:

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 normalizo-wany do połowy częstotliwości próbkowania.

Jeśli założenia projektowe narzucają maksymalny poziom zafalowań i mi-nimalne tłumienie w paśmie zaporowym wówczas korzystne jest użycie para-metrycznego okna 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 ; % za f a l owan i a w paśmie przepustowym (%)As = 40 ; % tłumi en i e 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 ) ; % pr ze l i czamy 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, f type , k a i s e r (N+1, beta ) ) ;f r e q z (h , 1 , 5 1 2 , f s )d i sp ( [ ’ 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.

Page 131: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 131

7.5.2 Metoda próbkowania w dziedzinie częstotliwości

Do projektowania odpowiedzi impulsowej tą metodą przewidziana jest funkcjafir2. Podaje się jej parametry po kolei: rząd filtru, wektor punktów częstotli-wości i 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 ś ć gr an i cznaN = 30; % rząd

f = [ 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∗ l og10 ( abs (H) ) )g r i d on

Wektor 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 , zespo-lone) 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 wy-branych wartości N .

7.5.3 Metoda Remeza

Projektowanie filtrów metodą Remeza (algorytmem Parks-McClellan’a) zapew-nia funkcja firpm. Kolejność i znaczenie parametrów jest bardzo podobne jakw funkcji fir2, przy czym wartości w wektorze częstotliwości i amplitudy po-daje się parami tworząc przedziały zmienności charakterystyki amplitudowo-częstotliwościowej. Zależność pomiędzy wektorem częstotliwości i amplitudypokazano na rysunku 7.15 (rysunek zaczerpnięty z pliku pomocy programu Ma-tlab).

Zadanie.Zbadaj charakterystykę amplitudowo-częstotliwościową filtru o charaktery-

styce zadanej jak na rysunku 7.15.

Page 132: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 132

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 0.2 0.4 0.6 0.8 1

|H(Ω

)|

Ω/π

Rysunek 7.15: Zasada zadawania charakterystyki częstotliwościowej w funkcjifirpm

7.6 Filtry IIR

7.6.1 Wprowadzenie

Filtry o nieskończonej odpowiedzi impulsowej, inaczej zwane rekursywnymi,znacznie różnią się od filtrów FIR. Przede wszystkim zapewniają dużą stro-mość charakterystyk amplitudowo-częstotliwościowych przy dużo mniejszej licz-bie współ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 nie-jednakowe opóź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 zwrot-nego (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.

Page 133: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 133

7.6.2 Projektowanie filtrów IIR metodą niezmienności od-

powiedzi impulsowej

Metoda ta polega na zaprojektowaniu filtru cyfrowego, którego odpowiedź im-pulsowa hd(n) jest spróbkowaną wersją ciągłej odpowiedzi filtru analogowegoha(t):

hd(n) = Ts · ha(nTs). (7.31)

Mnożenie przez Ts uniezależnia wzmocnienie filtru cyfrowego od okresu prób-kowania (Ts = 1

fs- okres próbkowania).

Ponieważ metoda ta bazuje na prototypie filtru analogowego, musimy naj-pierw zaprojektować filtr analogowy i otrzymać pożądaną funkcję transmitancjiw postaci:

Ha(s) =∑M

m=0 bmsm

∑Nn=0 ansn

. (7.32)

Następnie musimy policzyć odwrotną transformatę Laplace’a w celu wyznacze-nia odpowiedzi impulsowej. Nie zawsze to zadanie jest proste. W celu ułatwieniaobliczeń istnieje możliwość rozłożenia transmitancji na sumę ułamków prostych:

Ha(s) =N∑

k=1

Ak

s− pk. (7.33)

Odpowiedź impulsowa takiego układu dana jest wzorem:

ha(t) =N∑

k=1

Akepkt. (7.34)

Korzystając z zależności (7.31) dostajemy następującą formułę na odpowiedźfiltru cyfrowego:

hd(n) = Ts ·N∑

k=1

AkepknT . (7.35)

Transmitancja filtru cyfrowego jest równa transformacie Z jego odpowiedzi im-pulsowej:

Hd(z) =N∑

k=1

Ak

1− epkTsz−1. (7.36)

Należy mieć na uwadze, że próbkowanie sygnału powoduje powielenie widm am-plitudowych w dziedzinie częstotliwości i może prowadzić do aliasingu. Dlategoteż charakterystyka amplitudowa filtru cyfrowego jest przeważnie zniekształconaw stosunku do prototypu analogowego.

Page 134: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 134

7.6.3 Projektowanie filtrów IIR metodą transformacji bi-

liniowej

Projektowanie 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 =2Ts· z − 1z + 1

, (7.37)

gdzie Ts jest okresem próbkowania (Ts = 1fs

)Mówimy wówczas, że został skonstruowany filtr cyfrowy taki, że:

Hd(z) = Ha(s) = Ha(2Ts· z − 1z + 1

).

Charakterystykę amplitudowo-częstotliwościową filtru analogowego określamypodstawiając s = jω, cyfrowego zaś podstawiając z = ejΩ, zatem na podstawie(7.37):

s =2Ts· e

jΩ − 1ejΩ + 1

,

wiedząc, że:

sinx =ejx − e−jx

2jcosx =

ejx + e−jx

2,

obliczamy:

jω =2Ts· e

jΩ − 1ejΩ + 1

=2Ts·ej Ω

2

(

ej Ω2 − e−j Ω

2

)

ej Ω2

(

ej Ω2 + e−j Ω

2

) = j2Ts·

(

ej Ω2 − e−j Ω

2

)

/ (2j)(

ej Ω2 + e−j Ω

2

)

/2

= j2Ts· sin Ω

2

cos Ω2

= j2Ts· tan

Ω2,

zatem związki między pulsacjami analogową ω i cyfrową Ω wyrażają się w na-stępujący sposób:

ω =2Ts· tan

Ω2, Ω = 2 arctan

ωTs

2, (7.38)

Page 135: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 135

Rysunek 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/fs 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ęstotli-wości analogowej 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 pul-sacje ’analogowe’ (wzór 7.38),

• wyznaczeniu transmitancji cyfrowej przez podstawienie (wzór 7.37),

• odczytaniu współczynników an i bm z postaci transmitancji.

Page 136: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 136

Przykład.Zaprojektujmy filtr dolnoprzepustowy Czebyszewa, drugiego rzędu, o często-

tliwości granicznej 100Hz i nierównomierności charakterystyki w paśmie prze-pustowym ≤ 1dB. Częstotliwość próbkowania w systemie cyfrowym wynosifs = 1kHz.

Transmitancja prototypu analogowego:

Ha(s) =a

s2 + bs+ c, a = 414949 b = 713, 351 c = 465580.

Wykonujemy podstawienie (wzór 7.37):

Hd(z) =a

(

2Ts

1−z−1

1+z−1

)2

+ b 2Ts

1−z−1

1+z−1 + c

=a(

1 + z−1)2

(

2Ts

)2

(1− z−1)2 + b 2Ts

(1− z−1) (1 + z−1) + c (1 + z−1)2

=a(

1 + 2z−1 + 2z−2)

(

2Ts

)2

+ b 2Ts

+ c+(

2c− 2(

2Ts

)2)

z−1 +(

(

2Ts

)2

− b 2Ts

+ c

)

z−2

=

a

( 2Ts

)2+b 2

Ts+c

(

1 + 2z−1 + 2z−2)

1 +2c−2( 2

Ts)2

( 2Ts

)2+b 2

Ts+cz−1 + ( 2

Ts)2−b 2

Ts+c

( 2Ts

)2+b 2

Ts+cz−2

.

Podstawiając dane numeryczne:

Hd(z) =0, 0704224 + 0, 140844z−1 + 0, 0704224z−2

1− 1, 19967z−1 + 0, 515738z−2.

Współczynniki filtru IIR:

b0 = 0, 0704224b1 = 0, 140844 a1 = 1, 19967b2 = 0, 0704224 a2 = 0, 515738

.

Zadanie.

Zaprojektuj metodą transformacji biliniowej cyfrowy filtr dolnoprzepustowyo charakterystyce Butterwortha pierwszego rzędu i częstotliwości granicznej8kHz. Częstotliwość próbkowania: 25kHz.

Page 137: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 137

7.6.4 Projektowanie filtrów IIR metodami iteracyjnymi

Użycie komputera umożliwia projektowanie filtrów na wiele innych sposobów.Na przykład w Signal Processing Toolbox Matlaba znajdziemy funkcję (yule-walk) projektowania w zasadzie dowolnego kształtu charakterystyki amplitudowo-częstotliwościowej. Działa ona na zasadzie minimalizacji wskaźnika jakości zde-finiowanego w następujący sposób:

E =K∑

k=1

[∣

∣Hp

(

ejΩk)∣

∣−∣

∣H(

ejΩk)∣

]2, (7.39)

gdzie Hp to projektowana charakterystyka filtru zadana dla K pulsacji Ωk. Mi-nimalizując funkcję (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 Matlabie

7.7.1 Metoda niezmienności odpowiedzi impulsowej

Metoda 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 zaprojekto-wać 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 zaprojek-towanego metodą 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 wac j i

Ts=1/ f s ;

wg = 2∗ pi ∗ f g ; % p u l s a c j a gr an i czna analogowego

Page 138: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 138

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 cy f r owej

[ 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 cyf rowego[ bd , ad ] = impinvar ( ba , aa , f s ) ;g = f s ; % skalowanie amplitudy% odpowiedź impulsowa f i l t r u cyf rowegoimpz ( g∗bd , ad , [ ] , f s ) ;l egend ( [ ’ h ( t ) ’ ; ’ h ( n ) ’ ] ) ;hold o f f

f i g u r e (2)c l fhold on

% char akter ys tyka 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∗ l og10 ( abs (Ha ) ) ) ;

% i f i l t r u cyf rowego[ Hd, wd]= f r e q z ( bd , ad , 5 1 2 ) ;p l o t (wd/(2∗ pi )∗ f s , 20∗ l og10 ( abs (Hd ) ) , ’ : ’ ) ;x l a b e l ( ’ f [ Hz ] ’ ) ;y l a b e l ( ’ |H| [ dB ] ’ ) ;l egend ( [ ’H( s ) ’ ; ’H( z ) ’ ] ) ;a x i s ( [ 0 500 −40 5 ] ) ;g r i d on

7.7.2 Metoda transformacji biliniowej

Matlab daje kilka możliwości zaprojektowania filtrów tą metodą. Oto skrypt po-kazujący moż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 ś ć gr an i czna f i l t r uR = 1 ; % zafalowania , dB

Page 139: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 139

Ts=1/ f s ; % obl iczamy okr es próbkowania

wga = 2/Ts∗ tan ((2∗ pi ∗ f g / f s ) / 2 ) ; % p u l s a c j a gr an i czna f . analogowegof ga = wga /(2∗ pi ) ; % c z ę s t o t l i w o ś ć gr an i czna 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 cy f r owej

% 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 ’ ) ;

% char akter ys tyka 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∗ l og10 ( 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 ) ; % pods tawi en i e wg przykładub=aa ( 2 ) ;c=aa ( 3 ) ;

TS2 = (2/ Ts ) ^ 2 ; % pods tawi en i e upr aszcza j ąc e% o b l i c z e n i e współczynników f i l t r u cyf rowegob0 = 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 cy f r owej ( zmienna z )p r i n t s y s (bd , ad , ’ z ’ )

% char akter ys tyka c z ę s t o t l i w o ś c i o w a f . cyf rowego[ Hd, wd]= f r e q z ( bd , ad , 5 1 2 ) ;p l o t (wd/(2∗ pi )∗ f s , 20∗ l og10 ( abs (Hd ) ) , ’ : ’ ) ;x l a b e l ( ’ f [ Hz ] ’ ) ;y l a b e l ( ’ |H| [ dB ] ’ ) ;l egend ( [ ’H( s ) ’ ; ’H( z ) ’ ] ) ;a x i s ( [ 0 500 −40 5 ] ) ;g r i d on

Page 140: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 140

Oznaczenia 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 projek-towania od 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 po-dajemy współczynniki licznika i mianownika transmitancji filtru analogowegooraz częstotliwość próbkowania. W wyniku otrzymujemy współczynniki licz-nika i 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ółczynnik i f i l t r u cyf r owego

Co więcej, nie jesteśmy ograniczeni co do stopnia wielomianów licznika i mia-nownika, zatem bez problemów możemy obliczać transmitancje filtrów dowol-nych rzę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-Walkera

Do zaprojektowania filtru tą metodą służy funkcja yulewalk. Jej parametramisą rząd filtru, oraz dwa wektory kształtujące charakterystykę amplitudowo-czę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ści próbkowania. Poniżej znajduje się przykładowy projekt dolnoprze-pustowego filtru IIR ósmego rzędu o częstotliwości granicznej 0, 3 · fs.

Page 141: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 141

f = [ 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) , ’ − − ’)l egend ( ’ i dea l na ’ , ’ yulewalk ’ )

Zadanie.Zaprojektuj metodą Yule’a-Walkera filtr pasmowoprzepustowy o częstotliwo-

ściach fd = 300Hz, fg = 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 wy-kresie przedstaw tę charakterystykę w skali decybelowej.

7.8 Proces filtracji cyfrowej

7.8.1 Struktury filtrów

Zasadniczo algorytm filtracji opisuje równanie różnicowe (7.16), które tu powtó-rzymy:

y(n) =M∑

m=0

bmx(n−m)−N∑

k=1

aky(n− k). (7.40)

Schemat 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śred-niej typu 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 a1 . . . an

są równe 0 i układ sprowadza się do przedstawionego na rysunku 7.1.Można budować również inne postacie. Wykorzystując zasady transpozy-

cji elementó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).

Page 142: Skrypt APSC

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ła-dów przetwarzania [3, 4]. Na przykład filtr w postaci bezpośredniej typu I jestnajlepszym rozwiązaniem w przypadku stałoprzecinkowego procesora sygnało-wego, ze względu na istnienie jednego punktu sumacyjnego (procesory DSPposiadają dłuższy akumulator pozwalający na chwilowe przepełnienie). Nato-miast postać bezpośrednia typu II jest lepsza dla procesora zmiennoprzecinko-wego, gdyż oszczędza się na pamięci. Dodatkowe przekształcenie do postacitransponowanej typu II poprawia dokładność obliczeń zmiennoprzecinkowych z

Page 143: Skrypt APSC

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 zwrotnego

mogą mieć problemy ze stabilnością, przepełnieniami arytmetycznymi i wyma-gają 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ż-szych rzędów łączy te sekcje w kaskady (jeden za drugim). Niestety, dla niskichczęstotliwości filtracji sekcje bikwadratowe są bardziej podatne na błędy kwan-tyzacji, głównie od współczynników a1 i a2 oraz pamięci.

7.8.2 Filtracja sygnałów w Matlabie

Matlab posiada bardzo proste narzędzie do cyfrowej filtracji sygnału w postacifunkcji filter. Wystarczy funkcji przekazać takie parametry jak wektor współ-czynników bm, ak i sygnał wejściowy. Na wyjściu otrzymujemy przefiltrowanysygnał w postaci wektora.

7.8.2.1 Przykład 1

Pokażmy jednak na przykładzie więcej szczegółów. Oto skrypt Matlaba gene-rujący sygnał 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. Al-gorytm filtracji jest wykonywany według schematu pokazanego na rysunku 7.1.

Page 144: Skrypt APSC

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.

Page 145: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 145

Na 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 ś ć 2

M=20; % długość f i l t r uf g =50; % c z ę s t o t l i w o ś ć gr an i czna f i l t r u

wg = 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 ; % okr es 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 c iągu wyjściowegof o r n = 1 : L

% p r z e s u n i ę c i e próbek w buf or ze i dodanie nowejbuf = [ x ( n) buf ( 1 :M−1) ] ;y (n) = sum( buf . ∗ hr ) ; % mnożenie z dodawaniem

end

f 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 unkc j ą " f i l t e r " ’ )

7.8.2.2 Przykład 2

Drugi przykładowy skrypt pozwala zaobserwować skuteczność filtracji. Sygna-łem wejściowym jest ten sam co wyżej, złożony z dwóch przebiegów sinusoidal-

Page 146: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 146

nych 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 sy-gnału wejś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 ś ć gr an i czna f i l t r u

wg = 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 ; % okr es 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 ’ )l egend ( ’ |X( f ) | ’ , ’ |Y( f ) | ’ )g r i d on

Page 147: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 147

7.8.2.3 Przykład 3

Oczywiś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-ści pró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 po-mocą 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) ; % nor mal i zac j a danychd i sp ( [ ’ bitów na próbkę = ’ num2str ( n b i t s ) ] ) ;d i sp ( [ ’ f s = ’ num2str ( f s ) ’ Hz ’ ] ) ;d i sp ( [ ’ długość = ’ num2str (L) ’ próbek ’ ] ) ;

F1 = 2∗ f 1 / f s ; % nor mal i zac j a 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) ;

% char akter ys tyka 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 ) ;%semi logx (F , 20∗ l og10 ( abs (H) ) ) % ch−ka l ogp l o t (F , 20∗ l og10 ( abs (H) ) ) % ch−ka l i n

Page 148: Skrypt APSC

ROZDZIAŁ 7. FILTRY CYFROWE 148

g 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) ; % nor mal i zac j a po f 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 ’ )l egend ( ’ |X( f ) | ’ , ’ |Y( f ) | ’ )g r i d on

% odtworzenie dźwiękówsound (x , f s ) ;sound (y , f s ) ;

Page 149: Skrypt APSC

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 za-stosowań”, WKiŁ, 2005 („Od teorii do cyfrowego przetwarzaniasygnałów”, Wydział EAIiE AGH, 2002).

[5] Steven W. S.: „The Scientist and Engineer’s Guide to Digital Si-gnal Processing”, California Technical Publishing, 1997, [dostęp:30 września 2011], <http://www.dspguide.com>.

[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 prin-ciples: Exact signal reconstruction from highly incomplete frequ-ency information”, 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

Page 150: Skrypt APSC

BIBLIOGRAFIA 150

[11] Candes E., Tao T., „Near optimal signal recovery from randomprojections: Universal encoding strategies?”, IEEE Trans. on In-formation Theory, 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”, Wydaw-nictwo Discepto, Kraków, 2005.