ΣSigmaStudio English

Адаптивное формирование луча

Двухканальный формирователь луча SigmaDSP использует модифицированную версию так называемого формирователя луча «Гриффитса-Джима» (1). Этот формирователь луча может отслеживать единственный источник внеосевых помех и размещать нуль в диаграмме направленности, направленный на источник помех. Блок-схема этого формирователя луча показана ниже.Адаптивное формирование луча

Входы левого/правого микрофонов сначала подаются на фильтр верхних частот для удаления постоянной составляющей. Частота среза фильтра составляет 15 Гц для Fs = 24 кГц.

«Направление луча» задается разностью задержек между двумя входами. Правый канал содержит фиксированную входную задержку 8 сэмплов, а левый канал имеет переменную задержку от 0 до 16 сэмплов, что позволяет левому каналу опережать или отставать от правого канала на величину до 8 сэмплов. Диаграмма направленности имеет максимальную чувствительность, когда выходы двух блоков задержки одинаковы. Соответствующий угол источника может быть вычислен на основе частоты дискретизации и расстояния между микрофонами. Вывод «intermic_delay» должен быть подключен к внешнему источнику постоянного тока и предназначен для того, чтобы при нулевом входном сигнале задержка левого канала равнялась задержке правого канала (8 сэмплов). Этот вывод имеет чувствительность 1 LSB на сэмпл задержки. Если этот вывод подключен к внешнему источнику постоянного тока, числовой формат блока DC может быть установлен на «28.0», чтобы межмикрофонную задержку можно было вводить непосредственно в сэмплах, со значениями от -8 до +8.

Выходы блоков задержки суммируются в верхнем тракте и вычитаются в нижнем тракте. Перед операцией вычитания используется алгоритм согласования микрофонов, который пытается согласовать амплитуды двух микрофонов. Это приведет к снижению чувствительности к допускам на усиление микрофонов, но следует отметить, что микрофоны все равно должны быть точно согласованы по фазовой характеристике.

Разностный сигнал затем подается на IIR фильтр нижних частот, который пытается предварительно скомпенсировать ожидаемый рост характеристики разностного сигнала микрофонов, а затем подается на нормированный адаптивный фильтр, который пытается удалить любые L-R компоненты, присутствующие в сигнале L+R. Теоретически сигнал L-R должен стремиться к нулю для сигналов в «направлении обзора», но на практике этого не происходит в значительной степени из-за акустики помещения. Это потенциально может позволить адаптивному фильтру также устранить желаемый сигнал. Чтобы предотвратить это, устанавливается предел на максимальное среднеквадратичное значение коэффициентов фильтра. Поскольку значение этого параметра зависит от акустики помещения, оно сделано регулируемым пользователем. На практике этот параметр контролирует, насколько близко адаптивный нуль может находиться к «направлению обзора». Меньшие значения следует использовать в сильно реверберирующих средах, чтобы предотвратить случайное подавление желаемого сигнала. Для внеосевых мешающих сигналов сигнал L-R достаточно велик из-за левых/правых фазовых различий, поэтому адаптивному фильтру не требуется большое усиление для подавления компонента L-R, и, следовательно, предел среднеквадратичного коэффициента никогда не достигается. Типичное значение этого параметра составляет около 0.02.

Нормированный адаптивный фильтр также предоставляет параметры для «alpha», который управляет скоростью адаптации, «leak», который управляет коэффициентом утечки LMS, и длину фильтра, которая может быть установлена на 32, 64 или 128. Эти параметры хорошо освещены в литературе по адаптивным фильтрам. Обратите внимание, что параметры по умолчанию установлены в предположении частоты дискретизации 24 кГц, и для других частот дискретизации значение alpha должно быть скорректировано обратно пропорционально частоте дискретизации. Если коэффициент «leak» установлен на 1.0, то нуль, формируемый в определенном направлении, будет сохраняться даже после исчезновения входного сигнала, тогда как если коэффициент утечки установлен, например, на 0.99999, фильтр будет медленно затухать до нуля после исчезновения сигнала. Если коэффициент утечки установлен слишком низким, глубина нуля диаграммы направленности будет плохой.

