一、实验目的
1、掌握 z 变换及其性质;了解常用序列的 z 变换、逆 z 变换;
2、掌握利用 MATLAB 的符号运算实现 z 变换;
3、掌握利用 MATLAB 绘制离散系统零、极点图的方法;
4、掌握利用 MATLAB 分析离散系统零、极点的方法;
5、掌握利用 MATLAB 分析离散系统频率响应的方法。
二、实验内容
1、分别求cos(kn)和 的 z 变换。
Matlab
clear;
syms k n a;
f=cos(k*n);
f1=a^k;
disp("cos(kn)的z变换为");
y=ztrans(f)
disp("a^k的z变换为" );
y1=ztrans(f1)
2、系统函数为
分析并绘制出离散系统的零、极点图。
Matlab
clear;
num=[0.2,0.1,0.3,0.1,0.2];
den=[1,-1.1,1.5,-0.7,0.3];
subplot(121)
zplane(num,den)
num1=[3,-5,10,0];
den1=[1,5,2,-10];
subplot(122)
zplane(num1,den1)
3、绘制 的频率响应图形。
Matlab
clear;
num=[1,1];
den=[2 2 1];
[H,w]=freqz(num,den);
Hf=abs(H); %取幅度值实部
Hx=angle(H); %取相位值对应相位角
clf
subplot(121)
plot(w,20*log10(Hf)) %幅值变换为分贝单位
title('离散系统幅频特性曲线')
subplot(122)
plot(w,Hx)
title('离散系统相频特性曲线')
4、已知某一离散系统的系统函数为 ,试用 MATLAB 绘出该系统的零、极点分布图及幅频特性曲线,并分析该系统 的频率特性。
Matlab
clear;
B=[1 5 5 1];
A=[1 0 0 0];
N=60;
[h,t]=impz(B,A,N);
subplot(211)
plot(t,h)
title("h(t)");
xlabel("N");ylabel("h(t)");
subplot(212)
zplane(B, A)
figure
freqz(B,A);
5、已知某离散系统的系统函数为 ,试用 MATLAB 求出 该系统的单位响应h(k)。
Matlab
clear;
num=[1,0,0]
den=[1,5,6]
impz(num,den)
6、已知某序列的 z 变换为 ,试用 MATLAB 求 F(z) 的逆变换。
Matlab
clear;
syms z;
F=(z^2+2*z)/((z-0.1)*(z-0.2)*(z-0.3));
X=iztrans(F)
7、已知某离散系统的系统函数为 ,试用 MATLAB 分析 该系统的频率特性,绘制其幅频及相频特性曲线。
Matlab
B=[1.25 1.25];
A=[1 -0.25];
freqz(B, A)