2. Метод слепой дереверберации звуковых сигналов
Попробуем разделить мультипликативно связанные сигналы. Речь пойдет о помехе в виде повторяющегося сигнала, такая помеха называется реверберационной.
Примем следующую математическую модель реверберационной помехи. Имеется первоначальный сигнал F(t), который повторяется через времена с амплитудами an, которые могут принимать как положительные, так и отрицательные значения. Эта модель может быть усложнена введением изменения фазы, одинаковой для всех частот спектра F(t). Согласно этой модели принимаемый сигнал P(t) можно записать в следующем виде:
|
(1.4) |
Выражение (1.4) является частным случаем следующего общего соотношения:
|
(1.5) |
где S(t) представляет собою отклик некоторого линейного фильтра на импульсное воздействие в виде -функции. В нашем случае, при принятой нами модели сигнала, S(t) представляет собою следующую сумму -функций:
|
(1.6) |
Из теории линейных фильтров следует, что спектр P(t) представляет собой произведение спектров F(t} и S(t), что можно записать в виде
|
(1.7 ) |
Здесь под спектром понимается результат комплексного преобразования фурье-функции, являющейся индексом G. На основании выражения (1.6) спектр S(t) будет выглядеть как
|
(1.8) |
В формуле (1.8) сделано обобщение модели сигнала путем введения фазы задержанного сигнала, одинаковой для всех значений.
Проблема состоит в том, чтобы выделить спектр чистого, не искаженного реверберацией сигнала, пользуясь лишь сигналом (1.8), не прибегая к другим измерениям (слепая дереверберация). Заметим, что рассмотренный выше способ разделения сигналов после их логарифмирования в данном случае неприменим, так как спектры логарифмов сомножителей перекрываются.
Покажем, как можно отделить эти сомножители другим способом, основанным на принятой модели реверберации (1.4). Из соотношения (1.8) следует, что для определения значения частотной характеристики реверберации достаточно определить значения параметров , ап и .
Прежде всего надо с максимальной точностью определить значения величин задержек сигналов - . Эта операция производится путем логарифмирования выражения (1.7) с последующим спектральным анализом логарифма. В данном случае этим приемом нельзя воспользоваться для разделения сигналов, так как спектры перекрываются. Однако спектр одного из сомножителей состоит из дискретных составляющих, и этим можно воспользоваться. Логарифмируя модуль (1.7), с учетом (1.8) получим
|
(1.9) |
Как следует из (1.9), в спектре (кепстре) от логарифма модуля спектра принятого сигнала должны наблюдаться спектральные линии на частотах (сачтотах), равных величинам задержек сигналов. Хотя спектры слагаемых в (1.9) не разделяются, дискретный характер спектра (1.8) позволяет на фоне другого слагаемого этот спектр увидеть и определить его параметры. Необходимым условием для этого является достаточно большая длина реализации сигнала (1.9), подвергающегося спектральному анализу. Таким путем можно с необходимой точностью определить как факт существования дискретных задержек сигнала по наличию соответствующего максимума в спектре (1.9), так и времена задержек сигнала по положению этого максимума. При этом могут наблюдаться и ложные максимумы, принадлежащие первому слагаемому (1.9). Это выясняется на описываемом ниже этапе обработки сигнала при определении значений коэффициентов.
Значения коэффициентов и определяются для каждой задержки в отдельности. С этой целью составляется ряд опорных функций. Поясним этот этап обработки на примере определения одного коэффициента . В качестве опорной берется следующая функция:
|
(2.0) |
,где - пока произвольное число, а ,- уже определенная ранее задержка сигнала.
Логарифм спектра (2.0) не содержит частот (сачтот) , при условии достаточной малости амплитуд ревеберирующих сигналов и равенства нулю величины , определяемой посредством соотношения
|
(2.1) |
Придавая различные комплексные значения коэффициенту к, можно добиться того, что В1 либо обратится в нуль, либо достигнет некоторого минимума по модулю.
Таким образом, поочередно для каждой задержки находятся все параметры частотной характеристики реверберации, входящие в (1.9).
Для устранения реверберационных искажений спектр принятого сигнала следует поделить на частотную характеристику с подставленными в нее найденными параметрами задержанных сигналов, после чего сделать обратное преобразование Фурье. Окончательно убедиться, что задача решена правильно и полностью, можно опять с помощью кепстра.. Кепстр восстановленного сигнала не должен содержать интенсивных дискретных компонент.
Эксперименты проводились над мелодией «К Элизе», бралась задержка 4.5 мс с амплитудой 0.7А, где А – амплитуда эталонного сигнала. Также прилагается пример с двумя задержками: задержка 4.5 мс с амплитудой 0.7А, и 5.6 мс с амплитудой 0.6А.