4.7 KiB
4.7 KiB
PPG数据处理功能说明 (A50伤后6h-1.txt)
📋 功能概述
专门为处理 A50伤后6h-1.txt 文件而设计的PPG数据处理功能,可以读取txt格式的光电容积脉搏波数据,进行信号预处理和生理指标计算。
📁 数据文件说明
文件位置
- 文件路径:
raw_data/A50伤后6h-1.txt - 文件大小: 28KB
- 数据行数: 约3934行
数据格式
- 文件类型: 纯文本文件 (.txt)
- 数据格式: 每行两个数值,用逗号分隔
- 第一列: 红光光电容积数据
- 第二列: 红外光光电容积数据
- 示例:
-8,-10
-10,-11
-12,-10
-17,-9
-17,-9
-21,-8
-20,-7
-20,-8
-21,-6
数据特征
- 数据长度: 约3934个数据点
- 数值范围: 负值,表示光电容积变化
- 采样率: 默认设置为50Hz(可在代码中调整)
- 数据类型: 光电容积脉搏波 (PPG)
🚀 使用方法
1. 运行程序
选择选项3: "处理PPG数据 (A50伤后6h-1.txt)"
2. 自动处理流程
程序会自动执行以下步骤:
- 读取
raw_data/A50伤后6h-1.txt文件 - 解析红光和红外光数据
- 执行信号预处理
- 计算生理指标
- 保存处理结果
3. 查看结果
程序会自动生成以下文件:
data_generated/ppg_a50_processed.csv- 预处理后的PPG数据data_generated/ppg_a50_metrics.csv- 计算的生理指标
🔧 处理流程详解
步骤1: 数据读取
- 打开
raw_data/A50伤后6h-1.txt文件 - 逐行读取数据
- 解析逗号分隔的数值
步骤2: 数据解析
- 分离红光和红外光数据
- 数据验证和错误处理
- 统计数据显示(范围、数量等)
步骤3: 数据转换
- 创建SensorData对象
- 设置数据类型为PPG
- 转换为多通道格式
步骤4: 信号预处理
- 应用PPG专用滤波器
- 去除运动伪影
- 信号质量评估
步骤5: 指标计算
- 心率计算
- 血氧饱和度 (SpO2)
- 灌注指数 (PI)
- 脉搏波宽度
- 红光/红外光比值
- 信号质量评分
步骤6: 结果保存
- 保存预处理后的数据
- 保存计算的生理指标
- 生成详细报告
📊 输出指标说明
| 指标名称 | 单位 | 说明 |
|---|---|---|
| 心率 | bpm | 每分钟心跳次数 |
| 血氧饱和度 | % | 血液中氧气的饱和度 |
| 灌注指数 | % | 组织灌注情况的指标 |
| 脉搏波宽度 | ms | 脉搏波的持续时间 |
| 红光红外光比值 | 无单位 | 红光与红外光信号的比值 |
| 信号质量评分 | % | 信号质量的综合评分 |
| 统计指标 | mV | 均值、标准差、最小值、最大值、峰峰值 |
⚙️ 参数配置
采样率设置
const float sample_rate = 50.0f; // 可在代码中调整
信号质量阈值
ppg_data.sqi = 0.8f; // 默认信号质量指数
文件路径配置
std::string ppg_file_path = "raw_data/A50伤后6h-1.txt";
⚠️ 注意事项
1. 文件格式要求
- 确保数据文件格式正确(逗号分隔)
- 每行必须包含两个数值
- 避免空行或格式错误
2. 数据质量
- 数据长度充足(3934个点)
- 信号质量评估
- 异常值检测和处理
3. 采样率设置
- 采样率设置错误会影响心率计算
- 请根据实际设备参数调整
- 常见采样率: 25Hz, 50Hz, 100Hz
🔍 故障排除
常见问题
1. 文件读取失败
错误: 无法打开PPG数据文件: raw_data/A50伤后6h-1.txt
解决方案: 检查文件是否存在于 raw_data/ 文件夹中
2. 数据解析失败
警告: 第 X 行数据解析失败: -8,-10
解决方案: 检查数据格式是否正确,确保每行都是两个数值
3. 指标计算异常
警告: 计算的心率超出正常范围: XXX bpm
解决方案: 检查采样率设置和数据质量
📈 性能优化建议
- 数据预处理: 对原始数据进行去噪和滤波
- 采样率优化: 根据应用需求选择合适的采样率
- 算法参数: 根据数据特征调整算法参数
- 内存管理: 对于大数据文件,考虑分批处理
🚀 扩展功能
未来可添加的功能
- 实时PPG数据处理
- 多文件批量处理
- 自定义滤波器参数
- 数据可视化图表
- 异常检测和报警
📝 更新日志
- 2025年1月: 新增PPG数据处理功能
- 专门针对A50伤后6h-1.txt文件
- 支持txt格式数据读取
- 完整的信号预处理流程
- 全面的生理指标计算
🔬 医学应用
临床意义
- 心率监测: 评估心血管功能
- 血氧饱和度: 监测组织氧合状态
- 灌注指数: 评估组织血流灌注
- 信号质量: 确保测量可靠性
适用场景
- 重症监护
- 手术监测
- 康复评估
- 健康监测