当前位置: 首页 > news >正文

毫米波雷达系列 | 传统CFAR检测(自适应类)

毫米波雷达系列 | 传统CFAR检测(自适应类)

VI-CFAR

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dV34CKJt-1684215839850)(毫米波雷达系列 传统CFAR检测(自适应类).assets/image-20230516131206695.png)\

均值类和有序统计类CFAR检测器在不同背景环境下,其性能各有优缺点,在实际场景下难以确定杂波边缘所在位置并且目标的分布都是随机的,大部分的CFAR检测器在非均匀环境下都会产生检测损失,针对这种问题学者们提出了一种自适应于杂波的CFAR检测器,针对不同背景环境选择不同的CFAR检测器,自适应类CFAR检测器结合了均值类和有序统计类的优点。

VI-CFAR算法是利用参考单元的变化指数VIA和VIB以及前后参考单元的均值比MR来设计的一套判决准则,判断当前目标所处的背景环境,然后根据不同的背景环境选择合适的策略。
V I = 1 + σ 2 μ 2 = 1 + 1 n − 1 ∑ i = 1 n ( x i − x ‾ ) 2 ( x ‾ ) 2 VI=1+\frac{\sigma_2}{\mu_2}=1+\frac{1}{n-1}\sum_{i=1}^{n}\frac{(x_i-\overline{x}) ^2}{(\overline{x})^2} VI=1+μ2σ2=1+n11i=1n(x)2(xix)2

M R = x A ‾ x B ‾ = ∑ i = 1 x i ∑ j = 1 x j MR=\frac{\overline{x_A}}{\overline{x_B}}=\frac{\displaystyle\sum_{i=1}{x_i}}{\displaystyle\sum_{j=1}{x_j}} MR=xBxA=j=1xji=1xi

其中 x A ‾ \overline{x_A} xA x B ‾ \overline{x_B} xB分别为前后参考滑窗均值。

VI-CFAR的判决表如下:

前沿滑窗是否均匀前后滑窗均值是否相同VI-CFAR阈值后沿滑窗是否均匀选用的方法
T N × ∑ A B T_N\times\sum{AB} TN×ABCA-CFAR
T N / 2 × max ⁡ ( ∑ A , ∑ B ) T_{N/2}\times\max{(\sum{A},\sum{B})} TN/2×max(A,B)GO-CFAR
- T N / 2 × ∑ B T_{N/2}\times\sum{B} TN/2×BCA-CFAR
- T N / 2 × ∑ A T_{N/2}\times\sum{A} TN/2×ACA-CFAR
- T N / 2 × min ⁡ ( ∑ A , ∑ B ) T_{N/2}\times\min{(\sum{A},\sum{B})} TN/2×min(A,B)SO-CFAR

从表中可以看出,均匀环境前后参考滑窗均匀且前后参考滑窗均值相同,认为前后参考滑窗是一致的选择CA-CFAR检测器;对于杂波边缘环境,当某一侧参考滑窗的参考单元分别属于两种不同功率的杂波区时,一侧参考滑窗均匀而另一侧非均匀,直接取均匀一侧作为背景杂波功率估计值,选择N/2长度的CA-CFAR检测器;如果两侧滑窗均匀,但均值不处于统一功率水平,选择GO-CFAR检测器,以保证杂波边缘的虚警概率;当两侧参考滑窗均是非均匀,说明两侧参考滑窗可能都含有干扰目标或者存在杂波边缘的情况,选择SO-CFAR检测器取均值较小的一侧作为背景杂波功率估计值。

仿真对比

在均匀杂波环境、多目标环境和杂波边缘环境中对均值类CFAR检测器的性能进行比较分析。

参数设置:

虚警概率10-4
参考单元32
保护单元4
信噪比SNR20
多目标单元位置110和120
比例系数3/4
r1、r22、4
VI和MR4.76、1.086
杂波边缘功率20dB、30dB

(1)均匀环境

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7DMOLmer-1684215839851)(毫米波雷达系列  传统CFAR检测(自适应类).assets/VI在均匀环境单目标检测.png)]

(2)多目标环境

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v8Pi94bn-1684215839852)(毫米波雷达系列  传统CFAR检测(自适应类).assets/VI均匀环境下多目标检测.png)]

(3)杂波环境

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4kuxSrhH-1684215839852)(毫米波雷达系列  传统CFAR检测(自适应类).assets/VI边缘杂波不存在目标情况.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bWhVCF2q-1684215839852)(毫米波雷达系列  传统CFAR检测(自适应类).assets/VI边缘杂波存在目标情况.png)]

