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