Types of streams

Primary streams (coming from sensors), derived streams (algorithm streams), and system streams (which can give an indication on the device state) are available on Simband. A comprehensive list of all Simband streams is available in the stream list.

Sensor/Simsense data sources

Simsense supports a number of sensors. In our Simsense reference implementation, six sensor types are included. Some sensors run continuously, while others are activated contextually or by user request.

The following streams are available from the Simsense module. All the streams originating from Simsense are brought to 128 Hz, except GSR, which is at 32 Hz using the sample-rate converter algorithm.

  1. PPG: The Simsense module sends 8 PPG streams to Simband, with corresponding stream indices. Note that not all PPGs may be available at any moment; the availability depends on power profile. Based on the confidence indicator of the PPG channel, an algorithm may choose the best PPG.

  2. ECG: A stream representing the raw ECG data coming from Simsense.
  3. Accelerometer: 3 streams representing the x, y, z accelerometer values from Simsense.
  4. Bio-Z: 2 streams representing the I & Q bio-impedance from Simsense.
  5. GSR: 2 streams representing the tonic and phasic galvanic skin response.
  6. Skin temperature: A Celsius value of the measured skin temperature.
  7. ECG lead: An enum value representing whether the user is currently touching the ECG clasp.

Algorithm data sources

  1. HeartBeat: A beat-detection stream derived from PPG.
  2. HR: A beat-to-beat heartrate stream based on PPG.
  3. PAT: A discrete Pulse Arrival Time computed during spot check, later used as a precursor to calculate blood pressure.
  4. HRV: Heart rate variability computed at the end of a spot check. (Learn how to write an HRV algorithm )
  5. Visual, confidence and beat overlays: PPG and ECG channels may have those overlays. (See stream metadata for more information.)

Simband data sources

  1. Steps (increments): A stream representing number of steps since last measurements, based on the Tizen pedometer.
  2. Steps (daily): A cumulative version of the incremental step counter, which resets itself every day.
  3. Activity: An enum stream representing the result of the Tizen activity recognizer. May be walking, running, stationary, in-vehicle or unknown.

Stream metadata

Apart from the numeric data, every stream has metadata that classifies it. The following characteristics may classify a stream:

  1. Rate: Sample rate of the stream (in Hz).
  2. Category: One of the following:
    1. signal: A continuous stream of analog numeric data, e.g., PPG.
    2. rate: A number that is averaged over a given time period, e.g., heart rate.
    3. discrete: A single numeric value, e.g., blood pressure.
    4. increment: An integer that is added to the previous data point, e.g., step count.
    5. enum: An integer where every value has a separate meaning, e.g., activity (stationary, walking, running, etc).
    6. feature: A point in time when an event occured, and the value does not matter, e.g., a detected heartbeat.
    7. quality: A fraction between 0 and 1 representing the level of accuracy of a different value, e.g., ECG confidence indication.
  3. Type: A URI representing the unique identifier for this type of stream. URI can be com.somecompany.someplatform.somealgorithm. For example, all PPG channels have the same type: com.samsung.simband.ppg is the type defined in simsense.json.
  4. Index: If several streams exist with the same type, the index would differentiate between them. For example, accelerometer streams would have the same type (com.samsung.simband.accelerometer) but each would have a different index.
  5. Origin: Represents the module that collected this stream; either "base" or "sense".
  6. Time denominator: For rate streams; this represents the time period over which the rate is calculated. Can be second, minute, hour, or day.
  7. Values: For enum streams; this represents the description for each possible value in the stream.
  8. Visibility: Can be "debug", "base", or "sami". "debug" streams are available only in the debug tools. "sami" streams are collected to the cloud. "base" streams are available for installable algorithms.
  9. Overlays: Every stream may have "overlays". An overlay is a different stream, with data derived from this stream. The types of overlays are defined by the platform:
    1. visual: A derivative of the stream that is filtered to better suit visual representation, e.g., by applying a band-pass filter.
    2. beats: A feature stream representing detected beats from the original stream.
    3. confidence: A quality stream representing the estimated accuracy of the original stream.
    4. raw: A stream representing the data of the stream prior to any sample-rate conversion.
  10. Description: A human-readable text describing the stream.