蒋 磊,陈 朋,金 峰,韩礼波
(1.浙江工业大学信息工程学院,杭州 310023;2.杭州应用声学研究所,杭州 310012)
基于FPGA的海底回波信号模拟器
蒋 磊1,陈 朋1,金 峰1,韩礼波2
(1.浙江工业大学信息工程学院,杭州 310023;2.杭州应用声学研究所,杭州 310012)
以海上测试和水池测试为主的多普勒计程仪测试存在周期长、成本较高等缺点。为此,根据多普勒计程仪的测速原理,研究深度和速度模拟原理,在现场可编程门阵列(FPGA)的基础上,设计一种新的海底回波信号模拟器。该模拟器模拟海底回波信号,在多普勒计程仪接收模拟的回波信号后进行计算,从而得到深度和速度值,对比设定值以达到检验多普勒计程仪的目的。实验结果证明该模拟器的测量误差较小。
多普勒计程仪;模拟器;现场可编程门阵列;Verilog语言;回波信号
DO I:10.3969/j.issn.1000-3428.2015.10.013
随着海洋事业的发展,多普勒计程仪作为一种重要的导航设备有着广泛的应用前景[1-3]。多普勒计程仪处于不断更新换代中,对该设备的测试方式通常以海试和水池实验为主。但航海实验的成本高、周期长。水池实验的空间有限、数据不精确。因此,需要开发相应的陆上模拟系统,用于陆地环境下检测多普勒计程仪的性能。目前,已有的系统有海军工程大学开发的基于PXI总线的半实物仿真系统[4],还有中国船舶重工集团公司研究的一种高精度、多功能回波模拟技术[5],哈尔滨工业大学设计的仿真系统[6]。 文献[7]对回波速度和深度模拟的原理做了深入研究。这些系统大多用数字信号处理器(Digital Signal Processor,DSP)或复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)作为控制核心。现场可编程门阵列(Field Programmable Gate Array,FPGA)比CPLD的集成度高、功耗低、更灵活。和DSP相比,FPGA具有并行处理能力,内部有DSP资源,运算速率更高,更适合于要求高的系统,并且FPGA实现信号处理也是未来的发展方向。所以,本文设计一种基于FPGA的模拟器,模拟多普勒计程仪海底回波信号,用来检验多普勒计程仪的工作状态。
启动多普勒计程仪,模拟器接收多普勒计程仪发射的信号,然后以一定的采样频率对波形进行A/D采集,将采集到的数据存储。在经过一定的延时后,以不同于采样频率的回放频率对存储的数据进行回放,经过D/A转换后输出相对于发射信号具有一定延时、频移
的回波信号。海底回波模拟器信号处理系统如图1所示。多普勒计程仪发射信号、接收回波模拟信号后传给信号处理机解算出对应的参数,和设定值比较,检验多普勒计程仪的工作状态是否正常。模拟器FPGA板模拟海底回波信号。FPGA通过RS232接口和上位机的显示控制软件通信,显示控制软件接收A/D采集的数据,检验多普勒计程仪发射信号的频率、幅值等参数,并发送参数(Vχ,Vy,h)。
图1 模拟器信号处理系统
与模拟器有关的主要技术指标:
(1)深度范围:2 m~500 m。
(2)速度范围:0 m/s~25 m/s。
模拟器主要实现不同速度和深度的海底回波模拟,这是在多普勒速度理论[8]的基础上实现的,多普勒测速公式[9-10]如下:
其中,f0为发射信号的频率;fr为回波信号的频率;fd为频率的偏移量;V为船舶行驶速度;φ为波束与船舶中垂线的夹角;C为海水中的声速。
在信号发射后,从不同海底深度返回的信号的时间是不同的,海底深度 h和回波时间延迟T的关系式[11]如下:
多普勒计程仪发射的波束形成后的四波束结构配置图如图2所示。
图2 多普勒计程仪四波束结构配置
这种四波束配置的方式称为詹纳斯配置,它可以消除船上下左右晃动产生的误差[12]。海洋是一个不断变化的环境,温度和深度的变化等因素都会使海水中的声速发生变化,多普勒计程仪中使用的相控阵可以有效地克服这些不良影响。待检测的多普勒计程仪的换能器在X和Y方向各有4个阵元,在本文设计中,模拟的是四波束方向的回波,每个方向有4路回波分别对应4个阵元。设计的海底回波信号模拟器可以模拟不同环境下的回波。
模拟器主要实现不同速度和深度的海底回波模拟,因此,对海底回波的模拟主要是速度模拟和深度模拟。应答信号中多普勒频移通过改变D/A的输出频率fh来实现,则多普勒频移与回放频率的关系如下:
不同方向回波的频率是不同的,根据式(1)可计算4个方向回波的频率,由下式表示:
其中,fs为多普勒计程仪发射信号的频率,为1.2 MHz;fh+χ,fh-χ为船舶行驶方向对应的回波频率;fh+y,fh-y为船舶垂直于行驶方向对应的回波频率;φ为波束与船舶中垂线的夹角,是20.7°;C为海水中的声速,是1 500 m/s;Vχ为船舶行驶方向的速度;Vy为船舶垂直于行驶方向的速度。
在信号发射后,从不同海底深度返回到换能器的时间是不同的,深度的模拟对应着回波信号相对于发射信号的延时时间。假定多普勒计程仪发射信号起始时刻为t0,4个方向波束的模拟信号应答起始时刻分别为t1,t2,t3,t4,平均值等于设定的深度求得
的延时时间。应答信号时间延迟T与海底深度h的关系满足下式:
4.1 模拟器硬件结构
系统的硬件结构如图3所示。
图3 模拟器硬件结构
FPGA选用Xilinx公司的Spartan-6系列的XC6SLX9芯片,内部集成有丰富的可配置逻辑块、大量的DSP单元、块状RAM等资源。1路A/D采集采用ADS7883芯片,12位分辨率,串行输出。1路发射信号触发通道、8路D/A输出通道、RS232串口通信设计中使用了8片DAC7311芯片,DAC7311是12位分辨率、低功率、串行输出的。其中,A/D采集和D/A转换的时钟由FPGA的直接数字频率合成(Direct Digital Synthesis,DDS)IP核产生。
4.2 模拟器
回波模拟器设计为PCI板卡形式,可以插在工控机PCI卡槽里面,其实物图如图4所示,供电电压由板卡上金手指接口供电。DSUB9接口用于RS232通信。DSUB25接口包含了1路A/D采样通道,1路发射信号触发通道,8路模拟回波信号输出通道。
图4 回波模拟器
4.3 FPGA设计
FPGA设计仿真环境为X ilinx的ISE13.4,采用模块化设计程序,所有模块用Verilog编程。FPGA的逻辑设计如图5所示,FPGA为控制核心,它控制A/D采集、D/A转换输出、实现频移、延时操作、产生模拟回波信号和上位机通信等任务。
图5 FPGA内部框架
4.3.1 A/D控制模块
在触发电路产生的触发信号为高电平时,控制AD芯片工作,以1.2 MHz的采样频率采集多普勒计程仪发射的150 kHz的模拟信号,将采集到的
12 bit数字信号存在双口RAM里,以待后续处理。触发信号为低电平时,停止采集。
4.3.2 串口控制模块
FPGA通过RS232接口和上位机的显示控制软件通信。串口的发送端将存在RAM里的波形数据传给上位机的显示控制软件以便检测发射信号的频率、幅值等参数并显示波形信号,判断多普勒计程仪发射机工作是否正常。
接收端接收上位机发送的参数(Vχ,Vy,h),并将参数缓存在先入先出(First Input First Output,FIFO)队列。为了确定接收的参数是正确的,在位机发送参数时,在每个参数前都加了判断数据。首先从FIFO中读取4个8 bit的数据,每2个数据完成8 bit~16 bit的转化,合成16 bit的十六进制数据,第一个16 bit数据为判断数据,如果为 ff00,那么第2个16 bit数据就是Vχ。按照上述方法,再读取2次,每次读4个数据,如果判断数据为ff01,那么接收的为Vy;如果判断数据为ff02,那么接收的为h。判断数据不正确,上位机重新发送参数,直到接收的参数正确为止。
4.3.3 回放控制模块
模拟的回波信号的多普勒频移通过改变D/A转换的输出频率来实现,根据速度参数Vχ和Vy,由式(4)计算模拟信号的频移,求取4个波束方向的回波频率。回波频率由DDS IP核产生,所以,根据回波频率计算对应的D/A转换时钟,求出频率控制字,传递给DDS求出D/A转换时钟。
信号应答采用循环方式分时应答,首先应答X方向的信号,然后依次为Y方向、-X方向、-Y方向。每个方向之间的应答信号间隔tm为0.1 m s,回波脉冲宽度为 tP。回波信号的延时时序如图 6所示。根据深度参数 h,由式(5)计算4个方向回波信号的延时,如式(6)所示。
图6 四波束应答时序示意图
4.3.4 A/D和D/A时钟模块
2个DDS IP核分别产生A/D采集和D/A转换的时钟。完成一次A/D采集用了20个时钟周期,因此,1.2 MHz的采样频率对应的A/D采集时钟为24 MHz,完成一次D/A转换也用了20个时钟周期。根据回放控制模块求得的频率控制字,传递给DDS求出D/A转换的时钟频率。
4.3.5 D/A控制模块
控制D/A芯片输出模拟海底回波的信号,回波信号由存储在双口RAM里的波形数据作为来源。多普勒计程仪的换能器在X方向和Y方向分别有X1,X2,X3,X4和Y1,Y2,Y3,Y4共8个子阵,所以,要输出8路模拟信号。多普勒计程仪的接收器接收的波形因为路程差会产生相位差,所以,模拟的回波信号之间要有相位差。对于 X方向、Y方向的4个通道的信号相位延迟都为(0°,90°,180°,270°)。-X,-Y方向的4个通道的信号相位延迟为(0°,-90°,-180°,-270°)。相位的延迟通过延时读取存储的数字信号进行D/A转换的方法实现。因为采样率是发射信号频率的8倍,所以采集到的波形数据一个周期有8个。则 X,Y方向依次从χ(n),χ(n-2),χ(n-4),χ(n-6)开始读取波形数据。则 -X,-Y方向依次从 χ(n-6),χ(n-4),χ(n-2),χ(n)开始读取波形数据。分别从t1,t2,t3,t4时刻控制D/A转换输出4个方向的波束。前4路 D/A通道输出的是 X方向的波束,后4路输出的是Y方向的波束。
ISE13.4工具对设计模块进行综合、映射、布局和布线后,将生成的bit文件下载XC6SLX9-2FTG256中,FPGA芯片的资源利用情况如表1所示。
表1 XC6SLX9-2FTG 256的资源使用情况
在表1中,Slice用于实现时序逻辑,求应答时间用了一个DSP48A1做乘法器,求2个DDS的频率控制字用了2个DSP48A1做乘法器。RAMB8BWER的大小为9 kb,采用一个配置为FIFO,用来缓存上位机发下来的参数。RAMB16BWER的大小为18 kb,采用27个组成双口RAM来缓存A/D采集的数据。
为了验证海底回波模拟器的性能,将模拟器和多普勒计程仪进行了联机调试,搭建了如图7所示的调试系统。
图7 联机调试系统
本文设计的回波模拟器插在工控机1的PCI插槽上。工控机1的显示控制软件接收A/D采集的数据,分析多普勒计程仪发射信号的频率、幅值并显示信号波形,并且发射指令参数(Vχ,Vy,h)。多普勒计程仪接收返回的海底回波模拟信号,经过处理计算得到速度和深度值,将得到的值通过串口传到工控机2的显示控制软件以便比较测量值和设定值。对模拟器进行了多次测试,深度和速度分别取了5组测量值,和设定值的比较如表2和表3所示。
表2 深度测量值
表3 速度测量值
在速度误差小于0.3%,深度误差小于0.3%,结果有一定的误差,这是由于公式计算过程中小数部分的舍去、多普勒计程仪接收电路的精度和噪声的影响等原因,但数据均在误差范围之内,大量的测试证明了模拟方法的有效性,同时验证了模拟系统的精度。
本文分析多普勒计程仪的海底回波信号模拟器原理并推导模拟公式,同时介绍模拟器的结构和工作流程,进行陆上模拟测试并分析了测试数据,证明了海底回波模拟器的有效性和准确性。下一步的研究方向为改进程序中算法的实现方法,从而进一步提高测量精度。
[1] 张福斌,徐德民,严卫生,等.水下航行器导航与控制一体化系统的半实物仿真实验设计[J].系统仿真学报,2006,18(3):604-606.
[2] Morgado M,Batista P,Oliveira P.Position USBL/DVL Sensor-based Navigation Filter in the Presence of Unknown Ocean Currents[J].Automatic,2011,47(12):2604-2614.
[3] Snyder J.Doppler Velocity Log Navigationfor Observation-class ROVs[J].Sea Technology,2010,51(12):27-30.
[4] Yuan Bingcheng,Chen Xi,Huang Xiongfei.Solution to Hardware-in-loop Simulation Test System for Phased Array Doppler Sonar[C]//Proceedings of the 7th International Conference on System Simulation and Scientific Computing.Washington D.C.,USA:IEEE Press,2008:1549-1552.
[5] 李金明,赵俊渭,王明洲,等.一种高精度水下目标回波模拟技术的研究[J].仪器仪表学报,2006,27(6):560-563.
[6] 石 慧.相控阵多普勒计程仪半实物仿真系统的设计与实现[D].哈尔滨:哈尔滨工业大学,2012.
[7] 付志霞.多普勒计程仪海底回波信号模拟器设计[D].大连:大连海事大学,2012.
[8] 谢宜生,沈国江,吴琦灿.基于MSP430的车载雷达测速测距系统[J].计算机工程,2011,37(18):237-239.
[9] 齐本胜,范新南,王 森,等.宽带声学多普勒测流仪设计[J].仪器仪表学报,2003,24(4):233-234.
[10] Brumley B H,Cabrera R G,Deines K L.Performance of a Broad-band Acoustic Doppler Current Profiler[J]. Journal of Oceanic Engineering,1991,16(4):402-407.
[11] 黄雄飞,周徐昌,苑秉成.多普勒计程仪作用距离估计[J].应用声学,2009,28(5):362-366.
[12] 田 坦.水下定位与导航技术[M].北京:国防工业出版社,2007.
编辑 刘 冰
FPGA-based Seabed Echo Signal Simulator
JIANG Lei1,CHEN Peng1,JIN Feng1,HAN Libo2
(1.College of Information Engineering,Zhejiang University of Technology,Hangzhou 310023,China;2.Hangzhou Applied Acoustics Research Institute,Hangzhou 310012,China)
Doppler log test has the disadvantage of long cycle and high cost which is given priority to sea and pool testing.According to the principle of Doppler log measuring,the principle of depth and speed simulation is studied.This paper designs a new signal simulator based on Field Programmable Gate Array(FPGA),it can simulate the seabed echo signal.The seabed echo signal is received by the Doppler log.The values of depth and speed are given by calculating.By comparing the set values,the measurement is accomplished.Experimental result indicates that the measuring error of this simulator is small.
Doppler log;simulator;Field Programmable Gate Array(FPGA);Verilog language;echo signal
蒋 磊,陈 朋,金 峰,等.基于FPGA的海底回波信号模拟器[J].计算机工程,2015,41(10):66-70.
英文引用格式:Jiang Lei,Chen Peng,Jin Feng,et al.FPGA-based Seabed Echo Signal Simulator[J].Computer Engineering,2015,41(10):66-70.
1000-3428(2015)10-0066-05
A
TP391
国家自然科学基金资助项目(61303139)。
蒋 磊(1988-),男,硕士研究生,主研方向:嵌入式系统;陈 朋,副教授、博士;金 峰,硕士研究生;韩礼波,工程师、硕士。
2014-09-30
2014-11-17E-mail:jianglei.074@163.com