可穿戴设备如何进行蓝牙协同?神经网络提供了一种新的思路
芯格瑞 Slab
2023年12月08日 18:01 北京
S-Lab编译选自Nature自然杂志
编辑:杨轶卿 祁景博
蓝牙低功耗(BLE)多通道系统当前的时间同步方法无法满足准确的相互同步要求(即多个可穿戴设备进行集体活动的同步)。因此,研究人员提出了一种基于应用层的解决方案,用于蓝牙同步,以远程控制可穿戴设备并确保相互同步,而不给硬件造成不必要的负担。
BLE协议的瓶颈主要是由于信道阻塞和多用户功能。将这些可穿戴设备与2.4 GHz工业、科学和医疗(ISM)无线介质的特定自组网协议(例如ANT+、WiFi、Zigbee)集成,可以解决这个问题。然而,如果一个可穿戴设备包含自组网无线协议(取代BLE),则通常会增加功耗和设备的物理尺寸,并且需要远程端使用非标准的辅助接收器,因为这些无线协议通常是专有的。鉴于BLE在许多电子设备(例如笔记本电脑、手机和平板电脑)中的广泛使用,通过BLE实现多个可穿戴设备之间的无线同步更为可取,因为它保持了标准化和安全的连接性。基于BLE的可穿戴设备同步可以通过特定的硬件软件共同设计来实现,本文详细介绍了该方法。
S-Lab在蓝牙技术检测方面拥有领先的专业实力。我们的专业团队利用最先进的技术和设备,为各类蓝牙设备提供全面的测试服务。无论是蓝牙耳机、智能手表还是其他便携式蓝牙设备,我们都能提供精确的测试和评估,确保设备符合标准、性能卓越。
可穿戴设备中的时间敏感参数代表直接影响多个设备同步的因素。温度、功率、工艺变化、老化和晶体参考漂移都可能降低它们的最佳性能,影响其时间精度,并导致不必要的延迟(例如传播延迟、设备延迟和设备时钟)。在可穿戴设备中增强时间参考是改善多设备同步的可行解决方案,甚至可以使用高级协议。在这方面,诸如洪泛时间同步协议(FTSP)、参考广播同步(RBS)和传感器网络的定时同步协议(TPSN)等时钟同步协议(CSPs)可以有效地用于实现同步。此外,FTSP的特性已经成为许多CSPs中的事实标准,例如使用时间戳(即在关联设备之间的每个通信事件中存储记录时间)。值得注意的是,时钟同步协议预测了三种改进同步的策略,即(1)在实验前微调可穿戴设备时钟,(2)在运行时使用不同的时钟滴答,以及(3)应用时间延迟。
然而,在处理能量受限的便携式系统时,将高级协议直接应用于微控制器以修改低级参数,例如直接修改它们的硬件时钟,在实时操作系统存在的情况下必然会失败。实际上,多任务处理机制和调度都是基于时间片概念运作的。当设备的时间或时钟被更改时,设备最终会错过关键的中断或向硬件子系统发送不同步的信号,从而导致严重故障。最后但同样重要的是,除了与硬件相关的时间敏感参数之外,蓝牙堆栈固有的不确定性,包括锚点(即蓝牙传输唤醒进行异步数据传输的事件)和重试,会在数据包传输过程中导致不可预测的时间偏移,导致设备操作不均匀,从而影响多个实例之间的相互同步。
为了解决这些限制并提高同步质量,研究人员设计了一个神经网络(NN,在远程端使用BLE控制可穿戴设备),其中包括权重和偏差,用于识别来自带有时间戳的系列数据中的模式,包括来自可穿戴设备非理想行为和无线通信通道的各种时间偏移和不确定性参数。这个神经网络可以预测来自物理组件、操作系统调度相关问题以及整体被视为无线媒介的各种时间偏移来源。

