TI中文支持网
TI专业的中文技术问题搜集分享网站

关于HVPM_Sensored中OffsetISR滤波器设计

在HVPM_Sensored_Servo.c中的有如下代码

interrupt void OffsetISR(void)

{

……

if (IsrTicker>=5000)
{ offsetA= _IQmpy(K1,offsetA)+_IQmpy(K2,_IQ12toIQ(AdcResult.ADCRESULT1)); //Phase A offset
offsetB= _IQmpy(K1,offsetB)+_IQmpy(K2,_IQ12toIQ(AdcResult.ADCRESULT2)); //Phase B offset
offsetC= _IQmpy(K1,offsetC)+_IQmpy(K2,_IQ12toIQ(AdcResult.ADCRESULT3)); //Phase C offset
}

……

}

其中K1 = 0.05/(T+0.05);K2=T/(T+0.05)

T=0.0001(10KHz)

看到有帖子对这里的滤波器设计有疑问,查了一些资料,分享给大家

这里使用的是一阶滞后滤波,原理可以参照这份文档【我是工程师】从模拟到数字:深入理解一阶RC低通滤波 已更新_.pdf

从代码里的设计看,RC = 0.05,一阶滤波器的截止频率约为3Hz,确实设置了一个很低的频率来保证offset的稳定

Seven Han:感谢分享!

赞(0)
未经允许不得转载:TI中文支持网 » 关于HVPM_Sensored中OffsetISR滤波器设计
分享到: 更多 (0)