航天恒星科技有限公司 李 博 高振華 艾國志 陳皓一
一種適用于C C S DS規范的數據交織與解交織方法設計
航天恒星科技有限公司 李 博 高振華 艾國志 陳皓一
數據的交織與解交織通常與信道編譯碼器結合使用,組成信道糾錯系統。此類系統可將突發錯誤離散成隨機錯誤,使突發錯誤散布在譯碼器糾錯范圍之內,提高信道抗干擾能力。本文針對CCSDS規范中RS編譯碼的特點,設計了一種數據交織與解交織的方法。該方法根據不同的交織深度,對數據進行分類處理。實現了不同交織深度下數據的交織與解交織。同時在FPGA中對此方法進行了設計和仿真。仿真結果表明該方法可實現適用于RS編譯碼的數據交織與解交織功能。
CCSDS;數據交織;數據解交織;數據傳輸
交織和解交織是一種常用的構造碼方法,交織技術的基本思想是在數據的發送端改變碼元的發射順序,將一個有記憶信道成功轉變為無記憶信道。同時在接收端按照特定接收順序接收碼元,從而恢復碼流的原始狀態[1]。交織技術與糾錯編譯碼技術相結合,可以把突發錯誤離散成隨機錯誤,在隨機錯誤的狀態下進行譯碼糾錯,可取得良好的效果[2]。該方法常用于組合信道糾錯系統。實際使用中,在發送端數字交織單元加上糾錯編碼器后,接收端譯碼后接去交織,通過交織解交織模塊的作用,將突發錯誤信道改造成獨立的隨機錯誤信道,將突發錯誤展開,實現錯誤離散化,使突發錯誤散布在糾錯編碼器糾錯范圍之內。以提高信道抗干擾的能力[3]。
現有數據傳輸系統中,交織技術與RS編譯碼相結合的處理方式能夠滿足相應的需求,但是對于大數據量和高速率數據傳輸系統,為了滿足系統數據吞吐量以及速率的要求,數據采用并行傳輸的方式,現有的交織技術與RS編譯碼處理結構很難適應高速率下的并行傳輸方式,容易造成數據堆積導致誤碼,同時自身結構也限制了系統的傳輸速率[4][5]。
本文提出了一種適用于CCSDS規范的高速信息傳輸交織與解交織方法,該方法對輸入的待譯碼信息進行處理,對于不同交織深度下的數據分類處理,既提高了系統的可靠性又滿足了數據并行處理的高速率要求。此方法進行高速率數據的交織與解交織,處理復雜度較低,占用資源較少,同時對于并行度更高、傳輸速率更高的傳輸系統設計具有參考價值,可拓展性強,因此具有廣泛的適用性。
CCSDS規范中RS譯碼要求的數據交織深度分別為1,2,3,4,5,8。針對6種交織深度,本文設計了短交織單元、短解交織單元、長交織單元和長解交織單元分類實現數據交織和解交織。短交織單元和短解交織單元實現交織深度為1,2,3的數據交織和解交織,長交織單元和長解交織單元實現交織深度為4,5,8的數據交織和解交織。

1.短交織單元
短交織單元中根據交織深度,選通相應的通道,利用乒乓結構輸入到相應選通的交織器中對數據進行分步處理,選通的交織器每次觸發輸出交織后數據,交織后數據進行重組,根據交織深度選通輸出通道,每個選通支路每次觸發后輸出數據,完成數據交織。
短交織單元交織器由4個輸入緩存FIFO、地址映射模塊、讀使能信號產生模塊和地址映射數據重構模塊組成,4個輸入緩存FIFO對4路輸入數據進行緩存,4個FIFO完成一個整幀的存儲后,啟動讀FIFO讀使能信號產生模塊產生讀FIFO使能信號。讀使能信號經過地址映射模塊進行有目的、有次序的讀FIFO操作,地址映射模塊根據輸入的交織深度參數,按照地址映射算法產生相應的讀FIFO地址標識,讀FIFO使能信號按照地址標識的指示觸發相對應的FIFO,讀出相對應的數據并輸入到地址映射數據重構模塊,按照地址映射方式進行數據重組,并根據交織深度參數選通相應輸出支路輸出數據,即實現了數據交織。

