时间:2024-09-03
郭冉 夏明(第七一五研究所,杭州,310023)
相控阵声学多普勒计程仪应用程序开发
郭冉 夏明
(第七一五研究所,杭州,310023)
摘要介绍了VxWorks操作系统下,相控阵声学多普勒计程仪信号处理应用程序的开发。湖试中,采用高精度的差分GPS作为比对设备,验证了方案的有效性和可行性。
关键词相控阵声学多普勒计程仪;VxWorks操作系统;应用程序开发
声学多普勒计程仪是利用声学多普勒效应获取载体(通常为水下运载器)三维运动速度的设备。其具有大深度、高精度等优点,是目前国内外水下航行器常用的导航设备。采用相控技术的声学多普勒计程仪,可以从原理上消除声速带来的误差,其四个波束的指向性、波束宽度以及换能器的参数和灵敏度也可以保持高度一致,而且,在同样声性能情况下,采用相控技术还可以减小声呐基阵的尺寸和重量。本文介绍了在VxWorks操作系统平台下对相控阵声学多普勒计程仪的信号处理应用软件的开发。
本文中应用程序的开发建立在以PowerPC G4处理器为核心的信号处理硬件平台之上。PowerPC G4采用Motorola公司的MPC7410 RISC微处理器,其时钟高达500 MHz,并且具有高性能的矢量运算单元,有利于大批量数据的处理,能够满足系统实时性的要求[1]。
相控阵声学多普勒计程仪通过主动发射声信号并且对采集到的回波信号进行处理,得到底跟踪的信息,其硬件架构如图1所示。上位机和信号处理板有三种接口方式可供选择:网络、串口和CAN,本文以网络通信为例介绍其开发过程。
图1 系统硬件架构框图
信号处理板接收来自上位机的开机命令后,通过FPGA产生相应脉宽的编码信号,通过发射电路完成发射。发射结束后,回波信号经过前置预处理、AD采集、搬移到特定的缓存中。G4处理器将8路AD信号通过波束形成算法形成四个波束,然后经过复解调、降采样、滑动窗搜底、复相关算法测频等一系列步骤得到底跟踪的深度和速度信息。
本文以VxWorks嵌入式操作系统为平台进行信号处理应用软件的开发。VxWorks是一款用于实时嵌入式系统设计开发的软件,具有实时性强、支持多任务、体积小、可裁剪等特点。其开发环境Tornado为风河公司推出的图形化开发工具,包括调试器CrossWind、命令行界面WindShell、资源查看器Browser、模拟器Simulator等。在该环境中可编译生成BootRom,创建并配置VxWorks,编辑、编译、下载和调试代码,随时查看目标机的系统资源[2]。
相控阵声学多普勒计程仪应用程序主要包括接口程序(在本文中以网络通信为例)、控制程序和算法实现程序三部分。接口程序的主要功能是接收来自上位机的命令、将信号处理板的运算结果上传到上位机进行显示以及将采集到的原始回波信号上传。控制程序主要是控制发射信号的脉宽、功率;采集回波信号时选择合适的时间增益控制曲线;对采集到的回波信号调用对应的算法实现子函数并且控制相应的工作周期。算法实现程序主要是对接收到的回波信号进行AD采集、波束形成、复解调、降采样滤波、滑动窗搜底和复相关速度解算。
任务是VxWorks的核心概念,所有任务的运行、交互过程完成了整个VxWorks系统的功能。因此,应用程序框架搭建时,需要考虑系统需求,确立任务的个数和优先级[3]。创建一个新的Tornado工程后系统自动生成一个用户应用程序初始化函数,在该函数中可以进行板卡网口IP绑定、系统时钟速率设置等初始化工作,然后程序跳转到用户程序接口函数处(用户程序接口函数主要是进行任务的创建和激活)。系统创建5个优先级不同的任务,其优先级设置和主要功能如表1所示。
表1 系统主要任务
VxWorks中多任务共享一个CPU。操作系统的调度算法将CPU时间适当分配给各任务,以使多任务协调运行。系统采用优先级抢占调度算法,即高级待命状态的任务可以抢占正在运行的低级任务,中断可以抢占任何任务。算法使得高优先级任务和中断处理可以得到及时响应,以保证系统的实时性。
3.1接口程序开发
上位机和信号处理板有三种接口方式可供选择:网络、串口和CAN总线,本文以网络通信为例介绍其开发过程。系统采用基于TCP/IP协议的网络通信方式进行工作命令传达、计算结果与原始数据上传等数据交互。程序在信号处理板上进行网络客户端的开发。首先调用socket建立流式套接字,然后调用connect函数向服务器端发起连接请求,建立连接后即可在此套接字上进行数据交互。
3.2控制程序开发
小深度时,采用PING-PONG交替缓存式进行数据搬移,而大深度时相控阵声学多普勒计程仪针对提取到的底回波信号解算速度。水深不同,回波信号的信噪比和到达时间不同,因此需要根据深度信息设置合理的发射脉宽、信号采集长度、发射功率和时间增益控制曲线。底跟踪时,通常可以从小距离档向大距离档分档依次搜索。但是在大深度情况下,搜索的效率就会降低。因此,本系统设置浅水工作和深水工作两种模式:在没有深度校准值时,默认为浅水工作模式,直接从小功率、短脉宽、小时间增益的最低档位开始进行底跟踪搜索;深水工作模式时,可通过显示控制平台手动输入深度校准值,从输入的校准深度的档位开始进行底跟踪搜索。搜索完成后,采用门限法对其有效性进行判断,如果无效就调整到下一档位重新搜索,有效则停留在当前档。程序的逻辑框图如图2所示。
图2 系统控制流程逻辑框图
3.3算法实现程序开发
大深度时,原始信号数据量很大,采用PING、PONG交替缓存式的数据搬移模式无法满足系统对实时性的要求。因此在采集回波数据的时间间隔内分批对数据进行波束形成、复解调和降采样滤波处理,分批处理完成后再将一次发射对应的回波信号进行拼接。对拼接完整的回波信号进行滑动窗搜底,并截取相应的底回波信号进行复自相关算法测频,从而得到该次发射对应的底跟踪速度。具体的实现流程如图3所示。
图3 测频算法流程框图
应用程序编译调试完成后,可以将创建完成的VxWorks映像文件固化到信号处理模块内的Flash中。设备上电后,系统完成初始化,应用程序从Flash加载到SDRAM中,设备就进入到正常工作状态。
2014年6月在千岛湖进行了相控阵声学多普勒计程仪的精度考核试验。试验中采用高精度的差分GPS作为比对设备,将相控阵声学多普勒计程仪(DVL)、GPS和罗经同时接入工控机,进行实时底跟踪流速显示和数据存储,并且确保三者能够同步记录数据以便于对数据进行处理。设备的实时显示界面如图4所示。
图4 DVL工作显示界面
试验结束后将存储的DVL数据与罗经数据和GPS数据进行处理。图5给出了DVL底跟踪深度值随样本点的变化曲线,根据工作周期设置,一个样本点代表1 s,由于载体处于航行状态,该深度的时间历程图代表的也就是不同地理位置处的湖底深度曲线。
图5 底跟踪深度曲线
图6给出了GPS和DVL的东向和北向速度的比对曲线,其中,每一样本点代表的时间间隔为1 s,可以看出DVL测得的速度和高精度差分GPS的数据非常吻合。其轨迹比对图如图7所示,可以看出两者得到的载体运动轨迹基本一致。
图6 GPS-DVL速度比对
图7 GPS-DVL轨迹比对
本文介绍了基于VxWorks实时操作系统下相控阵声学多普勒计程仪的应用软件开发过程,并进行了相控阵声学多普勒计程仪精度考核试验。试验中采用高精度的差分GPS作为比对设备,将差分GPS测量得到的轨迹和对地速度和相控阵声学多普勒计程仪测得的数据分别进行了比对,其速度分量和测得的轨迹均保持高度一致。
参考文献:
[1] 曹永红. 相控阵声学多普勒计程仪的信号处理模块设计[J]. 声学与电子工程,2009,(1): 44-46.
[2] 陈智育,温彦军. VxWorks程序开发实践[M]. 北京:人民邮电出版社,2004: 107-227.
[3] 张杨,于银涛. VxWorks内核、设备驱动与BSP开发详解[M]. 北京:人民邮电出版社,2011: 103-119.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!