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

【FMCW 04】测角-Angle FFT

在之前的文章中,我们已经详尽讨论过FMCW雷达测距和测速的原理,现在来讲最后一块内容,测角。测角对于硬件设备具有要求,即要求雷达具有多发多收结构,从而形成多个空间信道(channel),我们正是利用这些channel间的差异性来完成对目标的测角。

本节讲述通用的Angle FFT测角的原理。

天线阵列

在一个具有多发多收的天线结构中,我们可以得到一个天线阵列(array)。一个Tx-Rx就构成了一个空间信道。
在这里插入图片描述
设相邻的两个天线之间排布间距为ddd,到达角(angle of arrival,AoA)为 θ\thetaθ,则相邻的两个天线之间会产生一个固定的光程差 dsin⁡θd \sin \thetadsinθ,这个固定的光程差会造成相邻两个信道间接收回波固定的相位差。即
dsin⁡θλ=Δϕ2π\frac{d \sin \theta}{\lambda}=\frac{\Delta \phi}{2\pi} λdsinθ=2πΔϕ
于是我们就有
sin⁡θ=λ2πdΔϕ\sin\theta = \frac{\lambda}{2 \pi d} \Delta \phi sinθ=2πdλΔϕ

最大测量角度

由于
−π<Δϕ<π-\pi<\Delta \phi < \pi π<Δϕ<π
所以最大测量角度为
θmax<arcsin⁡(λ2d)\theta_{max} < \arcsin (\frac{\lambda}{2d}) θmax<arcsin(2dλ)

取天线阵列间距为λ2\frac{\lambda}{2}2λ时,就可得此时测量达到达到角的范围正好在±90°,即

−1<sin⁡θ<1-1< \sin \theta < 1 1<sinθ<1
−90∘<θ<90∘-90 ^{\circ} < \theta < 90^{\circ} 90<θ<90

但值得注意的是,虽然sin⁡θ\sin \thetasinθ与我们的Δϕ\Delta \phiΔϕ成正比,但由于sin⁡θ\sin \thetasinθ 函数本身的非线性,θ\thetaθ 在角度小时对Δϕ\Delta \phiΔϕ更敏感,或者说:在低角度范围(如AoA±30°)内测角的精度(或区分度)更高

可以看下面的函数图来有一个直观的认识:当我们在sin⁡θ\sin \thetasinθ轴取均匀标度,在θ\thetaθ 轴上的标度随角度的增加是越来越粗的。
在这里插入图片描述


相位差的周期性

在之前 测速 的文章中,我们已经讨论过相位差的周期性,及其基于数字域角分辨率下的FFT结果。那么,现在由于N个信道所造成的固定相位差,同样也会形成这个一个相位差的周期性。

借用一幅TI教程的示意图,我们此时对在同一range bin中且又在同一 velocity bin中的两个运动物体进行区分,那么,如果其AoA不同,我们就可以借由 angle FFT 来完成对这两个运动物体的区分。

在这里插入图片描述

角度分辨率

看得出来,此处的推导与测速中的推导相近。在数字域上的角速度分辨率为
Δω=2πNradians/sampleΔω= \frac{2 \pi}{N} radians/sample Δω=N2πradians/sample
其中N为FFT的点数,继续令Δϕ=w\Delta \phi = wΔϕ=w,则
sin⁡(θ+Δθ)−sin⁡(θ)=λ2πd(Δw+w)−λ2πdw=λ2πdΔw\sin(\theta + \Delta \theta) -\sin(\theta) = \frac{\lambda}{2 \pi d}(\Delta w +w) - \frac{\lambda}{2 \pi d}w = \frac{\lambda}{2 \pi d}\Delta w sin(θ+Δθ)sin(θ)=2πdλ(Δw+w)2πdλw=2πdλΔw

根据导数的定义,我们有
sin⁡(θ+Δθ)−sin⁡(θ)Δθ=cos⁡θ\frac{ \sin(\theta + \Delta \theta) -\sin(\theta) }{\Delta \theta}= \cos \theta Δθsin(θ+Δθ)sin(θ)=cosθ
于是,可进一步推得
cos⁡(θ)Δθ=λ2πdΔw\cos (\theta) \Delta \theta = \frac{\lambda}{2 \pi d}\Delta w cos(θ)Δθ=2πdλΔw
Δθ=λ2πdcos⁡(θ)Δw=λNdcos⁡(θ)\Delta \theta = \frac{\lambda}{2 \pi d \cos (\theta) }\Delta w=\frac{\lambda}{N d \cos (\theta) } Δθ=2πdcos(θ)λΔw=Ndcos(θ)λ
这里同样可对之前低角度范围内测角的精度(或区分度)更高的原因做出解释:cos⁡θ\cos \thetacosθ在低角度时值更大,使得此时的 Δθ\Delta \thetaΔθ 有着更细微的取值。


