《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于IQmath庫的定點DSP算法設計
基于IQmath庫的定點DSP算法設計
現代電子技術
彭志明,李 琳 華南理工大學
摘要: 基于IQmath庫的定點DSP算法設計,基于IQmath庫的定點DSP算法設計彭志明,李琳(華南理工大學工業機器人研究室,廣州510640)摘要:基于TI公司提供的IQmath庫實現在定點DSP芯片TMS320F28xx上進行精確的浮點運算,方便開發人員采用C/C++編寫浮點
Abstract:
Key words :

摘要:基于TI公司提供的IQmath庫實現在定點DSP芯片TMS320F28xx上進行精確的浮點運算,方便開發人員采用C/C++編寫浮點運算程序,可以節省設計和調試時間。IQmath庫主要應用于高速度和高精度的實時計算,與直接采用ANSI C語言相比效率更高,這對設計實時性要求很高的控制系統尤其重要。
關鍵詞:IQmath庫;TMS320F28xx;浮點運算;實時性

引言
    DSP數字信號處理器分為定點和浮點兩種基本類型,它們之間最大差異在于浮點DSP比定點DSP具有更強大的計算能力和更大范圍的動態精度。浮點DSP內部設有專門支持浮點運算的硬件單元,對浮點格式的數據可以直接通過代碼加入硬件運算中,因此運算速度很高。而定點DSP沒有定點運算單元,它對浮點格式的實數必須通過軟件才能實現,這樣就增加了指令代碼,間接地使得定點DSP運算速度低于浮點DSP,典型的浮點處理器,如TI公司的C6000系列,幾乎所有的嵌入式微控制器都為定點處理器,如TI公司的C2000系列。因為浮點DSP的價格更加昂貴,因此定點DSP仍然有其巨大的優勢。但是任何算法都需要進行浮點運算,因此如何提高在定點DSP上進行的浮點運算的速度和精度,就成為了用戶開發時必須要考慮的關鍵問題。TI公司專門為定點處理器TMS320C2000系列提供的IQmath庫為解決上述問題提供了良好的實現方法。

1 數的定標:Q格式
    定點DSP不能直接處理小數,編程時處理小數有3種方法:
    ①把變量定義成float類型。該方法編程量最小,但編譯出來的代碼最大。
    ②把整數變量放大來表示小數。這是許多開發定點DSP的程序員經常使用的方法,但程序不具有可移植性。
    ③采用整數定標的方法來確定小數,即采用Q格式來表示小數。對于定點處理器而言,不管定義哪種類型的數據最終都采用整型數據進行具體的運算。
    整數定標的實質就是通過確定小數點位于哪一位,從而確定小數的精度,通常用Q格式表示。一個32位有符號定點數的Q格式如下:
    a.JPG
    其中,S是符號位,I是整數部分,f是小數部分。定點數的大小按下式計算:
    b.JPG
    比如Q15定點數的小數點位于第15位的右側,小數0.25用Q15表示則為2000H。這樣很簡單地用一個整數格式表示了一個小數,對于定點DSP來說處理小數就與處理整數完全相同了。需要注意的是,采用Q格式數據進行算法設計的時候必須考慮溢出,各種Q格式數據表示的范圍和精度參考文獻。

2 TMS320F2812定點DSP處理器
    作為TI公司C2000系列DSP典型產品,定點處理器TMS320F2812具有很高的性價比,廣泛應用于工業控制,特別是應用于處理速度、處理精度方面要求較高的領域。TMS320F2812整合了Flash存儲器、A/D轉換器、事件管理器、QEP以及多種通信模塊,具有強大的控制和信號處理能力,便于用戶開發高性能的數字控制系統。特別是TI公司為C28xx內核專門設計的IQmath庫能夠實現在定點DSP處理器上進行精確的浮點運算和復雜的控制算法。

3 IQmath庫及其應用
    IQmath庫是高度優化和具有高精度的數學函數庫集合。IQmath庫里面包含的函數都是采用Q格式定點數作為輸入/輸出,允許程序設計人員在定點TMS320F281xx處理器上進行浮點算法設計,從而提高運算速度。
3.1 IQmath庫組成
    IQmath庫可以在c/C++程序設計中使用,它包含4個部分:
    ◆IQmath頭文件IQmathLib.h
    ◆包含所有函數和數值表的目標文件IQmath.lib
    ◆命令連接文件IQmath.cmd
    ◆調試用的GEL文件IQmath.gel
