Bluetooth Channel Sounding中关于CS Step及Phase Based Ranging相应Mode介绍

news2024/11/26 22:24:05

目录

BLE CS中Step定义

BLE CS中交互的数据包/波形格式

BLE CS中Step的不同Mode

BLE CS中Step的执行过程

Mode0介绍

Mode0 步骤的作用

Mode0步骤的执行过程

Mode0步骤的执行时间

Mode0步骤的时间精度要求

Mode2介绍

Mode2步骤的作用和执行过程

 Mode2步骤的执行时间


BLE CS中Step定义

        BLE CS中的Step定义为BLE CS双方(initiator和reflector)一次双向交互的过程。多个相关的BLE CS Steps组成了BLE CS中的Subevent。

        在BLE CS中的Step中,主要根据应用层选择的CS方法(PBR: phase based ranging 或/和 RTT: round-trip time),在BLE CS双方设备间完成射频信号的交互。

BLE CS中交互的数据包/波形格式

        BLE CS中交互的数据包格式是CS过程独有的,与BLE其他过程,如广播、连接态等模式下的数据包格式都不同。

        BLE CS过程中交互的数据包波形,从命名上有两种,分别是:CS_SYNC和CS Tone。在不同的CS Mode中,使用两种数据包的不同组合。CS_SYNC数据包主要是用于RTT交互使用,具有指定的格式,具体可以参考:Vol 6, Part H 2 PACKET FORMATS FOR CHANNEL SOUNDIN,如下图所示:

        CS Tone波形,严格意义上来说是没有包格式说法的,因为本质上该段波形,是对芯片载波的一种ASK调制,也就是在发送阶段,直接发送的是芯片的载波正弦信号。在BLE CS的PBR功能下,大部分的Step双方只交互CS Tone波形,已完成跳频测相并计算距离。

BLE CS中Step的不同Mode

        Bluetooth规范中,定义了CS过程中可以使用的4中模式(Mode),分别是Mode0~Mode3,分别作用为:

  1. Mode0:为RTT或者PBR,测量CS双方的频偏情况;
  2. Mode1:测量CS双方的RTT
  3. Mode2:测量CS双方由于距离导致的跳频相位变换情况,也就是这个模式才是基于相位的高精度测距模式;
  4. Mode3:同时测量RTT和跳频相位情况。

        BLE CS Step过程中,CS双方通过空口进行通信的数据包格式由Vol 6, Part H 2 PACKET FORMATS FOR CHANNEL SOUNDING中定义。根据当前Step中收发的Mode不同,主要是CS_SYNC和Tone两种包的组合形式。

BLE CS中Step的执行过程

        在每个CS的Subevent中,CS的每个Step时间宽度可能由于模式不同而不同,另外不同模式情况下,每个Subevent中包含的CS Step数量也不一定相同。因此,我们没有在常规的LL_CS_IND数据包中,看到关于BLE CS Step的Length、Interval等参数。这些参数在CS Step层面,大部分是由BLE控制器自动根据规范完成双方的约束。详细的Subevent和Step中关于Mode的时序,参考Vol 6, Part H 4.4 Channel Sounding subevent and mode sequencing。

        Bluetooth中规范:在一个CS Subevent设定的T_SUBEVENT_LEN内,如果一个CS Step执行完毕后,剩余的时间超过需要执行的Step时间长度,那么LL层可以再安排一个Step,否则的话这个Subevent内的后续时间将保持空闲。下图展示了一个BLE Subevent内插入最多Step数量的情况。

BLE CS 子事件最大CS Step占用宽度

        每个Subevent中最少step由N_MIN_STEPS_PER_SUBEVENT表示,规范中该值为2。而每个Subevent中最多step由N_MAX_STEPS_PER_SUBEVENT表示,规范中该值为160。而单个PROCEDURE中,不管有多少个Subevent,最大的Steps数量由N_STEPS_MAX表示,该参数规范中设定为256。

        而BLE CS Step的分隔的确定方式,如下图所示。Bluetooth中规范了两个BLE CS Step直接使用物理层的频率跳频进行分割。

