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

        ?

        Visual Basic處理浮點DSP芯片數(shù)據(jù)的方法

        2010-02-06 02:52:08雷文英
        石油管材與儀器 2010年4期
        關鍵詞:浮點數(shù)浮點字節(jié)

        雷文英 劉 娜 張 龍

        (1.西安石油大學光電油氣測井與檢測教育部重點實驗室 陜西西安)

        (2.西安電子科技大學通信工程學院 陜西西安) (3.中國石油集團測井有限公司長慶事業(yè)部 陜西高陵)

        Visual Basic處理浮點DSP芯片數(shù)據(jù)的方法

        雷文英1劉 娜2張 龍3

        (1.西安石油大學光電油氣測井與檢測教育部重點實驗室 陜西西安)

        (2.西安電子科技大學通信工程學院 陜西西安) (3.中國石油集團測井有限公司長慶事業(yè)部 陜西高陵)

        文章針對各DSP芯片中浮點數(shù)的特點,對計算機軟件處理浮點DSP的數(shù)據(jù)的方法進行了分析并設計出相應的處理算法,最后在Visual Basic環(huán)境下對各自的算法描述進行了算法實現(xiàn)。實踐表明,該算法處理結果誤差小,穩(wěn)定可靠,具有可移植性且能滿足系統(tǒng)的實時性要求。

        浮點數(shù);DSP芯片;Visual Basic;數(shù)據(jù)處理

        0 引 言

        浮點DSP芯片數(shù)據(jù)的表示范圍大,運算精度高,能夠滿足寬量程、高精度計算的要求[1],但一般情況下DSP芯片中數(shù)據(jù)是用16進制存儲的,不能直觀地得到具體的10進制浮點數(shù)值,而且數(shù)據(jù)處理方面浮點DSP的浮點數(shù)的處理比定點數(shù)復雜。本文針對浮點DSP芯片數(shù)據(jù)的處理問題,以單精度浮點數(shù)為例,論述了TI公司浮點DSP芯片中常用的IEEE754格式浮點數(shù)和TMS320C3x格式浮點數(shù)在Visual Basic中的處理算法,最后在TMS320VC33DSP芯片數(shù)據(jù)處理上的實際問題中對該算法進行了驗證,并將成果應用于油氣井井下壓力測試地面系統(tǒng)中。

        1 浮點DSP的數(shù)據(jù)存儲格式

        TI公司的浮點系列DSP芯片中用到了以下兩種浮點數(shù)的存儲格式:IEEE754格式和TMS320C3x格式[1]。比如在TMS320C67x系列中采用的是IEEE754格式的浮點數(shù),而在TMS320C3x系列芯片中采用的則是TI公司定制的TMS320C3x格式的浮點數(shù)。以上兩種浮點數(shù)的數(shù)值表示范圍是一樣的,區(qū)別在于TMS320C3x格式的浮點數(shù)的指數(shù)和尾數(shù)是以補碼形式表示。下面分別對這兩種浮點數(shù)進行討論。

        1.1 IEEE754單精度浮點數(shù)

        IEEE754單精度浮點格式分為3部分:1位符號[31]、8位指數(shù)[30-23]和23位小數(shù)[22-00]。該格式具體表示的浮點數(shù)大小如下式所示[2]:

        f=(-1)sign×2exponent-127×(1+fraction) (1)

        從式(1)可以看出,該浮點數(shù)的計算過程中沒有出現(xiàn)補碼,很方便和簡練。例如π的IEEE754格式浮點數(shù)內存中表示為0x40490FDA,如圖1所示。

        圖1 π的IEEE754單精度浮點數(shù)的內存表示

        從圖1可知,sign=0,exponent=128,fraction= 0.10010010000111111011010b,根據(jù)式(1)計算其代表的浮點數(shù)。

        1.2 TMS320C3x格式的浮點數(shù)

        和IEEE754標準浮點數(shù)不同,TMS320C3x格式的浮點數(shù)由如下3部分組成:符號位s,指數(shù)e和小數(shù)f。TMS320C3x單精度浮點的各個部分在內存中的分布見圖2。一般將符號位和小數(shù)部分合起來稱為尾數(shù),應該注意這里指數(shù)和尾數(shù)都是用補碼的形式表示。

        圖2 TMS320C3x格式單精度浮點數(shù)的存儲格式

        TMS320C3x格式的浮點數(shù)代表的具體浮點數(shù)值為[3]

        因為當s=0時表示 x為正數(shù),(-2)0=1;當 s= 1時表示 x為負數(shù),(-2)1=2,注意到 x=(0.f)×2e中的10恰是-2的2位二進制數(shù)的補碼。如在TMS320C3x格式下 0x40490FDA表示的浮點數(shù)為2.897608e+19。

        2 Visual Basic浮點數(shù)處理算法分析

        本文所采用的算法是一種通用算法,這里用Visual Basic語言對該算法進行具體的編程實現(xiàn)。我們可以根據(jù)以上介紹的兩種不同的單精度浮點數(shù)在內存中的表示方式,選擇相應的處理方案編寫一個數(shù)據(jù)轉換函數(shù),實際需要處理數(shù)據(jù)時只需要對該函數(shù)通過反復的調用就可以對需要處理的數(shù)據(jù)按4個字節(jié)的16進制數(shù)表示的浮點數(shù)轉換為實際需要的10進制表示的浮點數(shù)值。若要處理不同的浮點DSP數(shù)據(jù)只需根據(jù)具體需要選擇調用響應的處理函數(shù)即可。具體的處理IEEE754單精度浮點數(shù)算法程序流程圖如圖3所示。

        圖3 IEEE754單精度浮點數(shù)和TMS320C3x格式單精度浮點數(shù)處理流程圖

        2.1 IEEE754格式的浮點數(shù)的處理

        IEEE754格式的浮點數(shù)在現(xiàn)在的計算機軟件和硬件芯片中有著廣泛的應用。像PC機中的VB、VC++和MATLAB語言中的浮點數(shù)都采用該標準;Intel處理器,Analog公司和TI公司的浮點DSP芯片的大部分產(chǎn)品也采用該標準。

        目前計算機內部的浮點數(shù)采用IEEE754格式進行存儲,一般程序從內存中讀取浮點數(shù)時操作系統(tǒng)已經(jīng)將16進制數(shù)轉換為浮點數(shù)值。處理IEEE754格式的浮點數(shù)可以結合此特點方便地得到處理結果:第一步,將4個字節(jié)的16進制數(shù)放到一個浮點數(shù)變量floatVal的內存存儲空間中;第二步,讀取該浮點數(shù)floatVal的數(shù)值就是處理后的結果。在Visual Basic中具體處理方法如下:首先將16進制的待處理的32位IEEE754格式的單精度浮點數(shù)分成4個字節(jié)放在Visual Basic語言中的Byte類型的數(shù)組中,然后定義一個Single類型的變量用于儲存處理結果(Visual Basic中單精度浮點數(shù)在內存中占4個字節(jié)),最后調用Visual Basic API[4]提供的內存拷貝函數(shù)CopyMemory將存放IEEE754數(shù)據(jù)的4個字節(jié)的Byte類型的數(shù)組在內存中的內容原封不動地拷貝到Single類型變量對應的內存中,此時該Single類型的變量值即是轉換的結果。這種處理方法的優(yōu)點是避開了IEEE754格式浮點數(shù)的具體細節(jié),直接利用內存拷貝機制方便地得到結果。利用此原理也可方便地將 16進制形式表示的IEEE754格式的雙精度浮點數(shù)轉換為相應的10進制形式的浮點數(shù)值,差別僅僅在于內存拷貝的字節(jié)大小應該是8個字節(jié)的長度。值得一提的是,由于計算機API接口的通用性,該浮點數(shù)的處理方法也可以方便地移植到Visual C++、Delphi或其他計算機語言的DSP浮點數(shù)處理的應用中,比如Visual C++中實現(xiàn)是采用的內存拷貝的函數(shù)為memcpy,同時應注意用Visual C++中的Char類型代替Visual Basic中的Byte類型。

        2.2 TMS320C3x格式的浮點數(shù)的處理

        由于計算機內部采用的浮點數(shù)存儲格式采用的是IEEE754標準,故計算機處理TMS320C3x格式的浮點數(shù)時就沒有處理IEEE754格式的浮點數(shù)方便,需要按照上面介紹的浮點數(shù)組成原理進行按尾數(shù)和指數(shù)拆分并對其進行相應的處理,然后將兩部分結合在一起得到最終的結果。以 TMS320VC3x格式浮點數(shù)0x40490FDA計算機處理運算為例介紹具體的運算過程。

        1)按位運算提取分數(shù)和指數(shù)部分

        TMS320C3x浮點數(shù)0x40490FDA轉換為32位二進制數(shù)記做

        按照圖2的TMS320C3x浮點數(shù)存儲格式,將變量TMS320按位拆分成分數(shù)和指數(shù)部分的處理:

        比如TMS320=0×40490FDA經(jīng)過上述運算后指數(shù)部分expoResultl=0×40=64,分數(shù)部分為fractResult= 0x490FDA ×2-23= 4788186 ×2-23= 0.57079625129699707。

        2)將分數(shù)部分和指數(shù)部分組合成十進制數(shù)

        這一步將分離好的16進制的分數(shù)部分和指數(shù)部分按照式(5)轉換成10進制數(shù)就可得到最終的處理結果。

        以下舉一個例子說明上述過程的具體處理步驟,求TMS320=0x40490FDA代表的浮點數(shù)的處理過程為floatResult={(-2)0+0.57079625129699707}×264= 2.897608e19。

        3 浮點DSP數(shù)據(jù)處理的實例

        為了解決實際工程中浮點DSP數(shù)據(jù)處理的問題,另外為了檢驗以上浮點DSP數(shù)據(jù)處理算法的正確性和魯棒性,工作中采用 VisualBasic語言對TMS320VC33型號的DSP芯片的數(shù)據(jù)做了處理。結合一個油氣井壓力采集的工程應用的項目,采用以上描述的TMS320C3x系列芯片浮點數(shù)的處理算法思想對Visual Basic中對下位機上傳到PC機上的10000條16進制格式的TMS320C3x單精度浮點進行處理,將DSP數(shù)據(jù)處理后的10進制結果繪制成曲線,如圖4所示。列表框中的最右邊一欄數(shù)據(jù)是采用浮點DSP數(shù)據(jù)處理算法處理后的傳感器測量井下壓力的浮點數(shù)結果,圖像中橫坐標是時間,縱坐標是壓力值。從該軟件對單精度浮點數(shù)的處理的結果和實際油氣井下的壓力分布來看,采用Visual Basic對DSP的浮點數(shù)進行處理結果準確,程序運行穩(wěn)定,能夠滿足浮點DSP數(shù)據(jù)處理和實時性方面的要求。

        圖4 Visual Basic處理單精度浮點數(shù)算法在壓力采集系統(tǒng)中的應用

        4 結束語

        目前,本文提出的Visual Basic處理浮點DSP數(shù)據(jù)的方法已經(jīng)進行過驗證并且以該方法為核心的數(shù)據(jù)處理系統(tǒng)已經(jīng)成功應用于油井壓力測試系統(tǒng)中。本文可以得到的結論主要有:第一,應用Visual Basic計算機軟件編程取代復雜的硬件處理電路對浮點DSP芯片數(shù)據(jù)處理,具有較高的可靠性,易于整個系統(tǒng)的維護和測試。第二,該方法處理的數(shù)據(jù)完全能滿足系統(tǒng)的精度要求,誤差不超過1e-6數(shù)量級。第三,本方法處理速度快,實際中轉換一組數(shù)據(jù)僅需大約0.1ms,能保證系統(tǒng)實時性的要求。實踐證明,采用本文介紹的浮點數(shù)處理方法可以成功地解決浮點DSP測量數(shù)據(jù)的上位機處理問題。

        [1] 張雄偉,陳 亮,徐光輝.DSP芯片的原理與開發(fā)應用(第3版)[M].北京:電子工業(yè)出版社,2003

        [2] http://en.wikipedia.org/wiki/IEEE_754-1985

        [3] 黨 瑞,謝 雁,李利品.TMS320C3x DSP原理與應用[M].西安:陜西科技大學出版社,2006

        [4] http://msdn.microsoft.com/

        Lei Wenying,Liu Na and Zhang Long.A float point data processing method for DSP chips by employing Visual Basic.PI,2010,24(4):67~68

        This paper introduces a method of processing float point data through software programming by using Visual Basic, in which two algorithms dealing with two commonly used single precision float numbers of DSP chips are developed.As a result of applying Visual Basic program to implement these algorithms,stability and high-accuracy data handing performance is achieved in practical application.

        float numbers;DSP chips;Visual Basic;data processing

        TP311

        B

        1004-9134(2010)04-0069-03

        雷文英,男,1985年生,現(xiàn)為西安石油大學在讀研究生,主要從事信號與信息處理方面的研究工作。郵編:710065

        2009-09-20 編輯:姜 婷)

        ·方法研究·

        猜你喜歡
        浮點數(shù)浮點字節(jié)
        LEO星座增強GNSS PPP模糊度浮點解與固定解性能評估
        No.8 字節(jié)跳動將推出獨立出口電商APP
        四種Python均勻浮點數(shù)生成方法
        電腦報(2021年11期)2021-07-01 08:26:31
        基于浮點DSP的鐵路FSK信號檢測
        No.10 “字節(jié)跳動手機”要來了?
        在C語言中雙精度浮點數(shù)線性化相等比較的研究
        船電技術(2017年1期)2017-10-13 04:23:24
        簡談MC7字節(jié)碼
        非精確浮點數(shù)乘法器設計
        基于FPGA的浮點FIR濾波器設計
        改進的Goldschmidt雙精度浮點除法器
        久久精品国产亚洲av电影网| 91国产精品自拍视频| 性av一区二区三区免费| 乱子伦在线观看| 精品国产a∨无码一区二区三区| 精品亚洲一区二区99| 一区二区三区国产精品麻豆| 中文字幕人成乱码熟女| 国产女女精品视频久热视频| 天堂在线观看av一区二区三区| 午夜视频一区二区在线观看| 中国孕妇变态孕交xxxx| 亚洲精品黑牛一区二区三区| 国产高清在线精品一区αpp| 在线观看国产自拍视频| 每日更新在线观看av| 97se亚洲国产综合自在线| 日产精品一区二区三区| 丝袜美腿在线观看视频| 丰满少妇人妻久久久久久| 正在播放国产对白孕妇作爱| 在线你懂| 国产传媒精品成人自拍| 国产男女免费完整视频| 国产香蕉尹人在线视频播放| 国产精品亚洲精品日韩动图| 色婷婷av一区二区三区久久 | 色播久久人人爽人人爽人人片av| 国产成人免费高清激情明星| 中文字幕久久精品一区二区| 全黄性性激高免费视频| 精品国产午夜福利在线观看 | 少妇精品揄拍高潮少妇桃花岛| 7777色鬼xxxx欧美色妇| 日韩无码视频淫乱| 亚洲精品精品日本日本| 国产精品视频亚洲二区| 老熟妻内射精品一区| 亚洲色欲色欲欲www在线| 成人久久黑人中出内射青草| 老师粉嫩小泬喷水视频90|