线性差分方程

Posted TaigaComplex求职中

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线性差分方程相关的知识,希望对你有一定的参考价值。

线性差分方程介绍

线性微分方程是连续的,即变量t是连续的,需要求的是未知函数$y(t)$;线性差分方程是离散的,变量t的取值只能为整数,需要求的是未知序列$y_t$。

差分(difference),即相邻两个数据之间的差,也就是变化量,用$\\Delta $来表示

$\\Delta y_t = y_{t+1} – y_t$

$\\Delta y_t$被定义为一阶差分,二阶差分定义如下

$\\Delta^2 y_t = \\Delta(\\Delta y_t) = \\Delta y_{t+1} – \\Delta y_t = (y_{t+2} – y_{t+1}) – (y_{t+1} – y_t) = y_{t+2}-2y_{t+1} + y_t$

如此类推,n阶差分中包含的项为$y_t,y_{t+1},…,y_{t+n}$,最高与最低项的下标相差$n$。

 

线性差分方程类比到线性微分方程的式子,

$L[y_t] = \\Delta^n y_t + A_1\\Delta^{n-1}y_t +\\cdot \\cdot \\cdot+  A_{n-1}\\Delta y_t + A_ny_t$

式子当中的$\\Delta t = 1$,因此省略了。把差分拆开后组合,得到

$L[y_t] = y_{t+n} + B_1y_{t+n-1}+ \\cdot \\cdot \\cdot + B_{n-1} y_{t+1} + B_n y_t $

同样的,最高与最低项下标相差$n$。

 

二阶线性差分方程求解例子[1]

下面的例子可以当作二阶线性差分方程求解的范例,从这些例子可以一步步深入了解线性差分方程。

 

二阶齐次线性差分方程(2nd-order Homogeneous Linear Difference Equation)

设有线性方程如下

$u_n = u_{n-1}+u_{n-2}$

其中$u_0 = 1,u_1 = 1$,求$u_n$。

 

解:

把u_n相关项移到等号左边:

$u_n – u_{n-1} –u_{n-2} = 0$

此时,等式右边为0,表明该方程为齐次(Homogeneous)。

假设:

$u_n = A\\omega ^n$

那么:

$A\\omega ^n – A\\omega ^{n-1} – A\\omega^{n-2} = 0$

等式两边同时除去$A\\omega^{n-2}$:

$\\omega^2 - \\omega - 1 = 0$

上面是一个一元二次方程,其两个根分别为:

$\\omega_1 = \\frac{1+\\sqrt{5}}{2} \\ ,\\   \\omega_2 = \\frac{1-\\sqrt{5}}{2}$

任意$A_1$代入$u_n = A_1\\omega_1^n$,都满足$u_n-u_{n-1}-u_{n-2} = 0$。

任意$A_2$代入$u_n = A-2\\omega_2^n$,都满足$u_n-u_{n-1}-u_{n-2} = 0$。

因此我们这里得到一个通解:

$\\color{red}{u_n = A_1\\omega_1^n + A_2 \\omega_2^n}$

把这个通解代入到$u_n-u_{n-1}-u_{n-2}$看是否得到0:

