毫米波雷达系列 | 传统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+n−11i=1∑n(x)2(xi−x)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=1∑xji=1∑xi
其中 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×∑AB | 是 | CA-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×∑B | 是 | CA-CFAR |
| 是 | - | T N / 2 × ∑ A T_{N/2}\times\sum{A} TN/2×∑A | 否 | CA-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 |
| 信噪比SNR | 20 |
| 多目标单元位置 | 110和120 |
| 比例系数 | 3/4 |
| r1、r2 | 2、4 |
| VI和MR | 4.76、1.086 |
| 杂波边缘功率 | 20dB、30dB |
(1)均匀环境
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7DMOLmer-1684215839851)(毫米波雷达系列 传统CFAR检测(自适应类).assets/VI在均匀环境单目标检测.png)]](https://img-blog.csdnimg.cn/bf08529b045f47f4895414bffbdcbb2a.png)
(2)多目标环境
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v8Pi94bn-1684215839852)(毫米波雷达系列 传统CFAR检测(自适应类).assets/VI均匀环境下多目标检测.png)]](https://img-blog.csdnimg.cn/14e097593855486d9d1ce6be570695fa.png)
(3)杂波环境
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4kuxSrhH-1684215839852)(毫米波雷达系列 传统CFAR检测(自适应类).assets/VI边缘杂波不存在目标情况.png)]](https://img-blog.csdnimg.cn/5a8b1bb3ccd14c27b0cc2d0f736e14c5.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bWhVCF2q-1684215839852)(毫米波雷达系列 传统CFAR检测(自适应类).assets/VI边缘杂波存在目标情况.png)]](https://img-blog.csdnimg.cn/29fba85cc3cd4739ac00db336b530ec1.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检测(自适应类) VI-CFAR [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dV34CKJt-1684215839850)(毫米波雷达系列 传统CFAR检测(自适应类).assets/image-20230516131206695…...
【2023/05/19】NFA
Hello!大家好,我是霜淮子,2023倒计时第14天。 非确定有限状态自动机(NFA)是一种模拟复杂系统行为的数学模型 目录 一、基本概念和理论 二、优点和缺点 三、应用场景 四、问题和挑战 五、重要性、作用和使用价值 …...
汽车功能安全
前言 近些年来,功能安全在汽车传统底盘域和动力域的应用已较为成熟,各大汽车企业功能安全意识也逐渐增强。在辅助驾驶和自动驾驶爆发式增长的大趋势下,现代汽车的功能安全在目前尤为复杂的电子电气系统中就显得更为重要,功能安全…...
【Python】数据分析与可视化实践:收支日统计数据可视化的实现
Python数据分析与可视化实践:收支日统计数据可视化的实现 Author:萌狼蓝天 Date:2023-5-7 数据读入与基本处理 上图是原始数据的一部分,存放于excel中,首先使用pd读入数据。读入数据后,删除不是收入&#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)多行表序列
前文再续,书接上一回。 上一回我们解析了如何通过pgrx编写srf,返回一个TableIterator,但是在具体应用的时候,我们还是针对一条记录返回了一行数据(多个字段的一行,也还是一行),并没…...
刚入职,就想跑路了...
刚入职一家公司,想离职又怕找不到新工作。 说实话,这个问题还是蛮常见的,很多时候,入职的公司并不是自己最满意的,即使是最满意的,入职后总会遇到各种各样的不顺心,公司制度不规范啊࿰…...
如何让技术架构师具有预知未来业务发展的能力
大家好,今天我们来分享业务架构,但是我们并不是以产品经理角度讲述一个业务架构是什么以及如何做?而是以一个技术架构师的角度,讲述如何承接业务架构或在没有业务架构的时候,如何判断业务变化趋势而对系统架构提前做出…...
卷麻了,新来的00后实在是太卷了...
在程序员职场上,什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事,我们可以帮他。 是技术太强的人吗?也不是。技术很强的同事,可遇不可求,向他学习还来不及呢。 真正让人反感的,是技术平平&…...
单片机--实战练习
目录 【1】GPIO 1.定义 2.应用 I - Input - 输入采集 O - Output - 输出控制 编辑编辑 3.GPIO结构框图 4.功能描述 输入功能 输出功能 5.相关寄存器 【2】点亮一盏LED灯 1.实验步骤 2.编程实现 3.编译下载 4.复位上电 练习:实现LED灯闪烁…...
Go Etcd 分布式锁实战
1 分布式锁概述 谈到分布式锁,必然是因为单机锁无法满足要求,在现阶段微服务多实例部署的情况下,单机语言级别的锁,无法满足并发互斥资源的安全访问。常见的单机锁如Java的jvm锁Lock、synchronized,golang的Mutex等 对…...
Windows环境下pcl点云库 安装配置教程
本文为Windows配置点云库pcl步骤,具体win10、visual studio 2019、pcl1.11.1。 【1】下载安装包 Releases PointCloudLibrary/pcl GitHub 其中,AllInOne是一个包含了PCL库所有模块的单独下载包,方便快速获取整个PCL库,而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解析,我们可以试着新建一个txt文件,在里面加入逗号分隔的信息: a, 1, 15, 30, true 将txt文件后缀改为csv&…...
数据结构之初识树与堆
前言:前面学习了顺序表,队列,栈,链表,我们知道他们都是一种线性表,是一种线性结构,而除此之外,仍有许多我们还没认识的结构,比如树形结构,不同于线性结构&…...
虚拟化技术 — VirtIO 虚拟设备接口标准
目录 文章目录 目录VirtIOVirtIO 虚拟设备接口标准VirtIO 的前后端分层架构标准VirtIO 的数控路径分离架构标准VirtIO 的传输层标准VirtIO 标准在 Linux 中的实现VirtIO VirtIO 由 Rusty Russell 开发,最初是为了支持自己开发的 lguest Hypervisor,其设计目标是在虚拟化环境…...
Dubbo——SpringBoot集成Dubbo(@Autowired和@Reference的区别、Dubbo的服务治理)
Dubbo——原生API实现远程调用_Strine的博客-CSDN博客 在上一篇文章中我们讲了如何使用原生API发起远程调用,显然这种方式肯定是非常麻烦的,因此我们这里就讲如何使用SpringBoot去集成Dubbo将这些配置简化。 生产者服务 添加配置文件 dubbo:applicat…...
高并发系统的三把利器
目录 1.限流 2.缓存 2.1.缓存的使用场景 3.降级 3.1.什么是降级? 3.2.服务降级方式 4.其他高并发手段 4.1. 集群 4.2.拆分 4.2.1 应用拆分 4.2.2 数据库 4.3. 静态化 4.4.削峰 4.5.限流 5.总结 参考 保护高并发系统的三大利器:限流、熔…...
AppiumWinAppDriver自动化测试 Failed to locate opened application window with appid问题
问题产生原因:1.期望能力选项参数丢失 例如:capabilities.setCapability("appWorkingDir", "C:\\Program Files (x86)\\Tencent\\app")) 某些app需要设置目录属性才可以启动。 问题产生原因: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工具破解无线网络密码 步骤一:虚拟机连接实验需要用到的网卡 步骤二:设置网卡为监听模式 步骤三:使用wlan0mon网卡扫描附近wif…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
C++.OpenGL (20/64)混合(Blending)
混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...
