ADPCM語音編譯碼電路設計及FPGA實現

2021-04-09 05:44:41 字數 2128 閱讀 7935

adpcm演算法及其編解碼器原理

adpcm(adaptive differential pulse code modulation,自適應差分脈衝編碼調製)綜合了apcm的自適應特性和dpcm系統的差分特性,是一種效能較好的波形編碼。它的核心思想是:利用自適應改變量化階的大小,即使用小的量化階去編碼小的差值,使用大的量化階去編碼大的差值;使用過去的樣本值估算下乙個輸入樣本的**值,使實際樣本值和**值之間的差值總是最小。adpcm記錄的量化值不是每個取樣點的幅值,而是該點的幅值與前乙個取樣點幅值之差。

adpcm是利用樣本與樣本之間的高度相關性和量化階自適應來壓縮資料的一種波形編碼技術。adpcm標準是乙個**轉換系統,它使用adpcm轉換技術實現64kb/s a律或u律pcm(脈衝編碼調製)速率和32kb/s速率之間的相互轉換。adpcm的簡化框圖如圖1所示。

adpcm編解碼器的輸入訊號是g.711 pcm**,取樣率是8khz,每個**用8位表示,因此它的資料率為64kb/s。而adpcm的輸出**是「自適應量化器」的輸出,該輸出是用4位表示的差分訊號,它的取樣率仍然是8khz,它的資料率為32kb/s,這樣就獲得了2∶1的資料壓縮。

電路的整體結構

基於adpcm演算法,可將語音編譯碼vlsi晶元分成編碼、解碼、儲存、控制和時鐘幾個模組。編碼模組實現資料壓縮功能,將輸入的pcm訊號轉換成adpcm碼;儲存模組在控制模組的作用下,儲存編碼所得的adpcm碼;解碼模組實現解壓縮功能,將adpcm碼轉換得到pcm碼;控制模組的作用是控制其他模組的協調工作;時鐘模組主要實現對外部晶振的原始時鐘訊號進行分頻,以得到電路系統實際所需的時鐘訊號。

1 編碼電路

編碼電路實現資料壓縮功能,將輸入的pcm訊號轉換成均勻的pcm碼,然後與**訊號進行差分,得到的差分訊號經過「自適應量化器」進行壓縮編碼得到adpcm碼,adpcm碼被返回經過「逆自適應量化器」以及「自適應**器」用來構建下乙個**訊號。編碼電路**波形如圖3所示,其中pcm_in為編碼器輸入訊號(pcm碼),code為編碼後得到的輸出訊號(adpcm碼)。

圖3 編碼電路**波形

2 解碼電路

解碼電路實現解壓縮功能,將adpcm碼經過「逆自適應量化器」得到量化差分訊號,量化差分訊號與**值相加得到重構訊號,然後轉換成pcm碼。解碼電路**波形如圖4所示,其中code為解碼器輸入訊號(adpcm碼),pcm_out為解碼後得到的輸出訊號(pcm碼)。與圖3中編譯碼前的pcm_in對比,可以看出解碼誤差很小。

3 其他模組

控制電路控制其他電路模組的協調工作,在編碼的同時使能儲存器寫入訊號,使編碼電路輸出資料可以及時存入儲存器;在解碼的同時使能儲存器讀出訊號,編碼和解碼不能同時進行。時鐘電路主要實現對外部晶振的原始時鐘訊號進行分頻,以得到電路系統實際所需的時鐘訊號。本系統採用的外部晶振固有頻率為14.318mhz,經過分頻後可以獲得8khz時鐘。儲存電路在控制電路的作用下,儲存編碼所得的adpcm碼(32kb/s),由於只需驗證電路的功能,所以只設定了2s的錄音儲存空間,即64kb儲存容量。

整體電路**

在子模組電路**正確後,對系統整體進行**,可以得到圖5所示波形。此次**輸入訊號pcm_in激勵採用testbench產生。在編碼使能訊號record為「0」時,開始編碼,record跳變到「1」時,編碼被遮蔽;此時解碼使能訊號play為「0」,開始解碼,play跳變到「1」時,解碼被遮蔽。從圖中可以看出編碼前輸入訊號pcm_in的激勵和解碼後輸出pcm_out的響應基本符合。由於adpcm演算法本身是有失真壓縮,可以確定本電路系統的設計是正確可靠的。

fpga驗證及結論

本文基於fpga驗證所設計的電路。這裡選用altera公司cyclone系列的ep1c6q240c8器件,其內部有90kb的儲存容量,6k個邏輯單元,2 個pll。由於電路採用8khz取樣頻率,編碼後的adpcm碼為4位,設定錄音時間為2s,所以需要64kb儲存容量;同時,設計需要大約400個左右的邏輯單元。所以選用此低成本的fpga即可滿足設計要求,而且基本上充分利用了內部資源。此晶元的引腳有240 個,能滿足外面的引腳連線,而且**也易於接受。

fpga驗證表明:電路的最大時鐘延遲為26.903ns,最高工作頻率可達37.17mhz,可以很好地再現被錄入的語音,具有較高的保真度和很好的實時性。在電子地圖、車載資訊終端語音播報、治安報警系統,特別是可攜式語音記錄裝置等方面具有較高的應用價值。同時,也指明了數字語音壓縮處理高效設計方法的方向。

圖4 編碼電路**波形

圖5 系統**波形

遙控電路設計

文鐸 315mhz 遙控電路設計 ook調製儘管效能較差,然而其電路簡單容易實現,工作穩定,因此得到了廣泛的應用,在汽車 電單車報警器,倉庫大門,以及家庭保安系統中,幾乎無一例外地使用了這樣的電路。早期的發射機較多使用lc振盪器,頻率漂移較為嚴重。聲表器件的出現解決了這一問題,其頻率穩定性與晶振大體...

電路設計點滴

lfi l logical f flow i implemantation information electrical mechanical heat on pull up register 控制電流,確保狀態 7種情況用上啦電阻 上拉電阻 1 當 ttl 電路驅動 coms 電路時,如果 ttl...

電路設計心得

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 收穫與總結 首先,通過這次設計多級放大電路的實驗,我懂得了估算的重要性,也就是對於電路系統工作情況的預判能力以及懂得了設定良好的靜態工作點的...