[解疑][TI]TI毫米波雷达系列(六):经典恒虚警(CFAR)算法门限因子alpha的计算

9 篇文章 58 订阅
5 篇文章 4 订阅

本文汇集CA、SO、GO、OS、杂波图等恒虚警算法的门限因子求解方法及其matlab实现程序。

CA-CFAR

非常简单,可以直接求解。

%% 均值恒虚警_门限因子计算公式
%% 版本:v1
%% 时间:2019.11.08
%% 终版【不在优化】
 
function [ alpha ] = form_ALPHA_ca( PFA,N )
%FORM_ALPHA_CA 此处显示有关此函数的摘要
%   PFA:虚警概率
%   N:参考单元个数
 
alpha=N.*(PFA.^(-1./N)-1);
 
end

SO-CFAR

这个门限因子求解是一个非常复杂的高阶函数,基本上无法通过反函数求解,这里使用二分求解法解决。
PFA计算函数

%% 虚警概率_均值选小
%% 时间:2019.11.27
%% 版本:v1【不在优化】
 
function [ PFA ] = form_PFA_so( ALPHA,N )
%FORM_PFA_GO 此处显示有关此函数的摘要
%   ALPHA:门限因子
%   N:参考窗个数
 
PFA=0;
n=N/2;
for i=0:n-1
    PFA=PFA+2.*gamma(n+i)./gamma(i+1)./gamma(n).*(2+ALPHA./n).^(-(n+i));
end
 
end

GO-CFAR

PFA计算函数

%% 虚警概率_均值选大
%% 时间:2019.11.27
%% 版本:v1【不在优化】
 
function [ PFA ] = form_PFA_go( ALPHA,N )
%FORM_PFA_GO 此处显示有关此函数的摘要
%   ALPHA:门限因子
%   N:参考窗个数
 
PFA=0;
n=N/2;
for i=0:n-1
    PFA=PFA-2.*gamma(n+i)./gamma(i+1)./gamma(n).*(2+ALPHA./n).^(-(n+i));
end
PFA=PFA+2.*(1+ALPHA./n).^(-n);
 
end

OS-CFAR

%% 虚警概率_有序
%% 时间:2019.11.27
%% 版本:v1【不在优化】
 
function [ PFA ] = form_PFA_os( ALPHA,N,Rate )
%FORM_PFA_GO 此处显示有关此函数的摘要
%   ALPHA:门限因子
%   N:参考窗个数
%   Rate:比例点
 
k=ceil(N.*Rate);
PFA=gamma(N+1).*gamma(N-k+ALPHA+1)./gamma(N-k+1)./gamma(N+ALPHA+1);
 
end

杂波图

点参数

%% 虚警概率_杂波图_点参数
%% 时间:2019.11.27
%% 版本:v1【不在优化】
 
function [ PFA ] = form_PFA_cm_point( ALPHA,m,r )
%FORM_PFA_CM 此处显示有关此函数的摘要
%   ALPHA:门限因子
%   m:天线旋转周期
 
PFA=1;
for n=0:m-1
    PFA=PFA.*(1+ALPHA.*r.*(1-r).^n).^-1;
end
 
end

面参数

%% 虚警概率_杂波图_面参数
%% 时间:2019.11.27
%% 版本:v1【不在优化】
 
function [ PFA ] = form_PFA_cm_surface( ALPHA,m,r,M )
%FORM_PFA_CM 此处显示有关此函数的摘要
%   ALPHA:门限因子
%   m:天线旋转周期
%   M:参考单元数
 
PFA=1;
for n=0:m-1
    PFA=PFA.*(1+ALPHA.*r.*(1-r).^n./M).^-1;
end
end

二分求解法核心函数

%% 二分法求解方程的解
%% 时间:2019.11.27
%% 版本:v1【不在优化】
 
function [ d1 ] = func_SOLUTION_binary( d1_scope,d2_precision,func,parameter)
%FUNC_SOLUTION_BINARY 此处显示有关此函数的摘要
%   d1: 已知数值
%   d2: 目标数值
%   d2_scope: 目标初始范围【小值,大值】
%   d1_precision: 目标数值精度【精度值】
%   func: 公式
%   parameter: 相关参数【类型自定】 1=ALPHA, end=d2
 
