Python实现FIR滤波器:自定义信号处理与可视化
Python实现FIR滤波器:自定义信号处理与可视化
本篇博客演示如何使用Python实现FIR滤波器,对自定义信号进行处理,并利用matplotlib库可视化输入输出信号。
1. 定义信号和滤波器系数
首先,我们定义一个示例信号x[n]和FIR滤波器的系数b:
import numpy as np
# 自定义输入信号
x = np.array([1, 2, 3, 4, 5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5])
# FIR滤波器系数
b = np.array([0.1, 0.2, 0.3, 0.2, 0.1])
2. 使用convolve()函数进行滤波
利用NumPy库中的convolve()函数,对输入信号x和滤波器系数b进行卷积运算,得到滤波后的输出信号y。mode='same'参数确保输出信号与输入信号长度相同。
# 进行FIR滤波
y = np.convolve(x, b, mode='same')
3. 可视化输入输出信号
使用matplotlib库绘制输入信号x和输出信号y的图形:
import matplotlib.pyplot as plt
# 绘制输入信号
plt.subplot(2, 1, 1)
plt.plot(x)
plt.title('输入信号')
# 绘制输出信号
plt.subplot(2, 1, 2)
plt.plot(y)
plt.title('输出信号')
plt.tight_layout()
plt.show()
输出结果:

通过以上步骤,我们成功使用Python实现了FIR滤波器,并对自定义信号进行了处理和可视化。
原文地址: https://www.cveoy.top/t/topic/jPlY 著作权归作者所有。请勿转载和采集!