武汉工程大学
信号分析与处理实验一
专
业: 通信02班
学生姓名: 李瑶华
学号: 1304200113 完成时间:2016年6月1日
实验二: 离散时间系统的时域分析
一、实验目的
1.在时域中仿真离散时间系统,进而理解离散时间系统对输入信号或延迟信号进行简单运算处理,生成具有所需特性的输出信号的方法。
2.仿真并理解线性与非线性、时变与时不变等离散时间系统。
3.掌握线性时不变系统的冲激响应的计算,并用计算机仿真实现。
4.仿真并理解线性时不变系统的级联、验证线性时不变系统的稳定特性。
二、实验设备
计算机,MATLAB语言环境。
三、实验基础理论
1.系统的线性性质
线性性质表现为系统满足线性叠加原理:若某一输入是由N个信号的加权和组成的,则输出就是系统对这N个信号中每一个的响应的相应加权和组成的。设
x1(n)和x2(n)分别作为系统的输入序列,其输出分别用y1(n)和y2(n)表示,即
y1(n)?T[x1(n)],y2(n)?T[x2(n)]
若满足T[a1x1(n)?a2x2(n)]?a1y1(n)?a2y2(n)
则该系统服从线性叠加原理,或者称该系统为线性系统。 2.系统的时不变特性
若系统的变换关系不随时间变化而变化,或者说系统的输出随输入的移位而相应移位但形状不变,则称该系统为时不变系统(或称为移不变系统)。对时不变系统,若y(n)?T[x(n)],则T[x(n?m)]?y(n?m)
3.系统的因果性
系统的因果性即系统的可实现性。如果系统时刻的输出取决于时刻及时刻以前的输入,而和时刻以后的输入无关,则该系统是可实现的,是因果系统。系统具有因果性的充分必要条件为h(n)?0,n?0
4.系统的稳定性
稳定系统是指有界输入产生有界输出(BIBO)的系统。如果对于输入序列,存在一个不变的正有限值,对于所有值满足|x(n)|?M??
则称该输入序列是有界的。稳定性要求对于每个有界输入存在一个不变的正有限值,对于所有值,输出序列满足|y(n)|?K??
系统稳定的充分必要条件是系统的单位取样响应绝对可和,用公式表示
n????|h(n)|???
5.系统的冲激响应 设系统输入
x(n)??(n),系统输出 y(n)的初始状态为零,这时系统输出
用 h(n)表示,即h(n)?T[?(n)],则称 h(n) 为系统的单位脉冲响应。 对于任意输入信号 x(n) ,系统输出y(n)?T[???x(m)?(n?m)]为利用系统
m????满足叠加原理得y(n)?T[?x(m)?(n?m)]??x(m)T[?(n?m)]
m???m??? 利用系统时不变性质得到
y(n)?m????x(m)h(n?m)?x(n)?h(n)
?上式的运算关系称为卷积运算。
6.卷积的性质
1)交换律y(n)?x(n)?h(n)?h(n)?x(n) 2)结合律
y(n)?x(n)?h1(n)?h2(n)?[x(n)?h1(n)]?h2(n)?[x(n)?h2(n)]?h1(n)?x(n)?[h1(n)?h2(n)]3)分配律x(n)?[h1(n)?h2(n)]? 四、实验内容与步骤 1.离散时间系统的仿真
x(n)?h1(n)?x(n)?h2(n)
1y(n)?1)M点因果滑动平滑系统的仿真,时域表达为 MM?1k?0?x(n?k)
通过上述时域平滑系统可实现由若干个正弦信号之和所组成的信号中滤出高
频分量。据此,可以理解M点因果滑动平滑系统。
n=0:100;s1=sin(2*pi*0.34*n);s2=sin(2*pi*0.02*n);x=s1+s2; M=input('desired length of the filter ='); num=ones(1,M);y=filter(num,1,x)/M;clf;
subplot(2,2,1);stem(n,s1);axis([0,100,-2,2]); xlabel('n');ylabel('s1(n)');title('正弦序列1'); subplot(2,2,2);stem(n,s2);axis([0,100,-2,2]); xlabel('n');ylabel('s2(n)');title('正弦序列2'); subplot(2,2,3);stem(n,x);axis([0,100,-2,2]); xlabel('n');ylabel('x(n)');title('输入信号');
subplot(2,2,4);stem(n,y);axis([0,100,-2,2]); xlabel('n');ylabel('y(n)');title('输出信号'); desired length of the filter =8
2)线性与非线性离散时间系统的仿真。 简单的非线性系统实例:
y(n)?x(n)2?x(n?1)x(n?1)
n=0:100;x=cos(2*pi*0.1*n);x1=[x 0 0];x2=[0 x 0];x3=[0 0 x]; y=x2.*x2-x1.*x3;y=y(1:101);
subplot(2,1,1);stem(n,x)xlabel('n');ylabel('x(n)');title('输入信号') subplot(2,1,2);stem(n,y)xlabel('n');ylabel('y(n)');title('输出信号')
简单的线性系统实例:
y(n)?0.4y(n?1)?0.75y(n?2)?2.2403x(n)?2.4908x(n?1)?2.2403x(n?2)n=0:50;p=3;q=-4; x1=cos(2*pi*0.2*n);
x2=cos(2*pi*0.5*n);x=p*x1+q*x2;
b=[2.2403 2.4908 2.2403];a=[1 -0.4 0.75]; y1=filter(b,a,x1);
y2=filter(b,a,x2);y=filter(b,a,x); yt=p*y1+q*y2;d=y-yt; subplot(3,1,1)stem(n,y); ylabel('y1(n)');
title('T[a1x1(n)+a2x2(n)]');
subplot(3,1,2)stem(n,yt);ylabel('y2(n)'; title('a1T[x1(n)]+a2T[x2(n)]');
subplot(3,1,3);stem(n,d);xlabel('n');ylabel('y1(n)-y2(n)');title('d');