基于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 点拼接,即实现频域实时相关处理。……
