一種基于FPGA的復(fù)數(shù)浮點協(xié)方差矩陣實現(xiàn)
以11陣元的均勻圓陣為例,其協(xié)方差矩陣的求解方案原理框圖如圖1所示。
1.1 FIFO數(shù)據(jù)緩存器
在該設(shè)計方案中選擇FIFO作為數(shù)據(jù)存儲器,這是因為一旦多路接收機(jī)有數(shù)據(jù)輸出,就會啟動FIFO進(jìn)行存儲,進(jìn)而FIFO的不空信號有效(empty=O),觸發(fā)后續(xù)的矩陣運(yùn)算;否則,運(yùn)算停止,一切狀態(tài)清零,FPGA恢復(fù)idle(空閑)狀態(tài),等待新的快拍采樣數(shù)據(jù)的到來。
這樣可以很方便地控制運(yùn)算的開始和結(jié)束。矩陣運(yùn)算所需要的同步時鐘需要設(shè)計一個類似于單穩(wěn)態(tài)觸發(fā)器的模塊。當(dāng)檢測到empty=‘0’時,就觸發(fā)一個含有121個clk(對于串行方案而言)時鐘信號周期長度的高電平。該高電平與主時鐘相與便可以得到運(yùn)算的同步時鐘。
1.2 數(shù)據(jù)共軛轉(zhuǎn)換
由于測向陣列的輸出矢量X(t)是一個復(fù)矢量,對其求協(xié)方差矩陣需用陣列輸出列矢量X(t)與其共軛轉(zhuǎn)置矢量XH(n)對應(yīng)相乘。如式(1)所示:
1.3 定點數(shù)到浮點數(shù)的轉(zhuǎn)換
定點計算在硬件上實現(xiàn)簡單,計算速度比浮點計算要快,但是表示操作數(shù)的動態(tài)范圍受到限制,浮點數(shù)計算硬件實現(xiàn)比較困難;一次計算花費(fèi)的時間也遠(yuǎn)大于定點計算的花費(fèi),但是其表示的操作數(shù)動態(tài)范圍大,精度高。在本設(shè)計中,考慮到系統(tǒng)的數(shù)據(jù)動態(tài)范圍和運(yùn)算精度,選擇浮點計算。由于運(yùn)算數(shù)據(jù)是直接從接收機(jī)I,Q兩路通道的A/D變換器的輸出獲得,為定點數(shù),因此必須要有一個將A/D采樣的定點數(shù)據(jù)轉(zhuǎn)換為浮點數(shù)的過程。設(shè)計中將16位定點數(shù)轉(zhuǎn)換為IEEE 754標(biāo)準(zhǔn)的單精度格式。32位單精度格式如圖2所示,最高位為符號位,其后8位為指數(shù)e(用移碼表示,基數(shù)f=2,偏移量為127),余下的23位為尾數(shù)m。
評論