ForMe Algorithm API Documentation

ForMe 웨어러블 디바이스를 위한 심박수, HRV, 수면 분석 알고리즘 라이브러리 공식 문서입니다.


📱 지원 플랫폼

🤖 Android (AOS)

JNI 기반 네이티브 라이브러리

🍎 iOS

C API 기반 정적 라이브러리

💻 C++ SDK

크로스 플랫폼 네이티브 라이브러리


🎯 주요 기능

실시간 심박수 & HRV 측정

PPG 센서와 가속도 센서를 사용하여 실시간으로 심박수와 25개의 HRV 지표를 계산합니다.

  • 심박수(HR): 40-160 bpm 범위
  • 시간 도메인 지표: SDNN, RMSSD, pNN50 등
  • 주파수 도메인 지표: VLF, LF, HF, LF/HF 비율
  • 비선형 지표: Poincaré Plot (SD1, SD2)
  • Coherence: 심박변이도 일관성

수면 단계 분석

가속도와 HRV 데이터를 종합하여 수면 단계를 30초 단위로 분류합니다.

  • Deep Sleep (깊은 수면)
  • Light Sleep (얕은 수면)
  • REM Sleep (렘수면)
  • Wake (각성)

수면 자세 감지

3축 가속도 센서로 수면 자세를 실시간 감지합니다.

  • 오른쪽 옆으로 누움
  • 바로 누움 (Supine, 등)
  • 왼쪽 옆으로 누움

수면 유도 음원 제어

수면 단계와 입면 상태에 따라 자동으로 음원을 제어합니다.

  • Background/DBBeats/Stimulus Sound
  • 입면 시점 감지
  • 자동 음원 중지

🚀 빠른 시작

Android (Kotlin)

// 네이티브 라이브러리 로드
companion object {
    init {
        System.loadLibrary("formelib_module")
    }
}

// 심박수 측정
val result = lib_engine_heart_rate(
    accelData, ppgData, devSource,
    leadOff = 0,
    hrvStart = 1,  // 시작
    ppgSample = 64, ledState = 32,
    cntAccel, cntPPG, cntDev, pktInterval
)

println("HR: ${result.hrv_indices.HR} bpm")
println("SDNN: ${result.hrv_indices.SDNN} ms")
println("Coherence: ${result.hrv_indices.coherence} dB")

전체 가이드 보기 →

iOS (Swift)

import Foundation

var hrvIndices = HrvIndices()
var hrvState: Int8 = 0
var hrCount: Int32 = 0
var ledControl: Int8 = 0

// 심박수 측정
lib_engine_heart_rate(
    &accelData, &ppgData, &devSource,
    0, 1, ppgSample, ledState,
    cntAccel, cntPPG, cntDev, pktInterval,
    &hrvIndices, &hrvState, &hrCount, &ledControl
)

print("HR: \(hrvIndices.HR) bpm")
print("Coherence: \(hrvIndices.coherence) dB")

전체 가이드 보기 →

C++ (준비 중)

// C++ SDK는 곧 공개 예정입니다
#include <formelib/heart_rate.hpp>

formelib::HeartRateEngine engine;
auto result = engine.analyze(accel_data, ppg_data);

std::cout << "HR: " << result.hr << " bpm" << std::endl;

C++ SDK 정보 보기 →


📊 알고리즘 흐름

flowchart TD A[센서 데이터 입력] --> B[데이터 버퍼링] B --> C{측정 시간 판단} C -->|0-10초| D[rr_detecShort<br/>실시간 HR] C -->|0-120초| E[rr_detec<br/>HRV 분석] D --> F[hrv_calculation] E --> F F --> G[HRV 지표 23개] F --> H[calculate_coh] G --> I[출력: HR, SDNN, Coherence 등] H --> I

📚 문서 구조

섹션 설명
Android SDK AOS API 레퍼런스 및 예시
iOS SDK iOS API 레퍼런스 및 예시
데이터 구조 HRV 지표, 수면 단계 등 데이터 포맷
알고리즘 내부 알고리즘 상세 설명
개발 가이드 빌드, 통합, 문제 해결 가이드

🔗 빠른 링크

🤖 Android API

🍎 iOS API

📊 데이터 구조


⚡ 성능 지표

항목 사양
처리 주기 HR/HRV: 1초, 수면: 30초
메모리 사용 ~2MB (버퍼 포함)
CPU 사용률 <5% (Arm Cortex-A55)
배터리 영향 <0.5% 추가 소모

📮 문의

  • 기술 지원: contact@dbbeats.com

ℹ️ 라이센스

이 프로젝트는 SleepWave, Inc.의 독점 소프트웨어입니다.
무단 복제, 배포, 수정을 금지합니다.