基于FPGA的相关匹配实时处理算法
2015-12-21毛荣钧冯道旺郭福成黄知涛
毛荣钧,冯道旺,郭福成,黄知涛
(国防科技大学电子科学与工程学院,湖南 长沙410073)
0 引言
相关技术可分为时域相关和频域相关,两种实现方法的计算量都大,FPGA 由于可以实现并行流水,被广泛地运用到并行计算中[1-7]。复相关测频[8]方法中采用了谱矩理论中的复相关方法,能够在很小的信噪比中检测频率,但受限于FPGA 的工作时钟采样率无法提高,频率分辨率无法提升。通信系统中滑动相关捕获PN 码的方法[9]能做到实时捕捉通信信号,但时域的相关方法资源消耗大,不利于系统稳定运行。实相关并行计算需要较多的乘法器单元,而FPGA 的DSP48硬核单元是有限的,因此需要改进算法以减少乘法器单元的使用。
本文提出一种基于FPGA 的频域相关技术,相比实相关大大减少了乘法器硬核单元的使用,同时两路流水复相关满足了实时处理的需求。通过将该技术应用到信号的帧头检测中,验证了该技术的实时运算性能。
1 频域相关原理
为做到频域实时相关,参考波形需要做N 点数据的2 N 点FFT,输入数据做2 N 点数据的2 N 点FFT。下面证明该过程。
实域相关的离散表达式为:
参考波形N 点数据做2 N 点FFT 为:
输入数据做2 N 点数据的2 N 点FFT:
两者频域相关后做逆FFT 得到实序列:
代入(2)、(3)式得:
即:
即:
当且仅当n2-n1+n=0时,(7)式不为零,将n1=n2+n代入(7)式中:
(8)式和(1)式相同证明可以通过此方法代替实域相关。
2 频域相关的FPGA实现
FPGA 实现时将x(n)分为A/B 两路,B 路相比A 路做N 点延时,对A/B 同时做2 N 点FFT,将待检测的N 点参考信号做2 N 点FFT,然后分别和A/B两路复数相乘得频域相关,最后两路做2 N 点逆FFT后选择A 路的前N 点和B 路的后N 点拼接,即实现频域实时相关处理。
图1为内部框图,实数据分成上下两路,一路通过延时做FFT 运算,另一路不做延时直接做FFT,得到的频谱分别和样本频谱相乘。得到的频谱做逆FFT变换到时域信号,通过选择开关选择上下两路有用的数据部分,寻峰得到峰值对应的时刻为tS,tS=tD+tF,其中tD为信号到达的实际时刻,tF为硬件处理耗时,则信号到达实际时间tD=tS-tF。通过试验的方法统计tF,即可得到信号的实际到达时间tD。
根据已知的信号序列检测到达信号实际上就是做相关运算,实数相关需要的乘法器资源较多,如需要检测的信号序列有N个点则需要至少N个乘法器,对FPGA 来说资源消耗太多。采用频域相关的方法,同样的条件下所需乘法器减少近一半。
图1 实时复相关系统框图
如图2,假设输入为复信号(实信号经IQ 变换转化为复信号)分成A/B 两路,A 路2 N 点数据做2 N 点FFT,B 路相对A 路延时N 点并和A 路同时做2 N 点FFT,参考波形数据取N 点数据后面补N 点零做2 N点的FFT,A/B 两路和参考数据频谱相乘,将两路复相关的频谱做逆FFT 后合并(取A 路的前N 点和B路的后N 点)得到实相关数据。
图2 A/B 两路复相关示意图
3 测试分析
以N 为256为例,测试不同SNR 信号,统计不同SNR 下的硬件处理延时tF和峰值高度Am,得到硬件的处理延时tF进而得到信号实际到达时间tD,并得到可检测的信号信噪比范围。
3.1 整体测试流程
首先设置自检波形,然后装载线性调频自检波,接着对自检波做IQ 变换和离散时间傅里叶变换,最后设置峰值门限并寻峰。
测试信号通过FPGA 的选择输入,该信号包括线性调频信号s(n)°和噪声ξ(n)两部分:
其中的可调参数PA和ωk为:
SNR可通过PCI接口在PC上调节。其中频率f0=0.26Hz,频率增长率fk=0.00004Hz,幅度A=40。
3.2 结果分析
如表1所示,随着信噪比的改变硬件处理延时基本保持不变,tF=9934±10ns,这是因为FPGA 每一步的处理延时都是设定不变的,处理延时的抖动主要是由于硬件接口传输耗时不定,峰值幅度随着信噪比的增加指数增加,如图3 可通过lg(Am)观察出幅值与SNR 的指数关系。
图4为硬件耗时与寻峰的测试结果。可直观看出随着SNR 的减小检测峰值明显降低;检测延时基本不变。
表1 不同信噪比下的硬件处理延时和峰值幅度
图3 Am 与SNR 的关系
图4 硬件耗时与寻峰
通过测试可得该算法可测试较大范围的SNR 信号;并可测得固定的硬件处理延时为9934±10ns。
3.3 资源消耗
本节对比直接相关和频域相关两种方法的资源消耗,所用FPGA 芯片为Xilinx 公司的XC5VSX95T,编译工具为ISE14.6。
如表2 所示,通过对比实相关,频域相关的SLICE资源占用变化很小,RAM 资源和乘法器资源明显减少。
表2 实相关和频域相关资源占用对比(M1代表实相关,M2代表频域相关)
4 结束语
本文基于相关计算实时处理需求,提出基于FPGA 的频域相关技术,它利用FPGA 的并行计算能力。取N 点样本信号做2 N 点FFT 得样本频谱,复信号分成两路,一路经过2 N 点FFT 后与样本频谱相乘,再做逆FFT 后延时N 点;另一路先延时N 点再做FFT和样本频谱相乘、逆FFT。两路信号处理结果经过选择组合成完整的相关序列,寻峰得到的峰值时刻为信号到达的实际时刻与硬件处理延时之和,通过试验得到硬件处理延时即可准确得知信号到达时间。将该技术应用于信号的帧头检测中,相比实相关方法该技术乘法器的资源消耗降低近一半,利于FPGA 布线,在更高的速度能稳定工作。■
[1]赵国庆.雷达对抗原理[M].西安:西安电子科技大学出版社,2001:12-25.
[2]Ho KC,Lu X,Kovavisaruch L.Source localization using TDOA and FDOA measurements in the presence of receiver location errors:Analysis and solution[J].IEEE Trans.on Signal Processing,2007,55(2):684-696.
[3]Huang YT,Benesty J,Elko GW,et al.Real-time passive source localization:A practial linear-correction leastsquares approach[J].IEEE Trans.on Speech and Audio Processing,2001,9(8):943-956.
[4]郭福成,樊昀.双星时差频差联合定位方法及其误差分析[J].宇航学报,2008,29(4):1381-1386.
[5]朱伟强,黄培康,马琴,等.多站时差频差高精度定位技术[J].数据采集与处理,2010,25(3):307-312.
[6]Stein S.Algorithms for ambiguity function processing[J].IEEE Trans.on Acoustics,Speech,and Signal Processing,1993,41(8):2717-2719.
[7]Naghsh-Nilchi AR,Mathews VJ.An Efficient Algorithm for joint estimation of differential time delays and frequency offsets[C]∥Proceeding of JCASSP-92.1992:309-312.
[8]肖学兵,郭福成,姜文利.脉冲串信号的时差和频差估计新方法[J].航天电子对抗,2015(2):31-34.
[9]孙星亮,孙钢峰.一种基于复相关技术的频率估计方法[J].电子科技,2005(7):36-39.