Bluetooth Channel Sounding中关于CS Event Subevent的详细介绍

news2024/10/9 22:23:41

BLE CS Event & Subevent定义:

        BLE CS Event事件定义为:CS 事件被定义为从同一个 LE piconet 物理通道连接事件锚点具有相同偏移Offset的所有 CS Subevent子事件组,如图 1所示,具体参考Vol 1, Part A 3.3.2.5.2 Characteristics。

图 1 与连接Anchor Point具有相同Offset的CS Event时序图

        BLE CS Subevent定义为:由一组相关BLE CS Steps汇总而成的Steps组合,Subevent与Event的关系,如下图所示,具体参考:Vol 1, Part A 3.3.2.5.2 Characteristics。

图 2 多个CS子事件组合成为一个CS事件

与BLE CS Event & Subevent相关的参数及设置

BLE CS过程中,与CS Event & Subevent相关的参数有如下几个:

  1. T_SUBEVENT_LEN:CS Subevent的最大时间跨度,以625us作为步进单位,对应LL_CS_IND中的Subevent_Len;
  2. T_EVENT_OFFSET:LE连接时间锚点与CS Event起始时间之间的时间间隔,单位为us,对应LL_CS_IND中的Offset;
  3. T_EVENT_INTERVAL:以LE连接事件间隔作为单位,描述两个CS Event之间的间隔,对应LL_CS_IND中的Event_Interval;
  4. T_SUBEVENT_INTERVAL:相同CS Event内,两个连续Subevent之间的时间间隔,单位为625us, 对应LL_CS_IND中的Subevent_Interval;
  5. N_SUBEVENTS_PER_EVENT:在单个CS Event内,CS Subevent的数量, 对应LL_CS_IND中的Subevent_Per_Event;

        上述BLE CS中关于Event和Subevent的参数,CS双方需要经过LL_CS_REQ和LL_CS_RSP进行协商后,最终由LL_CS_IND中给出最终协商后执行的结果。

图 3 LL_CS_IND中给出BLE CS双方协商后的Event和Subevent结果

        图 1给出了T_EVENT_INTERVAL=1情况下的CS Event运行情况,可以发现,每个连接事件内部,存在一个CS Event。而T_EVENT_OFFSET是每个Event离连接事件Anchor Point之间的时间偏差。而T_EVENT_INTERVAL设置大于1时,代表一次CS Event可能会占用多个连接事件基本单位。

        在一个CS Event中,又存在多个Subevent,如图 2所示。CS Event中的第一个Subevent需要满足与Anchor Point存在T_EVENT_OFFSET的时间偏差,而后续subevent的起始时间需要保持T_SUBEVENT_INTERVAL的时间间隔。T_SUBEVENT_INTERVAL的最小设定需要大于等于T_SUBEVENT_LEN+T_MES。T_MES是两个subevent末尾和起始之间的间隔,规范设定为150us,具体可以参考Vol 6, Part B 4.1.4 Minimum Channel Sounding subevent space。同样,CS Subevent可以跨越LE的连接间隔。

图 4 规范中明确的BLE CS Subevent最小间隔

        上述参数确定之后,就可以确定一个BLE CS过程中存在多少个CS Event,也能确定一个CS Event中存在多少个Subevent,同时也设定了每个Event离连接Anchor Point的具体offset时间。这样,BLE CS双方就可以实现Subevent级别是时间同步。另外需要注意的是,协议中规范了每个BLE CS过程中,最多只能包含N_MAX_SUBEVENTS_PER_PROCEDURE个CS Subevent,该值在目前协议中为32。换句话说,一个CS Procedure中有多个Event,一个Event中又有多个Subevent,但是在同一个Procedure中,最多包含的Subevent数量为32个。

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

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

相关文章

自动驾驶系统研发系列—如何选择适合自动驾驶的激光雷达?从基础到高端全解读

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…

CSS圆角

在制作网页的过程中,有时我们可能需要实现圆角的效果,以前的做法是通过切图(将设计稿切成便于制作成页面的图片),使用多个背景图像来实现圆角。在 CSS3 出现之后就不需要这么麻烦了,CSS3 中提供了一系列属性…

阿里云APP创建

首先进入阿里云生活物联网平台 阿里云生活物联网平台 创建新项目 然后创建新产品 完成后进入功能定义区 已经定义号插座电源开关,直接下一步 注意保留三元组信息 进入设备调试 没有模组,直接下一步 人机交互界面 最后测试 激活码&…

十大时间序列预测模型

目录 1. 自回归模型 原理 核心公式 推导过程: 完整案例 2. 移动平均模型 原理 核心公式 推导过程: 完整案例 3. 自回归移动平均模型 原理 核心公式 推导过程: 完整案例 4. 自回归积分移动平均模型 原理 核心公式 推导过程 完整案例 5. 季节性自回归积分…

Axios 快速入门

什么是Ajax Ajax 是一种通过 JavaScript 发送异步请求的技术,它的核心是使用 XMLHttpRequest 对象来与服务器交换数据。这种方式较为繁琐,因为需要手动处理请求状态和响应,并且编写的代码往往比较冗长。 相较之下,Axios 是一个基于…

其他:Python语言绘图合集

文章目录 介绍注意导入数据函数模块画图 介绍 python语言的科研绘图合集 注意 This dataset includes the following (All files are preceded by "Marle_et_al_Nature_AirborneFraction_"):- "Datasheet.xlsx": Excel dataset containing all annual a…

