我正在学习信号处理,目前我必须在Matlab中做一个语音合成器。为了模拟嘴的谐振器系统我有这个传递函数:
R(z)= 1 - z ^( - 1)
我可以在Matlab中使用过滤功能实现这个系统吗?我不知道如何提取系数“a”和“b”...
注意:y = filter(b,a,x),其中x是我们必须过滤的输入信号。
谢谢大家!
答案 0 :(得分:2)
咨询filter
的文档,您将传递函数表示为系数的有理函数,以便:
您想要的传递函数,Y(z) / X(z) = R(z)
等于:
R(z) = 1 - z^{-1}
此处a(1)
隐含地等于1.因此,b(1) = 1
和b(2) = -1
指的是上述等式。除了a(1)
等于1之外,分母中的所有系数都是0。
因此,a = 1; b = [1 -1];
等过滤您的信号只是:
a = 1; b = [1 -1];
y = filter(b, a, x);
x
是您要过滤的感兴趣信号。