图1 运动捕捉设备 Kinematics Detector 及其用户界面 a KiD 主板带有电子元件和电池,它们被封装在塑料外壳和硅胶外壳中,可使用钩子和固定带佩戴在手腕上。b 控制实验中穿戴设备的用户界面。
评估者可以通过使用UI(见图1b)从远程系统发送命令来远程控制设备。在这里,参与者可以直接将KiD戴在肢体上进行实验,并执行评估者给出的指定任务。UI设计用于显示可穿戴设备的当前状态,执行任何维护任务(清除内置存储器或根据需要重命名可穿戴设备),为特定实验控制它们,下载它们的数据(以逗号分隔的值格式),最终报告通信和内部错误以排除任何潜在问题(请参阅补充方法,“KiD软件流程图”)。
START 开始实验,STOP 暂停实验。该界面提供了了解可穿戴设备操作状态的手段,以及从远程系统的物理距离信息以及设备电池电量等信息,这在进行实验时至关重要。
图2a 描述了一个或多个KiD的运动捕捉操作方案。所描述的方案举例说明了使用这些可穿戴设备设计实验的过程。为了直接捕获数据,远程系统和设备之间的命令是通过BLE 4.2发送的。
设备之间的蓝牙通信基于开始(START)和停止(STOP)命令(请参阅补充表1),这些命令执行操作初始化并暂停数据捕获。假设评估者想要进行一个手部运动序列的研究(手顺时针旋转25秒,见图2b)。
在这种情况下,评估者将一个KiD固定在参与者的手腕上,进行配置,指示参与者执行所需的运动序列,并通过UI,实验者按照前述运动捕捉操作方案发送START和STOP命令。图2c、d显示了通过UI从KiD下载的这种任务的数据概况,其中‘sample’或数据是在无线设备接收START和STOP命令时捕获的MARK功能使得可以使用标签标记捕获的数据,这些标签直接存储在KiD的内存中,用于在处理数据时识别事件或任务。当运动捕捉实验重复100次时,发现设备的采样频率平均为199.846 ± 0.1430 Hz,R值=0.9987,因此证实了高采样频率(请参阅“方法:低级参数评估”)。

图2 | 运动捕捉,便于在数据采集过程中发送在线标签作为任务标识符 a 运动捕捉操作方案,展示了KiD的使用,无论连接到用户界面的设备数量如何。b 用于动作捕捉演示的手部动作序列示例。c 时间轴和使用KiD捕获的25秒内用于工件的样本数量,在这里,KiD的频率为199.846 ± 0.1430 Hz,当重复100次测试时,R值=0.9987。d IMU数据(运动轮廓)的示例,在四肢的START到STOP事件中捕获。着色窗口表示在使用MARK功能进行运动捕捉期间发送的TASK 134、TASK 135、TASK 136的标记部分。任务的时间分别表示为Δt134 = 7s,Δt135 = 5.2s和Δt136 = 5.8s。
多设备同步
量化设备中的时间不确定性可以更好地了解它们对同步操作的影响程度。在这种情况下,设备应该遵守具有相同或指定数据以推导多设备数据捕获期间的时间偏差。特别是,每个KiD应该在所有设备中具有指定的空间域,以支持以更简单或简单的方式测量时间不确定性。实现指定空间域的一种可行技术是将每个可穿戴设备固定在一个固定平面上。在这种情况下,KiD被垂直堆叠(见图3a、b,每个KiD放置在另一个KiD的上方)以获得给定的旋转。鉴于设备的操作已知(这里,KiD以200 Hz从IMU收集时间和空间信息;请参阅补充图4,“KiD作为独立系统”),在捕获数据时定期发送MARK命令。在设备上,这些MARK命令在接收后会自动存储在设备的内存中。针对每个发送的MARK,设备中的时间、设备的反应时间、远程系统中的时间以及它们之间的差异被系统地记录和组织。例如,图3c显示了堆叠KiDs捕获的数据,即加速度配置文件,其中时间和空间域是指定的空间属性。MARK 435就是这样一个命令,其时间被系统地跨设备记录以计算时间偏移(τ,在共同参考框架上设备之间的时间差异)。图3d描述了设备之间的时间偏移,其中这些偏移表明设备在使用蓝牙时异步传输数据。
如前所述,传播延迟、蓝牙重传、锚点和频率漂移是蓝牙技术的限制因素(在使用GATT时主要存在),并阻止了可穿戴设备的同步操作,因此导致非线性和不可确定的时间偏移。为了实现同步,设备理想情况下必须运行没有时间误差、具有零传播延迟、具有与数据采集会话期间的设备之间的关系并保持时间独立的软件例程。
时间偏移评估
必须精确确定并解决导致这种时间偏移的因素。首先,在多设备同步网络中,可穿戴设备之间的频率漂移至关重要(请参阅“方法”部分的通信评估)。例如,图3e显示了三个设备与系统时钟的频率漂移。KiD1、KiD2和KiD3的采样频率分别为199.68 Hz、199.72 Hz和199.82 Hz。其次,每个命令需要设备传输和确认,从而产生特定的延迟。研究人员对远程系统和设备之间传输数据包所需的延迟进行了取样,以估计传播延迟,这直接影响延迟。如图3f所示,由于蓝牙堆栈的重传(重试协议:请参阅补充图5,“蓝牙堆栈操作”),延迟是一个不可确定的蓝牙参数,它受到无线介质条件的影响。时间偏移的整体影响是增加的平均同步错误(请参见图3g,其中平均同步错误为30毫秒),这导致可穿戴设备不同步。

