基于FPGA的自动门限线谱检测研究
2020-04-20肖大为李立伟马伯乐
肖大为,姬 庆,李立伟,马伯乐
(海军工程大学 兵器工程学院,湖北 武汉 430033)
0 引言
由于舰船噪声谱中的线谱特征信号蕴含了舰船类型、运动参数等重要信息,因此,线谱的检测对于目标探测具有重要意义[1]。固定门限检查法是一种传统有效的线谱检测方法,但是容易在连续谱背景平滑的情况下漏掉幅度较低的线谱,而海洋背景噪声起伏较大时误将幅度大的峰值判定为有用的线谱信号。因此,根据背景噪声方差的大小,自适应地调整门限,对水下无人平台具有重要的意义[2]。现场可编程门阵列(Field Programmable Gate Array,FPGA)是一种半定制电路,广泛应用于高性能数字信号处理电路中,具有集成度高、电路规模小的特点,应用于舰船辐射噪声的线谱检测是一个重要的研究内容[3]。
本文首先推导研究了功率谱线谱检测的统计性能,给出了线谱检测的一般步骤,然后利用数值仿真对比分析了自动门限与固定门限 2种线谱检测方法,并采用FPGA实现了该线谱检测的算法。
1 线谱检测的统计性能分析
为了更好地描述舰船线谱信号的一般检测原理,现将检测模型简化为含噪声信号的单线谱检测,则其二元假设检验模型可表示为[1]
H1,H0分别代表有无目标两种情况下的信号观测模型。式中:N为离散信号数据点数;ω0=2πf0/fs是单频线谱信号的归一化角频率;f0和fs分别为线谱的频率和信号的采样率;φ为信号初始相位,假定在[0,2π)范围内均匀分布。假定g(n)是方差为σg的高斯白噪声,则x(n)的离散 Fourier变换(Discrete Fourier Transform,DFT)为[4]
XR(k)和XI(k)是x(n)的线性组合,同时服从高斯分布
x(n)的功率谱检测器定义为
其服从chi平方分布:
y=PX(k)/σ2概率密度分布为
从而,可以计算得到线谱信号检测的虚警概率为
检测门限为
检测概率可表示为
2 线谱检测算法一般过程
上节中,已对线谱信号的检测统计性能进行分析,线谱检测统计本质是将能量较大的线谱信号进行准确地判断识别。线谱检测算法的一般过程由以下几个部分组成:1)提取局部最大值点;2)设置边界斜率门限;3)卡峰高门限[3-4]。
1)提取局部最大值点。
一般认为,在频谱或者功率谱选择范围内谱线峰值高于两边谱线峰值的点为辐射噪声的线谱频率点。所以线谱的处理过程是提取局部极大点,保留峰值。设k-1、k、k+1三点的谱值分别为yk-1、yk、yk+1, 求 一 阶 差 分 : Δyk=yk+1-yk, Δyk-1=yk-yk-1。若 Δyk<0且 Δyk-1> 0 ,则判断yk为局部极大值点。
2)设置边界斜率门限。
由于舰船的频谱结构是由线谱和连续谱组成,而且连续谱上往往存在一些起伏不大的峰值点。这些点满足左右边界分别为正负斜率的要求,但它们正负斜率的绝对值较小,也就意味着其只是舰船辐射噪声的连续谱,而不是线谱频点。因此,设定一个合理的斜率门限,可消除一部分连续谱的峰值。
3)卡峰高门限。
所谓峰高,是从当地连续谱的基线起算的相对峰高。在上一步筛选出的峰值可能包含一些由于谱估计的随机起伏造成的毛刺,它们是伪峰,因此,需要采用卡峰高门限的方法将伪峰剔除。固定门限法的处理思路是把整个频率轴分为K个区段,计算每一个区段内所有局部极大值的均值,再乘以一固定比例因子得到固定的线谱门限值,利用这个门限值剔除小于此门限值的谱线。
我们知道,当海洋背景环境不好时,风浪、渔船等干扰声信号致使连续谱起伏剧烈,提取的线谱质量较低。此时观测信号方差大,应提高门限以排除伪峰;相反,当背景噪声方差小时应降低峰值门限。总的来说,自动门限法的基准值应该比固定门限法理论值可适当降低,同时要大于噪声方差,对于不同起伏程度的连续谱背景可自适应调节。
3 线谱检测的仿真分析
本文分别通过仿真对固定门限和自动门限两种检测算法进行对比分析,验证自动门限线谱检测算法的自适应性。大量舰船辐射噪声测量资料的分析研究表明:机械噪声中产生的线谱信号可用周期信号组合来模拟[1,5]。
式中:N为线谱条数;Ak、fk和kφ分别为第k条线谱对应的幅度、频率、随机相位。在白噪声中加入频率为 60 Hz、120 Hz、180 Hz、240 Hz和 300 Hz的周期信号,采用固定门限的方法,在理论值附近经过试探选取门限,得到检测结果如图1所示。结果表明提取线谱的效果较好[6]。
图1 固定门限线谱检测结果图Fig.1 Result of fixed threshold line-spectrum detection
改变背景噪声方差的大小,得到在不同背景条件下采用固定门限与自动门限提取线谱的结果如图 2、图 3所示。其中“o”表示固定门限的检测结果,“*”表示自动门限的检测结果。
图2 背景起伏小时2种检测方法结果图Fig.2 Results of two detection methods under small background noise
图3 背景起伏大时2种检测方法结果图Fig.3 Results of two detection methods under strong background noise
由图2可以看到,在背景起伏较小时,采用固定门限漏掉了60 Hz的线谱,而采用自动门限则仍然能够检测到,说明固定门限偏高。当背景起伏较大时,由于300 Hz处的线谱已经完全淹没于噪声中,因此2种方法都没能检测到。从图3中可以看出,采用固定门限将许多伪峰误认为是线谱,且漏掉了240 Hz处的线谱。而采用自动门限虽然也漏掉了120 Hz处的线谱信号,但并没有将任何伪峰误认为是线谱。因此,采用自动门限能够更有效地检测到线谱。
4 线谱检测的FPGA实现
4.1 基于FPGA的线谱检测系统结构设计
为了验证线谱检测算法的实际应用能力,本节将设计基于FPGA的线谱检测系统,利用现代信号处理硬件技术,完成算法的实际验证。基于FPGA的系统结构设计框图如图4所示。采用自顶向下的设计方法,工作状态包括数据的采集、预处理、FFT和自动门限的线谱检测等[7-8]。
图4 线谱检测系统结构设计框图Fig.4 Deign diagram of line-spectrum detection system structure
对采集得到的舰船辐射噪声信号做模数转换之后再进行预处理,用以增强输入信号中的线谱成分。时域信号处理结束后,将其装入1#双口RAM中进行缓存,等采样信号达到N个数据点后,FFT模块开始对这N个数据进行快速Fourier变换,完成对输入信号由时间序列向频谱序列的转换。对得到的频谱序列进行求模运算,并存入 2#双口RAM模块中。自动门限线谱检测单元调用2#双口RAM中的频域数据并进行分析,进而识别出频谱的峰值位置。
4.2 自动门限线谱检测算法的实现及验证
在 QuartusII11.0 中,先对编写好的各个模块的verilog程序进行元件的创建,再将创建好的各元件进行连接,即可生成完整的系统。其中,FFT模块和双口RAM模块可直接调用相应的IP核[9-10]。
采用实测实验数据对所设计的系统进行验证。实验数据来自于某次汉江试验,取实验船辐射噪声信号中第30 s的数据为样本,使用modelsim对其进行仿真,得到输出结果如图5所示。
图5 modelsim仿真输出图Fig.5 Figure of modelsim simulation output
由仿真输出可知,在频率为24 Hz、225 Hz、1 489 Hz处能够检测到线谱的存在,与输入实测数据的功率谱图6所示的结果相符。由于各线谱所在频率范围内的噪声方差不同,对应的检测门限也有所不同。综上所述,该系统能够达到自适应门限线谱检测的效果。
图6 实测数据功率谱图Fig.6 Power spectrogram of measured data
5 结束语
通过背景噪声方差的变化采取自动门限能够更好地达到线谱检测的效果。改善了固定门限容易造成的伪峰误判和线谱漏判,降低了虚警概率。而利用FPGA来设计该线谱检测系统,实验结果表明检测效果良好。