离散系统时域分析实用程序
- 格式:doc
- 大小:229.13 KB
- 文档页数:8
离散系统时域分析实用程序姓名:(所在单位)指导老师:[摘要]:研究离散系统时域分析,给出有差分方程描述的离散系统和由采样数据描述的输入信号,写出系统的处置条件,用时域迭代的方法求离散系统的响应信号,并用mathematica软件编程实现这一过程。
研究发现,对于系统的输入信号是由一组无明显规律的实数,并且数据量较大时,应用时域迭代编程实现更为有效更为快捷。
[关键词]:差分方程,离散系统是与分析,mathematica编程Discrete system analysis of time domain practicalprocedures()Tutor:Abstract:The discrete system analysis of time domain, a difference equation are given the discrete system and describe of the sampling data to describe the input signal, write the disposal system conditions, with the method of discrete time domain iteration of the system; the response signal, and mathematica software programming realize this process. Research found that for the input signal system is composed of a set of real Numbers no obvious rule, and large amount of data, the application of the programming iteration time domain more effectively more quickly.Key words:Difference equation,discrete system analysis of time domain,Mathematicaa programming目录引言 (2)1 离散系统时域分析理论基础 (2)1.1 零输入响应与零状态响应 (2)1.2 单位序列响应 (3)1.3 用Z变换的方法解h(k) (3)2 mathematica软件编程思路 (4)3 离散系统时域分析实用实例 (5)4 结语 (7)参考文献 (7)引言随着数字技术和计算机技术的飞速发展,鉴于离散系统在精度、抗干扰能力和可集成化等诸方面,比连续系统具有更大的优越性,作为其他应用技术的铺垫,因此原来对连续信号和系统的研究问题,越来越多地转化为对离散信号和系统的处理。
通信和计算机设备等数字化的高科技产品渗透于人们的生活、学习、工作等等方面,这样,对于离散系统的分析、研究、改进成为了必不可少的课题。
离散系统的响应问题是求解和分析离散系统的基础理论问题。
是我们深入分析线性时不变离散系统的基础。
离散系统的求解方法有代数法、Z 域解法、频域解法和本课题所研究的时域法。
本文分析求解的离散系统的输入不是有规律的序列,而是一组无明显规律的实数集合,并且数据量N 较大,利用时域迭代的方法分析不借助任何变换而直接求解,直观准确。
根据差分方程,用时域迭代的方法解出零输入相应y zi (k ),找出系统的单位序列相应h (k ),并与输入信号做卷积得到零状态响应。
这种方法是用逐次带入来求解的,方法概念清楚,简单,对于低阶的系统手工操作就可以解出,但当数据量N 大于3以上时,计算量比较大。
利用计算机运算速度快、适合做重复性操作的特点,使用mathematica 软件编程实现这一过程,则更方便快捷。
作为理论上的研究,此课题虽然简单,但其在基础上的意义和用途确实不错的,为进一步深入研究奠定基础。
例如在通信、计算机、自动化等工程领域方面都离不开对各类离散系统的分析处理,其中必定涉及输入信号由大量无规律数据描述的实例。
在未来的“数字化”工业发展进程中,此课题的研究方法将有更加广泛的深入的应用。
1 离散系统时域分析理论基础1.1 零输入响应与零状态响应设LTI 系统的激励为),(k f 响应为),(k y 描述系统的后向差分方程的一般形式可写为()()()()()()10101211(1),(2),...,()n m m ny k a y k a y k n b f k b f k b f k m y y y n ααα--+-++-=+-++--=-=-= (1.1a)式中a j 、αj (j =0,1,...,n -1)、b i (i =0,1,...,m )都是常数,设f (k )是在当k =0时刻加于系统。
上式可简写为()()0,(),1~nmn jm i l j i ay k j b f k i y l l n α--==-=--==∑∑ (1.1b)(1.1) 式描述的离散系统的完全响应可以分解为零输入响应y zi (k )和零状态响应y zs (k )。
零输入响应y zi (k )由方程()()()0101=-++-+-n k y a k y a k y n (1.2)和初值条件决定。
为解y zi (k )要先解(1.2)式对应的一元n 次代数方程(手工根本没法完成),又称为(1.2)式的特征方程00111=++++--a a a n n n λλλ (1.3)设(1.3)式有n 个单根()n j j ,,2,1 =λ,则系统零输入响应y zi (k )为()∑==nj k j j zi C k y 1λ (1.4)式中各系数C j 由初始条件确定。
将初始条件带入方程(1.4),解n 元一次代数方程组可以得到C j ,最终求得y z i (k ),而这手工是无法完成的。
零状态响应y zs (k )由原方程和零初始条件确定,即()()()()()()101011(1)0,(2)0,...,()0zs n zs zs m m y k a y k a y k n b f k b f k b f k m y y y n --+-++-=+-++--=-=-=方程的完全响应是零状态响应与零输入响应的叠加,即zi zs ()()()y k y k y k =+ (1.5)1.2 单位序列响应令f (k )=δ(k ),则y zs (k )=h (k )。
根据公式(1.1),对于n 阶系统,可以得到h (k )满足()()∑∑=-=--=-mi i m nj jn i k b j k h aδ (1.6)令只有δ(k )作用时,系统的单位序列响应是h 1(k ),满足方程()()k j k h anj j n δ=-∑=-01(1.7)由于单位序列δ(k )仅在k =0处等于1,而在k >0时为零,因而在k >0时,系统的单位序列响应与该系统的零输入响应的函数形式相同。
这样就可以把求单位序列响应的问题转化为求方程齐次解的问题。
则方程(1.7)可写成齐次方程()m n j k h a njj >=-∑,01 (1.8)根据LTI 系统的线性和时不变性,可知()()∑=--=mi i m i k h b k h 01 (1.9)从因果系统的初始状态h (k )=0,k =-1,-2,...,-N ,带入方程(1.7),递推出最高序数k =M 的N 个初始条件,则可得到方程(1.8)的解。
然后由初始条件中补齐h (0)~h(m -1)这M 个值,从而解的单位冲击响应h (k )。
1.3 用Z 变换的方法解h (k )如前所述,描述n 阶LTI 系统的后向差分方程为()()∑∑=-=--=-mj jm n i i n j m f bi n y a 0(1.10)设f (k )是在当k =0时刻加于系统,其零状态响应的像函数为Y ZS (Z ),由于y zs (k )=0,n<0和f(k)=0,n<0,对方程(1.11)两边分别进行Z 变换,得()()∑∑=--=--=mj j m ni ZS in Z F Z b Z Y Z a101(1.11)式中F (Z )为激励f (k )的像函数。
系统的零状态响应像函数Y ZS (Z )和激励像函数F (Z )之比称为系统函数,用H (Z )表示,则由式(1.11)得()()()∑∑=--=--==n i in mj jm ZSZaZ bZ F Z Y Z H 0101 (1.12)则由(1.12)式,零状态响应的像函数可写为()()()Z F Z H Z Y ZS = (1.13)单位序列响应h (k )是输入为δ(k )时系统的零状态响应,由于δ⇔(k )1,故由式知,单位序列响应h (k )与系统函数H (Z )的关系是()()Z H k h ⇔ (1.14)即系统的单位序列响应()h k 与系统函数()H z 是一对Z 变换对。
对(1.13)式两端取逆Z 变换,考虑到Z 变换的卷积定理,于是有()()[]()()[]()[]()[]()()k h k f Z F Z Z H Z Z F Z H Z Z Y Z k y ZS zs *=*===----1111(1.15)由上述可知,对于解零状态响应,用输入信号f (k )与单位序列响应()h k 的卷积来计算,方便快捷。
而单位序列响应的求解,用Z 变换的方法更简便。
可见k 域卷积定理将离散系统的时域分析与Z 域分析紧密相连。
2 mathematica 软件编程思路时域分析求解离散系统时,不借助任何变换而直接求解,它概念清晰,方法简单轻便,但是,当阶数N 较大时,手工操作根本没法完成。
这时,只能借助计算机运算速度快、适合做重复性操作的特点,使用mathematica 软件编程实现这一过程。
本课题主要研究的就是在软件编程环境下,实现对离散系统的分析研究。
下面,将介绍本课题研究的问题的编程思路。
根据所给描述系统的差分方程所得到的一组无明显规律的实数集合,确定其初始条件,并将其存储备用。
p=Length[x]测系统数据量长度f=Table[{k,x[[k+1]]},{k,0,Length[x]-1}];定义建立输入函数 y[-2]=0;赋值 y[-1]=1;赋值 依据求解思路性质,应用迭代的方法求解系统的零输入响应y zi (k )。
y[0]=-(5/6)y[-1]-1/6 y[-2] y[1]=-(5/6)y[0]-1/6 y[-1]For[k=2,k<p,k++, y[k]=N[-(5/6)y[k-1]-1/6 y[k-2]]] data=Table[{k,y[k]},{k,-2,p-1}];由方程中找出系统的单位冲激响应h (k ),对输入信号与h (k )取Z 变换,其乘积取逆Z 变换即零状态响应y zs (k ),即用Z 变换的方法,用输入信号与h (k )的卷积求得零状态响应。