shape=size(parameter);
if shape(2)==2      %只有一个参数额外参数需要输入
    while 1
        d1=mean(d1_scope);
        d2=func(d1,parameter(1,1));     % 本质上是PFA_pre
        d2_difference=1/d2-1/parameter(1,end);
        if abs(d2_difference)<d2_precision || abs(d1_scope(1,1)-d1_scope(1,2))<0.001
            return;
        elseif d2_difference<0
            d1_scope(1,1)=d1;
        else
            d1_scope(1,2)=d1;
        end
    end
elseif shape(2)==3      % 用于OS_CFAR门限因子的计算
    while 1
        d1=mean(d1_scope);
        d2=func(d1,parameter(1,1),parameter(1,2));     % 本质上是PFA_pre
        d2_difference=1/d2-1/parameter(1,end);
        if abs(d2_difference)<d2_precision || abs(d1_scope(1,1)-d1_scope(1,2))<0.001
            return;
        elseif d2_difference<0
            d1_scope(1,1)=d1;
        else
            d1_scope(1,2)=d1;
        end
    end
end
end

测试样例及其输出结果

clear;
 
PFA=10^(-4);
N=36;
Rate=0.5;
 
[ ALPHA ] = form_ALPHA_ca( PFA,N );
[ PFA1 ] = form_PFA_ca( ALPHA,N );
 
d1_scope=[0,100];
d2_precision=1;
func1=@form_PFA_ca;
func2=@form_PFA_so;
func3=@form_PFA_go;
func4=@form_PFA_os;
 
func5=@form_PFA_cm_point;
 
parameter=[N,PFA];
parameter4=[N,Rate,PFA];
parameter5=[100,1./512,PFA];
 
 
[ ALPHA1 ] = func_SOLUTION_binary( d1_scope,d2_precision,func1,parameter);
[ ALPHA2 ] = func_SOLUTION_binary( d1_scope,d2_precision,func2,parameter);
[ ALPHA3 ] = func_SOLUTION_binary( d1_scope,d2_precision,func3,parameter);
ALPHA3_1=form_ALPHA_os (N,Rate,PFA);
[ ALPHA4 ] = func_SOLUTION_binary( d1_scope,d2_precision,func4,parameter4);
 
[ ALPHA5 ] = func_SOLUTION_binary( d1_scope,d2_precision,func5,parameter5);

输出结果展示

在这里插入图片描述

参考

雷达无线电系列(三)经典CFAR算法门限因子alpha计算(matlab)https://www.cnblogs.com/Mufasa/p/11950154.html
万分感谢博主万雨的无私分享。



写于关雎


在这里插入图片描述


新浪微博:https://weibo.com/tianzhejia
CSDN博客:https://blog.csdn.net/qq_35605018
博客网站:http://www.zhijiadeboke.xyz
GitHub:https://github.com/ZhijiaTian
QQ邮箱:2461824656@qq.com
126邮箱:tianzhejia@126.com
Outlook邮箱:tianzhejia@outlook.com

以上均可与本人取得联系,欢迎探讨。^ v ^

  • 7
    点赞
  • 91
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
CA-CFAR(Cell Averaging Constant False Alarm Rate)是一种常用的雷达目标检测算法,该算法是一种基于统计学原理的算法,可以对雷达回波信号进行处理,实现目标检测和虚警抑制。 CA-CFAR算法的基本思想是:在雷达回波信号的某个区域内,通过统计学手段计算该区域内的平均功率值和噪声功率值,然后通过比较这两个值来确定该区域是否存在目标。如果该区域内的平均功率值超过了噪声功率值的一个阈值,那么就认为该区域内存在目标。 在毫米波雷达信号处理中,基于CA-CFAR恒虚警目标检测算法主要包括以下几个步骤: 1. 选择检测窗口:首先需要选择一个合适的检测窗口,在该窗口内进行目标检测。 2. 计算局部平均功率值:在检测窗口内,计算每个单元格的功率值,并选取一个合适的单元格作为参考单元格。然后计算参考单元格周围的若干个单元格的功率值的平均值,作为局部平均功率值。 3. 计算局部噪声功率值:在检测窗口外,选择若干个单元格作为噪声参考单元格,计算这些单元格的功率值的平均值,作为局部噪声功率值。 4. 计算阈值:根据局部平均功率值和局部噪声功率值,计算检测窗口内的阈值。根据设定的虚警概率,可以得到相应的阈值。 5. 进行目标检测:在检测窗口内,对每个单元格的功率值与阈值进行比较,如果功率值大于阈值,则认为该单元格内存在目标。 通过以上步骤,可以实现基于CA-CFAR恒虚警目标检测算法,对毫米波雷达信号进行处理,实现目标检测和虚警抑制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值