新聞中心

EEPW首頁 > 汽車電子 > 設計應用 > 基于ADPCM算法的汽車智能語音報警系統設計

基于ADPCM算法的汽車智能語音報警系統設計

作者: 時間:2010-04-19 來源:網絡 收藏

低通濾波器的設計指標為:通帶截止頻率fp=3 400 Hz,通帶允許最大衰減αp≤3 dB;為抑制采樣混疊失真,確定阻帶截止頻率fs=4 000 Hz,阻帶允許最小衰減as≥40 dB。由于橢圓濾波器可以獲得較其他濾波器窄的過渡帶寬,故適用該系統設計。利用濾波器輔助設計軟件Filter Wiz Pro獲得五階橢圓低通濾波器電路如圖4、仿真結果如圖5所示。

  

  級聯高通和低通濾波器,即可得到300 Hz~3.4 kHz帶通濾波器,實驗表明,該濾波器效果良好,達到設計指標。后向通道的帶通濾波器的設計與此相同。

4 系統軟件的設計

  4.1 FPGA部分

  選用Altera公司的Cyclone系列的EPlC6Q-240C8實現編碼器和解碼器。該器件含有120 000典型門資源、5 980個邏輯單元、6個RAM模塊、92 160 Bit RAM或ROM、2個數字PLL、185個可編程I/O口,最高工作時鐘可達300 MHz以上,并通過JTAG接口實現在系統配置。

  是一種利用樣本間的高度相關性和量化階自適應壓縮數據的波形編碼技術。綜合了APCM的自適應特性和DPCM的差分特性。它的核心思想是利用自適應改變量化階的大小,即就是使用小的量化階編碼小的差值,使用大的量化階來編碼大的差值;使用過去的樣本值估算下一個輸入樣本的預測值,實際樣本值和預測值之間的差值總是最小。ADPCM的輸入信號是G.711 PCM代碼,若采樣頻率為8 kHz,每個代碼為8位,則它的數據率為64 Kb/s,而ADPC M的輸出代碼是“自適應量化器”的輸出,該輸出是4位的差分信號,它的采樣頻率仍是8 kHz,數據率為32 Kb/s,這樣就獲得了2:1的數據壓縮。

  編碼過程:計算8位的二進制補碼的當前采樣值Sc和上一預測采樣值Sp之間的差值d,該差值經量化編碼輸出4位ADPCM代碼I。在算法中,定義一個結構變量存儲預測采樣值Sp和量化步長q,并制定了兩個表:一個表為索引調整表,其輸入為差值量化編碼I,用于更新步長索引;另一個表為步長調整表,其輸入為步長索引,輸出為步長q。編碼時,首先用上一個采樣點的步長索引查步長調整表求出步長q,然后根據下式來確定4位ADPCM編碼值I:

  

  再將編碼值I作為索引調整表的輸入,查表輸出索引調整,并和結構變量中原步長索引相加,產生新的步長索引,在下一個采樣值的編碼中使用。編碼器輸出I后,還需要重復進行與解碼完全一樣的計算過程,求出新的預測采樣值Sp。

  解碼過程:首先通過步長索引查步長調整表得到量化步長,差值量化編碼I經逆量化得到語音差值d,這是求I的逆過程;然后與前次預測值Sp。一起重建當前語音信號Sc;最后利用Sp=Sc,更新預測值Sp,用I更新量化步長索引。

 



評論


相關推薦

技術專區(qū)

關閉