AR模型点阵实现

时间:2013-05-17 03:11:26

标签: signal-processing matlab voice

我正在尝试通过 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

1 个答案:

答案 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)

然后你可以看到两个过滤器给出了相同的结果。