图3 | 没有同步算法的多设备评估 a KiDs垂直堆叠在彼此上方,即KiDi,其中i为1...3,用于评估多设备性能。b 在数据捕捉时,所有这些KiDs共享相同的空间属性,使得分析时间属性更加简单。c 来自三个KiDs的加速度曲线显示了200 Hz的运动数据,具有相似的空间属性。d KiDs中的时间偏移(τi,其中i为1...3表示每个可穿戴设备的时间偏移)提供了不正确的时间信息;因此,它们提供了不准确的时间戳。e 当连接到远程系统时,三个设备KiDi(其中i为1...3)之间的频率漂移,没有进行同步,持续1024秒。f 当与三个设备连接时,KiDs的延迟示例,由于蓝牙传输而产生的同步消息,影响了同步,平均值为KiD1 = 9.5 ± 1.762毫秒,KiD2 = 23.8 ± 2.01毫秒,KiD3 = 32.5 ± 2.37毫秒。g 这些可穿戴设备的平均同步误差为30毫秒,即设备内的频率漂移和蓝牙延迟导致了这种不确定性误差,在实验过程中引起了不准确的时间插值。
神经网络用于同步
通常,评估不确定的时间偏移的唯一方法是使用非线性估计器(例如神经网络)。在这个背景下,可以训练和设计这个神经网络来调整数据包传输时间,从而抵消无线传输引起的不确定延迟。图4a展示了如何将KiD连接到神经网络15。例如,考虑三个设备,KiD1、KiD2和KiD3,连接到网络。当主机系统向这些设备发送命令时,它按照给定的系统时间(tiM)依次从一个设备发送到另一个设备。每个设备在不同的设备时间(tiS)接受命令(请参阅“方法”部分的“评估无线通信通道”以了解设备与远程系统之间的关系以及关于虚拟时钟概念的详细信息)。
图4b描述了神经网络的输出(参见补充方法,“神经网络概念”和补充图6),它在学习远程系统与设备之间的时间关系(即神经网络充当虚拟时钟层)以提供准确的设备同步。经过100次迭代后,实际值与预测值之间的相关系数R值为0.9967(见图4b)。计算延迟可以精确地估计τ1、τ2和τ3,这些值用于跨设备存储消息,以在补偿时间后将其存入设备存储器中。因此,如果存在频率漂移、设备延迟和通信延迟,设备可以调整这些参数以提供相互同步,如图4c所示。
考虑到同步的概念,涉及每个远程系统时钟的相位对齐,向多个可穿戴设备发送确切同步事件的命令是一项具有挑战性的任务。相反,研究人员通过神经网络层向包含多个可穿戴设备(通过神经网络相连的两个或更多KiDs)的同步网络发送标记事件,这使得可穿戴设备可以一致地运行,充当了一个附加的同步层。例如,如果评估者通过UI发送START到网络,网络中的可穿戴设备会立即在纠正后的时间瞬间调用给定的命令,从而消除了评估者需要单独发送多个设备并考虑延迟和延迟的需求。在这种操作模式下,图4d显示了来自三个KiD设备的同步事件,在这种情况下,这些可穿戴设备以较低的延迟变化同步运行。MARK命令会自动将标记发送给所有KiDs。例如,通过UI将MARK 337和MARK 338通过神经网络层传递给三个KiDs,该层以正确的顺序传输信号并补偿所有连接设备的延迟和延迟。因此,所有连接到同步网络的设备都可以相互同步地从UI接收消息。设备同步捕获数据(请参阅从MARK 337到MARK 338的插图数据),从而显示出降低时间偏移的重要性。跨设备的平均同步误差为0.356毫秒(请参见图4e),使其适用于同步BLE应用。比采样频率更低的平均同步误差意味着尽管较低的平均同步误差可能会提高消息传输的准确性。
同步网络通过多个KiDs(即两个、三个和四个设备)在150-200次迭代范围内重复任务进行了测试(请参见图4f)。正如结果所示,在某些情况下,在试验过程中同步失败,失败率为2.7%,这些失败的原因是研究人员已经解决以改进系统。第一个原因是OS软件更新,主要影响UI。研究人员已经观察到OS库严重影响了时间和性能。因此,为解决此问题,研究人员重写了UI的部分内容,以使用来自OS的独立软件模块。第二个原因是故意进行实验以评估完全耗尽电池的结果(请参见图4g,在平均情况下,如果实验在150分钟内进行,则KiDs的工作效果更好)。在这两种情况下,同步失败是由于设备采集失败。因此,研究人员已更新了UI错误和状态消息管理。特别是,如果命令在给定时间内未被确认,超时函数现在会报告任何同步错误(请参见补充图2)。

