大家都知道
嵌入式系统里带浮点运算指令的CPU都比较少,TI的DSP也是定点的便宜。那么我们运算时想把浮点数速度提高怎么办?有人就想到了,把浮点转成定点就可以了。好了IQmath就是干这个事的。
举个例子,有个数为0.2,直接用
C语言也可以做,那么IQMath怎么用?
例如我们调用一个IQ16(0.2),它的意思是,返回一个32bit的数,这个数=IQ16(0.2)=2^16 * 0.2 = 65536 * 0.2 = 13107。也就是说IQ16是2的16次幂,然后乘于浮点数,把小数点扔掉,13107就是IQ运算的数。其他浮点数也用IQ16包起来,大家都用这个IQ数进行运算,速度提高了!