TMS320F28035學習記錄五

IQMath lib的使用

參考手冊《IQmath_Quickstart.pdf》 版本V1.6.0

存放路徑:C:\ti\controlSUITE\libs\math\IQmath\v160\doc

1.TMS320F28035TI公司推出的32位定點DSP芯片,其硬件本身不支持浮點數運算,在用C語言編程時用到的浮點運算是在軟件層面上完成的,並非TMS320F28035具備浮點運算能力。用C語言編程在軟件上實現浮點數運算將增加代碼量和程序運行時間。IQmath是一種採用定點運算,但具有浮點數據處理特性的計算方法,並且IQmath還具有豐富的函數庫。


優點就是處理速度快,代碼量低。缺點就是十進制浮點數轉化爲二進制時可能會存在誤差。

4.IQ格式由整數部分(I,小數部分(Q)和一位符號位構成。所以I+Q=31位。當Q值確定後,所有參加運算的IQ數據精度是一致的,同時數據的動態範圍也被確定了。具體的Q值對應的精度和數據範圍可以查表。

5.IQmath應用的簡單歸納:

  1Q值定標:根據要求的誤差和數據範圍,選擇一個Q值。

  2)浮點數轉換爲IQ數據格式。

  3)將IQ數據轉換爲浮點數。

6.IQmath.lib用於定點芯片。IQmath_f32.lib用於浮點芯片。

7.CMD文件配置的一些建議:

  輸出段“IQmathTables,含有的一些函數是已經被燒錄到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.

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章