项目简介
本项目为华盛顿大学BIOEN 468/568生物信号处理课程的Lab 7设计,在Arduino平台上实现生物信号的滤波处理。项目包含两个Python脚本,分别用于生成有限脉冲响应(FIR)和无限脉冲响应(IIR)滤波器的系数,还能图形展示滤波器的频率响应,生成的系数可用于Arduino或其他嵌入式系统。
项目的主要特性和功能
- FIR滤波器设计
- 借助
scipy.signal
模块设计并生成FIR低通或陷波滤波器的系数。 - 可自定义采样频率、截止频率、波纹幅度和过渡带宽。
- 利用Kaiser窗函数优化设计,减少相位失真。
- 可视化频率响应,便于分析调试。
- 输出C语言数组格式的滤波器系数,方便嵌入式系统使用。
- 借助
- IIR滤波器设计
- 运用
scipy.signal
模块设计并生成巴特沃斯带阻滤波器的系数。 - 支持自定义采样频率、截止频率和滤波器阶数。
- 可视化频率响应,便于分析调试。
- 输出C语言数组格式的滤波器系数,方便嵌入式系统使用。
- 运用
安装使用步骤
环境准备
- 确保已安装Python 3.x。
- 安装必要的Python库:
numpy
、scipy
、matplotlib
,使用以下命令安装:bash pip install numpy scipy matplotlib
运行脚本
- 打开命令行或终端,导航到项目目录。
- 运行
fir_coeff.py
脚本生成FIR滤波器系数:bash python coeff/fir_coeff.py
- 运行
iir_coeff.py
脚本生成IIR滤波器系数:bash python coeff/iir_coeff.py
查看输出
- 脚本运行后,会生成并显示滤波器的频率响应图。
- 滤波器系数将以C语言数组格式打印在终端中,可直接复制到Arduino代码中使用。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】