語音信號的μ/A律壓縮
發布時間:2008/12/17 0:00:00 訪問次數:2009
語音信號的編碼方式一般為脈沖調制編碼(pcm,pulse code modulation)。采用dsp可以直接對pcm編碼后的語音信號進行μ律和a律壓縮。
pcm編碼即脈沖編碼調制,也就是將模擬信號轉換數碼,然后再轉換成二進制數字信號的方法。幾種常用的二進制編碼格式如表1所示。
表1 幾種常用的二進制編碼格式
μ/a律壓縮解壓編碼是國際電報電話協會(ccitt,consultative committee forinternational telegraph and telephone)最早推出的g.711語音壓縮解壓編碼的一種格式的主要內容。其中歐洲和中國等國家采用a律壓縮解壓編碼,美國和日本等國家采用μ律壓縮解壓編碼。由于中國采用a律,本實例著重介紹a律壓縮解壓算法。圖1是dsp硬件實現數據壓縮解壓的簡單流程,dsp將傳輸來的壓縮后的數據進行解壓成16位或者32位,然后對解壓后的數據進行分析、處理,最后將處理后的數據按照要求壓縮成8位的數據格式輸出到相應設備,供其他設備讀取。
圖1 數據壓縮解壓流程
圖2是dsp將數據解壓的值,dsp將壓縮的8位數據解壓成16位的dsp通用數據格式,其中高13位為解壓后的數據,低3位補0。這是因為6.711的a律壓縮只能對13位數據操作。dsp將解壓后的數據放在緩沖串口的發送寄存器中,只要運行發送指令,緩沖串口就會將數據發送出去。緩沖串口對接收數據的解壓過程和壓縮過程完全相反。圖3是μ律數據解壓的示意圖。
圖2 a律數據解壓
圖3 μ律數據解壓
dsp內部的緩沖串口(mcbsps)帶有硬件實現的μ律/a律壓縮解壓,用戶只需要在相應寄存器中進行設置就可以了。
在進行a律壓縮時,采樣后的12位數據,默認其最高位為符號位,壓縮時要保持最高位即符號位不變,原數據的后11位要壓縮成7位。這7位碼由3位段落碼和4位段內碼組成。具體的壓縮變換后的數據根據后11位數據大小決定。具體的編譯碼表如表2所示。
表2 a律數據壓縮表
壓縮后數據的最高位(第7位)表示符號,量階分別為1、1、2、4、8、16、32、64,由壓縮后數據的第6位到第4位決定,第3位到第0位是段內碼。壓縮后的數據有一定的失真。有些數據不能表示出,只能取最接近該數據的壓縮值。例如,數據125,壓縮后的值為00111111,意義如下。
最終結果為64+4×15=124
也可以使用緩沖串口實現對內部數據的壓縮和解壓,通過緩沖串口的自發自收功能,可以實現:
(1)將線性數據轉換為相應的u律或者a律格式;
(2)將u律或者a律格式的數據轉換為線性數據;
(3)通過線性數據的傳輸以及對這些數據的壓縮和解壓,評估壓縮和解壓過程中量化效應對數據的影響;
圖4是利用緩沖串口對片內數據進行壓縮和解壓的兩種實現方法,分別由dlb和non-dlb兩條路徑表示。
圖4 dsp內部數據的壓縮和解壓
(1)dlb路徑。緩沖串口設置為數字反饋環路,在rcompand和xcompand位中設定相應的壓縮和解壓方式。此時dsp仍然可以利用發送(xint)和接收(rint)中斷或者是dma的發送(xevt)和接收(revt)同步事件進行數據輸入輸出的同步控制。在這種方式下,壓縮和解壓的速度取決于設置的串行波特率。
(2)non-dlb路徑。當緩沖串口的發送和接收端均對復位后,drr和dxr只通過壓縮和解壓模塊相連,數據不再經過rbr、xsr、rsr以及dr和dx引腳。數據按照rcompand和xcompand位中設定的方式進行壓縮和解壓,但此時不能產生dsp所需要的中斷信號,也不能產生dma需要的同步事件。但這種方法直接從dxr到drr,壓縮和解壓的速度非常快。
語音信號的p/a律壓縮程序如下:
語音信號的編碼方式一般為脈沖調制編碼(pcm,pulse code modulation)。采用dsp可以直接對pcm編碼后的語音信號進行μ律和a律壓縮。
pcm編碼即脈沖編碼調制,也就是將模擬信號轉換數碼,然后再轉換成二進制數字信號的方法。幾種常用的二進制編碼格式如表1所示。
表1 幾種常用的二進制編碼格式
μ/a律壓縮解壓編碼是國際電報電話協會(ccitt,consultative committee forinternational telegraph and telephone)最早推出的g.711語音壓縮解壓編碼的一種格式的主要內容。其中歐洲和中國等國家采用a律壓縮解壓編碼,美國和日本等國家采用μ律壓縮解壓編碼。由于中國采用a律,本實例著重介紹a律壓縮解壓算法。圖1是dsp硬件實現數據壓縮解壓的簡單流程,dsp將傳輸來的壓縮后的數據進行解壓成16位或者32位,然后對解壓后的數據進行分析、處理,最后將處理后的數據按照要求壓縮成8位的數據格式輸出到相應設備,供其他設備讀取。
圖1 數據壓縮解壓流程
圖2是dsp將數據解壓的值,dsp將壓縮的8位數據解壓成16位的dsp通用數據格式,其中高13位為解壓后的數據,低3位補0。這是因為6.711的a律壓縮只能對13位數據操作。dsp將解壓后的數據放在緩沖串口的發送寄存器中,只要運行發送指令,緩沖串口就會將數據發送出去。緩沖串口對接收數據的解壓過程和壓縮過程完全相反。圖3是μ律數據解壓的示意圖。
圖2 a律數據解壓
圖3 μ律數據解壓
dsp內部的緩沖串口(mcbsps)帶有硬件實現的μ律/a律壓縮解壓,用戶只需要在相應寄存器中進行設置就可以了。
在進行a律壓縮時,采樣后的12位數據,默認其最高位為符號位,壓縮時要保持最高位即符號位不變,原數據的后11位要壓縮成7位。這7位碼由3位段落碼和4位段內碼組成。具體的壓縮變換后的數據根據后11位數據大小決定。具體的編譯碼表如表2所示。
表2 a律數據壓縮表
壓縮后數據的最高位(第7位)表示符號,量階分別為1、1、2、4、8、16、32、64,由壓縮后數據的第6位到第4位決定,第3位到第0位是段內碼。壓縮后的數據有一定的失真。有些數據不能表示出,只能取最接近該數據的壓縮值。例如,數據125,壓縮后的值為00111111,意義如下。
最終結果為64+4×15=124
也可以使用緩沖串口實現對內部數據的壓縮和解壓,通過緩沖串口的自發自收功能,可以實現:
(1)將線性數據轉換為相應的u律或者a律格式;
(2)將u律或者a律格式的數據轉換為線性數據;
(3)通過線性數據的傳輸以及對這些數據的壓縮和解壓,評估壓縮和解壓過程中量化效應對數據的影響;
圖4是利用緩沖串口對片內數據進行壓縮和解壓的兩種實現方法,分別由dlb和non-dlb兩條路徑表示。
圖4 dsp內部數據的壓縮和解壓
(1)dlb路徑。緩沖串口設置為數字反饋環路,在rcompand和xcompand位中設定相應的壓縮和解壓方式。此時dsp仍然可以利用發送(xint)和接收(rint)中斷或者是dma的發送(xevt)和接收(revt)同步事件進行數據輸入輸出的同步控制。在這種方式下,壓縮和解壓的速度取決于設置的串行波特率。
(2)non-dlb路徑。當緩沖串口的發送和接收端均對復位后,drr和dxr只通過壓縮和解壓模塊相連,數據不再經過rbr、xsr、rsr以及dr和dx引腳。數據按照rcompand和xcompand位中設定的方式進行壓縮和解壓,但此時不能產生dsp所需要的中斷信號,也不能產生dma需要的同步事件。但這種方法直接從dxr到drr,壓縮和解壓的速度非常快。
語音信號的p/a律壓縮程序如下:
上一篇:語音信號去噪
上一篇:語音信號的采集和播放
熱門點擊
- D/A轉換器的基本原理
- AD轉換器的選擇
- 語音信號的μ/A律壓縮
- 并行A/D轉換器AD574
- 語音信號模數/數模轉換
- 語音信號的采集和播放
- DFT的屬性
- D/A轉換器的特性與技術指標
- D/A轉換器雙極性工作
- 高速數據采集系統的時鐘電路設計
推薦技術資料
- DS2202型示波器試用
- 說起數字示波器,普源算是國內的老牌子了,FQP8N60... [詳細]