<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 用FPGA實現(xiàn)TETRA數(shù)字集群通信系統(tǒng)語音信道編碼中的交織器

          用FPGA實現(xiàn)TETRA數(shù)字集群通信系統(tǒng)語音信道編碼中的交織器

          作者: 時間:2017-06-06 來源:網(wǎng)絡(luò) 收藏
          交織技術(shù)能很好地糾正信息傳輸過程中出現(xiàn)的突發(fā)性錯誤。在數(shù)字信息傳輸系統(tǒng)中得到了廣泛應(yīng)用。本文將在討論信息產(chǎn)業(yè)部重點支持發(fā)展的結(jié)構(gòu)和流程的基礎(chǔ)上,重點研究交織技術(shù)在其中的應(yīng)用及用實現(xiàn)該的方法。

          1 流程

          系統(tǒng)中,語音信號數(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ù)標(biāo)準(zhǔn),將2個連續(xù)的30 ms(精確為29.97 ms)語音信息組合并。第一步把0類、1類和2類比特組合成一個群,產(chǎn)生一個代表60 ms話音的274比特的單組。2類比特通過一個CRC碼產(chǎn)生8比特校驗碼,并加到2類子組的尾部。卷積碼既適用于1類比特,又適用于2類比特。4比特的尾部加到重新設(shè)置的編碼器狀態(tài)上。這里采用一種經(jīng)濟(jì)的收縮碼以3/2速率用于1類比特,以18/8速率用于2類比特、奇偶校驗比特和尾部。

          然后,所合成的330比特與無保護(hù)的0類比特重新合并,形成一個432比特組。最后對形成的432比特組進(jìn)行時隙內(nèi)的比特交織[2],形成新的數(shù)據(jù)比特流,最后將該數(shù)據(jù)比特流與系統(tǒng)其他信息比特流復(fù)用,經(jīng)過調(diào)制后送入無線信道。

          在信道編碼中采用交織技術(shù),將連續(xù)的突發(fā)錯誤分散,使其轉(zhuǎn)換為隨機(jī)錯誤,從而提高整個的可靠性。下面將主要研究語音信道編碼中如何使用交織技術(shù)。

          2 工作原理

          數(shù)字通信中常用的按交織對象分可分為字節(jié)交織和比特交織。這里以比特交織為例介紹一下交織器的工作原理。

          假設(shè)有3個要傳輸?shù)模?,3)碼塊B1,B2,B3為:
           

          本文引用地址:http://www.ex-cimer.com/article/201706/349357.htm
          不采用交織技術(shù)在信道上傳輸?shù)臄?shù)據(jù)比特流為: 
           
          變換后即交織處理后在信道上傳輸?shù)臄?shù)據(jù)比特流為: 
            
          假設(shè)不采用交織技術(shù)接收端收到數(shù)據(jù)為(“×”表示傳輸過程中出錯的數(shù)據(jù)):a2a1a0P1P0b2b1×××c2c1c0 R1R0。因為傳輸?shù)氖牵?,3)碼塊,這樣每個碼塊中出現(xiàn)一位錯誤可以糾正,故對碼塊b2 b1×××連續(xù)突發(fā)出現(xiàn)的三位錯誤就無法進(jìn)行糾正了。如果采用交織編碼后再傳輸數(shù)據(jù),接收端收到數(shù)據(jù)應(yīng)為:a2b2c2a1 b1c1 a0×××Q1R1 P0 Q0 R0。接收端再對數(shù)據(jù)進(jìn)行序列變換得:a2 a1a0×P0b2 b1×Q1Q0c2c1×R1 R0。這樣連續(xù)突發(fā)出現(xiàn)的三位錯誤就分散到3個碼塊中,均可得到糾正。

          一般來說,如果有r個(n,k)碼,排成r×n矩陣,按列交織后存儲或傳送,讀出或接收時恢復(fù)原來的排列,若(n,k)碼能糾t個錯誤,那么交織后就可糾rt個錯誤[3]。對糾正信道傳輸過程中出現(xiàn)的突發(fā)錯誤效果明顯。TETRA語音信道編碼中使用這種比特交織器。

          3 用實現(xiàn)交織器的方法

          TETRA數(shù)字集群系統(tǒng)語音信道編碼對語音比特流進(jìn)行交織編碼時,以CRC和FEC編碼后一個時隙內(nèi)432比特的語音數(shù)據(jù)流為處理單位,分成18行,每行24比特,進(jìn)行比特交織編碼。

          根據(jù)Altera公司FLEX系列器件的內(nèi)部結(jié)構(gòu)特點,可以利用EAB資源,用存儲器實現(xiàn)TETRA數(shù)字集群語音信道編碼中的交織器。這種方法實現(xiàn)起來比較簡單,可以用現(xiàn)有的邏輯器件LPM-RAM-DP來實現(xiàn)。

          考慮到語音實時傳輸過程延時要盡可能小,在此選用雙口RAM,以保證能對存儲器的緩沖區(qū)同時讀寫,減小延時。因為24×18=432<1 024,故容量用1kB即可,圖1為實現(xiàn)該交織器的原理框圖。交織器實際工作時,先將一個時隙內(nèi)(60 ms)的432比特語音數(shù)據(jù)流按地址從0~431全部寫入左RAM,432比特的數(shù)據(jù)全部送達(dá)左RAM后,用分頻器產(chǎn)生控制信號使左RAM由寫狀態(tài)轉(zhuǎn)換為讀狀態(tài),可以從中讀出交織處理后的數(shù)據(jù)。同時右RAM狀態(tài)變?yōu)閷?,下一時隙的432比特數(shù)據(jù)寫入右RAM,432比特的數(shù)據(jù)全部送達(dá)右RAM后,用分頻器產(chǎn)生控制信號使右RAM由寫狀態(tài)轉(zhuǎn)換為讀狀態(tài),同時左RAM變成寫狀態(tài),依次反復(fù)循環(huán)完成交織編碼。




          這種實現(xiàn)交織編碼的方法是將輸入的數(shù)據(jù)直接存入存儲器,存儲的順序由地址確定。然后再將這些數(shù)據(jù)按照一定的順序讀出來,順序也是由地址確定。因此做一個合適的地址產(chǎn)生器便能滿足交織編碼的要求,使用Altara的開發(fā)工具QUARTUS可以實現(xiàn)對該交織器的仿真。圖2為使用QUARTUSII實現(xiàn)該交織器的電路原理圖。

          這是基于FLEX10K的EPF10K30EFC256-1器件實現(xiàn)的交織器,在QUARTUSII編輯器中,在lpmrom0存儲器中存儲滿足交織編碼的數(shù)據(jù)地址變換程序,仿真后編碼延遲遠(yuǎn)小于60 ms(一個時隙),滿足TETRA數(shù)字集群系統(tǒng)語音信道編碼中交織編碼的要求。

          4 結(jié) 語

          隨著通信技術(shù)的發(fā)展,我國現(xiàn)有的模擬集群必將被數(shù)字集群通信系統(tǒng)所代替。本文針對信息產(chǎn)業(yè)部重點支持發(fā)展的TETRA數(shù)字集群通信系統(tǒng),詳細(xì)介紹了該系統(tǒng)語音信道編碼結(jié)構(gòu)和流程,分析了信道編碼中采用的交織技術(shù),針對語音通信的特點,詳細(xì)介紹了用實現(xiàn)TETRA數(shù)字集群通信系統(tǒng)語音信道編碼中的交織器的方法。為進(jìn)一步研究TERTA數(shù)字集群通信系統(tǒng)和信道編碼打下了良好的基礎(chǔ)。





          參考文獻(xiàn)


          [1]傅寅飛,劉亞康,朱學(xué)勇.全數(shù)字集群系統(tǒng)(TETRA)聲碼器的仿真與實現(xiàn)[J].移動通
          [2]蘇閩,張乃通,譚學(xué)治,等.交織編碼在TETRA數(shù)字集群系統(tǒng)語音業(yè)務(wù)信道中的性能研究[J].移動通信,2002,(5):39-42.
          [3]林福宗.多媒體技術(shù)基礎(chǔ)[M].北京:清華大學(xué)出版社,2000.
          (編輯:chiying)


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();