复倒谱的计算 和matlab 实现
一、计算原理 在复倒谱分析中,z 变换后得到的是复数,所以取对数时要进行复对数运算。这时存在相位的多值性问题,称为“相位卷绕”
设信号为
则其傅里叶变换为 对上式取复对数为 则其幅度和相位分别为
上式中,虽然 , 的范围均在
之内,但 的值可能超过
范围。计算机处理时总相位值只能用其主值 表示,然后把这个相位主值“展开”
,得到连续相位。所以存在情况:
(k 为整数) 此时即产生了相位卷绕。这会是后面求复倒谱以及由复倒谱恢复语音带来不确定性产生错误
改进方法
1、最小相位信号法
适用条件:
被处理的信号想x(n)必须是最小相位信号。实际上许多信号就
是最小相位信号,或可以看作是最小相位信号。语音信号的模型就是)()()(21n x n x n x *=)
()()(21ωωωj j j e X e X e X ⋅=)
(ln )(ln )(ln 21ωωωj j j e X e X e X +=)()()(21ωϕωϕωϕ+=)
(ln )(ln )(ln 21ωωωj j j e X e X e X +=)(ωϕ()ππ,-)(2ωϕ)(ππ,-)(ωΦ)()()(21ωϕωϕωϕ+=πωωϕk 2)()(+Φ=)(1ωϕ