<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 求解

            以11陣元的均勻圓陣為例,其的求解方案原理框圖如圖1所示。

          協(xié)方差矩陣的求解方案原理框圖

            1.1 數(shù)據(jù)緩存器

            在該設(shè)計(jì)方案中選擇作為數(shù)據(jù)存儲(chǔ)器,這是因?yàn)橐坏┒嗦方邮諜C(jī)有數(shù)據(jù)輸出,就會(huì)啟動(dòng)進(jìn)行存儲(chǔ),進(jìn)而FIFO的不空信號(hào)有效(empty=O),觸發(fā)后續(xù)的矩陣運(yùn)算;否則,運(yùn)算停止,一切狀態(tài)清零,恢復(fù)idle(空閑)狀態(tài),等待新的快拍采樣數(shù)據(jù)的到來(lái)。

            這樣可以很方便地控制運(yùn)算的開始和結(jié)束。矩陣運(yùn)算所需要的同步時(shí)鐘需要設(shè)計(jì)一個(gè)類似于單穩(wěn)態(tài)觸發(fā)器的模塊。當(dāng)檢測(cè)到empty=‘0’時(shí),就觸發(fā)一個(gè)含有121個(gè)clk(對(duì)于串行方案而言)時(shí)鐘信號(hào)周期長(zhǎng)度的高電平。該高電平與主時(shí)鐘相與便可以得到運(yùn)算的同步時(shí)鐘。

            1.2 數(shù)據(jù)共軛轉(zhuǎn)換

            由于測(cè)向陣列的輸出矢量X(t)是一個(gè)復(fù)矢量,對(duì)其求需用陣列輸出列矢量X(t)與其共軛轉(zhuǎn)置矢量XH(n)對(duì)應(yīng)相乘。如式(1)所示:

          公式

            1.3 定點(diǎn)數(shù)到浮點(diǎn)數(shù)的轉(zhuǎn)換

            定點(diǎn)計(jì)算在硬件上實(shí)現(xiàn)簡(jiǎn)單,計(jì)算速度比浮點(diǎn)計(jì)算要快,但是表示操作數(shù)的動(dòng)態(tài)范圍受到限制,浮點(diǎn)數(shù)計(jì)算硬件實(shí)現(xiàn)比較困難;一次計(jì)算花費(fèi)的時(shí)間也遠(yuǎn)大于定點(diǎn)計(jì)算的花費(fèi),但是其表示的操作數(shù)動(dòng)態(tài)范圍大,精度高。在本設(shè)計(jì)中,考慮到系統(tǒng)的數(shù)據(jù)動(dòng)態(tài)范圍和運(yùn)算精度,選擇浮點(diǎn)計(jì)算。由于運(yùn)算數(shù)據(jù)是直接從接收機(jī)I,Q兩路通道的A/D變換器的輸出獲得,為定點(diǎn)數(shù),因此必須要有一個(gè)將A/D采樣的定點(diǎn)數(shù)據(jù)轉(zhuǎn)換為浮點(diǎn)數(shù)的過(guò)程。設(shè)計(jì)中將16位定點(diǎn)數(shù)轉(zhuǎn)換為IEEE 754標(biāo)準(zhǔn)的單精度格式。32位單精度格式如圖2所示,最高位為符號(hào)位,其后8位為指數(shù)e(用移碼表示,基數(shù)f=2,偏移量為127),余下的23位為尾數(shù)m。

          32位單精度格式



          評(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); })();