调用python中信号处理库 写一段真实的呼吸波形
时间: 2024-05-10 17:19:30 浏览: 159
下面是一个使用Python信号处理库生成真实呼吸波形的示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
# 设置采样频率和时间
fs = 100
t = np.arange(0, 10, 1/fs)
# 设置呼吸信号的参数
f0 = 0.2 # 呼吸频率
amp = 1 # 呼吸信号振幅
noise_amp = 0.1 # 噪声振幅
# 生成正弦波呼吸信号和噪声
breath_signal = amp * np.sin(2 * np.pi * f0 * t)
noise = noise_amp * np.random.randn(len(t))
# 合成呼吸信号和噪声
signal_with_noise = breath_signal + noise
# 设计Butterworth低通滤波器
lowcut = 0.1 # 截止频率
order = 6 # 阶数
b, a = signal.butter(order, lowcut / (fs/2), 'low')
# 应用低通滤波器
filtered_signal = signal.filtfilt(b, a, signal_with_noise)
# 绘制原始信号、带噪声信号和滤波后信号
fig, ax = plt.subplots(nrows=3, ncols=1, figsize=(8, 6))
ax[0].plot(t, breath_signal)
ax[0].set_title('Breathing Signal')
ax[1].plot(t, signal_with_noise)
ax[1].set_title('Signal with Noise')
ax[2].plot(t, filtered_signal)
ax[2].set_title('Filtered Signal')
plt.tight_layout()
plt.show()
```
该代码会生成一个呼吸波形图,其中包含呼吸信号、带噪声的信号和经过低通滤波器处理后的信号。您可以根据需要调整呼吸信号的参数(如呼吸频率、振幅和噪声振幅),以及滤波器的参数(如截止频率和阶数)来生成不同的呼吸波形。
阅读全文