4.4.5. Вычисление двумерного комплексного кепстра [26]Рассмотрим два метода вычисления комплексного кепстра двумерного дискретного сигнала . Первый метод приближенного вычисления прямого и обратного -преобразований с интегрированием по контуру единичной биокружности использует дискретное преобразование Фурье, реализованное посредством алгоритма БПФ. Кроме того, во избежание искусственных разрывов, возникающих при использовании основного значения фазы, необходим алгоритм развертывания фазы. Вследствие использования ДПФ этот метод дает пространственно-наложенное приближение истинного комплексного кепстра. Второй рассматриваемый метод использует рекурсивную формулу для точного вычисления комплексного кепстра последовательности в том случае, когда она является последовательностью с минимальной фазой и опорной областью в первом квадранте. Если последовательность не является последовательностью с минимальной фазой, то результат рекурсивного вычисления неограниченно возрастает. Первый метод вычисления двумерного комплексного кепстра является попыткой непосредственного численного решения уравнения (4.99). Реализация необходимых прямых и обратных преобразований Фурье требует двумерного БПФ, которое вычисляется по алгоритму строка-столбец. Допустим, что последовательность , кепстр которой требуется найти, имеет конечную протяженность. Ее опорной областью является прямоугольник , . Добавляя к последовательности дополнительные отсчеты с нулевым значением, построим последовательность с опорной областью , . Выполним -точечное ДПФ этой дополненной последовательности, получив в результате отсчетов Фурье-спектра последовательности . Как и раньше, обозначим эти отсчеты следующим образом: , (4.134) после этого нужно найти развернутую фазу так, чтобы соответствующим образом получить . Если отсчеты развернутой фазовой функции, обозначаемые , будут содержать линейные фазовые множители, их следует отбросить. Отсчеты развернутой фазовой функции можно найти следующим образом. Во-первых, по формуле , (4.135) где, очевидно, , находится начальное значение фазовой функции . Если - чисто вещественная последовательность, то обычно фаза принимается равной нулю. [B конечном счете, так или иначе возникает фазовая неопределенность, поскольку в формуле (4.135) используется основное значение функции арктангенса, однако эта неопределенность несущественна.] Во-вторых, для разворачивания двумерной фазовой функции применяется одномерный алгоритм, например алгоритм Триболе [19]. Его можно рассматривать как «черный ящик» с одномерной последовательностью , имеющей начальное значение фазы на входе и одномерным ДПФ с дискретной развернутой фазовой функцией на выходе. Алгоритм Триболе можно использовать для разворачивания двумерной фазовой функции вдоль линии , подав на вход одномерную последовательность (4.136) с начальным значением фазы . В результате на выходе получим -точечное ДПФ и дискретную развернутую фазовую функцию , включая отсчет . Теперь можно получить значение линейной фазы в направлении , вычислив разность фаз . (4.137) После этого сформируем набор одномерных последовательностей путем выполнения ДПФ-строк . Это даст . (4.138) Для каждого от нуля до в качестве входных данных для одномерного алгоритма развертывания фазы используется (как функция ) с начальным значением фазы . На выходе получим и дискретную развернутую фазу , включая отсчеты для . Развернутая фаза исследуется на наличие линейной фазы в направлении . Разность фаз (4.139) не должна зависеть от , если Фурье-спектр не обращается в нуль во всей области определения. Теперь можно вычислить фазовую функцию (4.140) для устранения линейных фазовых компонент, а также логарифм амплитуды спектра . (4.141) Наконец, выполнив обратное двумерное ДПФ, реализуем дискретный вариант формулы (4.106) . (4.142) Индекс «sa» при служит для напоминания, что эта последовательность является пространственно-наложенной аппроксимацией комплексного кепстра , описываемого выражением (4.106). Две последовательности, и связаны соотношением . (4.143) Даже если и, следовательно, являются последовательностями с конечной опорной областью, в общем случае комплексный кепстр будет иметь бесконечную опорную область. Очевидно, что будет хорошей аппроксимацией только тогда, когда стремится к нулю при и . Если - сигнал с минимальной фазой и опорной областью в первом квадранте, то комплексный кепстр можно точно найти с помощью рекурсивной формулы. Рекурсию можно выполнить, переписав (4.107) в следующем виде: . (4.144) После обратного двумерного преобразования Фурье обеих частей этого выражения получим . (4.145) Поскольку имеет минимальную фазу и опорную область в первом квадранте и, следовательно, также имеет опорную область в первом квадранте, то бесконечные суммы в уравнении (4.145) можно заменить конечными суммами. Тогда получим . (4.146) Для упрощения выражений допустим теперь, что нормализована таким образом, что . [Изменение масштаба повлияет только на величину в комплексном кепстре]. Тогда слагаемое при можно вынести из-под знака суммы, а остальные члены вычесть из обеих частей уравнения. В результате получим для . (4.147) Аналогичным образом можно получить для . (4.148) Значение можно найти с помощью двумерной теоремы о начальном значении, которая дает . Ввиду использования комплексного логарифма фазовая часть будет иметь неоднозначность, кратную . Это та же самая суммарная неоднозначность, что и при вычислении начальной фазы отсчета в методе вычисления комплексного кепстра с помощью ДПФ. После того как найдено значение , значение можно получить рекурсивно из (4.148), а значения - из (4.147). После этого оставшиеся значения для и можно определить по любой из рекурсивных формул. Рекурсивный метод вычисления двумерного комплексного кепстра имеет то преимущество, что он дает теоретически точный результат, а не аппроксимацию с наложением, которую дает метод ДПФ. Его очевидным недостатком является то, что он применим только тогда, когда сигнал имеет минимальную фазу. В общем случае заранее неизвестно, является ли на самом деле сигнал сигналом с минимальной фазой. Если к сигналу с не минимальной фазой, имеющему опорную область в первом квадранте, применить рекурсию вслепую, то найденный кепстр будет неограниченно возрастать.
|