目录
1. 已知某离散系统的差分方程为y(k)-y(k-1)+0.9y(k-3)=f(k)试作出:
2. 已知某系统的系统函数如下y(k+2)+0.4y(k+1)-0.12y(k)=f(k+2)+2f(k+1)计算在输入信号为f(k)=u(k)时的系统零状态响
3.求下列离散时间序列的z变换
4.采用变换域分析法求解系统的零状态响应
5.已知某离散时间系统的系统函数如下
H(z)=z^2/( z^2+2^0.5·z+1)
(1)以默认方式绘出系统 h(k)的时域波形;
(2)绘出系统在0~60取样点范围内 h(k)的时域波形;
(3)绘出系统在-10~40离散时间范围内 h(k)的时域波形;
(4)求出系统在-5~10离散时间范围内 h(k)的数值解。
实验代码如下:
a=[1,-1,0,0.9];
b=[1];
subplot(3,1,1);
impz(b,a);
subplot(3,1,2);
impz(b,a,60);
subplot(3,1,3);
impz(b,a,-10:40);
y=impz(b,a,-5:10)
y =
0
0
0
0
0
1.0000
1.0000
1.0000
0.1000
-0.8000
-1.7000
-1.7900
-1.0700
0.4600
2.0710
实验代码如下:
a=[1,0.4,-0.12];
b=[1,2];
N=30;
f=ones(1,N);
k=0:1:N-1;
y=filter(b,a,f);
stem(k,y);
xlabel('k');
title('系统零状态响应 y(k)')
(1) f1(n)=u(n);
(2) f2(n)=a^n·u(n);
(3) f3(n)=0.5n[u(n)-u(n-5)];
(4) f4(n)= a^n·cos(nπ/2)u(n);
syms n;
%(1)f_1(n)=u(n)
f_1=sym('1');
F_1=ztrans(f_1);
'f_1=',pretty(f_1);
'F_1=',pretty(F_1);
%(2)f_2(n)=a^n*u(n)
syms a;
f_2=a^n;
F_2=ztrans(f_2);
'f_2=',pretty(f_2);
'F_2=',pretty(F_2);
%(3)f_3(n)=0.5n[u(n)-u(n-5)];
f_3=0.5*n*(heaviside(n)-heaviside(n-5));
F3=ztrans(f_3);
'f_3=',pretty(f_3);
'F_3=',pretty(F3);
%(4)f_4(n)=a^n*cos(n*pi/2)u(n)
f4=a^n*cos(n*pi/2)*heaviside(n);
F4=ztrans(f4);
'f_4=',pretty(f4);
'F_4=',pretty(F4);
ans =
'f_1='
1
ans =
'F_1='
z
-----
z - 1
ans =
'f_2='
n
a
ans =
'F_2='
z
- ---------
a - z
ans =
'f_3='
n (heaviside(n - 5) - heaviside(n))
- -------------------------------------------
2
ans =
'F_3='
2
z 5 z + 2 z - 5
--------------- - --------------------
2 5 2
2 (z - 1) 4 z (z - 1)
ans =
'f_4='
n / pi n \
a cos| ------ | heaviside(n)
\ 2 /
ans =
'F_4='
/ / pi (n + 1) \ z \
a ztrans| cos| ------------- |, n, --- |
\ \ 2 / a / 1
----------------------------------------- + ----
z 2
(1)已知线性离散时间系统的
激励函数为f(n)=(-1)^nu(n)
单位脉冲响应h(n)=[(-1)^n/3+2*3^n/3]u(n)
实验代码如下:
syms n;
f=(-1)^n;
h=(-1)^n/3+2*3^n/3;
F=ztrans(f);
H=ztrans(h);
Y=H*F;
y=iztrans(Y)
y =
(5*(-1)^n)/6 + 3^n/2 + ((-1)^n*(n - 1))/3
(2) 已知线性离散时间系统的
激励函数为f(n)= u(n)
系统传递函数为H(z)=z(7z-2)/(z-0.2)(z-0.5)
syms n z;
f=1^n;
F=ztrans(f);
H=z*(7*z-2)/((z-0.2)*(z-0.5));
yf=iztrans(H*F)
仿真结果如下:
yf =
25/2 - (1/5)^n/2 - 5*(1/2)^n
(1) 试利用 MATLAB求系统的单位序列响应h(n)并绘出h(n)的时域波形。
(2) 利用 MATLAB计算系统的零、极点,并绘出 系统的零、极点分布图,判断系统是否稳定。
b=[1 0 0];
a=[1 sqrt(2) 1];
[r,p,k]=residue(b,a)
subplot(2,1,1);
impz(b,a,-10:30);
subplot(2,1,2);
num=[1 0 0];
den=[1 sqrt(2) 1];
p=roots(den)%求多项式的根
z=roots(num)
zplane(z,p);% z为零点列向量、 p为极点列向量
title('零极点分布图 ');
仿真结果如下:
r =
-0.7071 - 0.0000i
-0.7071 + 0.0000i
p =
-0.7071 + 0.7071i
-0.7071 - 0.7071i
k =
1
p =
-0.7071 + 0.7071i
-0.7071 - 0.7071i
z =
0
0