⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zcfar.m

📁 用MATLAB仿真雷达的函数
💻 M
字号:
%雷达的恒虚警处理(CFAR)
%%%%%%%%产生瑞利噪声%%%%%%%%
sigma=2;   %瑞利分布参数
t=1e-3;    %杂波时间长度
fs=1e6;    %采样率
ts=1/fs;
t1=0.05e-3:1/fs:0.2e-3-1/fs;
n=length(t1);
rand('state',0);   %将伪随机发生器置为0状态
u=rand(1,n);
rayleigh_noise=sqrt(2*log2(1./u))*sigma;   %产生瑞利杂波
%%%%%%%%%产生目标回波%%%%%%%%%
N=t/ts;
s_pc_1=[zeros(1,100),1,zeros(1,N-101)];   %点目标回波
noise=rand(1,N);
rayleigh_clutter=[zeros(1,50),rayleigh_noise,zeros(1,N-200)];  %产生叠加了瑞利杂波、热噪声的点目标回波
s_pc=s_pc_1+0.1*rayleigh_clutter+0.1*noise;
figure,plot((0:ts:t-ts),s_pc),
xlabel('t(单位:S)'),title('叠加了瑞利分布杂波、热噪声的目标回波');
%%%%%%%%%%慢门限恒虚警处理%%%%%%%%%
cfar_result=zeros(1,N);
cfar_result(1,1)=s_pc(1,1);
for i=2:N
    cfar_result(i)=s_pc(1,i)/mean(s_pc(1,1:i));
end
figure,plot((0:ts:t-ts),cfar_result),
xlabel('t(单位:S)'),title('采用慢门限恒虚警处理结果');
%%%%%%%%%快门限恒虚警处理%%%%%%%%%
cfar_result=zeros(1,N);   %
cfar_result(1,1)=s_pc(1,1)/(sqrt(2)/pi*mean(s_pc(1,2:17)));  %第一个恒虚警处理时噪声均值由其后面的16点的噪声决定
for i=2:16         %第2点到第16点的均值由其前面和后面16点的噪声共同决定
    noise_mean=sqrt(2)/pi*(mean(s_pc(1,1:i-1))+mean(s_pc(1,i+1:i+16)))/2;
    cfar_result(1,i)=s_pc(1,i)/noise_mean;
end
for i=17:N-17     %正常的数据点的噪声均值由其前面和后面各16点噪声中的大者决定
    noise_mean=sqrt(2)/pi*max(mean(s_pc(1,i-16:i-1)),mean(s_pc(1,i+1:i+16)));
    cfar_result(1,i)=s_pc(1,i)/noise_mean;
end
for k=N-16:N-1     %倒数第16点到倒数第2点的噪声均值由其前面16点和后面的噪声共同决定
    noise_mean=sqrt(2)/pi*(mean(s_pc(1,k-16:k-1))+mean(s_pc(1,k+1:N)))/2;
    cfar_result(1,k)=s_pc(1,k)/noise_mean;
end
%最后一点的噪声均值由其前面16点的噪声决定
cfar_result(1,N)=s_pc(1,N)/(sqrt(2)/pi*mean(s_pc(1,N-16:N-1)));
figure,plot((0:ts:t-ts),cfar_result),
xlabel('t(单位:S)'),title('采用快门限恒虚警处理结果');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -