一種基于FPGA的復(fù)數(shù)浮點(diǎn)協(xié)方差矩陣實(shí)現(xiàn)
1 求解復(fù)數(shù)浮點(diǎn)協(xié)方差矩陣
以11陣元的均勻圓陣為例,其協(xié)方差矩陣的求解方案原理框圖如圖1所示。
1.1 FIFO數(shù)據(jù)緩存器
在該設(shè)計(jì)方案中選擇FIFO作為數(shù)據(jù)存儲(chǔ)器,這是因?yàn)橐坏┒嗦方邮諜C(jī)有數(shù)據(jù)輸出,就會(huì)啟動(dòng)FIFO進(jìn)行存儲(chǔ),進(jìn)而FIFO的不空信號(hào)有效(empty=O),觸發(fā)后續(xù)的矩陣運(yùn)算;否則,運(yùn)算停止,一切狀態(tài)清零,FPGA恢復(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ì)其求協(xié)方差矩陣需用陣列輸出列矢量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。
評(píng)論