高 山,王大鳴
(信息工程大學 通信與信息系統工程學院,河南 鄭州450002)
MIMO 作為LTE通信體制的核心技術之一,能夠提高頻譜利用率,增大系統容量[1,2]。然而MIMO 檢測算法需要大量資源,星上資源卻十分有限,并且星載平臺都采用TMR (triple modular redundancy)冗余設計,會使資源占用率增加兩倍以上。因此必須結合星載平臺應用場景的特殊性,對其所承載相關算法的設計在考慮抗SEU 的同時須降低其資源占用率。
目前星載平臺算法層面上的抗單粒子翻轉設計主要有ABFT[3](algorithmic-based fault tolerance)和RPR[4](reduced-precision redundancy)。ABFT 設 計 在 矩 陣 階 小 于3時,其芯片資源占用率大大高于TMR 設計,且增加了處理時延。RPR 設計降低了資源占用率,有良好的抗輻射性能,但會降低數據精度。硬件層面上抗SEU (signal event upsets)的方法主要有擦洗、冗余、糾錯編碼、糾錯電路、動態重構等,其中應用最為廣泛、有效的是硬件TMR 容錯技 術[5,6],該 設 計 可 以 檢 測 和 糾 正 錯 誤,但 資 源 占用率高。
針對基于TMR 架構的ZF檢測算法資源開銷大、功耗大的問題,本文在二維內存EDAC 抗單粒子翻轉方法基礎上,提出一種抗SEU 的星載檢錯糾錯 (EDAC)迫零檢測算法。該算法通過在矩陣乘積運算中擴展加入兩行 (列)“校驗和”,實現了自檢錯、自糾錯功能,可以同時檢測一位錯誤和糾正一位錯誤,以應對星載芯片單個粒子翻轉對系統的影響。通過模塊化設計和乘法器復用,進一步降低了資源開銷。
假設MIMO 信道矩陣為H ,接收信號為y,發送信號為x。則MIMO 的系統模型可表示為

式中:n——信道噪聲,則ZF檢測可表示為

可以看到ZF檢測算法的復雜度為2 N3(N 為MIMO 的天線數量),約使用22個乘法器,占用大量資源[7],并且星載平臺采用的TMR 設計會進一步增加資源占用率。分析TMR-ZF檢測算法資源占用率高的原因,主要是運算中含有大量矩陣乘法運算,因此本文的以降低矩陣乘法運算資源占用率為切入點,給出一種基于EDAC 的矩陣乘法設計,通過降低MIMO 檢測算法中矩陣乘積的資源開銷來降低整體算法的資源占用率并提高抗SEU 性能。
EDAC星載檢測算法采用類二維內存EDAC 方法進行矩陣乘法運算[8,9],其中二維內存EDAC 方法是通過在數據塊的水平方向和垂直方向分別加入k位和l位校驗信息,在水平方向進行單糾錯-雙檢錯碼 (EDAC)編碼,在垂直方向進行奇偶編碼,可以發現出錯地址寄存器和出錯數據寄存器所在地址,以及出錯原因,其原理如圖1所示。

圖1 基于內存的EDAC設計
在EDAC星載檢測算法矩陣乘法器設計中,矩陣右側或者下側加入兩行 (兩列)含有原矩陣信息的校驗行列式,行列式即原矩陣的行或列的 “校驗和”,如圖2所示。
將式 (2)簡化表示為

上式展開為


圖2 EDAC矩陣乘法器設計
在矩陣H+中加入兩行帶有矩陣行列信息的行列式,如式 (3)、式 (4)所示,擴充后矩陣的2 個加權 “校驗和” 可 表 示 為 2 個 行 (列) 向 量 [v11v12]和[w11w12],輸出矩陣的最后兩行 (列)為輸入向量的“校驗和”的權重因子與x 相乘的結果,表示為[v1v2]和 [w1w2]。其中第1個校驗行 (列)可等價于加權因子全為1的行向量乘以矩陣H+,相當于對H+的列向量求和;第2個校驗行 (列)等價于加權因子為1和-1的行向量乘以矩陣H+

其中v11=a*11+a*21;v12=a*12+a*22;w11=a*11-a*21;w12=a*12-a*22。
為完成矩陣向量的檢錯和糾錯,引入2個標志量m 和n,定義如下

判斷矩陣向量是否發生錯誤,只需要判斷m 和n是否為0,以及m+n 是否為0,三者結合可判斷出矩陣向量發生錯誤的數據塊位置,以此檢測出故障位置,詳述如下:
如果m =0并且n=0,則沒有發生錯誤;
如果m =0并且n≠0,則 “校驗和”w1發生錯誤;
如果m ≠0并且n=0,則 “校驗和”v1發生錯誤;
如果m ≠0并且n≠0,則計算m+n,當m+n=0時,c21計算錯誤;當m+n≠0時,c11計算錯誤。
在2.1方式發現故障位置的基礎上,用錯誤數據減去m 就可以獲得正確數值。以式 (5)為例

