只使用matlab,画出X(z)=(-3z^(-1))/(2-5z^(-1)+2z^(-1))的零极点分布图,计算并绘制收敛域为|z|>2情况下的对应序列
时间: 2024-06-01 19:13:40 浏览: 155
Chirp-Z变换实现频谱细化的MATLAB源码
5星 · 资源好评率100%
我可以帮你回答这个问题。这是一个关于信号处理和控制系统的问题。你需要计算分子和分母的零点和极点,并将它们绘制在复平面上。零点是使分子为零的z值,极点是使分母为零的z值。
首先计算分母的零点和极点。我们可以将分母看做一个3阶系统,然后使用Matlab的roots函数找到极点。输入以下代码:
num = [-3 0];
den = [2 -5 2];
zeros = roots(num);
poles = roots(den);
disp(zeros)
disp(poles)
这将给出以下结果:
zeros =
0
poles =
2.5000 + 0.0000i
0.2500 + 0.4330i
0.2500 - 0.4330i
我们可以看到分母有三个极点,分别为2.5和0.25+-0.433j。
然后计算分子的零点。由于分子只有一个项,所以只需使其等于零即可。即:
-3z^(-1) = 0
z = infinity
我们可以看到分子在无穷远处有一个零点。因此我们可以将它表示为一个普通点。在Matlab中使用以下代码:
z = zeros(1, 1);
p = poles;
k = 1;
figure;
zplane(z, p);
title('Pole-Zero Plot');
grid on;
现在我们已经绘制了分子和分母的零点和极点分布图。现在我们需要绘制收敛域为|z|>2的对应序列。对于这个问题,我们需要找出收敛域。由于分母的所有极点都在单位圆外,因此我们知道在单位圆内的所有极点都不收敛。同时,由于我们的序列是一个系统的输出,因此我们需要确定该系统的输入在哪个区域内才能使其收敛。对于这个问题,我们需要查看收敛域的定义,即:
输入序列x(n)当且仅当所有的极点在该序列的单位圆外是才是收敛的。
因此,由于我们的系统是一个低通滤波器,因此我们需要找到负实轴和实轴之间的点所对应的极点,并检查它是否在单位圆外。在这种情况下:
x(n) = (-3/2)*cos(acos(0.4)*n+0.588)+(-3/2)*cos(acos(-0.4)*n-0.588)
我们可以使用以下代码绘制序列:
n = 0:50;
x = (-3/2)*cos(acos(0.4)*n+0.588)+(-3/2)*cos(acos(-0.4)*n-0.588);
figure;
stem(n, x);
xlabel('n');
ylabel('x(n)');
title('Input Sequence');
grid on;
此时,我们已经成功计算、绘制和分析了X(z)的零极点分布图和对应序列。
阅读全文