采用定點(diǎn)DSP處理芯片ADSP2181的語(yǔ)音信號(hào)的識(shí)別
近年來(lái),高性能數(shù)字信號(hào)處理芯片DSP(Digital Signal Process)技術(shù)的迅速發(fā)展,為語(yǔ)音識(shí)別的實(shí)時(shí)實(shí)現(xiàn)提供了可能,其中,AD公司的數(shù)字信號(hào)處理芯片以其良好的性價(jià)比和代碼的可移植性被廣泛地應(yīng)用于各個(gè)領(lǐng)域。因此,我們采用AD公司的定點(diǎn)DSP處理芯片ADSP2181實(shí)現(xiàn)了語(yǔ)音信號(hào)的識(shí)別。
本文引用地址:http://cafeforensic.com/article/148843.htm根據(jù)實(shí)際中的應(yīng)用不同,語(yǔ)音識(shí)別系統(tǒng)可以分為:特定人與非特定人的識(shí)別、獨(dú)立詞與連續(xù)詞的識(shí)別、小詞匯量與大詞匯量以及無(wú)限詞匯量的識(shí)別。但無(wú)論那種語(yǔ)音識(shí)別系統(tǒng),其基本原理和處理方法都大體類似。一個(gè)典型的語(yǔ)音識(shí)別系統(tǒng)的原理圖如圖1所示。
語(yǔ)音識(shí)別過(guò)程主要包括語(yǔ)音信號(hào)的預(yù)處理、特征提取、模式匹配幾個(gè)部分。預(yù)處理包括預(yù)濾波、采樣和量化、加窗、端點(diǎn)檢測(cè)、預(yù)加重等過(guò)程。語(yǔ)音信號(hào)識(shí)別最重要的一環(huán)就是特征參數(shù)提取。提取的特征參數(shù)必須滿足以下的要求:
(1)提取的特征參數(shù)能有效地代表語(yǔ)音特征,具有很好的區(qū)分性;
(2)各階參數(shù)之間有良好的獨(dú)立性;
(3)特征參數(shù)要計(jì)算方便,最好有高效的算法,以保證語(yǔ)音識(shí)別的實(shí)時(shí)實(shí)現(xiàn)。
在訓(xùn)練階段,將特征參數(shù)進(jìn)行一定的處理后,為每個(gè)詞條建立一個(gè)模型,保存為模板庫(kù)。在識(shí)別階段,語(yǔ)音信號(hào)經(jīng)過(guò)相同的通道得到語(yǔ)音特征參數(shù),生成測(cè)試模板,與參考模板進(jìn)行匹配,將匹配分?jǐn)?shù)最高的參考模板作為識(shí)別結(jié)果。同時(shí),還可以在很多先驗(yàn)知識(shí)的幫助下,提高識(shí)別的準(zhǔn)確率。
2 系統(tǒng)的硬件結(jié)構(gòu)
2.1 ADSP2181的特點(diǎn)
AD公司的DSP處理芯片ADSP2181是一種16b的定點(diǎn)DSP芯片,他內(nèi)部存儲(chǔ)空間大、運(yùn)算功能強(qiáng)、接口能力強(qiáng)。有以下的主要特點(diǎn):
(1)采用哈佛結(jié)構(gòu),外接16.67MHz晶振,指令周期為30ns,指令速度為33MI/s,所有指令單周期執(zhí)行;
(2)片內(nèi)集成了80 kB的存儲(chǔ)器:16 kB字的(24b)的程序存儲(chǔ)器和16kB字(16b)的數(shù)據(jù)存儲(chǔ)器;
(3)內(nèi)部有3個(gè)獨(dú)立的計(jì)算單元:算術(shù)邏輯單元(ALU)、乘累加器(MAC)和桶形移位器(SHIFT),其中乘累加器支持多精度和自動(dòng)無(wú)偏差舍人;
(4)一個(gè)16b的內(nèi)部DMA端口(1DMA),供片內(nèi)存儲(chǔ)器的高速存取;一個(gè)8b自舉DMA(BDMA)口,用于從自舉程序存儲(chǔ)器中裝載數(shù)據(jù)和程序;
(5)6個(gè)外部中斷,并且可以設(shè)置優(yōu)先級(jí)或屏蔽等。
由于ADSP2181以上的特點(diǎn),使得該芯片構(gòu)成的系統(tǒng)體積小、性能高、成本和功耗低,能較好地實(shí)現(xiàn)語(yǔ)音識(shí)別算法
2.2 系統(tǒng)的硬件結(jié)構(gòu)
在構(gòu)成語(yǔ)音識(shí)別電路時(shí),我們采用了ADSP2181的主從結(jié)構(gòu)設(shè)計(jì)方式,通過(guò)IDMA口由CPU裝載程序。語(yǔ)音識(shí)別系統(tǒng)的硬件結(jié)構(gòu)如圖2所示。
在這種結(jié)構(gòu)中,PC機(jī)為主CPU,ADSP2181為從CPU,由PC機(jī)通過(guò)IDMA口將程序裝載到ADSP2181的內(nèi)部存儲(chǔ)器中。PC機(jī)總線通過(guò)CPLD譯碼,形成IRD,IWR,IAL,IS等控制信號(hào),與ADSP2181的IDMA口相連。這樣,在ADSP2181全速運(yùn)行時(shí),主機(jī)可以查詢從機(jī)的運(yùn)行狀態(tài),可以訪問(wèn)到ADSP2181內(nèi)部所有的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。這對(duì)程序的編譯和調(diào)試,以及語(yǔ)音信號(hào)的實(shí)時(shí)處理帶來(lái)了極大的方便。
3 語(yǔ)音識(shí)別的DSP實(shí)現(xiàn)技術(shù)
3.1 浮點(diǎn)運(yùn)算的定點(diǎn)實(shí)現(xiàn)
在語(yǔ)音識(shí)別的算法中,有許多的浮點(diǎn)運(yùn)算。用定點(diǎn)DSP來(lái)實(shí)現(xiàn)浮點(diǎn)運(yùn)算是在編寫語(yǔ)音識(shí)別程序中需要首先解決的問(wèn)題。這個(gè)問(wèn)題可以通過(guò)數(shù)的定標(biāo)方法來(lái)實(shí)現(xiàn)。數(shù)的定標(biāo)就是決定小數(shù)點(diǎn)在定點(diǎn)數(shù)中的位置。Q表示法是一種常用的定標(biāo)方法。其表示機(jī)制是:
設(shè)定點(diǎn)數(shù)是J,浮點(diǎn)數(shù)是)/,則Q法表示的定點(diǎn)數(shù)與浮點(diǎn)數(shù)的轉(zhuǎn)換關(guān)系為:
浮點(diǎn)數(shù))/轉(zhuǎn)換為定點(diǎn)數(shù)x:x= (int)y×2Q;
定點(diǎn)數(shù)z轉(zhuǎn)換為浮點(diǎn)數(shù)y:y =(float)x×2-Q。
評(píng)論