在芯片计算能力有限&空间有限条件下,又追求精度+速度,采用查表加计算方法为最佳。原理很简单,根据近似折线逼近正弦波在可控失真度范围内且频率是基频的折线倍率,通过滤波器的低通特性,则可以直接获得低失真输出正弦波。因此分段加线性插值就可以简单完成目标任务。
对于动不动就几十K空间的条件下,查表法为最佳,而且确定角度分辨率为前提,就可以提前已知波形的实时误差。这里定角度分辨率达0.5°,实际上一个sin表格,可以分为互为镜像的1/4表格,也就是完整存储0-90°数据就可以了,按照8位PWM来设计,0.5°的sin表格不过区区180个8位数据,体积比你计算函数直接就小多了。表格的缺陷也不过就是连续变频处理复杂一点而已。
对于那种DSP级别的,计算能力没问题,则直接根据既定PWM更新周期,用泰勒级数计算为最佳,这时候,变频数据在计算函数中不过就是一个基础变量而已。 |