BLE CS Step间隔确定方法:由跳频时间固定分割

        规范中留个跳频的时间定义为T_FCS,BLE硬件在这段时间内需要完成跳频、设置并稳定输出信号功率、必要的校准等动作。规范中定义了多个T_FCS值可以选择,最小值为15us,最大为150us。需要注意的是,规范中仅150us是需要所有BLE设备都强制支持的,其他都是可选支持,因此该值取决于芯片设计公司。

        在一个BLE CS Procedure中T_FCS需要保持一致。另外,在T_FCS和具体的CS Step内,reflector RF端口处的信号功率要至少相差40dB以上。

        由于BLE的CS本质上是提供了RTT和PBR两种测距过程。由于RTT的精度较差,此处仅关系PBR相关的Mode。

Mode0介绍

Mode0 步骤的作用

        支持BLE CS的设备,必须要支持此模式,主要用于测量获得BLE CS双方的存在频率偏差。具体来说,是BLS CS中的initiator设备用此模式获得reflector设备与自身的频率偏差。获得该频率偏差后,initiator通过LE CS Subevent Result event中的Step_Data-Measured_Freq_Offset上报至Host,以便用于后续测距算法时的误差补偿。

Mode0步骤的执行过程

        具体此模式下,收发双方在CS Step中的详细操作如下图所示。

        首先是Initiator设备发送CS_SYNC_0_I数据包,该数据包中仅包含CS_SYNC部分,且此部分的CS_SYNC不带可选的sounding或者random sequence部分。在确定的延时之后(T_RD+T_IP1),reflector设备发送一个CS_SYNC+CS Tone数据包。Initiator设备收到reflector发送的CS_SYNC,在固定的时间窗口通过测量CS Tone,获得reflector与自身的载波偏差。

        在规范中,Initiator设备测量的载波偏差称为Fractional Frequency Offset(FFO)。该FFO的测量,与当前采样的CS Tone信号以及reflector设备提供的Mode-0 FAE表格有关,具体可以参考:Vol 6, Part A 3.5.1 Fractional frequency offset,而关于Initiator和reflector的本地FAE误差校准,可以参考Vol 6, Part A 6.3 Frequency actuation error correction。

Mode0步骤的执行时间

        一次Mode0双方设备的交互时间,可以通过以下方式测算。首先,Initiator发送CS_SYNC数据包。此时CS_SYNC数据包占用的时间T_SY,对于1Mpbs码率PHY,传输bit数量为8+32+4=44,对应需要44us;对于2Mbps码率PHY,传输bit数量为16+32+4=48,对应需要24us。

        Initiator发送完CS_SYNC后,定义了一个5us的T_RD时间。此时间主要用于Initiator关闭RF发射机,使得空口无射频能量。规范要求CS_SYNC发送阶段和T_RD后的射频功率要至少相差40dB以上。

        接下来是Initiator发送完至reflector发送前之间的空闲时间T_IP1。这段时间一般可以用于硬件的校准,或者reflector准备RF输出。规范中T_IP1也是多种值可配置。但强制要求芯片支持的仅有145us,也就是说规范中强制要求支持的T_IP1+T_RD=150us。

        T_IP1空闲时间后,reflector发送CS_SYNC_0_R数据包,该数据包是CS_SYNC后外加一个CS Tone,如下图所示,具体参考:Vol 6, Part H,2.6 Channel Sounding extended packet formats。

        其中CS_SYNC占用时间与Initiator发送的一致,取决于PHY码率的设置;CS_SYNC和CS Tone之间的Guard时间T_GD固定为10us;用于Initiator频率测量的CS Tone时间T_FM在Mode0中固定为80us。同样reflector发送完CS_SYNC_0_R数据包后,仍然预留了5us的T_RD时间。

        需要注意的是,在BLE CS中规范了收发的Anchor Point和Offset后,在固定的CS Step中如果reflector没有收到Initiator发送的CS_SYNC数据包,那么reflector仍然需要在固定的时间上发送CS_SYNC_0_R数据包,尽管此时reflector没有收到,或者收到Initiator发送的CS_SYNC数据包有较多的误比特。

        最终,我们可以计算Mode0 CS中一个Step所占用的时间为:

