单玉洁 李淑萍 覃莉
(上海船舶电子设备研究所,上海,201108)
一种基于FPGA的高精度相控信号源的实现方法
单玉洁 李淑萍 覃莉
(上海船舶电子设备研究所,上海,201108)
针对通用信号源不具备多通道电子波束扫描的问题,提出一种基于FPGA的高精度相控信号源的实现方法。对任意CW或LFM初始信号做多个电子波束的频分,计算不同发射角度,每个通道的时延值,再把波形数据、粗细时延数据等传给FPGA,实现多通道信号精确控制相位延时,已得到测试数据和试验数据的验证。
高精度;相控;信号源;波束扫描
通用信号源一般不具备电子波束扫描的能力,但要求发射功率较高时就需要通过多通道波束指向性增益来增加发射功率,此时必须进行电子波束扫描。随着通道数的增加,达到较高分辨率时,需要耗费大量的存储资源;同时,为了达到聚焦、变孔径、变迹等相控效果,需要对信号的相位、幅度等做精确控制。以往,对于不同通道的时延往往是采用流水线采样延迟聚焦,或对采样数据做时域内插,这对于多通道发射信号来说,都需要很高的运算量和存储器支持。因此需要设计一种信号源满足幅度、相位高精度可控,存储资源耗费少、波束间信号相关性小的要求。
1.1 实现原理
相控信号源采用高精度数字式发射延迟实现,信号频率、脉宽、周期等参数由上位机通过光纤下发给信号控制板,信号波形数据、延迟单元由DSP计算产生并传送给FPGA存储。信号产生原理框图见图1。
图1 信号产生原理框图
当多个电子波束扫描发射时,需要考虑在每个通道的每个电子波束之间存在作波束延时的保留量,期间实际信号输出为零。第i个电子波束的第j个通道的信号分以下三种情况求得。
· 信号为CW单频信号时:
· 信号为CW调制信号时:
其中,j代表通道号,i代表波束号,v为信号幅度,f0为中心频率,fd为调制频率,τi,j为第i个电子波束的第j个通道时延,Ti为第i个电子波束的信号脉宽,θmax为最大扫描角,为填充的零值信号长度。
· 信号为LFM信号时:
其中,B为信号带宽,T为信号脉宽,f1为起振频率,f2为结束频率。
波束延迟时间计算公式如下:
波束延迟时间计算公式如下:
(1) 三点定位采用三角形算法计算出待测点的位置,依赖于AP位置信息和信号传输信道损失。不同环境下的信号传输损耗不同,适用于WIFI环境稳定、干扰较少和单楼层的建筑空间。
其中,d为阵元间距,c为声速,θi为第i电子波束与基阵法线的夹角,N为通道数。
数字延迟分为粗延时和细延时两部分实现。前者基于采样时钟计数,延时值为采样周期的整数倍,后者为采样周期的小数倍。选取某设备信号控制单元,信号中心频率60 kHz,工作带宽±15 kHz,取波形的采样时钟fs为1 MHz,则粗延时的延迟距离单元数为:
计算可知最大延迟距离单元数约640个。
对于细延时的实现,将采样时钟提高到fs为80 MHz,则细延时的延迟距离单元数为:
计算可知最大延迟距离单元数约80个,以60 kHz的信号为例,其相位精度可达到0.27°。
1.2 FPGA设计实现
信号控制单元上电工作时,FPGA加载程序。加载完成后,进入工作状态。FPGA通过网口接收控制命令,波形数据、粗细时延数据等由DSP计算好传输给FPGA。在FPGA中,根据各通道的延迟信息,送出信号波形。
各通道根据相应的延迟距离单元数,产生各通道存储波形存储器的首地址,完成粗时延;根据细时延的要求,调整DA的转换脉冲,选择不同的转换时机完成细时延。
选用TI公司的高性能的DAC8580芯片,该芯片具有16 bit的转换精度,1 MHz的转换速率,内嵌数字滤波器。由于DAC8580芯片输出的模拟信号为单端信号,本板选择了一个单端转差分的运放LTC1992,将单端信号转换为差分信号后输出。
FPGA选用Xilinx公司的V5系列,该器件有丰富的存储容量和逻辑单元,满足设计需要。采用该器件的千兆网硬核控制器,通过RocketIO,实现千兆网的光纤传输。FPGA内部实现框图见图2。
图2 FPGA内部实现框图
1.2.1 FPGA对波形数据的存储处理
信号源发送的信号,有时会是超长脉宽,或者是多个波束的波形数据,这样的数据量是巨大的,若在FPGA内用RAM把全部数据都存储下来,则需要FPGA具有超大的存储容量,即使数据可以全部保存下来,也会耗费FPGA大量的存储资源。
在设计中,数据通过DSP实时传送给FPGA,FPGA实时的接收波形数据存入内部FIFO存储器中。当FIFO数据读出去,剩下一半FIFO存储量的时候,FPGA给DSP发送一个数据请求信号,DSP收到后,再传一半FIFO存储量的数据给FPGA存储下来。这样,通过FPGA与DSP的握手通信、循环读写实现了对波形数据的实时传送。如此可以发送任意长脉宽的波形数据,不受FPGA内部存储容量大小的限制。
1.2.2 FPGA对波形数据做粗时延
相控粗时延模块一般基于采样时钟频率,时延值是采样频率的整数倍。相控发射粗时延模块主要包括:时延起始地址、内部存储器、地址计数器。在信号控制单元,粗时延值是由DSP计算好,存放在FPGA内部RAM里的,同时在FPGA内部,生成一个大于最大粗时延值的容量的波形RAM,把数据从FIFO取出存储到内部波形RAM,对RAM的读写,需采用循环读写的方式,读写时钟都是波形数据的采样时钟频率。由于不同通道不同波束的时延值都不一样,若根据各个通道的粗时延值来产生RAM读使能信号,则会耗费大量的比较器、计数器,若各通道并行读取波形数据RAM,则会耗费大量的存储资源。
在设计中,波形数据在RAM中存放是需要在RAM的起始地址里空出最大粗时延值的容量,用来存放全0值,采用的是串行的方式读取多通道的波形数据的,同时做出相应的粗时延。在每一个采样时钟周期内,把各通道的当前波束的粗时延串行读出,加上每个采样时钟周期的原始地址值,去读取RAM里的数据,则可以串行读出各个通道作粗时延后的波形数据。然后再对数据作串转并转换,这样只需要一个波形RAM就可以实现多通道波形数据的粗时延,极大节省了FPGA的存储资源。1.2.3 FPGA对波形数据做细时延
目前实现细时延的方法主要有:流水线式采样延迟聚焦、采样数据做时域内插,当发多个波束扫描,每个波束的数据、时延均不相同时,这些方法一般都需要很高的运算量及存储器的支持。
相控发射细时延模块主要包括:细时延数据FIFO、每个通道时延起始使能信号、数据并转串处理、各通道时钟单独处理模块。在信号控制单元,细时延值是由DSP计算好,存放在FPGA内部RAM里的,首先将已经做粗时延的各通道的波形数据分别存放到内部FIFO里,再将细时延值串行读出,将细时延值对各通道做串转并处理,再产生各通道的FIFO读使能信号。
选取某设备信号控制单元,对信号源所发信号的相位、幅度、波束形成等进行测量,该信号源有64通道,可进行±45°扫描发射。图3是测试32个通道在0°波束处的相位差图。从图可以看出,不同通道间的相位差都在0.3°之内,从而实现了相位高精度可控。
图3 32通道0°波束处的相位差
图4是测试的CW单频信号、CW调制信号及所作FFT波形图。图5是测试的LFM调制信号及所作FFT波形图。由图4、图5可以看出,该信号可以发送任意频率的CW和LFM单频或调试信号。
图6是测试的64个通道在-45°~+45°内连续发送45个波束,做波束形成的测试图。通过图6可以看出该信号源可以对波束的相位进行高精度控制,可以同时发送多个波束,指向性良好。
图4 CW单频、调试信号及FFT
图5 LFM调频信号及FFT
图6 64通道45个波束的波束形成
通用信号源不具备电子波束扫描的能力,相较于传统的信号源,本文描述的信号源实现具有幅度、相位高精度可控、存储资源耗费少、波束间信号相关性小的特点。湖海试验中的实际测量证明这种方法是可行的,该信号源已在多个设备中得到应用。
[1]田坦,刘国枝,孙大军.声纳技术[M].哈尔滨:哈尔滨工程大学出版社,2010.
[2]李启虎.声纳信号处理引论[M].北京: 海洋出版社,2000: 313-317.