雷达系统必备知识

您所在的位置:网站首页 雷达发现概率和虚警概率的区别 雷达系统必备知识

雷达系统必备知识

2023-11-09 19:26| 来源: 网络整理| 查看: 265

CFAR,全称是Constant False Alarm Rate Detector,恒定虚警概率下的检测器,是雷达目标检测的一种常见的手段。

但是不论名字怎么起,检测器功能都在于判断目标存在的有和无。因此检测器的作用就变成了在含有噪声的情况下确定信号存在还是不存在。在我们不知道目标是否存在的情况下,目标检测就变成了根据两种可能的假设来做出判决,此时这个问题我们称为二元假设检验问题。来复习一下学过的课程,二元假设检验问题。

何为二元假设检验问题?我们做一个简单的数学描述,假设存在一个方差为 \sigma^2 的高斯白噪声 w[n] ,在其中检测一个幅度为A=1的直流电平,此时变为我们要在两个假设中做出判决。

x[0]=w[0]\\ x[0]=w[0]+1

由于我们假定噪声的均值为0,如果我将判决门限定为 1/2x[0]1/2 判定为有目标, x[0]1/2 判定为无目标,那么我们并不能期望所有时刻都能判决正确,但是可以保证大部分情况下的判决都是正确的。如果我们进行大量重复实现,就更加容易的理解这一点,重复试验那好办,交给matlab来做,那么代码来实现一下上述过程:

clear;clc; std = 1; %标准差 N = 1000; %信号长度 noise = std*randn(N,1); %构造噪声,期望值为0,标准差为1 sig = 1 + std*randn(N,1); %构造目标,期望值为1,标准差为1 [fn,xn] = ksdensity(noise); %计算概率密度函数 [fs,xs] = ksdensity(sig); %计算概率密度函数 %-------------------------------------------------------------------------- % 可视化 %-------------------------------------------------------------------------- figure(1) subplot(131) plot(fn,xn,fs,xs);grid on legend('噪声pdf','信号pdf') subplot(1,3,[2 3]) plot(1:numel(noise),noise,1:numel(sig),sig);grid on legend('噪声','信号') figure(2) plot(xn,fn,xs,fs);grid on

那么如果标准差变化,假设我们让 \sigma=0.1 ,以1/2为门限,错误判决的数量就会显著减少

如果将标准差改为\sigma=0.5 ,错误判决的数量又会增大

如果标准差还为\sigma=1 ,但是检测电平改为 A=5 ,当然这里我们把门限改为 5/2 的话,错误判决的数量又会减小

因此我们可以看到,检测器的性能是随着pdf距离的增加,或者随着 A^2/\sigma^2 (信噪比)的增加而有所改善。这个例子说明了一个基本的结论,检测性能取决于两种假设的辨识,或者等效于两种pdf的辨识。

我们把以上检测问题看做为在两种假设 H_0H_1 中进行选择,其中H_0表示只有噪声,H_1 表示存在信号,这样子我们可以表示为:

H_0:x[0]=w[0]\\H_1:x[0]=1+w[0]

对应于不同的假设,PDF分别用 p(x[0]:H_0)p(x[0]:H_1) 表示,对于这个例子如图

p(x[0]:H_0)=1/\sqrt{2\pi\sigma^2}exp(-x^2[0]/2\sigma^2)\\ p(x[0]:H_1)=1/\sqrt{2\pi\sigma^2}exp(-(x[0]-1)^2/2\sigma^2)

A=0 时,我们得到 p(x[0]:H_0) ;当 A=1 时,我们得到 p(x[0]:H_1) ,因此,我们可以把检测问题看做参数检验问题。给定一个观测 x[0] ,它的pdf由上式给出,我们希望检验 A=0 还是 A=1 ,或者用符号表示为:

H_0:A=0\\ H_1:A=1

这称为pdf的参数检验。如果有小伙伴对这块的内容感兴趣可以去看看

第三章 信号状态的统计检验理论 这块有详细的理论介绍,除了雷达系统,通信系统的M元信号估计等也有详细解释。我就不再这里展开了,感兴趣的小伙伴自己花时间好好看书,打好基础。

复习完了原来的知识后,肯定有小伙伴会有疑问了。雷达工作的情况下,大部分时候并没有电平为1的目标信号,那么在我们是不知道目标回波信号的电平大小的情况下,如何确定检测门限呢?

当回波信号只有噪声的时候,门限判决把噪声分为两种情况

当回波信号只有信号的时候,门限判决把信号也分为两种情况

我们就得到了四种情况,如表格所示:

回波信号判决结果信号不存在目标不存在信号不存在目标存在(虚警概率)信号存在目标不存在(漏检概率)信号存在目标存在(检测概率)

从图上可以看出,蓝色为回波信号不存在时候的概率密度函数,红色为回波信号存在时候的概率密度函数。这样子我们就将表格对应的四种情况如图所示了。

同时我们也引入一个虚警概率的概念,那么虚警概率实际上就是信号是噪声(蓝色部分),但是门限判决为目标的时候,认为是目标(蓝色pdf被黄色门限切割后靠右侧的部分),图中蓝色箭头指向的蓝色区域的面积即为虚警概率。

