基于Python的全息测量数据校准软件*
2015-03-24谭玲霞陈卯蒸
谭玲霞,陈卯蒸,裴 鑫
(1. 中国科学院新疆天文台,新疆 乌鲁木齐 830011 ;2. 中国科学院射电天文重点实验室,江苏 南京 210008 ;3. 中国科学院大学,北京 100049)
CN 53-1189/P ISSN 1672-7673
基于Python的全息测量数据校准软件*
谭玲霞1,3,陈卯蒸1,2,裴 鑫1,2
(1. 中国科学院新疆天文台,新疆 乌鲁木齐 830011 ;2. 中国科学院射电天文重点实验室,江苏 南京 210008 ;3. 中国科学院大学,北京 100049)
微波全息测量是检测抛物面面形分布的重要手段之一,数据校准软件是全息处理软件中关键的一部分。以新疆天文台南山25 m天线改造计划为背景,在分析全息测量中引起误差的几个因素的基础上,开发了全息测量数据校准软件。该软件以Linux为开发平台,使用Python语言进行编程,其优点是:具有误差评估功能,方便用户筛选由于误差过大造成的数据不合理;标准化接口更易嵌入天线控制软件中;可视化界面既能方便用户操作,又可以直观显示运行结果。软件调试结果显示该软件运行时间在2 min以内,效果良好,具有一定的实用价值,不仅对于25 m的改造至关重要,也为未来110 m射电望远镜的技术预研创造了条件。
全息测量;误差评估;Python;数据校准软件
抛物面天线由于其机械尺寸和加工精度,以及重力、温度和风力等因素的影响,造成面板精度降低。微波全息测量是一种高精度测量抛物面天线面形精度的重要方法。1966年,全息测量的思想首次被提出,从此这种思想被不断应用于实践[1]。1977年,Scatt和Ryle等人对剑桥5 km射电天文干涉阵的4面天线进行了全息测量,这是世界上首次成功运用全息测量的实例。美国GBT 100 m[2],澳大利亚Parks 64 m[3],南非 26 m[4],意大利Medicina 32 m[5]以及我国昆明40 m,新疆25 m等都使用全息法进行测量。
新疆天文台正在进行25 m天线的改造工作,需利用全息法对改造完成后的天线进行面形检测。由于全息测量系统受环境温度、天气状况、接收机与相关机状态、卫星等多个因素影响,需对测量时系统状态进行评定,对测量结果进行误差评估,以检测每次测量实施过程是否成功。因此,有必要开发一套方便实用的全息测量数据校准软件。本文所设计的软件以Linux为开发平台,以Python为开发语言,实现了参数输入、图形直观显示、数据合成与分离、数据校准、误差评估的功能。这款软件对当前正在进行的南山25 m天线改造具有一定的意义。
1 软件开发环境
软件选择在Linux操作系统下,使用Python语言进行编程。Python是一种解释型、面向对象、带有动态语义的高级程序语言[6]。它以下两方面的优势[6],决定了本文选择Python语言进行编程:
(1)标准库和第三方库的支持:Python内置了众多预编译并可移植的功能模块,即标准库。标准库支持一系列的编程任务。此外,Python可通过自行开发的库或众多第三方的应用支持软件进行扩展。例如在图形用户界面开发方面,既有Python标准库——TKinker,又有第三方库——wxpython,此外还有作图支持库pylab、matlibplot;数值分析计算库numpy和scipy等。
(2)程序的可移植性:Python的标准实现是由可移植的ANSIC编写的,可在目前所有的主流平台上无差别地运行,包括Linux、UNIX、微软的Windows和DOS、MacOS以及IBM大型机等。例如,本文所编写的在Linux平台下的代码,可复制到Windows下,将编译和运行方式稍作改变,就可实现在
Windows下运行。
2 软件功能模块设计
软件设计和实现了界面设计、数据合成与分离、数据校准以及误差评估等功能模块,各模块之间的关系如图1。
2.1 界面设计
界面用Python的图形用户界面库wxpython[7]实现,提供用户参数输入和程序响应两个功能。天线控制扫描后,生成的数据存在*.bin和*.log两类文件中,*.log文件记录测量天线的时间、状态、方位和俯仰信息,*.bin文件以十六进制形式记录相关机的时间、自相关幅度、互相关幅度和相位信息。在界面中,用户选择用于校准的一组*.log和*.bin文件,是否进行宽带校准,校准的带宽范围以及时间补偿等。程序运行结束后,选择相应选项可显示误差结果,通过按钮控制,返回结果图形。
2.2 数据合成与分离
测试软件所用的数据为2005年新疆天文台南山全息测量数据,测量时,接收机和天线使用两套不同的时间系统,因此需对接收机时间进行一定的补偿,以补偿后的时间为对比对象,将*.bin和*.log文件合并成一个文件,合并后的文件包括时间、状态、幅度、相位、方位和俯仰信息。数据合成后,再以状态为对比对象,将扫描数据、点源数据和五点法数据分离。
图1 全息测量数据校准流程
Fig.1 A flowchart of the data calibration process of holographic measurement
2.3 数据校准模块
该模块是整个软件的核心部分。主要针对指向误差、幅度波动、相位波动导致的误差进行校准。
2.3.1 指向校准
(1)
(2)
上述两式中,ΔAZ和ΔEL分别表示在观测射电源时,方位和俯仰方向相对源的偏离,T3~T7分别表示五点扫描时5个状态下天线的温度,即观测得到的幅度,HPBW表示半功率束宽(本文中HPBW=0.056°)。
扣除指向误差采取以下3步:
(1)以时间和状态为对比对象,从测量数据中寻找五点数据。利用(1)、(2)式计算方位和俯仰偏离。表1显示了某次测量过程中方位和俯仰的偏离。
(2)点源数据的方位和俯仰分别减去与之距离最近的五点扫描的偏差,得到校准后点源数据的方位和俯仰值。
(3)扫描数据的方位和俯仰分别减去对应于点源数据的方位和俯仰,得到方位和俯仰的相对值。
2.3.2 幅度波动校准
影响互相关幅度波动的原因主要是由于卫星飘动、大气波动以及接收系统的不稳定[8]。因为在测量过程中,参考天线始终对准卫星,可以利用参考天线的幅度为参考,互相关幅度除以参考天线幅度,得到 “标准化” 互相关幅度[8]。在实际测量过程中,点源数据和扫描数据幅度均除以对应的参考天线幅度,得到归一化幅度,即为校准后幅度。
表1 某次测量天线指向偏差Table 1 Antenna-pointing errors measured in a calibration experiment with the software package
2.3.3 相位波动校准
相位波动也是由于卫星波动、大气飘动以及接收机的温漂造成的。校准相位的具体实现过程:
(1)点源数据相位运用最小二乘直线拟合,得到校准后相位。
(2)扫描数据相位与对应的点源数据相位作差,得到残差相位。
2.3.4 数据作图
该模块以python中自带的作图函数plt画出校准前后的点源数据幅度和相位图,程序结束后,将图形返回至用户界面。
2.4 误差评估模块
此模块主要对测量数据进行筛选,对不满足误差评估条件的数据,认为数据是无效的。指向误差、幅度波动以及相位波动导致的口径面测量误差分别有关系式[9]:
具体做法是:
(1)依据关系式(3)、 (4)、 (5),得到天线指向误差、校准前后幅度波动和相位波动误差。
(2)设置误差阈值。阈值的大小应根据测量需求和测量系统而定,本文中设置的阈值为50μm,即天线指向、校准后幅度、校准后相位波动导致的误差需控制在50μm之内,若其中有一项超过50μm,则认为这组数据不合理,应当舍弃。误差过大的原因可能是突发天气情况等。
(3)程序运行结束后,各项误差返回用户界面。用户根据界面结果,判断数据的取舍。
3 软件运行及结果分析
软件具有可视化界面,方便用户操作。以2005年南山25m全息法测量数据为例,显示软件操作方法及运行效果。
(1)在界面右上方 “Parameter” 输入响应参数,点击 “Perform…” 按钮,程序开始运行,如图2。
(2)程序运行结束后,勾选右下方 “ErrorAnalysis” 部分选项,查看相应误差,点击右下角 “ImageShow” 按钮,显示相应图片。图3和图4分别显示了两组文件的运行结果。
图2 新疆天文台全息测量数据校准界面
Fig.2Thesoftwareinterfaceofholographic-datacalibrationintheXAO
图3 15日文件运行结果
Fig.3TheresultsofrunningthecalibrationsoftwarepackageusingthedatafilesrecordedinMay15, 2005
图4 19日文件运行结果
Fig.4TheresultsofrunningthecalibrationsoftwarepackageusingthedatafilesrecordedinMay19, 2005
界面左侧显示的4幅图片依次为校准前幅度波动图、校准后幅度波动图、相位波动图以及残差相位图。观察两组文件的运行结果可以看出,15日和19日文件的指向误差分别为17.335 5μm和34.785 4μm;15日文件校准前后幅度波动误差分别为62.643 3μm和18.901 5μm,校准后幅度波动误差明显减小,并且在阈值范围之内;19日文件校准前后幅度波动误差分别为253.191 5μm和247.914 6μm,误差超过阈值,是不合理数据,界面左侧显示的校准前后幅度的波动图直观地反映了这一点;15日文件的相位波动基本符合直线,用最小二乘拟合后,得到的残差相位也较小,计算得到的相位波动误差为39.961 1μm;19日文件相位波动大,拟合后得到的相位残差也大,计算得到的相位波动误差为216.114 8μm,超过阈值。综上,15日文件的误差范围在阈值之内,表明这次观测是成功的,数据可以使用;19日文件中校准后的幅度波动误差和相位误差超过阈值,表明这次观测不成功,数据应当舍弃。
4 总结与展望
本文设计的全息测量数据校准软件以Linux为系统平台,Python为开发语言,实现了数据校准的功能,具有操作简单、显示直观、扩展性强等优点,能够满足当前及未来需求。
全息测量数据校准软件是全息测量软件系统的一部分,具体应用时需将其嵌入天线控制软件中,校准完成后还需对数据进行网格化、逆傅里叶变换、成图等处理。天线控制软件以及后续的处理软件尚未完成,25m天线正在改造中,计划后续开展全息测量天线控制软件的设计工作,数据校准软件配合天线控制软件,用于改造完成后的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学习手册[M]. 第四版. 李军, 刘红伟, 译. 北京: 机械工业出版社, 2011.
[7]RappinN,DunnR.WxPythoninaction[M].USA:ManningPublications, 2006.
[8] 王锦清. 微波全息测量高精度校准方法及Ka频段接收关键技术研究[D]. 上海: 中国科学院上海天文台, 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
新疆维吾尔自治区重点实验室开放课题 (2015KL012);国家自然科学基金 (11253001 , U1431230);“ 西部之光” 人才培养计划 (RCPY201002) 资助.
2014-09-26;修定日期:2014-10-22
谭玲霞,女,硕士. 研究方向:天文技术与方法. Email: tanlingxia@xao.ac.cn
TP311.1
A
1672-7673(2015)03-0349-06