我正在尽力而为,但我的数学还不足以在 python中实现本文中概述的算法。它用于检测心电图上波的开始和偏移,并且使用了一种经过充分验证的方法。
我的数据在一个 numpy 数组中。
它使用的步骤是:
A. 心电图包络的计算
B. 辅助信号的计算
C. 开窗
我想我已经完成了步骤 A:
def calculate_qrs_envelope(self):
self.hilbert = np.imag(hilbert(self.lead_data['y']))
self.envelope = np.sqrt(np.add(self.lead_data['y'],self.hilbert))
self.plot(x=self.lead_data['x'], y=self.envelope, pen='b')
我的数据存储在哪里lead_data['y']
。
如果我绘制它,它看起来是正确的(我无法在此处显示图片,因为我没有足够的业力)。
而且我有信心我不会与 C 斗争。
我可以使用简单的导数来计算 AS,如下所示:
def calculate_auxiliary_signal(self):
self.aux_sig = np.append([0],np.multiply(2,pow(np.diff(self.envelope),2)))
self.plot(x=self.lead_data['x'], y=self.aux_sig, pen='g')
但是关于抛物线拟合的说法,我不明白该怎么做。
我的采样频率是 100 Hz。
有人能帮我解决这个数学问题吗?这将是一个很大的帮助。