手把手教你用matlab生成IIR数字滤波器系数,然后用STM32实现数字滤波。非常实用有价值的资料。
手把手教你用 matlab 生成 STM32 官方 IIR 滤波器的系数(一)
本文采用的 matlab 版本为 R2008a,芯片采用 stm32f103v。 先回顾一下数字信号处理和 IIR 滤波器的相关知识。 数字信号处理是用数字序列来研究系统的一门技术, 不同于模拟信号, 数字信号处理起 来更加灵活,不仅可以处理一维信号,还可以处理二维、三维以上的信号。这门技术应用非 常广泛,如生物医学、声学、雷达、语音通信、数据通信等都采用了数字信号处理技术。 在数字信号处理技术中经常用的一种算法叫 IIR 滤波器,这种滤波器可以设计成带通、 低通和高通滤波,在设计原型上有 butterworth 函数、chebyshev 函数、bessel 函数、椭圆 滤波器函数。IIR 数字滤波器是一种递归型线形时不变因果系统,其差分方程可以写成
式中 x 表示输入系列,y 表示输出序列。通过 z 变换,可以得到传递函数
由差分方程可以直接得到下面的信号流图