假設計算c21時,受單粒子翻轉影響,其值被錯誤的計算為2.1,即c′21=-2 +2.1 =0.1,此時

由式(9)可知,m≠0、n≠0并且m+n=0,判定c21計算錯誤,則正確的c21應為c′21-m=-2.1+0.1=-2。
由第2節可知,如果m 或n中有且僅有一個為0,則“校驗和”的計算過程中發生錯誤,乘法器核工作正常,輸出結果不受影響,此時可以重新計算一下 “校驗和”,并對錯誤的 “校驗和”計算模塊重構復位;如果m,n 都為0時,不需要做任何處理,可視為沒有發生單粒子翻轉;如果m 和n同時不為零,則計算m+n:當m+n=0時,c21計算錯誤;c11正確的計算結果為c11-m;當m+n≠0時,c11計算錯誤;c21正確的計算結果為c11-m。
圖3是基于三模冗余設計ZF檢測算法模型,其中H表示信道矩陣,矩陣x表示輸出信號。該設計具有良好的抗SEU 性能,但其資源占用率過高。圖4是EDAC-ZF 模型,可以看出ZF檢測算法主要包括矩陣求逆運算和矩陣乘法運算。本文將矩陣乘法器和 “校驗和”運算過程按EDAC流程進行模塊化分組設計,把EDAC-ZF 模型分成EDAC模塊、TMR 模塊、復用模塊,從系統結構角度進一步降低了資源占用率。系統設計如圖5所示。

圖3 TMR-ZF模型

圖4 EDAC-ZF模型

圖5 EDAC-ZF系統設計
虛線框表示EDAC 的 “校驗和”計算過程,用于檢測和糾正由單粒子效應引發的軟錯誤,與三模冗余設計相比,僅使用2/3的乘法器資源。
虛線和實線框部分包括加法、減法、乘法運算模塊,其中乘法運算分為4組,分別對應c11,c12,v1,w1的計算過程,每組包含2個乘法器,共8 個乘法器;加法、減法運算 模 塊 分 為 兩 組, 分 別 對 應 行 向 量 [v1v2]和[w1w2]運算過程。此外,矩陣求逆過程可復用矩陣乘法運算的乘法器核,構成TMR 結構,可進一步降低資源占用率。
灰色框采用TMR 設計,以保證系統整體抗SEU 能力。
為了驗證本文所提算法具有資源占用率小的優勢,本文針對迫零檢測算法和矩陣乘法,在不同數據位寬下3種設計相比無抗SEU 性能算法的資源占用增加率進行仿真實驗,其結果如圖6、圖7所示。從圖6、圖7可以看出,數據位寬高于15bit時,基于TMR 的設計資源占用增加率最高,且穩定在3.1 倍左右。隨著數據位位寬變長,基于RPR的設計資源占用增加率最低,其主要原因是RPR 設計比EDAC少使用(N/2)2面積的乘法器資源,但使用較多的移位和加減運算。在數據位寬低于25時,EDAC 設計資源占用率最低,由于實際通訊中通常采用16bits的數據位寬,因此EDAC設計更適宜衛星通信需求。

圖6 矩陣乘法理論資源占用增加率

圖7 ZF檢測算法理論資源占用增加率
為分析所提的EDAC-ZF檢測算法的實際資源占用率,本文基于Xilinx公司的xc5vlx50t-ffg1136c芯片進行了仿真實驗,將基于EDAC 設計的ZF 檢測算法和矩陣乘法器與TMR 和RPR 設計的資源占用率作比較。仿真條件:收發天線數Nt=Nr=2,調制方式BPSK,數據位寬16,采用Q11定標法。測試結果和資源占用情況見表1、表2。

表1 矩陣乘法器資源占用

表2 迫零檢測資源占用和時延
測試結果表明:基于EDAC 設計的ZF 檢測算法和矩陣乘法器相比于TMR 和RPR 設計有一定時延,但EDAC和RPR 設計資源占用率優于TMR 設計。其中EDAC 設計比TMR 設計的資源占用率下降約1/3,其主要原因是EDAC設計使用的乘法器個數比TMR 少1/3,并且復用了部分乘法器。EDAC與RPR 設計相比,增加了檢錯、糾錯延時,但降低了芯片資源占用率,并且RPR 設計會降低運算精度。
為分析所提基于EDAC的MIMO 檢測算法的誤比特性能,本文模擬在星載MIMO 檢測算法發生單粒子翻轉的條件下,對基于EDAC的ZF和MMSE 檢測算法在不同信噪比下的誤比特率進行仿真,并與基于RPR 和TMR 設計的MIMO 檢測算法進行對比。仿真條件為萊斯信道,收發天線數Nt=Nr=2,信號采用BPSK 調制。仿真結果如圖8所示。

