<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種基于FPGA的復(fù)數(shù)浮點(diǎn)協(xié)方差矩陣實(shí)現(xiàn)

          一種基于FPGA的復(fù)數(shù)浮點(diǎn)協(xié)方差矩陣實(shí)現(xiàn)

          作者: 時(shí)間:2010-10-29 來(lái)源:網(wǎng)絡(luò) 收藏

            1.4 浮點(diǎn)復(fù)數(shù)乘累加器

            1.4.1 復(fù)數(shù)乘法器

            假設(shè)有兩個(gè)復(fù)數(shù)分別為a+jb和c+jd,這兩個(gè)數(shù)的乘積為:

          公式

            復(fù)數(shù)乘法器的工作原理如圖3所示,其中所用到的加法、減法和乘法器都是基于浮點(diǎn)的運(yùn)算。值得一提的是,在實(shí)現(xiàn)浮點(diǎn)加減法的時(shí)候,可以將尾數(shù)連同符號(hào)位轉(zhuǎn)化為變形補(bǔ)碼形式后再進(jìn)行加減運(yùn)算。這樣做的目的是方便判斷數(shù)據(jù)是否溢出(變形補(bǔ)碼判斷溢出的規(guī)則是:當(dāng)兩位符號(hào)位不同時(shí)表示溢出,否則無(wú)溢出。無(wú)論數(shù)據(jù)是否溢出,第一位符號(hào)位永遠(yuǎn)代表真正的符號(hào)),若溢出,則將尾數(shù)右歸,指數(shù)部分加1,若沒(méi)有溢出,則將尾數(shù)左歸(規(guī)格化)。浮點(diǎn)乘法相對(duì)較簡(jiǎn)單,對(duì)應(yīng)階碼相加,尾數(shù)相乘可以采用定點(diǎn)小數(shù)的任何一種乘法運(yùn)算來(lái)完成,只是在限定只取一倍字長(zhǎng)時(shí),乘積的若干低位將會(huì)丟失,引入誤差。

          復(fù)數(shù)乘法器的工作原理

            1.4.2 浮點(diǎn)復(fù)數(shù)乘累加器

            以11個(gè)陣元的圓陣為例,實(shí)現(xiàn)串行處理方案的浮點(diǎn)復(fù)數(shù)乘累加器的原理如圖4所示,實(shí)部和虛部(雙通道)的乘累加器模塊工作原理一樣。

          串行處理方案的浮點(diǎn)復(fù)數(shù)乘累加器的原理

            121階數(shù)據(jù)緩存器實(shí)際上就是121個(gè)數(shù)據(jù)鎖存器級(jí)聯(lián)形成的一個(gè)移位寄存器,初始狀態(tài)為零。當(dāng)浮點(diǎn)復(fù)數(shù)乘法器有輸出的時(shí)候,啟動(dòng)數(shù)據(jù)緩存器與之進(jìn)行加法操作,121個(gè)時(shí)鐘周期以后可以實(shí)現(xiàn)一次快拍采樣的矩陣?yán)奂?。累加清零信?hào)由時(shí)序控制器給出,當(dāng)所有的快拍采樣點(diǎn)運(yùn)算都結(jié)束之后,數(shù)據(jù)緩存器輸出累加結(jié)果(即的運(yùn)算結(jié)果),同時(shí)控制器送出一個(gè)清零信號(hào),清零121階數(shù)據(jù)緩存器。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();