【问题标题】:PPG signal diastolic peak detection using matlab使用matlab检测PPG信号舒张峰值
【发布时间】:2017-02-14 12:17:13
【问题描述】:

我正在研究 PPG 信号。我想检测一些特征提取点。但我无法在我自己的数据集上检测到下图所示的点:

我曾尝试使用 fft 作为以下代码:

clear
clc
close all
%% Data Importation and Extraction
load('testdata.mat');

increment = 1;
x = [1:increment:length(PPG)];
d = deriv2(PPG);
%%
subplot 211
plot(x,PPG);xlim([0 100]);grid on
subplot 212

plot(diff(diff(PPG)));xlim([0 100]);grid on

这是我自己的数据集: https://www.dropbox.com/s/9qmrcxffzwa7z7h/testdata.mat?dl=0

【问题讨论】:

  • 代码中的 FFT 在哪里?
  • 舒张峰值是如何定义的?只是“小于收缩峰值的局部最大值”吗?
  • 收缩舒张峰峰值时间 (SDPPT) 定义为连续收缩和舒张峰/拐点之间的时间。
  • 那么什么是舒张峰?

标签: matlab filter signals signal-processing


【解决方案1】:

我最近做了一个课程,试图通过每 5 秒分析一次来估计心脏的 BPM。价值的样品。 (输入来自手机摄像头,闪光灯开启)

但我使用 SciPy 中提供的峰值检测功能在 Python 中完成了我的实现。 (我得到了不错的结果)。虽然我不确定 MATLAB 中是否有类似的函数。

https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.find_peaks.html

您可以使用可用的参数来相应地检测相关的 +ve 峰值。

一个有用的提示突出是所有可用参数中最重要的参数。

【讨论】:

    猜你喜欢
    • 2013-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-24
    • 1970-01-01
    • 2017-08-14
    相关资源
    最近更新 更多