|
原帖由 lahori 于 2010-11-5 15:51 发表
我10年前做小波压缩算法,在GCC里内嵌MMX汇编指令优化。。。但是老板不能苛求每个人都能做到。。。
确实线性的情况下是可以转化成f(x)=a*x+b,但是a在这里就是浮点数,即是乘法,8位单片机计算浮点数乘法也不是 ...
请教一下LZ,这里不大明白:一般来说舵机PWM信号1ms-2ms(或者0.5-2.5ms,但不会影响以下讨论)代表行程上下限,10bit ADC的分别率就等于是把1ms的舵机行程分成1024份,每份是977纳秒。如果摇杆放在3/4的位置,就等于输出977*1024*3/4+1,000,000=1,750,336ns,这样的计算需要用浮点数吗?遥杆校准的时候,假设整个摇杆的行程只能用到1024份中的3/4,也就是768份,那么上式就可以修改为1302ns*768*3/4+1,000,000=1,749,952ns(两次结果只相差384ns,舵机都反映不出来),好像也不需要浮点数吧?只需要在摇杆校准的时候用一下浮点运算、除法,算好以后取整,以后直接运用。其他线性混控都可以用此方法算出一个整数的a,可以避免很多除法运算。
举上面例子我想说的是,混控的计算好像没有楼主想象中的复杂,需要MCU时间应该没有楼主想象中多,请楼主指正。
[ 本帖最后由 donovan 于 2010-11-7 01:33 编辑 ] |
|