processAccelerometerData

Procesa datos del acelerómetro para calcular niveles de actividad física.

Implementa un algoritmo que:

  1. Calcula la magnitud de la aceleración (removiendo la gravedad).

  2. Determina el nivel de actividad basado en umbrales predefinidos.

  3. Mantiene un valor de actividad acumulada con decaimiento exponencial.

  4. Actualiza una ventana deslizante de datos del acelerómetro.

Algoritmo de Decaimiento Exponencial para Actividad Acumulada

La actividad acumulada se calcula usando la siguiente fórmula:

decayFactor = baseDecayRate^(Δt / timeUnit)
accumulatedActivity = previousAccumulatedActivity * decayFactor + activityIncrement

Donde:

  • baseDecayRate: Es el factor de decaimiento base por unidad de tiempo (e.g., 0.95 por minuto). Configurado en HealthMonitoringConfig.ACTIVITY_ACCUMULATION_DECAY_RATE.

  • Δt: Es el tiempo transcurrido desde la última actualización, en milisegundos.

  • timeUnit: Es la unidad de tiempo para el baseDecayRate (e.g., 60000 ms para minutos).

  • activityIncrement: Es el incremento de actividad calculado a partir de la magnitud actual de la aceleración, normalizado por minuto.

El valor de accumulatedActivity se mantiene dentro del rango [0f, 100f].

Parameters

data

Los datos del acelerómetro provenientes del Samsung Health SDK. Contiene las componentes x, y, z de la aceleración y el timestamp.

See also