从结果中可以看出,在均匀环境中VI-CFAR检测器可以检测出目标,且检测门限不会像均值类CFAR检测器出现明显的跳变,其检测门限值与有序统计类接近。说明VI-CFAR检测器能够很好的在均匀环境下辨别出目标;在多目标环境中,设置三个临近的目标均被VI-CFAR检测器检测到,说明VI-CFAR在多目标环境中的能力与有序统计类CFAR检测器接近;VI-CFAR检测器在边缘杂波环境中可以成功检测出目标,因为在边缘杂波环境且前后参考滑窗均匀时,VI-CFAR检测器使用的GO-CFAR,GO-CFAR在杂波边缘环境下具有良好的虚警控制能力。

代码:

function [results] = cfar_vi(x,NSlide,NProt,KVI,KMR,PAD)
%FUNC_CFAR_VI 此处显示有关此函数的摘要
%   x 原始杂波数据
%   alpha 标称因子
%   NSli 参考滑窗大小
%   NPro 保护单元大小
%   KVI 半滑窗是否均匀,判决门限
%   KMR 前后滑窗均值是否相同,判决门限
alpha=zeros(1,2);
alpha(1,1)=PAD.^(-1./NSlide)-1;
alpha(1,2)=PAD.^(-2./NSlide)-1;
persistent left; %类似于Java中静态变量
persistent right;
persistent HalfSlide;
persistent HalfProt;
persistent len;
if isempty(left)left=1+HalfProt+HalfSlide;                              % 左边界right=length(x)-HalfProt-HalfSlide;                    % 右边界HalfSlide=NSlide/2;HalfProt=NProt/2;len=length(x);
end
T=zeros(1,len); %检测阈值
trgt = java.util.LinkedList; %目标点坐标,横轴loc
flag_out=ones(0,len);for i=1:left-1  %左边界cell_right=x(1,i+HalfProt+1:i+HalfSlide+HalfProt);T(1,i)=sum(cell_right)*alpha(1,2);if T(1,i)<x(i)trgt.add(i);end
endfor i=left:right    %中间区域cell_left=x(1,i-HalfSlide-HalfProt:i-HalfProt-1);cell_right=x(1,i+HalfProt+1:i+HalfSlide+HalfProt);sumA=sum(cell_left);sumB=sum(cell_right);VIA=1+var(cell_left)./(mean(cell_left)).^2;VIB=1+var(cell_right)./(mean(cell_right)).^2;MR=sumA/sumB;flag=false(1,3);flag(1,1)=VIA<=KVI;flag(1,2)=VIB<=KVI;if 1/KMR<=MR && MR<=KMRflag(1,3)=1;endif sum(flag)==3%环境类型1T(1,i)=(sumA+sumB).*alpha(1,1);flag_out(1,i)=1;elseif sum(flag(1,1:2))==2 && ~flag(1,3)%环境类型2T(1,i)=max(sumA,sumB).*alpha(1,2);flag_out(1,i)=2;elseif sum(flag(1,1:2))==1%环境类型3if flag(1,1)==1%环境类型3-1T(1,i)=sumA.*alpha(1,2);else%环境类型3-2T(1,i)=sumB.*alpha(1,2);endflag_out(1,i)=3;elseif sum(flag(1,1:2))==0%环境类型4T(1,i)=min(sumA,sumB).*alpha(1,2);flag_out(1,i)=4;endif T(1,i)<x(i)trgt.add(i);end
endfor i=right+1:len    %右边界cell_left=x(1,i-HalfSlide-HalfProt:i);T(1,i)=sum(cell_left)*alpha(1,2);if T(1,i)<x(i)trgt.add(i);end
end
results=T;
end

l_left=x(1,i-HalfSlide-HalfProt:i);
T(1,i)=sum(cell_left)*alpha(1,2);
if T(1,i)<x(i)
trgt.add(i);
end
end
results=T;
end


相关文章:

毫米波雷达系列 | 传统CFAR检测(自适应类)

毫米波雷达系列 | 传统CFAR检测&#xff08;自适应类&#xff09; VI-CFAR [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dV34CKJt-1684215839850)(毫米波雷达系列 传统CFAR检测&#xff08;自适应类&#xff09;.assets/image-20230516131206695…...

【2023/05/19】NFA

Hello&#xff01;大家好&#xff0c;我是霜淮子&#xff0c;2023倒计时第14天。 非确定有限状态自动机&#xff08;NFA&#xff09;是一种模拟复杂系统行为的数学模型 目录 一、基本概念和理论 二、优点和缺点 三、应用场景 四、问题和挑战 五、重要性、作用和使用价值 …...

汽车功能安全

前言 近些年来&#xff0c;功能安全在汽车传统底盘域和动力域的应用已较为成熟&#xff0c;各大汽车企业功能安全意识也逐渐增强。在辅助驾驶和自动驾驶爆发式增长的大趋势下&#xff0c;现代汽车的功能安全在目前尤为复杂的电子电气系统中就显得更为重要&#xff0c;功能安全…...

