复杂的cepstral分析
倒频谱分析是在语音处理和同态滤波最常用的非线性信号处理技术[1]。cceps
算法7.1的实现在[3]。一个冗长的Fortran程序可以简化为这三行MATLAB®码,其构成的芯cceps
:
h = fft (x);logh =日志(abs (h) +√(1)* rcunwrap(角(h));y =实际(传输线(logh));
请注意
rcunwrap
上面的代码段是一个特殊的版本摅
相位减去一条直线。rcunwrap
是一个本地函数内吗cceps
并且不能从MATLAB命令行中使用。
下表列出了傅立叶和分解算法的优劣。
算法 | 优点 | 缺点 |
---|---|---|
傅里叶 | 可用于任何信号。 | 需要相位展开。输出的别名。 |
因式分解 | 不需要相位展开。没有混叠 | 只能用于短时间信号。输入信号必须进行全零z变换,在单位圆上不能有零。 |
一般来说,不能使用这两种算法的结果来互相验证。您可以使用它们来验证彼此只有当第一个元素的输入数据是正的,数据的z变换序列只有0,所有的0都在单位圆内,和输入数据序列(或垫0)。
奥本海姆,艾伦五世,罗纳德W.谢弗和约翰R.巴克。离散时间信号处理。上鞍河,新泽西州:普伦蒂斯霍尔出版社,1999,第788-789页。
[2] Steiglitz,K.,和B.迪金森。“由Z变换分解复倒谱的计算。”1977年IEEE会刊®国际声学、语音和信号处理会议,第723-726。
IEEE声学、语音和信号处理学会[3]数字信号处理委员会。数字信号处理程序。纽约:IEEE出版社,1979年。