# PPG血压预测算法优化说明

## 概述

本次优化基于智能可穿戴设备血压预测的最新研究,参考了罗杰夫"三重滤网"智能算法和PPG(光电容积脉搏波)形态分析技术,对现有血压预测系统进行了深度优化。

## 优化依据

### 1. 罗杰夫"三重滤网"智能算法

参考来源:[罗杰夫"大脑":如何从复杂的脉搏波中"解码"出精准的血压值?](<https://www.163.com/dy/article/KD99QIK10556DUQB.html>)

技术架构:
- **信号净化层**:自适应滤波 + 信号质量指数(SQI)评估,剔除运动噪声
- **特征提取层**:从PPG波形中提取数十维特征(振幅、上升斜率、重搏波切迹、谐波能量等)
- **智能推算层**:基于深度神经网络(DNN)的非线性映射
- **个体化适配**:长期使用中动态微调模型参数,提升用户专属精度

### 2. PPG形态分析 + 机器学习

参考来源:[智能手表/手环测血压冷知识](<https://zhuanlan.zhihu.com/p/397300026>)

原理:利用PPG波形形态(如上升时间、峰值比、舒张期衰减)与血管硬度、血压的相关性。

### 3. 智能可穿戴设备心血管监测研究

参考文献:《智能可穿戴设备与心血管疾病相关监测指标的研究进展》

## 新增模块

### PPGBloodPressureAnalyzer.swift

全新的PPG血压预测分析器,实现了完整的三重滤网架构:

#### 1. 信号净化层

```swift
struct SignalQualityAssessment {
    let overallSQI: Double         // 综合信号质量指数
    let amplitudeSQI: Double       // 振幅质量
    let morphologySQI: Double      // 形态质量
    let regularitySQI: Double      // 规律性质量
    let noiseSQI: Double           // 噪声质量
    let isAcceptable: Bool         // 是否可接受
    let qualityLevel: QualityLevel // 质量级别
}

信号质量阈值:

2. 特征提取层

提取20维PPG波形特征:

特征索引 特征名称 说明
0 amplitude 脉搏波振幅
1 risingSlopeMax 上升支最大斜率(与收缩压正相关)
2 fallingSlopeMax 下降支最大斜率
3 riseDuration 上升时间(收缩期)
4 fallDuration 下降时间(舒张期)
5 dicroticNotchRatio 重搏波切迹比值(与动脉弹性相关)
6 dicroticWaveRatio 重搏波振幅比值
7 pulsePeakRatio 脉搏峰比值
8 pulseWidthRatio 脉搏宽度比值
9 areaRatio 面积比值(收缩/舒张)
10 reflectionIndex 反射指数RI(外周血管阻力)
11 stiffnessIndex 硬度指数SI(动脉硬度)
12 augmentationIndex 增强指数AIx(动脉硬化程度)
13 peakToPeakInterval 脉搏间隔
14-17 harmonicEnergy1-3, harmonicEnergyRatio 谐波能量特征
18 pulsePressureIndex 脉压指数
19 vascularAge 血管年龄指数

3. 智能推算层

实现了简化版深度神经网络(DNN):

4. 个体化适配

struct PersonalCalibrationParams {
    var systolicBaseline: Double      // 收缩压基准值
    var diastolicBaseline: Double     // 舒张压基准值
    var systolicSensitivity: Double   // 收缩压敏感度
    var diastolicSensitivity: Double  // 舒张压敏感度
    var ageAdjustment: Double         // 年龄调整因子
    var bmiAdjustment: Double         // BMI调整因子
    var activityAdjustment: Double    // 活动水平调整因子
    var calibrationCount: Int         // 校准次数
    var lastCalibrationDate: Date?    // 上次校准时间
    var calibrationDecay: Double      // 校准衰减因子(半衰期14天)
    var featureWeights: [Double]      // 个体化特征权重
}

多模型融合

动态权重调整

系统现在集成了三个预测模型,根据信号质量动态调整权重:

信号质量 传统模型权重 Treelet权重 PPG权重
优秀(≥0.85) 0.25 0.30 0.45
良好(≥0.65) 0.30 0.35 0.35
可接受(≥0.45) 0.40 0.35 0.25
较差(<0.45) 0.55 0.30 0.15

智能融合算法

func performIntelligentModelFusion(predictions, signalQuality) {
    // 1. 计算置信度加权的有效权重
    // 有效权重 = 基础权重 × 置信度 × 信号质量因子
    
    // 2. 加权平均融合
    
    // 3. 异常值检测(如果预测差异>30/20 mmHg,使用中位数)
    
    // 4. 贝叶斯平滑(与历史预测的加权平均)
}

血压预测流程

优化后的完整预测流程:

1. 收集当前健康数据 (心率、HRV、步数、睡眠等)
        ↓
2. 更新时间序列数据
        ↓
3. 基准值自适应调整
        ↓
4. 特征工程(传统特征提取)
        ↓
5. 传统加权模型预测
        ↓
6. TreeletHealthAnalysis TCN模型预测(可选)
        ↓
7. PPG形态分析预测(新增)
   ├── 信号质量评估(SQI)
   ├── PPG波形特征提取
   ├── 多源特征融合
   ├── DNN预测
   ├── 传统PPG模型预测
   └── 模型融合
        ↓
8. 多模型智能融合
   ├── 动态权重调整
   ├── 置信度加权
   ├── 异常值检测
   └── 贝叶斯平滑
        ↓
9. 个体化校准
        ↓
10. 异常值检测和修正
        ↓
11. 输出最终预测结果

风险指标分析

新增血管健康相关风险指标:

校准同步

校准时自动同步所有模型:

// 添加校准样本时
func addCalibrationSample(...) {
    // 更新传统模型校准
    // 更新Treelet模型校准
    // 同步PPG分析器校准 ← 新增
}

// 手动校准时
func manualCalibration(...) {
    // 更新基准值
    // 同步PPG分析器校准 ← 新增
    // 同步PPG分析器个人特征(年龄、BMI、活动水平)← 新增
}

公共接口

PPG分析器控制

// 启用/禁用PPG形态分析
BloodPressurePredictionSystem.shared.setPPGAnalyzerEnabled(true)

// 设置PPG分析器权重
BloodPressurePredictionSystem.shared.setPPGAnalyzerWeight(0.35)

// 获取PPG分析器状态
let status = BloodPressurePredictionSystem.shared.getPPGAnalyzerStatus()

PPG分析器直接调用

// 独立使用PPG分析器
let result = await PPGBloodPressureAnalyzer.shared.predictBloodPressure(healthData: healthManager)

// 更新个人特征
PPGBloodPressureAnalyzer.shared.updateAge(45)
PPGBloodPressureAnalyzer.shared.updateBMI(24.5)
PPGBloodPressureAnalyzer.shared.updateActivityLevel(0.6)

// 添加校准样本
PPGBloodPressureAnalyzer.shared.addCalibrationSample(
    actualSystolic: 125,
    actualDiastolic: 82,
    predictedSystolic: 122,
    predictedDiastolic: 80
)

预期效果

  1. 更高的预测精度:多模型融合提升预测准确性
  2. 更好的信号适应性:SQI评估确保只使用可靠数据
  3. 更强的个体化:持续学习用户的血压特征
  4. 更丰富的健康信息:提供动脉健康、血管年龄等额外指标

注意事项

  1. PPG分析器的预测精度依赖于Apple Watch的心率和HRV数据质量
  2. 建议用户在首次使用时进行袖带血压计校准
  3. 校准效果会随时间衰减(半衰期14天),建议定期校准
  4. 运动、情绪波动等因素会影响信号质量,建议在静息状态下测量

文件变更

版本信息