<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)DSP2181的語(yǔ)音識別及其定點(diǎn)DSP實(shí)現

基于A(yíng)DSP2181的語(yǔ)音識別及其定點(diǎn)DSP實(shí)現

作者: 時(shí)間:2010-07-26 來(lái)源:網(wǎng)絡(luò ) 收藏

  研究的根本目的是研究出一種具有聽(tīng)覺(jué)功能的機器,能直接接受人的口呼命令,理解人的意圖并做出相應的反映。系統的研究涉及微機技術(shù)、人工智能、數字信號處理、模式識別、聲學(xué)、語(yǔ)言學(xué)和認知科學(xué)等許多學(xué)科領(lǐng)域,是一個(gè)多學(xué)科綜合性研究領(lǐng)域。近年來(lái),高性能數字信號處理芯片DSP(Digital Signal Process)技術(shù)的迅速發(fā)展,為的實(shí)時(shí)實(shí)現提供了可能,其中,AD公司的數字信號處理芯片以其良好的性?xún)r(jià)比和代碼的可移植性被廣泛地應用于各個(gè)領(lǐng)域。因此,我們采用AD公司的處理芯片實(shí)現了語(yǔ)音信號的識別。

  1 語(yǔ)音識別的基本過(guò)程

  根據實(shí)際中的應用不同,語(yǔ)音識別系統可以分為:特定人與非特定人的識別、獨立詞與連續詞的識別、小詞匯量與大詞匯量以及無(wú)限詞匯量的識別。但無(wú)論那種語(yǔ)音識別系統,其基本原理和處理方法都大體類(lèi)似。一個(gè)典型的語(yǔ)音識別系統的原理圖如圖1所示。

典型的語(yǔ)音識別系統的原理圖

  語(yǔ)音識別過(guò)程主要包括語(yǔ)音信號的預處理、特征提取、模式匹配幾個(gè)部分。預處理包括預濾波、采樣和量化、加窗、端點(diǎn)檢測、預加重等過(guò)程。語(yǔ)音信號識別最重要的一環(huán)就是特征參數提取。提取的特征參數必須滿(mǎn)足以下的要求:

  (1)提取的特征參數能有效地代表語(yǔ)音特征,具有很好的區分性;

  (2)各階參數之間有良好的獨立性;

  (3)特征參數要計算方便,最好有高效的,以保證語(yǔ)音識別的實(shí)時(shí)實(shí)現。

  在訓練階段,將特征參數進(jìn)行一定的處理后,為每個(gè)詞條建立一個(gè)模型,保存為模板庫。在識別階段,語(yǔ)音信號經(jīng)過(guò)相同的通道得到語(yǔ)音特征參數,生成測試模板,與參考模板進(jìn)行匹配,將匹配分數最高的參考模板作為識別結果。同時(shí),還可以在很多先驗知識的幫助下,提高識別的準確率。

  2 系統的硬件結構

  2.1 的特點(diǎn)

  AD公司的DSP處理芯片是一種16b的芯片,他內部存儲空間大、運算功能強、接口能力強。有以下的主要特點(diǎn):

  (1)采用哈佛結構,外接16.67MHz晶振,指令周期為30ns,指令速度為33MI/s,所有指令單周期執行;

  (2)片內集成了80 kB的存儲器:16 kB字的(24b)的程序存儲器和16kB字(16b)的數據存儲器;

  (3)內部有3個(gè)獨立的計算單元:算術(shù)邏輯單元(ALU)、乘累加器(MAC)和桶形移位器(SHIFT),其中乘累加器支持多精度和自動(dòng)無(wú)偏差舍人;

  (4)一個(gè)16b的內部DMA端口(1DMA),供片內存儲器的高速存??;一個(gè)8b自舉DMA(BDMA)口,用于從自舉程序存儲器中裝載數據和程序;

  (5)6個(gè)外部中斷,并且可以設置優(yōu)先級或屏蔽等。

  由于A(yíng)DSP2181以上的特點(diǎn),使得該芯片構成的系統體積小、性能高、成本和功耗低,能較好地實(shí)現語(yǔ)音識別。

  2.2 系統的硬件結構

  在構成語(yǔ)音識別電路時(shí),我們采用了ADSP2181的主從結構設計方式,通過(guò)IDMA口由CPU裝載程序。語(yǔ)音識別系統的硬件結構如圖2所示。

