利用Python提取心跳节律信息

心跳信息的提取分析:

首先,ECG_signal.mat文件包含两组信息ECG_1和Time_Adjusted。其中ECG_1中存储的信息为心跳的数值,可以观察到大部分数值为负数。而波峰均为整数,可以通过计算两个相邻波峰之间的实际来得到周期,从而计算出心跳的次数。

具体实现过程:

使用Pyhton第三方库scipy中的loadmat来加载mat文件,格式为字典,因为此文件包含两个量,所以就有两个键。以正负变化的点作为分割点对ECG_1进行划分,把正负改变点放在list中。计算list中每两个相邻索引之间最大值的下标,这些小标就是心跳图形波峰的下标。利用这些下标在Time_Adjusted中得到波峰的采样时间点,两个波峰之间的时间差就是一个周期的实际,把计算出的每个周期时间相加再除以个数,就获得了平均周期时间。所以一分钟心跳次数=60/周期

Python代码
# -*- coding: UTF-8 –*-
import scipy.io as sio
import matplotlib.pyplot as plt
data = sio.loadmat('ECG_signal.mat')   # 加载mat文件
mylist=[]                     # 存储正负改变点的索引
ecg=data['ECG_1']             # ecg为numpy.ndarray型
for i in range(0,len(ecg)-1,1):
    if (ecg[i]<0 and ecg[i+1]>=0) or (ecg[i]>=0 and ecg[i+1]<0):
        mylist.append(i)

maxindex=[]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值