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