語(yǔ)音識別系統的硬件結構

  在這種結構中,PC機為主CPU,ADSP2181為從CPU,由PC機通過(guò)IDMA口將程序裝載到ADSP2181的內部存儲器中。PC機總線(xiàn)通過(guò)CPLD譯碼,形成IRD,IWR,IAL,IS等控制信號,與ADSP2181的IDMA口相連。這樣,在A(yíng)DSP2181全速運行時(shí),主機可以查詢(xún)從機的運行狀態(tài),可以訪(fǎng)問(wèn)到ADSP2181內部所有的程序存儲器和數據存儲器。這對程序的編譯和調試,以及語(yǔ)音信號的實(shí)時(shí)處理帶來(lái)了極大的方便。

  3 語(yǔ)音識別的DSP實(shí)現技術(shù)

  3.1 浮點(diǎn)運算的定點(diǎn)實(shí)現

  在語(yǔ)音識別的中,有許多的浮點(diǎn)運算。用來(lái)實(shí)現浮點(diǎn)運算是在編寫(xiě)語(yǔ)音識別程序中需要首先解決的問(wèn)題。這個(gè)問(wèn)題可以通過(guò)數的定標方法來(lái)實(shí)現。數的定標就是決定小數點(diǎn)在定點(diǎn)數中的位置。Q表示法是一種常用的定標方法。其表示機制是:

  設定點(diǎn)數是J,浮點(diǎn)數是)/,則Q法表示的定點(diǎn)數與浮點(diǎn)數的轉換關(guān)系為:

  浮點(diǎn)數)/轉換為定點(diǎn)數x:x= (int)y×2Q;

  定點(diǎn)數z轉換為浮點(diǎn)數y:y =(float)x×2-Q。

  3.2 數據精度的處理

  用16b的定點(diǎn)DSP實(shí)現語(yǔ)音識別算法時(shí),雖然程序的運行速度提高了,但是數據精度比較低。這可能由于中間過(guò)程的累計誤差而引起運算結果的不正確。為了提高數據的運算精度,在程序中采用了以下的處理方法:

  (1)擴展精度

  在精度要求比較高的地方,將計算的中間變量采用32b,甚至48b來(lái)表示。這樣,在指令條數增加不多的情況下卻使運算精度大大提高了。

  (2)采用偽浮點(diǎn)法來(lái)表示浮點(diǎn)數

  偽浮點(diǎn)法即用尾數+指數的方法來(lái)表示浮點(diǎn)數。這時(shí),數據塊的尾數可以采用Q1.15數據格式,數據塊的指數相同。這種表示數據的方法有足夠大的數據范圍,可以完全滿(mǎn)足數據精度的要求,但是需要自己編寫(xiě)一套指數和尾數運算庫,會(huì )額外增加程序的指令數和運算量,不利于實(shí)時(shí)實(shí)現。

  以上兩種方法,都可以提高運算精度,但在實(shí)際操作時(shí),要根據系統的要求和算法的復雜度,來(lái)權衡考慮。

  3.3 變量的維護

  在高級語(yǔ)言中,有全局變量與局部變量存儲的區別,但在DSP程序中,所有聲明的變量在鏈接時(shí)都會(huì )分給數據空間。所以如果按照高級語(yǔ)言那樣定義局部變量,就會(huì )浪費大量的DSP存儲空間,這對數據空間較為緊張的定點(diǎn)DSP來(lái)說(shuō),顯然是不合理的。為了節省存儲空間,在編寫(xiě)DSP程序時(shí),最好維護好一張變量表。每進(jìn)入一個(gè)DSP子模塊時(shí),不要急于分配新的局部變量,應優(yōu)先使用已分配但不用的變量。只有在不夠時(shí)才分配新的局部變量。

  3.4 循環(huán)嵌套的處理

  語(yǔ)音識別算法的實(shí)現,有許多是在循環(huán)中實(shí)現的。對于循環(huán)的處理,需要注意以下幾個(gè)問(wèn)題:

  (1)ADSP2100系列DSP芯片中,循環(huán)嵌套最多不能超過(guò)4重,否則就會(huì )發(fā)生堆棧溢出,導致程序不能正確執行。但在語(yǔ)音識別的DSP程序中,包括中斷在內的嵌套程序往往超過(guò)4重。這時(shí)不能使用DSP提供的do…unTIl…指令,只能自己設計出一些循環(huán)變量,自己維護這些變量。由于這時(shí)沒(méi)有使用DSP的循環(huán)堆棧,所以也不會(huì )導致堆棧溢出。另外,如果采用jump指令從循環(huán)指令中跳出,則必須維護好PC,LOOP和CNTR三個(gè)堆棧的指針。

  (2)盡量減少循環(huán)體內的指令數。在多重循環(huán)的內部,減少指令數有利于降低程序的執行次數。這樣有利于減少程序的執行時(shí)間、提高操作的實(shí)時(shí)性。

  3.5 采用模塊化的程序設計方法

  在語(yǔ)音識別算法的實(shí)現中,為了便于程序的設計和調試,采用了模塊化的程序設計方法。以語(yǔ)音識別的基本過(guò)程為依據進(jìn)行模塊劃分,每個(gè)模塊再劃分為若干個(gè)子模塊,然后以模塊為單元進(jìn)行編程和調試。在編寫(xiě)程序之前,首先用高級語(yǔ)言對每個(gè)模塊進(jìn)行算法仿真,在此基礎上再進(jìn)行匯編程序的編寫(xiě)。在調試時(shí),可以采用高級語(yǔ)言與匯編語(yǔ)言對比的調試方式,這樣可以通過(guò)跟蹤高級語(yǔ)言與匯編語(yǔ)言的中間狀態(tài),來(lái)驗證匯編語(yǔ)言的正確性,并及時(shí)的發(fā)現和修改錯誤,縮短編程周期。另外,在程序的編寫(xiě)過(guò)程中,應在關(guān)鍵的部分加上必要的注釋與說(shuō)明,以增強程序的可讀性。

  在總調時(shí),需要在各模塊中設置好相應的人口參數與出口參數,維護好堆棧指針與中間變量等。

  3.6 利用C語(yǔ)言與匯編語(yǔ)言的混合編程

  現在,大多數的DSP芯片都支持匯編語(yǔ)言與C或C++語(yǔ)言的混合編程,ADSP2181也不例外。用C語(yǔ)言開(kāi)發(fā)DSP程序具有縮短開(kāi)發(fā)周期、降低程序復雜度的優(yōu)點(diǎn),但是,程序的執行效率卻不高,會(huì )增加額外的機器周期,不利于程序的實(shí)時(shí)實(shí)現。為此,在用C語(yǔ)言編寫(xiě)語(yǔ)音識別算法時(shí),我們采用了定點(diǎn)化處理技術(shù)。ADSP2181是16位定點(diǎn)處理器,定點(diǎn)化處理應注意以下幾個(gè)問(wèn)題:

  (1)ADSP2181支持小數和整數兩種運算方式,在計算時(shí)應選擇小數方式,使計算結果的絕對值都小于1;

  (2)用雙字定點(diǎn)運算庫代替C語(yǔ)言的浮點(diǎn)庫,提高運算精度;

  (3)注意在每次乘加運算之后進(jìn)行飽和操作,防止結果的上溢和下溢;

  (4)循環(huán)處理后的一組數據可能有不同的指數,要進(jìn)行歸一化處理,以便后續定點(diǎn)操作對指數和尾數部分分別處理。

  4 結 語(yǔ)

  用定點(diǎn)DSP芯片構成的語(yǔ)音識別系統有著(zhù)廣泛的應用前景,在編寫(xiě)語(yǔ)音識別算法時(shí),對其進(jìn)行定點(diǎn)化處理以及一些原則和方法對其他類(lèi)似的算法也有著(zhù)現實(shí)指導意義。在實(shí)際應用中,應注意根據DSP芯片的特點(diǎn),對算法進(jìn)行優(yōu)化,使得DSP芯片的性能得到充分的發(fā)揮。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>