如果取天线阵列间距为 λ2\frac{\lambda}{2}2λ ,且设 θ=0\theta = 0θ=0,就可以得到通常定义下的最精细的角度分辨率为
θres=2N\theta_{res} = \frac{2}{N} θres=N2
可见其将受限于能够完成多发多收的天线数量。

相关文章:

【FMCW 04】测角-Angle FFT

在之前的文章中&#xff0c;我们已经详尽讨论过FMCW雷达测距和测速的原理&#xff0c;现在来讲最后一块内容&#xff0c;测角。测角对于硬件设备具有要求&#xff0c;即要求雷达具有多发多收结构&#xff0c;从而形成多个空间信道&#xff08;channel&#xff09;&#xff0c;我…...

Linux操作系统学习(线程同步)

文章目录线程同步条件变量生产者与消费者模型信号量环形队列应用生产者消费者模型线程同步 ​ 现实生活中我们经常会遇到同一个资源多个人都想使用的问题&#xff0c;例如游乐园过山车排队&#xff0c;玩完的游客还想再玩&#xff0c;最好的办法就是玩完的游客想再玩就去重新排…...

了解动态规划算法:原理、实现和优化指南

动态规划 详细介绍例子斐波那契数列最长回文子串优化指南优化思路斐波那契数列优化最长回文子串优化详细介绍 动态规划(Dynamic Programming,简称 DP)是一种通过将原问题拆分成子问题并分别求解这些子问题来解决复杂问题的算法思想。 它通常用于求解优化问题,它的核心思想…...

《NFL橄榄球》:明尼苏达维京人·橄榄1号位

明尼苏达维京人&#xff08;英语&#xff1a;Minnesota Vikings&#xff09;是一支职业美式足球球队&#xff0c;位于明尼苏达州的明尼阿波利斯。他们现时在国家橄榄球联合会北区参与国家美式足球联盟比赛。该球队本为美国美式足球联盟&#xff08;AFL&#xff09;的球队。但是…...

sheng的学习笔记-Actuator健康监控

前言在微服务系统里&#xff0c;对微服务程序的运行状况的跟踪和监控是必不可少的&#xff1b;例如GPE&#xff0c;TelegrafinfluxDB都提供了微服务体系监控的方案&#xff0c; ZIPKIN&#xff0c; Skywalking都提供了微服务云体系的APM的方案&#xff1b; 这些解决方案功能全面…...

初次使用ESP32-CAM记录

模块的配置和图片 摄像头&#xff1a;8225N V2.0 171026 模块esp-32s 参考资料&#xff1a;https://docs.ai-thinker.com/esp32 配置环境 参考&#xff1a;https://blog.csdn.net/weixin_43794311/article/details/128622558 简单使用需要注意的地方 基本的环境配置和串口…...

华为OD机试真题Python实现【最长连续交替方波信号】真题+解题思路+代码(20222023)

最长连续交替方波信号 题目 输入一串方波信号,求取最长的完全连续交替方波信号,并将其输出, 如果有相同长度的交替方波信号,输出任一即可,方波信号高位用1标识,低位用0标识 如图: 说明: 一个完整的信号一定以0开始然后以0结尾, 即 010 是一个完整的信号,但101,101…...

【操作系统原理实验】页面替换策略模拟实现

选择一种高级语言如C/C等&#xff0c;编写一个页面替换算法的模拟实现程序。1) 设计内存管理相关数据结构&#xff1b;2) 随机生成一个页面请求序列&#xff1b;3) 设置内存管理模拟的关键参数&#xff1b;4) 实现该页面置换算法&#xff1b;5) 模拟实现给定配置请求序列的换页…...

Java中解析XML文件

1 在Java中解析XML文件共有四种方式 A、DOM方式解析XML数据 树结构&#xff0c;有助于更好地理解、掌握&#xff0c;代码易于编写&#xff0c;在解析过程中树结构是保存在内存中&#xff0c;方便修改 B、SAX方式解析 采用事件驱动模式&#xff0c;对内存消耗比较小&#xff0…...

二点回调测买 源码

如图所示&#xff0c;两点回调测买点的效果图&#xff0c;这是我们常见的一种预测买点计算方法。 现将源码公布如下&#xff1a; DRAWKLINE(H,O,L,C); N:13; A1:REF(HIGH,N)HHV(HIGH,2*N1); B1:FILTER(A1,N); C1:BACKSET(B1,N1); D1:FILTER(C1,N); A2:REF(LOW,N)LLV(LOW,2*N1…...

钉钉端H5开发调试怎么搞

H5开发本地调试教程 作为一名前端开发,大家平时工作中或多或少都有接触或需要开发H5页面的场景,在开发过程中,如何像PC端页面一样有有丝滑的体验呢? 不同的情况需要在不同的端调试更方便有效: 1. 在画UI的时候,更适合在PC端调试,更改代码或者直接在浏览器调试,都是实…...

Mysql Server原理简介

