亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        C54x系列DSP的快速雙精度平均算法實現(xiàn)

        2012-08-01 12:49:52吳友宇

        張 華,劉 偉,吳友宇

        (1.武漢理工大學信息工程學院,湖北 武漢 430070;2.中船重工710所,湖北 宜昌 443003)

        德州儀器(texas instruments,TI)公司生產(chǎn)的C54x系列數(shù)字信號處理器(digital signal processor,DSP)以低價高效的特點得到了電子工程師的喜愛。TI公司也為DSP配套了庫函數(shù)[1],方便開發(fā)人員的調(diào)用和移植,但庫函數(shù)作為通用代碼,對其運行效率考慮較少。為了提高程序運算效率,滿足實際中1/3OCT分析的實時要求,筆者設計和實現(xiàn)了一種采用C54x系列DSP快速雙精度求平均算法。

        1 DSP快速求平均的原理

        1.1 DSP對快速求平均的硬件支持及相關指令

        C54x系列DSP總線寬度為16位(單字),內(nèi)部有兩個40位的累加器,分別稱為A和B。兩個累加器都支持雙精度指令。C54x系列DSP累加器A和B框圖[2]如圖1所示。

        圖1 DSP累加器A和B框圖

        16位DSP累加器裝載的臨時數(shù)據(jù)如果數(shù)值大于0xFFFFFFFF,就會產(chǎn)生溢出錯誤;而16位DSP存儲器裝載的數(shù)據(jù)如果數(shù)值大于0xFFFF,就會產(chǎn)生溢出錯誤[3]。

        以往基于DSP處理器SUBC指令的多字除法算法大多采用若干單字除法組合的方法[4],操作比較繁雜,沒有利用SUBC指令支持雙精度除法的功能。筆者分兩步來實現(xiàn)快速求平均運算:先用累加器保存源數(shù)據(jù)的累加結果,以作為被除數(shù),再將累加次數(shù)作為除數(shù),進行快速雙精度除法。該方法在源數(shù)據(jù)數(shù)值不超過雙字、累加次數(shù)不溢出超過單字且累加和不超過3個字時有效。如果不能同時滿足以上3個條件,則要采用多個數(shù)據(jù)存儲區(qū)暫存累加結果,或?qū)⒃磾?shù)據(jù)分別乘以被除數(shù)的倒數(shù)[5]再進行累加。

        1.2 雙精度累加運算原理

        設有雙字數(shù)據(jù)源 S1,S2,…,Sy(y < 65 536),每個數(shù)據(jù)分成高字和低字,即S1=S1H×0x10000+S1L,S2=S2H × 0x10000+S2L,…,Sy=SyH ×0x10000+SyL。雙精度累加運算時,累加器A裝載S1L,S2L,…,SyL的累加結果,累加器 B裝載S1H,S2H,…,SyH的累加結果。然后將AH與累加器B累加的結果再裝載進累加器B。最后得到的雙字數(shù)據(jù)源累加結果,如式(1)所示。

        式(1)中X數(shù)據(jù)的寬度為3個字。

        1.3 雙精度除法運算原理

        以上介紹了累加結果X的計算方法,在雙精度除法中,X為被除數(shù),累加次數(shù)Y為除數(shù),并且2≤Y<65 536,Z為商。由于求的是平均運算,因此,商不會超過數(shù)據(jù)源的最大值。

        借鑒將雙字被除數(shù)拆解成高字和低字,再分別與除數(shù)運算的思想[6-7],先將 X 拆解成高字XH、中字XM和低字XL,如式(2)所示。

        由式(2)可推出三字除法,如式(3)所示。

        對比式(1)與式(2)可知,累加器B的高字BH已經(jīng)裝載了XH,低字BL已經(jīng)裝載了XM。因為能保證不會溢出,可以直接讓B除以Y。程序代碼如下:

        RPT #15

        SUBC @tempB,B ;B為被除數(shù),@tempB為除數(shù)。

        利用SUBC指令進行快速除法的原理已有介紹[8-9],在此不再敘述。

        將式(4)代入式(3),得到式(5)。

        對比式(1)與式(2)可知,累加器A的低字AL已經(jīng)保存了XL,現(xiàn)在將VH裝載進累加器A的高字AH中。因為能保證

        式(6)中,WH×0x10000相當于將WH左移16位。實際操作中是將WH裝載到Z的高字ZH,而將WL項的結果裝載到ZL。

        由式(1)到式(6)的推導可以看出,高字除法產(chǎn)生的余數(shù),參與了低字除法,最后的總誤差來自余數(shù)VL,是定點運算不可避免的,計算誤差降到不會溢出,可以直接讓A除以Y,得到的商WL自動保存在AL,余數(shù)VL自動保存在AH。最后得到的求平均算法如式(6)所示。了最低。

        2 平均算法程序流程圖及關鍵代碼

        根據(jù)上述雙精度除法運算原理,采用DSP快速求平均算法的程序流程如圖2所示。

        圖2 求平均算法程序流程圖

        關鍵代碼如下:

        3 算法測試

        3.1 算法誤差測試

        雙精度除法運算原理在C54x系列DSP編譯平臺CCS(code composer studio)仿真模式下進行代碼驗證。為了方便誤差測試,作如下設置:源數(shù)據(jù) Xi(i=1,2,…,且 i<65 536)放在 FFT_G_k 起始的存儲單元中。設置程序循環(huán)運行1 024次,以t∈(1,2,…,1 024)來標記循環(huán)中的某一次。累加數(shù)從相對起始地址St開始按遞增順序從Xi中提取,并且St數(shù)值依次存放在fm_K起始的奇數(shù)存儲單元中。每次求平均運算的累加次數(shù)Yt依次放在fm_K起始的偶數(shù)存儲單元中。將每次運算的平均結果Zt按遞增順序保存在_oct_data1起始的存儲單元中。如果代碼運算正確,Zt、Yt與Xi應滿足式(7)。

        式(7)不能產(chǎn)生直觀的驗證結果,為此進一步將Xi、St及 Yt作簡化設置,如式(8) ~式(10)所示。

        由式(7)~式(10)聯(lián)合得到簡化后的驗證表達式,如式(11)所示。

        在CCS中以圖形界面顯示_oct_data1起始的存儲單元,以1步進,并作一些簡化設置,如圖3所示。

        圖3 CCS對求平均算法測試結果的圖形顯示

        為了直觀顯示,圖3(a)縱坐標顯示的Z't為Zt除以0x40的結果,圖3(b)縱坐標顯示的Z't為Zt除以0x200000的結果;又因為CCS圖形界面的X軸以0起始,設置t'=t-1。如果算法正確,代碼運行結束后圖3中縱坐標Z't與橫坐標t'應滿足式(12)。

        通過分析圖3可知,波形函數(shù)滿足式(12),由此推出求該代碼對1~1 024之間的數(shù)據(jù)量求平均,其誤差幾乎為0。

        3.2 代碼效率測試

        運行該代碼所需的時鐘數(shù),可通過CCS配套的View Clock工具進行測試,最后得到循環(huán)次數(shù)與執(zhí)行時鐘的關系如表1所示。

        表1 快速求平均算法代碼循環(huán)次數(shù)與執(zhí)行時鐘的關系

        CCS中采用C語言進行求平均運算,得到相應的循環(huán)次數(shù)與執(zhí)行時鐘關系如表2所示。

        表2 C語言求平均運算循環(huán)次數(shù)與執(zhí)行時鐘的關系

        從表1和表2可知,運行一次的平均時鐘等于循環(huán)結束的運行總時鐘除以循環(huán)次數(shù)。循環(huán)次數(shù)不同,運行一次的平均時鐘也不同。因為在求平均運算所費時鐘數(shù)一定的情況下,循環(huán)次數(shù)越少,執(zhí)行累加運算的時鐘越少[10-11]。通過手工計算可以粗略得知,快速求平均算法執(zhí)行一次的平均時鐘是421,C語言求平均運算執(zhí)行一次的平均時鐘是12 516,兩者相差約30倍。由此可見快速求平均算法為系統(tǒng)實時運行提供了保障。

        4 結論

        通過對快速求平均算法的測試,表明了其正確性和實時性,為實時處理系統(tǒng)做了可靠的鋪墊。所研究內(nèi)容已移植于某項目的1/3OCT分析中。

        [1] Texas Instruments Incorporated.Optimized DSP library for C programmers[DB/OL].[2011 - 10 - 18].http//www.Texas Instruments Incorporated.

        [2] 戴明楨,周建江.TMS320C54x DSP結構、原理及應用[M].北京:北京航空航天大學出版社,2007:28-29.

        [3] 張家田,劉新英,嚴正國.DSP的定點溢出處理技術[J].中國科技信息雜志,2008(24):83 -85.

        [4] 張文英,史小軍,張端金.TMS320C2XX型數(shù)字信號處理器多字除法的實現(xiàn)[J].鄭州大學學報:自然科學版,2001(6):68-71.

        [5] NENADIC N M,MLADENOVIC S B.Fast division on fixed-point DSP processors using Newton-raphson method[C]//EUROCON 2005 The International Conference on“Computer as a Tool”.Belgrade:Serbia and Montenegro,2005:705 -708.

        [6] 趙慧,張淼,馮垛生.TMS320C2XX(DSP)中無符號多字除法程序的實現(xiàn)[J].河南科學,2005,23(1):124-126.

        [7] AGGARWAL N,ASOOJA K,VERMA S S,et al.An improvement in the restoring division algorithm[C]//International Conference on Computer Science and Information Technology.Beijing:[s.n.],2009:146 -149.

        [8] 鄒彥,唐冬,寧志剛,等.DSP原理及應用[M].北京:電子工業(yè)出版社,2006:153-154.

        [9] 丁電寬,萬毅.除法運算在定點DSP中的實現(xiàn)[J].安陽師范學院學報,2006(2):29-31.

        [10] 陳雪梅,韓潔瓊.C語言可視化編程環(huán)境的設計與實現(xiàn)[J].武漢理工大學學報:信息與管理工程版,2010,32(4):561 -564.

        [11] MULLER J M,TISSERAND A,DINECHIN D,et al.Division by constant for the ST100 DSP microprocessor[C]//17th IEEE Symposium on Computer Arithmetic.USA:Cape Cod Massachusetts,2005:124 –130.

        久久久久久久一线毛片| 久久www免费人成精品| 人妻精品动漫h无码网站| 亞洲綜合一區二區三區無碼| 看全色黄大黄大色免费久久| 国模91九色精品二三四| 热久久国产欧美一区二区精品| 韩国三级中文字幕hd久久精品| 久久aⅴ无码av高潮AV喷| 全部亚洲国产一区二区| 综合色就爱涩涩涩综合婷婷| 欧美成人一区二区三区在线观看| 久久国产精品超级碰碰热| 久久久亚洲av午夜精品| 精品久久久久久久久午夜福利| 欧美国产日韩a在线视频| 久久久久久人妻一区精品| 日韩中文字幕不卡在线| 亚洲愉拍99热成人精品热久久| 日产精品久久久久久久| av毛片一区二区少妇颜射| 精品国内日本一区二区| 欧美精品v国产精品v日韩精品| 中文人成影院| 亚洲av中文字字幕乱码软件| 婷婷五月深深久久精品| 亚洲一区av无码少妇电影| 少妇特殊按摩高潮惨叫无码| 亚洲一区第二区三区四区| 天堂√在线中文官网在线| av一区无码不卡毛片| 亚洲中文字幕一区高清在线| 日本一区二区三区爆乳| 无码一区二区三区老色鬼| 免费人成视频网站在线观看不卡| 人妻少妇久久中中文字幕| 国产精品福利自产拍在线观看| 天天插视频| 亚洲一区二区综合精品| 玩弄丰满奶水的女邻居| 国品精品一区二区在线观看|