Автоматична локалізація  джерела звуку

Куліченко В.О., Сніжко Є.М.

Дніпропетровський національний університет

Локалізація джерела звукового сигналу є оберненою фізичною задачею, коли за виміряними характеристиками звукового поля розраховується положення цього джерела звуку. Ця проблема має важливі застосування в галузі взаємодії людини та комп'ютера, корекції мовних сигналів і розпізнавання мови. Основним принципом оцінки є отримання інформації про затримки або  фази  сигналів з декількох  мікрофонів. Масив мікрофонів  складається з не спрямованих мікрофонів, розташованих на поверхні певного об'єму та підключених до комп'ютера або сигнального процесора. Масиви також можуть бути утворені великою кількістю близько розташованих мікрофонів. Маючи відомий фізичний взаємозв'язок між положеннями різних елементів масиву (мікрофонів, за допомогою одночасної обробки сигналів від кожного окремого елемента масиву на сигнальному процесорі можна створити один або більше "віртуальних" мікрофонів. Різні алгоритми дозволяють створити віртуальні мікрофони з надзвичайно складними діаграмами спрямованості та задати напрямок максимуму чутливості для наведення на певне джерело звуку

Існує три основних категорії методів локалізації джерела звуку. Перша група ґрунтується на вихідній потужності регульованого формувача діаграми спрямованості, наприклад MVB (maximum variance beamformer) і   DSB (delay and sum beamformer)[1]. Друга група  заснована на спектральних методах , таких як MUSIC і ESPRIT[2]. Третя низка методів заснована на оцінці затримки в часі прибуття (TDOA) між сигналами від пар мікрофонів [3]

В роботі представлені алгоритм та програма для локалізації джерела звуку одним варіантом метода TDOA. Мультилатерація, або гіперболічна локація, - процес визначення місцезнаходження об'єкту шляхом високоточного обчислення різниці в часі прибуття (TDOA) сигналу, генерованого цим об'єктом і отриманого трьома або більше приймачами.

Задачача локалізації джерела звуку може бути сформульована наступним чином. Нехай є N пар датчиків (мікрофонів) mi1 та mi2, де 1≤iN. Впорядкована трійка (x, y, z) просторових координат датчиків буде позначатися векторами   і  відповідно. Часова затримка  прибуття сигналу (TDOA) може бути знайдена для кожної пари мікрофонів і для джерела сигналу, визначеного вектором  s. Фактичне значення TDOA для джерела s та i пари мікрофонів обчислюється за формулою:

                              (1)

 де с — це швидкість поширення звукових хвиль у середовищі Якщо оцінка затримки вважається незалежним чином спотвореною некорельованим гаусовим шумом із нульовим середнім, максимально правдоподібна оцінка  знаходиться за допомогою мінімізації із квадратом помилки визначення затримки в якості критерію, позначеного J(s):

                                      ,                                  (2)           де                                            (3)          

 Оскільки  є нелінійною функцією s, рівняння (2) не має розв'язку в аналітичному вигляді. В такому випадку, задача локалізації може бути сформульована як задача оптимізації та розв'язана, наприклад, за допомогою метода найменших квадратів або розширеного  фільтра Калмана.

Програма являє собою функцію Matlab, записану в m-фай, яка. призначена для розв'язання задачі визначення координат джерела звуку за даними, отриманими від чотирьох мікрофонів, та математичного моделювання цієї задачі. Для  моделювання треба ввести координат джерела, внаслідок чого   функція simDelay повертає значення затримок для усіх пар мікрофонів, причому до позицй мікрофонів додається певна похибка (шум)  Після цього функція fminsearch виконує мінімізацію критерію  та повертає значення координат точки, в якій досягнуто мінімум. Цільовою функцією оптимізації є квадрат різниці часових затримок, розрахованих за “вірними” та “зсунутими” координатами мікрофонів Початкова точка пошуку мінімуму — середня точка системи мікрофонів.

Далі відбувається розрахунок похибок. Характеристика forwardError - похибка обчислення координат джерела звукового сигналу, тобто безпосередній показник точності системи. . Характеристика backwardError - характеризує похибку при вимірюванні відстаней між мікрофонами та часових затримок. Для натурного експерименту ця величина розраховується виходячи з характеристик експериментальної установки, для моделювання виникає внаслідок зсуву положення мікрофонів).

Величина condition= forwardError./backwardError позначає співвідношення цих двох похибок. При моделюванні вона характеризує вплив штучно введеної похибки на точність обчислення координат джерела звуку. Для hоботи з реальними даними, які збережені в файлі, викликається функція обчислення  затримки для пар мікрофонів за допомогою функції  взаємної кореляції сигналів. Подальші розрахунки аналогічні попередньому випадку. В програмі виконується візуалізація цільової функції в залежності від z. Отриманий графік дозволяє побачити мінімум функції в точці, яка відповідає координаті z джерела звуку. Експериментальні дослідження проводилися при  базі D (ребро тетраедра) 1м та показали  точність 2-5%  на відстані до 10 D.

Список літератури

1.    Van Trees H. Optimum Array Processing, Wiley, NY, 2002

2.    Марпл С. Цифровой спектральный анализ и его приложения, М: Мир, 1990 г. – 265 с.

 

3.     Скучик Е.Основы акустики, М: Мир, 1976 г.­­­–, 520 с.