【问题标题】:Filter coefficients in matlab [closed]matlab中的滤波器系数[关闭]
【发布时间】:2016-03-19 10:36:34
【问题描述】:

我正在学习信号处理,目前我必须在 Matlab 中做一个语音合成器。为了模拟嘴的谐振器系统,我有这个传递函数:

R(z) = 1 - z ^(-1)

我可以在 Matlab 中实现这个带有过滤功能的系统吗?我不知道如何提取系数“a”和“b”...

注意:y = filter(b, a, x),其中 x 是我们必须过滤的输入信号。

谢谢大家!

【问题讨论】:

  • 这里没有系数a 也没有b
  • 所以,我不能用“过滤器”来做到这一点?
  • 不知道。您谈到了在您的帖子中其他任何地方都没有显示的两个系数。您还不如说您需要咖啡和饼干才能继续,我在您的帖子中也没有看到这些与您的(非常不清楚)问题有什么关系。
  • 系数“a”和“b”是matlab中滤波器函数的输入参数。y = filter(b, a, x),其中“x”是我们输入的信号必须过滤。

标签: matlab filter signal-processing speech synthesizer


【解决方案1】:

查阅filter 的文档,您将传递函数表示为系数的有理函数,这样:

你想要的传递函数Y(z) / X(z) = R(z)等于:

R(z) = 1 - z^{-1}

这里a(1) 隐式等于1。因此,b(1) = 1b(2) = -1 指的是上述等式。除 a(1) 等于 1 外,分母中的所有系数均为 0。

因此,a = 1; b = [1 -1]; 过滤您的信号很简单:

a = 1; b = [1 -1];
y = filter(b, a, x);

x 是您要过滤的感兴趣信号。

【讨论】:

  • 非常感谢!
  • 但不是b(2) = -1
  • @MatthiasW。不,它不是....快速更正。看?一种错觉! (顺便说一句,感谢您的更正:))
  • @Kroka 我在b 上犯了一个小错误。请检查编辑。理论当然是一样的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-27
  • 1970-01-01
  • 2013-06-20
  • 1970-01-01
  • 1970-01-01
  • 2016-02-26
  • 2011-10-02
相关资源
最近更新 更多