Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałMartyn Paździora Został zmieniony 11 lat temu
1
Implementacja algorytmów filtracji adaptacyjnej o strukturze drabinkowej na platformie CUDA
KATEDRA SYSTEMÓW AUTOMATYKI Dyplomant – Karol Czułkowski Opiekun pracy – dr inż. Michał Meller
2
Plan prezentacji Cel i zakres pracy Wymagania
Przegląd algorytmów drabinkowej filtracji adaptacyjnej Poszczególne etapy pracy Rezultaty Realizacja wymagań Cechy programów Sposób użycia programów - film
3
Cel i zakres pracy Zakres pracy
Implementacja algorytmów filtracji adaptacyjnej o strukturze drabinkowej na komputerze klasy PC i platformie CUDA – skrypty MATLAB, programy CudaC, C++ Cel pracy: Porównanie wydajności obu platform
4
Wymagania Możliwie jak najszybsze przetwarzanie danych z wykorzystaniem platformy CUDA Filtracja sygnałów zespolonych Aplikacje nie powinny ingerować w stabilność systemu komputerowego
5
Przegląd algorytmów drabinkowej filtracji adaptacyjnej
GAL – Gradient Adaptive Lattice Algorytm ściśle sekwencyjny Dodatkowa, transwersalna struktura odpowiedzialna za obliczenie sygnału wyjściowego
6
Przegląd algorytmów drabinkowej filtracji adaptacyjnej
LSL – Least Squares Lattice – wersja a priori ze sprzężeniem zwrotnym od sygnałów błędów Algorytm ściśle sekwencyjny
7
Przegląd algorytmów drabinkowej filtracji adaptacyjnej
Estymator Burga
8
Poszczególne etapy pracy
Skrypty programu MATLAB Cel Sprawdzenie poprawności implementacji algorytmów filtracji adaptacyjnej Łatwość modyfikacji algorytmów i testowania wyników
9
Poszczególne etapy pracy
LSL – skrypt MATLAB
10
Poszczególne etapy pracy
Estymator Burga – problem stanów przejściowych
11
Poszczególne etapy pracy
Estymator Burga – nakładanie bloków
12
Poszczególne etapy pracy
LSL – CudaC Przepływ sterowania programu
13
Poszczególne etapy pracy
Estymator Burga Możliwość wykorzystania zaawansowanego algorytmu redukcji wektora
14
Poszczególne etapy pracy
C++: LSL, Estymator Burga Wprowadzenie sekwencyjnych obliczeń do kodu programów filtracji adaptacyjnej. Testowanie czasów przetwarzania sygnałów pojedynczego bloku danych.
15
Rezultaty Schemat programów BES.exe oraz LSL.exe
16
Rezultaty - LSL LSL.exe: CUDA(CudaC) oraz x86-64(C++)
17
Rezultaty – estymator Burga
BES.exe: CUDA(CudaC) oraz x86-64(C++ )
18
Realizacja wymagań Szybkość przetwarzania danych – testy „black box”.
Automatyzacja generowania i analizy wyników – nieinwazyjność aplikacji. Skrypty w języku bash, pliki *.bat, spreparowane logi w formacie CSV. Typy danych wejściowych – możliwość przetwarzania sygnałów zespolonych – film.
19
Realizacja wymagań Dokumentacja kodu - doxygen
20
Cechy programów Modułowa budowa (DataReader, LSLFilter, BESFilter, DataWriter) Wspólne API – LSLFilter::processData(), BESFilter::processData() Podobny schemat działania programów LSL.exe i BES.exe –readDataBlock(), readSignals(), processData(), appendDataBlock() Programy uruchamianie z wiersza poleceń
21
Cechy programów Niskopoziomowy kod
Algorytmy pisane „od zera”. Podczas implementacji nie korzystano z żadnych bibliotek Wykorzystanie WINAPI
22
Sposób użycia programów
Aplikacja BES.exe w praktyce - film
23
Źródła A. H. Sayed, Adaptive Filters, John Willey&Sons, New Jersey, 2008 M. Harris, Optimizing parallel reduction in CUDA, NVIDIA Corporation
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.