APP下载

一种基于FPGA的直扩信号检测器设计

2012-10-08张福洪

关键词:浮点数检测器信噪比

周 冲,詹 毅,张福洪

(杭州电子科技大学通信工程学院,浙江杭州310018)

0 引言

非合作条件下的直扩信号检测,是指通过已接收到的信号,判断出是否存在直扩信号传输,这是后续信号处理工作如参数估计乃至解调的先决条件。直扩信号的快速和自动化检测是一个很重要的研究课题,在现代电子战领域里处于特别有利的地位。迄今为止,国内外众多学者对直扩信号检测已做了大量的研究,提出了能量法[1],延时相关法[2],高阶累积量法[3],波动相关法[4]等不同的检测方法,其中基于波动相关法的直扩信号检测方法利用了周期性直扩信号扩频码周期性的特征来积累,可以在较低的信噪比下快速准确地检测出直扩信号。利用FPGA作为信号的高速处理平台,可以满足在现代电子战领域中对宽带直扩信号的实时侦查需要。本文从处理速度和适合信号处理等方面考虑,选择XILINX公司的Virtex-5系列芯片XC5VSX240T作为处理平台,采用Verilog语言编程,设计并实现了一种基于波动相关法的直扩信号检测系统。功能仿真表明,此系统在较低的信噪比下具有良好的检测性能,具有较高的工程应用价值。

1 算法原理

接收到的BPSK调制的直扩信号可以建模为:

A是接收到的信号的幅度,d(t)是原始信号,di是原始码序列,Td是代表原始信息码宽度,g(t)是门函数符号,p(t)是扩频信号,pj是扩频序列,Tp代表扩频码宽度,伪码周期可以定义成T0=NTp,N是一个周期伪随机序列元素个数,φ0是均匀分布于(0,2)区间的初始相位,n(t)代表加性噪声。一般地,一个周期的伪随机码调制一个信源比特,则有Td=T0。首先给出波动相关法检测流程如图1所示。

图1 波动相关法流程图

首先把接收到的信号x(t)切割成固定长度的M个非重叠窗[4,5],每个窗长为T。对于每个窗,都有关于自身的自相关函数然后对每个Rxx()平方后求平均得到自相关函数二阶矩:

虽然各次独立处理获得的自相关函数Rxx()的绝对值在各码周期的整数倍处不一定会出现相关峰,但多次独立处理结果的迭加就会使每个码周期整数倍处出现相关峰的概率增加。由于噪声相关谱线的随机性,迭加处理能够同时起到平滑噪声的作用,使得所需相关峰更易被检测到。

2 FPGA实现整体规划

如图2所示是直扩信号检测器整体框图,由多个子模块构成的。

图2 系统整体框图

由于浮点数可以在更大的动态范围内提供更高的分辨率,为了防止数据处理过程中出现溢出问题,本检测系统内部处理的数据格式全部采用IEEE 754标准的32位单精度浮点数。

3 关键模块设计

3.1 数据格式转换模块

包括定点数转浮点模块和浮点数转定点模块。在本系统中,定点数转浮点模块的输入是16位有符号定点数,其中7位整数位,8位小数位。输出信号是标准的32位单精度浮点数,其中8位指数,23位尾数。电路实现例化了两个floating point IP核,分别处理I路和Q路的输入数据,并将输出送到补零模块。

浮点数转定点模块作用刚好相反,它将一路单精度浮点数转换成16位有符号定点整数。电路例化了一个floating point IP核,输入信号端口对应平滑模块的输出数据端,输入使能对应平滑模块的输出使能。经过转换后的有效的定点数送到监控PC机上,用matlab软件做一次门限检测就可以判断是否存在直扩信号,如果存在,继续估计其伪码周期值。

3.2 补零模块

根据自相关算法理论[6],补零模块是自相关运算的一部分,作用是将每个长度为T的数据窗的部分数据设为零,如图2虚线框所示,上面的“补零3T/4”模块是将每个窗的后3/4部分数据赋为零,在设计实现时,用一个大小为T的计数器,当计数值大于T/4时将数据赋零,赋零后输出的I,Q两路送到FFT模块;图2虚线框下面的“补零T/2”模块是将每个窗的后1/2部分数据设为零,同样赋零操作可以用计数器实现。

3.3 FFT和IFFT模块

FFT和IFFT模块实现T点的变换,整个系统共例化3个fast fourier transform IP核,两个用于FFT,一个用于IFFT。另外,图2虚线框内示出了FFT输出的上一路和下一路要共轭相乘后再将结果送到IFFT模块,根据复数共轭相乘规则:

