NetNado
  Найти на сайте:

Учащимся

Учителям



Алгоритм шумоочистки речевых команд методом спектрального слежения

Образование акустического эха, характеристики эхо-пути. В последнее время большое распространение получают hands-free коммуникации с использованием громкоговорящей акустической системы (динамика) и микрофона. Акустическое эхо образуется как благодаря прямому распространению акустической волны от динамика к микрофону, так и благодаря отражениям звука от стен помещения и различных предметов. Если максимальная задержка начинает превышать десятки миллисекунд, то возвращённый сигнал воспринимается говорящим как эхо, и в ряде случаев делает невозможным общение. Акустическое эхо можно устранить после устройства захвата и оцифровки звука. При этом в выигрыше окажутся только участники удалённой конференции, для участников ближней конференции необходимо установить систему устранения эха на удалённой стороне.


Для устранения эха требуется смоделировать общий путь прохождения сигнала между точками, доступными для измерения, поэтому под термином эхо-путь здесь и далее будет пониматься общий путь сигнала, включая:

  • Внутренние буфера, цифровые передискретизаторы и прочие цифровые алгоритмы обработки звука в программной части системы воспроизведения

  • Цифро-аналоговый преобразователь + усилитель

  • Акустическую систему (динамик)

  • Распространение акустической волны в помещении (включая отражения)

  • Микрофон + микрофонный усилитель

  • Аналого-цифровой преобразователь

  • Внутренние буфера, цифровые передискретизаторы и прочие цифровые алгоритмы обработки звука в программной части системы звукозахвата

Таким образом, эхо-путь не является чисто акустическим. В общем виде эхо-путь не является линейным, однако в первом приближении может быть описан линейным фильтром с импульсной характеристикой h с эффективной длиной от 50 до 1000 мс в зависимости от свойств помещения и программно-аппаратных средств ввода-вывода.

Принципиальная схема устранения акустического эха. Введём основные обозначения. Мы будем рассматривать только одну сторону в hands-free телекомунникационной системе (см. рис. 1).




Рис. 1. Принципиальная схема устранения акустического эха

Сигнал, приходящий с удалённой стороны (far-end) будем называть дальним сигналом x(n). Сигнал x(n), прошедший весь эхо путь y(n)=h·x, будем называть эхом. Сигнал, измеренный в точке z, будем называть микрофонным сигналом z(n). Он является суммой ближней речи s(n), эха y(n) и фонового шума v(n). Не делая предположений о статистических характеристиках s(n) и v(n), отделить их друг от друга не представляется возможным, и не является задачей устранения акустического эха. Задача устранения акустического эха: исключить из сигнала z(n) эхо y(n), основываясь на известных z(n) и x(n).

Cуществуют два основных подхода для устранения акустического эха. В иностранных источниках [8] эти подходы имеют устоявшиеся названия: Acoustic Echo Cancellation (AEC) и Acoustic Echo Suppression (AES). В этом докладе общая задача борьбы с акустическим эхом, независимо от подхода будет называться в соответствии с заглавием: «Устранение акустического эха», термин «Acoustic Echo Cancellation» будет переводится как эхокомпенсация, а «Acoustic Echo Suppression» как эхоподавление.

Традиционным подходом для решения проблемы акустического эха является эхокомпенсация. Эхокомпенсатор подавляет эхо путём вычитания смоделированного эха (удалённого сигнала, пропущенного сквозь фильтр, моделирующий эхо-путь) из микрофонного сигнала. Эхо-путь предполагается линейным фильтром длиной L, h = {h1,..hL}T. Тогда микрофонный сигнал записывается в виде: z(n) = hT x(n) + v(n) + s(n)

где x(n) = {x(n-L+1),...x(n)}T – сигнал от дальней стороны, v(n) – шум на ближней стороне s(n) – полезный сигнал на ближней стороне.

Моделирующий фильтр используется для аппроксимации истинного эхо-пути h. Определив его, мы можем оценить эхо-сигнал:

