找出EKG数据的平均心率
16次浏览(过去30天)
显示旧的注释
接受的答案
明星黾
2022年11月13日
编辑:明星黾
2022年11月14日
的例子,
(y, Fs) = audioread (“EKG.wav”);
y = y (: 1);
dt = 1 / f;
t = 0: dt: dt(长度(y) * dt);
Pv = 1;%最小峰值突出值
[pks, locs] = findpeaks(y,“MinPeakProminence”、光伏);
Rtimes = t(locs);
Rperiod = diff(Rtimes);
Rfreq = 1/mean(Rperiod)
做出适当的改变以获得预期的结果。
.
编辑-
(2022年11月14日)
这是一个非常奇怪的心电图。我不知道它是什么铅,但它似乎有一个RSR'(读作:R- s -R ')模式,而R'偏转略微使
findpeaks
叫. .如果是右心前导联,我会怀疑是房间隔缺损,或者是某种明显的传导系统异常。不知道线索,也没有其他线索可以把它放在上下文中,我不知道它意味着什么。
Uz = unzip(“//www.tianjin-qmedu.com/matlabcentral/answers/uploaded_files/1191893/Ludovic.zip”)
[y, Fs] = audioread(是乌斯{1});
y = y (: 1);
dt = 1 / f;
t = 0: dt: dt(长度(y) * dt);
% L =数字(y);
% t = linspace(0, L-1, L)/Fs;
数字
情节(t, y)
网格
包含(“时间”)
ylabel (“振幅”)
数字
情节(t, y)
网格
包含(“时间”)
ylabel (“振幅”)
xlim (7 [0])
Pv = 0.45;%最小峰值突出值
[pks, locs] = findpeaks(y,“MinPeakProminence”、光伏);
Rtimes = t(locs);
Rperiod = diff(Rtimes);
meanperiod = mean(Rperiod)%单位:秒
Rperiod = std(Rperiod)%单位:秒
SEMRperiod = StDvRperiod/√(数字(locs))%单位:秒
RangeRfreq = 1。/ ((1) * 1.96 * SEMRperiod + MeanRperiod)%单位:1/秒
Rfreq = 1/mean(Rperiod)%速率,单位= 1/秒
Rfreq * 60%速率,单位= 1/分钟
数字
情节(t, y)
持有在
情节(t (loc),“^ r”)
持有从
网格
包含(“时间”)
ylabel (“振幅”)
xlim (11 [0])
结果是相当敏感的
“光伏”
值,因此如果有更多的记录,可能需要对其进行实验以获得适当的结果。
.
更多答案(1)
克里斯·拉皮埃尔
2022年11月13日
我会计算每次心跳的瞬时心率,然后取平均值,得到平均心率。要做到这一点,您需要确定每次心跳中的一个单一特征(可能是QRS复合体的峰值),找到每个心跳之间的时间,并将其转换为瞬时心率。
你可能会发现这个YouTube直播的前20分钟很有帮助。只是要注意所使用的示例缺少时间数据。