通用的数字滤波器计算式

控制系统及工程应用中常用到滤波器,而在MCU中计算的数字滤波器可以用多项式来计算,下面介绍二阶滤波器的数字滤波器计算公式。
通用的二阶模拟滤波器传递函数:
G ( s ) = a s 2 + b s + c d s 2 + e s + f G(s)=\frac{as^2+bs+c}{ds^2+es+f} G(s)=ds2+es+fas2+bs+c
s = 1 − z − 1 T = z − 1 T z s=\frac{1-z^{-1}}{T}=\frac{z-1}{Tz} s=T1z1=Tzz1 T T T为计算周期,可以得到z传递函数:
G ( z ) = a ( z − 1 T z ) 2 + b z − 1 T z + c d ( z − 1 T z ) 2 + e z − 1 T z + f = ( a + b T + c T 2 ) + ( − 2 a − b T ) z − 1 + a z − 2 ( d + e T + f T 2 ) + ( − 2 d − e T ) z − 1 + d z − 2 G(z)=\frac{a(\frac{z-1}{Tz})^2+b\frac{z-1}{Tz}+c}{d(\frac{z-1}{Tz})^2+e\frac{z-1}{Tz}+f}=\frac{(a+bT+cT^2)+(-2a-bT)z^{-1}+az^{-2}}{(d+eT+fT^2)+(-2d-eT)z^{-1}+dz^{-2}} G(z)=d(Tzz1)2+eTzz1+fa(Tzz1)2+bTzz1+c=(d+eT+fT2)+(2deT)z1+dz2(a+bT+cT2)+(2abT)z1+az2
离散多项式为:
y ( k ) = [ ( a + b T + c T 2 ) x ( k ) + ( − 2 a − b T ) x ( k − 1 ) + a x ( k − 2 ) + ( 2 d + e T ) y ( k − 1 ) + ( − d ) y ( k − 2 ) ] d + e T + f T 2 y(k)=\frac{[(a+bT+cT^2)x(k)+(-2a-bT)x(k-1)+ax(k-2)+(2d+eT)y(k-1)+(-d)y(k-2)]}{d+eT+fT^2} y(k)=d+eT+fT2[(a+bT+cT2)x(k)+(2abT)x(k1)+ax(k2)+(2d+eT)y(k1)+(d)y(k2)]

得到通用的滤波器数字计算多项式: y ( k ) = [ k 1 x ( k ) + k 2 x ( k − 1 ) + k 3 x ( k − 2 ) + k 4 y ( k − 1 ) + k 5 y ( k − 2 ) ] / k 6 ; k 1 = a + b T + c T 2 , k 2 = − 2 a − b T , k 3 = a , k 4 = 2 d + e T , k 5 = − d , k 6 = d + e T + f T 2 ; y(k)=[k_1x(k)+k_2x(k-1)+k_3x(k-2)+k_4y(k-1)+k_5y(k-2)]/k_6;\\ k_1={a+bT+cT^2}, k_2= {-2a-bT},\\ k_3=a,k_4={2d+eT},k_5=-d,k_6=d+eT+fT^2; y(k)=[k1x(k)+k2x(k1)+k

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值