wordpress用户集成,东莞百度首页优化,怎么看网站开发的发展,wordpress发展雷达信号处理的流程
雷达信号处理的一般流程#xff1a;ADC数据——1D-FFT——2D-FFT——CFAR检测——测距、测速、测角。
雷达目标检测
首先要搞清楚什么是检测#xff0c;检测就是判断有无。雷达在探测的时候#xff0c;会出现很多峰值#xff0c;这些峰值有可能是目标…雷达信号处理的流程
雷达信号处理的一般流程ADC数据——1D-FFT——2D-FFT——CFAR检测——测距、测速、测角。
雷达目标检测
首先要搞清楚什么是检测检测就是判断有无。雷达在探测的时候会出现很多峰值这些峰值有可能是目标、噪声和干扰那么就需要进行一种判决来决定它是否属于目标。 雷达目标检测问题是利用信号的统计特性和噪声的统计特性解决在受噪声干扰的观测中信号有无的判决问题。其数学基础就是统计判决理论又称假设检验理论。假设检验是进行统计判决的重要工具信号检测相当于数理统计中的假设检验。
恒虚警检测概念
假设就是检验对象的可能情况或状态。对于雷达检测来说可以选用两个假设即目标存在或不存在。用 H 0 H_0 H0和 H 1 H_1 H1分别表示接收机的无信号输入和有信号输入的假设用 D 0 D_0 D0和 D 1 D_1 D1和分别表示检测器作出无信号和有信号的判决结果。于是接收机的输入与检测器的判决将有四种情况 (1) H 0 H_0 H0为真判为 D 0 D_0 D0即接收机无信号输入, 检测器判为无信号, 其概率称为正确不发现概率 P a n P_{an} Pan (2) H 0 H_0 H0为真, 判为 D 1 D_1 D1 即接收机无信号输入, 检测器判为有信号, 其概率称为虚警概率 P f a P_{fa} Pfa (3) H 1 H_1 H1为真, 判为 D 0 D_0 D0即接收机有信号输入, 检测器判为无信号, 其概率称为漏警概率 P l a P_{la} Pla (4) H 1 H_1 H1为真, 判为 D 1 D_1 D1即接收机有信号输入, 检测器判为有信号, 其概率称为正确检测概率 P d P_{d} Pd 我们希望的是正确不发现概率 P a n P_{an} Pan和真确检测概率 P d P_{d} Pd越高越好而虚警概率 P f a P_{fa} Pfa和漏警概率 P l a P_{la} Pla越低越好。 恒虚警检测又称CFAR全称是Constant False Alarm Rate Detector是雷达目标检测的一种常见的手段。CFAR检测算法属于信号检测中的自动检测算法在雷达信号处理中主要应用的有四种即CA-CFAR、SO-CFAR、GO-CFAR、WCA-CFAR。
恒虚警检测算法
首先指定一个距离多普勒单元称为检测单元(CUT, cell under test)为了判断检测单元处是否存在目标需要设定一个阈值 T T T当检测单元处的检测值 Y Y Y大于 T T T时判断为有目标否则判断为没有目标 d ( Y ) { 有目标 Y ≥ T 无目标 Y T . d(Y) \left\{ \begin{array}{ll} 有目标Y\geq T\\ 无目标Y T. \end{array} \right. d(Y){有目标Y≥T无目标YT. 具体的做法是先在测试单元的周围放置保护单元以消除信号在测试单元周围的多余能量然后再保护单元的周围选择参考单元 图1 恒虚警检测的单元分布 上图展示的是同时在距离维和多普勒维进行恒虚警检测的原理如果只是在距离维或多普勒维做CFAR检测单元的左右两侧均有设定好数量的保护单元和参考单元。 恒虚警检测选择均值类自适应门限 CFAR 检测技术其中单元平均方式(CA-CFAR)、两侧单元平均 选大方式(GO-CFAR)、两侧单元平均选小方式 (SO-CFAR) 三种方法在主瓣多目标的背景下检测性能都有所下降容易出现漏警和漏检小信号源。单限切除恒虚警概率方法 (E-CFAR)在主瓣多目标的背景下具有较好的检 测性能。E-CFAR 方法是在进行单元平均之前设置切 除上限切除信号的强分量从而避免对小信号源 漏检防止对信源数目的估计出现偏差。 如果是CA-CFAR则取左右两边的参考单元的均值再取平均值然后与 α \alpha α相乘 α \alpha α计算公式如下方公式再将结果与阈值相比较。如果大于阈值则代表有目标否则认为无目标。 图2 一维恒虚警检测的阈值计算方法 从上图可以看到由于待检单元左侧还有几个单元所以做完恒虚警检测之后会使得序列变短这个和深度学习中的卷积类似。要想使得不变短的话可以采取补零法或者翻转法来实现。 从图中也可以看到根据阈值的选择不同有不同的检测器其中CA-CFAR是取的参考单元的均值SO-CFAR取的是参考单元的最小值而GO-CFAR是取的参考单元的最大值。 其中最重要的是门限因子 α \alpha α的计算方法 α N ( P f a − 1 N − 1 ) \alpha N(P_{fa}^{-\frac{1}{N}}-1) αN(Pfa−N1−1)
恒虚警检测matlab编程
不同的CFAR检测器适用于不同的场景CA-CFAR算法适用于均匀环境中的单目标或彼此相距较远的多目标环境在邻近多目标环境会发生目标的遮蔽效应在杂波边缘会发生杂波边缘效应。 下面是不进行补零操作的CA-CFAR的程序
function [position, threshold, start_cell, stop_cell] cacfar(signal, Pfa, ref_num, guard_num)
% INPUT:
% signal: Data of signal(include signal and noise).[DATATYPE: row vector]
% Pfa: Probability of false alarm.[DATATYPE: scalar]
% ref_num: Number of reference cell.[DATATYPE: scalar]
% guard_num: Number of guard cell.[DATATYPE: scalar]
% OUTPUT:
% position: positions of target.[DATATYPE: row vector]
% threshold: CFAR threshold of input signal.[DATATYPE: row vector]
position [];
left_num guard_num ref_num;
start_cell left_num 1;
stop_cell length(signal) - left_num;
N 2*ref_num;
alpha N * (Pfa ^ (-1/N) - 1);
threshold zeros(1, stop_cell - start_cell 1);
for ii start_cell : stop_celltmp_data [signal(ii-left_num : ii-guard_num-1), ...signal(iiguard_num1 : iileft_num)];mean(tmp_data);tmp mean(tmp_data) * alpha;% threshold(ii - left_num)tmp;threshold(ii - left_num) tmp;if tmp signal(ii)position [position, ii];end
end
return下面是进行补零操作的CA-CFAR的程序
function [position, threshold] MYCACFAR(signal, Pfa, ref_num, guard_num)
% 该函数用于进行CA-FAR恒虚警检测在信号首位两端进行补零使得输出的阈值序列和信号长度一致
% INPUT:
% signal: Data of signal(include signal and noise).[DATATYPE: row vector]
% Pfa: Probability of false alarm.[DATATYPE: scalar]
% ref_num: Number of reference cell.[DATATYPE: scalar]
% guard_num: Number of guard cell.[DATATYPE: scalar]
% OUTPUT:
% position: positions of target.[DATATYPE: row vector]
% threshold: CFAR threshold of input signal.[DATATYPE: row vector]
position []; %存储高于检测门限的信号区域的位置
left_num guard_num ref_num; %检测单元两边的单元数
sigLen length(signal); %信号长度
tempSig zeros(1,sigLen2*left_num); %补零后的信号向量
tempSig((left_num 1) :(sigLen left_num)) signal; %对中间部分进行信号的赋值首位两端各有left_num个零值
N 2*ref_num; %参考单元总数
alpha N * (Pfa ^ (-1/N) - 1); %门限因子横虚警概率越小参考单元数越多因子越大检测阈值也越大
threshold zeros(1, sigLen); %用于储存检测阈值
for ii 1 : 1 :sigLencentNum iileft_num; %对应的检测单元下标tmp_data [tempSig((centNum-left_num):(centNum-guard_num-1)), ...tempSig((centNumguard_num1):(centNumleft_num))]; %取检测单元的值tmp mean(tmp_data) * alpha; %与门限因子相乘得到检测阈值threshold(ii) tmp; %进行存储if tmp signal(ii) %阈值小于信号position [position, ii]; %存储被检测到的下标end
end
return下面是进行翻转补充首位的操作的CA-CFAR的程序
function [position, threshold] MYCACFAR2(signal, Pfa, ref_num, guard_num)
% 该函数用于进行CA-FAR恒虚警检测在信号首位两端进行翻转使得输出的阈值序列和信号长度一致
% INPUT:
% signal: Data of signal(include signal and noise).[DATATYPE: row vector]
% Pfa: Probability of false alarm.[DATATYPE: scalar]
% ref_num: Number of reference cell.[DATATYPE: scalar]
% guard_num: Number of guard cell.[DATATYPE: scalar]
% OUTPUT:
% position: positions of target.[DATATYPE: row vector]
% threshold: CFAR threshold of input signal.[DATATYPE: row vector]
position []; %存储高于检测门限的信号区域的位置
left_num guard_num ref_num; %检测单元两边的单元数
sigLen length(signal); %信号长度
tempSig zeros(1,sigLen2*left_num); %补零后的信号向量
tempSig(1:left_num) signal(1:left_num);
tempSig(sigLen left_num1:end) signal(sigLen-left_num1:end);
tempSig((left_num 1) :(sigLen left_num)) signal; %对中间部分进行信号的赋值首位两端各有left_num个零值
N 2*ref_num; %参考单元总数
alpha N * (Pfa ^ (-1/N) - 1); %门限因子横虚警概率越小参考单元数越多因子越大检测阈值也越大
threshold zeros(1, sigLen); %用于储存检测阈值
for ii 1 : 1 :sigLencentNum iileft_num; %对应的检测单元下标tmp_data [tempSig((centNum-left_num):(centNum-guard_num-1)), ...tempSig((centNumguard_num1):(centNumleft_num))]; %取检测单元的值tmp mean(tmp_data) * alpha; %与门限因子相乘得到检测阈值threshold(ii) tmp; %进行存储if tmp signal(ii) %阈值小于信号position [position, ii]; %存储被检测到的下标end
end
return下面是仿真结果 图2 单目标脉冲压缩结果及CA-CFAR阈值图 对目标峰值部分局部放大后 图3 局部放大 附录
二维CFAR 仿真代码地址https://github.com/tooth2/2D-CFAR