摘要:針對語音接口常見的信號幅度動蕩的問題,設(shè)計了基于語音編解碼芯片AIC23和數(shù)字信號處理器TMS320VC5416的語音接口。研究了基于AIC23內(nèi)部可變增益放大器的語音信號自動增益控制(ACC)方法,所設(shè)計的語音接口電路簡單、音質(zhì)清晰、音量穩(wěn)定。
關(guān)鍵詞:可變增益放大器;多通道緩沖串口;自動增益控制;數(shù)字信號處理器
語音接口包括采集和播放兩項功能,是語音處理系統(tǒng)中最基本、最關(guān)鍵的部分。語音采集時,輸入信號幅度動蕩會影響后續(xù)處理;語音播放時,輸出信號幅度不穩(wěn)定會惡化收聽效果。所以,語音AGC(自動增益控制)是語音接口中不可或缺的功能單元。TLV320AIC23(簡稱AIC23)是TI公司生產(chǎn)的集成了A/D,D/A轉(zhuǎn)換器和可變增益放大器的高性能語音編解碼芯片,是設(shè)計語音接口的理想選擇。文中介紹了AIC23的特點和結(jié)構(gòu),在此基礎(chǔ)上給出語音接口及AGC的實現(xiàn)方法。
1 AIC23介紹
1.1 主要特點
(1)集成線輸入可變增益放大器(VGA),增益范圍-34.5~12 dB,步進1.5 dB;
(2)集成線輸出可變增益放大器(VGA),增益范圍-73~6 dB,步進1 dB;
(3)I/O電壓、數(shù)據(jù)接口與TI公司的54系列DSP兼容。
1.2基本結(jié)構(gòu)和主要接口
AIC23的基本結(jié)構(gòu)和主要接口,如圖1所示。模擬語音信號從左、右聲道線輸入管腳或麥克信號輸入管腳輸入,分別經(jīng)VGA、靜音控制、多路選擇器、A/D轉(zhuǎn)換器、數(shù)字插值濾波器,得到特定采樣率的數(shù)字語音信號;數(shù)字語音信號依次經(jīng)過數(shù)字濾波器、D/A轉(zhuǎn)換器、靜音控制和VGA,最后從左、右聲道線輸出管腳輸出;AIC23的工作狀態(tài)由系統(tǒng)微處理器通過控制接口設(shè)置,控制接口模式為SPI/I2C可選(mode管腳置高為SPI模式,置低為I2C模式);AIC23與微處理器通過數(shù)據(jù)接口進行數(shù)據(jù)交換,數(shù)據(jù)接口為左判斷/右判斷/I2C/DSP模式可選(由微處理器通過控制接口設(shè)置)。TI公司生產(chǎn)的54系列DSP集成了多通道緩沖串口(McBSP),可與SPI模式的控制接口和DSP模式的數(shù)據(jù)接口無縫連接。
1.3控制方法
AIC23是一款可編程芯片,內(nèi)部有11個9位寄存器,可由微處理器通過控制接口進行配置,從而設(shè)定芯片的工作模式和狀態(tài)。主要寄存器內(nèi)容,如表1所示。
2 語音接口設(shè)計
2.1 硬件設(shè)計
語音接口由TI公司的數(shù)字信號處理器TMS320VC5416與AIC23構(gòu)成,如圖2所示。VC5416有3個多通道緩沖串口(McBSP),其中McBSP0與AIC23的控制接口相連,負責(zé)對AIC23內(nèi)部寄存器進行配置。McBSPl與AIC23的數(shù)據(jù)接口相連,完成與AIC23之間的數(shù)據(jù)交換。模擬語音信號從線輸入管腳輸入,線輸出管腳輸出。
2.2 接口配置
(1)控制接口。
通過置高AIC23的mode管腳將控制接口設(shè)為SPI模式。VC54.16的McBSP0設(shè)為主動模式,產(chǎn)生位同步信號、幀同步信號,向AIC23發(fā)送16 bit單幀,每幀高7位為AIC23中寄存器的地址,低9位為該寄存器的設(shè)置值。本設(shè)計中對AIC23的配置主要包括:線輸入使能、麥克輸入靜音、數(shù)據(jù)接口設(shè)為DSP(主)模式、字長16 bit、采樣率32 kHz。
(2)數(shù)據(jù)接口。
數(shù)據(jù)接口的DSP模式是專門用來與TI公司DSP相連接的。VC5416的McBSPl工作在從動模式,位同步信號、幀同步信號由AIC23產(chǎn)生。McBSPI發(fā)送、接收的數(shù)據(jù)傳輸采用單幀模式,其中高16位為左聲道數(shù)據(jù),低16位為右聲道數(shù)據(jù)。[!--empirenews.page--]
3 語音AGC方法的實現(xiàn)
使放大器的增益隨信號強度的變化而自動調(diào)整的控制方法,就是AGC,即自動增益控制。AGC可由硬件或軟件實現(xiàn),本設(shè)計充分利用AIC23內(nèi)部集成的VGA,采用軟硬結(jié)合的方法實現(xiàn)。輸入和輸出AGC的實現(xiàn)方法,如圖3,圖4所示。
3.1 輸入AGC實現(xiàn)方法
輸入AGC由反饋控制環(huán)路實現(xiàn)。檢波模塊對McBSPl接收到的語音信號進行鑒幅,估計出語音信號的平均包絡(luò)電平,增益折算模塊將平均包絡(luò)電平與目標電平比較,折算出VGA的增益調(diào)整量,由積分模塊對增益調(diào)整量進行累加,得到VGA的目標增益值,目標增益值經(jīng)McBSP0、控制接口反饋到VGA和從而實現(xiàn)增益的自動控制。
(1)檢波模塊。
檢波模塊采用快充慢放包絡(luò)檢波算法,對輸入信號進行低通濾波,得到信號包絡(luò)的均值。其表達式為
其中,x(n)為輸人語音信號,y(n)為檢波結(jié)果,Mf為充電時間常數(shù),Ms為放電時間常數(shù)。根據(jù)語音信號包絡(luò)起伏較大的特點,充電時間應(yīng)該在幾百毫秒量級,而放電時間應(yīng)該在幾秒到十幾秒之間。另外,由于語音字與字,句與句之間有停頓,停頓期間只有噪聲,包絡(luò)檢波器應(yīng)停止工作。實現(xiàn)的方法是設(shè)定幅度門限Ln,幅度低于Ln的信號認為是噪聲,只有幅度高于Ln的信號才參與包絡(luò)檢波。
(2)增益折算模塊。
平均包絡(luò)電平y(tǒng)(n)與目標電平Y(jié)aim相差的分貝數(shù)為△G(n)=20 log(Yaim/y(n)),由于輸入VGA的調(diào)整精度為1.5 dB(共31檔),所以VGA的增益調(diào)整量△G0(n)應(yīng)取與△G(n)最接近且能被1.5整除的數(shù)。y(n)與△G0(n)之間的映射關(guān)系,如圖5所示,一定范圍內(nèi)的y(n)與唯一的△G0(n)相對應(yīng),例如,若y(n)∈[1.3 Yaim,1.54 Yaim],則△G0(n)=-3 dB。
3.2輸出AGC實現(xiàn)方法
輸出AGC由前饋控制算法實現(xiàn)。檢波模塊對語音信號進行鑒幅,估計出語音信號的平均包絡(luò)電平,增益折算模塊將平均包絡(luò)電平與目標電平比較,折算出VGA的增益調(diào)整量,再與VGA的初始增益值相加,得到VGA的目標增益值。目標增益值經(jīng)McBSP0和控制接口前饋到VGA,從而實現(xiàn)增益的自動控制。
輸出AGC中檢波模塊的實現(xiàn)方法與輸入AGC中檢波模塊完全一致,增益折算方法與輸入AGC中的增益折算方法相似,但由于輸出VGA的調(diào)整精度為1 dB(共79檔),所以輸出VGA的增益調(diào)整量△G0(n)應(yīng)取與△G(n)最接近的整數(shù)。
結(jié)束語
在介紹AIC23特點和結(jié)構(gòu)的基礎(chǔ)上,給出了基于AIC23的語音接口設(shè)計方法,詳細講解了語音AGC的實現(xiàn)方法。充分利用AIC23接口簡單靈活、輸入和輸出信噪比高、增益可調(diào)的特點,使所設(shè)計的語音接口電路簡單、音質(zhì)清晰、音量穩(wěn)定。