基于TMS320C50的通用語音信號處理系統(tǒng)
關(guān)鍵詞:語音處理 數(shù)字信號處理 TMS320C50芯片
語言是人類相互溝通信息的重要工個。隨著現(xiàn)代科學(xué)技術(shù)的發(fā)展,特別是語音通信和各種語音產(chǎn)品的廣泛普及,語音信號的數(shù)字化處理在越來越多的領(lǐng)域中發(fā)揮著巨大的作用。目前,各種以語言信號數(shù)字處理為特點的商品已經(jīng)進(jìn)入市場,商品化的語音信號處理機也已問世,如KAY公司的CSL TM(Computerized Speech Lab)。
一個完備的語音信號處理系統(tǒng)不但要具備語音信號的采集和回放功能,而且更重要的是要能完成復(fù)雜的語音信號分析和處理算法。通常這些算法運算量大,且又要滿足實時或準(zhǔn)實時的快速高效處理要求,因此需采用高速DSP芯片。另外,在要求系統(tǒng)滿足較好的通用性的同時,針對不同的應(yīng)用和不斷出現(xiàn)的新處理方法,還要使系統(tǒng)便于功能的改進(jìn)和擴展。
為此,我們以PC機為主機,以TMS320C50為信號處理核心設(shè)計了該系統(tǒng),其硬件配置框圖見圖1。其中,TMS320C50是美國Texas Instrument公司的16位定點DSP產(chǎn)品,它包括改進(jìn)的哈佛(Harvard)結(jié)構(gòu)、高性能CPU、片內(nèi)存儲器、在片外圍接口以及一套高效的泄編指令集,計算速度可達(dá)40Mips,且性能價格比好。
1 系統(tǒng)結(jié)構(gòu)
系統(tǒng)硬件置如圖1所示。
1.1 PC主機
考慮到系統(tǒng)的通用性和易實現(xiàn)性,我們把CP機作為系統(tǒng)的主機,其具體配置由不同的應(yīng)用確定。它主要提供系統(tǒng)的人機對話界面,以控制完成系統(tǒng)各項功能。
1.2 PREPROC部件
整個系統(tǒng)采用全模塊化結(jié)構(gòu),配置靈活,調(diào)試維護(hù)方便,支持軟件實現(xiàn)的各種語音數(shù)字處理算法。整個系統(tǒng)由一臺PC機和四個模塊部件組成。這四個模塊部件分別為輸入信號放大部件(PREPROC)、功率放大部件(POSPROC)、高速數(shù)字信號處理部件(DSP)和16位高精度采樣回放部件(AD/DA)。其中,DSP部件完成具體的信號處理任務(wù),并控制AD/DA部件完成語音信號的采集和回放;PREPROC部件完成對輸入語音信號的放大和防混疊濾波;POSPROC部件完成平滑濾波和功率放大。
該部件對話筒輸入信號或線咱輸入信號進(jìn)行放大和防混疊濾波處理,其輸出供給AD/DA部件進(jìn)行采樣。其設(shè)計指標(biāo)為:話筒輸入范圍1mV~31.6mV,線路輸入范圍100mV~3.16V,輸入阻抗10kΩ,部件增益可調(diào),在標(biāo)稱范圍內(nèi)可將信號放大到AD輸入的滿刻度±10V。其中的防混疊濾波器作為獨立的插件,詳細(xì)設(shè)計在后面說明。
1.3 POSPROC部件
該部件對D/A送出的模擬信號進(jìn)行恢復(fù)濾波和功率放大,其輸出供給場聲器??奢敵鲎畲蠊β蕿?W,用來推動8Ω的揚聲器。其中恢復(fù)濾波器作為獨立的插件,詳細(xì)設(shè)計在下面說明。
1.4 濾波器插件
本系統(tǒng)提供10kHz和20kHz兩種濾波器插件供選擇。為適應(yīng)不同的應(yīng)用需要,系統(tǒng)可配置不同截止頻率的濾波器插件或外接截止頻率可調(diào)的濾波器。
系統(tǒng)提供的防混疊濾波器和恢復(fù)濾波器,分別由兩片MAX274及其外接電阻構(gòu)成的兩個八階切比雪夫低通濾波器串聯(lián)構(gòu)成。由器件手冊可知,MAX274由四個同樣的濾波單元組成,每個濾波單元就是一個二階濾濾器。為了方便起見,將四個濾波單元依次編號A、B、C、D。由《有源濾波器精確設(shè)計》可查得通帶起伏為0.2dB的八階切比雪夫低通濾波順的歸一化參數(shù)B和C,然后,由MAX274器件手冊可知:對于每一個濾波單元,有:
在應(yīng)用中,我們把MAX274的FC腳接地,則Rx/Ry=0.2,由此可計算出各個電阻值。實際應(yīng)用中,因為阻值較特殊,每個電阻值須由兩個精密電阻串聯(lián)得到。
1.5 DSP部件
該部件是塊插在ISA總線上的半長板,它控制AD/DA部件完成語音數(shù)據(jù)的采集和回放,并根據(jù)下載軟件完成相應(yīng)的信號分析,是該系統(tǒng)的關(guān)鍵部件。它由TMS320C50(工作頻率40MHz)、雙端口RAM(4K×8)、FIFO(1K×8)及相應(yīng)的控制電路組成。
使用時,DSP程序由主機通過雙端口RAM下載到C50的內(nèi)部程序區(qū)。采樣前,C50通過內(nèi)部定時器Timer來設(shè)置AD/DA部件的采樣頻率。單個樣點采樣完成后,AD/DA部件產(chǎn)生C50硬件中斷INT1,C50響應(yīng)中斷INT1,將來自AD的采樣數(shù)據(jù)寫入FIFO,主機通過讀FIFO獲得采樣數(shù)據(jù);語音回放前,C50按照回放頻率設(shè)置內(nèi)部定時器Timer,使之產(chǎn)生中斷INT1;回放時,主機將數(shù)據(jù)寫入FIFO,C50定時響應(yīng)中斷INT1,從FIFO讀取數(shù)據(jù)并將它送到DA輸出;信號處理任務(wù)在C50內(nèi)部完成,單次處理的輸入輸出數(shù)據(jù)通過雙端口RAM在主機與DSP部件之間交換。
為了方便地編寫軟件,在此我們列出DSP部件與PC機以及AD/DA部件之間的接口參數(shù):
對于PC
·雙端口RAM的地址范圍是D800H(段地址):000H~0FFFH(偏移地址)。
·命令口CMD的地址為300H,命令字設(shè)計如下:
BIT0:復(fù)位FIFO:BIT1、BIT7:暫時未用;BIT2:復(fù)位TMS320C50;BIT3:PC與C50的握手信號:BIT4~6:產(chǎn)生C50中斷INT2~I(xiàn)NT4。
·狀態(tài)口STS的地址為0301H,狀態(tài)字設(shè)計如下:
BIT0:FIFO2空標(biāo)志;BIT1:FIFO1滿標(biāo)志;BIT2:FIFO1半滿標(biāo)志;BIT3:C50與PC的握手信號;BIT4~6暫時未用。
·FIFO1的寫地址為302H,讀地址為303H。
對于DSP
·雙端口RAM的地址范圍是F000H~FFFFH。
·狀態(tài)口STS的地址為PA1,狀態(tài)字如下:
BIT5:FIFO1空標(biāo)志;BIT6:FIFO2半滿標(biāo)志;BIT7:FIFO2滿標(biāo)志;其余位暫時未用。
·FIFO2寫地址為PA2,讀地址為PA3。
·AD采樣的地址為PA8。
·DA采用兩級鎖存,第一級鎖存地址為PA11,第二級鎖存地址為PA10。
1.6 AD/DA部件
該部件是一塊插在PC機ISA總線上的半長板,其最高采樣頻率達(dá)100kHz,它DSP部件的控制下完成語音數(shù)據(jù)的采樣和回放。該部件的輸入輸出范圍為±10V,分辨率為16bit。A/D轉(zhuǎn)換的數(shù)據(jù)為二進(jìn)制補碼格式,D/A轉(zhuǎn)換的數(shù)據(jù)為偏移二進(jìn)制碼格式。
2 系統(tǒng)工作的軟件流程
該語音信號處理系統(tǒng)以實時方式或中斷方式工作,它們的軟件流程和結(jié)構(gòu)大體相同。這里以中斷方式為例說明軟件流程,如圖2和圖3所示。整個工作流程主要由主機控制流程和DSP中斷處理流程構(gòu)成。其中INT1用于語音信號的采樣和回放;INT2用于主機向DSP傳送程序運行參數(shù);INT3用于主機向DSP傳送DSP程序(對于不同的分析處理有不同的DSP程序)。圖3(a)為DSP主程序流程圖,圖3(b)為INT1中斷服務(wù)流程圖,圖3(c)為INT2中斷處理流程,圖3(d)為INT3中斷服務(wù)流程。
3 系統(tǒng)調(diào)試結(jié)果
對各部件獨立進(jìn)行電性能測試,全部達(dá)到技術(shù)指標(biāo)要求后,對整個系統(tǒng)進(jìn)行聯(lián)調(diào)。在系統(tǒng)全部電性能指標(biāo)達(dá)到要求后,又進(jìn)行了大量的軟件測試,結(jié)果均滿足設(shè)計要求。目前,該系統(tǒng)已被成功地運行于“話者自動識別”的實驗,利用它可完成語音信號的LPC分析,不同點數(shù)的FFT分析,實時頻譜分析等。