利用系統的輸入輸出資料來確定描述系統行為的數學模型,是現代控制理論中的一個分支。系統分析是根據輸入函數和系統特性來確定輸出信號的特徵;系統控制是根據系統的特性設計控制輸入,使輸出滿足某種預先規定的要求。而系統辨識是從系統的輸入輸出來確定系統的動態特性,因此它是上述兩個問題的反問題。系統辨識有3個要素:①選定一個模型集{M},一般可根據先驗知識或觀察輸入輸出資料的特徵征確定。②有一組(或相當數量)輸入輸出數據。③一個優良性準則函數J(y,yM),它是系統輸出y與模型輸出yM的一個泛函或某種誤差函數。系統辨識就是在模型集{M}中利用輸入輸出數據,根據優良性準則選出一個模型,作為系統的數學模型,或根據噪聲的有界性或噪聲功率的有界性,確定一個包含系統參數的參數集合或包含真系統的集合模型,後一種稱集元辨識

  系統辨識包括結構辨識、參數辨識(又稱參數估計)、集元辨識、辨識算法及其收斂性、辨識誤差估計、未建模動態估計、輸入信號和采樣間隔設計以及模型證實等。

  系統結構的選擇是一個困難問題,它主要取決於對系統已有的知識和應用模型的目的。當已知系統是線性時,結構選擇就歸結為對模型階的辨識。如果模型的結構已知,剩下的問題就是參數估計,即通過實驗數據確定模型中的未知參數。由於實驗數據總有誤差,因此參數估計常用統計方法。

  辨識目的 通過辨識建立數學模型通常有4個目的:

  ①估計具有特定物理意義的參數。有些表征系統行為的重要參數是難以直接測量的,需要通過能觀測到的輸入輸出數據,用辨識的方法去估計那些參數。

  ②仿真。仿真的核心是要建立一個能模仿真實系統行為的模型。用於系統分析的仿真模型要求能真實反映系統的特性。用於系統設計的仿真則強調設計參數,能正確地符合它本身的物理意義。

  ③預測。這是辨識的一個重要應用方面,目的是用系統的可測量的輸入和輸出去預測系統輸出的未來的演變。例如氣象預報,洪水預報,太陽黑子預報,市場價格的預測,河流污染物含量的預測等。隻要預測誤差小就是好的預測模型,對模型的結構及參數則很少再有其他要求。

  ④控制。為瞭設計控制系統就需要知道描述系統動態特性的數學模型,建立這些模型的目的在於設計控制器。建立什麼樣的模型合適,取決於設計的方法和準備用的控制策略以及控制的效果。

  辨識過程 辨識是一個反復迭代的過程,基本步驟如圖:從實驗設計起到模型證實,如果不符合要求必須重新做實驗收集數據進入下一個循環,直至所求得的模型符合要求為止。

辨識過程框圖

  先驗知識和建模目的 辨識首先考慮先驗知識和建模的目的。先驗知識是指關於系統運動規律、數據以及其他方面的已有知識。這些知識對選擇模型的結構,設計實驗和決定辨識方法等都具有重要的作用。如可以從基本的物理定律(牛頓定律,基爾霍夫定律,物質守恒定律等)去確定模型結構,建立所研究的變量之間的關系。如果這方面的知識是完備的,模型的結構和參數便可以確定。在空間技術的應用中建立飛行器的動力學模型就是一個例子,但在多數情形下卻很難做到這一點。這時先驗知識雖然不能完全確定模型,但是在模型結構(也就是辨識中的模型類)的選擇上仍然是一個重要因素。此外,對參數變化范圍的確定,初值的選取,對數據的必要限制,以及對模型的證實等方面,先驗知識都是最重要的依據。建模的目的對於確定模型的結構和辨識方法也有重要意義。在估計具有特定物理意義的參數時,主要考慮模型的參數值與真實的參數值是否一致。在建立預測模型時,隻需要考慮預測誤差;在建立仿真模型時,就要根據實用的要求去決定仿真的深度;而對於設計控制系統的模型,不同的控制目的可選擇不同的模型類。

  實驗設計 辨識的基礎是輸入和輸出數據,數據來源於對系統的實驗和觀測。設計實驗的目標之一是要使所得到的數據能包含系統更多的信息。實驗設計主要解決輸入信號、采樣區間、預采樣濾波器的設計等。

  模型結構 指辨識問題中所選擇的模型類中的數學模型M的表達形式,例如一般的動態模型中:

x= f( x, u, θ) y= g( x, u, λ) 函數 fg的形式就是模型的結構。

  除線性系統的結構可以通過輸入輸出數據進行辨識外,一般的模型結構主要通過先驗知識來得到。

  參數估計 在知道模型的結構後,模型中可能還會有一些參數的值是未知的,例如前面所舉的動態模型中的向量θλ。用輸入輸出數據去確定這些參數值就是參數估計。實際的測量都是有誤差的,所以參數估計以統計方法為主。對於給定的輸入輸出數據(在某種實驗下取得的)和參數估計算法,能否得到唯一的參數估計值,就是可辨識性問題。

  參數估計算法按執行的方式可分為一次完成算法和遞推算法。一次完成算法是根據全部數據得到參數的估計。遞推算法則用不斷更新的數據在原有的估計基礎上,遞推地修正估計。這種算法適合在線應用。在參數模型中若參數估計越接近參數真值,模型將越充分描述實際系統。

  模型證實 按照優良性準則指標去評價由本組數據獲得的模型時,模型表現出良好的性能是毫不奇怪的。真正的檢驗應該是這個模型是否有能力描述來自同一系統產生的新數據,這便是模型證實問題。造成新數據與模型不相符的原因主要有3個方面:模型集(模型的結構)選擇不當;實驗數據誤差過大或由於實驗條件限制,數據的代表性太差;辨識算法存在問題(例如沒有考慮必要的約束)。

  模型是否適用與建模的目的緊密相關,所以很難得出統一的模型證實方法,而是應該根據問題的性質采取不同的方法。模型證實的主要方法有兩類:①利用先驗知識是適用性檢驗的一條重要途徑。有一些模型從數據的擬合上看不出問題,但是根據對模型已有的知識卻可以斷定模型是否適用。②利用數據在同一模型集中或在不同的模型集中進行比較。在得到模型後常常用一組不同於辨識時用的數據去檢驗模型的精度。如果檢驗的結果有過大的誤差,則可能存在兩個問題:辨識用的數據缺乏代表性或所選的模型集不合適。

  應用 凡是需要通過實驗數據確定數學模型和估計參數的場合都可利用辨識技術,辨識技術已經推廣到工程和非工程的許多領域,如化學化工過程、核反應堆、電力系統、航空航天飛行器、生物醫學系統、社會經濟系統、環境系統、生態系統等。適應控制系統是辨識在控制系統中的應用。