Ausgangslage
HRV-Biofeedback braucht saubere Echtzeit-Signalverarbeitung — Sensorrauschen, Artefakte und Spektralanalyse müssen stimmen, sonst ist der Score wertlos.
Lösung
Eine native iOS-App, die per CoreBluetooth den Heart-Rate-Service ausliest, RR-Intervalle bereinigt und kubisch interpoliert und über eine vDSP-FFT die LF-Power berechnet — alles on-device. Darauf setzen geführte Atem-Modi wie Resonanzfrequenz-Test und 4:6-Atmung.
Im Kern
BLE-Streaming
CoreBluetooth-Anbindung an den Heart-Rate-Service mit RR-Intervall-Parsing.
Artefakt-Cleaning
Signalqualitätsprüfung und kubische Interpolation in Echtzeit.
FFT-Spektralanalyse
Hamming-Fensterung und vDSP-FFT für präzise LF-Power-Berechnung.
Geführte Atem-Modi
Resonanzfrequenz-Test, Resonanz-Modus und 4:6-Atmung.
Code-Einblick
// Session-Score: LF-Power per FFT — alles on-device func computeSessionScore(rr: [Double]) -> Double { // 1. Kubische Interpolation @4 Hz let uniform = cubicInterpolate(rr, hz: 4.0) // 2. DC-Removal + Hamming-Fenster 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) }