matlab - 如何使用Matlab准确地以高BPM输出生成的心跳信号?

标签 matlab audio heartbeat beat-detection

解决了!

 % Function to Generate ECG of heart beat signal for specified duration
%---------------------------------------

function [Heartbeat,t] = ECG_Gen (HR,pulse_width,Amp,duration)

Fs = 48000;

delay = (60/HR);

t = 0 : 1/Fs : duration;         % 48000 kHz sample freq for duration (secs)
d = 0 : delay : duration; 

Heartbeat = Amp*pulstran(t,d,'tripuls',pulse_width);

,当我在Matlab中使用“声音”播放信号并在外部心率监测器上对其进行测量时,我无法输出生成的心跳信号。我得到了与模拟值不同的读数。但是似乎只有在60 Bpm到100 Bpm之间才是正确的。需要包括最高200 Bpm的心率。换句话说,我在高Bpm时会得到很多不稳定的输出。

最佳答案

更改

delay = ((60/HR)/2)-(0.5*pulse_width);

进入
delay = 30/HR;
tripuls不会更改时间输入t1的任何内容,因此不应从时间 vector 中减去脉冲宽度。

您可以通过设置来查看这是正确的
pulse_width = 60e-4;
% (try)

pulse_width = 60e-10;
% (try again)

您应该看到,您的结果越来越缓慢地朝着正确的心率方向发展(前提是您的外部设备能够处理如此短的脉冲)。

关于matlab - 如何使用Matlab准确地以高BPM输出生成的心跳信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17424168/

相关文章:

php - "Heartbeats"在 PHP/JS 中从客户端到服务器

linux - 如何用起搏器配置 "Clearing expired failcount"时间

matlab - 如何在 2D 中绘制网格?

matlab - 在 Matlab 中为 KNN 选择 k

c++ - MATLAB libpointer 数组

javascript - 尝试使用javascript更改音频标签的src

android - Xamarin.Android 应用的静音

perl - 有没有办法在 Perl 中读取 MATLAB .mat 文件?

android - 调用需要API级别9(当前为8 => WRONG),与android.media.audiofx.Visualizer相关。 (内部图片)

c++ - 在 C++ 中实现心跳以检查套接字连接的最佳方法是什么?