medical_SDK/log/PPG_A50_PROCESSING_README.md

4.7 KiB
Raw Permalink Blame History

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. 自动处理流程

程序会自动执行以下步骤:

  1. 读取 raw_data/A50伤后6h-1.txt 文件
  2. 解析红光和红外光数据
  3. 执行信号预处理
  4. 计算生理指标
  5. 保存处理结果

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

解决方案: 检查采样率设置和数据质量

📈 性能优化建议

  1. 数据预处理: 对原始数据进行去噪和滤波
  2. 采样率优化: 根据应用需求选择合适的采样率
  3. 算法参数: 根据数据特征调整算法参数
  4. 内存管理: 对于大数据文件,考虑分批处理

🚀 扩展功能

未来可添加的功能

  • 实时PPG数据处理
  • 多文件批量处理
  • 自定义滤波器参数
  • 数据可视化图表
  • 异常检测和报警

📝 更新日志

  • 2025年1月: 新增PPG数据处理功能
  • 专门针对A50伤后6h-1.txt文件
  • 支持txt格式数据读取
  • 完整的信号预处理流程
  • 全面的生理指标计算

🔬 医学应用

临床意义

  • 心率监测: 评估心血管功能
  • 血氧饱和度: 监测组织氧合状态
  • 灌注指数: 评估组织血流灌注
  • 信号质量: 确保测量可靠性

适用场景

  • 重症监护
  • 手术监测
  • 康复评估
  • 健康监测