程序员人生 网站导航

TMS320F28035学习记录五

栏目:综合技术时间:2015-05-26 08:04:46

IQMath lib的使用

参考手册《IQmath_Quickstart.pdf》 版本V1.6.0

寄存路径:C: icontrolSUITElibsmathIQmathv160doc

1.TMS320F28035TI公司推出的32位定点DSP芯片,其硬件本身不支持浮点数运算,在用C语言编程时用到的浮点运算是在软件层面上完成的,并不是TMS320F28035具有浮点运算能力。用C语言编程在软件上实现浮点数运算将增加代码量和程序运行时间。IQmath是1种采取定点运算,但具有浮点数据处理特性的计算方法,并且IQmath还具有丰富的函数库。


优点就是处理速度快,代码量低。缺点就是10进制浮点数转化为2进制时可能会存在误差。

4.IQ格式由整数部份(I,小数部份(Q)和1位符号位构成。所以I+Q=31位。当Q值肯定后,所有参加运算的IQ数据精度是1致的,同时数据的动态范围也被肯定了。具体的Q值对应的精度和数据范围可以查表。

5.IQmath利用的简单归纳:

  1Q值定标:根据要求的误差和数据范围,选择1个Q值。

  2)浮点数转换为IQ数据格式。

  3)将IQ数据转换为浮点数。

6.IQmath.lib用于定点芯片。IQmath_f32.lib用于浮点芯片。

7.CMD文件配置的1些建议:

  输出段“IQmathTables,含有的1些函数是已被烧录到BOOTROM区域,所以必须被设置成“NOLOAD”类型,在 BOOTROM区域查表,而不需要载入其他区域。

   输出段“IQmathTablesRam”含有的函数,需要时可以载入,某些芯片也将这些函数烧录到BOOTROM区域,看直接查表。

8.工程中配置IQmath.lib库文件

  1.与加入c文件的方法类似,只要知道路径并且添加便可

  2.需要在c文件中包括  #include "IQmathLib.h"

  3.配置.CMD文件。

9.IQmath使用须知

     1. IQmathLib.h里,根据需要修改Q格式,范围是 Q1 to Q30 P30

//        30 <= GLOBAL_Q <=  1

//

#ifndef   GLOBAL_Q

#define   GLOBAL_Q       24

#endif

    IQmathLib.h里默许是Q24格式

Q格式的取值范围与精度在手册的10页有说明

10.使用IQmath的进程

   1)所有参与运算的数据,必须转化为Q格式,比如

 #define  PI  3.1415926535898

 _iq  input  = _IQ(PI); //PI转化为Q格式

    2)转化为Q格式后,所有数据参与计算,必须使用IQ库函数计算

   3)实现Q格式转换为浮点数

 float _IQtoF( _iq A)

11.

 

 

 

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