图4 | 神经网络解释和实施。a 应用级别的神经网络实现技术,用于改善同步。b 预测时间与实际时间之间的相关性,R值为0.9967。c 神经网络时间响应和误差图。d 三个完全同步的KiDs,用于在MARK 337和MARK 338之间插值时间和空间属性,有助于探测精细的运动技能。加速度计(一维原始数据)被归一化以解释同步性。e 平均同步误差改进至1.25毫秒。f 在多个平台(PC、Linux和Mac)上进行的跨设备同步验证显示同步成功率为97.3%。g 同步运动捕捉时的电池耗尽时间。
制品提取和标记
可穿戴设备潜在地可以以较高的频率捕获传感器数据(例如,在研究人员的案例中是200 Hz),导致庞大的数据量需要人工干预(如果实验包括各种提取的特征16,则难以理解的数据),以提取特定任务。这种做法在物理上限制了实验的静态时间,并使得对特定事件进行特征提取对评估者来说变得困难。因此,能够在实时采集过程中轻松识别和命名数据段的能力可能具有重要的附加价值。因此,研究人员增加了一个功能(由于GATT具有接受消息的能力,可以编辑微控制器的数据路径以执行分配的任务),即在数据捕获期间发送虚拟标签,研究人员在此定义为“标记”。在这里,评估者可以为每个任务分配一个唯一的标签,并将其作为消息从远程系统发送到可穿戴设备,该标签与相关数据一起存储。两个唯一标签之间的数据可以轻松地与给定任务相关联,从而在更高级别的数据解释、分类和聚类方面提供优势。在这种情况下,研究人员实现了一个特定的MARK命令,其中包含使用16位无符号算术整数(0-32767)实现的标签,可以通过UI发送给KiD。例如,运动轮廓中的MARK 134(请参阅补充表2),如图2c所示,是通过UI发送的一个标签,该标签附加到设备的内部存储器。KiD(s)在收到STOP命令之前持续获取数据。借助这个低级原语,评估者可以使用所需数量的标签,从而为识别关键事件提供完整的注释。例如,图2d描述了两个标签之间的间隔,即Δt134,即标记MARK 134和MARK 135之间的延迟,其中包含了7秒的1400个“样本”/运动数据,代表了一个特定任务TASK 134。同样,另一个间隔Δt135 = 5.2秒,在MARK 135和MARK 136之间,识别了TASK 135,Δt136 = 5.8秒识别了TASK 136。
标记(即事件或制品提取)提供了一个直接的方法,用于标记间隔并从完全未标记的数据16中解读事实信息。图5展示了一个由四个设备(KiD1、KiD2、KiD3和KiD4)组成的多个KiD运动捕捉任务,所有设备都连接到NN层并垂直堆叠,展示了在使用NN时的可扩展性。对于多个KiD的制品提取,评估者可以使用相同的MARK命令,后跟发送给同步网络而不是设备的算术标签。图5中标识的任务显示了使用MARK命令对TASK 401、TASK 402、TASK 403和TASK 404进行系统采集。研究人员的“同步标签”(发送到同步网络的标签)用于在运动数据中识别任务,似乎是一种方便且重要的方法,用于提取或执行特定任务的群体活动(有时识别关键动作或任务)。来自多肢体运动数据的制品可以有效地捆绑为任何复杂的数值模型,例如机器学习或人工智能17,或保存为预期活动的重要数据集。研究人员的标记方法被构想为基本方法,使调查人员能够专注于任务组织(事件协调或规划)而不是专注于可穿戴设备的技术方面。研究人员相信此的方法可能是数据采集中独一无二的方法。

