新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 語音識別及其定點DSP實現

        語音識別及其定點DSP實現

        作者: 時間:2010-08-30 來源:網絡 收藏

          2.2 系統的硬件結構

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

        語音識別系統的硬件結構

          在這種結構中,PC機為主CPU,A2181為從CPU,由PC機通過IDMA口將程序裝載到A2181的內部存儲器中。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數據格式,數據塊的指數相同。這種表示數據的方法有足夠大的數據范圍,可以完全滿足數據精度的要求,但是需要自己編寫一套指數和尾數運算庫,會額外增加程序的指令數和運算量,不利于實時實現。


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



        關鍵詞: DSP

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 瑞昌市| 锦州市| 红安县| 宽甸| 佛坪县| 汝南县| 富裕县| 广河县| 邓州市| 简阳市| 江华| 永登县| 黑龙江省| 太和县| 陈巴尔虎旗| 泰安市| 三明市| 马鞍山市| 翼城县| 隆德县| 红安县| 新巴尔虎左旗| 清新县| 杭锦后旗| 乌拉特前旗| 柞水县| 安庆市| 从江县| 晋江市| 潼关县| 宝清县| 玉树县| 永康市| 丹棱县| 民勤县| 光泽县| 义马市| 西昌市| 宜宾县| 天等县| 叶城县|