譚玲霞,陳卯蒸,裴 鑫
(1. 中國科學(xué)院新疆天文臺,新疆 烏魯木齊 830011 ;2. 中國科學(xué)院射電天文重點(diǎn)實驗室,江蘇 南京 210008 ;3. 中國科學(xué)院大學(xué),北京 100049)
CN 53-1189/P ISSN 1672-7673
基于Python的全息測量數(shù)據(jù)校準(zhǔn)軟件*
譚玲霞1,3,陳卯蒸1,2,裴 鑫1,2
(1. 中國科學(xué)院新疆天文臺,新疆 烏魯木齊 830011 ;2. 中國科學(xué)院射電天文重點(diǎn)實驗室,江蘇 南京 210008 ;3. 中國科學(xué)院大學(xué),北京 100049)
微波全息測量是檢測拋物面面形分布的重要手段之一,數(shù)據(jù)校準(zhǔn)軟件是全息處理軟件中關(guān)鍵的一部分。以新疆天文臺南山25 m天線改造計劃為背景,在分析全息測量中引起誤差的幾個因素的基礎(chǔ)上,開發(fā)了全息測量數(shù)據(jù)校準(zhǔn)軟件。該軟件以Linux為開發(fā)平臺,使用Python語言進(jìn)行編程,其優(yōu)點(diǎn)是:具有誤差評估功能,方便用戶篩選由于誤差過大造成的數(shù)據(jù)不合理;標(biāo)準(zhǔn)化接口更易嵌入天線控制軟件中;可視化界面既能方便用戶操作,又可以直觀顯示運(yùn)行結(jié)果。軟件調(diào)試結(jié)果顯示該軟件運(yùn)行時間在2 min以內(nèi),效果良好,具有一定的實用價值,不僅對于25 m的改造至關(guān)重要,也為未來110 m射電望遠(yuǎn)鏡的技術(shù)預(yù)研創(chuàng)造了條件。
全息測量;誤差評估;Python;數(shù)據(jù)校準(zhǔn)軟件
拋物面天線由于其機(jī)械尺寸和加工精度,以及重力、溫度和風(fēng)力等因素的影響,造成面板精度降低。微波全息測量是一種高精度測量拋物面天線面形精度的重要方法。1966年,全息測量的思想首次被提出,從此這種思想被不斷應(yīng)用于實踐[1]。1977年,Scatt和Ryle等人對劍橋5 km射電天文干涉陣的4面天線進(jìn)行了全息測量,這是世界上首次成功運(yùn)用全息測量的實例。美國GBT 100 m[2],澳大利亞Parks 64 m[3],南非 26 m[4],意大利Medicina 32 m[5]以及我國昆明40 m,新疆25 m等都使用全息法進(jìn)行測量。
新疆天文臺正在進(jìn)行25 m天線的改造工作,需利用全息法對改造完成后的天線進(jìn)行面形檢測。由于全息測量系統(tǒng)受環(huán)境溫度、天氣狀況、接收機(jī)與相關(guān)機(jī)狀態(tài)、衛(wèi)星等多個因素影響,需對測量時系統(tǒng)狀態(tài)進(jìn)行評定,對測量結(jié)果進(jìn)行誤差評估,以檢測每次測量實施過程是否成功。因此,有必要開發(fā)一套方便實用的全息測量數(shù)據(jù)校準(zhǔn)軟件。本文所設(shè)計的軟件以Linux為開發(fā)平臺,以Python為開發(fā)語言,實現(xiàn)了參數(shù)輸入、圖形直觀顯示、數(shù)據(jù)合成與分離、數(shù)據(jù)校準(zhǔn)、誤差評估的功能。這款軟件對當(dāng)前正在進(jìn)行的南山25 m天線改造具有一定的意義。
軟件選擇在Linux操作系統(tǒng)下,使用Python語言進(jìn)行編程。Python是一種解釋型、面向?qū)ο?、帶有動態(tài)語義的高級程序語言[6]。它以下兩方面的優(yōu)勢[6],決定了本文選擇Python語言進(jìn)行編程:
(1)標(biāo)準(zhǔn)庫和第三方庫的支持:Python內(nèi)置了眾多預(yù)編譯并可移植的功能模塊,即標(biāo)準(zhǔn)庫。標(biāo)準(zhǔn)庫支持一系列的編程任務(wù)。此外,Python可通過自行開發(fā)的庫或眾多第三方的應(yīng)用支持軟件進(jìn)行擴(kuò)展。例如在圖形用戶界面開發(fā)方面,既有Python標(biāo)準(zhǔn)庫——TKinker,又有第三方庫——wxpython,此外還有作圖支持庫pylab、matlibplot;數(shù)值分析計算庫numpy和scipy等。
(2)程序的可移植性:Python的標(biāo)準(zhǔn)實現(xiàn)是由可移植的ANSIC編寫的,可在目前所有的主流平臺上無差別地運(yùn)行,包括Linux、UNIX、微軟的Windows和DOS、MacOS以及IBM大型機(jī)等。例如,本文所編寫的在Linux平臺下的代碼,可復(fù)制到Windows下,將編譯和運(yùn)行方式稍作改變,就可實現(xiàn)在
Windows下運(yùn)行。
軟件設(shè)計和實現(xiàn)了界面設(shè)計、數(shù)據(jù)合成與分離、數(shù)據(jù)校準(zhǔn)以及誤差評估等功能模塊,各模塊之間的關(guān)系如圖1。
2.1 界面設(shè)計
界面用Python的圖形用戶界面庫wxpython[7]實現(xiàn),提供用戶參數(shù)輸入和程序響應(yīng)兩個功能。天線控制掃描后,生成的數(shù)據(jù)存在*.bin和*.log兩類文件中,*.log文件記錄測量天線的時間、狀態(tài)、方位和俯仰信息,*.bin文件以十六進(jìn)制形式記錄相關(guān)機(jī)的時間、自相關(guān)幅度、互相關(guān)幅度和相位信息。在界面中,用戶選擇用于校準(zhǔn)的一組*.log和*.bin文件,是否進(jìn)行寬帶校準(zhǔn),校準(zhǔn)的帶寬范圍以及時間補(bǔ)償?shù)?。程序運(yùn)行結(jié)束后,選擇相應(yīng)選項可顯示誤差結(jié)果,通過按鈕控制,返回結(jié)果圖形。
2.2 數(shù)據(jù)合成與分離
測試軟件所用的數(shù)據(jù)為2005年新疆天文臺南山全息測量數(shù)據(jù),測量時,接收機(jī)和天線使用兩套不同的時間系統(tǒng),因此需對接收機(jī)時間進(jìn)行一定的補(bǔ)償,以補(bǔ)償后的時間為對比對象,將*.bin和*.log文件合并成一個文件,合并后的文件包括時間、狀態(tài)、幅度、相位、方位和俯仰信息。數(shù)據(jù)合成后,再以狀態(tài)為對比對象,將掃描數(shù)據(jù)、點(diǎn)源數(shù)據(jù)和五點(diǎn)法數(shù)據(jù)分離。
圖1 全息測量數(shù)據(jù)校準(zhǔn)流程
Fig.1 A flowchart of the data calibration process of holographic measurement
2.3 數(shù)據(jù)校準(zhǔn)模塊
該模塊是整個軟件的核心部分。主要針對指向誤差、幅度波動、相位波動導(dǎo)致的誤差進(jìn)行校準(zhǔn)。
2.3.1 指向校準(zhǔn)
(1)
(2)
上述兩式中,ΔAZ和ΔEL分別表示在觀測射電源時,方位和俯仰方向相對源的偏離,T3~T7分別表示五點(diǎn)掃描時5個狀態(tài)下天線的溫度,即觀測得到的幅度,HPBW表示半功率束寬(本文中HPBW=0.056°)。
扣除指向誤差采取以下3步:
(1)以時間和狀態(tài)為對比對象,從測量數(shù)據(jù)中尋找五點(diǎn)數(shù)據(jù)。利用(1)、(2)式計算方位和俯仰偏離。表1顯示了某次測量過程中方位和俯仰的偏離。
(2)點(diǎn)源數(shù)據(jù)的方位和俯仰分別減去與之距離最近的五點(diǎn)掃描的偏差,得到校準(zhǔn)后點(diǎn)源數(shù)據(jù)的方位和俯仰值。
(3)掃描數(shù)據(jù)的方位和俯仰分別減去對應(yīng)于點(diǎn)源數(shù)據(jù)的方位和俯仰,得到方位和俯仰的相對值。
2.3.2 幅度波動校準(zhǔn)
影響互相關(guān)幅度波動的原因主要是由于衛(wèi)星飄動、大氣波動以及接收系統(tǒng)的不穩(wěn)定[8]。因為在測量過程中,參考天線始終對準(zhǔn)衛(wèi)星,可以利用參考天線的幅度為參考,互相關(guān)幅度除以參考天線幅度,得到 “標(biāo)準(zhǔn)化” 互相關(guān)幅度[8]。在實際測量過程中,點(diǎn)源數(shù)據(jù)和掃描數(shù)據(jù)幅度均除以對應(yīng)的參考天線幅度,得到歸一化幅度,即為校準(zhǔn)后幅度。
表1 某次測量天線指向偏差Table 1 Antenna-pointing errors measured in a calibration experiment with the software package
2.3.3 相位波動校準(zhǔn)
相位波動也是由于衛(wèi)星波動、大氣飄動以及接收機(jī)的溫漂造成的。校準(zhǔn)相位的具體實現(xiàn)過程:
(1)點(diǎn)源數(shù)據(jù)相位運(yùn)用最小二乘直線擬合,得到校準(zhǔn)后相位。
(2)掃描數(shù)據(jù)相位與對應(yīng)的點(diǎn)源數(shù)據(jù)相位作差,得到殘差相位。
2.3.4 數(shù)據(jù)作圖
該模塊以python中自帶的作圖函數(shù)plt畫出校準(zhǔn)前后的點(diǎn)源數(shù)據(jù)幅度和相位圖,程序結(jié)束后,將圖形返回至用戶界面。
2.4 誤差評估模塊
此模塊主要對測量數(shù)據(jù)進(jìn)行篩選,對不滿足誤差評估條件的數(shù)據(jù),認(rèn)為數(shù)據(jù)是無效的。指向誤差、幅度波動以及相位波動導(dǎo)致的口徑面測量誤差分別有關(guān)系式[9]:
具體做法是:
(1)依據(jù)關(guān)系式(3)、 (4)、 (5),得到天線指向誤差、校準(zhǔn)前后幅度波動和相位波動誤差。
(2)設(shè)置誤差閾值。閾值的大小應(yīng)根據(jù)測量需求和測量系統(tǒng)而定,本文中設(shè)置的閾值為50μm,即天線指向、校準(zhǔn)后幅度、校準(zhǔn)后相位波動導(dǎo)致的誤差需控制在50μm之內(nèi),若其中有一項超過50μm,則認(rèn)為這組數(shù)據(jù)不合理,應(yīng)當(dāng)舍棄。誤差過大的原因可能是突發(fā)天氣情況等。
(3)程序運(yùn)行結(jié)束后,各項誤差返回用戶界面。用戶根據(jù)界面結(jié)果,判斷數(shù)據(jù)的取舍。
軟件具有可視化界面,方便用戶操作。以2005年南山25m全息法測量數(shù)據(jù)為例,顯示軟件操作方法及運(yùn)行效果。
(1)在界面右上方 “Parameter” 輸入響應(yīng)參數(shù),點(diǎn)擊 “Perform…” 按鈕,程序開始運(yùn)行,如圖2。
(2)程序運(yùn)行結(jié)束后,勾選右下方 “ErrorAnalysis” 部分選項,查看相應(yīng)誤差,點(diǎn)擊右下角 “ImageShow” 按鈕,顯示相應(yīng)圖片。圖3和圖4分別顯示了兩組文件的運(yùn)行結(jié)果。
圖2 新疆天文臺全息測量數(shù)據(jù)校準(zhǔn)界面
Fig.2Thesoftwareinterfaceofholographic-datacalibrationintheXAO
圖3 15日文件運(yùn)行結(jié)果
Fig.3TheresultsofrunningthecalibrationsoftwarepackageusingthedatafilesrecordedinMay15, 2005
圖4 19日文件運(yùn)行結(jié)果
Fig.4TheresultsofrunningthecalibrationsoftwarepackageusingthedatafilesrecordedinMay19, 2005
界面左側(cè)顯示的4幅圖片依次為校準(zhǔn)前幅度波動圖、校準(zhǔn)后幅度波動圖、相位波動圖以及殘差相位圖。觀察兩組文件的運(yùn)行結(jié)果可以看出,15日和19日文件的指向誤差分別為17.335 5μm和34.785 4μm;15日文件校準(zhǔn)前后幅度波動誤差分別為62.643 3μm和18.901 5μm,校準(zhǔn)后幅度波動誤差明顯減小,并且在閾值范圍之內(nèi);19日文件校準(zhǔn)前后幅度波動誤差分別為253.191 5μm和247.914 6μm,誤差超過閾值,是不合理數(shù)據(jù),界面左側(cè)顯示的校準(zhǔn)前后幅度的波動圖直觀地反映了這一點(diǎn);15日文件的相位波動基本符合直線,用最小二乘擬合后,得到的殘差相位也較小,計算得到的相位波動誤差為39.961 1μm;19日文件相位波動大,擬合后得到的相位殘差也大,計算得到的相位波動誤差為216.114 8μm,超過閾值。綜上,15日文件的誤差范圍在閾值之內(nèi),表明這次觀測是成功的,數(shù)據(jù)可以使用;19日文件中校準(zhǔn)后的幅度波動誤差和相位誤差超過閾值,表明這次觀測不成功,數(shù)據(jù)應(yīng)當(dāng)舍棄。
本文設(shè)計的全息測量數(shù)據(jù)校準(zhǔn)軟件以Linux為系統(tǒng)平臺,Python為開發(fā)語言,實現(xiàn)了數(shù)據(jù)校準(zhǔn)的功能,具有操作簡單、顯示直觀、擴(kuò)展性強(qiáng)等優(yōu)點(diǎn),能夠滿足當(dāng)前及未來需求。
全息測量數(shù)據(jù)校準(zhǔn)軟件是全息測量軟件系統(tǒng)的一部分,具體應(yīng)用時需將其嵌入天線控制軟件中,校準(zhǔn)完成后還需對數(shù)據(jù)進(jìn)行網(wǎng)格化、逆傅里葉變換、成圖等處理。天線控制軟件以及后續(xù)的處理軟件尚未完成,25m天線正在改造中,計劃后續(xù)開展全息測量天線控制軟件的設(shè)計工作,數(shù)據(jù)校準(zhǔn)軟件配合天線控制軟件,用于改造完成后的25m天線的測量檢測。
[1]BaarsJWM.Reductionoftroposphericnoisefluctuationsatcentimetrewavelengths[J].Nature, 1966, 212(5061): 494-495.
[2]HunterTR,SchwabFR,WhiteSD,etal.MajorimprovementstotheGreenBankTelescopesurfaceaccuracyfromconventionalholography[J].BulletinoftheAmericanAstronomicalSociety, 2010, 42: 408.
[3]ParksHolography[EB/OL].[2014-09-11].http://www.atnf.csiro.au/people/Michael.Kesteven/PKS_HOLO/pks_holo.html.
[4]BenjaminK.Holographicmeasurementofthe26mHartRAOtelescope[M].Johannesburg:UniversityoftheWitwatersrand, 2008.
[5]TarchiD,GomorettoG.HolographicmeasurementonMedicinaradiotelescopeusingartificialsatellitesat11GHz[J].AstronomyandAstrophysics, 1993, 275: 679-685.
[6]LutzM.Python學(xué)習(xí)手冊[M]. 第四版. 李軍, 劉紅偉, 譯. 北京: 機(jī)械工業(yè)出版社, 2011.
[7]RappinN,DunnR.WxPythoninaction[M].USA:ManningPublications, 2006.
[8] 王錦清. 微波全息測量高精度校準(zhǔn)方法及Ka頻段接收關(guān)鍵技術(shù)研究[D]. 上海: 中國科學(xué)院上海天文臺, 2013.
[9]ButlerB.SimulationsofsometypesofholographyerrorsforVLBAantenna[EB/OL].1999[2014-09-03].http://www.aoc.nrao.edu/~bbutler/work/nraomemos/holo_sim.ps.
A Software Package for Data Calibration of HolographicMeasurement Based on the Python
Tan Lingxia1,3, Chen Maozheng1,2, Pei Xin1,2
(1. Xinjiang Astronomical Observatory, Chinese Academy of Sciences, Urumqi 830011, China, Email: tanlingxia@xao.ac.cn;2. Key Laboratory of Radio Astronomy, Chinese Academy of Sciences, Nanjing 210008, China;3. University of Chinese Academy of Sciences, Beijing 100049, China)
Holographic measurement is an important method to detect deformation of a radio-antenna surface from the parabolic shape. A key element of holographic measurement is a data-calibration software package. To serve the plan of transforming the 25m radio antenna in the Nanshan Station of the Xinjiang Astronomical Observatory (XAO), we study contributions of different sources to measurement errors of antenna holography. We further develop a software package for data calibration of holographic measurement by using a Linux operating system as the development platform and the Python as the development language. Our package has several merits. First, it can evaluate reasonableness of errors and filter out data records of excessive errors. This provides convenience for users. Second, it has standardized interfaces that are rather easily to be embedded into the antenna control software. Third, its visual interface is user friendly and can display results visually. Our debugging of the package has shown that it is highly practical and effective. The package not only can have crucial applications in the reconstruction of the 25m antenna, but also can be used to provide technical predictions for the design of the XAO 110m radio telescope.
Holographic measurement; Error Evaluation; Python; Data-calibration software
新疆維吾爾自治區(qū)重點(diǎn)實驗室開放課題 (2015KL012);國家自然科學(xué)基金 (11253001 , U1431230);“ 西部之光” 人才培養(yǎng)計劃 (RCPY201002) 資助.
2014-09-26;修定日期:2014-10-22
譚玲霞,女,碩士. 研究方向:天文技術(shù)與方法. Email: tanlingxia@xao.ac.cn
TP311.1
A
1672-7673(2015)03-0349-06