Mysql客户端包括JDBC、 Navicat、sqlyog&#xff0c;只是为了和mysql server建立连接&#xff0c;向mysql server提交sql语句。mysql server组件第一部分叫连接器主要承担的功能叫管理连接和验证权限&#xff0c;每次在进行数据库访问的时候&#xff0c;必然要输入用户名和密码…...

23种设计模式-外观模式

外观模式是一种结构型设计模式&#xff0c;它提供了一个统一的接口&#xff0c;用来访问子系统中的一群接口。外观模式定义了一个高层接口&#xff0c;使得客户端可以更加方便地访问子系统的功能。在这篇博客中&#xff0c;我们将讨论如何使用Java实现外观模式&#xff0c;并通…...

使用 Vulkan VkImage 作为 CUDA cuArray

使用 Vulkan VkImage 作为 CUDA cuArray【问题标题】&#xff1a;Use Vulkan VkImage as a CUDA cuArray使用 Vulkan VkImage 作为 CUDA cuArray【发布时间】&#xff1a;2019-08-20 20:01:10【问题描述】&#xff1a;将 Vulkan VkImage 用作 CUDA cuArray 的正确方法是什么&am…...

电商API接口-电商OMS不可或缺的一块 调用代码展示

电商后台管理系统关键的一环就是实现电商平台数据的抓取&#xff0c;以及上下架商品、订单修改等功能的调用。这里就需要调用电商API接口。接入电商API接口后再根据自我的需求进行功能再开发&#xff0c;实现业务上的数字化管理。其中订单管理模板上需要用到如下API:seller_ord…...

Solaris ZFS文件系统rpool扩容

ZFS文件系统简介 Solaris10默认的文件系统是ufs&#xff08;Unix Filesystem&#xff09;&#xff0c;当然也可以选装zfs&#xff1b;Solaris11默认的文件系统是zfs&#xff08;Zettabyte Filesystem&#xff09;。 ZFS文件系统的英文名称为Zettabyte File System,也叫动态文件…...

模式识别 —— 第二章 参数估计

模式识别 —— 第二章 参数估计 文章目录模式识别 —— 第二章 参数估计最大似然估计&#xff08;MLE&#xff09;最大后验概率估计&#xff08;MAP&#xff09;贝叶斯估计最大似然估计&#xff08;MLE&#xff09; 在语言上&#xff1a; 似然&#xff08;likelihood&#xf…...

判断4位回文数-课后程序(Python程序开发案例教程-黑马程序员编著-第3章-课后作业)

实例1&#xff1a;判断4位回文数 所谓回文数&#xff0c;就是各位数字从高位到低位正序排列和从低位到高位逆序排列都是同一数值的数&#xff0c;例如&#xff0c;数字1221按正序和逆序排列都为1221&#xff0c;因此1221就是一个回文数&#xff1b;而1234的各位按倒序排列是43…...

【NLP】Word2Vec 介绍

Word2Vec 是一种非常流行的自然语言处理技术&#xff0c;它将每个单词表示为高维向量&#xff0c;并且通过向量之间的相似度来表示单词之间的语义关系。 1 One-Hot 编码&#x1f342; 在自然语言处理任务中&#xff0c;我们需要将文本转换为计算机可以理解的形式&#xff0c;即…...

3月6日,30秒知全网,精选7个热点

///石家庄地铁&#xff1a;在指定店铺购物金额不限 就可免费乘地铁 乘客只要在指定商铺或地铁站内36524便利店购物&#xff0c;便能得到一张当日乘车券&#xff0c;可免费乘坐地铁一次&#xff0c;不限里程 ///神州泰岳&#xff1a;公司语音机器人等产品能够进行多轮问答 公司…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!

一、引言 在数据驱动的背景下&#xff0c;知识图谱凭借其高效的信息组织能力&#xff0c;正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合&#xff0c;探讨知识图谱开发的实现细节&#xff0c;帮助读者掌握该技术栈在实际项目中的落地方法。 …...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机&#xff08;Finite Automaton, FA&#xff09;到正规文法&#xff08;Regular Grammar&#xff09;转换器&#xff0c;它配备了一个直观且完整的图形用户界面&#xff0c;使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

算法笔记2

1.字符串拼接最好用StringBuilder&#xff0c;不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化

缓存架构 代码结构 代码详情 功能点&#xff1a; 多级缓存&#xff0c;先查本地缓存&#xff0c;再查Redis&#xff0c;最后才查数据库热点数据重建逻辑使用分布式锁&#xff0c;二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...

WebRTC从入门到实践 - 零基础教程

WebRTC从入门到实践 - 零基础教程 目录 WebRTC简介 基础概念 工作原理 开发环境搭建 基础实践 三个实战案例 常见问题解答 1. WebRTC简介 1.1 什么是WebRTC&#xff1f; WebRTC&#xff08;Web Real-Time Communication&#xff09;是一个支持网页浏览器进行实时语音…...