The SensorTrigger evaluates sensor data captured by one of the following devices: the Activity Sensor Move 3 or Move 4, the Light and Activity Sensor LightMove 3 or LightMove 4, the ECG and Activity Sensor EcgMove 3 or EcgMove 4, or the EDA and Activity sensor EdaMove 3 or EdaMove 4 from movisens.
Each sensor calculates its individual parameters (outlined in chapter 2) as it acquires and records the raw data. The sensor transmits these parameters via Bluetooth Smart in 1 value per minute periods from the selected sensor to your android smartphone.
The trigger algorithm evaluates the data, and as a result of the evaluation, a trigger may activate a questionnaire on the Experience Sampling Platform movisensXS.
You can select from different predefined algorithms to process the sensor data. These algorithms can be configured individually for each study, or even each participant within a study. The individual algorithms are described in the next chapter. The following figure shows the block diagram of the whole system:
# Getting started
If you want to use the movisens Sensor trigger feature (beta) please drop us a line under email@example.com and tell us the Email address of your movisensXS account and which trigger algorithm you want to use
Update your sensor to at least firmware version 1.12.7 using the latest SensorManager
Configure your movisensXS study to use the latest library
Install the Beta Version of the movisensXS App as described here.
- If you have the old movisensXS Trigger App installed please uninstall it
This feature is in beta. Please tell us if you find issues. Please use the "Send debug logs" feature in the movisensXS app to send us logging information.
# Configure your sampling schema
When all installation steps are succeeded, you see a new category in the sampling scheme called Sensors.
Depending on the granted features, you will find the following blocks in the Sensors category:
- General Sensor Trigger featues
- Sensor Disconnected: As soon as the Sensor is disconnected from the Smartphone.
- Sensor Stopped: As soon as the Sensor stopped and cannot be restarted (e.g. Battery was empty).
- Stop Sensor: This is optional, but it enables you to stop the measurement of the sensor e.g. when the study ends.
- The Generic Sensor Value condition
- Optional: Specialized algorithm blocks
# Example sampling scheme
The path over the Sensor Value describes the necessary functionality. Everything else is optional. The sampling scheme described from left to right is performing the following functionality:
- In the first path, triggered by either a random time event or through the SensorTrigger, an alarm is generated and a form is started. Before generating the alarm, the application assesses the elapsed time since the previous alarm. This prevents too many triggers from occurring within a short time frame. In this example, if two triggers occur within 3600 seconds (1 hour), the second trigger is blocked by the green “Frequency Limit” block.
- The second path describes an optional feature. If the SensorTrigger detects that the sensor has disconnected (e.g. the sensor was left at home) the smartphone will trigger an alarm and send a different form – usually a reminder or alert that the smartphone is out of range. The minimum disconnection time (seconds) can be configured in the preferences of each algorithm. The default setting is 20 seconds.
- The third path describes an optional feature. If the SensorTrigger detects the sensor cannot start measuring, the smartphone will trigger an alarm. This notifies the user that measurement has stopped, and cannot be restarted. This can occur if the sensor has run out of battery, or if the sensor has been connected to a PC. After recharging the sensor, it cannot start a new measurement until the data of the old measurement is read out on the PC.
- The fourth path describes an optional feature. It stops the Sensor from recording on the 8th day at 14:00 o’clock. Note that once the measurement ceases, like in the previous case, it cannot record again until the existing data is read out on the PC.
# The Generic Sensor Value condition
The generic Sensor Value condition allow to define custom conditions based on sensor values. Based on these sensor conditions alarm can be triggered. Multiple Sensor Value conditions can be combined by aligning them after each other.
Each Sensor Value block in the sampling will result in a configuration screen during the movisensXS study start on the smartphone to select and validate the sensor for this block and configure participant based parameters.
# Specialized algorithm blocks
The following chapter describes the various algorithms which are available. These algorithms were developed for specific research projects and as such, represent a small selection of what is possible with this innovative technology. Please contact us if you would like your own algorithm implemented, or if you have a physiological marker that you would like to utilise as a trigger. We can work with you to develop an algorithm and design an appropriate study framework.
# Activity/Inactivity Algorithm
This algorithm detects periods of high and low activity in the participant. The algorithm is described in detail in the following publication:
Ebner-Priemer, Ulrich W., et al. "Interactive multimodal ambulatory monitoring to investigate the association between physical activity and affect." Frontiers in psychology 3 (2012)
The algorithm functions interactively, recalibrating itself based on the number of triggers sent in relation to activity and inactivity. It gradually adapts the activity thresholds to learn the higher and lower levels of each individual participant.
To do this, it assesses the volume of triggers and gradually adjusts the parameters outwards or inwards to achieve a higher triggering accuracy. Sleep periods are user defined to prevent inappropriate triggers from occurring.
# Sensor Requirements
To use the Activity/Inactivity algorithm, the Activity Sensor Move 3 or Move 4 is required.
# Configuration Parameters
|Activity Aggregation Length||Aggregation length for moving average filter in [min]||Integer||10|
|Activity Threshold Start||Start value of activity threshold in [g]||Double||0.2|
|Inactivity Threshold Start||Start value of inactivity threshold in [g]||Double||0.01|
|Trigger Timeout||Trigger timeout, when no activity/inactivity trigger occurs, in [min]||Integer||100|
|Time Between Triggers||Minimal time between triggers in [min]||Integer||40|
|Threshold Change||Change of activity and inactivity thresholds in [%]||Double||5.0|
|Upper Activity Inactivity Ratio Limit||Upper Activity Inactivity Ratio Limit||Double||2.05|
|Lower Activity Inactivity Ratio Limit||Lower Activity Inactivity Ratio Limit||Double||0.95|
|Minimal Triggers for Ratio Adaption||Minimal number of triggers before threshold adjustment starts||Integer||6|
# Algorithm Description
The input for the algorithm is the Movement Acceleration [g], sample rate 1/min, which is calculated on the sensor and transmitted once per minute
On the smartphone the following steps are performed:
- Aggregation over 10min segments (moving average).
- Trigger if:
- Threshold of activity is surpassed AND no sleeping time AND last trigger was sent during the last 40 to 100 min
- Threshold of inactivity is reached AND no sleeping time AND last trigger was sent during the last 40 to 100 min
- the last trigger was sent 100 min ago
- Store occurrence of triggers
- Calculate the ratio between inactivity and activity episode-based triggers
- Change thresholds IF there have been at least six triggers
- Increase thresholds for activity and inactivity by 5% IF activity/inactivity trigger ratio is above 2.05
- Decrease thresholds for activity and inactivity by 5% IF activity/inactivity trigger ratio is below 0.95
- the threshold for activity episodes is decreased by 5% and the threshold for inactivity episodes is increased by 5% IF the current trigger is a time-limit trigger
# Simple EDA Scl Mean Algorithm
This basic algorithm uses changes in the skin conductance level (a good indicator of emotional arousal) to trigger a form in movisensXS. The EdaMove 3 or EdaMove 4 transmits an EdaSCL mean value every thirty seconds to the smartphone. These values are averaged after a minute and compared to the previous minute. When the value differs by the user defined percentage, a form can be triggered within movisensXS.
# Sensor Requirements
To use the Simple EDA Scl Mean algorithm, the EDA and Activity sensor EdaMove 3 or EdaMove 4 is required.
# Configuration Parameters
|Eda Threshold (%)||Percentual change of last value should trigger movisensXS||Integer||80|
# Algorithm Description
- LastMinuteMean * percentage/100 < abs(LastMinuteMean - ActualMinuteMean) -> Trigger
- LastMinuteMean = The mean SCL value from the last minute
- ActualMinuteMean = The current SCL mean value