《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于定點DSP處理芯片ADSP2181的語音信號的識別
基于定點DSP處理芯片ADSP2181的語音信號的識別
電子發燒友
摘要: 基于定點DSP處理芯片ADSP2181的語音信號的識別,近年來,高性能數字信號處理芯片DSP(Digital Signal Process)技術的迅速發展,
Abstract:
Key words :

近年來,高性能數字信號處理芯片DSP(Digital Signal Process)技術的迅速發展,為語音識別的實時實現提供了可能,其中,AD公司的數字信號處理芯片以其良好的性價比和代碼的可移植性被廣泛地應用于各個領域。因此,我們采用AD公司的定點DSP處理芯片ADSP2181實現了語音信號的識別。

1 語音識別的基本過程

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

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

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

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

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

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

2 系統的硬件結構

2.1 ADSP2181的特點

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

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

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

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

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

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

由于ADSP2181以上的特點,使得該芯片構成的系統體積小、性能高、成本和功耗低,能較好地實現語音識別算法

2.2 系統的硬件結構

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

在這種結構中,PC機為主CPU,ADSP2181為從CPU,由PC機通過IDMA口將程序裝載到ADSP2181的內部存儲器中。PC機總線通過CPLD譯碼,形成IRD,IWR,IAL,IS等控制信號,與ADSP2181的IDMA口相連。這樣,在ADSP2181全速運行時,主機可以查詢從機的運行狀態,可以訪問到ADSP2181內部所有的程序存儲器和數據存儲器。這對程序的編譯和調試,以及語音信號的實時處理帶來了極大的方便。

3 語音識別的DSP實現技術

3.1 浮點運算的定點實現

在語音識別的算法中,有許多的浮點運算。用定點DSP來實現浮點運算是在編寫語音識別程序中需要首先解決的問題。這個問題可以通過數的定標方法來實現。數的定標就是決定小數點在定點數中的位置。Q表示法是一種常用的定標方法。其表示機制是:

設定點數是J,浮點數是)/,則Q法表示的定點數與浮點數的轉換關系為:

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

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

3.2 數據精度的處理

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

(1)擴展精度

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

(2)采用偽浮點法來表示浮點數

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

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

3.3 變量的維護

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

3.4 循環嵌套的處理

語音識別算法的實現,有許多是在循環中實現的。對于循環的處理,需要注意以下幾個問題:

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

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

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

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

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

3.6 利用C語言與匯編語言的混合編程

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

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

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

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

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

4 結 語

