心电图处理方法

scipy.misc.electrocardiogram

加载心电图作为一维信号的示例。

返回的信号是5分钟长的心电图(ECG),这是心脏电活动的医学记录,以360 Hz采样。

例子:

from scipy.misc import electrocardiogram
ecg = electrocardiogram()
print(ecg)
#结果:
array([-0.245, -0.215, -0.185, ..., -0.405, -0.395, -0.385])
ecg.shape, ecg.mean(), ecg.std()
print(ecg.shape, ecg.mean(), ecg.std())
#结果:
((108000,), -0.16510875, 0.5992473991177294)

 例如,前几秒钟显示出正常窦性心律下心脏的电活动,如下所示。

import matplotlib.pyplot as plt
fs = 360
time = np.arange(ecg.size) / fs
plt.plot(time, ecg)
plt.xlabel("time in s")
plt.ylabel("ECG in mV")
plt.xlim(9, 10.2)
plt.ylim(-1, 1.5)
plt.show()

然而,在第二个16点之后,出现第一个过早的心室收缩,也称为收缩期前收缩。与典型的心跳相比,它们具有不同的形态。在下图中可以很容易地观察到这种差异。

plt.plot(time, ecg)
plt.xlabel("time in s")
plt.ylabel("ECG in mV")
plt.xlim(46.5, 50)
plt.ylim(-2, 1.5)
plt.show()

 

在某些时候,较大的伪影会干扰录音,例如:

plt.plot(time, ecg)
plt.xlabel("time in s")
plt.ylabel("ECG in mV")
plt.xlim(207, 215)
plt.ylim(-2, 3.5)
plt.show()

 

最后,检查功率谱表明大多数生物信号由较低的频率组成。在60 Hz时,可以清楚地观察到由市电感应的噪声。

from scipy.signal import welch
f, Pxx = welch(ecg, fs=fs, nperseg=2048, scaling="spectrum")
plt.semilogy(f, Pxx)
plt.xlabel("Frequency in Hz")
plt.ylabel("Power spectrum of the ECG in mV**2")
plt.xlim(f[[0, -1]])
plt.show()

参考地址:https://docs.scipy.org/doc/scipy/reference/generated/scipy.misc.electrocardiogram.html#scipy.misc.electrocardiogram

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值