真实的雷达回波信号往往不知道信号的概率密度函数,大部分回波信号都是噪声,我们并不能向上面所述那样确定一个门限1/2为最佳判决门限,因此从噪声下手,我们可以计算噪声回波信号的统计特性,复习一下高斯分布与标准差关系。

我们看一个高斯分布的标准差,高斯分布的标准差始终和概率密度函数绑定起来,也就是说,随着噪声的统计特性起伏变化,标准差也在起伏变化,那么如果我们把门限定为 k\cdot\sigma 就可以确定一个恒定的虚警概率,这就是恒虚警检测的核心思路,保证虚警概率一致,并且会随着环境噪声自适应的起伏,因为标准差,本身就是跟着环境自适应的起伏。

基础知识就复习完了,理论上的细节部分自己看书复习,那么下来我们来看工程实现。

对于雷达系统来说,雷达检测器要求要尽可能的简单。实际工作过程中,将信号与阈值比较是很快的一种工程方法,因此这个阈值的计算本身就隐含了检测概率和虚警概率。通过前置知识复习之后,我们认识到,对于雷达系统来说,阈值的选择目的在于保证最大化的检测概率以及虚警概率小于一定的量级。上述理论介绍中,我们都是基于理想假设以及已知方差(功率)的白噪声,实际的应用过程中常常是色噪声并且其功率未知。因此CFAR技术主要就是用于解决这个问题的。

在CFAR中,检测需要一个指定的距离单元,常被成为被,称为检测单元(CUT, cell under test),噪声功率根据临近的距离单元得到。检测的阈值为T,有如下表达式:

T=a\cdot P_n\\

式中 P_n 表示噪声功率估计, a 是一个缩放因子,或者称为阈值因子。从式中我们可以看到阈值的计算对应于数据,选择一个合适的阈值因子,虚警概率就可以保持为一个常数,因此该方法称为CFAR。

以平均单元CFAR检测CA-CFAR举例,CA-CFAR检测应该是雷达系统里面目前最广泛的CFAR检测器,因此我们学习这个东西就先把基础打好,从最基本的CA-CFAR开始。

在一个平均单元CFAR检测中,在CUT单元的前后,噪声采样被提取出来。噪声功率估计采用如下方式计算:

P_n = 1/N*sum(X)\\

式中N表示X的长度,即为训练单元的数量。X的值按照平方律检波是功率信号的输出。而CFAR检测器一般情况下起始和结尾的训练单元都是一样的,守护单元被放在测试单元的两侧,目的是用于消除信号进入新联大院开始和结尾的多余能量,以1维CFAR检测器举例,训练单元,守护单元,测试单元排列结构如下:

|□| 训练单元 |■| 守护单元 |◎| 检测单元

一维CFAR检测器如图所示

|□□□□□□|■|◎|■|□□□□□□|

根据上述单元平均CFAR检测,假设一个单脉冲数据通过检测器,如果没有脉冲进来,那么阈值因子可以表示为

a=N*P^{-1/N-1}\\

式中P表虚警率(这里是概率,不是功率,注意区分)。

说了这么多,下来就是上代码部分了,CFAR的学习其中有一篇MATLAB的文档,官方打包好了CFAR检测器。

Constant False Alarm Rate (CFAR) Detection

文档中理论代码都有,不过CFAR是官方打包好的,你看里面的实现估计学习起来会费劲一些,如果自己动手写一遍的话,上手会快很多,所以我自己写了一个,当然我自己做的函数偷了个懒,cfar_detector里面稍微和官方的有点微小的区别,但是区别又没辣么大,你们如果有兴趣自学的话,花时间研究研究。

%-------------------------------------------------------------------------- % 初始化 %-------------------------------------------------------------------------- clear;clc; sig = randn(1000,1); %构造噪声信号 sig(300) = 15; %构造目标信号 sig_pow = sig.^2; %信号平方 [detected,th] = sp.cfar_detector(sig_pow,[1e-6 1e-6],[8 3 1 3 8]); %CFAR检测器,输出检测结果 %-------------------------------------------------------------------------- % 可视化 %-------------------------------------------------------------------------- figure(1) plot(sig_pow);hold on plot(th); plot( find(detected==1),sig_pow(detected),'ro') grid on hold off legend('回波信号','判决门限','判决结果')

当然除了CA-CFAR还有其他各种各样的改动,如果你对这块工程化以及理论感兴趣的话,推荐去看一下这本,我非常喜欢的书

里面对常见的CFAR检测器都有详细的说明,还有性能对比,适用场景等等,不只是CA-CFAR。

有些小伙问我工具箱怎么用?这个其实挺简单的

只需要将文件夹+sp放到执行目录,写程序的时候函数前面带个sp.即可。

qwe14789cn/SP: 信号处理工具箱 (github.com)

最后受限于文章篇幅,我不想在这里长篇大论的跟上课一样,还是希望大家自学,因此有些内容就很快的略过了。目的还是让你觉得雷达学习有趣,兴趣起来了自己花时间看书打好基础即可。

例如前文中提到门限定1/2直觉上是没错,有没有理论证明过程?CFAR有没有二维形式?除了CA-CFAR有没有其他形式检测器?欢迎各位小伙伴课后主动学习。

今天的内容就到这里了,代码少理论多,有不足之处欢迎指正,转载请注明知乎来源,谢谢~



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3