tangcangeng 发表于 2012-10-26 22:12:31

求救坛里高手关于IQmath函数中的_IQsinPU()这个函数的理解

最近刚刚接触IQmath,了解了一些基本的Q格式的概念和函数的使用,但是有一个函数一直都搞不明白是怎么计算的和怎么使用的,就是这个_IQsinPU(),我对_IQsin()这个函数还是能理解的,比如如果我使用的全局Q等于20,那么_IQsin(_IQ(PI/2))就等于1*2的20次方就等于1048576,但我就是怎么也不理解_IQsinPU()这个函数是怎么计算的 还有是怎么使用的 麻烦恳请各位高手知道这个函数的使用方法或者计算方法的告诉一下迷茫的我教我怎么理解这个函数吧 谢谢了!!

tangcangeng 发表于 2012-10-26 22:13:21

帮自己顶一下了 希望一起奋斗C2000的学习历程的同志帮帮我一下 谢谢了

tangcangeng 发表于 2012-10-27 10:21:48

帮自己顶了 各位同志 有明白的请解释一下 谢谢了!!

Eastnorth 发表于 2012-10-27 11:09:15

_IQsinPU() 就是说这个函数的参数得是经过归一化的(又称标幺)。具体来讲,比如用这个函数求π/4(45°)的正弦值,先把45°归一化:45/360(或者π/4 除以2π)得到0.125, 然后计算_IQsinPU(0.125) 就可以得到0.707xxxx了。

除了上述的_IQsinPU()和_IQcosPU()等三角函数,TI的C2000的很多程序中都用到归一化的变量,比如PMSM驱动程序中的电流,电压,转速,转子的电角度等参数。用归一化的变量的一个好处是,当外围硬件电路有变化,只需很少的改动甚至不用修改就可以使现有的程序。 另外,在TI的C2000上,_IQsinPU()和_IQcosPU() 的运行速度分别比_IQsin()和_IQcos() 要快6个时钟周期(40 vs 46 和 38 vs 44),这在实时控制和运算密集的应用当中会显示出很大的优势。

tangcangeng 发表于 2012-10-27 13:20:29

Eastnorth 发表于 2012-10-27 11:09 static/image/common/back.gif
_IQsinPU() 就是说这个函数的参数得是经过归一化的(又称标幺)。具体来讲,比如用这个函数求π/4(45°)的 ...

朋友你好 很感谢您的解答 非常感谢 我再根据您的解说理解一下
页: [1]
查看完整版本: 求救坛里高手关于IQmath函数中的_IQsinPU()这个函数的理解