-
Notifications
You must be signed in to change notification settings - Fork 8
Home
Celem poniższej pracy jest zaprojektowanie i wykonanie systemu lokalizacji źródła akustycznego (ang. acoustic source localization system) z wykorzystaniem oprogramowania _LabVIEW _oraz urządzenia sbRIO-9636 od National Instruments. Przyrząd ma za zadanie podanie lokalizacji dźwięku (ang. Direction of Arrival (DoA)) w czasie rzeczywistym, w formie odchylenia kąta względem środka urządzenia. Cały system składa się z trzech głównych elementów: czterech mikrofonów, czterech wzmacniaczy mikrofonowych oraz sbRIO-9636. Wspomniany wyżej kąt, jest wyliczany na podstawie opóźnień sygnałów akustycznych (ang. Time Difference of Arrival(TDoA)), pomiędzy kolejnymi parami mikrofonów. Dalej, z zebranych w ten sposób danych, można wyliczyć położenie źródła dźwięku względem środka urządzenia.
Dodatkowym celem pracy jest wykonanie opisywanego tu projektu przy wykorzystaniu możliwie najtańszych komponentów, ale jednocześnie oferującego zadowalająca˛ dokładność wyliczeń w trudnych warunkach akustycznych. Korzystanie z niskiej jakości elementów tworzy wiele komplikacji, ale umożliwia łatwa powielalność projektu.
Poniżej znajduje się uproszczony opis kolejnych kroków działania systemu:
- Po wzmocnieniu sygnału, jest on próbkowany z wybraną częstotliwością (domyślnie – 50 kS/s).
- Sygnał jest filtrowany filtrem górnoprzepustowym o częstotliwości granicznej 2:5 kHz.
- Gdy dźwięk przekroczy określony próg, gromadzona jest wybrana przez użytkownika liczba próbek (domyślnie – 9000).
- Zebrany sygnał dźwięku jest kolejkowany w FIFO.
- Pętla deterministyczna, pracująca w części programu, która operuje w czasie rzeczywistym, odbiera dane z FIFO i przekazuje je do wewnętrznej kolejki (RT FIFO).
- Dane odbierane są w niedeterministycznej pętli, zajmującej się analizą sygnału.
- Przy użyciu Generalized Cross Correlation z Phase Transform Weights mierzony jest TDoA.
- Na podstawie danych z poprzedniego punktu, wyliczany jest kąt padania dźwięku na każdą parę mikrofonów.
- Kąty są analizowane w celu sprawdzenia, czy nie wystąpił błąd pomiaru.
- Wyliczany jest ostateczny kąt względem środka matrycy.
- Dane o kącie przesyłane są do panelu użytkownika.
- Na panelu użytkownika wyświetlane są następujące dane:
- ostateczny kąt padania dźwięku,
- wykres badanego sygnału dla jednego z mikrofonów,
- wykres TDoA dla jednej z par mikrofonów.
Aby wytłumaczyć działanie GCC należy najpierw stworzy´c model matematyczny sygnałów odbieranych przez mikrofony:
Podstawową metodą wyliczania TDoA jest Cross-correlation (CC). Polega ona na przeprowadzeniu funkcji korelacji wzajemnej (ang. cross-correlation) na dwóch odebranych sygnałach. Dzięki temu jesteśmy w stanie otrzymać wykres podobieństwa dwóch sygnałów dla różnych przesunięć czasowych. Dalej, należy tylko znaleźć wartość dla której funkcja jest w swoim maksimum, i otrzymujemy szukaną wielkość opóźnienia między sygnałami. Metoda CC jest niezwykle prosta, ale jednocześnie bardzo zawodna, szczególnie przy niskiej wartości SNR.
W celu zwiększenia dokładności wyników należy skorzystać z odpowiedniej filtracji i funkcji nadającej wagę (ang. weighting function), aby wzmocnić istotne elementy sygnału i wytłumić niepotrzebny szum. W ten sposób otrzymujemy Generalized Cross-Correlation, którą można przedstawić za pomocą następującego równania:
Najczęściej badanymi weighting functions są: Roth, Smoothed COherence Transform (SCOT), Phase Transform (PHAT) oraz Eckart Filter. Wiele z tych analiz wyraźnie wskazuje, że najbardziej skuteczną metodą jest GCC-PHAT. To podejście jest też najczęściej używane w podobnych projektach. Charakteryzuje się ono prostotą obliczeń, przy jednoczesnej dużej dokładności w szacowaniu TDoA, przez co jest niezwykle użyteczna w systemach lokalizacji dźwięku działających w czasie rzeczywistym. PHAT można przedstawić za pomocą następującego równania:
Schemat blokowy metody oszacowania TDoA, z wykorzystaniem generalized _cross-correlatio_n:
Znajomość TDoA pozwala na obliczenie kąta padania fali akustycznej na parę mikrofonów. Wykorzystuje się w tym celu proste działanie trygonometryczne.