需要用到4个浮点数乘法器和两个浮点数加法器,设计时可以通过例化6个floating point IP核实现。

3.4 模平方模块

模平方模块的作用是对输入的复数求模平方,输出一路数据,该模块的输入是IFFT模块的I,Q两路输出。设计实现例化了两个浮点数乘法器和一个加法器,两乘法器分别实现I路和Q路数据的平方,加法器将两平方结果相加,这样就实现了浮点复数的模平方。

3.5 平滑模块

平滑模块作用就是式3所示的求平均操作,实现T/4长数据的平滑,平滑次数M由外部端口输入,取输入的每个窗的前T/4个数据相加,相加的临时数据存放在一个32(T/4)规格的简单双端口存储器里,由于存储容量较大,设计时直接采样IP核例化一个块存储器(BRAM)。根据式2,当M段数据迭加起来后需要除以常数M求出平均值。如果直接将此平均值送到下一个模块中,由于定点数表示的范围小于浮点数,格式转换会产生溢出,所以还要继续除以一个常数N使得格式转换不会溢出。在电路设计时,例化一个浮点数除法器,其中被除数为MN,MN的具体值由外部端口输入。

平滑实现流程具体如下:

(1)输入数据和存储器读出的临时数据按对应次序相加;

(2)加法结果写到存储器,覆盖原读出的数据;

(3)重复步骤(1)和(2)M-1次;

(4)(3)的结果除以常数MN;

(5)输出M次平滑结果。

4 硬件实现分析

采用本文的设计方法实现直扩信号检测器,在ISE12.3平台上进行逻辑综合和布局布线,工作时钟可以达到250MHz。布局布线后占用的部分硬件资源如表1所示。

表1 直扩信号检测器占用的硬件资源情况

5 仿真验证

外部输入信号预设:直扩信号x(t)采样率40kHz,码速率20kHz,载频4kHz,信噪比-10dB,BPSK调制,伪码周期6.35ms。检测系统切割数据窗长为1k点,FFT和IFFT的变换长度也为1k。

(1)在ModelSim中进行功能仿真,分别做15次和30次平滑,MATLAB上相关峰检测结果如图3所示,相邻相关峰的间距刚好等于伪码周期12.7ms。仿真结果表明,本系统可以很好地检测出低信噪比下的直扩信号,平滑次数越多,峰值越明显,检测性能就越好。

(2)完全用MATLAB做波动相关仿真的检测结果如图4所示,再与HDL设计的仿真结果图3对比,可以看出,在相同平滑次数条件下,基于FPGA的检测器检测输出信噪比和完全用MATLAB仿真的输出信噪比是一致的,说明本FPGA设计性能良好。

图3 HDL设计的仿真结果图

图4 完全用MATLAB仿真的检测结果

6 结束语

本文以FPGA为硬件设计平台,ISE为设计工具设计实现的一种直扩信号检测系统,给出了系统模型以及各个模块的设计思路。仿真结果表明该FPGA设计性能良好稳健,处理速度快,具有较高的工程应用价值。

[1]Urkowitz H.Energy detection of unknown deterministic signal[J].IEEE Proc,1967,55(24):523 -531.

[2]French C A,Gardner W A.Spread spectrum despreading without the code[J].IEEE Trans on Communications,1996,34(18):404-407.

[3]Spooner C M,Gardner W A.Exploitation of higher-order cyclostationarity for weak signal detection and time delay estimation[C].Victoria:Statistical Signal and Array Processing,1992:197 -201.

[4]Burel G.Detection of spread spectrum transmissions using fluctuations of correlation estimators[C].Hawaii:Proceedings of the IEEE International Symposium on Intelligent Signal Processing and Communication Systems,2000:1 -6.

[5]Burel G,Bouder E,Bender O.Detection of direct sequence spread spectrum transmissions without prior knowledge[J].IEEE:Global Telecommunications Conference,2001,1(12):236 -239.

[6]程乾生.信号数字处理的数学原理[M].北京:石油工业出版社,1993:254-256.

猜你喜欢

浮点数检测器信噪比
两种64排GE CT冠脉成像信噪比与剂量对比分析研究
四种Python均匀浮点数生成方法
基于深度学习的无人机数据链信噪比估计算法
基于二次否定剪切选择的入侵检测方法*
低信噪比下基于Hough变换的前视阵列SAR稀疏三维成像
在C语言中双精度浮点数线性化相等比较的研究
车道微波车辆检测器的应用
一种柱状金属物质量检测器的研究
非精确浮点数乘法器设计
一种雾霾检测器的研究与设计