基于Labview和虚拟示波器实现重力仪模拟器的设计

描述

重力仪是用于测量重力的专业仪器,传统的重力仪外型笨重、功能单一,数字重力仪虽然有一定的功能扩展,但价格昂贵,而且这些仪器加工工艺复杂、对制造水平要求很高,生产突破有困难。虚拟仪器的出现改变了这一局面,虚拟重力利用计算机系统强大的数据处理能力,利用软件完成数据的采集、控制、数据分析和处理以及测试结果的显示等,大大突破了传统仪器在数据处理、显示、传送、存储等的限制,使用户可以方便地对仪器进行维护、扩展和升级,而且虚拟重力仪比传统重力仪节约了许多成本,具有很高的性价比。本文介绍虚拟重力仪的设计,用图形化编程语言LabVIEW实现虚拟示波器的数据采集、波形显示、数字滤波、参数测量、频谱分析、功率谱分析以及数据存储和回放等功能。实验证明,该虚拟重力仪可以实现对采样信号的显示、分析、存储等操作并且结果正确、可靠,功能比传统仪器强大。

1 虚拟示波器的结构

根据实际重力仪传感器的特点,以及动基座下重力仪工作的特点,设计了重力仪模拟器,用于模拟运动基座下重力仪的测量输出。

重力仪模拟器的框图如图1所示。

示波器

从框图上可以看出,动基座下海洋重力仪进行重力测量时受到当地重力值、干扰加速度、效应、量测噪声等因素的影响。在模拟仿真中需要对这些因素进行仿真设计。模拟器运行时,首先需要规划载体航迹和重力值。在航迹规划中,设定每段路程航向、航速、经历的时间。规定完载体运动航迹后,便可得到每一点的正常重力值。由于海洋重力仪传感器采用相对重力测量法进行重力测量,其敏感量为实测点重力值与重力基点重力的差值。因此,重力图生成中,只需要设定当前重力与初始点位置的重力差,即重力输入信号取△g=g-g0。海洋中进行重力测量不可避免受到海浪、载体运动等造成的干扰加速度的影响。根据分析,干扰垂直加速度具有似周期性的特点,并且与重力加速度的频率和幅值有明显的差异。因此在模拟器中,垂直方向上干扰加速度可以写为:R=R0sinωt。R0为输入干扰加速度的幅值,ω为干扰加速度的角频率。

效应造成的重力偏差与载体航向、航速、载体所处纬度有关。该值通过计算当前位置的航向、航速和纬度求得。实时处理系统的硬件主要包括数字信号处理器及其外围电路、A/D转换模块、串行通信接口模块等。其中,微处理器模块控制系统的运行,完成数据的处理。 A/D转换模块完成模拟信号到数字信号的转换,实现重力信号的采集。串口通信模块主要完成微处理器与导航计算机通信,实现外界信息的获取以及相关数据上传。系统上电以后,启动A/D转换采集重力仪的输出信号,并同时接收精确定位数据信息和水深信息。系统的数据处理软件将对采集到的重力仪信号进行干扰加速度影响消除,重力仪自身误差改正,最后根据定位数据和水深数据对滤波后的重力信息进行改正,如改正和吃水改正。其中,改正需要和重力信号采集相互匹配,从而获取实时重力数据。数据处理结果通过串行通信接口上传到重力辅助导航计算机,由该计算机完成重力辅助导航的相关解算。系统结构图如图2所示。

示波器

系统的数字信号处理器选用TMS320VC6713,该DSP是目前性价比最高的浮点处理器之一,适合于数据的高速处理。它是迄今为止TI公司推出的最快浮点处理器。TI公司6000系列的DSP最主要的特点是体系结构上采用VelociTI甚长指令(VLIM)结构,由一个超长的机器指令字来驱动内部多个功能单元。每个指令字包含多个字段(指令),字段之间相互独立,各自控制一个功能单元,因此可以单周期发射多条指令,实现很高的指令级并行效率。此外还具有以下特点:16位/3z位/64位高性能外部存储器接口(EMIF)提供了与SDRAM、SBSRAM和SRAM等同步/异步存储器直接接口;具有VelociTI先进VLIM内核结构;具有类是RISC的指令值;片内集成多种集成外设;内置灵活的PLL索相时钟电路;支持IEEE-1149.1(JTAG)边界扫描接口;内核采用1.2 V/1.5 V/1.8 V供电,周围I/O采用3.3 V供电;0.12~0.18μm CMOSZ工艺,5/6层金属处理;BGA球栅阵列封装。

根据海洋重力测量数据处理方法,在对某点重力观测值进行处理,得到该点实际重力值的过程中,需已知观测点的位置、水深以及载体的速度、航向等信息。因此,系统首先要实现既能对重力仪信号进行高精度的A/D转换和数据采集,又能实现与定位、水深设备的对接,即实现重力数据、定位数据及水深数据的同步采集。其次,同步采集的重力测量数据要经过低通数字滤波、重力修正等方法的处理才能得到比较精确的重力值,这就要求系统同时具有较好的在线处理速度。

2 模拟器软件流程

通过模拟器设计完成海洋重力数据输出的任务。在设计中,本文考虑到在海洋中进行重力采集各种因素,并通过软件设计将其模拟出来。重力数据采用定时结构产生,通过D/A卡将其转换为连续电压输出信号。其软件流程图如图3所示。

示波器

