SciPy - electrocardiogram() 方法

SciPy electrocardiogram() 方法是 scipy.misc 模块的一部分,它表示信号处理和分析。这用于表示心脏的电活动。简而言之,我们可以将这种方法称为 ECG,它有助于构建医疗设备和设备。

语法

以下是 SciPy electrocardiogram() 方法的语法 −

electrocardiogram()

参数

此方法不接受任何参数。

返回值

此方法不返回任何值。

示例 1

以下是 SciPy electrocardiogram() 方法的基本示例,说明了 ECG 信号的图。

import matplotlib.pyplot as plt
from scipy.misc import electrocardiogram

# 加载心电图信号
ecg = 心电图()

# 绘制心电图信号
plt.plot(ecg)
plt.title('Electrocardiogram (ECG) Signal')
plt.xlabel('Number')
plt.ylabel('Amplitude')
plt.show()

输出

上述代码产生以下输出 −

scipy_electrocardium_method_one

示例 2

在这里,您可以看到使用模块 scipy.signal 中的函数 butterfiltfilt 对 ECG 信号进行低通滤波的演示。过滤后,它会消除噪声(高频)并以并行模式绘制两个信号。

import numpy as np
from scipy.signal import butter, filtfilt
from scipy.misc import electrocardiogram

# 加载 ECG 信号
ecg = electrocardiogram()

# 设计低通滤波器
fs = 360 # 采样频率(假设)
cutoff = 50 # 滤波器所需的截止频率,Hz
nyq = 0.5 * fs
normal_cutoff = cutoff / nyq
b, a = butter(5, normal_cutoff, btype='low', analog=False)

# 将滤波器应用于 ECG 信号
filtered_ecg = filtfilt(b, a, ecg)

# 绘制原始和滤波后的 ECG 信号
import matplotlib.pyplot as plt
plt.figure(figsize=(12, 6))
plt.plot(ecg, label='Original ECG')
plt.plot(filtered_ecg, label='Filtered ECG', linestyle='--')
plt.title('Low-pass Filtered Electrocardiogram (ECG) Signal')
plt.xlabel('Number')
plt.ylabel('Amplitude')
plt.legend()
plt.show()

输出

上述代码产生以下输出 −

scipy_electrocardium_method_two

示例 3

from scipy.signal import find_peaks
from scipy.misc import electrocardiogram
import matplotlib.pyplot as plt

# 加载 ECG 信号
ecg = electrocardiogram()

# 检测 ECG 信号中的 R 峰
peaks, _ = find_peaks(ecg, distance=150)

# 绘制检测到的 R 峰的 ECG 信号
plt.plot(ecg, label='ECG Signal')
plt.plot(peaks, ecg[peaks], "x", label='R-peaks')
plt.title('R-peak Detection in Electrocardiogram (ECG) Signal')
plt.xlabel('Number')
plt.ylabel('Amplitude')
plt.legend()
plt.show()

输出

上述代码产生以下输出 −

scipy_electrocardium_method_three

scipy_reference.html