彻底理解一阶低通数字滤波器原理、设计及工程实践
在电机控制中,有许多的物理量都要经过AD转换为数字量,才能在控制算法中使用,如母线电压、采样电阻电流、功率模块温度等。使用这些数字量时,既要做到有效地把物理量的真实值还原出来,还需要能够剔除一些可能引入的高频干扰,这在软件中就涉及到一个很普遍的方法:使用一阶低通数字滤波器。通常,在软件中会使用离散化且不断迭代的方法来实现这个过程,基本公式是:
这个公式里,X为输入,Y为滤波后得到的输出值;本次的输出结果主要取决于上次的滤波输出值,其中a是和滤波效果有关的一个参数,称为滤波系数;它决定新采样值在本次滤波结果中所占的权重;滤波系数a越小,滤波结果越平稳,但是灵敏度低;滤波系数a越大,滤波结果越不稳定,但是灵敏度高;
那么这个公式为什么能启到滤波的作用呢?
这个公式是又是怎么来的呢?
滤波系数a又应该怎么设计呢?
直击灵魂三连问啊,听我慢慢道来。
从一个入门的RC滤波电路说起:RC滤波电路
在这个电路中输入是Ui, 输出是Uo, 我们都知道这个RC电路是可以实现将高频杂波滤除掉的功能,Ui输入信号上有高频杂波时,电容两端U0输出可以只含有低频信号。
以电容电压作为输出,令U1 =Ui, U2 = U0,电路的网络函数是:
其中令,也是通常说的时间常数,它是表征电路滤波效果的一个常量。
令 ,并将 代入公式(1),可以得到公式(2):
这里的 就是通常所说的截止频率,可以求出公式(2)的幅值和相角函数:
从幅值函数中可以看出: 当输入信号的频率小于截止频率时,幅值基本等于1,也就是输入信号能基本还原出有用信号的状态; 当输入信号的频率大于截止频率时,幅值就迅速小于1了,也就达到了衰减高频干扰信号的目的;
从相角函数中可以看出:随着输入信号的频率的不断增大,输入信号的相位不断滞后,当输入信号的频率等于截止频率时,相位滞后45度,当输入信号的频率远大于截止频率时,相位滞后90度。
除了公式上的分析外,还可以绘制出它的对数幅频特性曲线,从曲线上就可以一目了然的看清楚它对高频信号的滤波作用了。对数幅频特性曲线
在《自动控制原理》的教材中,这个RC电路的环节就被称为一阶惯性环节,它的传递函数公式如下,在形式上它和RC电路网络是一模一样的,通过这个一阶惯性环节就可以从输入量X到输出量Y的滤波效果。
实际在单片机使用这个一阶惯性环节时,还需要使用Z变换对其离散化:Z变换过程
这里的 是采样周期,再进一步转化得到:
有没有发现和文章中一开始的的提到的基本公式完全对应起来了,这里再重新写一遍基本公式:
其中滤波系数 (这里用 来表示采样周期 ,以便和截止频率 相区别)
到目前为止,前两问已经解答了,然后看一下第三问,怎么通过滤波系数a的计算来设计一阶低通数字滤波器。
一阶低通数字滤波器的设计要点有三点:带宽(截止频率 )设计相移设计采样周期T的选取
先说第1点:
截止频率 的选取往往需要根据信号本身幅值的频率分布来确定,如电流、反电动势等的最大基波频率是 ,那么为了把包含基波频率及以下的有效信息提取出来,并滤除高频分量,则可以取截止频率 稍大于基波频率 ;而温度这种信号变化一般较为缓慢,大部分是直流分量,则可以取截止频率 , 即10Hz
接着说第2点:
经过一阶数字滤波后,角度会发生滞后,对某些相位要求高的信号,比如反电动势,要及时进行补偿。电机控制中一般通过反电动势来计算转子角度信息,此时经过滤波的反电动势已经发生相位滞后,如果不补偿,相位就错误了。
补偿方法可以下式来进行计算:
最后说第3点:
采样周期T的选取是指离散化计算的最小时间单位,这往往是由物理量的采样周期来决定的,比如需要对采集到的相电流进行滤波时,而相电流一般是在PWM周期内部执行的,那么此时
第三问也解答完了,还是有点糊涂?
那是因为缺少实践,咱们就来一波实战。作者以Microchip AN1078笔记中对电机反电动势两次低通数字滤波的方法进行说明,笔记中的原文是这样的:反电动势估算模型—来源AN1078反电动势滤波—来源AN1078
其中截止频率设置为和电频率 = 相等,那么无论电机运行于什么电频率,相位就固定滞后45度,两次滤波后,就固定滞后90度,幅值上变成原有数据的 即0.707倍。
使用这种变截止频率的好处就在于,不用在不同转速下补偿不同的角度值,直接补偿一个固定角度,方便计算。
由此得到以下计算公式:
接着对 进行归一化和Q15化就可以了,原文中的代码是如下,两者是怎么等价的呢?
请看公式推导:
其中令 这一固定系数为IRP_PERCALC,则可以把上式写成如下,并进行Q15化:
接着不就全部对应上了,其中OMEGA0可以理解为当前电频率 的Q15值。
看一下实际滤波的效果:
Zalpha是原始数据, Ealpha是经过第一次低通滤波的波形, EalphaFinal是经过第二次低通滤波的波形,从波形中都可以很清楚的看出,相移滞后45度,幅值是比原来小,大约在0.707倍左右。
再好的讲解,都需要积极去实践才能让功夫上身,使它成为我们自己掌握的又一项武器。只有经过实践后的武器,才是真正自己掌握的,是谁也抢不走的。让我们操练起来吧,留个小实践课题:“在你的软件中,对电机UVW端电压信息进行数字低通滤波,滤波器带宽设为100Hz,数字滤波器执行周期为PWM中断周期,并进行离散化处理。
至此,一阶数字滤波器的原理、设计及工程实践就全部讲完了,你的灵魂被击中了吗?
全文用心完成,欢迎点赞和评论,谢谢。
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/93149.html