python 低通滤波
时间: 2023-10-13 16:18:50 浏览: 213
python实现低通滤波器代码
4星 · 用户满意度95%
在 Python 中实现低通滤波通常使用信号处理库 scipy 中的函数 `scipy.signal.firwin` 和 `scipy.signal.lfilter`。
首先,使用 `scipy.signal.firwin` 函数生成一个低通滤波器的系数:
```python
from scipy.signal import firwin
cutoff_freq = 1000 # 截止频率
nyquist_rate = 44100 / 2 # 奈奎斯特频率
num_taps = 101 # 滤波器长度
lpf = firwin(num_taps, cutoff_freq/nyquist_rate)
```
接下来,使用 `scipy.signal.lfilter` 函数将信号输入滤波器中:
```python
from scipy.signal import lfilter
filtered_signal = lfilter(lpf, 1.0, input_signal)
```
其中,`input_signal` 是需要滤波的信号,`filtered_signal` 是滤波后的信号。
完整代码如下:
```python
from scipy.signal import firwin, lfilter
cutoff_freq = 1000 # 截止频率
nyquist_rate = 44100 / 2 # 奈奎斯特频率
num_taps = 101 # 滤波器长度
lpf = firwin(num_taps, cutoff_freq/nyquist_rate)
filtered_signal = lfilter(lpf, 1.0, input_signal)
```
注意,上述代码只是一个示例,实际应用中需要根据具体需要进行参数的调整。
阅读全文