程序开始运行时,首先完成各项初始值设定,包括航迹设定、重力值设定、海浪设定。完成初始值设定后,开启定时程序,利用定时中断推动后续工作的完成。定时程序中,首先获取当前各项信息,如航向、航速、当前重力等。将当前信息传送给传感器进行解算。利用uDAQ 6208A数/模转换器将当前解算结果转换为电压信号进行输出。为了对解算结果有直观印象,通过数据显示程序将当前结果显示出来。程序采用模块化设计,整个程序设计成重力仪输入模块、航迹模块、重力仪模块。重力仪输入模块完成有用重力信号输入、干扰加速度信号输入、量测噪声输入和信号输入。航迹模块则主要对载体运动过程进行设计,记录载体经过设定路线每一点时的时间、位置、速度。重力仪模块则主要完成重力仪传感器数字化设计。根据不同条件下连续系统的重力仪传感器模型,设计对应的离散化传感器模型。为了便于理论分析,程序将会自动保存模拟器输出数据。

3 模拟器实现

程序采用面向对象的可视化编程语言LabVIEW对重力传感器模拟器进行开发设计。程序设计包括可视化参数输入的程序设计、利用传感器模型进行解算的程序以及模拟量输出的程序设计,通过点击按钮弹出的对话框输入各种传感器的输入参数,在图形显示区实时输出模拟器的输出电压值曲线。在主界面上通过点击各个按钮,可以弹出各个输入参数的界面,在图形显示区,实时显示出模拟器所输出的电压值,该电压值正对应实际海洋重力传感器经过信号转换和放大后的模拟信号。海洋重力传感器模拟器主要包括以下几个方面的参数输入。[page]

3.1 航迹输入

的数值只与重力测量载体的航速、航向和测地点纬度有关,故在模拟器设计时,需要真实反应实际情况。而这3个参量均是通过航迹线推算得到。故程序开始时刻,需要首先设定初始位置、航向和航速,进行航迹规划。然后计算值大小,并将该值加入传感器的输入信号中。航向角按照北偏东格式定义。如果输入45,则代表航向角为北偏东45°。根据一般水下航行器的速度,航速设定其范围为4~24 km。

3.2 重力值输入设定

由于海洋重力测量都属于相对重力测量范畴,重力仪所测量的是测地点和重力基点之间的差值,故在给定重力仪的输入量时,应给出重力基点值g0和测点实际重力值g,程序根据二者解得重力仪所能敏感的重力差值。在模拟器中,二者之间的差值选用正弦波进行模拟。重力变化周期应至少大于120 s(实际地球重力异常周期一般均大于120 s)。一定区域内,重力可能没有变化。此时,重力变化周期为∞。设计模拟器时,输入重力信号的周期不可能在一个无限变化的范围。考虑到输出曲线的时间范围,论文设定重力变化值输入周期为120~1000s。

3.3 扰动加速度输入

由于载体垂直方向周期性附加加速度可以用下式表示:

示波器

式中:R0为垂直附加加速度;ω为垂直附加加速度的角频率。故在模拟器设计中,需要完成以上两个变量的输入设定。根据前文分析,扰动加速度幅值可达有用信号的200多倍。因此,模拟器设计时,干扰加速度设定为有用信号的100倍。而垂直方向附加加速度的周期一般为5~10 s,其中以6 s左右为最多。因此,程序设定干扰加速度频率设定为0.17 Hz。

3.4 量测噪声输入

海洋中进行重力测量是在强噪声的背景下进行,故重力仪模拟器的设计需要考虑噪声的影响。在模拟器设计中,需要对干扰噪声的形式和幅值进行设定。此值也将加入到传感器输入中。噪声的形式为高斯白噪声,幅值为1。

3.5 模拟器输出

当模拟器解算出当前输出值后,通过一定的比例变换,将其转换为电压。实际应用中,后续A/D电路的输入电压范围0~5V。因此,Nu-DAQ6208A最终输出电压的范围为0~5 V,相应的重力值为0~50 mGal。NuDAQ6208A对传感器输出信号的转换在定时程序中完成。当定时程序开始运行前,首先完成6208卡的注册及设定。程序如下:

示波器

定时程序中,根据每次计算得到的重力仪输出值,计算相应的电压值。其关键代码为:

这样便完成电压量的输出。当结束定时循环时,需要放弃对6208卡的控制,以便其他进程能够对卡进行操作。关键代码为:

3.6 程序主界面及电压输出

模拟器主界面如图4所示。

示波器

当只有正弦信号输入模拟器时,模拟信号输出区的图形显示理论上模拟器输出电压。此时,通过测量6208卡的输出,得到实际电压输出的波形如图5所示。从图5可以看出,6208卡输出电压与理论输出电压相符合,但噪声影响比较大。[page]

4 程序运行结果及分析

不同的输入下,模拟器输出不相同。在重力信号、效应、干扰加速度、量测噪声等单独作用下,根据自动保存的数据值,模拟器的输出曲线如图6~图9所示。

示波器

在三者共同作用,并且输出叠加量测噪声情况下,模拟器的输出曲线如图10所示。

示波器

5 结语

根据海洋重力仪相关理论,本文利用采用面向对象的可编程语言LabView,设计了重力仪模拟器,模拟海洋重力仪工作的工作过程,给出不同状态下的海洋重力仪的响应。为了对海洋重力仪输出信号进行分析和采集。

责任编辑:gt

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分