Хочете масив міні-мікрофонів USB. Це можливо?


13

Я багато вчився про адаптивне формування променя, і багато спілкувався з різними симами в MATLAB тощо.

Але який кращий спосіб зрозуміти щось - по-справжньому зрозуміти - ніж грати з усією системою?

З цією метою я хотів би знайти (побудувати?) Масив мікрофонів, підключений через USB, з, скажімо, 5 мікрофонами або близько того. Вони зможуть отримувати сигнали з навколишнього середовища (так само там, де є мій ноутбук), і я б тоді міг приймати ці сигнали та обробляти їх у MATLAB або будь-якому іншому.

Я справді бажав би не будувати всю цю річ, тому сподіваюся, що хтось уже використовував USB-підключені мікрофонні масиви в минулому і може вказувати в правильному напрямку?

Мікрофони не повинні мати нічого фантазії, якщо мова йде про бітову роздільну здатність їхніх A / D тощо. Мікрофони KISS з поважною якістю стануть чудовими.

Відповіді:


8

PlayStation Eye відеокамера має масив 4-лінійний елемент мікрофона. Він забезпечує 16-бітні зразки на частоті 48 кГц з SNR 90 дБ. Він простий у використанні: він перераховує як стандартний аудіопристрій USB з чотирма окремими каналами.

Приклад використання цього способу див. У розділі: 4-канальний аудіо тест PS3 Eye на Ubuntu Karmic


1
@Mohammad Це, мабуть, буде хорошим рішенням, якщо ви раді обмежити себе чотирма каналами. Чотири канали дадуть вам коефіцієнт посилення у формуванні променя приблизно 12 дБ. Мінус полягає в тому, що через те, що загальний обсяг масиву досить малий, у вас з'явиться досить велика фокусна пляма, що формує промінь: Ви не можете розділити джерела звуку, які занадто близько один від одного. Отже, ваше головне застосування для цього масиву, ймовірно, не буде ізолювати джерела звуку, а відстежувати одне джерело звуку через простір. Я знаю, де стоїть людина від їхнього голосу ...
ARF

1
@ArikRaffaelFunke Хм, я не знаю достатньо про адаптивне формування пучка, щоб знати, що таке фокусне місце. :-) Однак я думаю, що мені все-таки вдасться відокремити джерела за допомогою миттєвого ICA. (фактично я зараз зосереджений на ICA). Крім того , так 4 не так багато , як я сподівався ... Але , можливо , це може бути start..c
Спейсі

3

Докладно працюючи над адаптивним формуванням променів, я б справді ухилявся від того, щоб щось зламати для цього, поки не мав певного досвіду. (Примітка. Професійні рішення з приблизно 60 каналами коштують близько 100 тис. Євро. З багатьма каналами ваше просторове дозвіл стає набагато кращим, але ви отримуєте лише обмежений обсяг інформації через порт USB ...)

Для надійного формування променя важливо, щоб усі мікрофони використовували однакову базу часу. Найпростіший спосіб досягти цього - це зовнішня звукова карта USB з декількома вхідними каналами. Це не дуже дешево, хоча. Ви подивилися, що можна знайти на ebay?

Альтернативою є жертвувати загальною базою часу за допомогою декількох звукових карт USB, наприклад, з двома каналами. Однак вам потрібно буде калібрувати систему придбання. Це справді не так складно, як це звучить:

Щоб калібрувати, ви налаштовуєте свій масив і видаєте короткий звук (наприклад, тріщина / хлопання / тощо) на відстані від масиву, що є на порядок розміром вашого масиву. Потім ви записуєте цей звук і використовуєте Matlab або подібний для обчислення перехресної кореляції між clap / crack / тощо. на різних каналах. Це дасть вам список часових компенсацій, які потрібно застосувати до своїх каналів, щоб вирівняти їх перед подачею даних до алгоритму формування променів.

Для вивчення адаптивного формування променів, мабуть, це шлях, якщо ви не зможете зробити торг на багатоканальній звуковій карті.


Редагуйте 1

Ця редакція відповідає на питання, поставлені в коментарях.

