实验一、离散时间系统及离散卷积 1、单位脉冲响应 源程序: function pr1() %定义函数 pr1 a=[1,-1,0.9]; %定义差分方程 y(n)-y(n-1)+0.9y(n-2)=x(n) b=1; x=impseq(0,-40,140); %调用 impseq 函数 n=-40:140; %定义 n 从-40 到 140 h=filter(b,a,x); %调用函数给纵座标赋值 figure(1) %绘图 figure 1 (冲激响应) stem(n,h); %在图中绘出冲激 title('冲激响应'); %定义标题为:'冲激响应' xlabel('n'); %绘图横座标为 n ylabel('h(n)'); %绘图纵座标为 h(n) figure(2) %绘图 figure 2 [z,p,g]=tf2zp(b,a); %绘出零极点图 zplane(z,p) function [x,n]=impseq(n0,n1,n2)%声明 impseq 函数 n=[n1:n2]; x=[(n-n0)==0]; 结果: Figure 1: Figure 2: 2、离散系统的幅频、相频的分析 源程序: function pr2() b=[0.0181,0.0543,0.0543,0.0181]; a=[1.000,-1.76,1.1829,-0.2781]; m=0:length(b)-1; %m 从 0 到 3 l=0:length(a)-1; %l 从 0 到 3 K=5000; k=1:K; w=pi*k/K; %角频率 w H=(b*exp(-j*m'*w))./(a*exp(-j*l'*w));%对系统函数的定义 magH=abs(H); %magH 为幅度 angH=angle(H); %angH 为相位 figure(1) subplot(2,1,1); %在同一窗口的上半部分绘图 plot(w/pi,magH); %绘制 w(pi)-magH 的图形 grid; axis([0,1,0,1]); %限制横纵座标从 0 到 1 xlabel('w(pi)'); %x 座标为 w(pi) ylabel('|H|'); %y 座标为 angle(H) title('幅度,相位响应'); %图的标题为:'幅度,相位响应' subplot(2,1,2); %在同一窗口的下半部分绘图 plot(w/pi,angH); %绘制 w(pi)-angH 的图形 grid; %为座标添加名称 xlabel('w(pi)'); %x 座标为 w(pi) ylabel('angle(H)'); %y 座标为 angle(H) 结果: 3、卷积计算 源程序: function pr3() n=-5:50; %声明 n 从-5 到 50 u1=stepseq(0,-5,50); %调用 stepseq 函数声用明 u1=u(n) u2=stepseq(10,-5,50); %调用 stepseq 函数声用明 u2=u(n-10) %输入 x(n)和冲激响应 h(n) x=u1-u2; %x(n)=u(n)-u(n-10) h=((0.9).^n).*u1; %h(n)=0.9^n*u(n) figure(1) subplot(3,1,1); %绘制第一个子图 stem(n,x); %绘制图中的冲激 axis([-5,50,0,2]); %限定横纵座标的范围 title('输入序列'); %规定标题为:'输入序列' xlabel('n'); %横轴为n ylabel('x(n)'); %纵轴为x(n) su...