圖8 MIMO 檢測算法誤比特性
從圖8可以看出,基于EDAC的MIMO 檢測算法的誤比特性能與基于TMR設計的MIMO 檢測算法相比無明顯變化。在BER相對較大時,基于RPR 設計MIMO 檢測算法的誤比特性能明顯惡化,并且誤比特率下降到一定程度時不隨SNR 增大而變化。當BER 較小時,3 種設計的誤比特性能相當。其主要原因是,降低精度相當于在MIMO檢測額外引入了一定量的 “噪聲”,當BER 較大時,降低精度對算法的影響遠遠大于信道噪聲對系統的影響,此時降低精度引入的 “噪聲”起決定性作用,使得誤比特率不隨SNR 增大而變化。當信道環境較差時,信道噪聲起主要作用,降低精度引入的 “噪聲”對算法的影響很小,使得基于以上3 種設計的MIMO 檢測算法誤比特性能相當。
抗SEU 性能測試利用Xilinx提供的一個強大的FPGA后端工具FPGA Editor,隨機修改電路范圍內的LUTs、Block RAM、IO 標準等[10]。模擬故障注入流程如下:
(1)加載原始工程文件;
(2)利用命令控制語句生成模擬故障注入的差異bit文件;
(3)在系統正常工作中,實時動態加載修改后的差異bit文件;
(4)通過JTAG (joint test action group)采 集 結 果 與iSim 模擬的正確結果對比,以判斷式 (5)、式 (6)和式(8)中模塊在發生單粒子翻轉之后是否出錯;
(5)如果系統工作正常,重復上述過程 (2)至 (4),并統計測試次數是否達到要求。如果系統功能故障,跳轉至過程 (1)。
按以上流程模擬輻射環境下FPGA 發生的單粒子翻轉故障,進行5000次故障注入,測試結果見表3。

表3 故障注入測試結果
從表3中可以看出,基于EDAC 的矩陣乘法器和迫零檢測算法與TMR 設計相比,降低了發生軟錯誤的概率,軟錯誤減少了約30%,提高了抗SEU 能力,主要原因是EDAC設計的資源占用率下降,受輻射面積減少。與RPR設計相比,軟錯誤數量和系統失效率都有所下降,且RPR設計會降低數據精度。
綜合以上的仿真和測試結果可以看出,基于EDAC 的ZF檢測算法與TMR 設計相比,僅有較小的時延,但降低了資源占用率,提高了抗SEU 性能,與RPR 設計相比,提升了誤比特性能。其綜合性能最好,因此更適用于星載平臺。
針對現有星載抗單粒子翻轉MIMO 檢測算法資源占用率高的問題,從其資源占用率最高的矩陣乘法入手,對其實現方式進行改進,提出了一種基于EDAC 的MIMO 檢測算法。該算法設計致力于減少資源占用率,提高算法的抗SEU 性能。與基于TMR 及RPR 設計的算法相比,該算法設計不僅降低了單粒子翻轉的影響,而且顯著減少了資源占用率,提高了系統的可靠性。
[1]Arapoglou P,Burzigotti P,Bertinelli M,et al.To MIMO or not to MIMO in mobile satellite broadcasting systems [J].IEEE Transactions on Wireless Communications,2011,10(9):2807-2811.
[2]Arapoglou P,Liolis K,Bertinelli M,et al.MIMO over satellite:A review [J].Communications Surveys & Tutorials,IEEE,2011,13 (1):27-51.
[3]Jacobs A,Cieslewski G,George AD.Overhead and reliability analysis of algorithm-based fault tolerance in FPGA systems[C]//22nd International Conference on Field Programmable Logic and Applications,2012:300-306.
[4]Sullivan MA,Loomis HH,Ross AA.Employment of reduced precision redundancy for fault tolerant FPGA applications[C]//17th IEEE Symposium on Field Programmable Custom Computing Machines.IEEE,2009:283-286.
[5]Quinn H,Graham P,Morgan K,et al.Flight experience of the Xilinx Virtex-4 [J].IEEE Transactions on Nuclear Science,2013,60 (4):2682-2690.
[6]ZHANG Chao,ZHAO Wei,LIU Zheng.Research of TMRbased fault-tolerance techniques based on FPGA [J].Modern Electronics Technique,2011,34 (5):167-171 (in Chinese).[張超,趙偉,劉崢.基于FPGA 的三模冗余容錯技術研究[J].現代電子技術,2011,34 (5):167-171.]
[7]Xilinx.LogiCORE IP multiplier v11.2 [EB/OL]. [2011-03-01].http://www.xilinx.com/support/documentation/ip _documentation/mult_gen_ds255.pdf.
[8]Zarandi HR,Miremadi SG,Argyrides C,et al.Fast SEU detection and correction in LUT configuration bits of SRAM-based FPGAs[C]//IEEE International Parallel and Distributed Processing Symposium,2007:1-6.
[9]Stephani RJ,Vilchis MA,Yeung MM.Construction of an optimized SEC-DED code and logic for soft errors in semiconductor memories[P].U.S.Patent 7,117,420,2006-10-03.
[10]Xilinx.Partial reconfiguration user guide[EB/OL]. [2010-03-03]. http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_1/ug702.pdf.