當前位置:首頁 > 嵌入式 > 嵌入式硬件
[導讀]DSP結構可以分為定點和浮點型兩種。其中,定點型DSP可以實現整數、小數和特定的指數運算,它具有運算速度快、占用資源少、成本低等特點;靈活地使用定點型DSP進行浮點運算能夠提高運算的效率。目前對定點DSP結構支持下的浮點需求也在不斷增長,主要原因是:實現算法的代碼往往是采用C/C++編寫,如果其中有標準型的浮點數據處理,又必須采用定點DSP器件,那么就需要將浮點算法轉換成定點格式進行運算。同時,定點DSP結構下的浮點運算有很強的可行性,因為C語言和匯編語言分別具有可移植性強和運算效率高的特點,因此在定點D

引 言

DSP結構可以分為定點和浮點型兩種。其中,定點型DSP可以實現整數、小數和特定的指數運算,它具有運算速度快、占用資源少、成本低等特點;靈活地使用定點型DSP進行浮點運算能夠提高運算的效率。目前對定點DSP結構支持下的浮點需求也在不斷增長,主要原因是:實現算法的代碼往往是采用C/C++編寫,如果其中有標準型的浮點數據處理,又必須采用定點DSP器件,那么就需要將浮點算法轉換成定點格式進行運算。同時,定點DSP結構下的浮點運算有很強的可行性,因為C語言和匯編語言分別具有可移植性強和運算效率高的特點,因此在定點DSP中結合C語言和匯編語言的混合編程技術將大大提高編程的靈活度,以及運算速度。

大多數DSP的開發(fā)工具只是在C語言的基礎上支持標準的浮點運算,而定點DSP硬件一般都是面向定點的運算,不支持標準的浮點運算,缺乏硬件的支持極大地限制了浮點的應用,因而標準的浮點運算在實際定點DSP應用中并不多見。C5509是一款16位定點DSP。在本文中,對C5509輸入FTSK信號,用C語言和匯編語言混合編程的方式對輸入浮點型的FTSK信號進行相關運算,并輸出浮點運算結果。這種方法的特點是:在C語言中方便地進行數據格式轉化,在匯編語言中進行乘法和加法運算,既達到很高的運算精度,又極大地提高了運算效率。

1 定點DSP C語言開發(fā)環(huán)境中的浮點數據格式

在定點DSP中,整型數是用16位二進制格式來存儲的,但是DSP的C語言和匯編語言中定義的單精度浮點型數據都是標準C語言浮點表示格式。這種格式在C55X中,符合IEEE754標準。它定義了單精度32位和雙精度64位的格式。32位IEEE754單精度標準中,第一位是符號位,其后8位用來存放指數,最后23位用來存放小數尾數,如下:


在IEEE754單精度浮點標準中,明確包含了符號位,第32位用作符號位。尾數進行了歸一化,以產生一個1.f格式的數,f是小數部分,占用分配的23位。因為規(guī)格化的數最左一位總是1,所以不需要存儲該位,在該格式中它是隱式的。這樣一個n位的尾數實際上存放了一個n+l位數。為使尾數規(guī)格化,指數被適當增減,來跟蹤規(guī)格化所需的左右移位數以及小數點。

最常用的是用8位指數表示0~255,即O

其中:s是符號位,0為正數,1為負數;e是指數位,無符號8位;f是尾數的小數部分,23位。

例如:IEEE754格式下浮點正數00110001001111l000000001000000000的十進制表示為:


2 相關運算的實現

2.1 數據提取方式

在本軟件設計中,FTSK輸入數據的頻率包含800Hz,1200Hz、1600Hz、2020Hz,通過相關運算提取800Hz信號。具體參數是:FTSK輸入數據的采樣率為8000Hz。相關運算輸入數據:每次運算對輸入數據先提取l600個點,并分離出這些數據的最后40個點;然后對下一個輸入數據提取1600個點,并把剛才取的40個點加在這1600個點后面組成l640長度的數組,作為相關運算的輸入。這樣做的原因是,最大限度地消除每次提取的l600個點相鄰部分的影響,提高相關輸出的精準度。相關運算的輸入數據都為浮點型,而通過MATLAB仿真計算出來的系數也都為小于l的浮點數。通過在C語言中調用匯編語言,在定點C5509中實現此浮點運算,并輸出用800Hz相關運算提取出的波形。

