✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信      无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机

⛄ 内容介绍

杂波背景中区分出有用目标回波 的恒虚警(CFAR)检测技术,是直接影响雷达性能的关键技术之一.主要研究了CFAR检测的基本理论,重点研究了ML类CFAR算法中的邻近单元平均恒 虚警(CA-CFAR)的检测算法,推导了其检测概率和虚警概率表达式,本文基于matlab模拟四类CFAR检测算法的检测概率与SNR的关系.

⛄ 代码

% 程序功能:四类CFAR检测算法的检测概率与SNR的关系 %

clc

clear all;

close all;

%% 参数设置

R = 24;                     % 参考单元长度

n = R/2;                    % 半滑窗长度

k = R*3/4;                  % os-cfar的参数

P_fa = 1e-6;                % 虚警概率

SNR_dB = (0:30);            % 信噪比

SNR = 10.^(SNR_dB./10);     % 信号功率与噪声功率的比值

syms T;                     % 门限因子的符号变量  syma定义符号变量

%% CA-CFAR

T_CA = P_fa^(-1/R)-1;           % CA-CFAR的门限因子

Pd_CA = (1+T_CA./(1+SNR)).^(-R);    % CA-CFAR的检测概率

%% SO-CFAR、GO-CFAR

Pfa_SO = 0;

syms T

for i = 0:n-1

    Pfa_SO = Pfa_SO+2*nchoosek(n+i-1,i)*(2+T)^(-(n+i));     % SO-CFAR的虚警概率表达式

end

T1_SO = solve(Pfa_SO == P_fa, T);       % 求解出虚警概率为P_fa时对应的门限因子T

T2_SO = double(T1_SO);                  %solve函数将P_fa带入求出T

T_SO = T2_SO(T2_SO == abs(T2_SO));      % SO-CFAR的门限因子

Pfa_GO = 2*(1+T)^(-n)-Pfa_SO;           % GO-CFAR的虚警概率表达式

T1_GO = solve(Pfa_GO == P_fa, T);       % 求解出虚警概率为P_fa时对应的门限因子T

T2_GO = double(T1_GO);

T_GO = T2_GO(T2_GO == abs(T2_GO));      % GO-CFAR的门限因子

Pd_SO = 0;

Pd_GO = 0;

for j = 0:n-1

    Pd_SO = Pd_SO+2*nchoosek(n+j-1,j).*(2+T_SO./(1+SNR)).^(-(n+j));     % SO-CFAR的检测概率

    Pd_GO = Pd_GO+2*nchoosek(n+j-1,j).*(2+T_GO./(1+SNR)).^(-(n+j));

end

Pd_GO = 2.*(1+T_GO./(1+SNR)).^(-n)-Pd_GO;         % GO-CFAR的检测概率

%% OS-CFAR

Pfa_OS = k*nchoosek(R,k)*gamma(R-k+1-T)*gamma(k)/gamma(R+T+1);           % OS-CFAR的虚警概率表达式

T1_OS = solve(Pfa_OS == P_fa, T);       % 求解出虚警概率为P_fa时对应的门限因子T

T2_OS = double(T1_OS);

T_OS = T2_OS(T2_OS == abs(T2_OS));      % OS-CFAR的门限因子

Pd_OS = k*nchoosek(R,k)*gamma(R-k+1-T_OS./(1+SNR))*gamma(k)./gamma(R+T_OS./(1+SNR)+1);      % OS-CFAR的检测概率

%% 画图

figure;

plot(SNR_dB,Pd_CA,'r-*');

hold on;

plot(SNR_dB,Pd_SO,'k-^');

plot(SNR_dB,Pd_GO,'b-o');

plot(SNR_dB,Pd_OS,'m-.');

grid on;

xlabel('SNR','FontName','Time New Romans','FontAngle','italic');

ylabel('P_{d}','FontName','Time New Romans','FontAngle','italic');

title(['恒虚警率 P_{fa}= ',num2str(P_fa),',参考单元 2n= ',num2str(R)]);

legend('CA','SO','GO','OS');

⛄ 运行结果

基于matlab模拟四类CFAR检测算法的检测概率与SNR的关系_Time

⛄ 参考文献

[1] 毛云. 雷达杂波图CFAR检测算法研究及实现[D]. 西安电子科技大学.

[2] 刘盼芝, 韩崇昭. 基于自动筛选技术的分布式CFAR检测算法[J]. 系统工程与电子技术, 2008, 30(6):6.

[3] 张云秀, 赵春晖, ZHANGYun-xiu,等. 基于直方图参数估计CFAR的SAS图像目标检测算法的研究[J]. 黑龙江大学自然科学学报, 2011, 28(3):6.

[4] 杨光, 潘瑞云, 蒋迺倜,等. OSGO-CFAR算法检测性能分析及FPGA实现[J]. 雷达与对抗, 2015, 35(3):4.

[5] 郝迎春, 陈客松. 雷达CFAR检测的仿真研究[J]. 全球定位系统, 2012, 37(1):3.

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料