《信号、系统与信号处理实验I》
实验报告
实验名称:离散时间系统的时域分析
姓 名: 学 号:
专 业: 通信工程 实验时间
杭州电子科技大学 通信工程学院
一、实验目的
1.通过 matlab 仿真一些简单的离散时间系统,并研究它们的时域特性。 2.掌握利用 matlab 工具箱求解 LTI 系统的单位冲激响应。
二、实验内容
1、离散时间系统的时域分析 1.1 线性与非线性系统
假定系统为 y[n]-0.4y[n-1]=2.24x[n]+2.49x[n-1] (2.9)
输入三个不同的输入序列 x1[n]、x2[n]和,计算并求出相应的三个输出,并判断是否线性。x[n]=ax1[n]+bx2[n]
clear all; n=0:40; a=2;b=-3; x1=cos(2*pi*0.1*n); x2=sin(2*pi*0.4*n); x=a*x1+b*x2; num=[2.24 2.49]; den=[1 -0.4];
y1=filter(num.den,x1); y2=filter(num.den,x2); y=filter(num.den,x); yt=a*y1+b*y2;
d=y-yt;%计算差值输出 d[n]
subplot(3,1,1) stem(n,y); ylabel(‘振幅’); subplot(3,1,2) stem(n,yt); ylabel(‘振幅’); subplot(3,1,3) stem(n,d); ylabel(‘振幅’); title(‘差信号’)
(1)假定另一个系统为 y[n]=x[n]+3.2x[n-2],修改以上程序,通过绘出的图形判断该系统是否线性系统。
1.2 时变与时不变系统
根据(2.9)的系统,产生两个不同的输入序列 x[n]和 x[n-D],根据输出判断是否时不变系统。 clear all; n=0:40; a=2;b=-3; D=10;
x=cos(2*pi*0.1*n); xd=[zeros(1,D) x]; num=[2.24 2.49];
den=[1 -0.4]; y=filter(num.den,x); yd=filter(num.den,xd);
d=y-yd(1+D:41+D);%计算差值输d[n] subplot(3,1,1) stem(n,y); ylabel(‘振幅’);
title(‘输出 y[n]’);grid; subplot(3,1,2) stem(n,yd(1:41)); ylabel(‘振幅’);
title(‘由于延时输入 x[n’,num2str(D),’]的输出’);grid; subplot(3,1,3) stem(n,d); ylabel(‘振幅’); title(‘差信号’);grid; (1)y[n]和 yd[n]有什么关系?延时是由哪个参数控制的? (2)该系统是时不变系统吗?
2、线性时不变系统的单位冲激响应 根据(2.9)的系统,计算并绘出单位冲激响应。 clear all; N=40;
num=[2.24 2.49]; den=[1 -0.4]; y=impz(num,den,N); stem(y);
xlabel(‘时间序号’); ylabel(‘振幅’); title(‘冲激响应’);grid;
(1)修改以上程序,产生如下 LTI 系统的单位冲激响应前 45 个样本:
y[n]+0.71y[n-1]-0.46y[n-2]-0.62y[n-3=0.9x[n]-0.45x[n-1]+0.35x[n-2]+0.002x[n-3]
三、实验过程及实验结果 1.1
clear all; n=0:40; a=2;b=-3;
x1=cos(2*pi*0.1*n); x2=sin(2*pi*0.4*n); x=a*x1+b*x2; num=[2.24 2.49]; den=[1 -0.4];
y1=filter(num,den,x1); y2=filter(num,den,x2); y=filter(num,den,x); yt=a*y1+b*y2; d=y-yt;
subplot(3,1,1) stem(n,y); ylabel('振幅'); subplot(3,1,2) stem(n,yt); ylabel('振幅'); subplot(3,1,3); stem(n,d); ylabel('振幅') title('差信号')
线性仅在极小的范围内有误差
clear all; n=0:40; a=2;b=-3;
x1=cos(2*pi*0.1*n); x2=sin(2*pi*0.4*n); x=a*x1+b*x2; num=[1 0 3.2]; den=[1];
y1=filter(num,den,x1); y2=filter(num,den,x2); y=filter(num,den,x); yt=a*y1+b*y2; d=y-yt;
subplot(3,1,1) stem(n,y);
ylabel('振幅'); subplot(3,1,2) stem(n,yt); ylabel('振幅'); subplot(3,1,3); stem(n,d); ylabel('振幅') title('差信号')
线性仅在极小的范围内有误差

