文獻(xiàn)標(biāo)識碼: A
近年來,隨著多媒體信息技術(shù)和網(wǎng)絡(luò)技術(shù)的高速發(fā)展,,數(shù)字語音壓縮技術(shù)的應(yīng)用領(lǐng)域越來越廣泛,,尤其在可視電話、IP網(wǎng)絡(luò)電話,、數(shù)字蜂窩移動(dòng)通信,、綜合業(yè)務(wù)數(shù)字網(wǎng)、公共交換電話網(wǎng)和話音存儲(chǔ)轉(zhuǎn)發(fā)系統(tǒng)等領(lǐng)域中,,需要在保證語音一定質(zhì)量的前提下盡可能降低其編碼比特率,,便于在有限的傳輸帶寬內(nèi)讓出更多的信道用于傳送圖像、文檔,、計(jì)算機(jī)文件和其他數(shù)據(jù)流,。本文研究A律壓縮算法的應(yīng)用,給出音頻接口芯片TLC320AD50C與TMS320C5402的接口設(shè)計(jì),,以實(shí)現(xiàn)語音信號的壓縮,、存儲(chǔ)和回放。
1 語音信號壓縮原理
μ/A律壓縮解壓編碼是國際電報(bào)電話協(xié)會(huì)CCITT(Consultative Committee for International Telegraph and Telephone)最早推出的G.711語音壓縮解壓編碼,。其中歐洲和中國等國家采用A律壓縮解壓編碼,,美國和日本等國家采用μ律壓縮解壓編碼。由于本系統(tǒng)采用A律壓縮解壓算法,,這里只介紹A律壓縮原理,。
A律壓擴(kuò)的數(shù)學(xué)解析式為:
式中:y為輸出信號;x為輸入信號,;A為壓縮系數(shù),。
由上式得知,小信號時(shí)為線性特性,,大信號時(shí)近似為對數(shù)特性,。這種壓擴(kuò)特性常把壓縮、量化和編碼合為一體,。A律可用13段折線逼近(相當(dāng)于A=87.6),便于用數(shù)字電路實(shí)現(xiàn)[1],。13段折線的壓縮特性如圖1所示,。圖1分段為x取正值時(shí)的情況,而x取負(fù)值時(shí),,壓擴(kuò)特性與x取正值成奇對稱,,在正8段和負(fù)8段中,正1、2段和負(fù)1,、2段斜率相同,,合為一段,所以原來的16段折線變?yōu)?3段折線,。
在進(jìn)行A律壓縮時(shí),,采樣后的12 bit數(shù)據(jù),默認(rèn)其最高位為符號位,,壓縮時(shí)要保持最高位即符號位不變,,原數(shù)據(jù)的后11 bit要壓縮成7 bit。這7 bit碼由3 bit段落碼和4 bit段內(nèi)碼組成,。壓縮變換后的數(shù)據(jù)根據(jù)后11 bit數(shù)據(jù)大小決定,。具體的編碼表如表1所示。
2 系統(tǒng)硬件接口設(shè)計(jì)
本系統(tǒng)實(shí)現(xiàn)的是G.711標(biāo)準(zhǔn)A律壓縮編碼的語音處理過程,。系統(tǒng)以TMS320C5402為核心,,完成語音壓縮、存儲(chǔ),、解壓功能,。語音采集與輸出模塊采用TI公司推出的一款高性能的立體聲音頻Codec芯片TLC320AD50C,內(nèi)置輸入和輸出放大器,,且對輸入和輸出都具有可編程增益調(diào)節(jié),。
2.1 模擬接口設(shè)計(jì)
模擬信號輸入電路如圖2所示。語音信號放大器經(jīng)過前端放大器TLC2272ACD放大,、帶通濾波,、單輸入信號轉(zhuǎn)換為差分信號后,送入AD50C的A/D轉(zhuǎn)換器的差分輸入端(INP和INM),。A/D轉(zhuǎn)換器將輸入的模擬信號轉(zhuǎn)換為以二進(jìn)制補(bǔ)碼表示的數(shù)字信號,。
模擬信號輸出電路如圖3所示。經(jīng)D/A轉(zhuǎn)換,、內(nèi)部低通濾波恢復(fù)的模擬信號從AD50C的OUTP管腳輸出,。外部放大濾波電路選用LM356運(yùn)算放大器,放大后的信號送揚(yáng)聲器還原成聲音,。
2.2 數(shù)字接口的設(shè)計(jì)
TLC320AD50C支持與TMS320C5402無縫對接,,接口電路如圖4所示。將TLC320AD50C設(shè)置成主動(dòng)工作模式,,輸入主時(shí)鐘MCLK為8.192 MHz,,采樣頻率選擇為8 kHz,內(nèi)部PLL使能(控制寄存器4中的N=8)[2],。通過寄存器設(shè)置,,將TMS320C5402的FSX,、FSR、CLKR,、CLKX配置為外部輸人,,TLC320AD50C的SCLK配置為內(nèi)部產(chǎn)生。數(shù)據(jù)接收/發(fā)送幀同步信號,、移位時(shí)鐘信號均由TLC320AD50C產(chǎn)生,,串行口的接收/發(fā)送過程受TLC320AD50C的控制。
3 系統(tǒng)軟件接口設(shè)計(jì)
系統(tǒng)程序流程圖如圖5所示,,軟件設(shè)計(jì)工作主要包括以下幾方面:
(1)TMS320VC5402串口的初始化,。首先將DSP串口0復(fù)位,再對串口0的寄存器進(jìn)行編程,,使DSP串口工作在以下狀態(tài):以SPI模式運(yùn)行,,每幀一相,每相一個(gè)字,,每字16 bit,,幀同步脈沖低電平有效,并且?guī)叫盘柡鸵莆粫r(shí)鐘信號由外部產(chǎn)生[3],。
(2)AD50C初始化,。該初始化操作過程包括通過TMS320C5402的同步串口發(fā)送2串16 bit數(shù)字信息到AD50C。第一串為0000 0000 0000 0001B,,最低有效位(bits0)為1,,說明下一個(gè)要傳輸?shù)臄?shù)據(jù)字屬于次通信。第二個(gè)數(shù)據(jù)用來對AD50C的4個(gè)控制寄存器的某一個(gè)進(jìn)行配置,。15~11位為0,,10~8位為所選寄存器地址值,7~0位為所選中寄存器的編程值,。通過對4個(gè)可編程控制寄存器編程,,使AD50C工作在以下狀態(tài):選擇INP/INM為工作模擬輸入,15+1 bit ADC和15+1 bit DAC模式,,不帶從機(jī),,采樣頻率為8 kHz,模擬信號輸入和輸出放大增益均為0 dB[4],。4個(gè)寄存器初始化需要4個(gè)主通信和次通信,。
(3)壓擴(kuò)算法的實(shí)現(xiàn)。TMS320C5402內(nèi)部的緩沖串口(McBSPs)帶有硬件實(shí)現(xiàn)的μ律和A律壓縮解壓,,用戶只需要在相應(yīng)寄存器中進(jìn)行設(shè)置就可以了,本系統(tǒng)通過軟件編程來完成線性碼轉(zhuǎn)換成A律,。在主程序中通過A/D抽樣量化得到線性編碼,再由編碼表通過軟件計(jì)算得到8 bit A律編碼,,其中最高位為符號位,,第6 bit到第4 bit為段落碼,低4 bit為段內(nèi)碼,。將8 bit的壓縮結(jié)果存儲(chǔ)到系統(tǒng)RAM中進(jìn)行緩存,,根據(jù)抽樣率、語音存儲(chǔ)時(shí)間以及系統(tǒng)RAM的容量設(shè)置語音存儲(chǔ)緩沖區(qū)的大小,,待緩沖區(qū)存滿后,,將緩沖區(qū)內(nèi)的數(shù)據(jù)進(jìn)行解壓縮,然后輸出到SPEAKER接口輸出,。
4 系統(tǒng)實(shí)驗(yàn)結(jié)果
硬件調(diào)試成功后,,使錄音時(shí)間達(dá)到5 s左右。通過CCS觀察數(shù)據(jù)圖形,,圖6為壓縮前的語音信號波形,,圖7為壓縮后的語音信號波形;通過回放,,試聽解壓后語音信號無明顯失真,。實(shí)驗(yàn)結(jié)果說明系統(tǒng)成功實(shí)現(xiàn)了語音信號的壓縮存儲(chǔ)。
本文所介紹的MS320C5402與TLC320AD50C的組成語音壓縮存儲(chǔ)系統(tǒng),,接口電路簡單,,編程方便,且程序代碼已在CCS3.1開發(fā)環(huán)境上得到驗(yàn)證,。
參考文獻(xiàn)
[1] 宋依青,,何松.一種基于DSP語音信號線性與非線性量化相互轉(zhuǎn)換的新方法[J].微電子學(xué)與計(jì)算機(jī),2008(11):36-39.
[2] 徐速.基于DSP的實(shí)時(shí)語音壓縮[J].微計(jì)算機(jī)信息,,2007(2):61-64.
[3] 李利.DSP原理及應(yīng)用實(shí)用技[M].北京:中國水利水電出版社,,2004:200-210.
[4] TLC320ADC/TLC320AD52C Data Manual. Texas Instruments,2002.