主頁(http://m.by236.com):TETRA數字集群系統語音信道編解碼的設計和實現(2)
圖2 TETRA系統信道編碼器的結構 TETRA數字集群系統信道編碼器主要由兩大類模塊構成:控制模塊和編碼模塊。 (1)控制模塊 控制模塊主要由主控制模塊、讀RAM地址控制器、1路變2路選擇器以及2路變1路選擇器。根據TETRA數字集群協議棧所要求編碼的邏輯信道類型,主控制模塊控制整個編碼模塊的工作。讀RAM地址控制器通過對讀地址的控制,實現了不同等級的分類。1路變2路選擇器將AACH的編碼數據和其他邏輯信道的編碼數據分離。2路變1路選擇器將兩路編碼數據合并成一路數據,然后進入擾碼模塊。 (2)編碼模塊 編碼模塊主要由循環編碼模塊、RM(Reed-Muller)編碼模塊、卷積編碼模塊、交織模塊以及加擾模塊組成。循環編碼模塊是由移位寄存器實現的,在加入CRC校驗碼之后,還加入了4個比特的尾碼。RM(Reed-Muller)編碼模塊只應用于AACH邏輯信道。卷積編碼模塊支持TETRA協議中規定的各種碼率。交織模塊由塊內交織和塊間交織兩個子模塊組成。在編碼之前,加擾模塊需要協議棧提供色碼參數,才能正確輸出編碼結果。 在獲知協議棧所要求編碼的邏輯信道類型之后,主控制模塊開始從存儲數據的RAM中讀取待編碼數據,讀取的個數隨著邏輯信道類型的不同而不同。因為待編碼數據是按順序存入RAM中,而TETRA數字集群系統中語音信道的編碼方案采用了非均等保護,要求輸入編碼器的碼元順序按等級分類,所以在對語音數據進行編碼之前,主控制模塊通過讀RAM地址控制器模塊來控制讀RAM的地址順序,從而完成等級分類。
在TETRA數字集群系統的信道編碼方案中,AACH邏輯信道的編碼流程與其他邏輯信道的編碼流程不同,所以在實際實現的過程中,通過兩個路徑選擇器形成兩條編碼路徑,使AACH的編碼路徑與其他邏輯信道分開。
圖3 TETRA語音業務信道編碼流程 在接收到編碼指令之后,信道編碼器首先判斷協議棧要求編碼的邏輯信道類型,并根據邏輯信道類型從語音緩存區里讀取數據:全時隙業務信道(TCH/F)讀取274比特的數據;半時隙業務信道(TCH/H)讀取137比特的數據。由于語音緩存區里的比特流級別順序是混亂的,所以必須對比特進行重排,將各級別數據分類,并按順序排放。只對第二等級的比特進行CRC編碼,在第二等級比特流末端加入CRC校驗值之后,還要再加入4比特尾碼。根據395-2協議,業務信道編碼前的碼元是逆序進入移位寄存器的,即最先進入編碼模塊,最后進入移位寄存器;最后進入編碼模塊,最先進入移位寄存器。當進行RCPC編碼時,首先對第1等級比特進行卷積,然后對第2等級比特(包括CRC校驗碼和尾碼)進行運算。第1等級和第2等級的比特所進行刪余的碼率是不同的,但處理是連續進行的,在碼率轉換的時刻,寄存器不要清空。對所有比特進行交織和加擾。 5 結束語 本文對TETRA數字集群系統語音業務信道所采用的糾錯編碼技術進行了分析,闡述了語音業務信道的編碼流程,并給出了用FPGA實現編碼器的方案,為進一步的研究與開發提供參考。
參考文獻:
(中國集群通信網 | 責任編輯:陳曉亮) |




