文档详情

离散时间LTI系统分析讲义-学生.doc

发布:2018-05-06约6.41千字共15页下载文档
文本预览下载声明
实验四 离散时间LTI系统分析 实验目的 学会运用MATLAB求解离散时间系统的零状态响应; 学会运用MATLAB求解离散时间系统的单位冲激响应; 学会运用MATLAB求解离散时间系统的卷积和。 学会运用MATLAB求离散时间信号的z变换和z反变换; 学会运用MATLAB分析离散时间系统的系统函数的零极点; 学会运用MATLAB分析系统函数的零极点分布与其时域特性的关系; 学会运用MATLAB进行离散时间系统的频率特性分析。 实验原理及实例分析 1 离散时间系统的响应 离散时间LTI系统可用线性常系数差分方程来描述,即 (1) 其中,(,1,…,N)和(,1,…,M)为实常数。 MATLAB中函数filter可对式(1)的差分方程在指定时间范围内的输入序列所产生的响应进行求解。函数filter的语句格式为 y=filter(b,a,x) 其中,x为输入的离散序列;y为输出的离散序列;y的长度与x的长度一样;b与a分别为差分方程右端与左端的系数向量。 【实例1】 已知某LTI系统的差分方程为 试用MATLAB命令绘出当激励信号为时,该系统的零状态响应。 解:MATLAB源程序为 a=[3 -4 2]; b=[1 2]; n=0:30; x=(1/2).^n; y=filter(b,a,x); stem(n,y,fill),grid on xlabel(n),title(系统响应y(n)) 程序运行结果如图1所示。 2 离散时间系统的单位冲激响应 系统的单位冲激响应定义为系统在激励下系统的零状态响应,用表示。MATLAB求单位冲激响应的方法是利用控制系统工具箱提供的函数impz来实现。impz函数的常用语句格式为 impz(b,a,N) 其中,参数N通常为正整数,代表计算单位冲激响应的样值个数。 【实例2】 已知某LTI系统的差分方程为 利用MATLAB的impz函数绘出该系统的单位冲激响应。 解:MATLAB源程序为 a=[3 -4 2]; b=[1 2]; n=0:30; impz(b,a,30),grid on title(系统单位冲激响应h(n)) 程序运行结果如图3所示。 3 离散时间信号的卷积和运算 由于系统的零状态响应是激励与系统的单位冲激响应的卷积,因此卷积运算在离散时间信号处理领域被广泛应用。离散时间信号的卷积定义为 (2) 可见,离散时间信号的卷积运算是求和运算,因而常称为“卷积和”。 MATLAB求离散时间信号卷积和的命令为conv,其语句格式为 y=conv(x,h) 其中,x与h表示离散时间信号值的向量;y为卷积结果,它默认序列从n=0开始。但是如果序列是从一负值开始,即 如果nx10或nh10就不能直接采用conv函数。其卷积结果序列为,这样就可以构成一个新的卷积函数conv_m。如下所示: function[y,ny]=conv_m(x,nx,h,nh) ny1=nx(1)+nh(1);ny2=nx(length(x))+nh(length(h)); ny=[ny1:ny2]; y=conv(x,h) 值得注意的是用MATLAB进行卷积和运算时,无法实现无限的累加,只能计算时限信号的卷积。 【实例3】 已知某系统的单位冲激响应为,试用MATLAB求当激励信号为时,系统的零状态响应。 解:MATLAB中可通过卷积求解零状态响应,即。由题意可知,描述向量的长度至少为8,描述向量的长度至少为4,因此为了图形完整美观,我们将向量和向量加上一些附加的零值。MATLAB源程序为 nx=-1:5; %x(n)向量显示范围(添加了附加的零值) nh=-2:10; %h(n)向量显示范围(添加了附加的零值) x=uDT(nx)-uDT(nx-4); h=0.8.^nh.*(uDT(nh)-uDT(nh-8)); [y,ny]=conv_m(x,nx,h,nh); subplot(311) stem(nx,x,fill),grid on xlabel(n),title(x(n)) axis([-4 16 0 3]) subplot(312) stem(nh,h,fill),grid on xlabel(n),title(h(n)) axis([-4 16 0 3]) subplot(313) stem(ny,y,fill),grid on xlabel(n),title(y(n)=x(n)*h(n)) axis([-4 16 0 3]) 程序运行结果如图4所示。 【编程练习1】 试用MATLAB命令求解以下离散时间系统的单位冲激响应。 (1) (2) 已知某系统的单位冲激响应为,试用MATLAB求
显示全部
相似文档