基于FPGA的復(fù)數(shù)浮點(diǎn)協(xié)方差矩陣實(shí)現(xiàn)
在350~535 ns時(shí)間段,因?yàn)閷憰r(shí)鐘信號(hào)沒有到來,所以FIFO為空(empty=‘1’)。從550 ns~24.75 μs時(shí)間段讀時(shí)鐘信號(hào)沒有上升沿到來,整個(gè)設(shè)計(jì)處于第一個(gè)矩陣的運(yùn)算過程中,即運(yùn)算一個(gè)矩陣所需要的時(shí)間為24.2 μs。與此同時(shí),第二個(gè)數(shù)據(jù)寫入FIFO,empty一直處于不空狀態(tài)(empty=‘O’)。
在第一個(gè)矩陣運(yùn)算結(jié)束之后,即24.6μs時(shí),系統(tǒng)檢測到empty=‘0’,開始讀數(shù)據(jù)并觸發(fā)第二個(gè)矩陣運(yùn)算的時(shí)鐘控制信號(hào)。如圖6所示,在24.6μs時(shí),empty=‘1’。FIFO中的第二個(gè)數(shù)據(jù)被讀出,處于空狀態(tài)。從24.85~49.05μs進(jìn)入第二個(gè)矩陣的運(yùn)算周期。本文引用地址:http://www.ex-cimer.com/article/191540.htm
在仿真時(shí),輸人數(shù)據(jù)為16位的定點(diǎn)數(shù)(1+j1;O+jO;2+j2;3+j3;4+j4;5+j5,6+j6;7+j7;8+j8;9+j9;A+jA),輸出結(jié)果為32位的單精度浮點(diǎn)數(shù)。選擇的主時(shí)鐘周期為200 ns。在實(shí)際調(diào)試過程中,整個(gè)系統(tǒng)可以在50 MHz主時(shí)鐘頻率下正常工作。
2.2 并行處理方案仿真結(jié)果
并行方案運(yùn)算原理與串行方案的一樣,只是在時(shí)鐘控制上有所區(qū)別,因?yàn)椴捎昧?1個(gè)浮點(diǎn)復(fù)數(shù)乘累加器,進(jìn)行一次矩陣運(yùn)算,只需要11個(gè)時(shí)鐘周期,如圖7,圖8所示。在仿真時(shí),設(shè)置在寫使能信號(hào)有效(wr=‘O’)的同時(shí),有3個(gè)寫時(shí)鐘信號(hào)(wr_clk)的上升沿到來,即分別向22個(gè)FIF0中存入3個(gè)數(shù)據(jù),則輸出有3個(gè)矩陣。從圖7中還可以清楚地看出,運(yùn)算結(jié)果是矩陣的11行數(shù)據(jù)并行輸出,輸出結(jié)果是一個(gè)對稱矩陣。
3 結(jié)語
在分析了目前應(yīng)用于空間譜估計(jì)的協(xié)方差矩陣運(yùn)算在硬件實(shí)現(xiàn)上的不足,如定點(diǎn)計(jì)算的數(shù)據(jù)動(dòng)態(tài)范圍小,運(yùn)算精度不高,且只適用于特定陣列模型和的陣元數(shù),不具備通用性。在此基礎(chǔ)上提出了基于浮點(diǎn)運(yùn)算的通用型協(xié)方差矩陣的實(shí)現(xiàn)方案。仿真結(jié)果表明,本文所提出的實(shí)現(xiàn)方案采用的是復(fù)數(shù)乘法運(yùn)算,最終結(jié)果得到的是復(fù)共軛對稱矩陣,適合利用任意的陣列模型和陣元數(shù)得到與之相對應(yīng)的協(xié)方差矩陣。這就拓展了協(xié)方差矩陣運(yùn)算的應(yīng)用范圍,且整個(gè)運(yùn)算過程采用的是浮點(diǎn)運(yùn)算,提高了整個(gè)運(yùn)算的精度。
fpga相關(guān)文章:fpga是什么
評(píng)論