图5 | 使用KiDs通过用户界面和神经网络操作的多设备同步。a 示意图显示了垂直堆叠的四个KiDs,以说明可扩展性;b 结果展示了四个KiDs的同步,其中的工件或任务提取显示了使用训练过的神经网络从KiDs中提取任务水平的同步。MARK 401、MARK 402、MARK 403、MARK 404和MARK 11是通过用户界面发送的在线同步标签,用于识别对应的任务,展示了在运动跟踪研究中多设备的同步。这些命令被发送到连接有四个KiDs的同步网络。c 为了在空间和时间上进行说明,研究人员将四个设备堆叠起来,第四个设备朝相反方向。d 多肢体运动捕捉可用于捕捉运动,特别是在真实世界的环境中。在这种方法中,KiD提供了与在线任务或事件提取同步的运动剖面,在本例中,它们在整个持续时间内获取了20秒的运动剖面。
实验方法
运动捕捉实验
为了有效地进行参与者的动作捕捉实验,该实验分为三个步骤,具体如下:
(1)实验前阶段 - 详细告知参与者需要执行的任务。在将 KiD 设备固定在参与者肢体之前,必须确保设备已充电、内部存储已清空,并且已连接到远程系统的 UI。UI 内部的神经网络将自动对 KiD 进行训练,并使其处于采集就绪状态(详见补充方法,“KiD 软件流程图”)。
(2)运动捕捉阶段 - 评估员可以使用 UI 控制数据采集。START 命令启动采集,STOP 命令终止采集。UI 可以启动和停止实验,并使用 MARK 命令传输标记以识别任务,从而提取必要的数据片段。
(3)后分析阶段 - 数据采集完成后,将 KiD 取下并通过微型 USB 连接到远程系统以下载运动轮廓。一旦数据传输到系统,就可以与机器学习技术或数学模型相关联,以得出神经科学输出。
低级参数评估
设备采样频率(f)是指传感器在一秒钟内可以采集的数据/样本数量,是一个重要的低级参数。由于内部电子元件的老化受温度、功耗和晶体漂移等多种因素的影响,不是所有设备都以相同频率运行。可以通过在特定时间内收集样本数据来找到设备的实际采样频率。通过使用设备中的样本数据总数(即在 START 和 STOP 命令中设备存储的数据总量 si,其中 i 是1...3表示设备编号),以及采集事件时间(Ti),可以计算设备的采样频率 fi = si / Ti。可以在一系列实验中得到设备采样频率的均值(μ)和标准偏差(σ)。
蓝牙通信是双向传输,即任何发送的消息都会得到确认。例如,让远程系统和使用BLE进行通信的设备相互传输数据。可以发生两个不同的事件(一个在远程系统上,另一个在设备上),(1)在远程系统上发送TA和接收到系统本地时间(系统RTC)TD消息时有两个时间戳,(2)在设备上接收TB并在设备本地时间(设备RTC)确认TC消息时有另外两个时间戳。时间戳指示了设备和系统之间事件发生的时间。同步事件是可穿戴设备和远程系统之间多条消息的顺序传输,用于执行同步任务或活动。为了说明,考虑一个具有i条消息的同步事件,它们获得的时间戳可以写为:{TiA,TiB,TiC,TiD}。将传输和接收视为时间限定的操作。因此,主设备执行的时间被表示为rA(t),从设备执行的时间被表示为rB(t),使用方程(1)计算:

