3050 УДК 519.233.2 ИДЕНТИФИКАЦИЯ И КОМПЕНСАЦИЯ АКУСТИЧЕСКОГО ЭХА ПРИ ПОМОЩИ СВЕРХБЫСТРОГО ОБРАЩЕНИЯ ТЕПЛИЦЕВОЙ МАТРИЦЫ А.Ю. Груша Санкт-Петербургский Гоударственный Университет Россия, 199034, Санкт-Петербург, Университетская наб. д.7-9. E-mail: andrewgrusha@gmail.com Ключевые слова: акустическое эхоподавление, идентификация плохо обусловленных систем, сверхбыстрые алгоритмы Шура Аннотация: Рассматривается задача компенсации акустического эха. Длинная импульсная характеристика системы оценивается по методу наименьших квадратов при помощи формулы Гохберга—Семенцула и сверхбыстрого алгоритма Шура. Получена формула для средней погрешности оценки передаточной функции, допускающая быстрый способ расчета при помощи многочленов Сеге. Приведен пример результата компенсации акустического эха в реальном времени. 1. Введение Акустическое эхо возникает в системах связи, имеющих расположенные рядом приемник с громкоговорителем и микрофон с передатчиком звукового сигнала в сеть. Блок-схема эха в помещении, свойственного разговору с помощью средств телеконференции, изображена на рис. 1. Сигнал по сети поступает в громкоговоритель, отражается от стен и других предметов в помещении и попадает в микрофон вместе с голосом говорящего в него человека. На выходе получается смесь «близкого голоса» говорящего человека и преобразованного «дальнего голоса», пришедшего из сети. Для удаленного собеседника этот дальний голос является эхом его речевого сигнала. Эхо с небольшим запаздыванием присутствует всегда в помещении и не мешает разговору. Но по сети запаздывание может составлять 1-2 с, что сильно затрудняет разговор, потому что удаленный собеседник постоянно перебивает самого себя. Входной сигнал из сети и выходной сигнал из микрофона находятся в одном устройстве, что позволяет предсказать эхосигнал и удалить его из сигнала микрофона. Задача сводится к идентификации параметров системы, преобразующей входной сигнал из сети в эхосигнал. Преобразование сигнала содержит: фильтр громкоговорителя, реверберацию в помещении и фильтр микрофона. Требуется найти структуру и параметры модели, которая реализуют совокупное преобразование входного сигнала из сети в эхосигнал, которое будем называть каналом связи. XII ВСЕРОССИЙСКОЕ СОВЕЩАНИЕ ПО ПРОБЛЕМАМ УПРАВЛЕНИЯ ВСПУ-2014 Москва 16-19 июня 2014 г 3051 Рис. 1. Схема компенсации акустического эха. Канал связи в целом нелинейный, однако на небольших промежутках времени его можно аппроксимировать линейным КИХ фильтром вида yt = N −1 X χ0k xt−k + vt , t = 0, . . . , T − 1, k=0 −1 −1 где (xt ) — входной сигнал из сети, (yt )Tt=0 — сигнал в микрофоне, χ0 = (χ0k )N k=0 — −1 импульсная характеристика канала связи, (vt )Tt=0 — ошибка модели или шум измерения. Решение задачи эхокомпенсации состоит в быстрой идентификации вектора χ0 , в расчете оценки эхосигнала yt по уравнению регрессии и в компенсации путем вычитания этой оценки из сигнала микрофона. Оценки χ0 необходимо постоянно обновлять. Типичные примеры импульсной характеристики χ0 и соответствующей передаточной функции W линейной системы, описывающей акустическое эхо, приведены на рис. 2 и 3. Из них видно, что длина N импульсной характеристики может составлять несколько тысяч отсчетов при частоте дискретизации 32 кГц. Кроме того, передаточная функция и импульсная характеристика настолько нерегулярны и имеют изрезанные графики, что нет возможности их приблизить суммой небольшого количества фиксированных функций с настраиваемыми коэффициентами. Возникает задача оценивания большого количества параметров по относительно небольшому количеству измерений. Алгоритмы оценивания должны иметь небольшую сложность, так как должны быть реализованы в реальном времени. Задача оценивания коэффициентов χ0k из уравнения линейной регрессии — одна из основных в теории идентификации линейных систем, и ей посвящена обширная литература. Наиболее распространенные статистические методы оценивания параметров линейных систем описаны в работах Л. Льюнга [2, 3] и собраны в пакете прикладных программ на Матлабе [4]. В них подробно исследуется точность оценивания, способы параметризации, сходимость оценок, рекуррентные алгоритмы. Методы непараметрического оценивания передаточной функции, расчет смещений и сплайн-аппроксимации ядер изучались в работах [5–7]. 2. Сверхбыстрый алгоритм решения теплицевых систем Предположим, что количество наблюдаемых измерений существенно больше длины импульсной характеристики фильтра, T N , и что сигнал x начинается XII ВСЕРОССИЙСКОЕ СОВЕЩАНИЕ ПО ПРОБЛЕМАМ УПРАВЛЕНИЯ ВСПУ-2014 Москва 16-19 июня 2014 г 3052 Рис. 2. Импульсная характеристика эхо канала. Рис. 3. Передаточная функция эхо канала. XII ВСЕРОССИЙСКОЕ СОВЕЩАНИЕ ПО ПРОБЛЕМАМ УПРАВЛЕНИЯ ВСПУ-2014 Москва 16-19 июня 2014 г 3053 и заканчивается паузами: xt = 0 при 1 6 t 6 N − 1 и при T − N + 1 6 t 6 T . Тогда −1 информационная матрица R = (Rij )N i,j=0 является теплицевой: Rij = ri−j = TX −N xt xt−|i−j| , 0 6 i, j 6 N − 1, t=N где r = (rk ) — корреляционная функция последовательности x. Многочленом Сеге [10]степени N −1, соответствующим корреляционной функции r, называется многочлен ψ(z) = 1 + N −1 X ψk z k , k=1 с корнями вне единичного круга, для которого разложение в ряд Лорана функции S(z) = ∞ X d = rbk z k ψ(z)ψ(z −1 ) k=−∞ при некотором числе d > 0 имеет те же N начальных коэффициентов: rbk = rk при 0 6 k 6 N − 1. Такой многочлен ψ(z) и число d существуют, единственные и являются решением уравнения Юла-Уокера [11,12]. Для расчета коэффициентов ψk обычно применяется алгоритм Левинсона-Дурбина [9], имеющий сложность O(N 2 ). В задачах акустической эхокомпенсации это слишком много для системы реального времени. Г. Амма−1 ром [8] был разработан сверхбыстрый алгоритм расчета вектора (ψk )N k=1 сложности O(N log2 N ) на основе теории многочленов Шура [13,14]. Далее будем предполагать, −1 что по вектору (rk )N k=0 построен многочлен ψ(z) и число d, называемое остаточной дисперсией. При заданном многочлене Сеге обращение теплицевой самосопряженной матN −1 рицы с первым столбцом (rk )k=1 осуществляется при помощи формулы ГохбергаСеменцула [1] 1 R−1 = (M1 M1T − M0 M0T ), d где 1 ψ1 .. . 0 1 .. . M1 = ψN −1 ψN −2 ··· 0 · · · 0 , . . . .. . ··· 1 0 0 0 .. . ··· ··· ... ψN −1 M0 = .. . ψ1 ψ2 · · · 0 0 .. . ψN −1 0 0 .. . . 0 Вычисление R−1 Y сводится к умножению на треугольные теплицевы матрицы M0 , M1 и транспонированные, что выполняется при помощи ДПФ. Вычисления содержат всего 7 ДПФ на N точек. Их сложность пропорциональна O(N log N ). Таким образом, расчет оценки χ b по МНК содержит следующие операции: −1 • Расчет корреляционной функции r = (rk )N k=0 . Сложность O(log N ) операций на отсчет. XII ВСЕРОССИЙСКОЕ СОВЕЩАНИЕ ПО ПРОБЛЕМАМ УПРАВЛЕНИЯ ВСПУ-2014 Москва 16-19 июня 2014 г 3054 • Сверхбыстрый алгоритм Шура [8] по вектору r вычисляет пару многочленов Шура и многочлен Сеге. Сложность O(N log2 N ). • Реализация формулы Гохберга-Семенцула в частотной области и расчет оценки МНК χ b. Сложность O(N log N ). 3. Точность оценки передаточной функции Преобразование речевых и музыкальных сигналов в канале связи описывается его передаточной функцией, поскольку они локально раскладываются в сумму гармоник. Звонкий сигнал на небольшом промежутке времени моделируется суммой простых гармоник вида xt = M X Am cos(2πF mt + φm ), m=0 частоты которых пропорциональны частоте основного тона F , воспринимаемой человеком, как высота ноты. Количество гармоник с существенно ненулевыми амплитудами Am (превосходящими случайные шумы) обычно в пределах 10-15. По такому сигналу невозможно надежно оценить передаточную функцию канала связи за пределами небольших окрестностей частот существенных гармоник. −1 Пусть оценка χ b построена по входному сигналу (xt )Tt=0 , начинающемуся и заканчивающемуся на паузе. Качество компенсации вновь поступающего сигнала зависит от точности оценки передаточной функции на существенных частотах этого сигнала. Возникает задача определения точности оценки передаточной функции, если оценка импульсной характеристики χ b рассчитана по МНК с теплицевой матрицей. При этом сохраняются ограничения на сложность расчетов, не допускающие количество операций, пропорциональное N 2 . Очевидно, точность тем лучше, чем больше спектральная плотность входного процесса xt . −1 Теорема 1. Пусть входной сигнал x = (xt )Tt=0 окаймляется нулями: xt = 0 при t < 0 и при t > T − N . Наблюдается сигнал yt = N −1 X χ0k xt−k + vt , 0 6 t 6 T − 1, k=0 T −1 где (vt )t=0 — последовательность независимых случайных величин с нулевыми средними и дисперсиями σv2 . По этим данным при помощи МНК определяется оценN −1 ка χ b = (b χk )k=0 импульсной характеристики χ0 . Соответствующие передаточные функции обозначим 0 W (z) = N −1 X χ0k k z , k=0 c (z) = W N −1 X χ bk z k , |z| = 1, k=0 c (z) − W 0 (z). а погрешность оценивания — ∆W (z) = W По корреляционной функции входного сигнала rk = ∞ X xt xt−k , 0 6 k 6 N − 1, t=−∞ XII ВСЕРОССИЙСКОЕ СОВЕЩАНИЕ ПО ПРОБЛЕМАМ УПРАВЛЕНИЯ ВСПУ-2014 Москва 16-19 июня 2014 г 3055 определяется многочлен Сеге ψ(z), вектор коэффициентов которого является решением уравнения Юла-Уокера порядка N − 1, а также остаточная дисперсия d. Тогда дисперсии ошибки оценивания передаточной функции имеют вид σv2 2α0 (φ) 1 iφ 2 E|∆W (e )| = 1− , −π 6 φ < π, N S(eiφ ) N где α(φ) — непрерывная ветвь комплексного аргумента функции ψ(eiφ ), а d |ψ(z)|2 — спектральная плотность решения стохастического уравнения авторегрессии. При z1 6= z2 и |z1 | = |z2 | = 1 ковариация ошибки оценивания передаточной функции равна S(z) = E(∆W (z1 ))(∆W (z2 ))∗ = σv2 ψ(z1 )∗ ψ(z2 ) − (z1∗ z2 )N ψ(z1 )ψ(z2 )∗ , d(1 − z1∗ z2 ) где * означает комплексное сопряжение. Замечание 1. о сложности расчета точности оценок по теореме 1. Количество точек zn на единичной окружности, в которых рассчитывается оценка переc (zn ), обычно совпадает с длиной импульсной характеристики даточной функции W N. Значения ψ(zn ) для zn = e2πin/N , 0 6 n 6 N − 1, рассчитываются при помощи одной операции БПФ на N точек. Производная 0 ψ (z) = N −1 X k ψk z k−1 k=1 N −1 в наборе точек (zn )n=0 также рассчитывается одним БПФ. Можно показать, что 0 zψ (z) 0 α (φ) = Re , z = eiφ . ψ(z) Отсюда общая сложность расчета вектора E|∆W (zn )|2 при 0 6 n 6 N − 1 по формуле из теоремы 1 пропорциональна N log2 N . Замечание 2. о дисперсии шума σv2 . Дисперсии ошибок оценивания передаточной функции из утверждения теоремы 1 пропорциональны неизвестной величине σv2 . Во многих задачах фильтрации и распознавания достаточно знать только пропорции в точностях оценок на разных частотах. В других задачах требуется абсолютное значение, и тогда надо оценить величину σv2 . В рассматриваемой модели предполагается, что vt — белый шум. Это предположение не вполне соответствует реальным данным, показывающим, что на высоких частотах шум меньше, чем на низких. Тем не менее, порядок мощности шума можно оценить по выбранной модели. Пусть vt — белый шум. Введем обозначения y0 v0 y1 v1 Φ = Φ0 Φ1 · · · ΦT −1 , Y = .. V = .. . . . yT −1 vT −1 XII ВСЕРОССИЙСКОЕ СОВЕЩАНИЕ ПО ПРОБЛЕМАМ УПРАВЛЕНИЯ ВСПУ-2014 Москва 16-19 июня 2014 г 3056 Тогда R = ΦΦT и погрешность оценки МНК можно представить в виде χ b − χ0 = R−1 ΦY = R−1 Φ(V + ΦT χ0 ) − χ0 = R−1 ΦV. Среднее значение минимума функционала качества в МНК равно 2 T −1 N −1 X X EJmin = E y t − χ bk xt−k = E|Y − ΦT χ b|2 = E|V − ΦT (b χ − χ0 )|2 t=0 k=0 −1 = E|V − Φ R ΦV |2 = E[|V |2 − 2V T ΦT R−1 ΦV + V T ΦT R−1 ΦΦT R−1 ΦV |2 ] = T σv2 − tr R−1 ΦE(V V T )ΦT = (T − N )σv2 . Поэтому в качестве оценки дисперсии шума можно выбрать T σ bv2 = Jmin , T −N где Jmin эмпирическое значение минимума функционала в МНК. 4. Регуляризация В задачах эхокомпенсации расчет передаточной функции по МНК дает слишком большие погрешности. Если спектр входного сигнала мал в определенной полосе частот, S(eiφ ) ≈ 0 при φ ∈ [φ− , φ+ ], то из теоремы 1 следует, что точность оценки очень плохая. Этого удается избежать при помощи регуляризации, к которой сводится метод максимума правдоподобия. Предположим, что оцениваемый вектор χ0 является случайным и гауссовским со средним 0 и матрицей ковариаций σχ2 IN , где IN — единичная матрица. Пусть последовательность (vt ) гауссовская, с независимыми значениями, имеющими распределение N (0, σv2 ). Метод максимума правдоподобия сводится к минимизации функционала 2 N −1 T X X 2 χ x y − Jγ (χ) = J(χ) + γ|χ|2 = t k t−k + γ|χ| , t=N k=0 при выборе параметра γ = σv2 /σχ2 = γ0 . Предположим, что для расчетов выбран параметр γ, который может отличаться от γ0 = σv2 /σχ2 . Минимум функционала Jγ достигается при χ bγ = Rγ−1 Y, Rγ = T X t=N Φt Φ∗t + γIN , Y = T X Φt yt . t=N Матрица Rγ теплицева. Ее первый столбец совпадает с эмпирической корреляционN −1 последовательности x, кроме первого элемента. Первый ной функцией r = (rk )k=0 элемент, стоящий на главной диагонали матрицы Rγ , содержит дополнительное слагаемое γ. Таким образом, ММП сводится к той же вычислительной задаче, но соответствующая спектральная плотность Sγ (z) отделена от нуля. Параметр γ регуляризирующий, но точность оценок чувствительна к нему. Обычно отсутствуют надежные XII ВСЕРОССИЙСКОЕ СОВЕЩАНИЕ ПО ПРОБЛЕМАМ УПРАВЛЕНИЯ ВСПУ-2014 Москва 16-19 июня 2014 г 3057 данные о дисперсиях σv2 и σχ2 . Поэтому необходимо оценить зависимость точности оценок передаточной функции от выбора числа γ. Следующие два утверждения определяют значение ковариации ошибки оценивания импульсной характеристики и быстрый способ расчета ковариации ошибки оценивания передаточной функции, сложность которого не превосходит O(N log(N )). Лемма 1. Пусть χγ — точка минимума функционала Jγ и ∆χγ = χγ − χ0 — ошибка оценивания импульсной характеристики. Тогда матрица ковариаций ошибки оценивания есть E∆χγ (∆χγ )T = σv2 Rγ−1 + βRγ−2 , где β = γ(γσχ2 − σv2 ). Теорема 2. Пусть γ > 0 — произвольный регуляризирующий параметр. По теплицевой матрице Rγ построим многочлен Сеге ψ(z) и остаточную дисперсию d. Определим спектральную плотность S(z) = d/|ψ(z)|2 . Тогда дисперсия ошибки оценивания передаточной функции в точке z = eiφ равна E|∆W (z)|2 = σv2 β (N − 2α0 (φ)) + (B(z) − C(z)), S(z) S(z)2 где α(φ) — непрерывная ветвь комплексного аргумента функции ψ(eiφ ) и ! 2N −2 N −1 X X 1 1 k |N −k|bk z , C(z) = kck (z k +z −k ), B(z) = Re ψ(z)2 k=0 |ψ(z)|2 k=1 2N −2 −1 где вещественные коэффициенты (bk )k=0 и (ck )N k=0 определяются из разложения ψ(z)2 = 2N −2 X k=0 bk z k , ψ(z)ψ(z −1 ) = N −1 X c|k| z k . k=−N +1 Замечание 3. о сложности расчета точности оценки передаточной функции. Поскольку длина импульсной характеристики равна N , то передаточная функция полностью определяется по набору своих значений в N точках. Этим точками −1 c (zn ))N принято выбирать zn = exp(2πin/N ), 0 6 n 6 N − 1. Значения (W n=0 вычис−1 ляются при помощи одного БПФ длины N от оценок (b χk )N k=0 и поэтому сложность составляет O(N log N ). −1 Точность оценок определяется теоремой 2. Значения E|∆W (zn )|2 )N n=0 вычисляются по значениям нескольких многочленов, что также выполняется при помощи БПФ. Поэтому расчет точности оценок передаточной функции также имеет сложность O(N log N ). Замечание 4. о выборе параметра регуляризации. Оценка импульсной характеристики χ b = χγ существенно зависит от параметра регуляризации γ. Оптимальный выбор γ = σv2 /σχ2 требует каких-либо оценок заранее неизвестных величин σv2 и σχ2 . Эти величины можно оценить по усредненным значениям нормы χγ и показателя качества T X Dγ = |yt − Φ∗t χγ |2 . t=N XII ВСЕРОССИЙСКОЕ СОВЕЩАНИЕ ПО ПРОБЛЕМАМ УПРАВЛЕНИЯ ВСПУ-2014 Москва 16-19 июня 2014 г 3058 Рис. 4. «Дальний» и «ближний» сигналы. a) «дальний голос» — сигнал, принятый из сети, содержащий только один голос, очищенный от шума и примесей; b) «ближний сигнал» — сигнал записанный в микрофоне, содержащий «ближний голос», эхо и фоновый шум. Лемма 2. Пусть γ > 0 — произвольный параметр и по нему построена оценка χγ . Тогда EDγ = σv2 (T − 2N + 1 + γm2 ) + σχ2 γ 2 (m1 − m2 ), E|χγ |2 = σv2 (m1 − γm2 ) + σχ2 (N − 2γm1 + γ 2 m2 ), где m1 = tr Rγ−1 , m2 = tr Rγ−2 . В практических расчетах в уравнениях леммы 2 можно заменить E|χγ |2 на сумму квадратов оцененных коэффициентов χγ , а E|Dγ | — на сумму квадратов невязок. Величины m1 и m2 определяются из уравнений N −1 1 X q(zn )Rγ−1 q(zn )∗ , m1 = N n=0 N −1 1 X m2 = q(zn )Rγ−2 q(zn )∗ , N n=0 вычисленных в теоремах 1 и 2, где q(z) = (1, z −1 , . . . , z −N +1 ). Затем решается система двух линейных уравнений для определения оценок σv2 и σχ2 . 5. Результаты экспериментов На Рис. 4 изображены принятый из сети сигнал, поступающий в громкоговоритель ноутбука, и сигнал, записанный в микрофоне этого ноутбука. Сигнал в громкоговорителе содержит «дальний голос», а сигнал в микрофоне — эхо от этого дальнего голоса и «ближний голос» пользователя ноутбуком. Требуется вычистить во втором сигнале эхо от первого сигнала. При помощи указанных ранее методов удалось подобрать импульсную характеристику канала связи для всей записи, причем входной сигнал покрывает практически весь частотный диапазон. Эта «идеальная» импульсная характеристика и соответствующая ей передаточная функция канала связи представлены на Рис. 2 XII ВСЕРОССИЙСКОЕ СОВЕЩАНИЕ ПО ПРОБЛЕМАМ УПРАВЛЕНИЯ ВСПУ-2014 Москва 16-19 июня 2014 г 3059 Рис. 5. Результат компенсации. Синим цветом изображен исходный сигнал, записанный микрофоном, содержащий эхо; зеленым цветом обозначен очищенный от эха сигнал. и 3. Точность оценивания подтверждается результатом эхокомпенсации, представленном на Рис. 5. На нем синим цветом отмечен сигнал в микрофоне, а зеленым — результат эхокомпенсации. Видно, что ближний голос практически не изменился, а дальний полностью подавлен. 6. Заключение Критическим фактором алгоритмов акустической эхокомпенсации является количество вычислений, влияющее на скорость и на точность. Показано, что сверхбыстрый алгоритм Шура [8] обеспечивает быстрый расчет оценок импульсной характеристики тракта по методу наименьших квадратов. Однако точность оценивания передаточной функции тракта существенно зависит от спектра входного речевого сигнала. В теореме 1 представлен быстрый способ расчета этой точности при помощи тех же многочленов Сеге, которые входят в основной алгоритм оценивания. Теорема 2 привеодит аналогичный результат для метода максимального правдоподобия с регуляризирующим параметром γ, который помогает преодолеть плохую обусловленность теплицевой матрицы ковариации R. Приведены результаты эхокомпенсации, полученные в реальном времени. Список литературы 1. 2. 3. 4. 5. 6. Гохберг И.Ц., Семенцул А.А. Об обращении конечных теплицевых матриц и их континуальных аналогов // Математические исследования. Кишинев. 1972. Т. 7, Вып. 2, № 24. С. 201-223. Ljung L. On the estimation of transfer functions // Automatica. 1985. Vol. 21, No. 6. P. 677-696. Ljung L. System identification - Theory for the user. Upper Saddle River, N.J.: Prentice-Hall, 1999. Ljung L. System Identification Toolbox for use with Matlab. Version 7. Natick, MA.: The MathWorks, Inc., 2007. Gustafsson F., Hjalmarsson H. Thenty-one ML estimators for model selection // Automatica. 1995. Vol. 31, No. 10. P. 1377-1392. Goodwin G.C., Braslavsky J.H., Seron M.M. Non-stationary stochastic embedding for transfer function estimation // Automatica. 2002. Vol. 38, No. 1. P. 47-62. XII ВСЕРОССИЙСКОЕ СОВЕЩАНИЕ ПО ПРОБЛЕМАМ УПРАВЛЕНИЯ ВСПУ-2014 Москва 16-19 июня 2014 г 3060 7. 8. 9. 10. 11. 12. 13. 14. Paletto G., Chiuso A., De Nicolao G. Prediction error identification of linear systems: a nonparametric Gaussian regression approach // Automatica. 2011. Vol. 47, No. 2. P. 291-305. G. Ammar, W. Gragg. Superfast solution of real positive definite Toeplitz systems // SIAM J. Matrix Anal. Appl. 1988. Vol. 9. P. 61-76. Durbin J. The fitting of time series models // Review of International Statistical Institute. 1960. Vol. 28, No. 3. P. 233-244. Szego G. Orthogonal polynomials. Providence, RI.: American Mathematical Society, 1939. Kay S.M. Modern Spectral Estimation: Theory and Application. Englewood Cliffs, N.J.: PrenticeHall, 1988. Marple S.L. Digital Spectral Analysis with Applications. Englewood Cliffs, N.J.: Prentice-Hall, 1987. Fulton W. Young tableaux: with applications to representation theory and geometry. Cambridge University Press, 1997. Sagan B.E. The symmetric group: representations, combinatorial algorithms, and symmetric functions. 2nd ed. Springer, 2001. XII ВСЕРОССИЙСКОЕ СОВЕЩАНИЕ ПО ПРОБЛЕМАМ УПРАВЛЕНИЯ ВСПУ-2014 Москва 16-19 июня 2014 г