上面三種算法裡,前兩種是根據點位數據,直接利用拋物線的原理反推炮位。
只是前者是純純的根據拋物線公式硬算,哪怕加入空氣阻力等因素,也是比較簡單的處理,好處是運算量小,缺點是誤差不小。
而最小二乘擬合,則是從2個點開始一直到多個點,都連續使用點位數據進行最小二乘法擬合出拋物線,點位數量越多,擬合出來的數據理論上就越準,這其實也是一種濾波技術,只是相對來說原始一些,運算量也不算大,準確度也一般。
而實際上,炮彈的飛行過程是一個非線性過程,在這個過程中,就需要用到非線性濾波技術了。
而卡爾曼濾波就是一個經典濾波算法,利用貝葉斯濾波原理對數據進行迭代,估算目標軌跡,這玩意,精度是會好一些,但可就沒前面那兩種好算了,而且對於模型質量、觀測數據數量和精度要求都比較高。
“對,我們現在手上掌握的算法,都試過了,精度比較離譜,在5個點的時候,誤差能達到千米以上級別,15個點也在百米以上。而15個點,基本上是開始接近現有雷達觀測性能的極限了,在典型炮彈飛行過程中,結合地形等因素,雷達能有效輸出的典型數據量也就這麼多。”
這個精度就基本不能用了,至於5個點以下,陶工沒說,不過高振東猜得到,5個點以下,那精度根本不能用,差到姥姥家去了,這是觀測和算法原理決定的,不是拍拍腦袋就能改變的東西。
高振東想了想,這些描述有點定性,但是還不夠定量。
“陶工,方便的話,你把現有的仿真數據發個加密電子郵件給我看看?通過防工委的郵件系統,你是有賬號的吧?”
陶工想都沒想就答應了:“好,我馬上找我們機要室的同志發一份給您,防工委的電子郵件系統賬號我沒有,不過我們單位機要室有。”
“那行,麻煩你發一下,等我看完了,我給你回一封郵件。”
就不打電話了,老跑機要室實在是太特麼麻煩了。
高振東回到辦公室,陶工的速度很快,大約十分鐘後,高振東就接到了郵件,不但有數據,還有試驗設計,數學模型等等相關材料。
高振東看着屏幕上的數據,想了很久,又在紙上做了一些計算,開始寫郵件。
大概兩個小時候後,電磁所的機要室同志轉交了一封加密郵件的打印稿給陶工,打印稿已經脫敏,甚至連對方的郵箱都看不到了。
“陶工,見字如晤。”
“看了你們的仿真,我有兩個建議”
“一是將卡爾曼濾波算法優化爲擴展卡爾曼濾波算法。”
“二是將單一算法融合起來,形成加權平均預測算法,儘量弱化不同算法在不同數據量下的弱點,以期獲得最好精度。”
“根據你們的仿真和實際情況,我考慮的加權平均預測算法設計如下.”
陶工和項目組的骨幹一字一句的看着高振東的回信,臉色漸喜。
“這位同志的第一個建議很有見地啊,利用泰勒級數展開,將非線性濾波近似轉化爲線性濾波,就能用線性的相關理論來解決非線性的問題了,這可比原來的好搞多了,至少數學工具多了很多,計算也沒那麼麻煩。”
“對對對,這雖然看起來是一個次優濾波算法,可是用在這裡卻是非常合適,還一舉解決了我們實際工程應用中計算的問題。原來直接卡爾曼濾波算起來那可不是一般的麻煩。”
“我給你講噢,這位同志厲害得一逼掉造,牛得一皮的唻!”有同志發出瞭如此淳樸的感慨。
計算機算非線性問題,那是很吃數學功底、編程功底和計算機性能的。
本來想着這個問題留到日後進行工程實現的時候才解決,現在只是仿真,就不管它了,沒想到人家順手就給辦了。
陶工這才體會到炮兵那邊說的“要啥給啥”到底代表了什麼意思。
如果不是自己記着炮兵那邊這句話,靈機一動,不但給了對方要的數據,順便還附上了算法和模型,估計人家也就沒法知道自己這邊的模型和算法有大問題,也就不會給出這個解決方案了。
嘿,值了!哪怕精度問題沒解決,就這第一條建議,就完全凸顯了人家的能力和價值。
“別吵別吵,看下一個算法設計,那個纔是專門解決我們現在算法定位精度問題的。”
“老陶,你這也太貪心了吧,哈哈,解決了一個問題還不夠啊。”
“這個纔是正主,這個纔是正主嘛。”
說起來好像也不復雜,高振東根據最小二乘擬合、擴展卡爾曼濾波各自的弱勢和優勢區,將預測算法根據點位數量進行了分段,多少點以下完全使用最小二乘擬合,多少點到多少點兩者採用變權重加權平均,多少點以上完全採用擴展卡爾曼濾波,都寫得明明白白。
最重要的是,高振東還做了兩件事,他根據數據,確定了上面兩個分界點的具體數值,而且還給出在兩個分界點之間,兩種算法權重根據點數變化的具體算法,這就讓電磁所的同志非常舒服了。
在這部分,高振東甚至還根據電磁所使用的原本的質點彈道模型,進行了擴展,給出了擴展卡爾曼濾波模型。
在這個模型裡,他除了彈道係數、重力加速度、風力、雷達誤差等常規參數之外,還引入了虛溫、空氣密度函數、阻力函數、雷達噪聲、高斯白噪聲等參數和一些以函數形式出現的參數,考慮非常周全。
可以說,高振東給的模型,直接是在原有模型的基礎上,提升了一大步,至於他怎麼知道這些,嘿嘿,一部分從草原拖拉機廠坦克火控資料裡偷學的,還有一部分是別的資料裡他回憶起來的。
這個模型其實基本上和雷達技術本身沒有一毛錢關係,但是看起來好像他又很懂的樣子。
看着這個模型,陶工和他的同志們目瞪口呆。
“陶工,這位同志是哪位搞炮的彈道專家吧?比我們這個模型,人家這個可高級太多了,我們這個只能算這個。”
這位同志一邊說,一邊伸出了一個小拇指。
“瞎打聽什麼!”陶工也吃不準高振東到底是幹啥的,反正從聽提到這位同志的隻言片語來看,好像啥都搞點兒的樣子。
“別管人家是幹什麼的,先試試能不能用!”關鍵是,自己的模型,也是人家京城工大搞炮的同志給的,誰都是專家啊,不行不行,先試試,總不能用瞪眼法,看上去誰的複雜誰就好吧,有的好公式好模型,那就是簡單到極致的。
歐拉公式:你說得對!
一羣人手忙腳亂的開始拿着高振東這個模型做仿真和計算,這花了不少時間,主要是高振東這個模型比原來的複雜太多了,修改程序挺費事兒的。
還好,等到程序調好了,這速度可就快了。
啓動程序,調用數據文件,計算機屏幕除了跳動的光標,基本靜止了。
這年頭的計算機,爲了節約資源,在工作的時候如非必要,是不會去搞回顯、過程顯示這些花裡胡笑的東西的。
過了一段時間,一張最後的誤差分析結果出現在了屏幕上,至於中間的數據,都存在存儲器裡了,顯示器上放不下。
衆人伸頭一看,全場轟動。
“哇!”
“神了!”
“牛逼!!”(破音)
誤差分析顯示,從5個點開始,這個新的模型的精度對比自己的那個老模型,就一騎絕塵。
——遙遙領先!
“5個點位的預測縱橫誤差都在200米左右,能火力覆蓋了,能火力覆蓋了!”
這個精度,用重炮火力覆蓋,效果還是能達到的,只是對於營屬或者連屬火炮來說,就力有不逮了,數量和火力都不行。
“5個點這個算個屁,你看看15個點的,不到30米,30米啊!”
如果說200米的精度以當前的火力配置,要差不多到軍屬遠程支援炮火才能搞得定的話,那30米這個精度,那可就營、連火力都能讓對方喝一壺了,如果還是用重炮的話,這個精度能讓重炮做到精確打擊。
這東西,能搞,完全能搞!
陶工是萬萬沒想到,一個電話,就完全解決了自己的算法問題。
然後,他回頭就給自己的同志來了一手回手掏:“高興吧?開心吧?這都是人家異地專家同志的功勞!接下來,我們還有硬仗!怎麼做出滿足要求的雷達來!”
不過他的人完全不給他面子:“陶工,你別掃興嘛,現在先讓我開心開心這個事情先!”
陶工聽見這個,自己都笑了起來。
他丟下開心的衆人,去給高振東打了個普通電話。
“謝謝!療效顯著!”沒說太多,主要就這一句。
“嗯,有療效就好。”高振東自己也非常高興,這個模型,可以算是他結合自己的知識,搞的原創,能起到效果,他比陶工還開心。