实际上,同步消息的时间遵循关系式 rAD(t) − rBC(t) ≈ 0;即时钟频率 α 和设备偏移量 β 保持不变(α ≈ 1,β ≈ 0)。简洁地说,这可以表示为如下的方程式(2)所示:

在实际环境中,有几个非理想因素决定了这些硬件参数 α 和 β,因此会影响同步,就像之前讨论过的那样。

CSPs(Clock Synchronization Protocols)始终使得主设备 M 和从设备 S 之间的关系线性化,特别是 rM(t) 和 rS(t),从而允许对设备操作参数(设备时钟)进行微调以进行同步。然而,在实时中调整设备的操作参数最终会导致任务错误或影响功能的意外时间错误,因为许多关键功能依赖于设备时钟。因此,同步误差(来自方程(3)和(4)的τ)可以通过计算时间戳 [rM(t)] 与其估计值 [r*M(t)] 之间的差异,并在下一个消息中进行合适的补偿来计算,例如在此的情况下,

然而,BLE是基于数据包且非连续的,并且从不采用类似无线网络的拓扑结构;即,无线网络具有确定性延迟,可以被线性化。BLE的特定属性需要重新传输丢失的数据包,这会影响设备的延迟。因此,连接间隔和设备延迟之间的时间差保持非确定性抖动(γ 见方程(5))。考虑到先前的限制条件,方程(2)可以重写为,

为了观察这种时间偏移模式并估计上述的非线性参数,研究人员使用了一个非线性估计器,能够准确识别两个或更多节点之间的任何潜在关系。在这里,神经网络是一个具有 20 个神经元的三层感知器,在实验之前对 rAD 和 rBC 的每个时间戳进行了训练。通过时间戳序列,神经网络可以全面评估蓝牙低功耗和设备导致设备偏移的任何非理想因素。

这里,神经网络层(参见补充方法,“神经网络概念”)作为一个虚拟时钟 v(t),如公式(6)所示24,它是每个节点的软件时钟,用于实现设备时间(请参阅补充方法,“实现技术”)。虚拟时钟层计算节点之间的时间差异,了解它们之间的潜在关系,并使用公式(4)适当补偿延迟。在这里,算法的主要目标是使同步误差低于数据采集间隔。
训练数据集是从训练实验中获取的,当设备在没有任何延迟的情况下运行,并由用户界面自动在 50 米范围内的各种情况下进行调整。在 Python 中,使用均方根误差(RMSE)函数来训练模型。RMSE 使用 TIME 命令在不同间隔下计算从 KiD 获取的目标值与输入的差异。每个周期,误差因子逐渐减少,直到最小化,从而达到适合同步的合适数值。三层神经网络设计为包含 20 个隐藏神经元。此经过训练的虚拟时钟层在实验之前使用测试数据进行验证,以验证其适当运行。
S-Lab 的蓝牙检测服务涵盖了各个方面,包括但不限于连接性能、数据传输速率、信号稳定性等关键指标。我们的测试方法不仅仅是针对设备的功能,还专注于在不同环境和使用场景下的实际性能。我们致力于为客户提供高质量的蓝牙检测服务,帮助确保产品在市场上的稳定性、可靠性和优越性。我们的专业团队以及先进的测试技术将为您的蓝牙设备的成功发展提供坚实的支持。
学术引用:
Balasubramanian, Karthikeyan Kalyanasundaram, et al. "Neural network-based Bluetooth synchronization of multiple wearable devices." Nature Communications 14.1 (2023): 4472.
Coviello, G. & Avitabile, G. Multiple synchronized inertial mea- surement unit sensor boards platform for activity monitoring. IEEE Sens. J. 20, 8771–8777 (2020).Dian, F. J., Yousefi, A. & Somaratne, K. A study in accuracy of time synchronization of BLE devices using connection-based event. In Proc. IEEE Annual Information Technology, Electronics and Mobile Communication Conference (IEMCON), 595–601 (2017).Elson, J., Girod, L. & Estrin, D. Fine-grained network time synchro- nization using reference broadcasts. Oper. Syst. Rev. (ACM) 36, 147–163 (2002).Hou, C.-Y. Four areas of health innovation boosted by the pan- demic. Nat. Med. 28, 1326–1328 (2022).
阅读 44