蘇凌旭,徐智敏
摘 要:介紹一種對(duì)語(yǔ)音信號(hào)的實(shí)時(shí)采樣和編碼處理的方法。該系統(tǒng)采用高精度可編程芯片TLV320AIC23B對(duì)多路原始語(yǔ)音信號(hào)進(jìn)行模數(shù)轉(zhuǎn)換后經(jīng)DSP的片上外設(shè)MCBSP送入TMS320C6713進(jìn)行CVSD編碼壓縮,之后又由MCBSP送出,同時(shí)MCBSP接收多路A律PCM信號(hào),經(jīng)TMS320C6713轉(zhuǎn)換成CVSD信號(hào)后由MCBSP送出,TMS320C6713亦可接收CVSD編碼信號(hào)轉(zhuǎn)化成A律PCM信號(hào)后送出。該系統(tǒng)充分發(fā)揮了DSP的高速數(shù)字信號(hào)處理的性能,同時(shí)處理多路信號(hào)收發(fā)及數(shù)字運(yùn)算具備非常好的實(shí)時(shí)性。
關(guān)鍵詞:CVSD;編碼;解碼;語(yǔ)音
中圖分類號(hào):TN919文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1004-373X(2009)19-076-02
Multi-channel CVSD Speech Codec and Decodec Based on TMS320C6713
SU Lingxu1,2,XU Zhimin2
(1.Institute of Software,Chongqing University,Chongqing,400030,China;2.Chongqing Jinmei Communication Corporation,Chongqing,400030,China)
Abstract:In this article,a method which is used for real-time sample and codec to speech signal is introduced.This system applies high precision programmed TLV320AIC23B converse speech signal to digital signal,then transmits the digital signal to TMS320C6713 through the on-chip device MCBSP for CVSD coding.At last,the CVSD signal is sent out of DSP.In addition to above function,TMS320C6713 receives multi-channel A-law PCM signal through MCBSP,then transmits A-law PCM signal to CVSD signal,and vice versa.The system takes full advantage of DSP in high-speed digital signal proceed.The system deals with multichannel signal transceiver,at the same time,so it posseses good real-time performance.
Keywords:CVSD;codec;decodec;speech
64 Kb/s的A律或μ律的對(duì)數(shù)壓擴(kuò)PCM編碼在大容量的光纖通信系統(tǒng)和數(shù)字微波系統(tǒng)中已得到廣泛應(yīng)用,但由于占用較大的傳輸帶寬和具有復(fù)雜的成幀結(jié)構(gòu)[1]。連續(xù)可變斜率增量(Continuously Variable Slope Delta,CVSD)調(diào)制以其較低的應(yīng)用難度、成本和編碼速率,較好的語(yǔ)音質(zhì)量廣泛應(yīng)用于戰(zhàn)術(shù)通信網(wǎng)、衛(wèi)星通信、藍(lán)牙等無線語(yǔ)音傳輸領(lǐng)域。于是不同碼制的網(wǎng)絡(luò)之間的互連對(duì)兩種碼制之間的轉(zhuǎn)換提出了更高的要求[2,3]。針對(duì)近年來FPGA、DSP技術(shù)的不斷發(fā)展,本文提出了一種滿足此需求的設(shè)計(jì)方案,以適應(yīng)通信技術(shù)日新月異的發(fā)展。
1 多路數(shù)據(jù)信號(hào)的收發(fā)
1.1 McASP(Multichannel Audio Serial Port)
McASP在C5000系列DSP處理器基礎(chǔ)上新增加的一個(gè)專門用來實(shí)現(xiàn)多通道音頻應(yīng)用的通用串行端口,它包括收/發(fā)兩個(gè)功能部件,二者間即可完全同步也可各自采用完全獨(dú)立的主時(shí)鐘、位時(shí)鐘和幀同步時(shí)鐘,具備不同的數(shù)據(jù)傳輸模式和位碼流格式。
支持多種數(shù)據(jù)協(xié)議:I2S,S/PDIF,IEC60958-1,AES-3等格式碼流,支持時(shí)分復(fù)用(TDM碼流),多達(dá)32個(gè)通道進(jìn)行收發(fā)傳輸?shù)淖珠L(zhǎng)可以是8位/12位/16位/20位/24位/32位等[4]。
1.2 多路數(shù)據(jù)收發(fā)的實(shí)現(xiàn)
1.2.1 TDM模式
本文討論的是音頻數(shù)據(jù)的傳輸,當(dāng)MCASP工作于TDM格式時(shí)可以用于DSP和多個(gè)ADC及DAC直接相連接。數(shù)據(jù)的多路傳輸取決于每一收(發(fā))幀多達(dá)32個(gè)時(shí)隙的傳輸模式。圖1顯示了6個(gè)SLOT的傳輸模式。
圖1 TDM傳輸模式
TMS320C6713的多路數(shù)據(jù)輸出/輸入需經(jīng)過一個(gè)數(shù)據(jù)組合和分離的時(shí)序控制單元,這一任務(wù)由一塊FPGA完成,其功能是接收所有來自DSP的數(shù)據(jù),將相同的時(shí)隙組合在一起后根據(jù)相應(yīng)的連接設(shè)備的時(shí)序送出,同時(shí)將來自不同的設(shè)備的數(shù)據(jù)組合后以TDM的方式送入DSP,如圖2所示。
圖2 多路數(shù)據(jù)輸入/輸出
1.2.2 時(shí)鐘和幀同步
通過設(shè)置DSP的收發(fā)幀同步控制寄存器可以設(shè)置TDM的具體模式,而相應(yīng)的位時(shí)鐘、幀同步時(shí)鐘可由編程控制由外部產(chǎn)生或直接由內(nèi)部產(chǎn)生,圖3是時(shí)鐘的相關(guān)控制關(guān)系。高頻時(shí)鐘AHCLKX可由高頻時(shí)鐘控制寄存器設(shè)置為內(nèi)部產(chǎn)生或外部輸入,ACLKX可由時(shí)鐘控制寄存器設(shè)置為內(nèi)部產(chǎn)生或外部輸入[5]。如果采用內(nèi)部高頻時(shí)鐘,則由AUXCLK經(jīng)分頻后得到,分頻數(shù)值由高頻時(shí)鐘控制寄存器的0~11 b決定;高頻時(shí)鐘分頻后得到位時(shí)鐘,分頻數(shù)值由時(shí)鐘控制寄存器的0~4 b決定。
圖3 時(shí)鐘信號(hào)的產(chǎn)生
1.3 AD采樣和語(yǔ)音信號(hào)的回放
TLV320AIC23B是輸入輸出模擬音頻接口編解碼器,該編解碼器采用了Sigma-Delta技術(shù)進(jìn)行數(shù)模和模數(shù)轉(zhuǎn)換,并和McBSP直接相連,AIC23還提供了麥克風(fēng)輸入、線性輸入、線性輸出和耳機(jī)輸出4個(gè)模擬接口。TLV320AIC23B的控制字可通過SPI方式或者I2C方式寫入[6]。圖4是I2C方式控制字的讀寫時(shí)序圖。
設(shè)定控制寄存器的工作方式后即可利用TLV320AIC23B對(duì)語(yǔ)音信號(hào)進(jìn)行高精度的采樣和回放。
2 CVSD編解碼
CVSD也叫數(shù)字檢測(cè)音節(jié)壓擴(kuò)增量調(diào)制,進(jìn)入實(shí)用階段已有十多年的歷史。數(shù)字CVSD編譯碼器中音節(jié)平滑濾波器及編譯碼器中的主積分器的轉(zhuǎn)移函數(shù)如下[7]:
音節(jié)平滑濾波器:
H1(z)=G11-a1z-1
圖4 TLV320AIC23B 控制字時(shí)序
編碼器雙積分器:
H2C(z)=G2C(1+C1z-1)1-b1z-1b2z-2
譯碼器主積分器:
H2D(z)=G2D1-b1z-1-b2z-2
圖5是編譯碼器的流程圖。對(duì)上述公式做Z的反變換可以得到三個(gè)差分方程,按照相應(yīng)的差分方程實(shí)現(xiàn)相應(yīng)的編解碼器代碼編寫[8]。
圖5 CVSD編解碼
3 PCM碼與CVSD碼的轉(zhuǎn)換
PCM碼采樣頻率是8 kHz,CVSD編碼的采樣頻率是16 kHz,把PCM碼轉(zhuǎn)化為CVSD碼先要把PCM碼轉(zhuǎn)換成線性PCM,然后加2倍內(nèi)插低通濾波器以使采樣頻率從8 kHz變換到16 kHz,之后送入CVSD編碼器生成16 Kb/s的CVSD碼[9];CVSD碼轉(zhuǎn)化成PCM碼則是一個(gè)相反的過程,即將CVSD碼送入譯碼器即可得到線性的PCM碼,與此時(shí)的PCM碼相對(duì)應(yīng)的采樣頻率為16 kHz,而不是8 kHz。為使采樣頻率從16 kHz變換到8 kHz,需要加2倍抽取低通濾波器,把線性PCM變換成A律PCM。而濾波器可以選擇FIR濾波器[10]。
4 結(jié) 語(yǔ)
本文提出的多路音頻數(shù)據(jù)的輸入/輸出設(shè)計(jì),利用了6000系列DSP的高速數(shù)據(jù)處理功能,同時(shí)處理多路數(shù)據(jù)的CVSD編解碼、PCM碼與CVSD碼的相互轉(zhuǎn)換,對(duì)于不同碼制的網(wǎng)絡(luò)之間的互連具有重要的應(yīng)用意義。
參考文獻(xiàn)
[1]Greefles J A,Dejager F.Continuous Delta Modulation[J].Philips Research Reports,1968,23 (2):233-246.
[2][美]拉賓納L R,謝弗R W.語(yǔ)音信號(hào)數(shù)字處理[M].北京:科學(xué)出版社,1983.
[3]易克初,田彬,付強(qiáng).語(yǔ)音信號(hào)處理[M].北京:國(guó)防工業(yè)出版社,2000.
[4]羅聞,王峻峰,史鐵林.基于McASP的高速串行數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2006,22(25):176-178.
[5]任麗香,馮淑芬.TMS320C6000系列DSPs的原理與應(yīng)用[M].北京:電子工業(yè)出版社,2001.
[6]徐君毅.單片機(jī)微型計(jì)算機(jī)原理及應(yīng)用[M].上海:上??萍汲霭嫔?1988.
[7]黃福貴,朱志國(guó),孫波.語(yǔ)音編碼調(diào)制的CVSD算法及實(shí)現(xiàn)[J].聲學(xué)與電子工程,2005(4):19-22.
[8]李欣,藏笛,羅程.CVSD編碼/譯碼器在語(yǔ)音系統(tǒng)中的應(yīng)用[J].電子與自動(dòng)化,1999(3):32-33.
[9]陳顯治.現(xiàn)代通信技術(shù)[M].北京:電子工業(yè)出版社,2001.
[10]Labrosse J J.μC/OS-Ⅱ源碼公開的實(shí)時(shí)嵌入式操作系統(tǒng)[M].邵貝貝,譯.北京:中國(guó)電力出版社,2001.