第92章 理論水平精進(二合一)
第92章 理論水平精進(二合一)
或許是得益於剛剛重生時的那次嘗試,也或許是得益於管理能力已經從一片空白的LV0進步到了LV1。
總之隨後攻關小組的組建,以及向606所和410廠分配任務的流程要比常浩南自己的想象順利很多。
畢竟能在這些地方工作的工程師,能力和經驗都是經過考驗的,比當初帶著周書萬和張漫兩個本科生那是輕鬆多了。
在介紹計算方法和實驗內容的時候也基本上是一點就通。
所以當天晚上,負責第一部分動葉上端部前掠及下端部正彎技術研究的小組就已經開始工作了。
在分配完最後一部分任務之後,常浩南總算拖著疲憊的身子離開臨時分配給他的辦公室,準備回自己在601所的住處休息一下。
從01號原型機發生事故那天一直到現在,他就沒睡過一個囫圇覺了。
留給他要解決的問題還有不少,很多部分即便有著系統的幫助也並不簡單,哪怕已經把實驗部分剝離了出去,僅僅是數值模擬部分就花掉了他50點積分。
主要的限制自然還是這個年代的計算機水平。
他給出的各個方案所涉及的流場複雜程度不同,掠動葉分別有不同掠高以及掠角的改型,彎動葉也分別有不同彎高和彎角的改型,在沒經過系統的優化之前,每個葉片自動生成的網格數量都在90萬個左右。
別說1996年,哪怕放在2006年也絕對是一個能讓人聽到之後直接血壓拉滿的數字。
並且這件事情的壓力要比之前對機翼的設計改進更大。
在04號原型機改裝新機翼的過程中,01和03兩架原型機仍然處在馬不停蹄的試飛工作中,只是需要對試驗科目進行一定的調整。
但發動機作為飛機的心臟,出了上次那麼大的事故,甚至幾乎導致01號原型機徹底損失,在問題得到解決之前,試飛工作顯然是不可能繼續下去的。
在這上面拖延的每一天都會造成不可估量的損失。
「呼——」
常浩南呼出一口濁氣,感受著北方8月末的夜間已經有些涼爽的晚風,不由得加快了腳步。
就在他即將進入宿舍樓的時候,門口的值班門衛突然從身後叫住了他。
「常工!」
儘管常浩南並非601所的正式職工,但是大多數非技術崗的人員並搞不清這裡面比較複雜的彎彎繞,因此基本都是以x工作為代稱。
「這位同志……有事?」
聽到自己名字的常浩南停住腳步,回過頭,看到一個穿著制服,年齡看上去跟他差不多的保衛人員手裡拿著一個東西從崗亭裡面跑了出來。
「這是一封寄給您的信,因為沒寫具體的宿舍號碼,就留在門衛這了。」
「信?」
常浩南有些茫然地從對方手中接過牛皮紙信封,昏暗的光線下看不清上面寫了什麼。
他在601所這邊工作的事情並沒有太多人知道,而知道這件事的人似乎都可以直接通過楊奉畑聯繫到自己。
「麻煩您了同志。」
「沒關係,您到我這簽個字確認收到就好了。」
幾分鐘后。
伴隨著咔噠的一聲輕響,常浩南打開了宿舍門。
往常精疲力盡的回來之後,他做的第一件事就是把自己整個人拋到床上,先放空思想躺上半個小時。
但是今天,在經過上樓時候的短暫糾結之後,常浩南決定還是得看看那封信是什麼情況。
點亮檯燈。
雖然距離重生已經過去了幾個月的時間,他也逐漸習慣了這個沒有移動互聯網的時代,但真的看到一封貼著郵票的信件還是會讓他覺得有一種奇怪的感覺。
寄件人那一欄填著「中科院計算技術研究所徐洋」。
鋼筆字寫的非常漂亮。
「怪不得……」
常浩南一邊拆信一邊自言自語道。
知道他在601所工作,但沒有辦法電話聯繫以至於需要寄信的,似乎就只有對方這一個人了。
摺疊起來的信紙有將近20頁,這個厚度讓他皺了皺眉頭。
「算了,拆都拆了,看看她寫了點什麼再休息吧……」
因為展開信件的動作太快,他甚至沒來得及回憶剛剛那一瞬間自己的腦海中是否閃過了什麼狗血的劇情,就看到了第一頁最上面的標題。
《一種基於差分進化演算法改進的擴展卡爾曼濾波演算法研究》
摘要:擴展卡爾曼濾波已被廣泛地應用到工程實際等各領域,但是此演算法因假設過程雜訊固定而帶來誤差,精度不高。研究了一種改進的EKF演算法,主要通過假設過程雜訊由濾波結果和觀測結果得到,再用差分進化演算法對所得到的過程雜訊方差進行最優化選擇來提高濾波精度……
結果表明,改進的擴展卡爾曼濾波演算法減小了狀態估計偏差,獲得了比較理想的濾波效果……
「嘶——」
「我有點後悔拆開這封信了……」
常浩南揉了揉有些發脹的太陽穴,把信紙放在桌上,起身離開卧室。
他準備去泡一杯濃茶。
今天晚上的休息恐怕又要泡湯了。
……
幾小時后。
常浩南看著已經被自己用紅藍鉛筆做滿標記的信紙,以及旁邊寫的滿滿當當的筆記本,喝掉了保溫杯中最後一口苦得發澀的茶水。
只能說徐洋不愧是UCB歸國的博士,又親自參與了差分進化演算法的開發過程。
就對方表現出來的這個能力水平,說她有個跟自己同款的系統似乎也不是特別誇張。
舉一反三的能力相當強悍。
這封信的內容說起來並不算複雜:
徐洋在看過常浩南對差分進化演算法的改進之後,提出了一個新的思路,想要就這個思路跟後者探討一下可行性以及應用前景。
簡單來說,濾波是將信號中特定波段頻率濾除的操作,是抑制和防止干擾的一項重要措施,對於一切需要發射電磁信號的行為而言,幾乎都是一個必不可少的過程。
實際上,高中數學學過的最小二乘法就是一種經典的濾波方法,但是由於只考慮了測量和狀態之間的關係,這種方法的穩定性不好。
後來,針對雜訊服從高斯分佈的線性系統誕生了卡爾曼濾波法,由於其高效性和準確性,很快成為了工程中應用最廣泛的濾波方法之一。
但因為最開始的卡爾曼濾波法只適用於線性系統,因此後來又有很多人在此基礎上進行了一定擴展,以使這種廣受好評的濾波演算法也可以用於非線性系統中。
其中最典型的一種便是擴展卡爾曼濾波演算法(EKF),也就是先用泰勒級數將系統方程展開,忽略二階以及二階以上的高階項,此時非線性系統已接近線性形式,再利用標準卡爾曼濾波演算法對系統的狀態進行估計。
顯然,EKF演算法的計算量並不大,實現起來也並不困難,但EKF對強非線性系統容易產生嚴重的震蕩,甚至是發散。 到了90年代中期這會,工程界已經基本看到了EKF演算法的極限,開始琢磨對EKF演算法進行改進,或者創造一種新的卡爾曼濾波演算法出來。
而徐洋提出的這種新演算法則是在濾波之前先使用一種經過改進的差分進化演算法對過程雜訊的方差進行選擇,大大減小了狀態估計偏差,可以憑藉略大於傳統EKF演算法的計算量達到遠遠超出EKF演算法的精度。
作為一個航空工程師,常浩南此前對於濾波演算法的認識僅限於應用層面,對於基礎原理了解並不算深刻,但如果只看通過差分進化演算法對過程雜訊進行擇優的過程,應該是沒問題的。
抬起頭看了看已經泛起魚肚白的地平線,剛剛被濃茶壓制的倦意終於涌了上來。
常浩南決定休息一會之後去找幾本書完整地研究一下再做答覆。
一方面,對渦噴14壓氣機葉片外形設計的優化工作剛剛開始,這個階段的大部分工作是由606所的工程師完成的。況且因為系統的存在,常浩南寫出的代碼只要思路正確,就不需要debug,這項羨煞無數程序員的能力決定了他耗時最多的部分並不是編程,而是等待計算結果,所以有足夠的時間去做這件事。
另一方面,徐洋拿出來的這個演算法雖然對眼下的發動機改進沒什麼作用,但卻是精確制導武器捷聯導引頭、雷達數據鏈、導彈慣導系統解算等一系列技術的基礎,這些都與常浩南之前對進度比較悲觀的仿製A彈——霹靂11半主動雷達制導空空導彈密切相關。
有機無彈,一樣無法形成戰鬥力。
如果真能實現,對於解決困擾其許久的靶試精度不足問題或許會有很大幫助。
簡直是瞌睡來了送枕頭。
「或許八三工程的武器系統也能在今年以內看到希望……」
這是常浩南在入睡之前的最後一個念頭。
……
第二天早上,常浩南洗漱之後便離開宿舍,準備直奔圖書館,借上一些資料之後繼續研究徐洋提出的那個思路。
尤其是後半段與卡爾曼濾波有關的部分。
但滿懷著期待在出門的時候正好遇到了同樣剛剛打開房間門的姚夢娜。
二人對視了一眼。
「常組長怎麼也出門這麼晚啊?不用提前去準備會議材料么?」
姚夢娜把門鎖好,語氣中帶著幾分調笑的意味。
聽到這句話之後的常浩南愣了一下,然後重重地拍了一下自己的額頭。
管理者的身份是需要適應的,當了幾十年螺絲釘的他在這方面本來就經驗不足,再加上看了一晚上信件導致腦子裡全都是演算法相關的東西,導致他差點就忘了今天早上開會的事情。
這個會甚至還是昨晚上他自己提出要開的。
好在今天出門的時候被姚夢娜提醒了一下,加上整個任務分配流程都在常浩南的腦子裡,所以還不至於耽誤大事。
不過他還是控制住沒有表現出懊惱的情緒,只是用了吸了一口氣,然後指了指自己的腦袋。
「不用,知識都在腦子裡裝著,到那直接開始分配任務就行。」
……
不過,最後這場早會的持續時間還是超出了常浩南的估計。
一直到午飯時間之後,他才從圖書館找到想要的資料,回到計算中心專門給他騰出來的一間機房中。
在已經明確地知道思路可行的情況下,常浩南甚至無需動用系統,他很快從接出來的一摞資料裡面找到了自己想要的部分。
實際上,以目前的系統等級,也沒辦法同時進行兩個項目,所以這次只能靠他自己了。
又是幾乎一整個下午的時間,常浩南幾乎一直在草稿紙上進行著思路分析和計算。
「常……」
當姚夢娜推門進來準備叫他去吃晚飯的時候,只看到了一個正在奮筆疾書的背影。
遲疑片刻之後,她抿了抿嘴,輕輕地重新把門關上。
此時常浩南已經完成了整個演算過程,從旁邊抽出了一摞信紙準備寫回信。
剛剛那些草稿紙上面頗為潦草的內容,哪怕讓他自己第二天去看,恐怕都未必看得懂。
在原本的時間線上,為了解決EKF演算法線性截斷誤差大的問題發展出的產物是無跡卡爾曼濾波演算法(UKF)。
常浩南本來的想法是用這種演算法與徐洋提出的雜訊方差尋優結合,應該會是信息提取領域中一個相當重要的突破。
但隨著對演算法了解的深入,他發現UKF演算法在理論上的數學推導過程並不嚴密,並且經過幾次計算模擬之後證明在高維狀態下的數值仍然不夠穩定。
而在剛剛對卡爾曼濾波法進行學習和研究的過程中,某個瞬間的靈光一閃讓他有了個更加精妙的思路:
「惠書敬悉,利用改進的差分進化演算法使過程雜訊矩陣的方差陣自動進行調整的思路相當新穎,經過數值模擬計算后也證明其具有較好的估計精度,但EKF濾波演算法本身仍然存在部分問題……」
「由於EKF需要求取雅克比矩陣,所以對於非線性函數的具體形式必須確切知道,而無法做到黑盒封裝。」
「由於在許多實際問題中狀態方程以及觀測方程的非線性函數的導數無法求取,所以很難求取雅克比矩陣。」
「……」
「可以根據貝葉斯理論和 Spherical-Radial Cubature規則,將笛卡爾坐標系下的積分轉化為球面-徑向積分,利用一組確定性採樣點,通過非線性方程的傳播來進行狀態估計,其具體步驟如下:」
「第一步:確定濾波初值:X0=E(X),P0=E[(X0-X0)(X0-X0)^T ]……」
「第二步,計算k-1時刻的容積點,P(k-1|k-1)=S(k-1)S(k-1)^T,其中S(k-1)通過P(k-1|k-1)的喬列斯基分解得到,對於容積卡爾曼濾波演算法,點集ξ及相應的權值w為……」
時間一分一秒過去,剛開始的時候,常浩南還需要寫一會就停下了思索一會,但隨著計算過程的進行,他的整個思路變得越來越流暢,似乎進入了某種類似「心流」的狀態。
以至於當他終於在信紙最後寫下「匆此先復,余容后稟」並簽上自己的大名之後,才看到旁邊桌子上不知道誰打包回來的晚飯。
「我以前一直以為廢寢忘食是個修辭手法來著……」
常浩南想到昨天晚上忘了睡覺和今天晚上忘了吃飯的自己,笑著搖搖頭,然後把信紙疊好放到了一邊。
在打開飯盒的時候,他順便看了一眼自己的系統面板,然後愣在了原地。
【科研點數:110
理論水平:LV2(500/10000)
工程經驗:LV1(270/1000)
管理能力:LV1(100/1000)
綜合能力:LV1
正在進展的項目:1
可以開展的項目:0】
因為這是自從他重生以來,【理論水平】這一項的經驗第一次增長。
而且一次就是500點!
要知道,他手頭寫出來的這些東西,甚至還沒給第二個人看過,也還沒有產生任何實際影響。
「看來我這次好像是整了個不得了的大活啊……」
常浩南靠在椅背上,把一次性筷子掰開,揉著有些發酸的後頸自言自語道。
剛才在路上開車發晚了,我之前一直以為UKF演算法是2000年提出的,結果今天看到是1991年就提出了,所以後面關於卡爾曼濾波法改進的劇情都要調整,不過現在細綱已經重新理順,沒問題了。