2.2 C5509中實現浮點運算方法

此相關運算的輸人是浮點型數據,相關系數是小于1的單精度浮點型數。對于定點DSP,由于不能直接進行浮點數的乘法運算,因此必須對輸入數據進行類型轉換。首先,相關運算的輸入數據是FTSK浮點數據。在C語言中,單精度浮點數據是以IEEE754標準存儲的32位數據,而C5509中C語言調用匯編語言,是通過寄存器AR0從C語言傳遞給匯編語言的是數據指針,這個指針是指向16位數據的,所以相關的輸入32位浮點數要先轉化為16位整型數據。本文這樣實現:C程序中先把浮點數據乘以10后(提高運算精度),強制類型轉化為整型數據,然后把此16位數據的指針賦給調用匯編的入口參數,即通過寄存器AR0傳遞到匯編程序中。然后,在匯編程序中,相關的系數是小于l的小數;在DSP中,匯編語言直接定義的格式是將其轉換為16位二進制2的補碼表示形式(例如0.8用8×32 768/lO來表示)。從匯編程序入口進入的、經過強制類型轉換的整型數據也是以16位二進制形式存儲的,通過與16位的小數相乘得到的是32位數,存儲在累加器A中。其中,前16位是運算結果的整數部分,后16位是小數部分。由于從匯編語言程序返回C程序的參數是16位的,故取運算結果的高16位(此前已經把輸入數據乘以lO,最大限度地提高了運算精度,這里直接取高16位)。把這16位數據返回C程序,得到整型數據,再強制類型轉化為單精度浮點型數據,再除以10,即得到了最后相關運算的結果。經實際運算檢驗,通過這種方法在C5509里進行浮點運算,最終結果實現了很高的精度,而且通過調用匯編語言,極大地提高了運算的效率。

2.3 仿真

實際在用戶板上用TI公司提供的CCS Emulator調試程序,實現了硬件仿真;而對此DSP算法來說,也可用TI公司提供的軟件仿真器(Simulator)實現軟件仿真。

TI公司提供的軟件CCS中有一項強大的探測點功能。它是一個開發(fā)算法的工具,將計算機數據文件傳送到目標板或計算機的緩沖區(qū)中提供DSP軟件應用,而且可以通過CCS提供的圖形窗口觀察輸入/輸出數據波形。

本次算法設計中利用CCS的斷點和探測點進行數據的輸入,利用圖形窗口觀察輸入/輸出的波形。

2.4 實際運算的結果分析

從輸入波形可以看到,有4種不同的頻率,可以算出最低頻率是800 Hz,經過800 Hz相關運算得出的輸入波形與輸出波形對比如圖1所示。


在圖l中,可以看到輸入波形中頻率最低的波形。2個波峰時間差(即周期)是0.0054-0.00416=0.00124s,取倒數是806.45,所以此波形是800Hz部分;再看輸出波形,4個尖峰正好分別對應輸入4個800 Hz頻率分量。如果在后面再加上低通濾波器。就可以濾出更平滑的曲線,如圖2所示。


2.5 測試程序運行時間

CCS中提供了~種評價器(profiler)。它通過收集在指定代碼區(qū)間程序執(zhí)行的統計性能,確定程序中各段所花費的處理器時間,從而識別并消除性能發(fā)揮的瓶頸,縮短程序的執(zhí)行時間,使程序更有效;利用評價器分析可以確定執(zhí)行某個特殊的函數花費了多少個時鐘周期,以及對它調用的頻繁度等。

本設計中相關浮點運算通過C語言編程和C、匯編語言混合編程兩種方式的對比,用CCS提供的評價器可以測出,調用匯編語言的方式比純C語言編程方式,速度提高了51.2%。

結語

在定點DSP中進行浮點運算,要經過復雜的數據格式轉化,因此用定點DSP取代浮點DSP,在降低設備成本的情況下,必定會提高研發(fā)的成本。

如果直接把IEEE754標準的32位單精度浮點數據轉化為16位整型數,要經過相當復雜的過程,在滿足一定精度的前提下,可以使用本文的轉化方式。使用C語言和匯編語言混合編程的方法,達到了大大提高運算效率的目的,不失為很靈活的編程方法。

發(fā)布者:小宇

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯合牽頭組建的NVI技術創(chuàng)新聯盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現場 NVI技術創(chuàng)新聯...

關鍵字: VI 傳輸協議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