一个关于有序统计类的恒虚警检测OS-CFARmatlab代码

简介: 一个关于有序统计类的恒虚警检测OS-CFARmatlab代码

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

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

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

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

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

⛄ 内容介绍

在杂波背景中区分出有用目标回波的恒虚警检测技术,是直接影响雷达性能的关键技术之一。本文围绕杂波信号建模及雷达恒虚警检测,开展了杂波信号理论建模、硬件模拟、杂波恒虚警算法及其硬件实现方面的研究。

⛄ 完整代码

clear all;clc;close all;

%%%%  仿真数据  %%%%

T=0.25;M=100;tc=T/M;fc=1/tc;%%% 一个扫频周期T 为250ms ;M为每个周期采样点100 ;fc采样频率

N=256;n=1:N;%% 一个相关积累时间64

%%%

fw=10;%% 雷达工作频率10MHz

fb=0.102*sqrt(fw);%% bragg 频率

fs=1;%%  信号频率

a_db=-10;a=10^(a_db/20);%% 正Bragg峰幅值

b_db=-12;b=10^(b_db/20);%% 负Bragg峰幅值

c_db=-35;c=10^(c_db/20);%% 噪声基底

s_db=-30;s=10^(s_db/20);%% 信号幅度

bragg=a.*exp(j*2*pi*fb*T.*n)+b.*exp(-j*2*pi*fb*T*n);%%% 正弦序列产生 Bragg 峰

signal=s.*exp(-j*2*pi*fs*T*n);

nosic=c.*random('Normal',0,1,1,N);

x=bragg+nosic+signal;

%%%

Fx=abs(fftshift(fft(x)));

freq=(-1/(2*T):1/(T*N):(1/(2*T)-1/(T*N)));

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CA-CFAR  %%%%%%%%%%%%%%%%%%%%%%%%%

M=N;P_fa=10.^(-7);

R=16;%参考单元数

n=R/2;

k=14;

L_slipper=R+1;%滑窗长度

L_move=1;%滑窗间隔

L_num=floor((M-L_slipper)/L_move)+1;%滑窗次数

Z=zeros(1,L_num);

for i=1:L_num

   for j=1:L_slipper

       B(j)=(Fx((i-1)*L_move+j));

   end

     B=sort(B);

     Z(i)=B(k);

end

T=2.496;


S=Z.*T;

figure;plot(freq,20.*log10(Fx/max(Fx)),'k');

hold on;plot(freq(n+1:M-n),20.*log10(S/max(S)));

xlabel('频率');ylabel(' 归一化幅值/dB');title('OS-CFAR');set(gcf,'color','white');grid on;

⛄ 运行结果

⛄ 参考文献

[1] 何友, RohlingH. 有序统计恒虚警(OS—CFAR)检测器在韦尔尔扰背景中的性能[J]. 电子学报, 1995, 23(1):6.

[2] 吴旖. 雷达信号恒虚警检测处理研究[D]. 南京理工大学, 2010.

[3] 李耀通. 海杂波的智能恒虚警关键技术的研究[D]. 大连海事大学, 2015.

[4] 何友RohlingH. 有序统计恒虚警(OS-CFAR)检测器在韦布尔干扰背景中的性能[J]. 电子学报, 1995, 23(1):79-84.

⛳️ 代码获取关注我

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


相关文章
|
7月前
|
存储 Shell Linux
C语言模拟实现Liunx操作系统与用户之间的桥梁shell(代码详解)
C语言模拟实现Liunx操作系统与用户之间的桥梁shell(代码详解)
88 1
C语言模拟实现Liunx操作系统与用户之间的桥梁shell(代码详解)
|
2月前
|
算法 搜索推荐 开发工具
探索代码的奥秘:技术感悟与实践探索操作系统的心脏:内核
【5月更文挑战第31天】在数字世界的编织中,每一行代码都承载着创造者的智慧和汗水。本文将带你深入编程的核心,揭示那些隐藏在日常开发实践中的技术真谛。从算法的精妙到系统的架构,我们将一同探讨如何通过技术提升效率,解决问题,并在这个过程中获得个人成长。 【5月更文挑战第31天】本文深入剖析了操作系统的核心组件——内核,探讨了其设计哲学、功能职责以及在现代计算环境中的重要性。通过分析内核的工作原理和它如何与硬件、软件交互,我们将揭示这个隐藏在用户界面背后的力量之源。
|
2月前
|
存储 缓存 程序员
手写操作系统(2)——代码是怎么运行的?(下)
手写操作系统(2)——代码是怎么运行的?
23 1
|
2月前
|
存储
手写操作系统(2)——代码是怎么运行的?(中)
手写操作系统(2)——代码是怎么运行的?
18 1
|
2月前
|
安全
手写操作系统(2)——代码是怎么运行的?(上)
手写操作系统(2)——代码是怎么运行的?
27 0
|
11月前
|
存储 缓存 Linux
实验 通过命令和代码初步感受存储管理【操作系统】
实验 通过命令和代码初步感受存储管理【操作系统】
106 0
|
2月前
|
Ubuntu Linux 开发工具
Linux操作系统Ubuntu 22.04配置Visual Studio Code与C++代码开发环境的方法
Linux操作系统Ubuntu 22.04配置Visual Studio Code与C++代码开发环境的方法
192 1
|
12月前
|
算法 测试技术
向外搜索(OS)算法是一种新算法,旨在为改进进化算法的收敛性提供多种形式(Matlab代码实现)
向外搜索(OS)算法是一种新算法,旨在为改进进化算法的收敛性提供多种形式(Matlab代码实现)
|
Linux 开发工具 数据安全/隐私保护
Linux操作系统使用git提交代码
Linux操作系统使用git提交代码
|
机器学习/深度学习 并行计算 异构计算
这个代码什么意思 os.environ['CUDA_VISIBLE_DEVICES'] = '0, 1'
这个代码什么意思 os.environ['CUDA_VISIBLE_DEVICES'] = '0, 1'
1280 0