一阶低通滤波器的缺点_一阶低通滤波器c语言

一阶低通滤波器的缺点_一阶低通滤波器c语言彻底理解一阶低通数字滤波器原理、设计及工程实践在电机控制中,有许多的物理量都要经过AD转换为数字量,才能在控制算法中使用,如母线电压、采样电阻电流、功率模块温度等。使用这些数字量时,既要做到有效地把物

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

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/38752.html

(0)
上一篇 2024年 9月 8日
下一篇 2024年 9月 8日

相关推荐

关注微信