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