一、實驗目的
1、掌握 z 變換及其性質;了解常用序列的 z 變換、逆 z 變換;
2、掌握利用 MATLAB 的符號運算實現 z 變換;
3、掌握利用 MATLAB 繪制離散系統零、極點圖的方法;
4、掌握利用 MATLAB 分析離散系統零、極點的方法;
5、掌握利用 MATLAB 分析離散系統頻率響應的方法。
二、實驗內容
1、分別求cos(kn)和 ?的 z 變換。
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、系統函數為
分析并繪制出離散系統的零、極點圖。
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、繪制 的頻率響應圖形。
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 繪出該系統的零、極點分布圖及幅頻特性曲線,并分析該系統 的頻率特性。
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)。
clear;
num=[1,0,0]
den=[1,5,6]
impz(num,den)
6、已知某序列的 z 變換為 ,試用 MATLAB 求 F(z) 的逆變換。?
clear;
syms z;
F=(z^2+2*z)/((z-0.1)*(z-0.2)*(z-0.3));
X=iztrans(F)
7、已知某離散系統的系統函數為 ,試用 MATLAB 分析 該系統的頻率特性,繪制其幅頻及相頻特性曲線。
B=[1.25 1.25];
A=[1 -0.25];
freqz(B, A)