← Zurück zu allen Projekten
Respivo Logo

Respivo

HRV-Biofeedback-App für iOS. Verbinde deinen BLE-Brustgurt (optimiert für Polar H10), finde deine Resonanzfrequenz und trainiere dein autonomes Nervensystem mit geführten Atemübungen.

Biofeedback SwiftUI CoreBluetooth vDSP / FFT SwiftData

Signal-Pipeline

Vom Herzschlag zum HRV-Score – in Echtzeit verarbeitet auf dem Gerät.

📡

BLE Streaming

CoreBluetooth-Anbindung an Heart Rate Service (0x180D). RR-Intervall-Parsing aus dem 0x2A37 Characteristic.

🧹

Artefakt-Cleaning

Signalqualitätsprüfung, Artefakterkennung und automatische Bereinigung in Echtzeit.

📈

Kubische Interpolation

RR-Intervalle werden mit kubischer Spline-Interpolation auf 4 Hz aufbereitet.

🔊

FFT-Spektralanalyse

Hamming-Fensterung, DC-Removal und vDSP-FFT für präzise LF-Power-Berechnung.

Session-Modi

🔬

Resonanzfrequenz-Test

Automatisierter Test bei 6.5, 6.0, 5.5, 5.0 und 4.5 Atemzügen pro Minute zur Bestimmung der individuellen Resonanzfrequenz.

🌊

Resonanz-Modus

Geführte Atmung bei deiner persönlichen Resonanzfrequenz für maximale HRV-Amplitude.

⏱️

4:6 Atmung

Klassisches Biofeedback-Protokoll: 4 Sekunden einatmen, 6 Sekunden ausatmen.

🧘

Freier Modus

Ohne Atemführung – für fortgeschrittene Nutzer, die ihrem eigenen Rhythmus folgen.

Code Showcase

SignalProcessing/SpectralAnalysis.swift
// Session Score: LF Power via FFT
func computeSessionScore(rr: [Double]) -> Double {
    // 1. Cubic interpolation @4Hz
    let uniform = cubicInterpolate(rr, hz: 4.0)
    
    // 2. DC removal + Hamming window
    let windowed = hamming(removeDC(uniform))
    
    // 3. FFT via Accelerate.vDSP
    let spectrum = vDSP.fft(windowed)
    
    // 4. LF band power (0.04-0.15 Hz)
    return spectrum.bandPower(
        low: 0.04, high: 0.15
    )
}

Tech Stack

PlattformiOS 17+
UISwiftUI
BLECoreBluetooth
SignalAccelerate / vDSP
PersistenzSwiftData
ExportCSV, JSON