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

        ?

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

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

        雷文英 劉 娜 張 龍

        (1.西安石油大學(xué)光電油氣測(cè)井與檢測(cè)教育部重點(diǎn)實(shí)驗(yàn)室 陜西西安)

        (2.西安電子科技大學(xué)通信工程學(xué)院 陜西西安) (3.中國(guó)石油集團(tuán)測(cè)井有限公司長(zhǎng)慶事業(yè)部 陜西高陵)

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

        雷文英1劉 娜2張 龍3

        (1.西安石油大學(xué)光電油氣測(cè)井與檢測(cè)教育部重點(diǎn)實(shí)驗(yàn)室 陜西西安)

        (2.西安電子科技大學(xué)通信工程學(xué)院 陜西西安) (3.中國(guó)石油集團(tuán)測(cè)井有限公司長(zhǎng)慶事業(yè)部 陜西高陵)

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

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

        0 引 言

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

        1 浮點(diǎn)DSP的數(shù)據(jù)存儲(chǔ)格式

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

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

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

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

        從式(1)可以看出,該浮點(diǎn)數(shù)的計(jì)算過(guò)程中沒(méi)有出現(xiàn)補(bǔ)碼,很方便和簡(jiǎn)練。例如π的IEEE754格式浮點(diǎn)數(shù)內(nèi)存中表示為0x40490FDA,如圖1所示。

        圖1 π的IEEE754單精度浮點(diǎn)數(shù)的內(nèi)存表示

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

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

        和IEEE754標(biāo)準(zhǔn)浮點(diǎn)數(shù)不同,TMS320C3x格式的浮點(diǎn)數(shù)由如下3部分組成:符號(hào)位s,指數(shù)e和小數(shù)f。TMS320C3x單精度浮點(diǎn)的各個(gè)部分在內(nèi)存中的分布見(jiàn)圖2。一般將符號(hào)位和小數(shù)部分合起來(lái)稱(chēng)為尾數(shù),應(yīng)該注意這里指數(shù)和尾數(shù)都是用補(bǔ)碼的形式表示。

        圖2 TMS320C3x格式單精度浮點(diǎn)數(shù)的存儲(chǔ)格式

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

        因?yàn)楫?dāng)s=0時(shí)表示 x為正數(shù),(-2)0=1;當(dāng) s= 1時(shí)表示 x為負(fù)數(shù),(-2)1=2,注意到 x=(0.f)×2e中的10恰是-2的2位二進(jìn)制數(shù)的補(bǔ)碼。如在TMS320C3x格式下 0x40490FDA表示的浮點(diǎn)數(shù)為2.897608e+19。

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

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

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

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

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

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

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

        由于計(jì)算機(jī)內(nèi)部采用的浮點(diǎn)數(shù)存儲(chǔ)格式采用的是IEEE754標(biāo)準(zhǔn),故計(jì)算機(jī)處理TMS320C3x格式的浮點(diǎn)數(shù)時(shí)就沒(méi)有處理IEEE754格式的浮點(diǎn)數(shù)方便,需要按照上面介紹的浮點(diǎn)數(shù)組成原理進(jìn)行按尾數(shù)和指數(shù)拆分并對(duì)其進(jìn)行相應(yīng)的處理,然后將兩部分結(jié)合在一起得到最終的結(jié)果。以 TMS320VC3x格式浮點(diǎn)數(shù)0x40490FDA計(jì)算機(jī)處理運(yùn)算為例介紹具體的運(yùn)算過(guò)程。

        1)按位運(yùn)算提取分?jǐn)?shù)和指數(shù)部分

        TMS320C3x浮點(diǎn)數(shù)0x40490FDA轉(zhuǎn)換為32位二進(jìn)制數(shù)記做

        按照?qǐng)D2的TMS320C3x浮點(diǎn)數(shù)存儲(chǔ)格式,將變量TMS320按位拆分成分?jǐn)?shù)和指數(shù)部分的處理:

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

        2)將分?jǐn)?shù)部分和指數(shù)部分組合成十進(jìn)制數(shù)

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

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

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

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

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

        4 結(jié)束語(yǔ)

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

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

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

        [3] 黨 瑞,謝 雁,李利品.TMS320C3x DSP原理與應(yīng)用[M].西安:陜西科技大學(xué)出版社,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)為西安石油大學(xué)在讀研究生,主要從事信號(hào)與信息處理方面的研究工作。郵編:710065

        2009-09-20 編輯:姜 婷)

        ·方法研究·

        猜你喜歡
        浮點(diǎn)數(shù)浮點(diǎn)字節(jié)
        LEO星座增強(qiáng)GNSS PPP模糊度浮點(diǎn)解與固定解性能評(píng)估
        No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
        四種Python均勻浮點(diǎn)數(shù)生成方法
        基于浮點(diǎn)DSP的鐵路FSK信號(hào)檢測(cè)
        No.10 “字節(jié)跳動(dòng)手機(jī)”要來(lái)了?
        在C語(yǔ)言中雙精度浮點(diǎn)數(shù)線性化相等比較的研究
        簡(jiǎn)談MC7字節(jié)碼
        非精確浮點(diǎn)數(shù)乘法器設(shè)計(jì)
        基于FPGA的浮點(diǎn)FIR濾波器設(shè)計(jì)
        改進(jìn)的Goldschmidt雙精度浮點(diǎn)除法器
        欧美亚洲国产片在线播放| 久久亚洲精品国产av| 国产大屁股视频免费区| 乱人伦中文无码视频在线观看| 爽妇网国产精品| 老熟妇高潮av一区二区三区啪啪| 少妇高潮精品在线观看| 久久国产加勒比精品无码| 亚洲综合av在线在线播放| 欧美成人网视频| 男女性行为免费视频网站| 国产两女互慰高潮视频在线观看| 97久久超碰国产精品2021 | 9lporm自拍视频区| 97SE亚洲国产综合自在线不卡| 青青视频在线播放免费的| 国产精品久久久久久人妻无| 日本大片在线看黄a∨免费| 亚洲精品国产二区三区在线| 国产一区二区三区男人吃奶| 久久久久人妻精品一区三寸| 国产在线精品一区二区不卡| 亚洲精品综合在线影院| 日本五十路人妻在线一区二区| 国产成人精品午夜视频| 丝袜国产高跟亚洲精品91| 一区二区三区国产大片| 国产香港明星裸体xxxx视频| 99久久99久久精品国产片果冻| 4hu44四虎www在线影院麻豆 | 精品在线观看一区二区视频| 国产日产综合| 在线观看视频亚洲| 国产av一区二区日夜精品剧情| 人人做人人爽人人爱| 女人被做到高潮免费视频| 日韩少妇人妻一区二区| 国产一级一级内射视频| 国产特级毛片aaaaaa高清| 国产丝袜免费精品一区二区 | 色婷婷精品久久二区二区蜜桃|