曾经听过哈工大深圳研究生院李教授的讲座,李教授说,控制系统的实质,就是滤波器的设计。尤其在电机控制系统设计中,滤波器是必不可少的存在,很少观测器实质也就是滤波器,比如拓展反电势模型等。
在无传感器控制方案中,滤波器相对用得不多,比如:
一阶低通滤波器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滤波器的类型。
感谢您的耐心阅读。
全部0条评论
快来发表一下你的评论吧 !