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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于DSP的TETRA話音編碼設計與實現(xiàn)

          基于DSP的TETRA話音編碼設計與實現(xiàn)

          作者: 時間:2007-07-19 來源:網(wǎng)絡 收藏
           :陸上集群無線電通信()系統(tǒng)是歐洲電信標準協(xié)會(ETSI)在專用移動通信(PMR)和公共接入移動通信(PAMR)網(wǎng)絡領域惟一支持無線數(shù)字集群的開放標準,本文主要介紹了該系統(tǒng)中算法,并討論了其在的具體流程。
          關(guān)鍵詞;;ACELP;

          1 引 言
            是ETSI制定的一種全新的數(shù)字集群系統(tǒng),他可以提供語音和快速數(shù)據(jù)傳輸業(yè)務。TETRA集成了移動數(shù)據(jù)終端、PMR調(diào)度電話、蜂窩電話和尋呼機的功能,并且可以直接傳送Internet協(xié)議報文,支持可視電話功能,而語音又是最主要的業(yè)務。無線系統(tǒng)中,帶寬是影響語音服務質(zhì)量最關(guān)鍵的因素,為降低語音傳輸所要求的帶寬,TETRA系統(tǒng)采用代數(shù)碼激勵線性預測(ACELP)壓縮算法,保證了高質(zhì)量的語音服務,其編碼速率為4.567 kb/s。

            ACELP是一種改進型的CELP,繼承了傳統(tǒng)CELP的主要優(yōu)點,并克服了其缺點。傳統(tǒng)CELP用固定的隨機碼本來逼近語音信號的余量信號,缺乏靈活性,不能很好地控制碼本的頻域特性。ACELP采用代數(shù)碼本結(jié)構(gòu),不僅降低了碼本的存儲量和搜索量,還提供了頻域控制函數(shù),從而增強了碼字的靈活性和多樣性,能更好地逼近余量信號,具體算法可參見TETRA標準ETS395-2。

          2 系統(tǒng)
             針對TETRA的編碼算法實時要求高,運算量 大,核心處理器采用了TI公司的TMS320系列的5409芯片,該芯片主要特點有:速度快,處理能力可達到100 MI/s;低功耗,3 V電壓供電,內(nèi)核電壓1.8 V;提供32 kBRAM,16 kBROM;3個多通道自動緩沖串口(McBsp)。

            A/D轉(zhuǎn)換芯片采用TI公司的AIC20芯片,完成模擬話音與數(shù)字話音的轉(zhuǎn)換工作。由于采用了過采樣技術(shù),AIC20可提供高分辨率的A/D,D/A 轉(zhuǎn)換;3 V供電,功耗低于30 mW;具有軟件可編程寄存器,配置方便,不改變硬件電路,僅改寫軟件就可滿足多種需求。

            存儲芯片選用Atmel公司的AT49LV001,用于存儲程序,加電便可從Flash中引導程序運行。AT49LV001讀寫電壓均為3 V,可大大簡化電源,存儲空間為128 kB,足以存儲TETRA的話音編碼算法。

          2.1 硬件

          2.1.1 時鐘電路設計
             這里為5409提供2種時鐘電路設計方法:
           ?。?)將晶振產(chǎn)生的外部時鐘源直接輸入到X2/CLKIN引腳,X1懸空。
           ?。?)利用5409內(nèi)部提供的鎖相環(huán)(PLL)時鐘產(chǎn)生電路將內(nèi)部時鐘倍頻或分頻得到。

            在此采用第二種方法,如圖1所示。在X1和X2/CLKIN之間接一個16.384 MHz的晶振,同時將CLKMD1,CLKMD2,CLKMD3通過上拉電阻設置為邏輯0,1,0,即倍頻數(shù)為5,DSP工作在80 MHz,若需改變DSP的工作頻率,可通過軟件修改地址0x58的CLKMD寄存器的值設置倍頻數(shù)。

            

          2.1.2 DSP與Codec接口設計
            5409與AIC20接口如圖2所示,由DSP的CLKOUT提供MCLK,Codec工作在主模式,SCLK和FS為輸出,為DSP提供BCLK和 BFS。值得注意的是,由于AIC20有2個采樣通道,在與DSP串口連接時,為配合codec的時序,DSP串口需配置成接收2個通道的采樣值(即32 b),但只取一個通道的采樣值;串口發(fā)送時,也要向2個通道發(fā)送數(shù)據(jù)。McBsp中的部分控制比特位配置如下:

            

            當AIC20工作在主模式時,F(xiàn)S=MCLK/(16PNM),通過設置控制寄存器4可改變P,N,M的值。FS=8 kHz,MCLK=81.92 MHz,取P=8,N=8,M=10。

          2.1.3 DSP與存儲器接口設計

            AT49LV001存儲器內(nèi)部以扇區(qū)組織,在對其編程前,必須對相應區(qū)域擦除。使用時可根據(jù)需要選擇扇區(qū)擦除或芯片擦除。圖3為5409與 AT49LV001的接口示意圖,AT49LV001的地址總線和數(shù)據(jù)總線分別接至5409的地址總線和數(shù)據(jù)總線,5409的地址總線A22~A18懸空,數(shù)據(jù)總線D15~D8懸空。DS作為使能信號,XF則控制編程狀態(tài)。應當注意,AT49LV001為8 b存儲器,DSP為16 b處理器,所以每存儲一條DSP指令需2個存儲單元,且高字節(jié)在前。

            

          2.2 軟件設計
          2.2.1 初始化程序
            完成DSP的初始化工作,包括設置SWWSR,PMST等寄存器的值;根據(jù)需要設置CLKMD寄存器改變倍頻數(shù);配置串口。

          2.2.2 中斷服務程序
            中斷服務程序主要是串口接收和發(fā)送中斷。接收中斷從Codec的DS腳接收采樣數(shù)據(jù),放入接收緩沖區(qū)MicIn,當接收到30 ms的數(shù)據(jù)(算法要求),啟動編碼標志SpeechFlag。當解碼程序從Acelp碼流中解出話音后,放入發(fā)送緩沖區(qū)Sout中,然后通過串口發(fā)送中斷發(fā)至Codec。MicIn和Sout均為雙緩沖區(qū)。

          2.2.3 算法設計
            編碼程序每30 ms執(zhí)行一次,將240個采樣值編成137 b,傳遞給解碼程序,再將解碼合成的話音通過音箱放出。在硬件平臺上做自環(huán)實驗,下面給出部分C代碼。


          3 結(jié) 語

          本文從軟件設計和硬件設計兩方面介紹了在TMS320VC5409芯片上TETRA話音編碼算法的具體步驟。通過標準P.862對算法評測,平均MOS得分為3.474。同時,在做抗噪實驗時,本算法在10-2誤碼率下,仍能保持良好的通信質(zhì)量。

          參考文獻


          [1]ETS300 395 2 Speech CODEC for full-ratetrafficchannel;Part2:TETRACODEC
          [2]TMS320VC5409Afixed-point digital signal processor.
          [3]TLV320AIC20 low power, highly-integrated programmable 16 B 26-KSPS dual channel codec.

          [4]戴明楨,周建江.TMS320C54x DSP結(jié)構(gòu)、原理及應用[M].北京:北京航空航天大學出版社,1999.


          評論


          相關(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); })();