作者:科采通 关键词:BITalino、Kubios HRV、ECG、心率变异性、RR间期、科研工具、Python预处理
心率变异性(Heart Rate Variability, HRV)是评估自主神经系统功能的重要指标,广泛应用于心理学研究、运动科学、健康监测等领域。 而BITalino 是一款开源、生理信号采集平台,支持 **ECG(心电)、EMG(肌电)、EDA(皮肤电)**等传感器输入。
本篇文章介绍如何将 BITalino 采集的 ECG 数据导入 Kubios HRV 软件中进行专业分析,并结合 Python 预处理实现数据格式转换与可视化。
常见导出格式(取决于软件):
.txt
:每行一帧数据,含时间戳与通道值
.csv
:标准逗号分隔文件,适合数据处理
.bdf
/ .edf
:仅限特定环境(如 OpenSignals)
Kubios 要求输入 **RR 间期序列(单位:毫秒)**或 ECG 原始信号(.txt/.csv 格式)。以下是处理过程:
python-repl复制编辑timestamp,ECG
0.00,502
0.01,507
0.02,515
...
python复制编辑import pandas as pd
import neurokit2 as nk
# 1. 读取 BITalino ECG 数据
df = pd.read_csv("bitalino_output.csv")
# 2. 提取 ECG 信号(假设采样率为 1000Hz)
ecg_signal = df["ECG"].values
sampling_rate = 1000
# 3. 使用 NeuroKit2 进行 R 波检测与 RR 计算
signals, info = nk.ecg_process(ecg_signal, sampling_rate=sampling_rate)
rpeaks = info["ECG_R_Peaks"]
rr_intervals = nk.ecg_intervalrelated(signals, sampling_rate=sampling_rate)["RR_Interval"]
# 4. 导出为 Kubios 可读取格式(仅 RR 间期,单位为 ms)
rr_ms = rr_intervals * 1000 # 秒转毫秒
rr_ms.to_csv("rr_interval_kubios.txt", index=False, header=False)
File > Load RR-intervals
rr_interval_kubios.txt
模块 | 分析内容 |
---|---|
时域分析 | 平均RR、SDNN、RMSSD、PNN50等 |
频域分析 | LF/HF比值、功率谱密度 |
非线性分析 | Poincaré 图、DFA、样本熵 |
导出 | 报告(PDF)、原始数据、结果汇总表 |
分析完成后,Kubios 会生成完整的 HRV 指标图表和统计结果,如下所示:
text复制编辑Mean RR: 820 ms
SDNN: 54 ms
RMSSD: 45 ms
LF/HF Ratio: 1.6
这些结果可用于进一步建模、情绪识别、运动负荷评估等。
本文介绍了从 BITalino 采集 ECG 信号、通过 Python 提取 RR 间期、并导入 Kubios HRV 进行心率变异性分析的完整流程。它为开展非侵入式心理生理研究、远程健康监测和毕业项目开发提供了一种标准、开放且高效的工具链。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。