• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于“魂芯一號(hào)”的自適應(yīng)截位浮點(diǎn)乘法實(shí)現(xiàn)?

      2015-01-22 10:19:18
      關(guān)鍵詞:累加器浮點(diǎn)定點(diǎn)

      (中國(guó)電子科技集團(tuán)公司第三十八研究所,安徽合肥230088)

      0 引言

      在雷達(dá)陣列信號(hào)處理算法中,很多計(jì)算權(quán)系數(shù)的過(guò)程中都要用到自相關(guān)矩陣的求逆[1],但是由于自相關(guān)矩陣具有較大的條件數(shù),為了保證求逆過(guò)程的準(zhǔn)確性,必須要求自相關(guān)矩陣具有較高的精度[2]?,F(xiàn)階段32位單浮點(diǎn)精度無(wú)法滿足自相關(guān)浮點(diǎn)矩陣的精度要求,因此本文基于國(guó)產(chǎn)“魂芯一號(hào)”DSP(簡(jiǎn)稱BWDSP100)的指令系統(tǒng),提出了一種自適應(yīng)截位的浮點(diǎn)復(fù)數(shù)矩陣乘法,將浮點(diǎn)數(shù)據(jù)以最大值為基準(zhǔn)擴(kuò)位成定點(diǎn)數(shù)據(jù),采用BWDSP100指令集中的72位定點(diǎn)乘累加器,將乘累加后的結(jié)果通過(guò)自適應(yīng)截位處理,并對(duì)獲取浮點(diǎn)數(shù)據(jù)的指數(shù)位進(jìn)行調(diào)整,使得最終獲取的結(jié)果最大程度地保留小數(shù)精度,減少截位過(guò)程的誤差影響。

      本文使用BWDSP100作為實(shí)現(xiàn)平臺(tái),BWDSP100是由中國(guó)電子科技集團(tuán)公司第三十八研究所研制,可廣泛運(yùn)用于各種高性能計(jì)算領(lǐng)域,如雷達(dá)、電子對(duì)抗、精確制導(dǎo)、通信保障、圖像處理等信號(hào)處理領(lǐng)域。作為BWDSP系列的第一款產(chǎn)品,BWDSP100是一款32位浮點(diǎn)DSP,同時(shí)兼容16位和32位定點(diǎn)數(shù)據(jù)格式,采用VLIW架構(gòu),具有強(qiáng)大的并行處理能力,能較好地滿足高速實(shí)時(shí)信號(hào)處理的應(yīng)用要求[3]。

      1 算法的實(shí)現(xiàn)流程

      1.1 單精度浮點(diǎn)算法存在的問(wèn)題

      對(duì)于雷達(dá)信號(hào)處理中的自相關(guān)矩陣而言,在求取過(guò)程中R=A?A′,其核心運(yùn)算由大量的浮點(diǎn)乘累加運(yùn)算構(gòu)成。而根據(jù)IEEE標(biāo)準(zhǔn)754/854,如圖1所示,32位單精度浮點(diǎn)格式包含一個(gè)符號(hào)位s、一個(gè)24位的尾數(shù)和8位無(wú)符號(hào)量指數(shù)e[4]。

      對(duì)于原始矩陣的數(shù)據(jù),當(dāng)其動(dòng)態(tài)范圍較大時(shí),在進(jìn)行乘累加運(yùn)算的過(guò)程中,有可能導(dǎo)致個(gè)別數(shù)據(jù)的小數(shù)位被舍棄,最終導(dǎo)致誤差結(jié)果的累積。

      同時(shí),普通的浮點(diǎn)乘法運(yùn)算存在截位舍去問(wèn)題。在進(jìn)行32位浮點(diǎn)乘法運(yùn)算過(guò)程中,其運(yùn)算過(guò)程如圖2所示。

      圖2 正常32位浮點(diǎn)運(yùn)算流程

      處理器在進(jìn)行32位浮點(diǎn)乘法的過(guò)程中,需要對(duì)生成的數(shù)據(jù)進(jìn)行截位,從而輸出32位的浮點(diǎn)數(shù)據(jù)結(jié)果,在截位的過(guò)程中會(huì)導(dǎo)致數(shù)據(jù)的偏差[5]。該誤差在一次的浮點(diǎn)運(yùn)算中沒(méi)有明顯的體現(xiàn),但是在工程實(shí)踐中進(jìn)行自相關(guān)復(fù)數(shù)矩陣的運(yùn)算過(guò)程中,誤差被累積放大,導(dǎo)致后續(xù)運(yùn)算無(wú)法進(jìn)行。

      1.2 本文算法的實(shí)現(xiàn)

      為了在最大程度上保留浮點(diǎn)的運(yùn)算精度,且充分發(fā)揮BWDSP100指令集中72位定點(diǎn)乘累加器的作用,首先按照一定的規(guī)則將原始浮點(diǎn)數(shù)據(jù)轉(zhuǎn)化為定點(diǎn)數(shù)據(jù)[6],然后采用BWDSP100的指令系統(tǒng)進(jìn)行定點(diǎn)的乘累加運(yùn)算,最后再把求取的定點(diǎn)乘累加結(jié)果轉(zhuǎn)化為所需要的浮點(diǎn)數(shù)據(jù)。其具體的轉(zhuǎn)化步驟如下,流程圖如圖3所示(以矩陣F=[fij]24?80為例)。

      算法的具體流程為:

      1)對(duì)輸入復(fù)數(shù)矩陣,按行不區(qū)分實(shí)虛部取最大值EXP(矩陣EXP=[expij]24?1);

      2)以步驟1)中取得的最大值為基準(zhǔn),將浮點(diǎn)數(shù)據(jù)擴(kuò)位為32位定點(diǎn)數(shù)據(jù),此時(shí)獲取定點(diǎn)矩陣A(矩陣A=[aij]24?80);

      3)在進(jìn)行自適應(yīng)相關(guān)矩陣運(yùn)算時(shí),需要對(duì)復(fù)數(shù)矩陣進(jìn)行共軛轉(zhuǎn)置,即得到矩陣B(矩陣B=[bij]80?24);

      4)對(duì)于矩陣乘法而言,由于是A?B,因此要進(jìn)行576(即24?24)次乘累加運(yùn)算。對(duì)于BWDSP100的指令系統(tǒng),采用72位乘累加器MACC進(jìn)行上述乘累加運(yùn)算,獲取MACC的值;

      5)對(duì)于每次獲取的72位MACC,從最高位開(kāi)始判斷符號(hào)位的位數(shù),然后從符號(hào)位開(kāi)始截32位,最大程度保留運(yùn)算過(guò)程的低位數(shù)據(jù);

      6)將截取的32位定點(diǎn)數(shù)據(jù)轉(zhuǎn)化為浮點(diǎn),然后根據(jù)數(shù)據(jù)截位以及原始擴(kuò)位的位數(shù),對(duì)浮點(diǎn)數(shù)據(jù)的指數(shù)位進(jìn)行修正,得到結(jié)果CO(矩陣CO=[coij]24?24)。

      圖3 浮點(diǎn)轉(zhuǎn)定點(diǎn)矩陣乘法的流程圖

      1.3 自適應(yīng)截位處理

      對(duì)于上述算法流程而言,在最大程度上保留計(jì)算精度的前提下,如何將72位乘累加器中的結(jié)果通過(guò)BWDSP100指令系統(tǒng)轉(zhuǎn)化為32位浮點(diǎn)數(shù)據(jù)是本文的關(guān)鍵。

      對(duì)于一個(gè)BWDSP100中的72位乘累加器而言,其具體的表示如圖4所示[7]。

      圖4 72位定點(diǎn)乘累加器MACC的數(shù)據(jù)表示

      如圖4所示,由于MACC是由若干個(gè)32位定點(diǎn)數(shù)(其中最大值為滿32位)進(jìn)行乘累加運(yùn)算而得到,故X表示的位數(shù)一定介于63~71之間,為了從中截取32位數(shù)據(jù)長(zhǎng)度且最大程度的保留精度,因此需要將其中的[X-32∶X]位截取出來(lái),這就需要對(duì)X的位數(shù)進(jìn)行判斷獲取,然后基于BWDSP100的指令系統(tǒng),進(jìn)行具體的截取操作。下面是處理的主要流程:

      1)由于數(shù)據(jù)符號(hào)位的判斷需要在寄存器堆中進(jìn)行,因此需要將72位的MACC數(shù)據(jù)放置到若干寄存器中。為了簡(jiǎn)化運(yùn)算,降低8位截掉,只將MACC中[71∶40]與[39∶8]分別放置到兩個(gè)寄存器中去,如圖5所示。

      圖5 將MACC通過(guò)截位放置到寄存器中

      在截位的過(guò)程中,需要對(duì)數(shù)據(jù)進(jìn)行四舍五入處理。當(dāng)截掉的最高位為1時(shí),則在保留的最低位上加上1,減少截位誤差的影響。

      2)現(xiàn)在要從64位數(shù)據(jù)中截取32位數(shù)據(jù)以最大程度地保留精度,因此要判斷其最高的有效位在多少位,如圖5中X的取值。

      基于BWDSP100指令集中的pos1指令,該指令給出寄存器中1對(duì)應(yīng)的最高位置,根據(jù)該位置,高32位寄存器左移相應(yīng)位數(shù),低32位右移相應(yīng)位數(shù)(均是邏輯移位),然后再進(jìn)行“與”操作。

      3)最后將定點(diǎn)數(shù)據(jù)轉(zhuǎn)化為浮點(diǎn),并對(duì)浮點(diǎn)數(shù)據(jù)的指數(shù)位進(jìn)行相關(guān)調(diào)整,一方面考慮最初浮點(diǎn)轉(zhuǎn)定點(diǎn)的擴(kuò)展位數(shù),還要考慮MACC的截位以及步驟2)中的移位,根據(jù)BWDSP100指令集中的exp與fext指令對(duì)其指數(shù)位進(jìn)行調(diào)整。

      根據(jù)上述步驟,能夠在最大程度上保留乘累加過(guò)程中的尾數(shù)部分,防止由于數(shù)據(jù)截位導(dǎo)致的誤差,其具體的流程圖如圖6所示。

      圖6 乘累加器MACC的自適應(yīng)截位流程示意圖

      2 實(shí)驗(yàn)結(jié)果

      采用若干組實(shí)際的某型號(hào)雷達(dá)波束數(shù)據(jù)經(jīng)過(guò)FFT運(yùn)算后形成的復(fù)數(shù)矩陣進(jìn)行測(cè)試,分別采用TS201的浮點(diǎn)復(fù)數(shù)矩陣乘法、BWDSP100的浮點(diǎn)復(fù)數(shù)乘法和本文算法進(jìn)行計(jì)算,并將結(jié)果與MATLAB計(jì)算的標(biāo)準(zhǔn)結(jié)果進(jìn)行對(duì)比,如表1所示。

      表1 不同算法數(shù)據(jù)與標(biāo)準(zhǔn)MATLAB的誤差和方差分布

      根據(jù)表1中的誤差對(duì)比可以看出,本文算法在整體上能夠有效提高運(yùn)算精度,與BWDSP100的浮點(diǎn)算法相比能夠提高一個(gè)數(shù)量級(jí),與TS201的浮點(diǎn)算法相比甚至能夠提高兩個(gè)數(shù)量級(jí),同時(shí)在誤差分布上也具有很大的優(yōu)勢(shì)。選取其中兩組數(shù)據(jù)繪制三維分布圖能夠更加明顯地看到上述結(jié)論,如圖7、圖8所示。

      圖7 第1組數(shù)據(jù)的相對(duì)誤差分布圖

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

      目前浮點(diǎn)算法運(yùn)算精度上的不足,導(dǎo)致部分需要高精度浮點(diǎn)運(yùn)算結(jié)果的算法無(wú)法實(shí)現(xiàn)。本文在BWDSP100指令系統(tǒng)的基礎(chǔ)上,提出了一種自適應(yīng)截位的浮點(diǎn)轉(zhuǎn)定點(diǎn)浮點(diǎn)復(fù)數(shù)乘法的新算法。仿真結(jié)果表明,本文提出的新算法能夠有效提高浮點(diǎn)運(yùn)算的精度,降低誤差分布,與普通的浮點(diǎn)算法相比具有較明顯的優(yōu)勢(shì)。最終應(yīng)用到某型號(hào)雷達(dá)中,其檢測(cè)效果實(shí)現(xiàn)了明顯提高。

      [1]ELGAMEL S A,SORAGHAN J J.Enhanced Monopulse Radar Tracking Using Filtering in Fractional Fourier Domain[C]∥2010 IEEE International Radar Conference,[S.l.]:[s.n.],2010:247-250.

      [2]SKOLNIK M I.雷達(dá)系統(tǒng)導(dǎo)論[M].3版.左群聲,徐國(guó)良,馬林,等譯.北京:電子工業(yè)出版社,2006:56-62.

      [3]中國(guó)電子科技集團(tuán)公司第三十八研究所.BWDSP100軟件用戶手冊(cè)[M].合肥:中國(guó)電子科技集團(tuán)公司第三十八研究所,2011.

      [4]ARANDI S,EVRIPIDOU P.Programming Multi-Core Architectures Using Data-Flow Techniques[C]∥2010 International Conference on Embedded Computer Systems,Samos:IEEE,2010:152-161.

      [5]史鴻聲,穆文爭(zhēng),劉麗.基于“魂芯一號(hào)”的雷達(dá)信號(hào)處理機(jī)設(shè)計(jì)[J].雷達(dá)科學(xué)與技術(shù),2012,10(2):161-164.SHI Hong-sheng,MU Wen-zheng,LIU Li.Design of Radar Signal Processor Based on HunXin-1 Chip[J].Radar Science and Technology,2012,10(2):161-164.(in Chinese)

      [6]黎淵,蔣江,張選民,等.基于模擬退火算法的浮點(diǎn)轉(zhuǎn)定點(diǎn)自動(dòng)位寬優(yōu)化工具[J].上海交通大學(xué)學(xué)報(bào),2013,47(1):76-85.

      [7]龔曉華,郭二輝,劉小明.BWDSP100高速鏈路口模塊的設(shè)計(jì)[J].中國(guó)集成電路,2012(3):60-64.

      猜你喜歡
      累加器浮點(diǎn)定點(diǎn)
      格上身份基簡(jiǎn)短關(guān)聯(lián)環(huán)簽名及其電子投票應(yīng)用
      例談圓錐曲線中的定點(diǎn)定值問(wèn)題
      密碼累加器研究進(jìn)展及應(yīng)用
      LEO星座增強(qiáng)GNSS PPP模糊度浮點(diǎn)解與固定解性能評(píng)估
      定點(diǎn)幫扶讓村民過(guò)上美好生活
      解析幾何中定點(diǎn)問(wèn)題的處理策略
      直線過(guò)定點(diǎn)的5種特優(yōu)解法
      基于浮點(diǎn)DSP的鐵路FSK信號(hào)檢測(cè)
      基于霍夫變換的工位點(diǎn)識(shí)別算法設(shè)計(jì)與實(shí)現(xiàn)
      用于時(shí)間延遲積分型圖像傳感器的流水采樣列級(jí)運(yùn)放共享累加器*
      丘北县| 开平市| 大埔区| 永登县| 利辛县| 临湘市| 浙江省| 嵩明县| 特克斯县| 大城县| 江北区| 鄄城县| 桃园县| 汉川市| 蕲春县| 鸡西市| 琼中| 左贡县| 鲁甸县| 方城县| 郁南县| 汽车| 诏安县| 德令哈市| 开封市| 布拖县| 三河市| 敦化市| 三门峡市| 芦山县| 疏附县| 高雄市| 新乐市| 区。| 论坛| 车险| 青阳县| 五常市| 北票市| 汾阳市| 淮北市|