3.2 IQmath庫函數
    IQmath庫中主要包括以下函數(用戶在程序設計開發時可以直接調用):
    ◆格式轉換函數IQ()、IQN()、IQtoF()、IQtoIQN()等
    ◆算術運算函數IQmpy()、IQdiv()等
    ◆三角運算函數IQsin()、IQcos()、IQatan2()等
    IQmath庫中的各個函數及其含義參考文獻。
3.3 IQmath庫函數應用
    下面說明如何在一個C程序中使用IQmath庫。首先要安裝IQmath庫,可以從TI公司的網站http://WWW.dspvillage.ti.com免費下載得到。然后新建一個工程,將IQmath.lib,IQmath.cmd添加到工程。同時,還要把IQmath.gel添加到工程中,因為IQ變量的變換和調整都是通過GEL函數來實現的。按以上步驟設置完以后,就可以在C語言程序中利用IQmath庫里面的函數了。需要注意的是,IQmath.cmd必須包含以下內容:
c.JPG
d.JPG

4 PARK變換浮點算法的定點數實現
    在現代交流電機控制領域,空間矢量控制法(SVPWM)使得交流電機的控制策略能像直流電機的控制策略一樣,可以實現轉矩電流和磁通的單獨控制,因此成為主流的交流伺服驅動控制策略。利用DSP強大的計算能力和信號處理能力,SVPWM的電流和磁通控制均可以采用軟件實現。TMS320F2812處理器專門為電機控制設有兩個事件管理器(EVA/EVB)和編碼器電路(QEP),因此成為運動控制的最佳選擇之一。圖1是采用
TMS320F2812實現SVPWM控制算法的系統結構框圖。

e.JPG

    從圖1可以看出,PARK變換是SVPWM控制算法中最為復雜的變換之一,是一個旋轉矢量is從靜止二相坐標系(α-β)變換到同步旋轉的二相坐標系(d-q)。PARK變換坐標映射如圖2所示。

f.JPG


    由圖2可以得到PARK變換的方程式:
    g.JPG
    因為PARK變換是一個浮點算法,如果在定點處理器TMS320F2812上采用浮點運算來實現,代價很高。采用浮點類型進行編程將產生十分龐大的代碼,而且在循環計算中勢必影響系統的效率和性能。采用IQmath庫可以將浮點算法轉換為定點數算法,這樣運算速度可以明顯提高,這對實時性要求很好的運動控制系統的設計十分有效。利用IQmath庫實現PARK變換的程序段如下:
h.JPG
    圖3是利用Embedded Target for TI C2000 DSP集成開發工具對IQmath庫編寫的SVPWM程序計算PWM占空比的波形圖。

5-1.JPG



5 結論
    利用IQmath庫可以在32位定點處理器TMS320F2812上實現浮點算法與定點算法之間的無縫連接,能夠極大地增強定點DSP的運算能力;在不犧牲時間周期的情況下可以實現高精度計算,能夠快速地完成對浮點算法的轉換、植入和執行;還可以根據應用系統不同要求相應地調整運算精度,與直接采用ANSI C語言相比效率更高。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
