Matlab:IIR滤波器系数用法& Z域中的频率响应

时间:2017-12-11 11:13:42

标签: matlab filtering signal-processing frequency

1)[得到那部分谢谢]我试图从其系数中找到IIR滤波器的频率响应,但我不确定如何在matlab上实现这些系数。我只想学习正确使用系数,然后我可以将freqz(b,a)用于其他部分。感谢您提供任何帮助。

系数:

a =

1.000000000000000e+000
-9.453549054680797e+000  
4.023055814712089e+001   
-1.014903354465407e+002   
1.680782073345783e+002
-1.909359522948873e+002
1.506765261550268e+002   
-8.156212209921239e+001
2.898280457424895e+001
-6.105005561783935e+000
5.788682461462072e-001



b =

1.557977204073596e-014
1.557977204073596e-013
7.010897418331182e-013
1.869572644888315e-012
3.271752128554552e-012
3.926102554265462e-012
3.271752128554552e-012
1.869572644888315e-012
7.010897418331181e-013
1.557977204073596e-013
1.557977204073596e-014

我知道这些事情对你来说很无聊,但我还有一个问题。

Frequency Response in Z-Domain

实际上我发现自己是一种方法和结果,但我不确定我是这样做的。那么,您能快速查看我的代码进行检查吗? 我想知道它是否与我编写的代码问题无关。非常感谢你的帮助,这是我的代码和结果:

My code

1 个答案:

答案 0 :(得分:0)

Matlab期望使用封闭的[]字符来定义数组。有关矩阵和数组的更多信息,您可以查看Matlab's documentation

您可以按如下方式调整语法:

a = [
1.000000000000000e+000
-9.453549054680797e+000
4.023055814712089e+001
-1.014903354465407e+002
1.680782073345783e+002
-1.909359522948873e+002
1.506765261550268e+002
-8.156212209921239e+001
2.898280457424895e+001
-6.105005561783935e+000
5.788682461462072e-001];

b = [
1.557977204073596e-014
1.557977204073596e-013
7.010897418331182e-013
1.869572644888315e-012
3.271752128554552e-012
3.926102554265462e-012
3.271752128554552e-012
1.869572644888315e-012
7.010897418331181e-013
1.557977204073596e-013
1.557977204073596e-014];
然后

freqz(b,a)会给您一个频率响应,如下所示:

enter image description here