2*T_SY+2*TRD+TGD+TFM+TIP1

T_SY为44us或者24us,TRD固定为5us,TGD固定为10us,TFM 固定为80us,TIP1可以配置。因此Mode0步骤的执行时间最长是TIP1为强制要求的145us,此时总的Mode0执行时间约为:289us或者269us。当芯片能够支持的TIP1达到最小的10us时,总的Mode0执行时间约为:154us或者134us。

Mode0步骤的时间精度要求

        如果定义为Initiator设备在第m个step上Mode0数据包的发出时间。对应第一个Step,根据定义我们可以设定。而整个Step执行时间分为Step时间和跳频时间T_FCS,如果PHY确定的情况下,整个Step执行时间是固定的。例如当T_FCS也满足强制执行时间150us时,整个Step执行的预测时间应该为:

该时间为439us或者419us,本质上是在Mode0步骤执行时间上增加了150us的时间。

        BLE规范中要求第m个数据包Initiator的实际发出时间与预测时间,在所有的Mode0 的M个Steps上要误差要小于0.25us,即:

Mode2介绍

Mode2步骤的作用和执行过程

        Mode2步骤主要是实现BLE CS中PBR测距功能。

        Mode2的执行过程也相对较为简单,如下图所示。先由initiator设备在规定的时间节点发送一个CS Tone,然后等规定的时间间隔后,reflector在相同的频点发送一个CS Tone。可以发现,在Mode2的执行过程中,initiator和reflector设备间是没有带调制的信息传递的。

 Mode2步骤的执行时间

由上图可知,initiator设备在发送CS Tone时,所需要花费的时间为:

其中:

        是开关切换时间,如果单天线执行BLE CS,那就是不需要开关切换,此时可以设置为0;但如果用到多天线进行BLE CS,那么的时间取决于RF Switch的切换时间,规范中可以选择的分别为1,2,4和10us,如下图所示。

        是相位测量时间。规范中运行的相位测量时间分别为10us,20us和40us,其中40us是需要强制支持的时间,而前面两个是可选支持的时间。

         是路径支持个数。这个参数是由于支持BLE CS的规范,是允许外置多天线进行不同路径的CS过程。这也是前面预留进行开关切换选择传输天线的时间。目前规范中最多支持的路径由4个,由Antenna Configuration Index进行唯一选择,如下图所示。

        为了确保BLE CS中Mode2的安全攻击等级,Mode2的每个路径传输中,都插入了一个CS Tone 扩展槽位(Extension Slot),其中占用的时间与当前时间一致,也就等效又额外增加了一个路径的传输使时间。关于Extension Slot介绍Vol 6, Part H 4.4.1 Tone extension slots,可以参考。因此,最终initiator发送CS Tone过程,需要占用的时间为:。此时reflector在对应的时间,分别接收来自不同天线路径的initiator载波信号。

        Initiator发送完所有的CS Tone后,预留了固定5us的T_RD时间来关闭Initiator的发射机。接下来,是一个收发机角色切换时间T_IP2,即initiator由发射切换到接收,而reflector由接收切换到发射。T_IP2和T_IP1一样,规范中也是有10us开始至145us有多参数可以选择,其中145us是规范中需要所有蓝牙设备必须支持的间隔,其他都是可选支持。在规范中T_IP1和T_IP2是两个独立的参数,是可以配置成不一样的数值的。

         T_IP2延时时间后,那么由reflector在相同的信道上发送CS Tone,其中发送时间和initiator一致,也需要考虑天线路径个数和插入的extension slot,因此占用的时间也同样为:

        最终,同样预留了5us的T_RD时间,来让reflector关闭发射机,并结束当前Mode2过程。

        下面举例说明多天线路径是的Mode2过程。如果配置是选择的ACI=2,那么此时总共存在3条设备A到设备B的路径,此时,分别对应三天线的A设备和一天线的B设备,此时对应的传输路径如下图所示。

        此时Mode2的执行过程如下图所示。首先是initiator依次通过开关切换,依次在三个天线上实现了CS Tone的发送。最终预留了一个extension slot,此时天线尽管不需要切换,但是切换时间仍然需要预留。然后由CS DRBG模块决定当前slot是否要发送CS Tone。接下来就是T_RD+ T_IP2的等待时间。然后就是reflector依次向各个initiator的天线发送CS Tone,直至当前Mode结束。

        最终,根据规范,Mode2执行过程需要的总时间为:

