给定传递函数的零极点图

信息处理 matlab 转换功能 零极点
2022-02-17 01:36:17

我一直在研究如何根据传递函数绘制零点/极点。我在网上找到了几个教程。

在第一个youtube教程中,作者出色地解释了如何绘制零点/极点。

在第二个教程l中,作者解释了如何获得频率响应的幅度特性,这也很神奇。在第二个教程中,在“3.2.3 离散时间系统的传递函数”中的示例下,我们有以下传递函数

转换功能

基于传递函数,极点和零点可以定义为,

a = [1 -2.2343 1.8758 -0.5713] b = [0.0088 0.0263 0.0263 0.0088]

这就是我的困惑开始的地方。根据第一个教程,我必须沿 x 轴绘制所有零点/极点(或者我弄错了吗?)。

但是基于 MATLAB 命令来绘制极点和零点,

zplane(a,b)

我明白了这个情节

零极点图

极点和零点的图分散在各处。给定我的极点和零点,我如何在 Z 平面中手动绘制极点和零点并获得与 MATLAB 类似的输出?

谢谢你的帮助。

1个回答

你所拥有的不是极点和零点,而只是滤波器系数,即分子和分母多项式的系数。

极点是分母多项式的根,零点是分子多项式的根。在 Matlab 中,可以使用以下roots命令找到它们:

p = 根(a);
z = 根(b);

请注意,一般来说,极点和零点是复数,这就是为什么它们被绘制在复平面上。

只是备注:您使用了zplane分子和分母互换的命令,这就是为什么该图将零显示为单位圆上的十字,而极点显示为圆内的“O”。正确的叫法是zplane(b,a)