精品成人国产| 香蕉尹人综合在线观看| 国产亚洲欧美另类一区二区三区| 欧美色欧美亚洲高清在线视频| 欧美刺激性大交免费视频| 久久久精品免费视频| 久久精品国产精品亚洲精品| 欧美伊人久久大香线蕉综合69| 亚洲欧美色婷婷| 午夜精品福利一区二区蜜股av| 亚洲欧美国产高清va在线播| 亚洲在线观看免费视频| 亚洲天堂网站在线观看视频| 亚洲色图自拍| 亚洲伊人久久综合| 先锋影音网一区二区| 欧美一区二区三区在线看| 久久国内精品视频| 久久久久亚洲综合| 免费亚洲网站| 欧美区高清在线| 国产精品wwwwww| 国产欧美日韩免费| 国语自产精品视频在线看一大j8 | 亚洲视频综合在线| 亚洲一级二级在线| 校园春色国产精品| 久久久噜久噜久久综合| 久久综合久久综合久久综合| 欧美第一黄色网| 欧美精品一级| 国产精品久久久久婷婷| 国产日本欧美在线观看| 影音先锋中文字幕一区| 亚洲精品看片| 亚洲深夜激情| 久久黄色网页| 一本大道久久a久久综合婷婷| 亚洲免费在线精品一区| 久久精品一本| 欧美激情一区二区三区不卡| 欧美午夜一区| 狠狠综合久久| 亚洲久久一区| 午夜激情一区| 亚洲每日更新| 新片速递亚洲合集欧美合集| 麻豆9191精品国产| 欧美日韩在线免费视频| 国产亚洲成精品久久| 亚洲国产精品成人久久综合一区| 一区二区精品| 久久成人免费日本黄色| 9i看片成人免费高清| 欧美一区精品| 欧美国产第一页| 国产精品免费区二区三区观看| 国内外成人免费视频| 一本高清dvd不卡在线观看| 欧美一二三区精品| 夜夜嗨av色综合久久久综合网| 欧美一区在线视频| 欧美另类视频| 国产一区二区欧美日韩| 9人人澡人人爽人人精品| 欧美一区二区高清| 日韩亚洲国产欧美| 久久精品视频网| 欧美三级视频在线观看| 好吊一区二区三区| 中文亚洲字幕| 亚洲精品免费网站| 久久精品理论片| 欧美日韩亚洲精品内裤| 激情av一区| 亚洲欧美日韩一区二区三区在线观看 | 另类激情亚洲| 国产精品一区一区| 亚洲精品综合精品自拍| 久久精品人人做人人爽电影蜜月| 亚洲一区二区三区色| 欧美成人午夜| 国产一区二区高清视频| 在线一区二区三区四区| 亚洲精品免费电影| 久久网站免费| 国产日本精品| 亚洲色图自拍| 一区二区三区产品免费精品久久75| 久久综合九色综合久99| 国产精品美女久久福利网站| 亚洲日韩欧美视频一区| 亚洲欧洲日韩女同| 久久露脸国产精品| 国产视频一区在线观看| 亚洲视频在线播放| 亚洲无限av看| 欧美日韩国产精品成人| 亚洲国产经典视频| 亚洲国产日韩一区二区| 久久青草福利网站| 国产真实久久| 午夜国产欧美理论在线播放| 午夜精品久久久久久久白皮肤| 欧美日韩播放| 亚洲国产一区在线| 91久久精品一区二区别| 久久一区免费| 激情综合久久| 亚洲高清二区| 久久综合亚州| 伊人成综合网伊人222| 亚洲第一页中文字幕| 久久视频这里只有精品| 狠狠久久亚洲欧美| 亚洲高清视频中文字幕| 久久久一区二区三区| 国语自产偷拍精品视频偷| 久久se精品一区精品二区| 久久精品五月| 黄色成人小视频| 亚洲高清中文字幕| 农村妇女精品| 亚洲人屁股眼子交8| 一区二区三区三区在线| 欧美日韩1区2区| 一区二区日韩免费看| 亚洲欧美激情精品一区二区| 国产精品视频不卡| 香蕉久久a毛片| 久久久综合精品| 1769国产精品| 一区二区成人精品| 国产精品青草综合久久久久99| 亚洲夜晚福利在线观看| 欧美在线二区| 国内揄拍国内精品久久| 亚洲日本欧美| 欧美日韩国产小视频| 亚洲香蕉网站| 久久久精品一区| 亚洲国产精品嫩草影院| 一二三区精品福利视频| 国产精品久久久一本精品| 欧美一区二区三区精品| 女生裸体视频一区二区三区| 日韩视频一区二区三区在线播放| 亚洲一区三区视频在线观看| 国产麻豆精品theporn| 亚洲电影网站| 欧美日韩精品免费观看| 亚洲欧美另类在线观看| 久久综合狠狠| 日韩午夜av| 欧美有码在线视频| 亚洲国产激情| 亚洲欧美在线高清| 黄色国产精品| 在线午夜精品自拍| 国产日产欧美a一级在线| 亚洲精品欧洲| 国产精品午夜久久| 亚洲国产高清一区| 欧美午夜在线视频| 久久国产精品久久w女人spa| 欧美韩日一区二区三区| 亚洲资源在线观看| 欧美国产激情二区三区| 在线视频精品一| 久久综合一区二区三区| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲视频在线免费观看| 国内精品久久久久国产盗摄免费观看完整版| 亚洲国产成人精品久久久国产成人一区| 欧美日本高清一区| 欧美中文在线观看国产| 欧美日韩一区二区在线观看视频| 欧美一区二区大片| 欧美日韩亚洲国产一区| 久久精品女人天堂| 国产精品久久久久久久久| 亚洲国产第一| 国产精品一区二区久久国产| 亚洲人午夜精品| 国产欧美一区二区精品秋霞影院 | 欧美日韩国产免费| 久久精品国产亚洲aⅴ| 欧美视频你懂的| 亚洲经典在线看| 国产欧美日韩一级| 亚洲一级片在线观看| 在线欧美日韩精品| 欧美一区国产二区| 99国产精品国产精品久久| 美女脱光内衣内裤视频久久影院 | 欧美日韩你懂的| 亚洲欧洲一区二区在线观看| 国产欧美激情| 亚洲一区二区三区精品在线 | 性欧美xxxx视频在线观看|