当前位置: 首页 > 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;公司语音机器人等产品能够进行多轮问答 公司…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹&#xff0c;并新增内容 3.创建package文件夹...

【2025年】解决Burpsuite抓不到https包的问题

环境&#xff1a;windows11 burpsuite:2025.5 在抓取https网站时&#xff0c;burpsuite抓取不到https数据包&#xff0c;只显示&#xff1a; 解决该问题只需如下三个步骤&#xff1a; 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案

这个问题我看其他博主也写了&#xff0c;要么要会员、要么写的乱七八糟。这里我整理一下&#xff0c;把问题说清楚并且给出代码&#xff0c;拿去用就行&#xff0c;照着葫芦画瓢。 问题 在继承QWebEngineView后&#xff0c;重写mousePressEvent或event函数无法捕获鼠标按下事…...

java高级——高阶函数、如何定义一个函数式接口类似stream流的filter

java高级——高阶函数、stream流 前情提要文章介绍一、函数伊始1.1 合格的函数1.2 有形的函数2. 函数对象2.1 函数对象——行为参数化2.2 函数对象——延迟执行 二、 函数编程语法1. 函数对象表现形式1.1 Lambda表达式1.2 方法引用&#xff08;Math::max&#xff09; 2 函数接口…...

大模型——基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程

基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程 下载安装Docker Docker官网:https://www.docker.com/ 自定义Docker安装路径 Docker默认安装在C盘,大小大概2.9G,做这行最忌讳的就是安装软件全装C盘,所以我调整了下安装路径。 新建安装目录:E:\MyS…...

el-amap-bezier-curve运用及线弧度设置

文章目录 简介示例线弧度属性主要弧度相关属性其他相关样式属性完整示例链接简介 ‌el-amap-bezier-curve 是 Vue-Amap 组件库中的一个组件,用于在 高德地图 上绘制贝塞尔曲线。‌ 基本用法属性path定义曲线的路径,可以是多个弧线段的组合。stroke-weight线条的宽度。stroke…...