Для поиска используются адаптивные алгоритмы.

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

Существует другой подход к борьбе с акустическим эхом: эхоподавление. Эхоподавление, реализованное в спектральном домене аналогично традиционным алгоритмам одноканального шумоподавления, например, спектральному вычитанию или аналогичным [3,4], делает возможной реализацию полнодуплексной связи.

В отличие от эхокомпенсации, эхоподавление модифицирует спектральную амплитуду сигнала, оставляя неизменной (искажённой) фазу. Формула для аттенюации спектральной амплитуды:

где Z(f) - спектр микрофонного сигнала, - спектр оценки эха.

Для получения необходим адаптивный фильтр.

Для корректной работы в частотном домене используется так называемый алгоритм сложения с перекрытием (Overlap-Add). В качестве окна анализа может использоваться простейшее окно Ханна [9]:

w(n) = 0.5 - 0.5∙cos{2∙π∙n / N)}, где n = [0..N-1]

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

В эхоподавлении используется множество различных алгоритмов адаптивной фильтрации. Наиболее распространённым до сих пор является алгоритм NLMS [8,10,11]. Алгоритм требует относительно небольших вычислительных ресурсов, и имеет приемлемую в большинстве случаев скорость сходимости. Также существует множество разновидностей этого алгоритма, реализованных на базе быстрого преобразования Фурье: блочный NLMS [11] и другие. Есть ещё более простой, но медленно сходящийся LMS, ресурсоёмкий RLS, алгоритмы основанные на аффинных проекциях и т.д. [10,11]. Все перечисленные адаптивные алгоритмы основаны на поиске коэффициентов Винеровского фильтра, оптимальных в смысле минимизации среднеквадратической ошибки. И все они требуют наличия так называемого детектора двойного разговора [8,10] (DTD, Double Talk Detector). В моменты наличия двойного разговора сигнал, снимаемый с микрофона, содержит не только эхо, но и ближний сигнал. Это приводит к расхождению коэффициентов адаптивного фильтра. Поэтому при двойном разговоре необходимо замораживать адаптацию коэффициентов фильтра. К сожалению, в реальных условиях использование DTD малоприменимо из-за наличия постоянного шумового сигнала v(n), например, шума от вентилятора блока питания персонального компьютера. Т.е. система будет вынуждена всегда работать в режиме двойного разговора. Также немаловажной причиной для отказа от использования DTD может оказаться недостаточная синхронизация аппаратных средств ввода-вывода звука (звуковые карты, USB видеокамеры и т.д.). В условиях рассинхронизации заморозка адаптации коэффициентов фильтра недопустима, в том числе и при наличии ближней речи, иначе за время заморозки модель эхо-пути потеряет актуальность.

Рассмотрим классическую задачу оценки состояния с помощью фильтра Кальмана [11]. Уравнение процесса выглядит следующим образом: xk = Fkxk-1 + Bkuk + wk

где: xk вектор искомого (неизвестного) состояния системы Fk – известная матрица эволюции процесса/системы, которая воздействует на вектор состояния в момент (k − 1) xk−1 Bk – известная матрица управления, которая прикладывается к вектору управляющих воздействий uk (также известному) wk – нормальный случайный процесс с нулевым математическим ожиданием и ковариационной матрицей Qk

Уравнение, описывающее наблюдение (измерение) выглядит следующим образом: zk = Hkxk + vk

где: zk измеряемый (наблюдаемый) вектор Hk – матрица наблюдений (известная) vk – шум наблюдения, нормальный случайный процесс с нулевым математическим ожиданием и ковариационной матрицей Rk

Задача оценки состояния состоит в нахождении оценки xk по наблюдаемой zk и при известных Fk, Bk, Hk. Применительно к задаче устранения акустического эха мы можем перейти в спектральный домен, и рассматривать каждую частотную полосу независимо. Переход обратно во временную область будет осуществляться методом сложение с перекрытием. Поскольку частотные полосы полагаются независимыми, ниже индекс, соответствующий номеру частотной полосы указываться не будет.

