摘 要:基于FPGA的協方差矩陣運算的實現大多采用的是定點計算方式,在運算過程中,存在數據處理動態范圍小,容易溢出,截斷誤差等問題。加之以空間譜估計為研究背景的協方差矩陣運算,大多得到的是針對特殊陣列模型的實對稱矩陣,不具備通用性。針對定點運算的不足和該運算的適用范圍,研究了浮點運算和復數運算的特點,提出了基于復數矢量的浮點協方差運算的FPGA實現方案。在Altera\\\\ stratix \\\\EP1S20F780C7中的仿真和調試結果表明了該方案的有效性。
關鍵詞:協方差矩陣運算; 浮點運算; 復數運算; FPGA
中圖分類號:TN919; TP302文獻標識碼:A
文章編號:1004-373X(2010)15-0121-04
Realization of Complex Floating-point Covariance Matrix Operation Based on FPGA
WEI Yu-mei, LIU Shuai, JIN Ming
(Harbin Institute of Technology, Weihai 264209, China)
Abstract: The covariance matrix operation based on FPGA is realized with the fix-point calculation mode mostly, but there are some problems in the computing process, such as small dynamic range of data processing, easy overflowing, truncation error and so on. Additionally, covariance matrix operation that takes the spatial spectrum estimation as the research background mostly gets the real symmetric matrix which is in connection with special array model, and does not have universality. To direct at the shortness and application scope of the fixed-point operation, and implementing scheme of complex floating-point covariance matrix operation based on FPGA is put forward after the study on the characteristics of the floating point operation and complex operation. The results of simulation and debugging on EP1S20F780C7 indicate that the scheme is effective.
Keywords: covariance matrix operation; floating-point arithmetic; complex arithmetic; FPGA
0 引 言
協方差矩陣的計算是信號處理領域的典型運算,是實現多級嵌套維納濾波器、空間譜估計、相干源個數估計以及仿射不變量模式識別的關鍵部分,廣泛應用于雷達、聲吶、數字圖像處理等領域。采用FPGA(Field Programmable Gate Array)可以提高該類數字信號處理運算的實時性,是算法工程化的重要環節。但是FPGA不適宜對浮點數的處理,對復雜的不規則計算開發起來也比較困難。故目前國內外[1-4]協方差運算的FPGA實現都是采用定點運算方式。
在所有運算都是定點運算的情況下,每次乘法之后數據位寬都要擴大一倍。若相乘后的數據繼續做加減運算,為了保證數據不溢出,還必須將數據位寬擴展一位,而協方差矩陣的運算核心就是乘累加單元,隨著采樣點數的增加,位寬擴展呈線性增加。最終導致FPGA器件資源枯竭,無法實現設計。為了保證算法的實現,必須對中間運算數據進行截斷,將每次累加的結果除2(可以通過移位運算來實現),以避免溢出。……