嚴(yán)宇翔,胡伍生
(東南大學(xué) 交通學(xué)院,江蘇 南京 211189)
在大氣層當(dāng)中,對(duì)流層中的水汽,扮演著很多重要的角色。所以對(duì)水汽的監(jiān)測(cè),顯得尤其重要。與傳統(tǒng)的水汽監(jiān)測(cè)手段不同,全球衛(wèi)星導(dǎo)航定位系統(tǒng)(GNSS)能夠提供24 h、全天候的觀測(cè)[1-2]。GNSS觀測(cè)值受對(duì)流層中水汽的影響,在信號(hào)接收的過(guò)程中,會(huì)產(chǎn)生一個(gè)濕延遲[3-4]。不少學(xué)者研究了利用GNSS信號(hào)濕延遲對(duì)水汽進(jìn)行三維重建的技術(shù)[5-7]。例如,王維等[5]根據(jù)上海地區(qū)GPS綜合應(yīng)用網(wǎng),研究了代數(shù)重構(gòu)技術(shù)中的3種算法,即ART、MART和SIRT,實(shí)驗(yàn)結(jié)果表明,這3種重構(gòu)算法具有可行性,而且收斂較快,結(jié)果比較可靠。何林等[6]采用香港SatRef的觀測(cè)數(shù)據(jù),對(duì)Kaczmarz算法及其變種,共8種常見(jiàn)的代數(shù)重構(gòu)算法進(jìn)行了對(duì)比分析,實(shí)驗(yàn)發(fā)現(xiàn),效果最好的是CAV算法,再者是Cimmino算法,另外驗(yàn)證了松弛因子的重要性。
以上算法都屬于代數(shù)重構(gòu)算法,需要設(shè)置合適的松弛因子,但是一般都是通過(guò)經(jīng)驗(yàn)選取,設(shè)置方法很有技巧性。而粒子群算法是一種智能的優(yōu)化算法[8],自適應(yīng)強(qiáng),能夠自動(dòng)搜索出最優(yōu)的松弛因子,可以解決松弛因子憑經(jīng)驗(yàn)選取的弊端。
本文的目的是利用層析技術(shù)來(lái)重建匈牙利地區(qū)水汽折射性(refractivity)的三維分布,因?yàn)樗恼凵湫?refractivity)與水汽的密度密切相關(guān)[9-10]。本文提出利用粒子群優(yōu)化算法選擇松弛因子,根據(jù)匈牙利地區(qū)的GNSS 網(wǎng)絡(luò)的數(shù)據(jù)進(jìn)行層析實(shí)驗(yàn),并用粒子群算法方法優(yōu)化松弛因子解算層析方程,得到水汽折射性的三維分布,并與探空數(shù)據(jù)進(jìn)行比對(duì),驗(yàn)證方法的可行性。
有很多學(xué)者詳細(xì)闡述了GNSS 對(duì)流層水汽層析的原理,本節(jié)的有關(guān)公式參考自文獻(xiàn)[5-7]。
濕延遲的產(chǎn)生原因是對(duì)流層大氣折射,定義為:
(1)
其中:nw是濕折射指數(shù) (wet refractive index);Nw是濕折射性(wet refractivity)。
將式(1)離散化,用矩陣的形式表達(dá),得到:
Ax=b.
(2)
其中:A為系數(shù)陣;x表示網(wǎng)格水汽密度;b為斜路徑濕延遲的106倍。然而式(2)代表的線性方程是稀疏的,用一般的最小二乘算法無(wú)法解算。
代數(shù)重構(gòu)(ART)算法中,Kaczmarz算法是最為經(jīng)典的算法之一[11]。Kaczmarz代數(shù)重構(gòu)算法屬于迭代算法,每一次迭代都包含有m步,每一步處理A中的一行射線。
代數(shù)重構(gòu)(ART)算法原理:
(3)
其中,i代表第i行,x是用向量的形式表示的濕折射性;<·>代表向量的內(nèi)積;λ是松弛因子。
粒子群優(yōu)化(PSO)算法[12-14]的算式為:
(4)
(5)
(6)
PSO優(yōu)化松弛因子層析算法步驟如下:
第1步:初始化m個(gè)粒子;
第2步:粒子狀態(tài)的第一次更新, 根據(jù)式(4)和式(5);
第3步:根據(jù)式(6)計(jì)算粒子群中個(gè)體的適應(yīng)度值 , 得到個(gè)體最優(yōu)與群體最優(yōu)位置;
第4步:根據(jù)式(4)和式(5),對(duì)粒子狀態(tài)進(jìn)行更新;
第5步:重復(fù)第3步;
第6步:達(dá)到迭代終止條件,獲得最優(yōu)松弛因子λ;
第7步:將松弛因子代入式(3),進(jìn)行層析解算;
第8步:獲得水汽折射性三維分布。
本文把傳統(tǒng)的代數(shù)重構(gòu)算法記作ART算法,把粒子群優(yōu)化的代數(shù)重構(gòu)算法記作PSOART算法。
實(shí)驗(yàn)數(shù)據(jù)采用根據(jù)匈牙利地區(qū)GNSS網(wǎng)絡(luò),由區(qū)域數(shù)值天氣模型 (ALADIN/AROME模型)生成的虛擬斜路徑延遲(SWD)數(shù)據(jù)[15-16]。數(shù)據(jù)時(shí)間為2017-09-11, 6~12 UTC。實(shí)驗(yàn)的這個(gè)時(shí)段,恰逢中歐地區(qū)的一段暴雨天氣。一共生成了579條有效SWD射線。圖1描述了GNSS站點(diǎn)的分布情況。利用匈牙利的兩個(gè)城市Budapest和Szeged的探空站數(shù)據(jù),為層析解算提供初始值和驗(yàn)證值。探空氣球的發(fā)射時(shí)間分別是在2017-09-11的0:00 和 12:00。
格網(wǎng)的劃分情況如圖1所示。
圖1 格網(wǎng)的平面圖
坐標(biāo)系統(tǒng)的建立和三維格網(wǎng)的參數(shù)如下:原點(diǎn):45.5° N, 15.5° E, 0 m;最大邊界:49.0° N, 23.0° E, 12 000 m;X軸正方向:north;Y軸正方向:east;Z軸正方向:up;緯度方向格子長(zhǎng)度:皆為0.7°;經(jīng)度方向格子長(zhǎng)度:皆為1.5°;垂直方向格子長(zhǎng)度:1 000 m, 1 000 m, 1 000 m, 2 500 m, 2 500 m, 4 000 m;三維格網(wǎng)總格子數(shù):5×5×6。
本文分別采用傳統(tǒng)的代數(shù)重構(gòu)算法(ART)和粒子群優(yōu)化的代數(shù)重構(gòu)算法(PSOART)進(jìn)行實(shí)驗(yàn),并做對(duì)比研究。具體實(shí)驗(yàn)過(guò)程如下:
根據(jù)第1節(jié)中介紹的原理,構(gòu)建三維水汽層析模型。Budapest 0:00的探空數(shù)據(jù)作為層析解算的初始值,實(shí)驗(yàn)中,GNSS信號(hào)射線的總數(shù)為579條,將其分為訓(xùn)練集和測(cè)試集兩部分。訓(xùn)練集是利用其中450條來(lái)建立水汽層析模型,并采用粒子群算法優(yōu)化松弛因子對(duì)層析方程進(jìn)行解算,這450條射線的選擇是隨機(jī)的。剩下的GNSS信號(hào)射線作為測(cè)試集,用來(lái)對(duì)模型進(jìn)行檢驗(yàn)。另外,層析的結(jié)果也與Szeged?的探空數(shù)據(jù)進(jìn)行了比較。
實(shí)驗(yàn)過(guò)程是用MATLAB編寫(xiě)的相關(guān)程序進(jìn)行操作,其中利用了代數(shù)重構(gòu)的相關(guān)工具包[11]。程序運(yùn)行了多次。因?yàn)橛脕?lái)建立水汽層析模型的450條射線是隨機(jī)選擇的,所以每次程序的運(yùn)行結(jié)果都有小差異,但十分地穩(wěn)定。本文在第3節(jié)中,對(duì)其中一次的層析實(shí)驗(yàn)結(jié)果進(jìn)行了展示。
層析重建水汽三維分布的結(jié)果如圖2所示,圖中展示的是每一層的水汽折射性(refractivity)。
圖2 水汽折射性三維分布
其中,PSOART算法中,應(yīng)用PSO優(yōu)化松弛因子的過(guò)程如圖3所示。當(dāng)?shù)K止時(shí),獲得最優(yōu)的適應(yīng)度值,并得到此時(shí)對(duì)應(yīng)的松弛因子,λ= 0.290 8。
圖3 松弛因子優(yōu)化過(guò)程
粒子群優(yōu)化算法是一種隨機(jī)搜索方法,圖3顯示,當(dāng)達(dá)到迭代終止條件時(shí),迭代次數(shù)為60,可見(jiàn)計(jì)算效率較高。
為了驗(yàn)證層析模型的精度,對(duì)根據(jù)層析模型重建的射線SWD值和原始的射線SWD值進(jìn)行了殘差分析。圖4展示了殘差序列的情況。其中包括訓(xùn)練集和測(cè)試集的結(jié)果兩部分。
圖4 原始SWD與模型重建SWD 的殘差分析
結(jié)果表明,層析PSOART算法的殘差序列整體比ART的要好,說(shuō)明PSOART算法重建的SWD與原始的 SWD吻合度更好。另外,給出層析重建相對(duì)誤差的計(jì)算結(jié)果,如表1所示。
相對(duì)誤差的計(jì)算公式為:
(7)
表1 層析重建SWD的相對(duì)誤差
結(jié)果表明,采用ART的層析結(jié)果,訓(xùn)練集和測(cè)試集的平均相對(duì)誤差分別為2.2%和2.3%。而PSOART的訓(xùn)練集和測(cè)試集的平均相對(duì)誤差分別為1.5%和1.6%,精度得到明顯提升,驗(yàn)證了本文算法的可靠性。
本實(shí)驗(yàn)還將層析結(jié)果與探空的數(shù)據(jù)進(jìn)行了比較。因?yàn)锽udapest的探空數(shù)據(jù)被用來(lái)作為初始值,于是用Szeged的探空數(shù)據(jù)與層析結(jié)果進(jìn)行驗(yàn)證。由于只獲得了0:00 UTC和12:00 UTC時(shí)刻的探空數(shù)據(jù),并沒(méi)有獲得9:00 UTC的探空數(shù)據(jù),因此將層析結(jié)果與這兩個(gè)時(shí)刻分別進(jìn)行了比較。
圖5表明Szeged地區(qū)的GNSS水汽層析結(jié)果與探空數(shù)據(jù)的吻合情況,可以看到無(wú)論是ART還是PSOART,層析重建的水汽折射性廓線與0:00的探空廓線,吻合度良好,與12:00的探空廓線有些許偏離,驗(yàn)證本文算法的可靠性。
圖5 層析與探空的廓線比較
水汽在氣象研究中有很多重要的應(yīng)用。本文使用層析技術(shù)重建了匈牙利地區(qū)的三維水汽分布。分別比較了傳統(tǒng)的ART算法和本文提出的用PSO優(yōu)化松弛因子的PSOART算法。通過(guò)匈牙利地區(qū)的GNSS網(wǎng)絡(luò)進(jìn)行層析實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,無(wú)論是平均相對(duì)誤差,還是回歸方程,PSOART算法的結(jié)果都要優(yōu)于傳統(tǒng)的ART算法。因此可知,使用粒子群優(yōu)化的水汽層析是可行的,相比傳統(tǒng)的ART算法,精度得到明顯的提高,并且算法智能,自適應(yīng)性強(qiáng)。