第二章上机作业
1、ljdt(A,B)函数定义
function ljdt(A,B)
p=roots(A);
q=roots(B);
p=p';
q=q';
x=max(abs([p q 1]));
x=x+0.1;
y=x;
clf
hold on
axis([-x x -y y])
w=0:pi/300:2*pi;
t=exp(i*w);
plot(t)
axis('square')
plot([-x x],[0 0])
plot([0 0],[-y y])
text(0.1,x,'jIm[z]')
text(y,1/10,'Re[z]')
plot(real(p),imag(p),'x')
plot(ral(q),imag(q),'o')
title('pole-zero diagram for discrete system') hold off
例2.26
a=[3 -1 0 0 0 1];
b=[1 1];
ljdt(a,b)
p=roots(a)
q=roots(b)
pa=abs(p)
程序运行结果如下:
P=
0.7255+0.4633i
0.7255+0.4633i
-0.1861+0.7541i
-0.1861-0.7541i
-0.7455
q=
-1
pa=
0.8608
0.8608
0.7768
0.7768
0.7455
例2.27
b=[0 1 2 1];a=[1 -0.5 -0.005 0.3];
subplot 311
zplane(b,a);xlabel('实部');ylabel('虚部'); num=[0 1 2 1];den=[1 -0.5 -0.005 0.3];
h=impz(num,den);
subplot 312
stem(h);xlabel('k');title('单位脉冲响应'); [H,w]=freqz(num,den);
subplot 313
plot(w/pi,abs(H));
xlabel('频率\omega');
title('频率响应')
例2.28
a=[1,-1];
b=[1];
subplot 321
impz(b,a);
a1=[1,-0.8];
b1=[1];
subplot 322
impz(b1,a1,10);
a2=[1,-2];
b2=[1];
subplot 323
impz(b2,a2,10);
a3=[1,-2*0.8*cos(pi/4),0.8^2];
b3=[1];
subplot 324
impz(b3,a3,20);
a4=[1,-2*0.8*cos(pi/8),1];
b4=[1];
subplot 325
impz(b4,a4,20);
a5=[1,-2*1.2*cos(pi/4),1.2^2];
b5=[1];
subplot 326
impz(b5,a5,20);
例2.29
b=[1,0,-1];a=[1,0,-0.81];
figure(1)
subplot(2,1,1);dimpulse(b,a,50);ylabel('h(n)'); subplot(2,1,2);dstep(b,a,50);ylabel('g(n)'); figure(2)
w=[0:1:500]*pi/500; freqz(b,a,w)
例2.30
b=[1,0,0,0,0,0,0,0,-1];
a0=1;
a1=[1,0,0,0,0,0,0,0,-(0.8)^8];
a2=[1,0,0,0,0,0,0,0,-(0.9)^8];
a3=[1,0,0,0,0,0,0,0,-(0.98)^8];
[H,w]=freqz(b,a0);
[H1,w1]=freqz(b,a1);
[H2,w2]=freqz(b,a2);
[H3,w3]=freqz(b,a3);
subplot(4,2,1);zplane(b,a0);xlabel('实部');ylabel('虚部');title('FIR梳状滤波器零点图')
subplot(4,2,2);zplane(b,a1);xlabel('实部');ylabel('虚部');title('IIR梳状滤波器零点图a=0.8')
subplot(4,2,3);plot(w/pi,abs(H));title('FIR梳状滤波器幅频响应曲线') subplot(4,2,4);plot(w/pi,abs(H1));title('IIR梳状滤波器幅频响应曲线
a=0.8')
subplot(4,2,5);zplane(b,a2);xlabel('实部');ylabel('虚部');title('IIR梳状滤波器零极点图a=0.9')
subplot(4,2,6);zplane(b,a3);xlabel('实部');yalbel('虚部')title('IIR梳状零极点图a=0.98')
a4=[1,0,0,0,0,0,0,0,-(0.9)^8];
a5=[1,0,0,0,0,0,0,0,-(0.98)^8];
[H4,W4]=freqz(b,a4);
[H5,W5]=freqz(b,a5);
subplot(4,2,7);plot(w/pi,abs(H4));title('IIR梳状滤波器频幅响应曲线
a=0.9')
subplot(4,2,8);plot(w/pi,abs(H5));title('IIR梳状滤波器零极点图a=0.98')
例2.31
num=[0.45 0.4 -1];
den=[1 -0.4 -0.45];
x0=[1 2];y0=[0 1];
N=50;
n=[0:N-1]';
x=0.8.^n;
Zi=filtic(num,den,y0,x0);
[y,Zf]=filter(num,den,x,Zi);
plot(n,x,'r-',n,y,'b--');
title('响应');
xlabel('n');ylabel('x(n)-y(n)'); legend('输入x','输入y',1);
grid;
例2.32
num=[18];
den=[18 3 -4 -1];
[r,p,k]=residuez(num,den) 程序运行结果如下:
r =
0.3600
0.2400
0.4000
p =
0.5000
-0.3333
-0.3333
k =
[]
(1)
f=sym('cos(a*k)');
F=ztrans(f)
程序运行结果如下:
F =
(z-cos(a))*z/(z^2-2*z*cos(a)+1) (2)
F=sym('a*z/(z-a)^2');
f=iztrans(F)
程序运行结果如下:
f =
a^n*n
例2.34
(1)
f=sym('a^n')
F=ztrans(f)
程序运行结果如下:
f =
a^n
F =
-z/(a - z)
(2)
f=sym('1');
F=ztrans(f)
程序运行结果如下
F =
z/(z - 1)
b=1;a=poly([0.9 0.9 -0.9]);
[r,p,k]=residuez(b,a)
程序运行结果如下:
r =
0.2500
0.5000
0.2500
p =
0.9000
0.9000
-0.9000
k =
[]
例2.36
x1=[1,2,3];n1=-1:1;
x2=[2,4,3,5];n2=-2:1;
[y,n]=conv_m(x1,n1,x2,n2);
运行结果如下:
y =
2 8 17 2
3 19 15。