Содержание
Акустическая компенсация эха
Блок акустической компенсации эха (AEC) предназначен для удаления эха, реверберации и нежелательных добавленных звуков из сигнала, проходящего через акустическое пространство. Как показано на диаграмме ниже, звук, исходящий от удаленного говорящего, известный как «Far End In» (вход дальней стороны), подается параллельно на путь DSP и на акустический тракт. Акустический тракт состоит из усилителя/громкоговорителя, акустической среды и микрофона, возвращающего сигнал в DSP. Блок AEC основан на адаптивном FIR-фильтре. Алгоритм непрерывно адаптирует этот фильтр для моделирования акустического тракта. Затем выходной сигнал фильтра вычитается из сигнала акустического тракта для получения «чистого» выходного сигнала, из которого линейная часть акустического эха в значительной степени удалена. Блок AEC также вычисляет остаточный сигнал, содержащий нелинейные акустические артефакты. Этот сигнал отправляется в блок подавления остаточного эха (RES), который дополнительно восстанавливает входной сигнал. Затем сигнал (опционально) пропускается через функцию шумоподавления для формирования выходного сигнала, известного как «Far End Out» (выход дальней стороны).
Фильтр приостанавливает адаптацию, когда обнаруживает в акустическом тракте звуки, не связанные с сигналом дальней стороны. Это позволяет добавлять локальные звуки к выходному сигналу дальней стороны. Например, в случае системы громкой связи или спикерфона адаптация приостанавливается, когда человек говорит непосредственно в микрофон. Человек на дальнем конце слышит только локального говорящего, а не эхо и реверберацию от сигнала дальней стороны в ближнем пространстве. Это абсолютно необходимо для четкой полнодуплексной связи по каналу коммуникации.
Адаптивный фильтр в блоке AEC удалит любой сигнал, который является частью входного сигнала дальней стороны. Это может быть чрезвычайно полезно. Например, если музыка, играющая в ближнем пространстве, добавляется к входному сигналу дальней стороны, она будет подавлена адаптивным фильтром вместе с сигналом, поступающим от дальней стороны. Это обеспечивает полнодуплексную связь во время воспроизведения музыки (или любого известного сигнала) в ближнем пространстве. Продолжая приведенный выше пример: если водитель слушает музыку во время разговора по громкой связи, музыку не нужно ставить на паузу во время разговора. Как голос удаленного собеседника, так и музыка будут удалены из сигнала, снятого микрофоном, и только голос локального говорящего будет отправлен на выход дальней стороны.
Существуют два блока, которые вместе составляют алгоритм акустической компенсации эха, реализованный на SigmaDSP. Основной блок (AEC) удаляет линейную часть эха и реверберации. Он работает в области потоковой обработки и выполняет большую часть функциональности. Второй блок (RES) работает в частотной области и дополняет основной блок AEC, выполняя нелинейную обработку остаточного эхо-сигнала. Подавление остаточного эха значительно улучшает производительность, и все контрольные показатели производительности были получены при совместном использовании двух блоков. Однако блок RES, строго говоря, необязателен.
Дополнительный блок шумоподавления также показан на диаграмме ниже. Хотя формально он не является частью алгоритма AEC, они чаще используются вместе. Блок шумоподавления также работает в частотной области и может следовать за подавлением остаточного эха в блочной/частотной области без дополнительных затрат. Блок шумоподавления, однако, полезен во многих приложениях, не требующих AEC.
Большинство реализаций AEC, включая эту, оптимизированы для речи. В связи с этим полоса пропускания уменьшена для минимизации вычислительных ресурсов. Существуют три широко признанных стандарта полосы пропускания: узкая полоса (NB) использует частоту дискретизации 8 кГц (полоса пропускания 4 кГц). Это полоса, исторически использовавшаяся в телефонии (PSTN). Широкая полоса (WB) использует частоту дискретизации 16 кГц (полоса пропускания 8 кГц). Это наиболее часто используемая реализация для новых продуктов, и именно она документирована ниже. Базовая реализация SigmaDSP является узкополосной. Однако широкополосную реализацию можно создать с помощью двух узкополосных блоков: один для нижних частот, другой для верхних. Документация и примеры проектов являются широкополосными и реализованы именно таким образом. Сверхширокая полоса (UWB) использует частоту дискретизации 32 кГц (полоса пропускания 16 кГц). UWB AEC редко используется в речевых приложениях.
Когда требуется акустическая компенсация эха
AEC необходима, когда сигнал дальней стороны (голос, исходящий с другого конца линии связи) воспроизводится через громкоговоритель в реверберирующем акустическом пространстве и улавливается микрофоном. Если бы алгоритм AEC не был реализован, эхо, соответствующее задержке распространения звука от динамика до микрофона, а также любая реверберация, возвращались бы на дальний конец. Помимо неестественного звучания и неприятного прослушивания, эти артефакты значительно снижают разборчивость речи. Блок-схема показывает алгоритм, подавляющий выходной сигнал только одного динамика, улавливаемый одним микрофоном. Экземпляр этого полного сигнального тракта должен быть повторен для каждого микрофона в системе. Однако существуют способы подавления выходных сигналов нескольких динамиков, каждый из которых воспроизводит свой сигнал. Это требует, чтобы пространственное соотношение между громкоговорителями и микрофоном было фиксированным и измерялось как импульсная характеристика. Некоторые изменения импульсной характеристики, например, вызванные поглощением и отражениями от людей в пространстве, будут скомпенсированы адаптивным фильтром. Такой тип конфигурации должен быть спроектирован и настроен как система, адаптированная к известной среде, в рамках финальной настройки.
Наиболее распространенное применение акустической компенсации эха — полнодуплексная связь в телефонных системах, таких как система громкой связи в автомобиле или спикерфон. Однако AEC требуется в самых разных приложениях помимо этих, например, в автомобильных системах экстренного вызова eCall, предварительной обработке голосового пользовательского интерфейса, интеркомах, громкой связи для лежачих больных в больницах или пациентов на домашнем уходе и т. д. Также все более распространенным является использование в «активных» аудиториях, лекционных залах и конференц-залах. В них используются стационарные микрофоны, покрывающие площадь комнаты, вместо близко расположенных микрофонов для каждого потенциально говорящего человека. Это гарантирует, что все в комнате слышат говорящего, а также позволяет легко включать микрофоны для вопросов из аудитории, не передавая микрофон по кругу. Такая система менее разрушительна и упрощает запись совещания. Аналогично, автомобильные системы внутренней связи, обеспечивающие улучшенную коммуникацию между пассажирами, также полагаются на AEC.
Соответствие стандартам и тестирование
Алгоритм AEC-RES соответствует требованиям самых высокопроизводительных телекоммуникационных стандартов, включая тесты Skype for Business. Это более строгий стандарт, чем большинство стандартов ITU, поэтому данная реализация предварительно квалифицирована для многих приложений. Одним из заметных исключений являются автомобильные системы экстренного вызова eCall, такие как те, что обязательны в Европе и Российской Федерации (ГЛОНАСС). ADI также находится в процессе квалификации и сбора данных для этих приложений. Все измерения проводятся в акустической лаборатории ADI с использованием международного отраслевого стандартного оборудования и программного обеспечения ACQUA от HEAD Acoustics (Германия). Для получения более подробной информации об этих тестах, копий данных, сведений по интерпретации результатов и дополнительных запросов на тестирование, пожалуйста, свяжитесь с SigmaStudioLicensing.
Реализация AEC на SigmaDSP
Блоки SigmaStudio
Как указано выше, реализация состоит из двух блоков. Основной блок адаптивного фильтра AEC работает в потоковой области и является узкополосной реализацией. Широкополосную реализацию можно создать, используя два таких блока, как показано ниже. Второй блок работает в частотной области и выполняет дополнительную обработку нелинейного остатка (RES). На второй блок алгоритма подаются три сигнала: (1) выходной сигнал блока AEC за вычетом сигнала с микрофона, (2) выходной сигнал FIR-фильтра из блока AEC до вычитания сигнала микрофона и (3) прямой сигнал с микрофона.
Параметры и настройка
Основной блок AEC имеет два пользовательских параметра. Первый — длина адаптивного FIR-фильтра. Длина фильтра по умолчанию составляет 640 отводов. Второй — фильтр верхних частот, по умолчанию установленный на 150 Гц. Весь блок и фильтр верхних частот имеют переключатели включения/отключения.
Длина фильтра AEC (отводы)
В основе блока AEC лежит адаптивный FIR-фильтр. Этот параметр задает количество отводов FIR-фильтра. Фильтр можно представить как модель импульсной характеристики акустического тракта от громкоговорителя до микрофона, а также реверберации и эха, которые необходимо подавить. Длина этого фильтра связана с длиной этой импульсной характеристики и продолжительностью, в течение которой блок может эффективно подавлять эхо. Значение по умолчанию — 640 отводов. При частоте дискретизации 16 кГц это соответствует приблизительно 40 мс или 13,8 м распространения звука. Обратите внимание, что тестирование на соответствие стандартам проводилось с параметрами по умолчанию, и нет гарантии производительности при изменении этого параметра.
Фильтр верхних частот AEC (HPF)
Фильтр верхних частот, по умолчанию установленный на 150 Гц, удаляет низкочастотный гул и другие звуки ниже частотного диапазона речи. Частоту среза этого фильтра можно регулировать в соответствии с условиями применения. Обратите внимание, что тестирование на соответствие стандартам проводилось с параметрами по умолчанию, и нет гарантии производительности при изменении этого параметра.
Временное сглаживание RES
Каждый бин частотного анализа усредняется по времени для устранения больших скачков в отклике. Этот параметр управляет постоянной времени полосового сглаживания. Обратите внимание, что тестирование на соответствие стандартам проводилось со значением по умолчанию 0.2739, и нет гарантии производительности при изменении этого параметра.
Спектральное сглаживание RES
В дополнение к частотно-временному сглаживанию по бинам, спектральная характеристика в пределах данного блока сглаживается для устранения резких резонансов и провалов. Этот параметр управляет степенью сглаживания. Обратите внимание, что тестирование на соответствие стандартам проводилось со значением по умолчанию 0.2, и нет гарантии производительности при изменении этого параметра.
Коэффициент сглаживания RES
Коэффициент сглаживания регулирует степень сглаживания, применяемого при обработке остаточной, нелинейной части акустического эха и реверберации. Обратите внимание, что тестирование на соответствие стандартам проводилось со значением по умолчанию 0.7, и нет гарантии производительности при изменении этого параметра.
Использование алгоритма в проекте SigmaStudio
Пробные DLL для оценки
Блоки AEC доступны в пробных версиях, которые отключаются через 30 минут. На каждом блоке на схеме есть счетчик, который отсчитывает секунды до отключения звука (на изображении выше показаны полные 1800 секунд). Таймер сбрасывается при каждой компиляции-компоновке-загрузке.
Пробные версии блоков AEC и RES можно загрузить с помощью функции «Downloadable Add-Ins» в SigmaStudio версии 4.2 и новее. Доступ к загрузкам можно найти в меню «Tools» (Инструменты):
Пример кода
Примеры проектов сигнального потока можно найти здесь.
Сигнальный поток на схеме
Децимация до 16 кГц
Как упоминалось выше, реализация с частотой дискретизации 16 кГц (полоса пропускания 8 кГц) известна как широкополосная AEC и в настоящее время является наиболее востребованным вариантом полосы пропускания. Входной сигнал 48 кГц может быть прорежен в три раза до 16 кГц либо с помощью аппаратного ASRC, либо с помощью FIR-фильтра антиалиасинга и блока децимации, как показано ниже. Коэффициенты FIR-фильтра можно найти здесь.
Разделение сигнала на высокие и низкие полосы с помощью QMF
Базовый строительный блок AEC оптимизирован для входа 8 кГц и может использоваться напрямую для реализации узкополосной AEC. Для реализации широкополосной AEC сигнал 16 кГц разделяется на два потока по 8 кГц с помощью квадратурного зеркального фильтра (QMF). Один поток представляет нижние частоты, другой — верхние. Тот же фильтр применяется к входному сигналу микрофона, как показано ниже. Коэффициенты FIR-фильтра приведены здесь для нижней полосы и верхней полосы.
Пропустите высокие и низкие полосы через отдельные блоки AEC
Полосы нижних и верхних частот на 8 кГц подаются на отдельные блоки AEC. Для нижней полосы добавляется фильтр подавления постоянной составляющей. Помимо обработанного выходного сигнала дальней стороны, сигнал микрофона пропускается вместе с прямым выходом адаптивного FIR-фильтра (до вычитания сигнала микрофона). Этот выход FIR-фильтра используется блоком RES для дополнительной обработки нелинейных остаточных эхо-сигналов в частотной области.
Передайте выходной сигнал блока AEC в блочную область для остаточной, нелинейной обработки в частотной области
Три выхода для каждой из двух частотных полос затем подаются в область блочной обработки. Они соответствуют входам и выходам на вкладке «Block Schematic», отдельной от потоковой обработки.
В блочной области передайте сигналы в блок остаточной нелинейной обработки
Ячейка синтеза применяет окно Ханна к каждому блоку отсчетов с 50% перекрытием. Блок преобразуется в частотную область с помощью БПФ с действительным входом и комплексным выходом. Этот комплексный спектр передается в блок RES для остаточной нелинейной обработки AEC, применяется обратное БПФ, и сигнал реконструируется с 50% перекрытием и суммированием обратно во временную область. Три входа блока RES показаны на общей блок-схеме выше. Коэффициенты окна приведены здесь для окна анализа и окна синтеза.
Реконструируйте сигнал 16 кГц с помощью QMF-фильтра
Процесс обратим: потоки 8 кГц повышаются до 16 кГц, и верхняя и нижняя частотные полосы объединяются с использованием тех же коэффициентов, что и для нижней полосы квадратурного зеркального фильтра.
Интерполируйте с коэффициентом 3, чтобы вернуть сигнал к 48 кГц для дальнейшей обработки и вывода
Затем сигнал 16 кГц повторно дискретизируется с использованием этих коэффициентов FIR-фильтра антиалиасинга до 48 кГц для возможной дальнейшей обработки и вывода на ЦАП.
Руководства пользователя для плагинов
Лицензирование
ADI взимает лицензионный сбор за каждое отгруженное конечное изделие. Если на одном DSP работает более одного блока AEC или в системе несколько процессоров SigmaDSP, сбор взимается только один раз. Пожалуйста, свяжитесь с SigmaStudioLicensing для получения информации о лицензировании.












