信號與系統——差分方程的建立及經典解法

離散系統的解析描述--建立差分方程

1. 差分的定義

移位序列:設有序列f(k), 則… , f(k+2), f(k+1), f(k-1),f(k-2),… 等稱爲f(k)的移位序列。

差分運算:

一階前向差分定義:

一階後向差分定義:

我們主要用後向差分,簡稱爲差分

差分的線性性質:

二階差分定義:

m階差分:

2. 差分方程

差分方程:由未知輸出序列項與輸入序列項構成的方程。

差分方程的一般形式:

方程的階數:未知變量最高序號與最低序號的差。

由n階差分方程描述的系統稱爲n階系統。

描述LTI離散系統的是線性常係數差分方程

差分方程的模擬框圖

1.基本部件單元

數乘器

加法器


遲延單元(移位器)

2. 由框圖建立差分方程

例 已知框圖,寫出系統的差分方程

差分方程的經典解法

1.遞推迭代

差分方程本質上是遞推的代數方程,若已知初始條件和激勵,利用迭代法可求得其數值解

注:迭代法一般不易得到解析形式的(閉合)解。

2.經典法

與連續系統的微分方程經典解類似,差分方程的解由齊次解yh(k)和特解yp(k)兩部分組成,即 

齊次解是對應齊次差分方程的解:

由特徵根可以設定齊次解的函數形式。

特解的函數形式與激勵的函數形式有關。

3.齊次解的常用函數形式

4.特解的常用函數形式

說明:差分方程的齊次解也稱爲系統的自由響應,特解也稱爲強迫響應。本例中由於|λ|>1,故自由響應隨k的增大而增大。

解:(1) 列出y(k)的差分方程

零輸入響應的定義和求解

1.零輸入響應的定義

零輸入響應:離散系統的激勵爲零,僅由系統的初始狀態引起的響應,用yzi(k)表示。

2.初始值的確定

3.求解步驟

(1)求特徵方程的特徵根;

(2)設定齊次解;

(3)直接代入初始狀態 yzi(-l), l = 0, 1, … n-1, 求待定係數

零狀態響應的定義和求解

1.零狀態響應的定義

零狀態響應:系統的初始狀態yzs(-l)=0, l =1, 2, … n,爲零,僅由激勵 f(k)引起的響應,用yzs (k)表示。

2.初始值的確定

由迭代法求出初始值yzs(j), j= 0, 1, …n-1

3.求解步驟

(1)設定齊次解;

(2)設定特解,代入方程求解;

(3)代入初始值,求待定係數

斐波那契(Fibonacci)數列問題

假設每對大兔子每個月生一對小兔子,而每對小兔子一個月後長成大兔子,而且不會死亡。在最初一個月內有一對大兔子,問第n個月時一共有幾對兔子.

解:每一個月中兔子的對數就構成了一個離散的時間信號。列出描述該問題的差分方程。

設y(k)爲第k個月兔子對的數量。

第k個月兔子無論大小,在第k+1個月都會成爲大兔子,從而在第k+2 個月中生出y(k)個小兔子

第k個月兔子無論大小,在第k+1個月都會成爲大兔子,從而在第k+2 個月中生出y(k)個小兔子

而第k+2月中兔子的總個數y(k+2)等於大兔子對數y(k+1)與小兔子對的數量y(k)之和;

y(k+2)=y(k+1)+y(k)

這就是斐波那契數列問題的差分方程,即:

y(k+2)-y(k+1)-y(k)=0

簡單空運控制系統

一個空運控制系統,它用一臺計算機每隔一秒鐘計算一次某飛機應有的高度x(k),另外用一雷達同時對此飛機實測一次高度y(k),把應有高度x(k)與一秒鐘前的實測高度y(k-1)相比較得一差值,飛機的高度將根據此差值爲正或爲負來改變。試建立該問題的差分方程。 


解:從第k-1秒到第 k秒這1秒鐘內飛機升高爲

K[x(k) - y(k -1)] = y(k) - y(k -1) 

整理得:

y(k) +(K -1)y(k -1) = Kx(k)

RC取樣輸入和輸出關係

一個RC電路如左圖所示,輸入端加取樣電壓信號e(t),如右圖所示。試寫出此係統每隔時間T輸出電壓u(k)與輸入信號間關係的差分方程。

解:取樣信號e(t)表示爲如下衝激序列之和

上式即爲描述輸出離散電壓與輸入取樣電壓間關係的差分方程。

Matlab求解離散系統的零狀態響應

在零狀態時,MATLAB工具箱提供了一個filter函數,計算由差分方程描述的系統響應,其調用格式爲

其中b=[b0,b1,b2,…, bm],a=[a0,a1,a2,…, an]分別是差分方程左右的係數向量,f表示輸入序列,y表示系統的零狀態響應。注意輸出和輸入序列的長度相同。

解:

R=51; %輸入信號長度

d=rand(1,R)-0.5; %產生離散隨機數

k=0:R-1;

s=2*k.*(0.9.^k);

f=s+d;

figure(1);stem(k,f,‘.’); %顯示加噪信號

M=5;b=ones(M,1)/M; % f 前係數均爲1/M

a=1;

y=filter(b,a,f); %求零狀態響應

figure(2);

stem(k,y,‘.’); %顯示平滑濾波結果 

NUM448

個人博客式公衆號

用心每一天

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章