





摘 要: 機載防護型綜合記錄系統(tǒng)對存儲容量和數(shù)據(jù)可靠性有著較高的要求,但大容量固態(tài)存儲器均存在不同程度的誤碼問題。為此,提出一種數(shù)據(jù)不等長編碼保護方案,利用RS碼作為主要編碼方式,針對飛參、艙音、圖片及視頻不同數(shù)據(jù)類型采用不同的編碼冗余,兼顧記錄容量和存儲可靠性。試驗驗證表明,該方案可有效提高機載防護型綜合記錄系統(tǒng)數(shù)據(jù)傳輸和存儲可靠性,提高數(shù)據(jù)還原率,兼顧存儲效率。
關(guān)鍵詞: 飛參; 艙音; 視頻; 不等長編碼; 存儲容量; 存儲可靠性
中圖分類號: TN911.21?34 文獻標識碼: A 文章編號: 1004?373X(2016)13?0055?04
Abstract: The airborne?protection integral record system has high demand in memory capacity and data reliability. Howe?ver, the high?capacity solid?state memory has the bit error problem to a certain extent. That is why an unequal length coding protection scheme is proposed for data, in which the Reed Solomon (RS) code is utilized as the main coding scheme. The different coding redundancies are adopted for various data types, such as flight parameters, cockpit voice, image and video to ensure the recording capacity and storage reliability. The results of experimental verification demonstrate that the proposed scheme can effectively improve the data transmission and storage reliability of the airborne integrated record system for data protection, and data recovery rate while ensuring the storage efficiency.
Keywords: flight parameter; cockpit voice; video; unequal length coding; memory capacity; storage reliability
0 引 言
隨著科技迅猛發(fā)展,目前采用音頻/視頻/飛參信號采集、壓縮大容量存儲技術(shù)的綜合數(shù)據(jù)記錄系統(tǒng)開始在新型飛機上推廣應(yīng)用,在飛行監(jiān)控、科學(xué)維修、故障診斷、事故原因分析等方面發(fā)揮著重要作用。為了保證飛機事故后能得到真實、客觀的記錄數(shù)據(jù),機載防護型綜合記錄系統(tǒng)對數(shù)據(jù)記錄的準確性及可靠性有著極高的要求。現(xiàn)階段由于所需記錄的各種類型數(shù)據(jù)量激增,綜合數(shù)據(jù)記錄系統(tǒng)的存儲容量已經(jīng)突破256 Gb,通常采用NAND閃存實現(xiàn),實際統(tǒng)計表明,NAND閃存存在由單個電路故障引發(fā)的硬錯誤、由α粒子引發(fā)的軟錯誤,同時數(shù)據(jù)高速傳輸和記錄過程中由于復(fù)雜的電磁環(huán)境也會引入各種類型的傳輸錯誤[1?3]。
本文分析機載電磁環(huán)境下多路數(shù)據(jù)存儲過程中干擾類型、產(chǎn)生錯誤的原因,給出了一種不等長編碼保護的糾錯碼方案,對視頻/音頻/飛行參數(shù)提供不同程度的編碼保護。
1 錯誤類型分析
大容量NAND閃存的主要錯誤是單個電路故障所引起的一位或相關(guān)多位錯,而隨機獨立的多位錯誤極少。在按字節(jié)組織的內(nèi)存儲器中,主要錯誤模式為單字節(jié)錯;在按位組織的內(nèi)存儲器中,主要錯誤模式為單位錯。半導(dǎo)體存儲器的錯誤大體上分為硬錯誤和軟錯誤,其中主要為軟錯誤。硬錯誤表現(xiàn)的現(xiàn)象是在某個或某些位置上存取數(shù)據(jù)重復(fù)地出現(xiàn)錯誤,出現(xiàn)這種現(xiàn)象的原因是一個或幾個存儲單元出現(xiàn)故障。軟錯誤主要是由α粒子引起的,存儲器芯片的材料中含有微量放射性元素,它們會間斷地釋放α粒子。這些粒子以相當(dāng)大的能量沖擊存儲電容,改變其電荷,從而引起存儲數(shù)據(jù)的錯誤[1~3]。另外,大容量NAND閃存多為MLC疊層結(jié)構(gòu),由于其工藝問題,如果不使用其內(nèi)部的ECC編碼,則數(shù)據(jù)存儲的誤碼率極高[4]。
引起軟錯誤的另一原因是噪聲干擾。由于機載設(shè)備生存的電磁環(huán)境較復(fù)雜,尤其飛機事故前的關(guān)鍵時刻,機載電磁環(huán)境會更加復(fù)雜,采集到的數(shù)據(jù)在傳輸過程中極有可能受到各種類型噪聲的干擾而發(fā)生傳輸錯誤。
2 詳細設(shè)計
2.1 不等長編碼方案
針對機載防護型綜合記錄系統(tǒng)的特殊需求和特點,以提高數(shù)據(jù)記錄可靠性為目的,同時兼顧數(shù)據(jù)記錄效率,基于FPGA設(shè)計了一種不等長編碼保護的糾錯碼方案,對視頻/音頻/飛行參數(shù)提供不同程度的編碼保護。
方案采用抗突發(fā)錯誤能力較強的Reed?Solomon碼[5]作為主要編碼方式,針對不同數(shù)據(jù)類型采用不同的編碼冗余,對飛參數(shù)據(jù)這種數(shù)據(jù)量小,但重要等級最高的數(shù)據(jù)采用低碼率的編碼方式,并輔以交織編碼級聯(lián),同時實現(xiàn)糾錯和保密編碼;對視頻數(shù)據(jù)這種數(shù)據(jù)量大,相對重要等級比較低的數(shù)據(jù)采用高碼率的編碼方式,以保證數(shù)據(jù)存儲實時性及有效性;對音頻數(shù)據(jù)來講,數(shù)據(jù)量相對較少,重要性相對較高的數(shù)據(jù)也以保證數(shù)據(jù)的可靠性為主。
方案由音頻/視頻/飛行參數(shù)編碼通道、可配置接口通道、速率匹配、多通道數(shù)據(jù)整合組成,如圖1所示。
對音頻/視頻/飛行參數(shù)進行采集、壓縮等處理后,通過接口通道與編碼通道對接,經(jīng)過速率匹配后根據(jù)預(yù)先設(shè)定好的編碼方式對三種不同類型數(shù)據(jù)各自進行編碼,編碼完成后重新經(jīng)過速率匹配,最后對多通道數(shù)據(jù)進行整合,將整合后的數(shù)據(jù)按存儲接口要求進行接口轉(zhuǎn)換完成對NAND FLASH的存儲過程。
其中不等長編碼保護方案采用三種不同的RS編碼方案,分別針對不同格式的視頻信息、圖像信息、飛行參數(shù)數(shù)據(jù)及音頻數(shù)據(jù),相應(yīng)的設(shè)計指標見表1。
碼字類型為RS(255,223)時,碼字取自有限域GF(28),碼長信息位長校驗位長度生成多項式,糾錯能力為255個符號中糾正16個符號隨機錯誤。
碼字類型為截斷碼RS(32,16)時,碼字取自有限域GF(28),碼長信息位長校驗位長度編碼效率為50.0%,生成多項式 糾錯能力為32個符號中糾正8個符號隨機錯誤。
碼字類型為截斷碼RS(48,32)時,碼字取自有限域GF(28),其本原多項式為碼長信息位長校驗位長度編碼效率為66.7%,生成多項式,糾錯能力為48個符號中糾正8個符號隨機錯誤。
2.2 編譯碼通道實現(xiàn)
編譯碼流程如圖2所示。以無壓縮音頻數(shù)據(jù)為例,來自麥克風(fēng)的語音信號經(jīng)采樣量化成數(shù)字信號,接口轉(zhuǎn)換后以串行數(shù)據(jù)流的形式送入該前向糾錯模塊編碼通道,BCLKX是串行數(shù)據(jù)時鐘,根據(jù)音頻采樣速率,可選擇頻率為2.4 kHz,4.8 kHz,9.6 kHz,16 kHz或32 kHz,BDX是串行數(shù)據(jù),BFSR是幀同步信號,每8 b為一幀。
在編碼通道中進行數(shù)據(jù)的接收、串并轉(zhuǎn)換、數(shù)據(jù)緩存,當(dāng)數(shù)據(jù)存滿256 b時,啟動編碼電路,為縮短系統(tǒng)的編碼延時,采用50 MHz的時鐘進行RS(48,32)編碼,碼字符號存入數(shù)據(jù)緩存,當(dāng)一個RS碼字編碼結(jié)束時啟動數(shù)據(jù)發(fā)送模塊,數(shù)據(jù)以串行碼的形式傳送至接口轉(zhuǎn)換單元,BCLKR0是發(fā)送時鐘,頻率可選為32 kHz或31.5 kHz,BDR0為發(fā)送的串行數(shù)據(jù),BFSR0為數(shù)據(jù)幀同步信號,每8 b為一幀。在接收譯碼時,從記錄器中讀取音頻數(shù)據(jù),接口轉(zhuǎn)換后串行進入譯碼通道,BCLKX0為同步時鐘,BFSX0為數(shù)據(jù)幀同步信號,每8 b為一幀。數(shù)據(jù)經(jīng)串并轉(zhuǎn)換后存入數(shù)據(jù)緩存,當(dāng)接收數(shù)據(jù)存滿48 B后啟動譯碼模塊進行數(shù)據(jù)的譯碼,譯碼模塊所用的時鐘頻率為40 MHz,這樣使系統(tǒng)譯碼延時降低。譯碼后的數(shù)據(jù)同時存入數(shù)據(jù)緩存,當(dāng)緩存中有數(shù)據(jù)時啟動數(shù)據(jù)發(fā)送模塊,經(jīng)過速率和接口轉(zhuǎn)換卸載到地面設(shè)備。
為了防止編譯碼器的輸入緩存出現(xiàn)數(shù)據(jù)的讀空或溢出現(xiàn)象,保證數(shù)據(jù)的正確性,在電路中采用時鐘同步與產(chǎn)生電路。由DSP處理器控制程序?qū)χ噶罴拇嫫鬟M行讀寫操作,指令寄存器再對接口工作時鐘頻率進行選擇,實現(xiàn)編譯碼時鐘與外部串行口時鐘的產(chǎn)生與同步。在該電路中BCLKR0與BCLKX1同步,BCLKR1與BCLKX0同步,時鐘的分頻與倍頻采用高倍時鐘HCLK計數(shù)及FPGA片內(nèi)鎖相環(huán)來實現(xiàn)。
編碼器調(diào)用的RS碼編碼子程序RS_encode(*p1, *p2,i)的流程圖如圖3所示。p1為信息的指針,p2為RS碼的指針,i表示第i個碼字。gf_mult為有限域中的乘法與除法函數(shù)。
譯碼器調(diào)用RS譯碼程序,利用Vandermonde矩陣類中的Bjorck?Pereyra算法[5?6]實現(xiàn)其快速譯碼。有限域中的乘法與除法函數(shù)運算服從GF(28)域中的運算。RS譯碼子程序RS_decode(*p1,*p2,*p3)的程序流程圖如圖4所示,p1為RS碼的指針,p2為已解碼信息的指針,p3表示優(yōu)選對的指針,gf_mult()為有限域中的乘法與除法函數(shù)。
3 試驗驗證
3.1 無編碼條件下誤碼率驗證
記錄器存儲組件采用美光MT29F128G08JCABA[4]閃存,由2個片選構(gòu)成,每個片選有8 192個數(shù)據(jù)塊,每個塊有256頁,而每頁有4 096個字節(jié)。數(shù)據(jù)記錄時,測試計算機產(chǎn)生隨機測試數(shù)據(jù),經(jīng)串口發(fā)送至防護型綜合記錄系統(tǒng)采集器,采集器對數(shù)據(jù)處理后發(fā)送至記錄器存儲,為了節(jié)省時間,僅測試了每一個塊的前5頁。測試結(jié)果表明,無編碼條件下的誤碼率在10e-6到10e-7之間,無法滿足防護型綜合記錄系統(tǒng)的應(yīng)用需求。
3.2 誤碼率對比驗證
測試計算機同時向含編碼和不含編碼的機載防護型綜合記錄系統(tǒng)發(fā)送模擬飛參、視頻和音頻三種數(shù)據(jù),將下載后的數(shù)據(jù)回放,并與原文件對比。飛參數(shù)據(jù)以大氣總溫為例,記錄時間約1 h,對比結(jié)果如圖5所示,可見未編碼時毛刺較多;已編碼的數(shù)據(jù)未發(fā)現(xiàn)毛刺。
音頻數(shù)據(jù)以一段音樂為例,記錄時間約10 min,對比結(jié)果如圖6所示,從時域和頻域都可以看出,編碼的音頻失真相對原音頻較小,實際回放時,未編碼的音頻中可以聽出誤碼時的“噠噠”聲,已編碼的音頻“噠噠”聲消除。
視頻數(shù)據(jù)以標清視頻記錄為例,記錄時間約1 h,編碼與未編碼相比回放流暢,馬賽克現(xiàn)象得到有效抑制。
對比驗證表明,實驗室條件下,同樣的傳輸、記錄條件,當(dāng)對飛參、音頻和視頻分別進行不等長編碼和不編碼,傳輸過程均未發(fā)生數(shù)據(jù)溢出等傳輸速率不滿足要求的問題;同時,不等長編碼后可以有效降低三種數(shù)據(jù)的誤碼率。
4 結(jié) 語
本文分析了機載防護型綜合記錄系統(tǒng)的需求特點,基于FPGA設(shè)計了不等長編碼保護方案,可以用于視頻/音頻/飛參記錄過程中的數(shù)據(jù)保護,同時兼顧了記錄的可靠性和有效性,試驗驗證證明設(shè)計合理可行,對于復(fù)雜電磁環(huán)境下重要數(shù)據(jù)記錄等相關(guān)領(lǐng)域具有一定的借鑒意義。
參考文獻
[1] OLDHAM T R, SUHAIL M, FRIENDLICH M R, et al. TID and SEE response of advanced 4G NAND Flash memories [C]// Proceedings of 2008 IEEE Radiation Effects Data Workshop. Tucson: IEEE, 2008: 31?37.
[2] 朱巖.基于閃存的星載高速大容量存儲技術(shù)的研究[D].北京:中國科學(xué)院空間科學(xué)與應(yīng)用研究中心,2006.
[3] 董巍.面向片上存儲應(yīng)用的高性能抗輻射糾錯碼機制的研究與實現(xiàn)[D].上海:上海交通大學(xué),2009.
[4] Micron Technology. NAND Flash memory MT29F128G08JCABA datasheet [R]. US: Micron Technology, 2009.
[5] LIN Shu, COSTELLO D J.差錯控制編碼[M].晏堅,何元智,潘亞漢,譯.北京:機械工業(yè)出版社,2007.
[6] BLAHUT R E. Theory and practice of error?correcting codes [M]. US: Addison?Wesley, 1983.