我正在尝试通过 AR模型或 LPC综合, IIR全极过滤模型完成语音合成的过程什么你称之为。
主要想法是获得 自相关(AR)系数 和 估计错误 ,然后使用AR系数过滤估计误差,我们可以得到重建信号。
**MATLAB CODE**
data = [1 2 1 3 5 1 2 5];
% auto correlation coefficients
a = lpc(data, 4);
% estimated signal
est = filter([0 -a(2:end)],1,data);
% estimated error
e = data - est;
% reconstructed signal
rec = filter(1,a,e);
您将完全看到rec ==数据。
现在问我的问题。
我正在尝试将模型转换为Latices实现。在查找Matlab参考文献后,结果发现我应该使用
tf2latc
将传递函数转换为晶格实现和
latcfilt
使用晶格过滤数据。
只是重复上述步骤不起作用。
所以我正在寻求以下方面的帮助:
1)使用tr2latc和latcfilt函数执行构建过滤器的完整过程的示例。 2)使用点阵实现来执行语音重建的示例。
THX
答案 0 :(得分:1)
好吧,最后我得到了答案。
从传递函数,我们可以得到晶格实现系数。然后用latcfilt过滤它。
a = [1 3 1 4 4];
[k v] = tf2latc(1,a)
x = [1 2 1 3 4 1 5];
filter(1,a,x)
latcfilt(k,v,x)
然后你可以看到两个过滤器给出了相同的结果。