用FPGA實現TETRA數字集群通信系統語音信道編碼中的交織器
1 語音信道編碼流程
TETRA數字集群系統中,語音信號數字化處理再經過ACELP算法[1]編碼后得到低速率的語音數據流,該語音數據流分為三類,分別為:每幀(30 ms)0類為51比特、1類為56比特、2類為30比特。
在這三類中,2類是最關鍵的。2類比特用CRC碼和卷積碼來保護,1類比特只用卷積碼來保護,而0類比特是沒有保護的。根據TETRA數字集群標準,將2個連續的30 ms(精確為29.97 ms)語音信息組合并。第一步把0類、1類和2類比特組合成一個群,產生一個代表60 ms話音的274比特的單組。2類比特通過一個CRC碼產生8比特校驗碼,并加到2類子組的尾部。卷積碼既適用于1類比特,又適用于2類比特。4比特的尾部加到重新設置的編碼器狀態上。這里采用一種經濟的收縮碼以3/2速率用于1類比特,以18/8速率用于2類比特、奇偶校驗比特和尾部。
然后,所合成的330比特與無保護的0類比特重新合并,形成一個432比特組。最后對形成的432比特組進行時隙內的比特交織[2],形成新的數據比特流,最后將該數據比特流與系統其他信息比特流復用,經過調制后送入無線信道。
在信道編碼中采用交織技術,將連續的突發錯誤分散,使其轉換為隨機錯誤,從而提高整個通信系統的可靠性。下面將主要研究語音信道編碼中如何使用交織技術。
2 交織器工作原理
數字通信中常用的交織器按交織對象分可分為字節交織和比特交織。這里以比特交織為例介紹一下交織器的工作原理。
假設有3個要傳輸的(5,3)碼塊B1,B2,B3為:
不采用交織技術在信道上傳輸的數據比特流為:
變換后即交織處理后在信道上傳輸的數據比特流為:
假設不采用交織技術接收端收到數據為(“×”表示傳輸過程中出錯的數據):a2a1a0P1P0b2b1×××c2c1c0 R1R0。因為傳輸的是(5,3)碼塊,這樣每個碼塊中出現一位錯誤可以糾正,故對碼塊b2 b1×××連續突發出現的三位錯誤就無法進行糾正了。如果采用交織編碼后再傳輸數據,接收端收到數據應為:a2b2c2a1 b1c1 a0×××Q1R1 P0 Q0 R0。接收端再對數據進行序列變換得:a2 a1a0×P0b2 b1×Q1Q0c2c1×R1 R0。這樣連續突發出現的三位錯誤就分散到3個碼塊中,均可得到糾正。
一般來說,如果有r個(n,k)碼,排成r×n矩陣,按列交織后存儲或傳送,讀出或接收時恢復原來的排列,若(n,k)碼能糾t個錯誤,那么交織后就可糾rt個錯誤[3]。對糾正信道傳輸過程中出現的突發錯誤效果明顯。TETRA語音信道編碼中使用這種比特交織器。
3 用FPGA實現交織器的方法
TETRA數字集群系統語音信道編碼對語音比特流進行交織編碼時,以CRC和FEC編碼后一個時隙內432比特的語音數據流為處理單位,分成18行,每行24比特,進行比特交織編碼。
根據Altera公司FLEX系列器件的內部結構特點,可以利用EAB資源,用存儲器實現TETRA數字集群語音信道編碼中的交織器。這種方法實現起來比較簡單,可以用現有的邏輯器件LPM-RAM-DP來實現。
考慮到語音實時傳輸過程延時要盡可能小,在此選用雙口RAM,以保證能對存儲器的緩沖區同時讀寫,減小延時。因為24×18=432<1 024,故容量用1kB即可,圖1為實現該交織器的原理框圖。交織器實際工作時,先將一個時隙內(60 ms)的432比特語音數據流按地址從0~431全部寫入左RAM,432比特的數據全部送達左RAM后,用分頻器產生控制信號使左RAM由寫狀態轉換為讀狀態,可以從中讀出交織處理后的數據。同時右RAM狀態變為寫,下一時隙的432比特數據寫入右RAM,432比特的數據全部送達右RAM后,用分頻器產生控制信號使右RAM由寫狀態轉換為讀狀態,同時左RAM變成寫狀態,依次反復循環完成交織編碼。
這種實現交織編碼的方法是將輸入的數據直接存入存儲器,存儲的順序由地址確定。然后再將這些數據按照一定的順序讀出來,順序也是由地址確定。因此做一個合適的地址產生器便能滿足交織編碼的要求,使用Altara的開發工具QUARTUS可以實現對該交織器的仿真。圖2為使用QUARTUSII實現該交織器的電路原理圖。
這是基于FLEX10K的EPF10K30EFC256-1器件實現的交織器,在QUARTUSII編輯器中,在lpmrom0存儲器中存儲滿足交織編碼的數據地址變換程序,仿真后編碼延遲遠小于60 ms(一個時隙),滿足TETRA數字集群系統語音信道編碼中交織編碼的要求。
4 結 語
隨著通信技術的發展,我國現有的模擬集群通信系統必將被數字集群通信系統所代替。本文針對信息產業部重點支持發展的TETRA數字集群通信系統,詳細介紹了該系統語音信道編碼結構和流程,分析了信道編碼中采用的交織技術,針對語音通信的特點,詳細介紹了用FPGA實現TETRA數字集群通信系統語音信道編碼中的交織器的方法。為進一步研究TERTA數字集群通信系統和信道編碼打下了良好的基礎。
參考文獻
[1]傅寅飛,劉亞康,朱學勇.全數字集群系統(TETRA)聲碼器的仿真與實現[J].移動通
[2]蘇閩,張乃通,譚學治,等.交織編碼在TETRA數字集群系統語音業務信道中的性能研究[J].移動通信,2002,(5):39-42.
[3]林福宗.多媒體技術基礎[M].北京:清華大學出版社,2000.
(編輯:chiying)
評論