《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > TMS320VC5416器件的G.722.2的研究與實現

TMS320VC5416器件的G.722.2的研究與實現

2008-07-03
作者:黃元峰,黃學達

??? 摘 要: 提出自適應多速率寬帶語音編碼" title="語音編碼">語音編碼標準G.722.2,重點研究了建立在代數碼激勵線性基礎上的信源編碼技術,簡單介紹了包括活動語音檢測、舒適噪聲生成的源控制速率方案及錯誤隱藏機制。針對G.722.2算法復雜度高的特點,對TI公司的定點DSP TMS320VC5416的硬件原理進行重點研究,給出了編解碼算法實現的軟件架構,分析了軟件實現流程。
??? 關鍵詞: 語音編碼? 自適應多速率? 代數碼激勵線性預測? 源控速率

?

??? 脈沖編碼調制(PCM)原理的出現標志著現代數字通信技術研究的開始。經過半個多世紀的發展,數字通信系統以其在可靠性、抗干擾性、易集成性、保密性、交換速度和成本等方面的優異性能取代了模擬通信系統。
??? 為壓縮語音編碼速率以提高通信系統的頻帶利用率,擴大通信容量,ITU-T先后推出PCM、ADPCM、G.728、G.729、G.723.1等語音編碼標準。2001年,3GPP和ITU-T采納G.722.2為GSM、WCDMA和3G系統的語音編碼解碼" title="編碼解碼">編碼解碼標準,2002年ITU-T又將其選為有線應用的寬帶標準。
1 G.722.2寬帶語音編碼標準研究[1~7]
??? G.722.2寬帶語音編碼器是單個的集成語音編碼器,由9種速率模式組成,位速率分別為:23.85、23.05、19.85、18.25、15.85、14.25、12.65、8.85和6.6kbps。它包括活動語音檢測(VAD)、舒適噪聲生成(CNG)以及對付傳輸錯誤和丟包后的錯誤隱藏機制組成。
1.1 編碼算法部分
??? G.722.2以代數碼激勵線性預測為基礎,通過線性預測分析、基音預測分析和在12.8kHz采樣的固定碼本參數的分析,以期最小化感覺加權差信號。處理時以幀為單位,分析每幀語音抽取CELP參數,除此還計算出23.85kbps模式下高帶增益索引值。
1.2 解碼算法部分
??? 主要解碼器發送的參數(包括LP參數,自適應碼本矢量和增益,固定碼本矢量和增益以及高帶增益),分析合成重構語音。
1.3 源控制速率方案
??? 源控制速率的作用是讓語音編碼器用一個低速率來編碼只包含背景噪音的語音幀,而不是編碼所有的語音。在GSM中,將這種模式稱為DTX(非連續傳輸)控制和操作。編碼解碼器在采用這種模式編碼時,位速率是1.75kbps。網絡可以調整其傳輸方案獲得可變速率。
1.4 丟幀/失幀錯誤隱藏機制
??? 由于傳輸錯誤,幀可能會出錯,而在無線網絡和包交換網絡還可能造成幀丟失。為了將單個錯幀/失幀屏蔽,錯幀/失幀發生時會通知語音解碼器,而后初始化錯誤隱藏的過程。在語音合成時使用一組預測參數,網絡通過設置被傳輸語音幀的類型標志位來指明發生了錯幀/失幀或者丟失SID幀。
2 TMS320VC5416的硬件平臺解決方案[8][9]
??? 采用 美國TI公司的54X系列定點DSP TMS320VC5416,具有低功耗、高性能等特點。
2.1 硬件平臺介紹
??? TMS320VC5416的主要特征有:
??? (1)優化的CPU結構:增強的多總線結構,數據總線具有總線保持特性;40bit的算術邏輯單元(ALU),包括兩個獨立的40bit的累加器,一個40bit的桶形移位器;一個17×17的乘法器連接一個40bit專用加法器,可用來進行非流水線式的單周期乘/累加(MAC)操作等。
??? (2)存儲器:擴展地址模式可最大尋址8M×16bit" title="16bit">16bit;64K×16bit雙訪問片內RAM;64K×16bit單訪問片內RAM;16K×16bit片內ROM。
??? (3)指令集:支持單指令循環和塊循環操作;塊存儲器傳送指令提供了高效的程序和數據存儲器管理;支持32bit長字操作;支持并行存儲/加載" title="加載">加載指令;支持條件存儲指令和中斷快速返回;支持定點DSP的C語言編譯器。
??? (4)片上硬件資源:軟件可編程等待狀態發生器和可編程存儲單元轉換;鎖相環(PLL)時鐘發生器;一個16bit定時器;三個多通道緩沖串口(McBSPs);六通道直接存儲訪問控制器;增強型8/16bit并行主機接口(HPI)。
??? (5)速度:在3.3V(內核電壓1.6V)供電時,執行周期是6.25ns(160MIPS)。
??? (6)電源:功耗低,工作電源有3.3V、1.6V和1.5V(內核電壓),用節電模式IDLE1、IDLE2、IDLE3指令作功率控制,可禁止CLKOUT。
2.2 直接存儲器訪問DMA
??? C5416的DMA擁有6個獨立的可編程通道,同時允許6個不同的DMA操作。DMA控制器可以在不影響CPU情況下,允許數據在片內存儲器、片上外設和片外設備之間獨立傳輸。主要特點:DMA操作獨立于CPU;擁有6個通道,DMA可以跟蹤6個獨立塊傳輸情況;對于內部和外部訪問,DMA比CPU有更高優先級;每一通道優先級可編程;每個通道的源、目的地址寄存器值每次讀寫后可靈活配置,讀寫一次后地址可以為常數、后加一、后減一或者被一個編程值修改;每次讀寫內部傳送可由選擇的時間來初始化;完成一半或整個數據塊傳送,DMA向CPU發中斷;DMA可執行雙字傳送。
2.3 多通道緩沖串行口McBSP
??? C5416內置了3個高速、全雙工的McBSPs。通過McBSPs可直接接到其他DSP器件、CODEC器件或系統內其他器件。主要特點有全雙工通信;雙緩沖數據寄存器,允許連續數據流;收發時,獨立的幀和時鐘;可直接連接T1/E1、AC97等;最大至128通道的多通道收發;u律和A律壓擴可選;幀同步和數據時鐘的極性可選等。
??? CPU和DMA控制器通過內部外設總線對McBSP進行訪問,當McBSP同步到一個DMA通道時,數據可以集中在發送和接收緩沖區,并且整個緩沖區是連續的。當DMA填充完整個緩沖區后,就觸發一個中斷給CPU。這就明顯降低了中斷延時和處理時間。
2.4 Bootloader技術
??? C54x DSP芯片一般都在片內設置有BOOT程序,其主要功能是:在上電時將用戶程序代碼從外部存儲器加載到程序存儲器并執行。加載程序途徑有從外部8位或16位EPROM加載,由主機通過8位或16位并行I/O口、串口、HPI以及自定義的自舉" title="自舉">自舉加載。其中自舉加載的過程如圖1所示。

