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进行卷积运算,得到滤波后的输出信号ymode='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()

输出结果:

FIR滤波器输出结果

通过以上步骤,我们成功使用Python实现了FIR滤波器,并对自定义信号进行了处理和可视化。

Python实现FIR滤波器:自定义信号处理与可视化

原文地址: https://www.cveoy.top/t/topic/jPlY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录