实验2 离散系统的差分方程和卷积
1实验 2 离散系统的差分方程、冲激响应和卷积分析一、 实验目的1、 熟悉并掌握离散系统的差分方程表示法;2、 加深对冲激响应和卷积分析方法的理解。二、 实验原理(一),1 单位抽样序列01)(n在 MATLAB 中可以利用 zeros()函数实现。;1)();,xNzeros如果 在时间轴上延迟了 k 个单位,得到 即:n )(kn01)(n2单位阶越序列01)(nu在 MATLAB 中可以利用 ones()函数实现。);,1(Nonesx3正弦序列 )/2sin()(FsfAx在 MATLAB 中2)/*2sin(*1:0faiFsfpiAxN4复正弦序列 njex)(在 MATLAB 中 )*exp(1:0nwjN5指数序列 nax)(在 MATLAB 中 naxN.1:0(二)在时域中,离散时间系统对输入信号或者延迟信号进行运算处理,生成具有所需特性的输出信号,具体框图如下 nxnyDiscrete-timesystme其输入、输出关系可用以下差分方程描述: MkNk nxpnyd00 输入信号分解为冲激信号, 。mnx记系统单位冲激响应,则系统响应为如下的卷积计算式:nh3mnhxnhxny 当 时,hn是有限长度的(n:0,M) ,Nkdk,.21,0称系统为 FIR 系统;反之,称系统为 IIR 系统。 三、 预习要求(1) 在 MATLAB 中,熟悉利用函数 y=filter(p,d,x)实现差分方程的仿真;(2) 在 MATLAB 中,熟悉用函数 y=conv(x,h)计算卷积,用y=impz(p,d,N)求系统冲激响应的过程。四、 实验内容1、以下程序中分别使用 conv 和 filter 函数计算 h 和 x 的卷积 y 和y1,运行程序,并分析 y 和 y1 是否有差别,为什么要使用 xn补零后的 x1 来产生 y1;具体分析当 hn有 i 个值,xn有 j 个值,使用 filter 完成卷积功能,需要如何补零?% Program P2_7clf;h = 3 2 1 -2 1 0 -4 0 3; % impulse responsex = 1 -2 3 -4 3 2 1; % input sequencey = conv(h,x);n = 0:14;subplot(2,1,1);stem(n,y);xlabel('Time index n'); ylabel('Amplitude');title('Output Obtained by Convolution'); grid;x1 = x zeros(1,8);y1 = filter(h,1,x1);subplot(2,1,2);stem(n,y1);xlabel('Time index n'); ylabel('Amplitude');title('Output Generated by Filtering'); grid;42、编制程序产生上述 5 种信号(长度可输入确定) ,并绘出其图形。程序单位脉冲序列 单位阶跃序列 负正弦序列clear,n0=0;nf=10;ns=1;n1=n0:nf;x1=zeros(1,ns-n0),1,zeros(1,nf-ns);n2=n0:nf;x2=zeros(1,ns-n0),ones(1,nf-ns+1);n3=n0:nf;x3=exp(0.5j)*n3);subplot(2,2,1),stem(n1,x1);title('单位脉冲序列')subplot(2,2,3),stem(n2,x2);title('单位阶跃序列')subplot(2,2,2),stem(n3,real(x3);line(0,10,0,0)title('复正弦序列'),ylabel('实部')subplot(2,2,4),stem(n3,imag(x3);line(0,10,0,0),ylabel('虚部')正弦序列N=input('Please input N:');F=input('Please input F:');A=input('Please input A:');fai=input('Please input fai:');n=0:N-1x=A*sin(2*pi*n/F+fai);stem(n,x,'.');title('正弦序列')line(0,20,0,0)axis(0,20,-1.2,1.2);xlabel('n');ylabel('x(n)')指数序列N=input('Please input N:');a=input('Please input a:');n=0:N-1;x=a.n;stem(n,x,'.');title('指数序列')xlabel('n');ylabel('x(n)')3、编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。要求分别用 filter、conv、impz 三种函数完成。1215.075.0 nxnyny5432125.0 nxnxny给出理论计算结果和程序计算结果并讨论。程序a=1,0.75,0.125;b=1,-1;n0=0;nf=10;n=n0:nf;x1=(n=0);y1=filter(a,b,x1);subplot(2,2,1);stem(y1);title('单位冲激响应1')x2=(n>=0);y2=filter(a,b,x2);subplot(2,2,2);stem(y2);title('单位阶跃响应1')c=1,0,0,0;d=0.25,0.25,0.25,0.25;x3=(n=0);y3=filter(c,d,x3);subplot(2,2,3);stem(y3);title('单位冲激响应2')x4=(n>=0);y2=filter(c,d,x4);subplot(2,2,4);stem(y2);title('单位阶跃响应2')