当BLE CS双方只有一条天线路径,即时。此时,而选择强制支持的40us,T_IP2选择强制支持的145us,那么Mode2执行一次的时间为:315us。

        另外,我们可以计算理想情况下,initiator天线发射端从开始CS Tone发射,到reflector天线端开始CS Tone发射的时间间隔应该为:

用于计算Mode2双方应该经过的理想延时,此参数将在频率误差校准中使用,具体参考:Vol 6, Part A  6.3 Frequency actuation error correction。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2220882.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

13.4 Linux_网络编程_套接字属性

概述 什么是选项的级别: socket中可以设置的属性种类很多,比如socke的选项、传输层TCP/UDP的选项、数据链路层的选项。这些选项在不同的层级,这就是选项的级别。常用级别及含义如下: 级别含义SOL_SOCKET作用于套接字本身IPPROT…

MySQL中的优先规则

在图片的例子中,有两个条件: 第一个条件是job_id是AD_PRES并且薪水高于15,000。 第二个条件是job_id是SA_REP。 在图片中的例子有两个条件: 第一个条件是job_id是AD_PRES或者SA_REP。 第二个条件是薪水高于$15,000。

React Componet类组件详解(老项目)

React类组件是通过创建class继承React.Component来创建的,是React中用于构建用户界面的重要部分。以下是对React类组件的详细解释: 一、定义与基本结构 类组件使用ES6的class语法定义,并继承自React.Component。它们具有更复杂的功能&#…

Vscode连接WSL2(Ubuntu20.04)

一.安装WSL插件 在扩展里面搜索WSL,选择安装即可 二.连接到wsl 安装完毕后在左下角看到一个按钮&#xff08;一个>和一个<组成&#xff09;&#xff0c;点击在中间选择"连接到wsl",然后Vscode会弹出一个新窗口&#xff0c;左下角显示WSL子系统名称&#xff0…

vue中如何检测数组变化(vue基础,面试,源码级讲解)

大家有什么不明白的地方可以分享在评论区&#xff0c;大家一起探讨哦~~ &#xff08;如果对数据劫持还有所不明白的小伙伴&#xff0c;可以去看看上一篇文章哦&#xff09; 在vue2中&#xff0c;是如何对数组进行劫持的呢&#xff1f; 简单代码实现&#xff1a; 在vue2中&…

学习中,师傅b站泷羽sec——xss挖掘过程

某职业技术学院网站xss挖掘&#xff1a; 资产归纳 例如&#xff1a;先把功能点都看一遍&#xff0c;大部分都是文章 根据信息搜集第一课学习到一般主站的防御力是比较强的&#xff0c;出现漏洞的点不是对新手不友好。 在资产验证过程中还是把主站看了一遍 没有发现有攻击的机会…

G1 GAN生成MNIST手写数字图像

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 G1 GAN生成MNIST手写数字图像 1. 生成对抗网络 (GAN) 简介 生成对抗网络 (GAN) 是一种通过“对抗性”学习生成数据的深度学习模型&#xff0c;通常用于生成…

如何调试浏览器中的内存泄漏?

聚沙成塔每天进步一点点 本文回顾 ⭐ 专栏简介⭐ 如何调试浏览器中的内存泄漏&#xff1f;1. 什么是内存泄漏&#xff1f;2. 调试内存泄漏的工具3. 如何使用 Memory 面板进行内存调试3.1 获取内存快照&#xff08;Heap Snapshot&#xff09;获取内存快照的步骤&#xff1a;快照…

即时通讯增加Redis渠道

情况说明 在本地和服务器分别启动im服务&#xff0c;当本地发送消息时&#xff0c;会发现服务器上并没有收到消息 初版im只支持单机版&#xff0c;不支持分布式的情况。此次针对该情况对项目进行优化,文档中贴出的代码非完整代码&#xff0c;可自行查看参考资料[2] 代码结构调…

