Skip to content

Timestamps

jyong15 edited this page Oct 10, 2018 · 2 revisions

Shimmer3 Timestamps

Each ObjectCluster (message) received from the Shimmer devices contains a record of the time when the message or the sample was recorded. These records are known as timestamps.

Each message can contain multiple types of timestamps, and the differences between each are listed below. Note that these names are found in Configuration.Shimmer3.ObjectClusterSensorName

TIMESTAMP - This is the Shimmer internal device clock timestamp, and is taken a sample is recorded on the device. This is the most accurate timestamp for identifying the exact time when a sample was recorded.

SYSTEM_TIMESTAMP - This is the timestamp which is taken when a packet has been received on an Android device. This is less accurate than the Shimmer's internal clock, as there will be variable latency introduced between the sample being recorded on the Shimmer, and the packet being received on the Android device. This is due to the nature of the Bluetooth connection.

This latency cannot be avoided, but it can be mitigated in part by methods such as a linear fit, which can be found in Section 7.2 of the Multi Shimmer Sync for Android user manual.

SYSTEM_TIMESTAMP_PLOT - This is the current TIMESTAMP added to an offset.

This offset is calculated once, when the first packet is received, using the equation: OFFSET = SYSTEM_TIMESTAMP - TIMESTAMP. This ensures that the latency between a Shimmer recording a packet and transmitting it to the Android device is constant and equal to the latency of the first packet received.

TIMESTAMP_OFFSET - It is not recommended to use this, as this is used for SD parsing.

Clone this wiki locally