FIR窗函数 python
时间: 2023-10-29 19:00:05 浏览: 114
窗函数加权设计FIR滤波器-python tornado 中文教程
FIR(Finite Impulse Response)窗函数是一种在信号处理中常用的滤波器设计方法。它可以通过将输入信号与窗函数进行卷积来实现滤波效果。在 Python 中,可以使用 SciPy 库来实现 FIR 窗函数。
下面是一个示例代码,展示了如何使用 SciPy 中的 firwin 函数来生成 FIR 窗函数:
```python
import numpy as np
from scipy.signal import firwin, freqz
import matplotlib.pyplot as plt
# 定义窗口长度和截止频率
window_length = 51
cutoff_freq = 0.1
# 生成 FIR 窗函数
fir_coeff = firwin(window_length, cutoff_freq)
# 绘制频率响应曲线
w, h = freqz(fir_coeff)
plt.plot(w, 20 * np.log10(abs(h)), 'b')
plt.title('FIR 窗函数频率响应')
plt.xlabel('频率')
plt.ylabel('增益(dB)')
plt.grid()
plt.show()
```
在上述代码中,首先我们导入了所需的库。然后,我们指定了窗口长度(window_length)和截止频率(cutoff_freq)。接下来,使用 firwin 函数生成了 FIR 窗函数的系数(fir_coeff)。最后,我们使用 freqz 函数计算并绘制了 FIR 窗函数的频率响应曲线。
你可以根据具体的需求调整窗口长度和截止频率来设计滤波器。希望这个示例能对你有所帮助!
阅读全文