在实际进行设计时,上述流水结构依然面临难题。在乘累加器较多、时钟速率与采样位数较高的情况下,需要添加复杂的时序约束,才能保证每个乘累加器的y输入都接收到正确数据,而这实现起来是非常困难的,有时是不可能的。为了解决这个问题,参照对x输入流水化的方法,对y输入也进行流水化处理,改进为图2所示的并行流水结构。此结构在数据输入完毕后,各个乘累加器将依次输出相关结果,且在第一个乘累加器输出结果后,做相应的清零,就可以进行新数据的相关运算。
2.2 基于DSP48E的并行相关器
Xilinx公司的Virtex-5系列FPGA具有多个集成了补码乘法器和48位累加器的DSP48E硬核乘加单元[11]。每个硬核乘加单元不仅支持最高550 MHz的乘法累加器工作模式,并且带有用于增强性能的可选流水线级数。相邻的单元之间具有专用的级联通道,不需消耗片上逻辑与布线资源,只需进行简单的配置(图3)即可实现图2所示的并行相关结构。单个DSP48E硬核乘加单元有5个时钟的流水延迟,具有2m+1个乘加单元的并行相关结构,进行相关运算所需时间为:
2.3 m的选取[12-13]
为了确定m的取值,需要知道两接收机信号的粗略到达时间差及误差。当采用线性检波和固定门限检测时,到达时间测量的均方根变化为:
其中,floor(·)表示向上取整。实际应用中,可根据具体参数情况计算选择。
2.4 时差估计器的硬件实现
下面以2.2节基于DSP48E的并行相关器为核心设计时差估计器。设计采用的具体参数为:脉冲前沿最大为200 ns,中频SNR为10 dB,fclk与fs为250 MHz。由式(11)可求得m最小为48,即并行相关器需97个DSP48E硬核乘加单元。为了减少运算量,在满足定位精度需求下,只采集n=4 096(16.384 μs)的脉冲数据进行相关运算。