【Python】数据分析与可视化实践:收支日统计数据可视化的实现

Python数据分析与可视化实践&#xff1a;收支日统计数据可视化的实现 Author&#xff1a;萌狼蓝天 Date&#xff1a;2023-5-7 数据读入与基本处理 上图是原始数据的一部分&#xff0c;存放于excel中&#xff0c;首先使用pd读入数据。读入数据后&#xff0c;删除不是收入&#x…...

Halcon 中_xld算子的概念与应用? select_shape_std 和 select_shape_xld区别?

文章目录 1 halcon中XLD的概念与应用1.1 halcon中什么是XLD?1. 2 XLD相关算子1.2 XLD的应用1.2.1 生成XLD的操作1.2.2 选取特定xld1.2.3 3.3 XLD的合并操作2 select_shape_std 和 select_shape_xld区别2.1 select_shape_std 算子介绍2.2 select_shape_xld算子介绍2.3 select_s…...

[pgrx开发postgresql数据库扩展]7.返回序列的函数编写(3)多行表序列

前文再续&#xff0c;书接上一回。 上一回我们解析了如何通过pgrx编写srf&#xff0c;返回一个TableIterator&#xff0c;但是在具体应用的时候&#xff0c;我们还是针对一条记录返回了一行数据&#xff08;多个字段的一行&#xff0c;也还是一行&#xff09;&#xff0c;并没…...

刚入职,就想跑路了...

刚入职一家公司&#xff0c;想离职又怕找不到新工作。 说实话&#xff0c;这个问题还是蛮常见的&#xff0c;很多时候&#xff0c;入职的公司并不是自己最满意的&#xff0c;即使是最满意的&#xff0c;入职后总会遇到各种各样的不顺心&#xff0c;公司制度不规范啊&#xff0…...

如何让技术架构师具有预知未来业务发展的能力

大家好&#xff0c;今天我们来分享业务架构&#xff0c;但是我们并不是以产品经理角度讲述一个业务架构是什么以及如何做&#xff1f;而是以一个技术架构师的角度&#xff0c;讲述如何承接业务架构或在没有业务架构的时候&#xff0c;如何判断业务变化趋势而对系统架构提前做出…...

卷麻了,新来的00后实在是太卷了...

在程序员职场上&#xff0c;什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事&#xff0c;我们可以帮他。 是技术太强的人吗?也不是。技术很强的同事&#xff0c;可遇不可求&#xff0c;向他学习还来不及呢。 真正让人反感的&#xff0c;是技术平平&…...

单片机--实战练习

目录 【1】GPIO 1.定义 2.应用 I - Input - 输入采集 O - Output - 输出控制 ​编辑​编辑 3.GPIO结构框图 4.功能描述 输入功能 输出功能 5.相关寄存器 【2】点亮一盏LED灯 1.实验步骤 2.编程实现 3.编译下载 4.复位上电 练习&#xff1a;实现LED灯闪烁…...

Go Etcd 分布式锁实战

1 分布式锁概述 谈到分布式锁&#xff0c;必然是因为单机锁无法满足要求&#xff0c;在现阶段微服务多实例部署的情况下&#xff0c;单机语言级别的锁&#xff0c;无法满足并发互斥资源的安全访问。常见的单机锁如Java的jvm锁Lock、synchronized&#xff0c;golang的Mutex等 对…...

Windows环境下pcl点云库 安装配置教程

本文为Windows配置点云库pcl步骤&#xff0c;具体win10、visual studio 2019、pcl1.11.1。 【1】下载安装包 Releases PointCloudLibrary/pcl GitHub 其中&#xff0c;AllInOne是一个包含了PCL库所有模块的单独下载包&#xff0c;方便快速获取整个PCL库&#xff0c;而pdb则…...

岗位分析与可视化系统(三)

五、可视化 5.1薪资页面 在views,编写薪资分析的代码 def salary(request): uname = request.session[username] userInfo = User.objects.get(username=uname) edus, workexps = getSalary.getPageDt() defaultedu = 不限 defaultworkexp = 不限 if request.G…...

unity进阶学习笔记:json和xml

1早期的数据格式 在早期程序开发中一个简单且常用的数据格式为CSV。该格式单纯依靠逗号来分割数据。目前windows的office依然支持CSV解析&#xff0c;我们可以试着新建一个txt文件&#xff0c;在里面加入逗号分隔的信息&#xff1a; a, 1, 15, 30, true 将txt文件后缀改为csv&…...

数据结构之初识树与堆

前言&#xff1a;前面学习了顺序表&#xff0c;队列&#xff0c;栈&#xff0c;链表&#xff0c;我们知道他们都是一种线性表&#xff0c;是一种线性结构&#xff0c;而除此之外&#xff0c;仍有许多我们还没认识的结构&#xff0c;比如树形结构&#xff0c;不同于线性结构&…...

