IQMath lib的使用
參考手冊《IQmath_Quickstart.pdf》 版本V1.6.0
寄存路徑:C: icontrolSUITElibsmathIQmathv160doc
1.TMS320F28035是TI公司推出的32位定點DSP芯片,其硬件本身不支持浮點數(shù)運算,在用C語言編程時用到的浮點運算是在軟件層面上完成的,并不是TMS320F28035具有浮點運算能力。用C語言編程在軟件上實現(xiàn)浮點數(shù)運算將增加代碼量和程序運行時間。IQmath是1種采取定點運算,但具有浮點數(shù)據(jù)處理特性的計算方法,并且IQmath還具有豐富的函數(shù)庫。
優(yōu)點就是處理速度快,代碼量低。缺點就是10進制浮點數(shù)轉(zhuǎn)化為2進制時可能會存在誤差。
4.IQ格式由整數(shù)部份(I),小數(shù)部份(Q)和1位符號位構(gòu)成。所以I+Q=31位。當Q值肯定后,所有參加運算的IQ數(shù)據(jù)精度是1致的,同時數(shù)據(jù)的動態(tài)范圍也被肯定了。具體的Q值對應的精度和數(shù)據(jù)范圍可以查表。
5.IQmath利用的簡單歸納:
1)Q值定標:根據(jù)要求的誤差和數(shù)據(jù)范圍,選擇1個Q值。
2)浮點數(shù)轉(zhuǎn)換為IQ數(shù)據(jù)格式。
3)將IQ數(shù)據(jù)轉(zhuǎn)換為浮點數(shù)。
6.IQmath.lib用于定點芯片。IQmath_f32.lib用于浮點芯片。
7.CMD文件配置的1些建議:
輸出段“IQmathTables”,含有的1些函數(shù)是已被燒錄到BOOTROM區(qū)域,所以必須被設置成“NOLOAD”類型,在 BOOTROM區(qū)域查表,而不需要載入其他區(qū)域。
輸出段“IQmathTablesRam”含有的函數(shù),需要時可以載入,某些芯片也將這些函數(shù)燒錄到BOOTROM區(qū)域,看直接查表。
8.工程中配置IQmath.lib庫文件
1).與加入c文件的方法類似,只要知道路徑并且添加便可
2).需要在c文件中包括 #include "IQmathLib.h"
3).配置.CMD文件。
9.IQmath使用須知
1. 在IQmathLib.h里,根據(jù)需要修改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)所有參與運算的數(shù)據(jù),必須轉(zhuǎn)化為Q格式,比如
#define PI 3.1415926535898
_iq input = _IQ(PI); //將PI轉(zhuǎn)化為Q格式
2)轉(zhuǎn)化為Q格式后,所有數(shù)據(jù)參與計算,必須使用IQ庫函數(shù)計算
3)實現(xiàn)Q格式轉(zhuǎn)換為浮點數(shù)
float _IQtoF( _iq A)
11.
下一篇 簡單四則運算計算器