2.短解交織單元
短解交織單元中,根據交織深度選通相應接口作為輸入端口,輸入數據通過選通的輸入端口進入單元中進行數據重組,重組后數據分別輸入到解交織器中進行數據的解交織,解交織后數據根據交織深度選通輸出通道輸出數據,完成數據解交織。
短解交織單元解交織器包括串并轉換模塊、地址映射模塊、4個輸出緩存FIFO和FIFO寫使能信號產生模塊,解交織器輸入端共32bit位寬,輸入數據根據交織深度不同,占用不同的位寬,經過串并轉換后,共有4個輸出接口,根據交織深度參數設置選通輸出串并轉換后的數據,串并轉換后的數據輸入到地址映射模塊,輸入到地址映射模塊的數據根據地址映射算法有目的、有次序的進行數據重組,輸入到相應的4個輸出緩存FIFO中。地址映射算法為交織器中地址映射算法的逆運算,FIFO讀使能信號產生模塊在4個FIFO存儲一整幀數據后產生讀使能信號,讀使能信號輸入到地址映射模塊中,根據與交織深度相對應的地址映射算法將所述讀使能信號映射到相應的FIFO中,使能相應的FIFO讀出數據,4個FIFO輸出的數據即為解交織后的4路數據。

3.長交織單元
長交織單元根據交織深度產生相應地址映射算法,對輸入數據進行數據映射重組,映射重組后根據地址映射算法選通相應輸出支路輸出數據,將映射重組后數據輸入對應的輸出緩存FIFO,根據交織深度,選通相對應的FIFO輸出端口,被選通的FIFO輸出數據即為交織后的數據。

4.長解交織單元
長解交織單元根據交織深度選擇輸入數據通道,將數據傳輸到相對應的FIFO中進行緩存,緩存數據為一整幀數據后,讀出FIFO中數據。即為解交織后數據。FIFO讀取順序依據地址映射算法的映射,該單元中的地址映射算法為長交織深度交織器中地址映射算法的逆運算。
本設計選用Xilinx公司的ISE12.4作為硬件開發平臺,并采用Verilog語言進行代碼編寫。文中程序已通過了綜合實驗,分別選取一幀數據為223字節,交織深度為4和2,進行功能仿真,仿真結果正確。下圖為功能仿真圖。

交織深度為4功能仿真圖1

交織深度為2功能仿真圖2
功能仿真圖中,frm_dat_inI[7:0]為數據交織前輸入數據流,deinterlance_din_I[63:0]為交織后數據流,deinterlance_data_outI[7:0]為解交織后數據流,deinterlance_vldin_I[7:0]為交織深度。從圖中可以看出,輸入的數據流為有序數,若交織深度設置為4,數據交織模塊會按序取四個數據進行交織并輸出。解交織模塊會對交織后的數據進行解交織,將交織后的數據還原為有序數。若交織深度設置為2,則數據交織模塊會按序取兩個數據進行交織并輸出。解交織模塊會對交織后的數據進行解交織,將交織后的數據還原為有序數。
本文針對CCSDS規范中RS編譯碼的特點,設計了一種數據交織與解交織的方法。該方法根據不同的交織深度,對數據進行分類處理。實現了不同交織深度下數據的交織與解交織。同時在FPGA中對此方法進行了設計和仿真。仿真結果表明該方法可實現適用于RS編譯碼的數據交織與解交織功能。
[1]張赟隆.交織與解交織的算法研究及FPGA實現[D].西安電子科技大學,2007.
[2]范寒柏,宋文妙.數據通信中交織與解交織的FPGA實現[J].華北電力大學學報,2002,29(2).
[3]晉兆虎.信道編譯碼與交織解交織技術及應用[D].重慶大學,2005.
[4]張善旭.一種塊交織的交織及解交織方法[J].信息通信,2013(7).
[5]蔡劍,孫獻璞,陳立娜.一種用CPLD實現的短幀交織器設計[J].現代電子技術,2007,30(3).
A kind of applicable to CCSDS standard data interleave and de-interleave method
Data interleave and de-interleave is usually combined with channel decoder,error correction system of channel. In the systems,burst error can be divided into random errors.The burst error spread within the scope of the decoder error correction.Channel anti-interference ability was improved.In this paper,according to the characteristics of RS coder in the CCSDS standard compiler design a kind of data interleave and de-interleave method.The method classify data processing according to the different interleave depth.Implements the interweave and de-interleave of data in different interleave depth.This method is simulated and implemented in FPGA.The results show that the method can realize the function of data interleave and de-interleave based on RS decoder.
CCSDS;data interleave;data de-interleave;data transmission
李博(1986-),男,工程師,現供職于航天恒星科技有限公司,主要從事衛星通信,遙感數據接收方面的研究。
高振華(1984-),男,工程師,現供職于航天恒星科技有限公司,主要從事遙感衛星地面接收站系統設計研究。
艾國志(1981-),男,工程師,現供職于航天恒星科技有限公司,主要從事遙感地面站數據接收處理方面的研究。
陳浩一(1985-),男,工程師,現供職于航天恒星科技有限公司,研究方向:計算機科學與技術,靜止衛星地面應用軟件架構設計。