Dyplomant : Karol Czułkowski IMPLEMENTACJA ALGORYTMÓW FILTRACJI ADAPTACYJNEJ O STRUKTURZE DRABINKOWEJ NA PLATFORMIE CUDA. Dyplomant : Karol Czułkowski Opiekun : dr inż. Michał Meller
Plan prezentacji : 1. Filtracja adaptacyjna. 2. Przykłady zastosowań filtracji adaptacyjnej. 3. Filtry LSL oraz GAL. 4. Techniki zrównoleglania obliczeń. 5. Platforma CUDA. 6. Poszczególne etapy oraz cel pracy.
Filtracja adaptacyjna To już było… Filtr cyfrowy FIR Układy LTI H(z) u(n) y(n) H(z) = h0+h1z-1+h2z-2+…+hMz-M
Filtracja adaptacyjna Filtr adaptacyjny d(n) u(n) - H(z) e(n) y(n) + H(z) = h0(n)+h1(n)z-1+h2(n)z-2+…+hM(n)z-M
Przykłady zastosowań f.a. Układ adaptacyjnej identyfikacji : obiekt d(n) F(z) + e(n) + u(n) model - y(n) H(z)
Przykłady zastosowań f.a. Adaptacyjne usuwanie interferencji :
Przykłady zastosowań f.a. Adaptacyjne odszumianie, liniowa predykcja. Adaptacyjna korekcja kanału. kanał F(z) H(z) + u(n) d(n) e(n) y(n) model
Filtry LSL oraz GAL Filtry o strukturze transwersalnej Filtry rekursywne względem rzędu u(n) k1(n) k2(n) k3(n) kM(n)
Filtry LSL oraz GAL Dlaczego i gdzie stosujemy filtry o strukturze drabinkowej? Stosowane w koderach mowy - GSM Odporne na kwantyzację występujących w nich współczynników wagowych (procesory stałoprzecinkowe) Efektywna implementacja numeryczna (odwracanie macierzy) Ortogonalność
Filtry LSL oraz GAL LSL – least-squares lattice Głowne typy filtra LSL : A priori-based A posteriori-based A priori-based with error-feedback A posteriori-based error-feedback
Filtry LSL oraz GAL a priori-based LSL a posteriori-based LSL
Filtry LSL oraz GAL
Filtry LSL oraz GAL
Filtry LSL oraz GAL
Filtry LSL oraz GAL Algorytm - a priori error-feedback LSL
Filtry LSL oraz GAL GAL – Gradient Adaptive Lattice Funkcja kosztu : Oszacowanie współczynników odbicia :
Filtry LSL oraz GAL
Techniki zrównoleglania obliczeń Obliczenia równoległe na poziomie : bitów instrukcji danych zadań Problemy synchronizacji zadań : bariery, blokady, semafory, zakleszczanie itp…
Techniki zrównoleglania obliczeń OpenMP Języki programowania: C C++ Fortran
Techniki zrównoleglania obliczeń Przykładowy fragment programu :
Techniki zrównoleglania obliczeń
Platforma CUDA CUDA – Compute Unified Device Architecture Architektrua oparta na języku C kompilator - nvcc debugger - cuda-gdb kompatybilność programów – „programy napisane dziś mają działać jutro” współpracuje z kartami firmy Nvidia począwszy od serii GeForce 8 w tym Quadro oraz Tesla
Platforma CUDA Zalety Język C Model pamięci procesora ściśle odpowiadający architekturze sprzętowej Kod uruchamiany na GPU może odczytywać i zapisywać dane z dowolnego adresu w pamięci GPU
Platforma CUDA Ograniczenia odstępstwa od standardu w zakresie zaokrąglania liczb (liczby zmiennoprzecinkowe o podwójnej precyzji) Przepustowość i opóźnienia magistrali PCI-Express łączącej CPU i GPU CUDA jest dostępna tylko dla kart graficznych produkowanych przez Nvidia
Platforma CUDA Przykładowy kod :
Etapy pracy, cel pracy Etapy pracy : 1. Symulacje w środowisku MATLAB 2. Migracja kodu z MATLABA do C 3. Migracja kodu z C do Cuda C
Cel pracy Radary szumowe i pasywne Trochę historii… Robert Watson-Watt Chain Home Klein Heidelberg
Literatura Zieliński T.P. : Cyfrowe przetwarzanie sygnałów. Warszawa, WKiŁ 2007. Sayed A. H. : Adaptive filters. New Jersey, Wiley- IEEE Press 2008. Haykin S. : Adaptive Filter Theory. Upper Saddle River, Prentice Hall 1996. Niedźwiecki M.J. : Materiały do wykładu „Identyfikacja procesów”. Gdańsk Wikipedia.
Dziękuję za uwagę