Пусть коэффициенты адаптивного фильтра в одной частотной полосе задаются вектором W(k) с длиной L, равной соотношению длины моделируемого эхо-пути к шагу алгоритма сложения с перекрытием. Будем рассматривать коэффициенты адаптивного фильтра W(k) как искомое состояние, а изменение коэффициентов как случайный гауссов процесс с нулевым средним и известной ковариационной матрицей:

W(k+1) = W(k) + ΔW(k) где ΔW(k) – вектор шума процесса с нулевым средним, описывающий случайные вариации эхо-пути. Переоценка ковариационной матрицы производится во время работы алгоритма, начальная оценка – диагональная матрица с одинаковыми коэффициентами на главной диагонали.

В уравнениях процесса и наблюдения сделаем подстановки:

xkW(k)

Fk → 1

Bk → 0

HkX(k)

vkS(k)+V(k) – ближний сигнал (полезный + шум)

zkS(k)+V(k)+Y(k) – микрофонный сигнал

Используя решение задачи оценки состояния мы можем записать:

E(k) = Z(k) – X(k)W(k–1)

ΨEE(k) = α ΨEE(k1)+(1α )|E(k)2|

K(k) = P(k–1)X H(k) [X(k)P(k–1) X H(k) + ΨEE(k)]-1

ΔW(k) = E(k)K(k)

ΨΔΔ(k) = β ΨΔΔ(k)+(1 – β) ΔW(k)

W(k) = W(k–1) + ΔW(k)

P(k) = P(k–1) – K(k) X(k) P(k–1) + diag{ΨΔΔ(k)}

где Z(k) – спектр микрофонного сигнала X(k) – вектор-строка, состоящая из L последних значений спектра удалённого сигнала X(k) W(k) – искомый вектор-столбец вестов адаптивного фильтра E(k) – спектр ошибки, он же является спектром выходного сигнала.

Принципиальное отличие подхода, основанного на фильтре Кальмана, от (N)LMS/RLS, состоит в изначальном учёте наличия ближнего сигнала. (N)LMS строится на предположении, что S(k)= 0 и V(k)= 0 в любой момент времени, и при несоблюдении этого условия адаптивный фильтр расходится. Здесь же допущение значительно более слабое. Полагается, что шум измерения (ближний сигнал), является случайным процессом, имеет нулевое среднее и диагональную ковариационную матрицу (в данном случае она вырождается в скаляр ΨEE(k)). Это допущение достаточно грубое, и для речевого сигнала в общем случае неверное, но при работе в одной независимой частотной полосе даёт удовлетворительные результаты.

Если для обратного БПФ берётся напрямую сигнал ошибки E(k), то мы получаем схему эхокомпенсации, если для модификации входного сигнала Z(k) используется спектральное вычитание, то мы получаем схему эхоподавления.

Автором был реализован алгоритм устранения акустического эха, основанный на кальмановской фильтрации в частотной области. В отличие от известных работ [1,2], где Кальмановская фильтрация использовалась во временной области, а БПФ применялось исключительно для быстрого вычисления свёрток, был реализован алгоритм фильтрации независимо в каждой частотной полосе. Модель эхо-тракта, полученная в результате работы адаптивного алгоритма используется и для эхоподавления, и для эхокомпенсации, в зависимости от энергии ближнего сигнала. Это сделано с целью минимизировать как уровень остаточного эха, так и искажения полезного сигнала. Также совместно с устранением акустического эха производится подавление аддитивных стационарных шумов по алгоритму MMSE-LSA [3]. Алгоритм работает с длиной эхо-пути до 500 мс, и способен сохранять работоспособность при использовании несинхронизованных устройств звукового ввода и вывода, например: ввод звука с помощью USB камеры, а вывод через встроенную звуковую карту PC.

страница 1страница 2страница 3 ... страница 7страница 8


скачать

Другие похожие работы:




Тема: Линейные алгоритмы

Программа: 1 стр.


Документы

архив: 1 стр.