z变换及应用
使用 ztrans() \text{ztrans()} ztrans()求z变换
有部分的无法求出(不代表不存在z变换),并且不给出ROC
%% 用ztrans子函数求无限长序列的z变换
clear ;
syms w0 n z a
x1 = a^n;
x2 = (n*(n-1))/2;
x3 = exp(1j*w0*n);
x4 = 1/(n*(n-1));
X1=ztrans(x1);
X2=ztrans(x2);
X3=ztrans(x3);
X4=ztrans(x4);
disp(['X1 = ', char(X1)]);
disp(['X2 = ', char(X2)]);
disp(['X3 = ', char(X3)]);
disp(['X4 = ', char(X4)]);%从结果可以看出x4无法求出
使用 iztrans() \text{iztrans()} iztrans()求逆z变换
有部分的无法求出(不代表不存在逆z变换),并且不给出ROC
%% 用iztrans子函数求无限长序列的z反变换
clear;
syms z n a
X1 = z/(z-1);
X2 = a*z/(a-z)^2;
X3 = (1-z^(-n))/(1-z^(-1));
x1 = iztrans(X1);
x2 = iztrans(X2);
x3 = iztrans(X3);
disp(['x1 = ', char(x1)]);
disp(['x2 = ', char(x2)]);
disp(['x3 = ', char(x3)]);%从结果可以看出x3无法求出
使用 residuez() \text{residuez()} residuez()求逆z变换
注意是否重根
单根情况:
求解 X ( z ) = 1 1 − 1.5 z − 1 + 0.5 z − 2 X(z)=\frac{1}{1-1.5z^{-1}+0.5z^{-2}} X(z)=1−1.5z−1+0.5z−21
% (1)
clear;
b = [1 0 0]; %分子
a = [1 -1.5 0.5]; %分母
[r p c] = residuez(b,a);
disp('r =');disp(r);
disp('p =');disp(p);
disp('c =');disp(c);
%所以X(z) = r(1)/(1-p(1)*z^(-1))+r(2)/(1-p(2)*z^(-1))
n = 0:30;
x = r(1)*p(1).^n + r(2)*p(2).^n;
figure('color','w');
stem(n,x,'filled');
xlabel('n');ylabel('x(n)');xlim([0,30]);ylim([-0.5,max(x)+0.5]);
grid on;grid minor;
重根情况:
求解 H ( z ) = z − 1 1 − 12 z − 1 + 36 z − 2 H(z)=\frac{z^{-1}}{1-12z^{-1}+36z^{-2}} H(z)=1−12z−1+36z−2z−1
clear;
b = [0 1 0];a = [1 -12 36];
[r p c] = residuez(b,a);
disp('r =');disp(r);
disp('p =');disp(p);
disp('c =');disp(c);
% x = r(1)*p(1).^n + r(2)*p(2).^n不适用
% 因为可以看出是含有多极点
%所以X(z) = r(1)/(1-p(1)*z^(-1))+r(2)/(1-p(2)*z^(-1))^2
使用 impz() \text{impz()} impz()求z变换
求解 H ( z ) = 0.1321 − 0.3963 z − 2 + 0.3963 z − 4 − 0.1321 z − 6 1 + 0.34319 z − 2 + 0.60439 z − 4 + 0.20407 z − 6 H(z)=\frac{0.1321 - 0.3963z^{-2}+0.3963z^{-4}-0.1321z^{-6}}{1 + 0.34319z^{-2}+0.60439z^{-4}+0.20407z^{-6}} H(z)=1+0.34319z−2+0.60439z−4+0.20407z−60.1321−0.3963z−2+0.3963z−4−0.1321z−6
clear;
b = [0.1321 0 -0.3963 0 0.3963 0 -0.1321];
a = [1 0 0.34319 0 0.60439 0 0.20407];
N = 40;
n=0:N-1;
x = impz(b,a,N);
figure('color','w');
stem(n,x,"filled");
grid on;grid minor;