数字信号处理课程设计题目:试实现线性常系数差分方程的求解学院:专业:班级:学号:组员:指导教师:题目:用Matlab 实现线性常系数差分方程求解一. 设计要求1. 掌握线性常系数差分方程的求解2. 熟练掌握Matlab 基本操作和各类函数调用 3.结合Matlab 实现线性常系数差分方程的求解二.设计原理1.差分与差分方程与连续时间信号的微分及积分运算相对应,离散时间信号有差分及序列求和运算。
设有序列f(k),则称…,f(k+2),f(k+1),…,f(k -1),f(k -2),…为f(k)的移位序列。
序列的差分可以分为前向差分和后向差分。
一阶前向差分定义为()(1)()f k f k f k ∆=+- (3.1—1)一阶后向差分定义为()()(1)f k f k f k ∆=-- (3.1—2)式中Δ和Δ称为差分算子。
由式(3.1—1)和式(3.1—2)可见,前向差分与后向差分的关系为()(1)f k f k ∆=∆- (3.1—3)二者仅移位不同,没有原则上的差别,因而它们的性质也相同。
此处主要采用后向差分,并简称其为差分。
由查分的定义,若有序列1()f k 、2()f k 和常数1a ,2a 则1122112211221112221122[()()][()()][(1)(1)][()(1)][()(1)]()()a f k a f k a f k a f k a f k a f k a f k f k a f k f k a f k a f k ∆+=+--+-=--+--=∆+∆ (3.1—4)这表明差分运算具有线性性质。
二阶差分可定义为2()[()][()(1)]()(1)()2(1)(2)f k f k f k f k f k f k f k f k f k ∆=∆∆=∆--=∆-∆-=--+- (3.1—5)类似的,可定义三阶、四阶、…、n 阶差分。
一般地,n 阶差分10()[()](1)()nn n jj n f k f k f k j j -=⎛⎫∆=∆∆=-- ⎪⎝⎭∑ (3.1—6)式中!,0,1,2,,()!!n n j n j n j j ⎛⎫== ⎪-⎝⎭ (3.1—7)为二项式系数序列f(k)的求和运算为()ki f i =-∝∑(3.1—8)差分方程是包含关于变量k 的未知序列y(k)及其各阶差分的方程式,它的一般形式可写为,(),(),,()0n F k y k y k y k ⎡⎤∆∆=⎣⎦ (3.1—9a )式中差分的最高阶为n 阶,称为n 阶差分方程。
由式(3.1—6)可知,各阶差分均可写为y(k)及其各移位序列的线性组合,故上式常写为[],(),(1),,()0G k y k y k y k n --= (3.1—9b )通常所说的差分方程是指式(3.1—9b )形式的方程。
若式(3.1—9b )中,y(k)及其各移位序列均为常数,就称其为常系数差分方程;如果某些系数是变量k 的函数,就称其为变系数差分方程。
描述LTI 离散系统的是常系数线性差分方程。
差分方程是具有递推关系的代数方程,若一直初始条件和激励,利用迭代法渴求的差分方程的数值解。
2. 差分方程的经典解一般而言,如果但输入—单输出的LTI 系统的激励f(k),其全响应为y(k),那么,描述该系统激励f(k)与响应y(k)之间关系的数学模型式n 阶常系数线性差分方程,它可写为1010()(1)()()(1)()n m m y k a y k a y k n b f k b f k b f k m --+-++-=+-++- (3.1—10a )式中(0,1,,1)j a j n =-、(0,1,,)i b i m =都是常数。
上式可缩写为()()(=1)nmn jm i n j i ay k j a f k i a --==-=-∑∑式中 (3.1—10b )与微分方程的经典解类似,上述差分方程的解由齐次解和特解两部分组成。
齐次解用()h y k 表示,特解用()p y k 表示,即()=()()h p y k y k y k + (3.1—11)a.齐次解当式(3.1—10)中的f(k)及其各移位项均为零时,齐次方程10()(1)()0n y k a y k a y k n -+-++-= (3.1—12)的解称为齐次解。
首先分析最简单的一阶差分方程。
若一阶差分方程的齐次方程为()(1)0y k ay k +-= (3.1—13)它可改写为()(1)y k ay k =--y(k)与y(k -1)之比等于-a 表明,序列y(k)是一个公比为-a 的等比级数,因此y(k)应有如下形式()()k y k C a =- (3.1—14)式中C 式常数,有初始条件确定。
对于n 阶齐次差分方程,它的齐次解由形式为kC λ的序列组合而成,将k C λ代入到式(3.1—12),得111100k k k n k n n C a C a C a C λλλλ-----++++=由于C ≠0,消去C ;且λ≠0,以k nλ-除上式,得11100n n n a a a λλλ--++++=(3.1—15)上式称为差分方程式(3.1—10)和式(3.1—12)的特征方程,它有n 个根(0,1,,)j j n λ=,称为差分方程的特征根。
显然,形式为jk j C λ的序列都满足式(3.1—12),因而它们是式(3.1—10)方程的齐次解。
依特征根取值的不同,差分方程齐次解的形式见表3—1,其中j C 、j D 、j A 、j θ等为待定常数表3—1 不同特征根所对应的齐次解0)]θ- b.特解特解的函数形式与激励的函数形式有关,表3—2列出了集中典型的激励f(k)所对应的特解()p y k 。
选定特解后代入原差分方程,求出其待定系数()j P A θ或等,就得出方程的特解。
表3—2 不同激励所对应的特解1Pk -++不等于特征根时cos()k β或sin()k βcos()sin()cos(),A j P k Q k A k e P jQ θβββθ+-=+或其中所有特征根均不等于j e β±c.全解式(3.1—10)的线性差分方程的全解是齐次解与特解之和。
如果方程的特征根均为单根,则差分方程的全解为1()=()()()nk h p j j p jy k y k y k C y k λ=+=+∑(3.1—16)如果特征根1λ为r 重根,而其余n -r 个特征根为单根时,差分方程的全解为11()=()rnr jk k j jj j p j j r y k C kC y k λλ-==+++∑∑(3.1—17)式中各系数jC 由初始条件确定。
如果激励信号是在k=0时接入的,差分方程的解适合于k ≥0。
对于n 阶差分方程,用给定的n 个初始条件y(0),y(1),…,y(n -1)就可确定全部待定系数。
如果差分方程的特解都是单根,则方程的全解为式(3.1—16),将给定的初始条件y(0),y(1),…,y(n -1)分别代入到式(3.1—16),可得1211221111122(0)(0)(1)(1)(1)(1)n p n n p n n n n n p y C C C y y C C C y y n C C C y n λλλλλλ---=++++=++++-=++++-(3.1—18)由以上方程可求得全部待定系数(0,1,,)j C j n =。
2.1零输入响应系统的激励为零,仅由系统的初始状态引起的响应,称为零输入响应,用()zi y k 表示。
在零输入条件下,式(3.1—10)等号右端为零,化为齐次方程,即()0nn jzi j ay k j -=-=∑ (3.1—25)一般设定激励是在k=0时接入系统的,在k <0时,激励尚未接入,故式(3.1—25)的几个初始状态满足(1)(1)(2)(2)()()zi zi zi y y y y y n y n -=--=--=- (3.1—26)式(3.1—26)中的y(-1),y(-2),…,y(-n)为系数的初始状态,由式(3.1—25)和式(3.1—26)可求得零输入响应()zi y k 。
2.2零状态响应当系统的初始状态为零,仅由激励f(k)所产生的响应,称为零状态响应,用 表示。
在零状态情况下,式(3.1—10)仍是非齐次方程,其初始状态为零,即零状态响应满足()()(1)(2)()0nmn jzs m i j i zs zs zs ay k j a f k i y y y n --==-=--=-==-=∑∑(3.1—30)的解。
若其特征根均为单根,则其零状态响应为1()()nk zs zsj j p j y k C y k λ==+∑ (3.1—31)式中zsj C 为待定常数,()p y k 为特解。
需要指出,零状态响应的初始状态(1),(2),,()zs zs zs y y y n ---为零为零,但其初始值(0),(1),,(1)zs zs zs y y y n -不一定等于零。
3.线性常系数差分方程3.1一个N 阶线性常系数差分方程可用下式表示:1()()()M Ni i i i y n b x n i a y n i ===---∑∑(1.4.1)或者()(),1N Miii i a y n i b x n i a==-=-=∑∑ (1.4.2)式中,x (n )和y(n)分别是系统的输入序列和输出序列,ai 和bi 均为常系数,式中y(n-i)和x(n-i)项只有一次幂,也没有相互交叉相乘项,故称为线性常系数差分方程。
差分方程的阶数是用方程y(n-i)项中i 的最大取值与最小取值之差确定的。
在(1.4.2)式中,y(n-i)项i 最大的取值N ,i 的最小取值为零,因此称为N 阶差分方程。
4. 线性常系数差分方程的求解已知系统的输入序列,通过求解差分方程可以求出输出序列。
求解差分方程的基本方法有以下三种:(1) 经典解法。
这种方法类似于模拟系统中求解微分方程的方法,它包括齐次解与特解,由边界条件求待定系数,上节已作简单介绍,这里不作介绍。
(2) 递推解法。
这种方法简单,且适合用计算机求解,但只能得到数值解,对于阶次较高的线性常系数差分方程不容易得到封闭式(公式)解答。
(3) 变换域方法。
这种方法是将差分方程变换到z 域进行求解,方法简便有效。
当然还可以不直接求解差分方程,而是先由差分方程求出系统的单位脉冲响应,再与已知的输入序列进行卷积运算,得到系统输出。
但是系统的单位脉冲响应如果不是预先知道,仍然需要求解差分方程,求其零状态响应解。
(4) 卷积法:由差分方程求出系统的h(n),再与已知的x(n) 进行卷积,得到y(n)。