文档库 最新最全的文档下载
当前位置:文档库 › 杭电信号与系统实验离散时间系统地时域分析报告

杭电信号与系统实验离散时间系统地时域分析报告

杭电信号与系统实验离散时间系统地时域分析报告
杭电信号与系统实验离散时间系统地时域分析报告

《信号、系统与信号处理实验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]=a x1[n]+b x2[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('差信号')

线性仅在极小的范围内有误差

1.2

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);

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)yd[n]由y[n]向右平移10个单位得到,延时由参数D控制。

(2)该系统是时不变系统。y[n]经过时移后得到yd[n],差信号为0,所以是时不变系统。

2

clear all;

N=45;

num=[0.9 -0.45 0.35 0.002]; den=[1 0.71 -0.46 -0.62];

y=impz(num,den,N);

stem(y);

xlabel('时间信号');

ylabel('振幅');

title('冲激响应');

grid;

N=40;

num=[0.9 -0.45 0.35 0.002]; den=[1 0.71 -0.46 -0.62];

y2=impz(num,den,N);

x1=[1,zeros(1,N-1)];

y1=filter(num,den,x1);

y3=y2';

m=y1-y3

stem(m);

xlabel('时间信号');

ylabel('振幅');

title('冲激响应');

grid;

四、实验小结

通过这次实验,理解了离散时间的一些时域问题,再次深刻了解了线性时不变系统的一些性质,并且可以通过差值输出的信号图形来验证系统是否为时不变系统。掌握了两个matlab新

函数filter和impz的用法。

相关文档