Skip to content
serwatka-w-proszku edited this page Jan 5, 2021 · 10 revisions

Spis treści

Cele projektu

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.

Opis działania programu

Poniżej znajduje się uproszczony opis kolejnych kroków działania systemu:

  1. Po wzmocnieniu sygnału, jest on próbkowany z wybraną częstotliwością (domyślnie – 50 kS/s).
  2. Sygnał jest filtrowany filtrem górnoprzepustowym o częstotliwości granicznej 2:5 kHz.
  3. Gdy dźwięk przekroczy określony próg, gromadzona jest wybrana przez użytkownika liczba próbek (domyślnie – 9000).
  4. Zebrany sygnał dźwięku jest kolejkowany w FIFO.
  5. 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).
  6. Dane odbierane są w niedeterministycznej pętli, zajmującej się analizą sygnału.
  7. Przy użyciu Generalized Cross Correlation z Phase Transform Weights mierzony jest TDoA.
  8. Na podstawie danych z poprzedniego punktu, wyliczany jest kąt padania dźwięku na każdą parę mikrofonów.
  9. Kąty są analizowane w celu sprawdzenia, czy nie wystąpił błąd pomiaru.
  10. Wyliczany jest ostateczny kąt względem środka matrycy.
  11. Dane o kącie przesyłane są do panelu użytkownika.
  12. 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.

diagram

Metoda pomiaru TDoA

Aby wytłumaczyć działanie GCC należy najpierw stworzy´c model matematyczny sygnałów odbieranych przez mikrofony: Screenshot_3

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

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

Schemat blokowy metody oszacowania TDoA, z wykorzystaniem generalized _cross-correlatio_n: GCC

Wyliczanie kąta

Znajomość TDoA pozwala na obliczenie kąta padania fali akustycznej na parę mikrofonów. Wykorzystuje się w tym celu proste działanie trygonometryczne. Screenshot_6 Screenshot_7 Screenshot_8

Panel użytkownika

Screenshot_3 Screenshot_4

panel

Clone this wiki locally