Комплексный кепстральный анализ
Кепстральный анализ является нелинейным методом обработки сигналов, который чаще всего применяется в обработке речи и гомоморфной фильтрации [1]. cceps
является реализацией алгоритма 7.1 в [3]. Длинная программа Фортран сокращается до этих трёх линий MATLAB® код, который составляет ядро cceps
:
h = fft(x); logh = log(abs(h)) + sqrt(-1)*rcunwrap(angle(h)); y = real(ifft(logh));
Примечание
rcunwrap
в вышеуказанном сегменте кода находится специальная версия unwrap
который вычитает прямую линию из фазы. rcunwrap
является локальной функцией в cceps
и недоступна для использования в командной строке MATLAB.
В следующей таблице перечислены плюсы и минусы алгоритмов Фурье и факторизации.
Алгоритм | Профессионалы | Недостатки |
---|---|---|
Фурье | Может использоваться для любого сигнала. | Требует разворачивания фазы. Выход сглаживается. |
Факторизация | Не требует разворачивания фазы. Сглаживание отсутствует | Может использоваться только для коротких сигналов длительности. Входной сигнал должен иметь полностью нулевое Z-преобразование без нулей на единичном круге. |
В целом, вы не можете использовать результаты этих двух алгоритмов, чтобы проверить друг друга. Можно использовать их, чтобы проверить друг друга только, когда первый элемент входных данных положителен, Z-преобразование последовательности данных имеет только нули, все эти нули находятся внутри модуля круга, и последовательность входных данных длинна (или заполнена нулями).
[1] Oppenheim, Alan V., Ronald W. Schafer, and John R. Buck. Обработка сигнала в дискретном времени. Верхняя Седл-Ривер, Нью-Джерси: Prentice Hall, 1999, pp . 788-789.
[2] Штейглиц, К. и Б. Дикинсон. «Расчет Комплексного Cepstrum путем факторизации Z-преобразования». Материалы IEEE 1977 года® Международная конференция по акустике, речи и обработке сигналов, стр. 723-726.
[3] Комитет по цифровой обработке сигналов Общества акустики, речи и обработки сигналов IEEE, eds. Программы для цифровой обработки сигналов. Нью-Йорк: IEEE Press, 1979.