首页 > 科技 >

💻开发技巧⚡ Python实现信号滤波(基于scipy)

发布时间:2025-03-21 09:22:06来源:

在信号处理领域,滤波是不可或缺的一环。无论是音频还是传感器数据,干净的数据往往需要经过滤波处理才能更好地分析。今天就用Python中的`scipy`库来实现一个简单的信号滤波器吧!🎉

首先,确保你安装了`scipy`库:

```bash

pip install scipy

```

接下来,我们用`butter`函数设计一个低通滤波器,代码如下:

```python

from scipy.signal import butter, filtfilt

def butter_lowpass_filter(data, cutoff, fs, order=5):

nyq = 0.5 fs Nyquist频率

normal_cutoff = cutoff / nyq

b, a = butter(order, normal_cutoff, btype='low', analog=False)

y = filtfilt(b, a, data)

return y

```

假设你的采样率为100Hz,想要过滤掉高于10Hz的信号,可以这样调用:

```python

filtered_data = butter_lowpass_filter(raw_signal, cutoff=10, fs=100)

```

最后,你可以用Matplotlib可视化结果:

```python

import matplotlib.pyplot as plt

plt.plot(filtered_data)

plt.title("Filtered Signal")

plt.show()

```

通过这种方式,你可以轻松地对信号进行滤波,从而提取出有用的信息!🌟

免责声明:本答案或内容为用户上传,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 如遇侵权请及时联系本站删除。