Politechnika Gdańska Wydział Elektroniki, Telekomunikacji i Informatyki Automatyka i Robotyka Praca magisterska Implementacja algorytmów filtracji adaptacyjnej o strukturze transwersalnej na platformie CUDA. Jakub Kołakowski Promotor: dr inż. Michał Meller Gdańsk, 2011
Spis treści Spis treści i 1 Wstęp 1 2 Podstawy teoretyczne 3 2.1 Wprowadzenie... 3 2.1.1 Strukturyfiltrów... 3 2.1.2 Zastosowania... 4 2.2 Filtracjaoptymalna-filtrWienera... 7 2.3 Metodygradientowe... 9 2.3.1 Algorytmynajszybszegospadku... 10 2.3.2 AlgorytmyNewtona-Raphsona... 11 2.3.3 AlgorytmyQuasi-Newtona... 11 2.4 Adaptacyjnealgorytmygradientustochastycznego(LMS)... 11 2.4.1 FiltrLMS... 12 2.4.2 FiltrNLMS... 12 2.5 Blokowefiltryadaptacyjne... 13 3 Opis platformy CUDA 15 Bibliografia 17 Spis rysunków 19 i
Rozdział 1 Wstęp...jakiśtekst... 1
Rozdział 2 Podstawy teoretyczne 2.1 Wprowadzenie 2.1.1 Strukturyfiltrów Dobór struktury filtra ma znaczący wpływ na działanie algorytmu adaptacyjnego. Wyróżnia się kilka podstawowych struktur filtrów, które określa się filtrami o skończonej pamięci lub skończonej odpowiedzi impulsowej(fir, ang. finite-duration impulse response). Takie struktury, w odróznieniu od filtrów o nieskończonej odpowiedzi impulsowej (IIR, ang. infinite-duration impulse response), nie zawierają ścieżek sprzężeń zwrotnych. Obecność sprzężeń niesie ze sobą problem zapewnienia stabilności filtra, który może wpaść w oscylacje. Z tego powodu algorytmy filtracji adaptacyjnej typu IIR są bardziej złożone, a co za tym idzie, rzadziej wykorzystywane w praktyce. Niniejsza praca traktuje o filtrach o skończonej odpowiedzi impulsowej. Dwie najpopularniejsze struktury takich filtrów sa następujące: Filtr transwersalny Struktura transwersalna to struktura opierająca się o linię opóźniającą. Przykład takiej struktury zaprezentowano na Rysunku 2.1. Liczba elementów opóźniających(identyfikowanychprzezoperatoropóźnieniajednostkowegoz 1 ),użytychwfiltrze,wyznacza skończoną długość odpowiedzi impulsowej. Określa ona także rząd filtra. Wyjście filtra transwersalnego rzędu M 1 przedstawionego na Rysunku 2.1 jest dane równaniem: y(n)= M 1 k=0 w k u(n k) (2.1) gdziew k tok-tywspółczynnikfiltra(k=0,1,...,m 1). Implementacja filtrów o strukturze transwersalnej(i jej modyfikacjach) jest przedmiotem tej pracy. 3
4 ROZDZIAŁ 2. PODSTAWY TEORETYCZNE Rysunek 2.1: Filtr transwersalny[2, str. 5] Filtr drabinkowy Struktura drabinkowa(zwana także kratową), a dokładniej filtr predykcyjny o strukturze drabinkowej, składa się z modułów, a ich liczbę nazywa się rzędem predykcji. Na Rysunku2.2pokazanofiltrpredykcyjnyrzęduM 1.StopieńmfiltrazRysunku2.2 jest opisany parą wzorów(przy założeniu, że dane wejściowe są zespolone i stacjonarne w szerokim sensie): f m (n)=f m 1 (n)+κ mb m 1 (n 1) (2.2) b m (n)=b m 1 (n 1)+κ m f m 1 (n) (2.3) gdzie: f m (n) błądpredykcjiwprzód,m=1,2,...,m 1, b m (n) błądpredykcjiwstecz,m=1,2,...,m 1, κ m współczynnikodbicia,m=1,2,...,m 1. Warunki początkowe są następujące: f 0 (n)=u(n) (2.4) b 0 (n)=u(n) (2.5) Jakpodanowpracy[2,str.6]dlaskorelowanejsekwencjipróbeku(n),u(n 1),..., u(n M+1)pochodzącychzestacjonarnegoprocesu,błędypredykcjiwsteczb 0,b 1 (n),..., b M 1 (n)tworząsekwencjęnieskorelowanychzmiennychlosowych.dodatkowoliniowa kombinacjabłędówpredykcjiwsteczb 0,b 1 (n),...,b M 1 (n)możebyćwykorzystanado wyznaczenia estymaty pewnego sygnału odniesienia d(n)(dolna część Rysunku 2.2). Różnica między estymatą a sygnałem d(n) daje w rezultacie błąd estymacji e(n). Proces tak opisany znany jest pod angielską nazwą joint-process estimation. 2.1.2 Zastosowania Zdolność filtrów adaptacyjnych do zadowalającego działania w nieznanym środowisku oraz do śledzenia statystycznych cech sygnałów czyni je potężnymi narzędziami w cyfrowym przetwarzaniu sygnałów. Układy zdolne do przystosowania się, mają zdecydowaną
2.1. WPROWADZENIE 5 Rysunek 2.2: Filtr drabinkowy[2, str. 7] przewagę nad tymi, które tego nie potrafią. Na Rysunku 2.3 wyróżniono cztery podstawowe zastosowania filtracji adaptacyjnej. Są one następujące: Identyfikacja (Rysunek 2.3a) Filtr adaptacyjny jest używany, aby zapewnić najlepszy w pewnym sensie liniowy model nieznanego obiektu. Obiekt i filtr adaptacyjny są pobudzane tym samym sygnałem wejściowym u. Wyjściem obiektu jest sygnał odniesienia d(zwany także wzorcowym), a różnica tego sygnału z wyjściem y filtra daje w rezultacie błąd estymacji e, wykorzystywany do adaptacjyjnej korekcji wag filtra. Jeśli obiekt jest dynamiczny, to jego model będzie zmiennoczasowy. Modelowanie odwrotne (Rysunek 2.3b) Zadaniem filtra adaptacyjnego w tej konfiguracji jest wyznaczenie modelu odwrotnego, będącego najlepszym dopasowaniem(w pewnym sensie) do nieznanego obiektu. Model ma transmitancję równą odwrotności transmitancji obiektu. Jeśli obiektem jest kanał transmisyjny, deformujący przesyłany przez nadajnik sygnał, to filtr adaptacyjny, o odwrotnej funkcji przenoszenia, przeprowadza korekcję otrzymanego sygnału. Niweluje tym samym skutki działania medium transmisyjnego. Jednak aby wykonać taką operację niezbędne jest znanie przez odbiornik sygnału przesyłanego przez kanał, którego właściwości mogą się zmieniać w czasie. Nadajnik wysyła więc okresowo tak zwanego pilota, czyli odpowiedni sygnał znany odbiornikowi.
6 ROZDZIAŁ 2. PODSTAWY TEORETYCZNE - + (a) Identyfikacja 0'1)#2 3(4&53',!" #$#%#&'()' - - * 0'1)#2 3'(4&53' + + %./)) (b) Modelowanie odwrotne J?KA;L M?@N>7OM? P J?KA;L MI@N>7OM? F=GHA7IA7I D 6789: B ;<;=9;>?@A? - + C E J?KA;L M?@N>7OM? Q (c) Predykcja b[c]wd gx]shish]sw b[c]wd eh\fzsge[ + ` RSTUV ^ a b[c]wd WXWYUWZ[\][ - e[\fzsge[ _ (d) Usuwanie interferencji Rysunek 2.3: Cztery podstawowe zastosowania filtracji adaptacyjnej[2, str. 19]
2.2. FILTRACJA OPTYMALNA- FILTR WIENERA 7 Predykcja (Rysunek 2.3c) Filtra adaptacyjny pełni funkcję predyktora, czyli zapewnia najlepszą (w pewnym sensie) predykcję aktualnej wartości sygnału wejściowego. Aktualne próbki tego sygnału są sygnałem wzorcowym d filtra adaptacyjnego. Natomiast przeszłe wartości sygnału d podawane są na wejście filtra. W zależności od zastosowania, wyjściem konfiguracj z Rysynku 2.3c może być sygnał wyjściowy y filtra lub sygnał błędu estymacji (predykcji) e. Usuwanie interferencji (Rysunek 2.3d) W ostatniej klasie zastosowań, filtr adaptacyjny wykoszystuje się do usuwania nieznanych interferencji zawartych w sygnale odniesienia d, który przenosi także informację. Zadaniem filtra jest takie przekształcenie sygnału wejściowego u, aby w jak najlepszym stopniu skorelować go0 z interferencjami w syngale wzorcowym. Wyjściem jest w tym przypadku sygnał błędu e, czyli sygnał odniesinia pozbawiony niepożądanych zakłóceń. 2.2 Filtracja optymalna- filtr Wienera Model obiektu, przedstawionego na rysunku 2.4, opisany jest równaniem różnicowym: d(n)= M 1 i=0 gdzie: u(n) sygnał wejściowy, d(n) sygnał wyjściowy, w o i współczynnikifiltra,i=0,...,m 1. wi o u(n i) (2.6) ~ rlsot uvuwouxyz{y p - + jklmno p q } Rysunek 2.4: Filtr adaptacyjny w konfiguracji identyfikacji obiektu Wzór(2.6) można zapisać w formie d(n)=(w o ) T u(n) (2.7)
8 ROZDZIAŁ 2. PODSTAWY TEORETYCZNE gdzie: u(n)=[u(n),...,u(n M+1)] T (2.8) Estymatorem FIR powyższego systemu jest: w o = [ w o 0,...,w o M 1] T (2.9) y(n)=w T u(n) (2.10) gdziew=[w 0,...,w M 1 ] T sąestymatamiparametrówrzeczywistegosystemu.celem jest takie wyznaczenie w aby błąd średniokwadratowy pomiędzy zmierzonym sygnałem d(n)(sygnałem odniesienia) a sygnałem wyjściowym modelu y(n) był minimalny. Kryterium błędu wygląda następująco: J=E [ ] ( ) 2 ] e 2 (n) =E[ d(n) y(n) (2.11) gdzie E[.] oznacza wartość oczekiwaną. Podstawienie wzoru(2.10) do(2.11) daje w rezultacie: ( )] 2 J(w)=E[ d(n) w T u(n) (2.12) Dalsze przekształcenia: ( )] 2 J(w) = E[ d(n) w T u(n) = [ ] [ ] = E d 2 (n) 2E d(n)w T u(n) [ ] [ ] = E d 2 (n) 2w T Ed(n)u(n) [ ] = E d 2 (n) 2w T p (n) du +wt E [ ] = E d 2 (n) ( )] 2 +E[ w T u(n) [ +E = ] w T u(n)u T (n)w = ] w= [ u(n)u T (n) 2w T p (n) du +wt R (n) uu w (2.13) i wyznaczenie minimum funkcji poprzez obliczenie pochodnej wyrażenia(2.13) względem w oraz przyrównanie jej do zera: J(w) w = 2p(n) du +2R(n) uuw=0 (2.14) prowadzi do wyrażenia na optymalne wartości wag w filtra, który nosi nazwę filtra Wienera: [ ] 1p w o = R (n) (n) uu du (2.15) gdzie: R (n) uu estymata macierzy autokorelacji sygnału u(n) w n-tej chwili czasowej, p (n) du estymata wektora korelacji wzajemnej sygnału wejściowego i odniesienia.
2.3. METODY GRADIENTOWE 9 J(w 0,w 1 ) w 0 0 0 w 1 Rysunek 2.5: Przykładowa powierzchnia błędu średniokwadratowego 2.3 Metodygradientowe Praktyczne wykorzystanie równania(2.15) dla każdej chwili czasu n pociąga za sobą kłopot z poprawną estymacją wartości oczekiwanych, co jest typowym problemem stochastycznej optymalizacji. Wynika to z faktu, że w większości przypadków funkcje rozkładu gęstości prawdopodobieństwa obserwowanych zmiennych losowych nie są znane lub też zmienne te są niestacjonarne. Aby przezwyciężyć ten problem adoptuje się znane iteracyjne metody optymalizacji określone dla deterministycznych funkcji kosztu. Najczęściej stosowanymi algorytmami, które optymalizują deterministyczną funkcję kosztu(celu) są adaptacyjne algorytmy gradientowe. Rekursywny estymator ma postać: w(n+1)=w(n)+µv(n) (2.16) gdzie: w(n+1) wektorwspółczynnikówfiltrawchwilin+1, w(n) wektor współczynników filtra w chwili n, µ współczynnik skalujący, v(n) kierunek modyfikacji. We wzorze(2.16) pokazano uaktualnianie parametrów filtra w kierunku v(n). Wraz ze współczynnikiem skalującym powinien on zostać tak dobrany, aby zapewnić zbieżność parametróww(n)dowartośćioptymalnychw o określonychprzezfiltrwienera(rozdział 2.2). Najczęstszym wyborem v(n) jest kierunek przeciwny do określonego przez
10 ROZDZIAŁ 2. PODSTAWY TEORETYCZNE œ œ ž œ Ÿ œ Ÿ ž ƒ ƒ ƒˆ ƒˆ - + Š Œ Ž Œ Ž š Ž Rysunek 2.6: Transwersalny filtr adaptacyjny gradient z funkcji celu J(.). Na rysynku 2.5 przedstawiono przykładową powierzchnię błęduśredniokwadratowegofunkcjij=e[e 2 (n)]=e[(d(n) y(n)) 2 ]dlafiltraodwóch rzeczywistychwspółczynnikachw 0 iw 1.Minimumtejpowierzchniwyznaczaoptymalny wektorwagfiltrawieneraw o =[w o 0,wo 1 ]T,spełniającyrównanie(2.15). 2.3.1 Algorytmy najszybszego spadku Mają one postać: w(n+1)=w(n) 1 2 µ J( w(n) ) (2.17) gdzieµtowspółczynnikskalujący,natomiast J ( w(n) ) towektorgradientufunkcji kosztu równy: J ( w(n) ) = 2p (n) du +2R(n) uuw(n) (2.18) Wektor wag w(n) jest więc korygowany zgodnie z formułą: [ w(n+1)=w(n)+µ p (n) ] du R(n) uu w(n) (2.19) W ogólności współczynnik µ jest zmienny w czasie. Dodatkowo wprowadza się dodatnio określoną macierz wagową W(n) poprawiającą zbieżność(szybkość adaptacji) algorytmu. Otrzymuje się zatem: w(n+1)=w(n) 1 2 µ(n)w(n) J( w(n) ) (2.20) Warunek zbieżności Aby zapewnić zbieżność algorytmu najszybszego spadku do wartośći optymalnych, oprócz właściwego doboru kierunku korekcji wag filtra, również parametr µ musi spełniać na-
2.4. ADAPTACYJNE ALGORYTMY GRADIENTU STOCHASTYCZNEGO(LMS) 11 stępujący warunek: 1 µλ k <1 (2.21) gdzieλ k,k=1,2,...,m,towartościwłasnemacierzyautokorelacjir (n) uu. Warunek(2.21) jest równaważny poniższemu ograniczeniu wartości parametru µ: 0<µ< 2 λ max (2.22) gdzieλ max oznaczanajwiększąwartośćwłasnąmacierzyautokorelacjisygnałuwejściowego u(n). Dodatkowo jak napisano w pracy[9, str. 386], szybkość zbieżności adaptacji wpółczynników filtra do wartości optymalnych jest zależna od rozrzutu wartości własnych macierzyr (n) uu. Zmniejszenie tego rozrzutu skutkuje poprawieniem zbieżności. 2.3.2 AlgorytmyNewtona-Raphsona W algorytmach Newtona-Raphsona za macierz W(n) przyjmuje się odwrotność hesjanu funkcjiceluj ( w(n) ) wn-tejchwiliczasowej: Zatem: W(n)= [ 2 J ( w(n) )] 1 w(n+1)=w(n) 1 2 µ(n) [ 2 J ( w(n) )] 1 J ( w(n) ) (2.23) (2.24) 2.3.3 AlgorytmyQuasi-Newtona W przypadkach gdy wyznaczenie wartości hesjanu jest trudne, wykorzystywana jest jego aproksymata A(n): w(n+1)=w(n) 1 2 µ(n)[a(n)] 1 J ( w(n) ) (2.25) 2.4 Adaptacyjne algorytmy gradientu stochastycznego(lms) Niech minimalizowana funkcja kosztu wynosi: J=e 2 (n) (2.26) Filtr adaptacyjny ma zatem za zadanie minimalizować chwilową a nie oczekiwaną wartość błędu. Jak napisano w pracy[6] jest to równoznaczne z zastąpieniem w równaniu(2.19) elementów macierzy autokorelacji R oraz składowych wektora korelacji wzajemnej p ich obserwacjami, zgodnie z symbolicznym zapisem: R (n) uu =E[u(n)uT (n)] u(n)u T (n) (2.27) p (n) du =E[d(n)u(n)] d(n)u(n) (2.28)
12 ROZDZIAŁ 2. PODSTAWY TEORETYCZNE Zatem: [ ] w(n+1) = w(n)+µ d(n)u(n) u(n)u T (n)w(n) [ ] = w(n)+µ d(n) w T (n)u(n) u(n)= [ ] = w(n)+µ d(n) y(n) u(n)= = w(n) + µe(n)u(n) (2.29) = Uwzględniając więc uogólnienia z równania(2.20), zależność(2.29) przyjmuje postać wzoru(2.30) charakteryzującą szeroką grupę filtrów: w(n + 1) = w(n) µ(n)w(n)e(n)u(n) (2.30) gdzie: W(n) macierzwagowaowymiarachmxm, µ(n) współczynnik skalujący zależny od czasu, e(n) sygnałbłęduwchwilin. 2.4.1 FiltrLMS Otrzymywany jest po uniezależnieniu współczynnika skalującego od czasu(µ(n) = µ) oraz po wprowadzeniu identycznościowej macierzy wagowej W(n) = I. Wzór(2.30) przyjmuje postać: w(n+1)=w(n) µe(n)u(n) (2.31) Warunek zbieżności Błąd dopasowania dasd 2.4.2 FiltrNLMS Unormowany filtr LMS(NLMS) otrzymywany jestw wyniku uzależnienia w równaniu(2.31) parametru µ od czasu w następujący sposób: µ µ(n)= γ+u T (n)u(n) = µ M 1 γ+ u 2 (n i) i=0 (2.32) gdziestałaadaptacjiµspełniazalezność:0<µ<2.wmianownikuwyrażeniawprowadza się parametr γ > 0 zapobiegający występowaniu problemów numerycznych, w przypadku gdy próbka sygnału wejściowego u(n) jest mała i występuje dzielenie przez niewielką wartość. Zmiany wprowadzone w algorytmie NLMS, w porównaniu do podstawowej wersji algorytmu gradientu stochastycznego(lms), powodują poprawę zbieżności zarówno dla nieskorelowanych jak i skorelowanych danych wejściowych.
2.5. BLOKOWE FILTRY ADAPTACYJNE 13 2.5 Blokowe filtry adaptacyjne Jeśli w dziedzinie czasu użyje się algorytmu LMS wymagającego dużej ilości pamięci, można zaobserwować znaczący wzrost w złożoności obliczeniowej. Jak podaje Haykin w pracy[2, str. 446], istnieją dwa sposoby na radzenie sobie z tym problemem: 1. Wybór algorytmu o nieskończonej odpowiedzi impulsowej(iir), co wymaga także zapewnienia jego stabilności. 2. Filtracja adaptacyjna w dziedzinie częstotliwości łącząca dwie uzupełniające się metody stosowane w cyfrowym przetwarzaniu sygnałów: blokowa implementacja filtra FIR, pozwalając ana skuteczne wykorzystanie równoległego przetwarzania, co skutkuje przyspieszeniem wykonywanych obliczeń algorytmy szybkiej transformaty Fouriera(FFT, ang. Fast Fourier Transform), usprawniąjce wykonywanie splotów, co pozwala w efektywny sposób przeprowadzać adaptację parametrów filtra w dziedzinie częstotliwości Powyższe podejście nazywane jest blokowym algorytmem LMS(BLMS) i umożliwia zastosowanie filtrów FIR o wielu współczynnikach, w sposób efektywny obliczeniowo. Filtry blokowe obniżają więc koszt obliczeniowy, jednocześnie poprawiając szybkość zbieżności algorytmu. Wynika to z faktu, iż dane przetwarzane są na zaszdzie blok po bloku, zamiast próbka po próbce. Jednakże obniżenie liczby obliczeń i polepszenie zbieżności niesie ze sobą wady. W implementacjach blokowych pojawia się problem opóźnienia w ścieżce sygnału. Jest to rezutlatem konieczności zebrania bloków danych przed ich dalszym przetwarzaniem....jakiśtekst... Pewne symbole: DMC, LZ77, LZ78.
14 ROZDZIAŁ 2. PODSTAWY TEORETYCZNE Rysunek 2.7: Blokowy filtr adaptacyjny[8, str. 443]
Rozdział 3 Opis platformy CUDA 15
Bibliografia [1]G.A.Clark,S.K.Mitra,andS.R.Parker.Blockimplementationofadaptivedigitalfilters. IEEE Transactions on Circuits and Systems, CAS-28(6):584 592, June 1981. [2] S. Haykin. Adaptive Filter Theory. Prentice Hall, Englewood Cliffs, New Jersey, 3rd edition, 1996. [3] NVIDIA Corporation. CUDA C Best Practices Guide, 4.0 edition, March 2011. [4] NVIDIA Corporation. CUDA C Programming Guide, 4.0 edition, March 2011. [5] NVIDIA Corporation. CUFFT Library User Guide, February 2011. [6] L. Rutkowski. Filtry adaptacyjne i adaptacyjne przetwarzanie sygnałów: teoria i zastosowania. Wydawnictwa Naukowo-Techniczne, Warszawa, 1994. [7] J. Sanders and E. Kandrot. CUDA by Example. An Introduction to General-Purpose GPU Programming. Addison-Wesley, Upper Saddle River, NJ, 2011. [8] A. H. Sayed. Adaptive Filters. Wiley-Interscience, New Jersey, 2008. [9] T. P. Zieliński. Cyfrowe przetwarzanie sygnałów: Od teorii do zastosowań. Wydawnictwa Komunikacji i Łączności, Warszawa, 2007. 17
Spis rysunków 2.1 Filtrtranswersalny[2,str.5]... 4 2.2 Filtrdrabinkowy[2,str.7]... 5 2.3 Czterypodstawowezastosowaniafiltracjiadaptacyjnej[2,str.19]... 6 2.4 Filtradaptacyjnywkonfiguracjiidentyfikacjiobiektu... 7 2.5 Przykładowapowierzchniabłęduśredniokwadratowego... 9 2.6 Transwersalnyfiltradaptacyjny... 10 2.7 Blokowyfiltradaptacyjny[8,str.443]... 14 19