一種用CPLD實現的短幀交織器設計
通信技術的發展,對于系統可靠性的要求不斷提高,特別在移動通信領域,數字信號的傳輸過程常會伴隨有各類的干擾源,從而使得信號產生失真,影響通信質量。糾錯編碼技術可以糾正信道中的隨機干擾產生的數字信息序列的隨機錯誤。但是,僅利用糾錯編碼技術,對于傳輸過程中的突發性干擾,需要借助于很長的碼字,這樣會增加編譯碼器的復雜性,同時也會產生較大的時延。
交織技術作為一項改善通信系統性能的方式,將數據按照一定的規則打亂,把原先聚集成片的誤碼分散,使得突發性錯誤轉化為隨機性錯誤,這樣,糾錯后的誤碼個數則在糾錯碼的糾錯范圍內,接收端就可以用較短的碼字進行糾錯。
2 交織器的性能分析
2.1 交織器類型的選擇原則
常用的交織器主要有3種:矩陣分組式、偽隨機式和半偽隨機式[1]。
矩陣分組式交織器,由于序列較短的偽隨機數之間的相關特性較大,對于實時性要求高、信息幀較短的通信系統,性能優于偽隨機和半偽隨機式交織器。
隨著信息幀長度的增加,交織長度也相應增長,此時若采用矩陣分組交織器,交織前后信息序列的不動點增多,偽隨機數產生更加均勻,交織前后的序列相關
半偽隨機交織方式則為折衷的方案。
2.2 矩陣分組交織原理
分組交織器的結構較為簡單,他是一個mn的矩陣。他按行的順序寫入存儲器,再按列的順序讀出。根據讀出方式的不同,分組交織器可分為兩種不同的類型:A型分組交織器和B型分組交織器。按行寫入,按列的先后順序逐列讀出,稱為A型交織器;按行寫入,按列的倒序讀出,即從最后一列向第一列讀出,而對于每一列則是按照從最后一行向第一行的順序讀出,稱為B型交織器。
如圖1所示,假設信息比特的輸入順序是:d11,d12,…,d1n,d21,d22,…,d2n,…,dm1,dm2,…,dmn。對于A型分組交織器,讀出順序為:d11,d21,…,dm1,d12,d22,…,dm2,…,d1n,d2n,…,dmn;對于B型分組交織器,讀出順序為:dmn,…,d2n,d1n,…,dm2,…,d22,d12,dm1,…,d2l,d11。
對于任何長度l≤m的突發錯誤經交織后成為至少被n-1位隔開的一些單個獨立差錯。
3 交織器的設計
本節針對CDMA2000的話音標準速率為9.6 kb/s,相應每幀數據長度為192 b。給出了用可編程邏輯器件來實現A型分組比特交織器。采用的軟件開發環境是Max+PlusⅡ,采用自頂向下(Top-Down)的設計方法。
3.1 交織形式的選擇
交織形式的選擇應保證傳輸的數字序列在交織前后不動點最少,并且相關性最小。CDMA2000中每幀的數據長度分別為192 b,每幀大約為20 ms。那么可選用的交織長度只能與此大致相當。文獻[2]計算比較了1216,1315,1414三種交織型式,如表1所示。分析可知,我們的設計應采用12組碼字進行交織,每組16 b碼長,交織長度為192 b。
3.2 整體設計
本設計以RAM塊作為主體模塊,交織器的實現主要由3部分組成:地址產生模塊、控制模塊和作為交織數據存儲的交織寄存器模塊。
為了保證對于傳輸數據序列交織的連續性,選取了2片RAM塊用來進行交織存儲。采用乒乓的工作方式,如此反復循環,在保證傳輸實時性的條件下,就完成了數據的交織。
圖2示出了具體的交織器的實現原理框圖。該系統有6個輸入信號,分別為輸入數據時鐘信號(DatainCLK),系統工作允許信號(en),系統清零信號(sclr),輸出數據時鐘信號(Dataout CLK),輸出數據允許信號(Dataout en)和待交織信息序列。該系統有一個輸出信號,為交織后的信息序列。
3.3 讀寫地址產生模塊
圖3給出了應用Max+PlusⅡ軟件對交織器讀/寫地址產生器進行設計的具體的電路連接圖。
圖4給出了選用Max+PlusⅡ軟件菜單命令File/Create Default Symbol,生成的讀/寫地址產生器的邏輯符號。這樣該讀/寫地址產生器就可以像其他邏輯符號一樣,在圖形設計文件中任意調用。該邏輯符號的輸出除了8位讀/寫地址外,還有一個進位信號CAR。該進位信號供控制模塊產生控制信號使用。
3.4 交織器的整體電路
圖5給出了應用Max+PlusⅡ軟件實現的交織器設計的整體邏輯原理圖。
3個二選一的選擇器。其中有2個選擇器在控制信號的作用下分別完成對2片RAM讀/寫地址的選擇,因為2片RAM的讀寫順序正好相反,所以應對控制信號進行相應的取非操作。另一個選擇器完成對2片RAM輸出數據進行選擇,選擇器的最終輸出數據作為交織后的數據。由于數據在存入和讀出RAM時引入了一個半周期的延時,所以應用了2個D觸發器dffc2來消除使能信號與時鐘之間的延時。數據輸出端的D觸發器mdff是為了消除輸出信號的毛刺而設計的。
根據系統的工作原理,設計出控制時序,進行仿真的結果如圖6所示。
系統仿真時輸入交織器的串行碼組為0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1交替序列,由A型分組交織器的工作原理可知,得到的交織后的輸出數據為O,1交替的序列。該波形仿真結果表明交織器正常工作。從圖6中可以看出,該交織器從待交織數據輸入到交織后輸出有7.79μs的延時存在。圖中在7.79μs以前,輸出的數據為0是因為RAM塊中的初始數據為O。
3.5 解交織器的設計
解交織是交織的逆過程,這決定了解交織器和交織器對于交織數據在交織矩陣中的讀/寫順序正好相反。在解交織器的設計中.改動的部分只是在2片RAM的讀/寫選擇信號前分別加了一個非門。從而可以完成解交織數據按交織地址寫入,按順序地址讀出,進而完成解交織過程,恢復出原始數字信息序列
4 結 語
短幀數字通信系統適合采用矩陣式分組交織,本文以CDMA2000語音傳輸標準下短幀為例,給出了具體的1216的A型分組比特交織器和解交織器。在實際中,該設計方案在不增加系統復雜度的情況下,只需對相應的模塊進行修改,很容易實現交織深度和形式的改動,具有重要的參考價值。
評論