[離散時間信號處理學習筆記] 4. 線性常系數差分方程
本文主要從離散時間系統的角度來討論線性常系數差分方程,不過其中也不可避免地涉及到數學方面的分析,因此在閱讀本文章之前,如果對線性常系數差分方程在數學上有一定的認識,將更有助於理解本文的相關內容。
推薦閱讀:
線性差分方程
二階線性差分方程中的根/特征值的討論
線性差分方程的叠代分析法
差分方程的零輸入響應與零狀態響應
遞推表示
累加器系統
這裏從累加器來引入差分方程這一概念。
累加器系統定義為
$y[n] = \displaystyle{ \sum_{k=-\infty}^{n}x[k] }$
從上面定義的式子可以得到
$y[n-1] = \displaystyle{ \sum_{k=-\infty}^{n-1}x[k] }$
等號兩邊相減得到
$y[n]-y[n-1] = x[n]$
從累加器的定義上來說,當前輸出與前一個輸出的差值確實為當前的輸入。換一個角度來說,當前的輸出等於前一個輸出與當前輸入的和
$y[n] = y[n-1] + x[n]$
這種當前的值的計算會用到前面已算出的值的差分方程就是差分方程的遞推表示(叠代法)。這種差分方程的遞推表示使得系統實現更為簡單,在離散時間系統的實現中經常用到。累加器系統的遞推差分方程方框圖如下表示
滑動平滑系統
滑動平滑系統的定義是
$y[n] = \displaystyle{ \frac{1}{M_1+M_2+1}\sum_{k=-M_1}^{M_2}x[n-k] }$
令$M_1=0$以使系統稱為因果的。那麽該系統的定義變為
$y[n] = \displaystyle{ \frac{1}{M_2+1}\sum_{k=0}^{M_2}x[n-k] }$
單位脈沖響應為
$h[n] = \frac{1}{M_2+1}(\delta[n] – \delta[n-M_2-1])*u[n] $
可以看到式子中分為三個部分:衰減器、樣本延遲、累加器。表示成方框圖如下
線性常系數差分方程
線性時不變系統中的一個重要的子系統是由這樣一些系統組成,這些系統的輸入$x[n]$和輸出$y[n]$滿足$N$階線性常系數差分方程,其形式為
$\displaystyle{ \sum_{k=0}^{N}a_k y[n-k]=\sum_{m=0}^{M}b_m x[n-m] }$
線性常系數差分方程的求解
線性常系數差分方程的解可以分為兩部分
$y[n] = y_p[n]+y_h[n]$
其中$y_p[n]$為特解,$y_h[n]$為齊次解,我們這裏就齊次解簡單展開說明。齊次解是假設$x[n]=0$時求得的$y[n]$,即有如下齊次差分方程
$\displaystyle{ \sum_{k=0}^{N}a_k y_h[n-k] } = 0$
在求解差分方程的過程中,我們會假設
$y_h[n] = Az^n$
然後代入上述齊次差分方程,整理後得到
$\displaystyle{ \sum_{k=0}^{N}a_k z^{-k} } = 0$
求解該方程後可以得到$N$個不同的$z$值都能滿足上述方程(沒有重根的情況下),即
$z_m,m=1,2,\cdot\cdot\cdot,N$
另外,無論$A_m$為什麽值,在把$y_h[n] = A_m z_m^n$代入到齊次差分方程都能得到滿足,因此$y_h[n]$的解為
$y_h[n] = \displaystyle{ \sum_{m=1}^{N}A_m z_m^n }$
此時$z_m$的值已知,$A_m$未知,那麽此時就需要輔助條件來求解$A_m$,輔助條件可以由一些特定$n$點上的特定$y[n]$值組成,諸如$y[-1],y[-2],\cdot\cdot\cdot,y[-N]$,然後求解一組由N個線性方程構成的方程組來求得$N$個特定系數$A_m$。
線性常系數差分方程的叠代分析法
線性常系數差分方程在單獨取出$y[n]$可以得到下面的等式
$y[n] = \displaystyle{ –\sum_{k=1}^{N}\frac{a_k}{a_0}y[n-k] + \sum_{k=0}^{M}\frac{b_k}{a_0}x[n-k] }$
如果對所有$n$的輸入$x[n]$以及一組輔助值,如$y[-1],y[-2],\cdot\cdot\cdot,y[-N]$都給定的話,那麽$y[0]$就能通過上面的式子求出,然後又能通過同樣的方法求出$y[1]$,以此類推。最終能遞推地得到任意$n$上的輸出值$y[n]$。
初始松弛條件(initial-rest condition)
本書主要關心的是LTI系統,而滿足因果性的LTI系統在未開始輸入的情況下是不會有輸出的。
證明:
LTI系統的定義為
$y[n] = \displaystyle{ \sum_{k=-\infty}^{\infty}x[k]h[n-k] }$
假設輸入$x[n]$在點$n_0$開始進行輸入,即$x[n]=0,n<n_0$,則
$y[n] = \displaystyle{ \sum_{k=n_0}^{\infty}x[k]h[n-k] }$
如果該系統是因果系統,即$h[n]=0,n<0$
$\begin{align*}
y[n] &=\left\{\begin{matrix}
\displaystyle{\sum_{k=n_0}^{\infty}x[k]h[n-k]}, &n-k\geqslant0 \\
0, &n-k<0
\end{matrix}\right. \\
&=\left\{\begin{matrix}
\displaystyle{\sum_{k=n_0}^{\infty}x[k]h[n-k]}, &n\geqslant k \\
0, &n<k
\end{matrix}\right. \\
&=\left\{\begin{matrix}
\displaystyle{\sum_{k=n_0}^{\infty}x[k]h[n-k]}, &n\geqslant k \\
0, & n_0\leqslant n<k\\
0, &n<n_0
\end{matrix}\right. \\
\end{align*}$
因此用於表征因果的LTI系統的線性差分方程也需要遵循這一條件,具體表現在輔助條件上
$if\ x[n]=0,\ n<n_0 \quad then \ y[n]=0,\ n<n_0 $
這一條件被稱為初始松弛條件。
例如:
- 如果輸入為單位躍階序列,即$x[n] = u[n]$,也就是說$x[n]=0,n<0$。此時LTI系統則要求$y[n] = 0,n<0$。
- 如果輸入序列為$x[n]=u[n-12]$,也就是說$x[n]=0,n<12$。此時LTI系統則要求$y[n]=0,n<12$。
有了初始松弛條件,就能依據該條件作為輔助條件求解線常系數性差分方程。
如果一個LTI系統是因果的,那麽該系統就滿足初始松弛條件;如果一個系統由線性常系數差分方程表征,並滿足初始松弛條件,那麽這就是一個滿足因果性的LTI系統。
$Causal ,LTI \Leftrightarrow initial\ rest$
[離散時間信號處理學習筆記] 4. 線性常系數差分方程