HR/HRV features processing block configuration
HR/HRV features processing block impulse configuration
none
for the HRV features parameter. To send only HRV features, select your desired HRV features parameter value (other than none
) and deselect the include calculated heart rates parameter. To send both heart rate values and HRV features, select your desired HRV features parameter value (other than none
) and select the include calculated heart rates parameter.
HR/HRV features processing block parameters
Parameter | Description |
---|---|
Filter preset | Sets the aggressiveness of the input signal filter. |
HR window size | The signal history used when calculating the heart rate. The larger the value, the smoother and more averaged the heart rate values. |
Parameter | Description |
---|---|
Sensitivity | The sensitivity to motion artifacts. |
Accelerometer signal level while resting | The sum of the standard deviation of all three axes; the accelerometer noise floor. The value is dependent on hardware design, yet can be estimated from the signal using the autotuner. |
Parameter | Description |
---|---|
HRV features | The group of HRV features to use. |
Include calculated heart rates in classifier input | Whether or not to include heart rate values in addition to HRV features. |
HRV update interval | How often new HRV features are calculated. Typically a fraction of the input block window size, e.g. 30 seconds update interval for a 90 seconds input window size. |
HRV window size | The signal history used when calculating the HRV features. The larger the value, the smoother and more averaged the HRV features. There are minimums based on the HRV features group selected, see below. |
HRV Features Group | Min. HRV Window Size (s) |
---|---|
none | N/A |
rmssd | 10 |
time-domain | 30 |
all | 90 |
HRV Features Group | Features Included |
---|---|
none | None |
rmssd | RMSSD |
time-domain | Time-domain |
all | Time-domain and frequency-domain |
all
for the HRV features group (30 features), enabled including heart rate values being passed to the learning block, and have an HRV update interval of 30 seconds, there will be 135 processed features - 45 heart rate values (90 seconds input window / 2 seconds per heart rate value) and 90 HRV features (90 seconds input window / 30 seconds update interval x 30 features).
get_data()
will only ask for 2 seconds of samples on each invocation, so if you block (either via RTOS sleep or a while loop on bare metal) while waiting for each 2 seconds of PPG or ECG data, you can avoid allocating the entire input window. Note also that the SDK does not internally buffer the entire window; each 2 seconds is immediately processed down to IBIs.