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

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

✅作者简介:热爱科研的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');

⛄ 运行结果

⛄ 参考文献

[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电子书和数学建模资料


相关文章
|
7天前
|
机器学习/深度学习 人工智能 算法
基于DCT和扩频的音频水印嵌入提取算法matlab仿真
本文介绍了结合DCT和扩频技术的音频水印算法,用于在不降低音质的情况下嵌入版权信息。在matlab2022a中实现,算法利用DCT进行频域处理,通过扩频增强水印的隐蔽性和抗攻击性。核心程序展示了水印的嵌入与提取过程,包括DCT变换、水印扩频及反变换步骤。该方法有效且专业,未来研究将侧重于提高实用性和安全性。
|
2天前
|
机器学习/深度学习 算法 计算机视觉
m基于Yolov2深度学习网络的人体喝水行为视频检测系统matlab仿真,带GUI界面
MATLAB 2022a中使用YOLOv2算法对avi视频进行人体喝水行为检测,结果显示成功检测到目标。该算法基于全卷积网络,通过特征提取、锚框和损失函数优化实现。程序首先打乱并分割数据集,利用预训练的ResNet-50和YOLOv2网络结构进行训练,最后保存模型。
12 5
|
10天前
|
机器学习/深度学习 存储
matlab使用分位数随机森林(QRF)回归树检测异常值
matlab使用分位数随机森林(QRF)回归树检测异常值
15 0
|
11天前
|
文字识别 算法 计算机视觉
图像倾斜校正算法的MATLAB实现:图像倾斜角检测及校正
图像倾斜校正算法的MATLAB实现:图像倾斜角检测及校正
15 0
|
11天前
|
算法 数据可视化 数据挖掘
R语言社区主题检测算法应用案例
R语言社区主题检测算法应用案例
12 0
|
14天前
|
机器学习/深度学习 算法
【MATLAB】GA_ELM神经网络时序预测算法
【MATLAB】GA_ELM神经网络时序预测算法
286 9
|
26天前
雷达检测及MATLAB仿真(三)
雷达检测及MATLAB仿真
21 0
|
1月前
|
XML 机器学习/深度学习 算法
目标检测算法训练数据准备——Penn-Fudan数据集预处理实例说明(附代码)
目标检测算法训练数据准备——Penn-Fudan数据集预处理实例说明(附代码)
34 1
|
1月前
|
算法
m基于log-MPA检测算法的SCMA通信链路matlab误码率仿真
MATLAB 2022a仿真实现了稀疏码多址接入(SCMA)算法,该算法利用码本稀疏性实现多用户高效接入。每个用户从码本中选取码字发送,接收端采用Log-MPA算法进行多用户检测。由于MAP检测计算复杂度高,故采用Log-MPA降低复杂性。仿真展示了不同迭代次数(1, 5, 10, 30)对误码率(BER)的影响,通过比较各次迭代的BER曲线,研究算法性能与迭代次数的关系。
22 0
|
3月前
|
Perl
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)