感知机学习算法

感知机 一、感知机简介二、感知机模型2.1 感知机的基本组成2.2 求和函数2.2.1 时间总合2.2.2 空间总合 2.3 激活函数2.4 学习算法2.4.1 赫布学习规则2.4.2 Delta学习规则 三、 结论参考文献 一、感知机简介 M-P神经元模型因其对生物神经元激发过程的极大简化而成为神经网络研究…

qt_c++_xml简单示范demo

迅雷链接 链接&#xff1a;https://pan.xunlei.com/s/VO8bJODxPfPHE0x3nfUa2KZ1A1?pwdtuxq# 复制这段内容后打开手机迅雷App&#xff0c;查看更方便 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QTextCodec>#include <QFile&g…

PGMP-01概述2

目录 1.what is program management? 项目集管理 2.relationships among portfolio,program,and project management and roles in OPM 4.relationships among portfolio,program,and project management 5.组织战略、项目集管理和运营管理之间的关系 6.business vlaue…

sqli-labs靶场less-9和less-10

sqli-labs靶场less-9 本文只展示如何利用dnslog注入通过本关&#xff0c;注入原理可以参考我另外一篇文章 DSNlog注入原理 1、确定闭合方式 http://192.168.140.130/sq/Less-9/?id1 发现id的值不论为任何值&#xff0c;页面回显都是一致的You are in… 判断不存在布尔注入…

初谈构造函数和析构函数

加油学习的一天~~>_<~~ 文章目录 目录 文章目录 前言 一、什么是构造函数&#xff1f; 二、析构函数 &#xff08;1&#xff09;概念&#xff1a; 总结 前言 构造函数是特殊的成员函数&#xff0c;需要注意的是&#xff0c;构造函数虽然名称叫构造&#xff0c;但是构造…

【Flutter】- 核心语法

文章目录 知识回顾前言源码分析1. 有状态组件2. 无状态组件3. 组件生命周期4. 常用组件Container组件Text组件Image组件布局组件row colum stack expandedElevntButton按钮拓展知识总结知识回顾 【Flutter】- 基础语法 前言 Flutter是以组件化的思想构建客户端页面的,类似于…

Linux中的网络指令:ping、netstat、watch、pidof、xargs

目录 Ping指令 netstat指令 watch指令 pidof指令 xargs指令 Ping指令 功能&#xff1a;检测两台主机间的网络连通性 语法&#xff1a;ping [选项] 目标主机的IP地址 &#xff08;192.168.1.1&#xff09;或域名&#xff08;google.com&#xff09; 常见选项&#xff1a…

用户登录与信息管理:实现小程序登录与用户信息存储

用户登录与信息管理&#xff1a;实现小程序登录与用户信息存储 在现代的移动应用中&#xff0c;用户登录与信息管理是构建个性化用户体验的基础。小程序作为轻量级的应用形式&#xff0c;在简化开发流程的同时&#xff0c;也需要我们妥善管理用户的登录状态与用户信息。本文将…

动态规划10:174. 地下城游戏

动态规划解题步骤&#xff1a; 1.确定状态表示&#xff1a;dp[i]是什么 2.确定状态转移方程&#xff1a;dp[i]等于什么 3.初始化&#xff1a;确保状态转移方程不越界 4.确定填表顺序&#xff1a;根据状态转移方程即可确定填表顺序 5.确定返回值 题目链接&#xff1a;174.…

【学习笔记】kruskal重构树

前言 最近一场div2没开出C2&#xff0c;猛掉104分。 赛后补E&#xff0c;发现自己连E1都没思路&#xff0c;一问才知道是kruskal重构树。 好吧&#xff0c;OI时期欠下的债该还了。 kruskal重构树是什么 它是一棵 2 n − 1 2n-1 2n−1 个点的二叉树。点有点权&#xff0c;下…

深入挖掘C++中的特性之一 — 多态

目录 1.多态的概念 2.多态的定义及其实现 1.虚函数 2.虚函数的重写/覆盖 3.实现多态的必要条件 4.多态的代码呈现 5.来一道小题&#xff0c;深入理解一下多态 3.虚函数重写的一些其他问题 1.协变 2.析构函数的重写 4.override和final关键字 5.重载/重写/隐藏的对比&…

动态规划算法专题(四):子串、子数组系列

目录 1、最大子数组和 1.1 算法原理 1.2 算法代码 2、环形子数组的最大和 2.1 算法原理 2.2 算法代码 3、乘积最大子数组 3.1 算法原理 3.2 算法代码 4、乘积为正数的最长子数组长度 4.1 算法原理 4.2 算法代码 5、等差数列划分 5.1 算法原理 5.2 算法代码 6、…

C++读取大文件三种方法速度比较

目录 测试说明第一种方法&#xff1a;按块读&#xff0c;一次读8kb第二种方法&#xff1a;按行读&#xff0c;一次读一行第三种方法&#xff1a;多线程并行读取完整示例 测试说明 测试文件&#xff1a;100万行&#xff0c;每一行是两个小数&#xff0c;中间用逗号隔开&#xf…

python脚本实现Redis未授权访问漏洞利用

之前介绍过Redis未授权访问漏洞&#xff0c;本文使用python实现Redis未授权访问检测以及对应三种getshell。 1 测试环境准备 CentOS 7&#xff08;192.168.198.66/24&#xff09;&#xff1a;安装 Redis 服务器并用 root 权限开启服务&#xff0c;关闭保护模式&#xff1b;安…