<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于FPGA的復數浮點(diǎn)協(xié)方差矩陣實(shí)現

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

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

O 引言
的計算是信號處理領(lǐng)域的典型運算,是實(shí)現多級嵌套維納濾波器、空間譜估計、相干源個(gè)數估計以及仿射不變量模式識別的關(guān)鍵部分,廣泛應用于雷達、聲吶、數字圖像處理等領(lǐng)域。采用(Field Programmable Gate Array)可以提高該類(lèi)數字信號處理運算的實(shí)時(shí)性,是算法工程化的重要環(huán)節。但是不適宜對數的處理,對復雜的不規則計算開(kāi)發(fā)起來(lái)也比較困難。故目前國內外協(xié)方差運算的
實(shí)現都是采用定點(diǎn)運算方式。
在所有運算都是定點(diǎn)運算的情況下,每次乘法之后數據位寬都要擴大一倍。若相乘后的數據繼續做加減運算,為了保證數據不溢出,還必須將數據位寬擴展一位,而的運算核心就是乘累加單元,隨著(zhù)采樣點(diǎn)數的增加,位寬擴展呈線(xiàn)性增加。最終導致FPGA器件資源枯竭,無(wú)法實(shí)現設計。為了保證算法的實(shí)現,必須對中間運算數據進(jìn)行截斷,將每次累加的結果除2(可以通過(guò)移位運算來(lái)實(shí)現),以避免溢出。
此外,在應用MUSIC算法時(shí),各種計算都是復數運算。為達到減少算法的計算量,提高M(jìn)USIC算法處理速度的目的,許多文獻致力于研究陣列的結構特點(diǎn),在保證測角精度的前提下,尋找一種簡(jiǎn)單而有效的數據預處理方法,將復數矩陣轉化為實(shí)數矩陣,把復矢量用一個(gè)實(shí)矢量來(lái)代替,從而將復數運算轉化為實(shí)數運算。
接收陣元模型可分為任意離散陣、均勻圓弧陣、均勻圓陣和均勻線(xiàn)陣。在實(shí)際應用中,比較常見(jiàn)的是均勻線(xiàn)陣和均勻圓陣。每種陣列模型都有各自的特點(diǎn),加之陣元數目的取值不同,也會(huì )導致陣列流型的對稱(chēng)性變化。針對不同的陣元模型和陣元數,數據預處理的方法也會(huì )有所不同。
對于數據預處理的研究,目前已經(jīng)有了一些比較成熟的算法。對于一個(gè)偶數陣元的對稱(chēng)陣列(包括均勻線(xiàn)陣和均勻圓陣),相關(guān)研究表明,可利用其對稱(chēng)性,分成兩個(gè)完全對稱(chēng)的子陣,選擇合適的參考點(diǎn),構造互為共軛對稱(chēng)的方向矩陣,進(jìn)而構造一個(gè)線(xiàn)性變換矩陣,即可達到將復數矩陣轉化為實(shí)數矩陣的目的。
對于奇數陣元的均勻線(xiàn)陣,也有相關(guān)研究成果表明,通過(guò)構造一個(gè)酉矩陣,也可以達到數據預處理的目的。
由于均勻圓陣的陣列流型矩陣不是Vandermonde矩陣,即不具備旋轉不變性,因此適用于奇數陣元的均勻線(xiàn)陣的預處理理論不能直接用于奇數陣元的均勻圓陣,需要將圓陣先轉換到模式空間——虛擬線(xiàn)陣,而轉換需要第一類(lèi)Bessel函數,不適宜用硬件實(shí)現。
以上研究表明,目前除了奇數陣元的均勻圓陣外,其他常用陣列模型都可以通過(guò)預處理的方法將復數運算轉換為實(shí)數運算。若在某些特定的情況下,必須采用奇數陣元的均勻圓陣。此時(shí),基于復數運算的的實(shí)現就成為一種必然。
因此,在充分應用FPGA并行處理能力的同時(shí),為了擴展數據處理的動(dòng)態(tài)范圍,減少數據溢出機率,避免數據截斷所產(chǎn)生的誤差,提高協(xié)方差矩陣的運算精度以及擴展該運算的通用性。本文以空間譜估計作為研究背景,研究了復數據運算和運算的特點(diǎn),提出了一種適用于任何陣列流型、任意陣元的基于復數運算的協(xié)方差矩陣的FPGA實(shí)現方案。

1 求解復數浮點(diǎn)協(xié)方差矩陣
以11陣元的均勻圓陣為例,其協(xié)方差矩陣的求解方案原理框圖如圖1所示。

本文引用地址:http://dyxdggzs.com/article/191540.htm


1.1 FIF0數據緩存器
在該設計方案中選擇FIFO作為數據存儲器,這是因為一旦多路接收機有數據輸出,就會(huì )啟動(dòng)FIFO進(jìn)行存儲,進(jìn)而FIFO的不空信號有效(empty=O),觸發(fā)后續的矩陣運算;否則,運算停止,一切狀態(tài)清零,FPGA恢復idle(空閑)狀態(tài),等待新的快拍采樣數據的到來(lái)。
這樣可以很方便地控制運算的開(kāi)始和結束。矩陣運算所需要的同步時(shí)鐘需要設計一個(gè)類(lèi)似于單穩態(tài)觸發(fā)器的模塊。當檢測到empty=‘0’時(shí),就觸發(fā)一個(gè)含有121個(gè)clk(對于串行方案而言)時(shí)鐘信號周期長(cháng)度的高電平。該高電平與主時(shí)鐘相與便可以得到運算的同步時(shí)鐘。
1.2 數據共軛轉換
由于測向陣列的輸出矢量X(t)是一個(gè)復矢量,對其求協(xié)方差矩陣需用陣列輸出列矢量X(t)與其共軛轉置矢量XH(n)對應相乘。如式(1)所示:

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

fpga相關(guān)文章:fpga是什么



上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>