虚拟化技术 — VirtIO 虚拟设备接口标准

目录 文章目录 目录VirtIOVirtIO 虚拟设备接口标准VirtIO 的前后端分层架构标准VirtIO 的数控路径分离架构标准VirtIO 的传输层标准VirtIO 标准在 Linux 中的实现VirtIO VirtIO 由 Rusty Russell 开发,最初是为了支持自己开发的 lguest Hypervisor,其设计目标是在虚拟化环境…...

Dubbo——SpringBoot集成Dubbo(@Autowired和@Reference的区别、Dubbo的服务治理)

Dubbo——原生API实现远程调用_Strine的博客-CSDN博客 在上一篇文章中我们讲了如何使用原生API发起远程调用&#xff0c;显然这种方式肯定是非常麻烦的&#xff0c;因此我们这里就讲如何使用SpringBoot去集成Dubbo将这些配置简化。 生产者服务 添加配置文件 dubbo:applicat…...

高并发系统的三把利器

目录 1.限流 2.缓存 2.1.缓存的使用场景 3.降级 3.1.什么是降级&#xff1f; 3.2.服务降级方式 4.其他高并发手段 4.1. 集群 4.2.拆分 4.2.1 应用拆分 4.2.2 数据库 4.3. 静态化 4.4.削峰 4.5.限流 5.总结 参考 保护高并发系统的三大利器&#xff1a;限流、熔…...

AppiumWinAppDriver自动化测试 Failed to locate opened application window with appid问题

问题产生原因&#xff1a;1.期望能力选项参数丢失 例如&#xff1a;capabilities.setCapability("appWorkingDir", "C:\\Program Files (x86)\\Tencent\\app")) 某些app需要设置目录属性才可以启动。 问题产生原因&#xff1a;2.访问权限不足 例如&…...

渗透测试--6.1.aircrack-ng破解wifi密码

目录 1.Aircrack-ng简介 1.1 airdump-ng 1.2 aireplay-ng 1.3 aircrack-ng 2.Deauth攻击 3.aircrack-ng工具破解无线网络密码 步骤一&#xff1a;虚拟机连接实验需要用到的网卡 步骤二&#xff1a;设置网卡为监听模式 步骤三&#xff1a;使用wlan0mon网卡扫描附近wif…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

无法与IP建立连接,未能下载VSCode服务器

如题&#xff0c;在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈&#xff0c;发现是VSCode版本自动更新惹的祸&#xff01;&#xff01;&#xff01; 在VSCode的帮助->关于这里发现前几天VSCode自动更新了&#xff0c;我的版本号变成了1.100.3 才导致了远程连接出…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)

船舶制造装配管理现状&#xff1a;装配工作依赖人工经验&#xff0c;装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书&#xff0c;但在实际执行中&#xff0c;工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

比较数据迁移后MySQL数据库和OceanBase数据仓库中的表

设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

wpf在image控件上快速显示内存图像

wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像&#xff08;比如分辨率3000*3000的图像&#xff09;的办法&#xff0c;尤其是想把内存中的裸数据&#xff08;只有图像的数据&#xff0c;不包…...

VisualXML全新升级 | 新增数据库编辑功能

VisualXML是一个功能强大的网络总线设计工具&#xff0c;专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑&#xff08;如DBC、LDF、ARXML、HEX等&#xff09;&#xff0c;并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...

es6+和css3新增的特性有哪些

一&#xff1a;ECMAScript 新特性&#xff08;ES6&#xff09; ES6 (2015) - 革命性更新 1&#xff0c;记住的方法&#xff0c;从一个方法里面用到了哪些技术 1&#xff0c;let /const块级作用域声明2&#xff0c;**默认参数**&#xff1a;函数参数可以设置默认值。3&#x…...

Python常用模块:time、os、shutil与flask初探

一、Flask初探 & PyCharm终端配置 目的: 快速搭建小型Web服务器以提供数据。 工具: 第三方Web框架 Flask (需 pip install flask 安装)。 安装 Flask: 建议: 使用 PyCharm 内置的 Terminal (模拟命令行) 进行安装,避免频繁切换。 PyCharm Terminal 配置建议: 打开 Py…...

深入理解 C++ 左值右值、std::move 与函数重载中的参数传递

在 C 编程中&#xff0c;左值和右值的概念以及std::move的使用&#xff0c;常常让开发者感到困惑。特别是在函数重载场景下&#xff0c;如何合理利用这些特性来优化代码性能、确保语义正确&#xff0c;更是一个值得深入探讨的话题。 在开始之前&#xff0c;先提出几个问题&…...