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