对比IIR滤波器和FIR滤波器

描述

曾经听过哈工大深圳研究生院李教授的讲座,李教授说,控制系统的实质,就是滤波器的设计。尤其在电机控制系统设计中,滤波器是必不可少的存在,很少观测器实质也就是滤波器,比如拓展反电势模型等。

在无传感器控制方案中,滤波器相对用得不多,比如:

一阶低通滤波器1nd LPF,;

二阶低通滤波器2nd LPF,;

高通滤波器HPF;

IIR滤波器;

FIR滤波器;

在伺服解决方案中,滤波器就相当复杂了,除了以上滤波器,还包括:

二阶超前/滞后滤波器2nd order Lead/Lag filter;

一阶超前/滞后滤波器1nd order Lead/Lag filter;

由频率定义的一阶超前/滞后滤波器LDLG1FP;

由频率定义相位峰值/最小值和相位电平的二阶超前/滞后滤波器LDLG2FP;

陷波滤波器Notch filter;

通用四边形滤波器BQUD;

复超前/滞后滤波器CLDLG;

本文分析一下IIR滤波器和FIR滤波器。

MATLAB 2020b版本搜索IIR Filter, 点击模块:

电机控制

图1 IIR滤波器

IIR滤波器实质就是低通滤波器。

电机控制

假设滤波器执行频率20k,那么

电机控制

所以20kHz执行频率下,0.01的滤波系数代表33Hz的低通滤波器。

MATLAB的help也说明:A lower filter coefficient gives better filtering, but it increases the delay in the response time,更低的滤波系数带来更好的滤波效果,但是会增加相位滞后,因为截至频率进一步降低。

需要注意的是:一阶低通滤波器仅仅只是IIR滤波器的一种特例,除了1st LPF, 电机控制中还常用二阶低通滤波器,比如常见的巴特沃斯滤波器;陷波滤波器等。IIR滤波器输出不仅和输入有关联,和过去的输出还有关系,从一阶低通滤波器就能看出来这种关系。

此外,必须注意的是,在定点芯片上用整形运算实现低通滤波器,必须注意右移导致的丢精度问题,要进行补偿。

MATLAB 2020b版本搜索FIR Filter, 点击模块:

电机控制

图2 FIR离散滤波器

传递函数:

电机控制

其实质,是当前周期的输入和上一个周期输入的平均值,得到滤波值,可以理解为常用的滑动平均滤波器。

滑动平均滤波器其实只是FIR滤波器的一个特例,在电机控制中常用的也就是这个形式,实质也是属于低通滤波器。把过去若干个连续周期输入求取平均值,作为滤波结果。

FIR滤波器的输出只和输入相关,和过去的输出无关。所以滑动平均滤波,差分计算都属于FIR滤波器的类型。

感谢您的耐心阅读。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分