ΣSigmaStudio English

Шумоподавление (стандартное)

Этот блок шумоподавления оптимизирован для речи, передаваемой по каналу связи. Наиболее распространенное применение — громкая связь (hands-free telephony), но адаптивная фильтрация применима в широком диапазоне систем. Его часто используют вместе с эхоподавлением (AEC) для удаления шума, а также эха и реверберации. Для приложений, требующих низкой задержки, таких как связь, в которой присутствуют как прямой акустический путь, так и путь с усилением, более подходит блок шумоподавления с низкой задержкой (Low Latency Noise Reduction).

Реализация шумоподавления (стандартного) на SigmaDSP

Стандартный блок шумоподавления полностью выполняется в домене блочной обработки (block processing domain). Окно Хэмминга применяется с 50% перекрытием перед обработкой в частотной области. Поэтому блок появляется в Tree Toolbox только при выборе вкладки Block Schematic. Поскольку алгоритм оптимизирован для речи, он работает на пониженных частотах дискретизации, стандартных для телефонии. Один блок обрабатывает сэмплы на частоте 8 kHz («узкая полоса» или полоса пропускания 4 kHz). Однако два блока могут использоваться вместе с квадратурными зеркальными фильтрами для эффективной обработки аудио с частотой 16 kHz («широкая полоса» или полоса пропускания 8 kHz). Обсуждение и диаграммы ниже описывают использование на частоте дискретизации 16 kHz.

Блоки SigmaStudio

:​resources:​tools-software:​sigmastudio:​toolbox:​adialgorithms:nr:​nr_tree.png ​ | :​resources:​tools-software:​sigmastudio:​toolbox:​adialgorithms:nr:nr_block.png ​ |

Параметры и настройка

Помимо переключателя включения/выключения, блок шумоподавления имеет только один параметр. Коэффициент сглаживания регулирует сглаживание коэффициентов адаптивного фильтра от блока к блоку в частотной области. Обратите внимание, что стандартные испытания на соответствие проводились со значением параметра по умолчанию (0.2), и нет гарантии производительности при изменении этого параметра.

Использование алгоритма в проекте SigmaStudio

Пробные DLL-библиотеки для оценки

Блок шумоподавления доступен в пробной версии, которая истекает по таймеру и отключает звук через 30 минут. На блоке в Schematic есть счетчик, который отсчитывает секунды до отключения звука (на изображении выше показан как полные 1800 секунд). Таймер сбрасывается при каждом цикле компиляции-линковки-загрузки (compile-link-download).

Пробные версии блока шумоподавления можно загрузить с помощью функции Downloadable Add-Ins в SigmaStudio версии 4.2 и новее. Доступ к загрузкам можно найти в меню Tools:

Пробные DLL-библиотеки для оценки

Сигнальный поток в Schematic

Децимация до 16 kHz

Как упоминалось выше, реализация с частотой дискретизации 16 kHz (полоса пропускания 8 kHz) известна как широкая полоса и в настоящее время является наиболее востребованным вариантом. Входной сигнал 48 kHz может быть прорежен в три раза для достижения 16 kHz либо с помощью аппаратного ASRC, либо с помощью FIR-фильтра антиалиасинга и блока децимации, как показано ниже. Коэффициенты FIR-фильтра можно найти здесь.

Сигнальный поток в Schematic

Разделение сигнала на высокие и низкие полосы с помощью QMF

Базовый строительный блок AEC оптимизирован для входа 8 kHz и может использоваться напрямую для реализации узкополосного AEC. Для реализации широкополосного AEC сигнал 16 kHz разделяется на два потока по 8 kHz с использованием квадратурного зеркального фильтра (QMF). Один поток представляет нижние частоты, а другой — верхние. Тот же фильтр применяется к входу микрофона, как показано ниже. Коэффициенты FIR-фильтра приведены здесь для нижней полосы и верхней полосы.

Сигнальный поток в Schematic

Передача сигнала в домен блочной обработки для обработки в частотной области

Три выхода для каждой из двух частотных полос затем подаются в домен блочной обработки. Они соответствуют входам и выходам на вкладке «Block Schematic», отдельной от потоковой обработки.

Сигнальный поток в Schematic

В домене блочной обработки передайте сигналы в блок остаточной нелинейной обработки

Ячейка синтеза применяет окно Ханна к каждому блоку сэмплов с 50% перекрытием. Блок преобразуется в частотную область с помощью БПФ с действительным входом и комплексным выходом. Этот комплексный спектр передается в блок RES для остаточной нелинейной обработки AEC, применяется обратное БПФ, и сигнал реконструируется с 50% перекрытием и суммированием (overlap-and-add) обратно во временную область. Три входа блока RES показаны на общей блок-схеме выше. Коэффициенты окна приведены здесь для окна анализа и окна синтеза.

Сигнальный поток в Schematic

Реконструкция сигнала 16 kHz с помощью QMF-фильтра

Процесс обратим: потоки 8 kHz повышаются до 16 kHz, и верхняя и нижняя частотные полосы объединяются с использованием тех же коэффициентов, что и для нижней полосы квадратурного зеркального фильтра.

Сигнальный поток в Schematic

Интерполяция с коэффициентом 3 для возврата сигнала к 48 kHz для дальнейшей обработки и вывода

Затем сигнал 16 kHz повторно дискретизируется с использованием этих коэффициентов FIR-фильтра антиалиасинга до 48 kHz для возможной дальнейшей обработки и вывода на ЦАП.

Сигнальный поток в Schematic

Руководство пользователя плагина

Лицензирование

ADI взимает лицензионный сбор за каждое поставленное конечное устройство. Если на одном DSP работает более одного блока AEC или в системе несколько процессоров SigmaDSP, сбор взимается только один раз. Пожалуйста, свяжитесь с SigmaStudioLicensing для получения информации о лицензировании.

Using the Algorithm in a SigmaStudio Project в SigmaStudio: настройка и параметры

Стандартный блок шумоподавления (Noise Reduction) в SigmaStudio — это алгоритм компании Analog Devices, предназначенный для очистки речевого сигнала, передаваемого по каналу связи. Его основное применение — системы громкой связи (hands-free telephony), где он часто работает в паре с эхоподавлением (AEC) для устранения как фонового шума, так и эха с реверберацией. Алгоритм оптимизирован именно для речи, поэтому он использует пониженные частоты дискретизации, характерные для телефонии. Внутренняя реализация полностью выполняется в домене блочной обработки (block processing domain). Перед обработкой в частотной области сигнал умножается на окно Хэмминга с 50% перекрытием. Из-за этого блок доступен в Tree Toolbox только при выборе вкладки Block Schematic. Один такой блок обрабатывает поток сэмплов с частотой 8 кГц (узкая полоса, полоса пропускания 4 кГц). Для работы с более качественным звуком два блока объединяются с квадратурными зеркальными фильтрами, что позволяет обрабатывать аудио с частотой дискретизации 16 кГц (широкая полоса, полоса пропускания 8 кГц), которая сейчас наиболее востребована. В проекте SigmaStudio блок предельно прост в настройке. Помимо переключателя включения/выключения, у него есть только один параметр — коэффициент сглаживания. Он регулирует сглаживание коэффициентов адаптивного фильтра от блока к блоку в частотной области. Важно знать: стандартные испытания проводились со значением по умолчанию 0.2, и при изменении этого параметра гарантии производительности нет.