Основна ідея формування затримки та сумарного формування променів полягає в застосуванні затримок до різних каналів збору, щоб звуки, що виникають з однієї точки в просторі, вирівнювались і «посилювалися», коли додається сигнал з різних каналів. Звуки, що походять з інших регіонів космосу, не вирівнюються і тому не «посилюються».

Точка в просторі, за якою звуки вирівнюються за допомогою певного набору затримок, називається фокусом масиву мікрофона (або фокусної точки). Насправді ж фокус - це не ідеальна точка, а скоріше невелика (іш) (залежно від масиву) область простору, для якої звуки добре вирівнюються. Розмір цього регіону називається розміром вогнища.

Геометрія (розмір, форма тощо) залежать від точних деталей масиву: кількості мікрофонів, інтервалу між мікрофонами, частотного вмісту сигналів, що цікавлять вас. Дивіться, наприклад, цю статтю .

Для отримання додаткової інформації шукайте тексти щодо фокусування "поетапних масивів" або "лінійних масивів" ультразвуку. Формування променя може використовуватися на прийомі (для посилення сигналів з певної точки простору) або на випромінюванні (для створення "гучної" плями в кімнаті). Принципи ідентичні: просто замініть "мікрофон" на "гучномовець" у своєму мисленні.

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

Якщо це неможливо, ви повинні врахувати положення хлопа. У цьому випадку найпростіша процедура - виправити затримки шляхом перехресної кореляції, як описано, але потім додати кривизну хвилі фронту назад на сигнал, застосовуючи набір "зворотного пучка" набору затримок, обчислених з позицією початку походження хлопати. (Тобто, якщо ви використовуєте змінну глибини + t0 (або + z0) у своєму "звичайному" алгоритмі формування променів, вам потрібно використовувати -t0 (або -z0) для алгоритму зворотного формування променя.)

У чому полягає сенс цього калібрування: воно виключає помилки через те, що різні звукові карти починають їх запис у дещо інший час. Це, як правило, запобігає правильному вирівнюванню сигналів навіть при правильних затримках і, таким чином, запобігає ефекту посилення, який ви шукаєте.


Дякую Аріку. Однак я не впевнений, чому ви хочете компенсувати затримки тут. Наприклад, деяке адаптивне формування променів, як ви знаєте, є затримкою та сумою, тому воно має справу автоматично із затримкою часу. Друга річ (я думаю , що це те , що ви говорите), то , що я дійсно хочу , загальну тимчасову синхронізацію. (тобто натисніть кнопку, всі мікрофони починають записувати одночасно), але я не хочу, щоб вони мали загальні затримки в часі.
Спейсі

Я насправді вбудував у свій ноутбук мікрофонний масив, я думаю, що це лише дві мікрофони, але це може бути відправною точкою, однак я поняття не маю, як реально отримати доступ до своїх даних окремо з мінімальною суєтою ...
Spacey

@Mohammad - проблема не компенсує відомі затримки в часі, вона компенсує невідомі затримки в часі. В основному, для кожної окремої звукової карти USB буде певний час обробки, і він може відрізнятися від пристрою до пристрою (у цьому випадку це може бути компенсовано) або навіть не бути постійним / змінюватися залежно від завантаження шини USB.
Коннор Вольф

@Mohammad Що сказав FakeName ... Щоб зробити речі ще більш зрозумілими: часова база для будь-якого формування променя повинна бути кращою, ніж половина періоду найвищої частоти, яку ви бажаєте врахувати. Я вважаю, що цього неможливо досягти за допомогою незалежних звукових карт, просто запустивши їх одночасно записувати. Речі відрізняються, якщо у вас є одна звукова карта з декількома каналами.
ARF

@ArikRaffaelFunke Я бачу, що ви маєте на увазі щодо калібрування, я неправильно зрозумів ваше твердження. Однак я не бачу, як можна було б зняти затримку часу з нечастої часової бази, не також ненавмисно видаляючи затримку часу з каналу (який ви хочете зберегти). Єдиний спосіб - переконатися, що відстань до кожного мікрофона від хлопу однакове, але це неможливо для лінійного масиву> 2. Може, якщо достатньо далеко (таким чином фронти плоскої хвилі) це не матиме великого значення?
Спейсі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.