?

????????????????


??? 本文介紹的代碼實現過程用到了外部FLASH的并口自舉。并口自舉檢測過程如下:DSP首先從I/O空間的0xFFFFH位置讀取自舉表的起始地址,如果低8位地址有效,則并行加載;如果低8位數據無效,則DSP將從數據空間0xFFFFH位置讀取自舉表的起始地址,同樣低8位有效則并行加載,否則轉串行檢測。
3 編解碼算法的實時實現[9][10]
??? 匯編語言程序設計是TMS320VC5416應用軟件設計的基礎,其主要任務是利用DSP芯片提供的匯編指令和偽指令編寫源程序完成指定的功能。開發環境是TI公司的集成DSP軟件開發環境CCS,開發語言是匯編語言和C語言的混合編程。
??? 由于G.722.2是多速率語音編碼,所以在編碼解碼前要確定編碼模式,在硬件平臺實現時,通過修改C源代碼的編碼模式提取部分函數,從而給定每次編碼的速率模式,使代碼的實現不需要考慮信道傳輸情況,只專注于編解碼的算法實現。
3.1 C語言和匯編的混合編程
??? 采用C語言與匯編的混合編程實現G.722.2標準的代碼。為了不破壞C環境,改寫的匯編函數必須符合C函數的參數傳遞規則。在匯編程序設計時,參數的傳遞主要遵循以下規則:
??? (1)函數的第一個參數存放在A寄存器,后面的參數以逆序壓入堆棧;如果參數有結構體,則將結構體的地址保存在A寄存器中。
??? (2)如果參數中存在長操作數,則應按照低位字先壓棧、高位字后壓棧的順序保存,否則容易出錯。
在編寫匯編函數時,除了遵循匯編函數的調用規則外,還必須對函數中用到的輔助寄存器進行存放堆棧的保護,防止調用時修改被調用函數中使用的輔助寄存器。
3.2 系統軟件結構
??? 整個系統軟件主要包括以下三個部分:初始化程序、語音編碼解碼部分和語音接口程序部分,整個軟件體系結構如圖2所示。

????????????????????????

