信号处理之恒虚警检测CFAR

一,原理

恒虚警检测器首先对输入的噪声进行处理后确定一个门限,将此门限与输入端信号相比,如输入端信号超过了此门限,则判为有目标,否则,判为无目标。一般信号由信号源发出,在传播的过程中受到各种干扰,到达接收机后经过处理,输出到检测器,然后检测器根据适当的准则对输入的信号做出判决。雷达干扰包括接收机内部的热噪声,以及地物、雨雪、海浪等杂波干扰,有时还有敌人施放的有源和无源干扰。杂波和敌人施放干扰的强度常比接收机内部噪声电平高得多。因此,在强干扰中提取信号,不仅要求有一定的信噪比,而且必须对信号作恒虚警处理。

二,定义

信号接收机输出端的信号用 x ( t ) x(t) x(t)表示,这里存在两种情况:

    噪声和信号同时存在: x ( t ) = s ( t ) + n ( t ) x(t)=s(t)+n(t) x(t)=s(t)+n(t)
    只有噪声存在: x ( t ) = n ( t ) x(t)=n(t) x(t)=n(t)

用 H 0 H_{0} H0​和 H 1 H_{1} H1​分别表示接收机的无信号输入和有信号输入的假设;
用 D 0 D_{0} D0​和 D 1 D_{1} D1​分别表示检测器作出无信号和有信号的判决结果。

于是接收机的输入与检测器的判决将有四种情况:

    H 0 H_{0} H0​为真,判为 D 0 D_{0} D0​,即接收机无信号输入,检测器判为无信号,称为正确不发现;
    H 0 H_{0} H0​为真,判为 D 1 D_{1} D1​,即接收机无信号输入,检测器判为有信号,称为虚警;
    H 1 H_{1} H1​为真,判为 D 0 D_{0} D0​,即接收机有信号输入,检测器判为无信号,称为漏警;
    H 1 H_{1} H1​为真,判为 D 1 D_{1} D1​,即接收机有信号输入,检测器判为有信号,称为正确检测;

其中第一种情况和第四种情况属于正确判决,其余两种属于错误判决。

用 p ( z ∣ H 0 ) p(z|{ {H}_{0}}) p(z∣H0​)和 p ( z ∣ H 1 ) p(z|{ {H}_{1}}) p(z∣H1​)分别表示无信号输入和有信号输入接收机时,接收机输出端的信号电平的概率密度函数;
用 Z 0 Z_{0} Z0​和 Z 1 Z_{1} Z1​分别表示检测器作出无信号和有信号判决的判决区域,当输入的电平在 Z 0 Z_{0} Z0​区域判为无信号,在 Z 1 Z_{1} Z1​区域判为有信号。
三,MATLAB仿真

%下段是雷达恒虚警模块的仿真程序:


clear all;close all;clc;
%产生瑞利噪声
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);
u=rand(1,n);
rayleigh_noise=sqrt(2*log2(1./u))*sigma;

%产生目标回波
N=t/ts;
N=uint32(N);
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)];
figure,subplot(3,1,1),plot((0:ts:t-ts),s_pc_1),title('目标回波信号');
subplot(3,1,2),plot((0:ts:t-ts),noise),title('热噪声');
subplot(3,1,3),plot((0:ts:t-ts),rayleigh_clutter),title('瑞利杂波');
s_pc=s_pc_1+0.1*rayleigh_clutter+0.1*noise;
figure(2)
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(3),plot((0:ts:t-ts),cfar_result),
xlabel('t(单位:s)'),title('采用慢门限处理结果');

%快门限恒虚警处理
cfar_k_result=zeros(1,N);
cfar_k_result(1,1)=s_pc(1,1)/(sqrt(2)/pi*mean(s_pc(1,2:17)));

%第1点恒虚警处理时噪声均值由后面的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_k_result(1,i)=s_pc(1,i)/noise_mean;
end

for i=17:N-17 
    %正常的数据点的恒虚警处理的噪声均值由其前面和后面的各26点的噪声决定
    noise_mean=sqrt(2)/pi*max(mean(s_pc(1,i-16:i-1)),mean(s_pc(1,i+1:i+16)));
    cfar_k_result(1,i)=s_pc(1,i)/noise_mean;
end
for i=N-16:N-1
    %倒数第16点到倒数第2点恒虚警处理的噪声的均值由其前面16点和后面的噪声共同决定
    noise_mean=sqrt(2)/pi*(mean(s_pc(1,i-16:i-1))+mean(s_pc(1,i+1:N)))/2;
    cfar_k_result(1,i)=s_pc(1,i)/noise_mean;
end
%最后一点的恒虚警处理的噪声均值由其前面16点的噪声决定
cfar_k_result(1,N)=s_pc(1,N)/(sqrt(2)/pi*mean(s_pc(1,N-16:N-1)));
figure(4) 
plot(0:ts:t-ts,cfar_k_result),xlabel('t(单位:s)'),title('采用快门限恒虚警处理结果');

 

你可能感兴趣的:(频综TR_DSP信号处理_硬件)