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