C Primer Plus 第9章——第一篇

你该逆袭了 文章目录 一、复习函数1、定义带形式参数的函数2、声明带形式参数函数的原型3、使用 return 从函数中返回值&#xff08;1&#xff09;、返回值不仅可以赋给变量&#xff0c;也可以被用作表达式的一部分。&#xff08;2&#xff09;、返回值不一定是变量的值&#x…

springboot redisTemplate hash 序列化探讨

前提提要&#xff1a;这个是个人小白总结&#xff0c;写完博客后开始厌蠢。 redisTemplate 有两种插入hash的方式 redisTemplate.opsForHash().putAll(key, map);redisTemplate.opsForHash().put(key, field, value);在使用的过程中&#xff0c;难免会疑问为什么 key field v…

Windows下部署autMan

一、安装autMan 下载autMan压缩包 https://github.com/hdbjlizhe/fanli/releases 解压安装包 二、运行&#xff08;注意&#xff0c;无论是交互运行还是静默运行&#xff0c;终端均不可关闭&#xff09; 基本运行 双击autMan.exe运行。 高级运行 在autMan文件夹&#xff0…

Sigrity Power SI Model Extraction模式如何提取电源网络的S参数和阻抗操作指导(一)

Sigrity Power SI Model Extraction模式如何提取电源网络的S参数和阻抗操作指导(一) Sigrity PowerSI是频域电磁场仿真工具,以下图为例介绍如果用它观测电源的网络的S参数以及阻抗的频域曲线. 观测IC端电源网络的自阻抗 1. 用powerSi.exe打开该SPD文件

工业相机详解及选型

工业相机相对于传统的民用相机而言&#xff0c;具有搞图像稳定性,传输能力和高抗干扰能力等&#xff0c;目前市面上的工业相机大多数是基于CCD&#xff08;Charge Coupled Device)或CMOS(Complementary Metal Oxide Semiconductor)芯片的相机。 一&#xff0c;工业相机的分类 …

sentinel原理源码分析系列(六)-统计指标

调用链和统计节点构建完成&#xff0c;进入统计指标插槽&#xff0c;统计指标在最后执行的&#xff0c;等后面的插槽执行完&#xff0c;资源调用完成了&#xff0c;根据资源调用情况累计。指标统计是最重要的插槽&#xff0c;所有的功能都依靠指标数据&#xff0c;指标的正确与…

你知道什么叫数控加工中心吗?

加工中心是一种高度机电一体化的数控机床&#xff0c;具有刀库&#xff0c;自动换刀功能&#xff0c;对工件一次装夹后进行多工序加工的数控机床。通过计算的控制系统和稳定的机械结构&#xff0c;加工中心能够实现高精度的加工&#xff0c;确保工件的尺寸精度和表面质量。通过…

实用好助手

在现代职场中&#xff0c;拥有高效且适用的工具能够显著提升我们的工作效率与质量。除了常见的办公软件&#xff0c;还有许多小众但非常实用的工具可以大幅度优化工作流程。以下是另外五个推荐的工作软件&#xff0c;它们各自具备独特的功能与优势&#xff0c;值得一试。 1 …

【Docker系列】在 Docker 容器中打印和配置环境变量

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

双十一有哪些值得买的东西?2024年最全双十一好物推荐榜单来了!

双十一能够入手的好东西那肯定是非常多的&#xff0c;不过要想买到性价比高、实用性强的好物&#xff0c;就必须得做些功课了。作为一个智能家居和数码领域的博主&#xff0c;自然知道每年双十一买什么是最划算的。如果有朋友正在为双十一不知道买什么而发愁&#xff0c;那就快…

python+大数据+基于热门视频的数据分析研究【内含源码+文档+部署教程】

博主介绍&#xff1a;✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业毕业设计项目实战6年之久&#xff0c;选择我们就是选择放心、选择安心毕业✌ &#x1f345;由于篇幅限制&#xff0c;想要获取完整文章或者源码&#xff0c;或者代做&am…