$(A_1\\omega_1^n + A_2 \\omega_2^n) – (A_1\\omega_1^{n-1} + A_2 \\omega_2^{n-1}) – (A_1\\omega_1^{n-2} + A_2 \\omega_2^{n-2}$

整理后,得到:

$A_1\\omega_1^{n-2}(\\omega_1^2-\\omega_1-1) + A_2\\omega_2^{n-2}(\\omega_2^2 – \\omega - 1)$

因为括号内的部分等于0,所以式子等于0。

把$\\omega_1,\\omega_2$的值代入通解,得到:

$u_2 = A_1\\left( \\frac{1+\\sqrt{5}}{2} \\right)^n + A_2\\left( \\frac{1-\\sqrt{5}}{2} \\right)^n$

 

在忽略初始条件的时候我们得到上述通解,下面我们结合初始条件来求$A_1,A_2$的值…

$\\left\\{\\begin{matrix}
u_0 = & A_1 + A_2 & = 1 \\\\
u_1 = & \\frac{A_1(1+\\sqrt{5}) + A_2(1-\\sqrt{5})}{2} & = 1
\\end{matrix}\\right.$

解得:

$\\left\\{\\begin{matrix}
A_1 &=& \\frac{1+\\sqrt{5}}{2\\sqrt{5}} \\\\
A_2 &=& -\\frac{1-\\sqrt{5}}{2\\sqrt{5}}
\\end{matrix}\\right.$

把$A_1,A_2$代入通解,得:

$u_n = \\frac{1+\\sqrt{5}}{2\\sqrt{5}}\\left( \\frac{1+\\sqrt{5}}{2} \\right)^n - \\frac{1-\\sqrt{5}}{2\\sqrt{5}}\\left( \\frac{1-\\sqrt{5}}{2} \\right)^n$

整理得到最终结果:

$u_n = \\frac{1}{\\sqrt{5}}\\left[ \\left( \\frac{1+\\sqrt{5}}{2} \\right)^{n+1} - \\left( \\frac{1-\\sqrt{5}}{2} \\right)^{n+1}\\right]$

 

二阶齐次线性差分方程II

设有线性方程如下

$u_n = pu_{n+1} + qu_{n-1}$

初始值为$u_0 = 0, u_l = 1$,并且$p+q = 1$,求$u_n$

 

解:

把所有$u_n$相关项转移到等号左边:

$pu_{n+1} – u_n + qu_{n-1} = 0$

假设:

$u_n = A\\omega^n$

得到:

$pA\\omega^{n+1} – A\\omega^n + qA\\omega^{n-1} = 0$

$p\\omega^2 – \\omega + q = 0$

$p\\omega^2 – (p+q)\\omega + q = 0$

$(\\omega-1)(p\\omega -q) = 0$

解得两个根为:

$\\omega_1 = 1 \\ , \\  \\omega_2 = \\frac{q}{p}$

得到通解:

$\\color{red}{u_n = A_1(1)^n + A_2 \\left( \\frac{q}{p} \\right)^n}$

代入$pu_{n+1}-u_n+qu_{n-1}$检查该通解是否等于0:

$\\left[pA_1(1)^{n+1}+pA_2\\left(\\frac{q}{p} \\right )^{n+1} \\right ]-\\left[pA_1(1)^{n}+pA_2\\left(\\frac{q}{p} \\right )^{n} \\right ]+\\left[pA_1(1)^{n-1}+pA_2\\left(\\frac{q}{p} \\right )^{n-1} \\right ]$

整理得到:

$A_1[p-1+q]+A_2\\left(\\frac{q}{p} \\right )^{n-1}\\left[p\\left(\\frac{q}{p} \\right )^2-\\frac{q}{p}+q \\right ]$

由于$p +q = 1$,因此上面的式子等于:

$0 + A_2\\left(\\frac{q}{p} \\right )^{n-1}\\left[ \\frac{q^2}{p} - \\frac{q}{p} + q \\right]
=A_2\\left(\\frac{q}{p} \\right )^{n-1}\\left[ \\frac{q}{p}(q-1)+q \\right ]
=A_2\\left(\\frac{q}{p} \\right )^{n-1}\\left[\\frac{q}{p}(-p)+q \\right ] =0$

 

上面已经得到了通解,下面通过初始条件求$A_1,A_2$的值…

当$q\\neq p$时:

$\\left\\{\\begin{matrix}
u_0 &= &A_1+A_2 &=0 \\\\
u_l &= &A_1+A_2\\left(\\frac{q}{p} \\right )^l &=1
\\end{matrix}\\right.$

解方程组得到

$A_1 = –A_2 = \\frac{-1}{\\left( \\frac{q}{p}\\right)^l - 1}$

那么所求的解为

$u_n = \\frac{-1}{\\left( \\frac{q}{p}\\right)^l - 1} + \\frac{ \\left( \\frac{q}{p} \\right)^n }{\\left( \\frac{q}{p}\\right)^l - 1}$

整理后得到

$u_n = \\frac{\\left( \\frac{q}{p} \\right)^n -1 }{\\left( \\frac{q}{p} \\right)^l -1}$

 

当$p = q$时:

$\\omega_2 = \\frac{q}{p} = 1 = \\omega_1$

即得到重根。此时,把根代入初始条件式子,得到

$\\left\\{\\begin{matrix}
u_0 &= &A_1+A_2 &=0 \\\\
u_l &= &A_1+A_2 &=1
\\end{matrix}\\right.$

毫无疑问,上面的式子是不成立的,因此在出现重根的时候,表明我们的初始假设$u_n = A\\omega^n$是错的,所以需要尝试其它的假设:

$u_n = (A_1+A_2n)\\omega^n$

把该假设的式子代入差分方程得到:

$\\begin{align*}
0
&=pu_{n+1}-u_n+qu_{n-1} \\\\
&=p(A_1+A_2(n+1))\\omega^{n+1} + (A_1+A_2n)\\omega^n + q(A_1+A_2(n-1))\\omega^{n-1}\\\\
&=p(A_1+A_2(n+1))\\omega^2 + (A_1+A_2n)\\omega + q(A_1+A_2(n-1))\\\\
&=p(A_1+A_2n+A_2)\\omega^2 + (A_1+A_2n)\\omega + q(A_1+A_2n-A_2)\\\\
&=A_1(p\\omega^2-\\omega+q) + A_2n(p\\omega^2-\\omega+q) + A_2(p\\omega^2-q)
\\end{align*}$

可以发现原来的重根$\\omega = 1$可以使得上面等式成立,因此$\\omega=1$就是新假设的根。因此通解为

$\\color{red}{u_n = (A_1+A_2n)(1)^n}$

现通过初始条件求$A_1$、$A_2$

$\\left\\{\\begin{matrix}
u_0 &= &A_1+A_2\\times 0 &=0 \\\\
u_l &= &A_1+A_2\\times l &=1
\\end{matrix}\\right.$

解得:

$\\left\\{\\begin{matrix}
A_1 =0 \\\\
A_2 = \\frac{1}{l} 
\\end{matrix}\\right.$

代入通解得到

$u_n = \\frac{n}{l}$

 

二阶非齐次线性差分方程(2nd-order Inhomogeneous Linear Difference Equation)

设有线性方程如下:

$v_n = 1+pv_{n+1}+qv_{n-1}$

其中$v_0 = v_l = 0$,$p+q = 1$

 

解:

把所有$v$相关项移到等号左边,其余项移到等号右边:

$pv_{n+1} – v_n + qv_{n-1} = -1$

如果等号右边为0,那么该方程就是齐次的(Homogeneous),如我们前面两小节求解的方程,否则该方程就是非齐次的(Inhomogeneous),如我们这一小节求解的方程。

在求解非齐次方程的时候,首先我们假设该方程是齐次的,那么就能得到:

$\\color{red}{v_n = A_1(1)^n + A_2\\left(\\frac{q}{p}\\right)^n} \\qquad provided \\quad p\\neq q$

 

不过由于该方程实际上是非齐次的,所以我们应该加上一个附加项:

$v_n = \\color{red}{A_1(1)^n + A_2\\left(\\frac{q}{p}\\right)^n} + \\color{blue}{f(n)}$

上述的$v_n$理应使得$pv_{n+1} – v_{n} + qv_{n-1} = -1$成立。

那么把上述$v_n$代入原方程,得到:

$\\begin{align*}
pv_{n+1}-v_n+qv_{n-1}
&=p\\left\\{A_1(1)^{n+1}+A_2\\left(\\frac{q}{p}\\right )^{n+1}+f(n+1) \\right \\} \\\\
&-\\ \\ \\left\\{A_1(1)^{n}+A_2\\left(\\frac{q}{p}\\right )^n+f(n) \\right \\}\\\\
&+q\\left\\{A_1(1)^{n-1}+A_2\\left(\\frac{q}{p}\\right )^{n-1}+f(n-1) \\right \\} \\\\
&=pu_{n+1} - u_n + qu_{n-1} + pf(n+1) - f(n) + qf(n-1)\\\\
&= pf(n+1) - f(n) + qf(n-1)\\\\
&=-1
\\end{align*}$

剩下的只有等式左边的$f(n)$相关项以及等式右边的多项式。$f(n)$展开的一般形式为

$\\displaystyle{ \\sum_{k=0}^{m}B_kn^k  = B_{0} + B_1n+B_2n^2+\\cdot\\cdot\\cdot+B_mn^m}$

实际上$f(n)$需要根据等式右边的多项式进行选择,如:等式右边的多项式最高次项为$n^2$,那么则可以假设$f(n) = a+bn+cn^2$。而本例子中,等式右边为常数-1,那么我们可以假设:

$\\color{blue}{f(n) = a}$

即有

$pf(n+1) – f(n) + qf(n-1) = pa -a+qa = -1$

因此

$a = \\frac{-1}{p-1+q}$

由于有初始条件$p+q = 1$,因此$a = \\frac{-1}{p-1+q}$不存在,这就表明$f(n) = a$假设不成立。接下来可以假设:

$\\color{blue}{f(n ) = a + bn}$

$\\begin{align*}
&\\  \\quad pf(n+1)-f(n)+qf(n-1) \\\\
&=p(a+b(n+1))-(a+bn)+q(a+b(n-1)) \\\\
&=a(p-1+q)+bn(p-1+q)+b(p-q)\\\\
&=b(p-q)\\\\
&=-1
\\end{align*}$

表明$a$可以取任意值,我们取$a = 0$;$b = \\frac{-1}{p-q}$,这需要$p\\neq q$。

 

如果$p = q$,则上面的假设不成立,那么需要进一步假设:

$\\color{blue}{f(n) = a + bn + cn^2}$

$\\begin{align*}
&\\ \\quad pf(n+1)-f(n)+qf(n-1)\\\\
&=p(a+b(n+1)+c(n+1)^2)-(a+bn+cn^2)+q(a+b(n-1)+c(n-1)^2) \\\\
&=a(p-1+q)+bn(p-1+q)+b(p-q) + cn^2(p-1+q)+cn(2-2)+c(p+q)\\\\
&=0+0+0+0+0+c(p+q)\\\\
&=c \\\\
&=-1
\\end{align*}$

表明$a,b$可以取任意值,我们取$a = 0,b=0$;$c = -1$,这是当$p=q$的情况。

综合上述结果:

$\\left\\{\\begin{matrix}
v_n &= &\\color{red}{A_1+A_2\\left(\\frac{q}{p} \\right )^n} - \\color{blue}{\\frac{n}{p-q}} &,&p\\neq q \\\\
v_n &= &\\color{red}{A_1+A_2}-\\color{blue}{n^2} &,&p=q
\\end{matrix}\\right.$

最后就是根据初始条件求出$A_1,A_2$了(略)。

 

 

二阶线性差分方程的表达及其求解方法

本节的目的在于通过上述例子总结出二阶线性差分方程求解的步骤,看完上面的例子就能理解各个步骤的意义了。

 

一般的二阶线性差分方程的表达式

二阶线性差分方程的一般表达式如下:

$ay_{t+2} + by_{t+1} + cy_t = x(t) \\qquad t\\in N^+$

一般来说,等式右边多为常数。

$ay_{t+2} + by_{t+1} + cy_t = d$

当$d=0$时,当前方程为齐次(homogeneous),否则为非齐次(inhomogeneous)。

 

线性差分方程的解的结构

线性差分方程的解分为两个部分:

$y(t) = y_h(t) + y_p(t)$

其中 $y_h(t)$为通解(general solution),又称为齐次解(homogeneous solution);$y_p(t)$称为特解(particular solution)。

 

二阶线性差分方程的求解过程

二阶齐次线性差分方程

求解齐次线性差分方程得到的解被称为通解,又称为齐次解

  1. 假设

    $y_t = A\\omega^t$

  2. 把该假设代入原差分方程,整理后得到一元二次方程:

    $a\\omega^2+b\\omega+c = 0$

  3. 解一元二次方程得到两个根:

    $\\omega_{1,2} = \\frac{-b\\pm\\sqrt{b^2-4ac}}{2a}$

  4. 如果两个根不相等,则

    $y_t = A_1\\omega_1^t + A_2\\omega_2^t$

  5. 如果两个根相等(重根),则

    $y_t = (A_1+A_2n)\\omega^t$

  6. 通过初始条件求出$A_1,A_2$。

 

二阶非齐次线性差分方程

非齐次线性差分方程的解分为通解以及特解两部分。

  1. 令等式右边等于0,得到二阶齐次线性差分方程:

    $ay_{t+2} + by_{t+1} + cy_t = 0$

    求解该齐次方程,得到通解$y_h(t)$。

  2. 观察方程等式右边的式子,进行相应特解假设,我们这里的等式右边为常数$b$,因此假设特解为:

    $y_p(t) = D$

    如果等式右边为$t^k$,我们按理应该假设

    $y_p(t) = D_0t^k + D_1t^{k-1}+\\cdot\\cdot\\cdot+D_k$

  3. 如果上述假设不成立,则需要在重新对特解进行假设,假设时增加一个阶:

    $y_p(t) = D \\Rightarrow y_p(t) = D_0t+D_1$

  4. 重复上一步骤直到得到正确的特解。

  5. 通解与特解相加得到$y_t$:

    $y(t) = y_h(t) + y_p(t)$

  6. 通过初始条件求出$A_1,A_2$。

 

上面讨论的是非重根以及重根的情况,实际上$\\omega = \\frac{-b\\pm\\sqrt{b^2-4ac}}{2a}$可能会由于$b^2-4ac<0$而得到共轭复数的情况,二阶线性差分方程中的根/特征值的讨论中有较为详细的描述。

 

N阶线性差分方程的表达与解[2]

表达式

N阶线性差分方程表示呈如下形式:

$A_0y_t+A_1y_{t-1}+\\cdot\\cdot\\cdot+A_{N-1}y_{t-N+1}+A_Ny_{t-N} = B_0x_t+B_1x_{t-1}+\\cdot\\cdot\\cdot+B_{M-1}x_{t-M+1}+B_{M}x_{t-M}$

或写成:

$\\displaystyle{ \\sum_{k=0}^{N}A_ky_{t-k} = \\sum_{r=0}^{M}B_rx_{t-r} }$

 

齐次解

等式左边用于求齐次解(通解),在求齐次解的时候我们会假设$y_t = C\\omega^t$,然后代入原方程求根$\\omega$。

如果求得有N个不同的$\\omega$,即$\\omega$非重根时

$y_t = C_1\\omega_1^t + C_2\\omega_2+\\cdot\\cdot\\cdot+C_N\\omega_N^t = \\displaystyle{\\sum_{k=1}^NC_k\\omega_k^t}$

如果求得的根中有K个相同的根$\\omega_1$,即K次重根时

$\\begin{align*}y_t &= (D_1t^{K-1}+D_2t^{K-2}+\\cdot\\cdot\\cdot+D_{K-1}t+D_K)\\omega_1^t+C_2\\omega_2^t+C_3\\omega_3^t+\\cdot\\cdot\\cdot+C_{N-K+1}\\omega_{N-K+1}^t \\\\ &= \\sum_{m=1}^{K}D_mt^{K-m}\\omega_1^t+\\sum_{n=2}^{N-K+1}C_n\\omega_n^t \\end{align*}$

如果求得的根中存在共轭根$\\omega_{1,2}=h\\pm iv = Re^{\\pm j\\theta}$,那么$y_t$的会存在虚数部分,虚数部分为:

$C_1(h+iv)^t+C_2(h-iv)^t = C_1R^tcos(t\\theta)+iC_2R^tsin(t\\theta)$

如果有K个重复的共轭根,那么虚数部分如下:

$(P_1t^{K-1}+P_2t^{K-2}+\\cdot\\cdot\\cdot+P_{K-1}t+P_{K})R^tcos(t\\theta)+i(Q_1t^{K-1}+Q_2t^{K-2}+\\cdot\\cdot\\cdot+Q_{K-1}t+Q_{K})R^nsin(t\\theta)$

 

特解

等式右边的项用于求特解。$x(t)$在离散时间信号系统中被称为激励(excitation),一般为已知式子,把激励代入等式右边即得到自由项,不过似乎我们常见的右边的项都是比较简单的。自由项存在多种形式,不同的形式对应不同特解。

  1. 自由项为$t^k$的多项式

    如果$\\omega \\neq 1$,特解为:

    $y_p(t) = D_0t^k+D_1n^{k-1}+\\cdot\\cdot\\cdot+D_k$

    如果有K个$\\omega = 1$的重根

    $y_p(t) = t^K(D_0t^k+D_1n^{k-1}+\\cdot\\cdot\\cdot+D_k)$

  2. 自由项为$a^n$

    如果$a \\neq \\omega$,

    $y_p(t) = Da^t$

    如果有K个重根$\\omega_1$,且$a = \\omega_1$

    $y_p(t) = (D_0t^K+D_1n^{K-1}+\\cdot\\cdot\\cdot+D_K)a^t$

  3. 自由项为$sint\\theta$或者$cost\\theta$

    $y_p(t) = D_1sint\\theta+D_2cost\\theta$

  4. 自由项为$\\alpha^t(A_1sint\\theta+A_2cost\\theta)$

    如果$\\omega \\neq \\alpha e^{\\pm i\\theta}$

    $y_p(t) = \\alpha^t(D_1sint\\theta+D_2cost\\theta)$

    如果$\\omega = \\alpha e^{\\pm i\\theta}$

    $y_p(t) = t^K\\alpha^t(D_1sint\\theta+D_2cost\\theta)$

 

※这一小节关于特解部分可能会有些错误,不过由于这并不是我们要讨论的重点,所以不去求证了…

 

 

参考文献:

[1] CAM.AC.UK : Difference Equations

[2] CCNU:常系数线性差分方程的求解

以上是关于线性差分方程的主要内容,如果未能解决你的问题,请参考以下文章

数字信号处理线性常系数差分方程 ( “ 线性常系数差分方程 “ 与 “ 线性时不变系统 “ 关联 | 根据 “ 线性常系数差分方程 “ 与 “ 边界条件 “ 确定系统是否是 线性时不变系统方法 )

数字信号处理线性常系数差分方程 ( 线性常系数差分方程 与 边界条件 总结 ) ★★★

数字信号处理线性常系数差分方程 ( 根据 “ 线性常系数差分方程 “ 与 “ 边界条件 “ 确定系统是否是 “ 线性时不变系统 “ 案例 | 根据 “ 线性时不变系统 “ 定义证明 )

[离散时间信号处理学习笔记] 4. 线性常系数差分方程

数字信号处理线性常系数差分方程 ( 根据 “ 线性常系数差分方程 “ 与 “ 边界条件 “ 确定系统是否是 “ 线性时不变系统 “ 案例 | 使用递推方法证明 )

线性差分方程