由于現(xiàn)實世界中隨機(jī)噪聲無處不在,使得基于確定性信號處理方法獲得的結(jié)果缺乏理論基礎(chǔ),因而基于統(tǒng)計量的信號處理方法獲得了越來越多的研究和應(yīng)用。從統(tǒng)計角度出發(fā),對混有隨機(jī)噪聲的隨機(jī)過程進(jìn)行處理的過程,通常稱為估計;而從某種意義上,使得估計結(jié)果最接近被估計量的真值,則稱為最優(yōu)估計。顯然,這里的最優(yōu)是有特定意義的,即從不同的角度出發(fā),都可以稱為最優(yōu),但各個最優(yōu)結(jié)果之間可能會有一定的差異。Kalman濾波就屬于一種最優(yōu)估計算法,即在線性、無偏和最小方差意義下,其估計結(jié)果是最優(yōu)的。由于Kalman濾波算法適合于多輸入、多輸出線性系統(tǒng)的狀態(tài)估計,自1960年提出后,迅速成功地應(yīng)用于Appollo登月飛行器的組合導(dǎo)航系統(tǒng)中,隨后在導(dǎo)航、天文、模式識別、金融、氣象和統(tǒng)計等涉及隨機(jī)信號處理的領(lǐng)域得到了廣泛應(yīng)用。
因此,在很多課程中都涉及到Kalman濾波的內(nèi)容,例如在圖像處理中;而在組合導(dǎo)航領(lǐng)域中,由于Kalman濾波內(nèi)容極為重要,研究人員將Kalman濾波內(nèi)容作為主要內(nèi)容,撰寫了很多教材,為讀者提供了扎實掌握Kalman濾波原理和應(yīng)用方法的基礎(chǔ)。但是,目前的相關(guān)教材存在比較突出的問題,包括:①
理論性過強(qiáng),使得初學(xué)者容易陷入復(fù)雜推導(dǎo)的困境中,不利于對基本原理的快速掌握和對重要內(nèi)容的循序漸進(jìn)的學(xué)習(xí);② 部分內(nèi)容陳舊,未將Kalman濾波相關(guān)最新成果包括在內(nèi),學(xué)習(xí)的時效性不強(qiáng);③ 缺乏編程指導(dǎo),算法實現(xiàn)過程是理解和掌握算法的關(guān)鍵,但是,目前的大部分教材均未提供相關(guān)例程,不利于初學(xué)者理解和掌握相關(guān)算法,以及后續(xù)的應(yīng)用。
針對這些問題,筆者以初學(xué)者為對象,編寫了這本從入門到精通的Kalman濾波算法理論和應(yīng)用方法的教材,在加強(qiáng)基本原理講解的同時,配備了適當(dāng)?shù)睦},解釋和示范有關(guān)原理和方法;針對大部分濾波算法,基于MATLAB語言,配備了示范編程代碼,為初學(xué)者提供可以執(zhí)行的算法程序,以加深對有關(guān)算法的理解,后續(xù)也可以基于這些例程進(jìn)行更復(fù)雜的應(yīng)用編程。
本教材主要包括如下幾個部分:
① 緒論和相關(guān)基礎(chǔ)部分。這部分由第1~3章組成,其中:第1章主要介紹估計的定義和Kalman濾波的發(fā)展歷史,建立最優(yōu)估計的基本概念;第2章主要介紹本教材用到的向量、矩陣和隨機(jī)過程等相關(guān)的數(shù)學(xué)知識,為后續(xù)的算法學(xué)習(xí)奠定數(shù)學(xué)基礎(chǔ);第3章主要介紹線性系統(tǒng)的相關(guān)內(nèi)容,主要包括建模方法、離散化方法、可觀性、可控性和誤差傳播方程等,是Kalman濾波建模的基礎(chǔ)。
② Kalman濾波算法部分。這部分由第4~8章組成,其中:第4章主要介紹包括最小二乘算法、最小方差算法、極大似然算法、極大驗后算法和Wiener濾波等主要的最優(yōu)估計算法,建立了最優(yōu)估計算法的總體架構(gòu);第5章主要介紹離散Kalman濾波算法和連續(xù)Kalman濾波算法,并給出了離散Kalman濾波算法的基本應(yīng)用方法;第6章主要介紹當(dāng)不滿足標(biāo)準(zhǔn)Kalman濾波算法條件時的解決方法,其中包括有色噪聲建模和白化處理、序貫處理、信息濾波、平方根濾波和次優(yōu)濾波等,這些處理方法是Kalman濾波算法走向應(yīng)用的關(guān)鍵;第7章介紹Kalman濾波算法性能分析的方法,包括次優(yōu)協(xié)方差分析、靈敏度分析、誤差預(yù)算、穩(wěn)定性分析和可觀測度分析等,是進(jìn)行算法性能評估和設(shè)計的關(guān)鍵;第8章主要介紹幾種典型非線性濾波算法,包括擴(kuò)展Kalman濾波算法、基于Unscented變換的Kalman濾波算法和粒子濾波算法,是進(jìn)行非線性濾波的基礎(chǔ)。
③ Kalman濾波算法在組合導(dǎo)航中的應(yīng)用部分。這部分內(nèi)容在第9章中進(jìn)行了詳細(xì)介紹,其中以捷聯(lián)慣性導(dǎo)航系統(tǒng)和衛(wèi)星導(dǎo)航系統(tǒng)的組合為例,對慣性導(dǎo)航解算、狀態(tài)建模、量測建模和濾波算法構(gòu)建等進(jìn)行了全面介紹,并給出了編程示范。
在本教材中,每章均配備了一定量的習(xí)題,供讀者課后鞏固有關(guān)知識點。在有關(guān)算法介紹部分,對大部分算法配備了例程,讀者可以參考有關(guān)程序編制自己的算法程序。本書免費配備程序源代碼、課件和部分習(xí)題答案,可通過關(guān)注公眾號北航理工圖書回復(fù)2843獲取下載地址。詳見封底。
本教材在編寫過程中得到了碩士生高意峰和武雨霞的大力幫助,在此深表感謝!
北京航空航天大學(xué)出版社聯(lián)合MATLAB中文論壇( http://www.ilovematlab.cn)為本書設(shè)立了在線交流版塊,地址: http://www.ilovematlab.cn/forum-272-1.html,歡迎廣大讀者在此交流。
由于作者水平有限,教材中難免有不當(dāng)之處,歡迎讀者批評指正,勘誤地址:http://www.ilovematlab.cn/thread-562064-1-1.html。
作 者
2018年11月
第1章
緒 論 1
1.1 最優(yōu)估計 1
1.1.1 估計的定義 1
1.1.2 最優(yōu)估計的定義 3
1.1.3 最優(yōu)估計的一般架構(gòu) 4
1.2 Kalman濾波的發(fā)展歷史 5
1.2.1 最小二乘算法 5
1.2.2 Wiener濾波算法 5
1.2.3 Kalman濾波算法 6
1.2.4 非線性濾波算法 7
1.3 本教材所包括的內(nèi)容 9
1.4 MATLAB軟件簡介 9
1.4.1 軟件界面簡介 9
1.4.2 常用的操作命令 10
1.4.3 m文件 11
1.4.4 繪 圖 12
習(xí) 題 15
第2章
數(shù)學(xué)基礎(chǔ) 16
2.1 向 量 16
2.1.1 表示法 16
2.1.2 基本運算方法 16
2.2 矩 陣 18
2.2.1 表示法 18
2.2.2 基本運算方法 18
2.3 向量矩陣運算 21
2.3.1 二次型 21
2.3.2 定21
2.3.3 范 數(shù) 22
2.3.4 梯度運算 23
2.4 最小二乘算法 24
2.5 概 率 26
2.6 隨機(jī)變量 28
2.6.1 概率分布函數(shù) 28
2.6.2 概率分布密度函數(shù) 28
2.6.3 聯(lián)合概率分布函數(shù) 28
2.6.4 聯(lián)合概率分布密度函數(shù) 28
2.6.5 隨機(jī)變量的變換 29
2.6.6 獨立隨機(jī)變量和的分布 31
2.6.7 統(tǒng)計特性 34
2.6.8 常用的分布 36
2.6.9 隨機(jī)向量的正交投影 41
2.7 隨機(jī)過程 42
2.7.1 定 義 42
2.7.2 隨機(jī)過程的統(tǒng)計特性 43
2.7.3 平穩(wěn)性 43
2.7.4 各態(tài)歷經(jīng)性 44
2.7.5 功率譜密度函數(shù) 46
2.7.6 白噪聲 49
2.7.7 Gauss過程 52
2.7.8 Markov過程 53
2.7.9 隨機(jī)游走 56
2.7.10 偽隨機(jī)信號 56
習(xí) 題 65
第3章
線性系統(tǒng) 68
3.1 系統(tǒng)分類 68
3.2 控制系統(tǒng)的數(shù)學(xué)模型 69
3.2.1 連續(xù)系統(tǒng) 69
3.2.2 離散系統(tǒng) 70
3.2.3 連續(xù)系統(tǒng)狀態(tài)空間方程的建立方法 70
3.2.4 連續(xù)狀態(tài)空間方程的解 76
3.2.5 離散狀態(tài)空間方程的建立方法 78
3.2.6 連續(xù)狀態(tài)方程的離散化方法 79
3.3 可觀性和可控性 81
3.3.1 可觀性 81
3.3.2 可控性 82
3.4 誤差分析 83
3.4.1 協(xié)方差 83
3.4.2 誤差傳播 85
3.5 常見的隨機(jī)誤差模型 89
3.5.1 狀態(tài)增廣 89
3.5.2 隨機(jī)常數(shù) 89
3.5.3 隨機(jī)游走 90
3.5.4 隨機(jī)斜坡 91
3.5.5 指數(shù)型自相關(guān)函數(shù)的隨機(jī)過程 92
習(xí) 題 92
第4章
最優(yōu)估計算法 95
4.1 最小二乘估計算法 95
4.1.1 LS估計算法 95
4.1.2 WLS估計算法 97
4.1.3 RLS估計算法 98
4.2 最小方差估計 101
4.2.1 最小方差估計算法 101
4.2.2 估計偏差特性 102
4.2.3 Gauss分布時的最小方差估計 102
4.3 線性最小方差估計 109
4.3.1 估計算法 110
4.3.2 線性特性 111
4.3.3 正交投影定理 111
4.4 極大驗后估計 113
4.5 極大似然估計 113
4.6 Wiener濾波 115
習(xí) 題 117
第5章 Kalman濾波算法 120
5.1 遞推濾波器 121
5.2 離散Kalman濾波算法
121
5.2.1 系統(tǒng)建模 121
5.2.2 算法推導(dǎo) 122
5.2.3 算法總結(jié) 123
5.2.4 正交投影法推導(dǎo) 126
5.3 離散Kalman濾波使用方法
??132
5.3.1 初值的確定 132
5.3.2 Pk( )計算公式 133
5.3.3 離散化 133
5.3.4 系統(tǒng)模型中有確定性項 136
5.3.5 狀態(tài)噪聲與量測噪聲相關(guān) 136
5.4 連續(xù)Kalman濾波算法
139
5.4.1 系統(tǒng)模型 139
5.4.2 算法推導(dǎo) 140
5.4.3 Riccati方程求解 142
習(xí) 題 149
第6章 Kalman濾波應(yīng)用技術(shù) 152
6.1 有色噪聲152
6.1.1 白噪聲和有色噪聲 152
6.1.2 有色噪聲的白化處理方法 152
6.2 有色噪聲時的Kalman濾波算法 177
6.2.1 系統(tǒng)噪聲為有色噪聲 177
6.2.2 量測噪聲為有色噪聲 178
6.3 序貫處理 185
6.3.1 量測噪聲方差陣為分塊對角陣 185
6.3.2 量測噪聲方差陣為非分塊對角陣 187
6.4 信息濾波 190
6.5 濾波發(fā)散的抑制 191
6.5.1 現(xiàn)象及原因 191
6.5.2 衰減記憶法 193
6.5.3 限定記憶法 194
6.6 平方根濾波 195
6.6.1 Potter算法 196
6.6.2 Carlson算法 198
6.7 UD分解算法 199
6.8 自適應(yīng)濾波算法 201
6.8.1 輸出相關(guān)法 201
6.8.2 新息估計法 203
6.8.3 Sage
Husa算法 204
6.9 次優(yōu)濾波 204
6.9.1 狀態(tài)刪減 205
6.9.2 常增益 206
6.9.3 狀態(tài)解耦 206
習(xí) 題 207
第7章 Kalman濾波性能分析209
7.1 協(xié)方差分析 209
7.1.1 次優(yōu)濾波性能分析 209
7.1.2 誤差預(yù)算分析 210
7.1.3 靈敏度分析 216
7.1.4 Monte
Carlo仿真 218
7.2 穩(wěn)定性分析 223
7.2.1 穩(wěn)定性的定義 223
7.2.2 充分條件 224
7.3 可觀測度分析 225
習(xí) 題 229
第8章
非線性濾波基礎(chǔ) 231
8.1 EKF算法 231
8.2 UKF算法 235
8.2.1
Unscented變換 235
8.2.2 SUT變換 236
8.2.3 濾波算法 237
8.3 PF算法 242
8.3.1 遞推Bayes估計 242
8.3.2 Monte
Carlo模擬 243
8.3.3 重要性采樣 243
8.3.4 序貫重要性采樣 244
8.3.5 重采樣 246
8.4 改進(jìn)的PF算法 247
8.4.1 通用算法 247
8.4.2 優(yōu)化重采樣算法 248
8.4.3 改進(jìn)的粒子濾波算法 248
習(xí) 題 253
第9章 GPS/INS組合導(dǎo)航 256
9.1 INS導(dǎo)航解算 256
9.1.1 陀螺儀簡介 256
9.1.2 加速度計簡介 257
9.1.3 常用坐標(biāo)系 258
9.1.4 導(dǎo)航解算 258
9.2 GPS定位測速原理 266
9.2.1 定位原理 266
9.2.2 測速原理 266
9.2.3 精度因子 267
9.3 GPS/INS組合導(dǎo)航方法 269
9.3.1 組合模式 269
9.3.2 系統(tǒng)建模 270
9.3.3 量測建模 274
9.3.4 濾波算法 275
習(xí) 題 280
參考文獻(xiàn) 282