Movesense/Algo/ECGRR的通知响应的定义是什么



什么是内容&/Algo/ECGRR的通知响应格式?

我已经在movesense硬件上订阅了它,使用了movesense移动库中DataLoggerSample Android应用程序的略微修改版本,传感器运行默认的设备固件。过一段时间后,我可以从传感器上提取.json日志。

(这在我试图弄清楚如何在设备上记录数据时遇到的另一个SO问题中提到了。(

但我在Movesense设备库中没有看到默认的设备固件,在线文档中也没有列出/AlgoAPI。

我正在寻找通知响应的具体单元和内部表示。单位通常在yamlAPI定义中给出,例如,这里是/Meas/HR:

/Meas/HR/Subscription:
post:
description: |
Combined subscription to average HR and R-R data.
responses:
200:
description: Operation completed successfully
schema:
$ref: 'types.yaml#/definitions/HRData'
x-notification:
description: |
Notifications comprise average HR (Hz) with the latest RR (ms) data
schema:
$ref: 'types.yaml#/definitions/HRData'

并且CCD_ 6字段告诉我们单元。

.json输出到/Algo/ECGRR的规范化响应,例如:

{"Algo":[
{"RR":742,"SNR":16,"Timestamp":14326776},
{"RR":743,"SNR":16,"Timestamp":14327521},
{"RR":726,"SNR":17,"Timestamp":14328240},
{"RR":720,"SNR":14,"Timestamp":14328961},
...
{"RR":660,"SNR":12,"Timestamp":20613697}]

我们可以假设单位为:

RR间隔的
  1. 毫秒
  2. 无单位SNR
  3. 时间戳的毫秒

并且我们可以有根据地猜测内部表示是:

RR间期的
  1. uint16
  2. uint8用于SNR
  3. uint32表示时间戳

但我宁愿在某个地方看到确认,而不是假设

时间戳字段相对于什么零引用?

另一个SO问题告诉我们

如果您正在存储/Meas/HR,则生成的存储格式为合计长度为6字节。

并且.json输出是一个带有整数的浮点值:

"Meas":{"HR":[
{"average":98.791664123535156,"rrData":[720]},
{"average":97.158706665039062,"rrData":[712]},
...

因此有根据的猜测是内部表示是CCD_ 10&uint16,但这仍然只是猜测。

/Algo/ECGRR的存储格式有多长?我在哪里可以找到其他类型的信息?因为我在API中没有看到它。

编辑以回答修改后的问题

您对/Algo/ECGRR通知的结构是正确的。我为你附上了下面yaml文件中的定义:

definitions:
ECGRRData:
required:
- Timestamp
- RR
- SNR
properties:
Timestamp:
description: Local timestamp of RR detection.
type: integer
format: uint32
x-unit: millisecond
RR:
description: RR interval
type: integer
format: uint16
x-unit: millisecond
SNR:
description: Estimated SNR of ECG signal (dB)
type: integer
format: int8

原始答案

这个问题可以更好地改写为"我如何为自己的固件包含/Algo/ECGRR服务?"而我们目前的文档中没有很好地包含这些信息(它将被添加(。

简短回答:ECGRR服务是一个单独许可的软件模块,可供需要它的开发人员使用。获取它的方法是向Movesense团队(info(at(Movesense.com(申请,在订购生产数量时可能会产生许可费(由负责定价的人员决定(。

全面披露:我为Movesense团队工作

最新更新