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