用定點DSP芯片構成的語音識別系統有著廣泛的應用前景,在編寫語音識別算法時,對其進行定點化處理以及一些原則和方法對其他類似的算法也有著現實指導意義。在實際應用中,應注意根據DSP芯片的特點,對算法進行優化,使得DSP芯片的性能得到充分的發揮。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久人人爽人人爽爽久久| 国产精品国产三级国产aⅴ浪潮| 99精品视频网| 欧美在线视频播放| 香蕉久久一区二区不卡无毒影院 | 亚洲欧美激情在线视频| 99精品国产在热久久下载| 亚洲国产美女精品久久久久∴| 欧美在线观看视频在线 | 日韩图片一区| 亚洲免费成人| 日韩天堂在线视频| 99精品国产热久久91蜜凸| 99精品福利视频| 亚洲视屏一区| 亚洲一区二区三区在线看| 亚洲视频一区在线| 亚洲欧美日韩国产成人精品影院| 亚洲视频自拍偷拍| 亚洲欧美卡通另类91av| 欧美一级午夜免费电影| 欧美一区二区三区在线观看| 性8sex亚洲区入口| 久久久久久9| 久色成人在线| 欧美高清视频在线观看| 欧美日韩精品久久| 国产精品久久久免费| 国产免费成人| 伊人成人在线| 亚洲人成免费| 中文精品在线| 欧美一区二区视频网站| 亚洲国产精品久久久久婷婷老年| 亚洲人成啪啪网站| 一区二区三区精品国产| 午夜精品久久久久久| 久久精品亚洲一区二区三区浴池| 久久视频免费观看| 欧美激情第六页| 国产精品久久久999| 国产一二三精品| 亚洲国产成人tv| 亚洲视频在线观看一区| 性色一区二区| 亚洲九九九在线观看| 亚洲一区美女视频在线观看免费| 欧美一区1区三区3区公司| 美女在线一区二区| 欧美视频精品在线| 国产婷婷成人久久av免费高清| 在线精品视频免费观看| 亚洲日韩欧美视频一区| 亚洲综合日本| 亚洲欧洲精品一区二区| 亚洲尤物在线视频观看| 久久久久久亚洲精品杨幂换脸| 欧美国产欧美亚洲国产日韩mv天天看完整 | 欧美日韩国产首页在线观看| 国产精品腿扒开做爽爽爽挤奶网站| 韩国在线一区| 一区二区免费在线播放| 欧美一区二视频| 在线综合视频| 久久综合狠狠综合久久激情| 欧美日韩在线精品一区二区三区| 国产午夜一区二区三区| 日韩午夜av电影| 久久成人一区| 亚洲先锋成人| 欧美成年人视频| 国产日韩欧美一区| 99re成人精品视频| 亚洲国产成人不卡| 欧美一区高清| 欧美日本在线视频| 狠狠综合久久av一区二区小说| 一区二区三区国产在线观看| 久久国产精品毛片| 亚洲欧洲av一区二区| 欧美激情一区二区在线| 国产自产精品| 亚洲一区二区在线免费观看视频| 亚洲精品一区二区三区av| 久久精品视频亚洲| 国产精品国产三级国产普通话蜜臀| 亚洲成色最大综合在线| 亚洲欧美资源在线| 亚洲一区二区三区涩| 欧美精品一区二区三| 国产一区二区电影在线观看 | 国产精品播放| 亚洲免费观看高清在线观看 | 国产色产综合产在线视频| 一区二区三区四区国产| 亚洲精品久久久久久久久久久| 欧美与黑人午夜性猛交久久久| 欧美日韩一区二区三区在线观看免| 精品成人一区二区三区四区| 亚洲欧美日韩精品久久亚洲区| 亚洲午夜在线观看| 欧美精品自拍| 亚洲人成精品久久久久| 亚洲精品国产欧美| 裸体一区二区三区| 激情久久五月天| 欧美影视一区| 久久国产精品电影| 国产精品午夜国产小视频| 99在线精品视频在线观看| 日韩视频免费观看高清完整版| 美女免费视频一区| 黄色在线一区| 亚洲国产一区二区三区a毛片| 久久久久久久999精品视频| 国产欧美不卡| 午夜精品成人在线视频| 欧美一区二区三区免费观看| 国产精品盗摄一区二区三区| 一区二区欧美日韩视频| 亚洲一区www| 国产精品va| 亚洲伊人观看| 久久国产精品免费一区| 国产一区二区久久久| 久久精品99无色码中文字幕| 久久精品国产精品亚洲精品| 国产一区二区三区四区老人| 欧美在线亚洲一区| 久久这里有精品15一区二区三区| 国产亚洲精品bt天堂精选| 久久成人精品无人区| 欧美大片一区二区| 亚洲精品一区二区在线观看| 一本到12不卡视频在线dvd| 欧美午夜精品| 亚洲欧美日韩中文在线制服| 久久久免费精品视频| 激情欧美国产欧美| 亚洲人成7777| 欧美日韩免费观看一区| 亚洲午夜久久久| 久久精品水蜜桃av综合天堂| 在线 亚洲欧美在线综合一区| 亚洲人体偷拍| 欧美天天影院| 午夜精品视频一区| 米奇777在线欧美播放| 亚洲精品欧美专区| 欧美一级片在线播放| 黄色成人在线免费| 日韩午夜免费视频| 国产精品毛片在线| 亚洲大胆视频| 欧美日韩亚洲另类| 午夜精品一区二区三区在线播放| 久久裸体艺术| 亚洲免费成人| 久久久精品tv| 亚洲第一久久影院| 在线视频一区二区| 国产一区二区三区免费在线观看| 亚洲精品国产品国语在线app| 国产精品国产成人国产三级| 久久精品国产在热久久| 欧美精品色网| 香蕉视频成人在线观看| 欧美大片91| 午夜精品久久久久久久久| 欧美成人午夜激情| 亚洲一区二区三区四区五区黄 | 亚洲在线第一页| 欧美岛国在线观看| 亚洲欧美清纯在线制服| 欧美xx69| 亚洲欧美日韩在线综合| 欧美激情一区二区三区| 亚洲影视在线| 欧美激情视频在线免费观看 欧美视频免费一 | 亚洲免费在线播放| 欧美电影电视剧在线观看| 亚洲亚洲精品在线观看 | 国产精品一区二区三区久久久| 亚洲国产精品一区| 国产精品久久久久久久9999| 亚洲七七久久综合桃花剧情介绍| 国产精品美女久久久浪潮软件| 亚洲激情精品| 国产日韩av一区二区| 国产精品99久久久久久白浆小说| 激情综合网激情| 亚洲女优在线| 亚洲精品久久久久久久久| 久久久水蜜桃| 亚洲午夜精品久久久久久app| 欧美丰满少妇xxxbbb| 欧美专区一区二区三区| 欧美日韩国产123| 亚洲精美视频| 国产一区二区黄|