Movesense - получение меток времени для всех зондов
Я обнаружил, что при использовании высокой частоты дискретизации movesense отправляет несколько значений в одном пакете. Movesense - изменение частоты дискретизации акселерометра не удается
Можно ли получить точные временные метки для всех полученных значений при использовании высокой частоты дискретизации (например, 104 Гц)?
1 ответ
Причина, по которой датчик movesense отправляет более одной выборки за метку времени, заключается в том, чтобы сохранить пропускную способность при обмене данными через BLE и сохранить память, когда одни и те же пакеты хранятся во внутренней памяти данных (EEPROM). Поскольку пакеты приходят с частыми интервалами, а количество выборок не меняется, вы можете легко рассчитать промежуточные временные метки для отдельных выборок.
Спецификация /Meas/Acc (acc.yaml) гласит:
Метка времени: описание: локальная метка времени первого измерения.
поэтому указана временная метка 1-й выборки (i==0). Если частота дискретизации составляет 104 Гц, разница во времени между выборками составляет 1000/104 мс => ~ 9,6 мс. Поэтому временная метка более поздних выборок [i=1..n] в массиве может быть рассчитана следующим образом:
timestamp_i = timestamp_0 + i * 9.6ms