[ PROMPT_NODE_26884 ]
rsp
[ SKILL_DOCUMENTATION ]
# 呼吸信号处理
## 概述
NeuroKit2 中的呼吸信号处理功能支持对呼吸模式、呼吸频率、振幅和变异性进行分析。呼吸与心脏活动(呼吸性窦性心律不齐)、情绪状态和认知过程密切相关。
## 主要处理工作流
### rsp_process()
自动处理呼吸信号,包含波峰/波谷检测和特征提取。
python
signals, info = nk.rsp_process(rsp_signal, sampling_rate=100, method='khodadad2018')
**工作流步骤:**
1. 信号清洗(去噪、滤波)
2. 波峰(呼气)和波谷(吸气)检测
3. 呼吸频率计算
4. 振幅计算
5. 相位确定(吸气/呼气)
6. 每时间呼吸量 (RVT)
**返回:**
- `signals`: DataFrame,包含:
- `RSP_Clean`: 滤波后的呼吸信号
- `RSP_Peaks`, `RSP_Troughs`: 极值标记
- `RSP_Rate`: 瞬时呼吸频率(次/分钟)
- `RSP_Amplitude`: 逐次呼吸振幅
- `RSP_Phase`: 吸气 (0) 与呼气 (1)
- `RSP_Phase_Completion`: 相位完成百分比 (0-1)
- `RSP_RVT`: 每时间呼吸量
- `info`: 包含波峰/波谷索引的字典
**方法:**
- `'khodadad2018'`: Khodadad 等人的算法(默认,稳健)
- `'biosppy'`: 基于 BioSPPy 的处理(替代方案)
## 预处理函数
### rsp_clean()
去除噪声并平滑呼吸信号。
python
cleaned_rsp = nk.rsp_clean(rsp_signal, sampling_rate=100, method='khodadad2018')
**方法:**
**1. Khodadad2018 (默认):**
- 巴特沃斯低通滤波器
- 去除高频噪声
- 保留呼吸波形
**2. BioSPPy:**
- 替代滤波方法
- 性能与 Khodadad 相似
**3. Hampel 滤波器:**
python
cleaned_rsp = nk.rsp_clean(rsp_signal, sampling_rate=100, method='hampel')
- 基于中位数的异常值去除
- 对伪影和尖峰具有稳健性
- 保留尖锐的过渡
**典型呼吸频率:**
- 成人静息状态:12-20 次/分钟 (0.2-0.33 Hz)
- 儿童:频率更快
- 运动期间:高达 40-60 次/分钟
### rsp_peaks()
识别呼吸信号中的吸气波谷和呼气波峰。
python
peaks, info = nk.rsp_peaks(cleaned_rsp, sampling_rate=100, method='khodadad2018')
**检测方法:**
- `'khodadad2018'`: 针对干净信号优化
- `'biosppy'`: 替代方法
- `'scipy'`: 基于 scipy 的简单检测
**返回