Также предусмотрен вывод для включения и выключения адаптивного алгоритма. Подача 0 на этот вывод отключает адаптивный фильтр, а «1.0» включает адаптивный фильтр.

Адаптивное формирование луча

Чтобы расширить этот алгоритм на более чем два микрофона, можно каскадно соединять системы, как показано ниже. Обратите внимание, что один микрофон (mic 2) имеет фиксированную задержку в верхнем и нижнем трактах, а два других микрофона регулируются относительно mic 2 для управления лучом. Обратите внимание, что для 4-микрофонных систем можно отслеживать и подавлять до 3 независимых внеосевых источников помех.

Адаптивное формирование луча

Детали алгоритма согласования микрофонов показаны ниже. Обратите внимание, что цель этого алгоритма — минимизировать корреляцию между L-R и L+R. Для микрофонов с малым расстоянием это эквивалентно компенсации несоответствия усиления, но для большего расстояния между микрофонами (или для очень высоких частот), где фазовая разница между микрофонами становится большой, это может не дать того же результата, что и простое уменьшение несоответствия усиления.

Адаптивное формирование луча

Вот пример формирователя луча в проекте SigmaStudio:

Адаптивное формирование луча

Загружаемая версия этого проекта для ADAU1761 доступна здесь.

Выводы

  • Mic In (верхний вывод): Вход левого канала (5.23 audio)
  • Mic In (2-й вывод): Вход правого канала (5.23 audio)
  • Start/Stop (3-й вывод): Включите это для адаптации целевого направления формирования луча. Выключите, чтобы «зафиксировать» направленность на ее последнем значении. (5.23 logic)
  • Inter-microphone delay (нижний вывод): (28.0 integer, один сэмпл на LSB, от -8 до +8)
  • Output: Результирующий аудиовыход после формирования луча (5.23 audio)

Элементы управления GUI

  • LMS alpha (скорость адаптации)
  • Max MS (максимальный предел среднеквадратичного значения для коэффициентов фильтра, обычно 0.02)
  • LMS leak (управляет «утечкой» фильтра, когда входной сигнал исчезает. Установите значение немного ниже 1)
  • FIR length (длина фильтра)

Требуемые ресурсы

  • Instruction RAM: 189 слов
  • Instructions executed per sample: 189
  • Data RAM: 175 слов
  • Coefficient RAM: 177 слов

Adaptive Beam Forming в SigmaStudio: настройка и параметры

Adaptive Beam Forming — это двухканальный адаптивный формирователь луча для процессоров семейства SigmaDSP (ADAU), доступный в разделе ADI Algorithms библиотеки SigmaStudio. Алгоритм, основанный на модифицированной структуре формирователя луча Гриффитса-Джима, предназначен для выделения сигнала от целевого источника и одновременного подавления одной внеосевой помехи путем размещения нуля в диаграмме направленности. Входные сигналы с левого и правого микрофонов сначала проходят через фильтр верхних частот с частотой среза 15 Гц (при Fs = 24 кГц) для удаления постоянной составляющей. Пространственная ориентация луча задается разностью задержек между каналами: правый канал имеет фиксированную задержку 8 сэмплов, а левый — переменную от 0 до 16 сэмплов. Это позволяет левому каналу опережать или отставать от правого на величину до 8 сэмплов. Максимальная чувствительность достигается при равенстве выходов линий задержки, а угол источника вычисляется из частоты дискретизации и расстояния между микрофонами. Для управления задержкой предусмотрен вывод intermic_delay, который подключается к внешнему источнику постоянного тока. При нулевом входном сигнале задержка левого канала уравнивается с правым (8 сэмплов). Чувствительность вывода составляет 1 LSB на сэмпл задержки, поэтому при использовании блока DC с форматом «28.0» межмикрофонную задержку можно задавать непосредственно в сэмплах в диапазоне от -8 до +8. Сигналы после блоков задержки суммируются в верхнем тракте (L+R) и вычитаются в нижнем (L-R).