??? 軟件各模塊的主要功能:(1)初始化部分完成編碼解碼和外設的初始化;(2)語音編碼解碼部分進行語音信號的編碼和解碼處理;(3)語音接口部分是整個系統的最底層,完成語音信號在串口上的接收與發送。
??? G.722.2語音編碼解碼實現軟件中,主函數包含在main.c文件中。主程序的處理過程為:首先對DSP芯片、A/D(D/A)芯片以及McBSP、DMA初始化,然后打開中斷屏蔽控制器(IMR),允許中斷請求,進入等
??? 待主循環啟動DMA,同時串口開始接收數據。在接收過程中每接收完一幀數據時,DMA向CPU產生一次中斷,將一幀數據從中取出,DMA緩沖區計數器清零以重新開始填充接收緩沖區。同時開始調用編碼解碼子程序對讀入的語音數據進行壓縮處理,存儲處理后的輸出數據等待發送;當發送完一幀數據時,DMA向CPU產生一次中斷,緩沖區計數器清零,并將已存儲的待輸出數據填入發送緩沖區,然后繼續對接收和發送緩沖區進行檢測,重復上述循環過程。程序設計了兩個獨立并行的DMA通道,分別負責語音數據的發送和接收,在不影響CPU的情況下可同時收發數據,每發送或接收完一幀數據產生一次DMA中斷。
重建語音的質量是評價編碼解碼算法和系統性能的關鍵指標之一,可分為客觀評測和主觀評測標準。其中客觀評測標準主要是以3GPP提供的一套測試文件為DSP匯編程序正確性檢驗的標準;主觀評測一般采用的是平均判分法(MOS)。本文的主觀評測是邀請少量人員進行實驗,實驗結果具有一定的可參考性。實際測試時,利用導線將硬件平臺上的Mic接口和各種聲音源相連,耳機插孔輸出編碼解碼后的語音,對解碼后的語音進行試聽測試。實驗表明,以男生、女生、音樂等多種音源作為Mic輸入,系統具有良好的適應性。非正式試聽測試,恢復語音保留了較好的說話人特征。通過對不同編碼速率的比較可知,高速率語音編碼方式語音質量明顯優于低速率語音編碼方式。
參考文獻
[1] 王炳錫.變速率語音編碼[M].西安:西安電子科技大學出版社,2004,7.
[2] 程佩青.數字信號處理教程[M].北京:清華大學出版社,2002,2.
[3] 3GPP,TS 26.091:AMR Speech Codec;Error concealment of lost frames[S].2002,6.
[4] 3GPP,TS 26.092:AMR Speech Codec;Comfort noise for AMR speech traffic channels[S].2002,6.
[5] 3GPP,TS 26.093:AMR Speech Codec;Source controlled rate operation[S].2004,4.
[6] 3GPP,TS 26.094:AMR Speech Codec;Voice activity?detector for AMR speech traffic channels[S].2002,6.
[7] 3GPP,TS 26.101:Mandatory speech codec speech processing functions;Adaptive Multi-Rate(AMR) speech codec?frame structure[S].2004,9.
[8] TMS320VC5416 Fixed-Point digital signal processor data?manual[Z],March 1999,Revised January 2005.
[9] 戴明禎.TMS320C54x數字信號處理器原理、結構及應用[M].北京:北京航空航天大學出版社,2001
[10] 宗戰華,鄭建生.TMS320VC5416并行自舉的巧妙實現[J].電子技術應用,2004(12):77-80

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 欧美日韩国产一区 | 色狠狠狠狠综合影视 | 国产亚洲精品福利在线 | 福利一区二区在线观看 | 在线播放国产一区二区三区 | 特黄特黄一级高清免费大片 | 一级特黄aaa大片免费看 | 欧美午夜免费看爽爽爽 | 日韩α片 | 色老头在线官方网站 | 激情五月婷婷综合网 | 欧美日韩一级黄色片 | 高清一区在线 | 日韩欧美一区二区三区免费观看 | 欧美性与交视频在线观看 | 狠狠2018| 自拍 亚洲 欧美 另类 动漫 | 91福利一区二区在线观看 | 曰批全过程免费动态图 | www在线 | 欧美色图导航 | 中文字幕在线免费观看 | 成人精品一区二区不卡视频 | 天天爱天天做久久天天狠狼 | 欧美精品一区二区三区免费观看 | 日本羞羞无遮挡免费动漫 | 欧美色碰碰碰免费观看长视频 | 99精品欧美一区二区三区 | 制服丝袜怡红院 | 成年人网址在线观看 | 99精品国产在这里白浆 | 亚洲无线码一区二区三区在线观看 | 日本成人三级 | 性欧美高清video | 免费特级黄毛片在线成人观看 | 不卡一级aaa全黄毛片 | 国产日韩欧美亚洲精品95 | 国产黄色免费 | 羞羞涩涩漫画 | 天堂网www在线资源中文 | 亚洲欧美一区在线 |