Я много узнал об адаптивном формировании луча и возился с различными симами в MATLAB и т. Д.
Но что может быть лучше, чтобы понять что-то — понять это по-настоящему, — чем поиграть со всей системой?
С этой целью я хотел бы найти (построить?) массив микрофонов, подключенный через USB, скажем, с 5 микрофонами или около того. Они могли бы получать сигналы из окружающей среды (то есть, где бы ни находился мой ноутбук), и затем я мог бы принимать эти сигналы и обрабатывать их в MATLAB или чем-то еще.
Я действительно предпочел бы не создавать все это целиком, поэтому я надеюсь, что кто-то уже использовал микрофонные массивы, подключенные через USB, в прошлом и может указать правильное направление?
Микрофоны не должны быть чем-то вычурным, когда речь идет о битовом разрешении их аналого-цифрового преобразователя и т. д. Микрофоны KISS достойного качества вполне подойдут.
Видеокамера Playstation Eye имеет 4-элементную линейную микрофонную решетку. Он обеспечивает 16-битные выборки на частоте 48 кГц с отношением сигнал-шум 90 дБ. Он прост в использовании: он считается стандартным USB-аудиоустройством с четырьмя отдельными каналами.
Пример использования этого способа см. в разделе: Тесты 4-канального звука PS3 Eye на Ubuntu Karmic .
Много работая над адаптивным формированием луча, я бы очень боялся сам что-нибудь для этого взломать, пока не наберусь опыта. (Примечание: Профессиональные решения примерно с 60 каналами стоят около 100 тыс. евро. С большим количеством каналов ваше пространственное разрешение становится намного лучше, но вы получаете только ограниченный объем информации через порт USB...)
Для надежного формирования диаграммы направленности важно, чтобы все микрофоны использовали одинаковую временную базу. Самый простой способ добиться этого — использовать внешнюю звуковую карту USB с несколькими входными каналами. Хотя они не совсем дешевые. Вы видели, что можно найти на ebay?
В качестве альтернативы можно пожертвовать общей временной базой, используя несколько звуковых карт USB, например, с двумя каналами каждая. Однако вам потребуется откалибровать систему сбора данных. На самом деле это не так сложно, как кажется:
Для калибровки вы настраиваете свой массив и издаете короткий звук (например, треск/хлопки/и т. д.) на расстоянии от вашего массива порядка размера вашего массива. Затем вы записываете этот звук и используете Matlab или аналогичный для вычисления взаимной корреляции между хлопком/треском/и т.д. на разных каналах. Это даст вам список смещений по времени, которые необходимо применить к вашим каналам, чтобы выровнять их перед подачей данных в ваш алгоритм формирования луча.
Чтобы изучить адаптивное формирование луча, это, вероятно, путь, если вы не можете заключить сделку на многоканальную звуковую карту.
Это редактирование должно ответить на вопросы, поднятые в комментариях.
Основная идея задержки и формирования луча суммирования заключается в применении задержек к различным каналам сбора данных, чтобы звуки, исходящие из одной точки в пространстве, выравнивались и «усиливались» при добавлении сигналов из разных каналов. Звуки, исходящие из других областей пространства, не выравниваются и, следовательно, не «усиливаются».
Точка в пространстве, по которой звуки выравниваются с использованием определенного набора задержек, называется фокусом микрофонной решетки (или фокальным пятном). В действительности, однако, фокус — это не идеальная точка, а скорее небольшая (в зависимости от массива) область пространства, для которой звуки хорошо выравниваются. Размер этой области называется размером фокального пятна.
Геометрия (размер, форма и т. д.) зависит от точных деталей массива: количества микрофонов, расстояния между микрофонами, частотного состава интересующих сигналов. См., например, эту статью .
Для получения дополнительной информации ищите тексты по фокусировке «фазированных решеток» или «линейных решеток» в ультразвуке. Формирование луча можно использовать на приеме (для усиления сигналов из определенной точки пространства) или на излучении (для создания «громкого» места в комнате). Принципы идентичны: просто замените в своем мышлении «микрофон» на «громкоговоритель».
По поводу процедуры калибровки: вы правы. Процедура, которую я изложил, слишком упрощена. Это хорошо работает только в том случае, если вы можете создать калибровочный хлопок с гораздо большего расстояния, чем интересующая вас область пространства. (То есть, чтобы обеспечить ровную волну.)
Если это невозможно, вы должны принять во внимание положение хлопка. В этом случае простейшая процедура состоит в том, чтобы скорректировать задержки с помощью взаимной корреляции, как описано, но затем добавить кривизну волнового фронта обратно к сигналу, применив набор задержек «обратного формирования луча», рассчитанный с помощью положения начала координат. хлопать в ладоши. (То есть, если вы используете переменную глубины +t0 (или +z0) в своем «нормальном» алгоритме формирования луча, вам нужно использовать -t0 (или -z0) для обратного алгоритма формирования луча.)
В чем смысл этой калибровки: она устраняет любые ошибки из-за того, что разные звуковые карты начинают запись немного в разное время. Это обычно препятствует правильному выравниванию сигналов даже с правильными задержками и, таким образом, предотвращает эффект усиления, который вы ищете.
АРФ
Спейси