本文是該系列的第19篇。語(yǔ)音編碼壓縮的目的是在盡量不損失信息的情況下降低碼率,從而節(jié)省存儲(chǔ)空間和通信帶寬。To Multimedia File這個(gè)block就提供幾種語(yǔ)音壓縮方式:CCITT A律、CCITT μ律、GSM 6.10、PCM、ADPCM。本文將介紹一種很簡(jiǎn)單的增量調(diào)制(DM)編碼方式。
DM編解碼
DM(Delta Modulation)編碼的原理很簡(jiǎn)單,信號(hào)處理的學(xué)習(xí)者對(duì)這個(gè)概念也不陌生(博主是在《現(xiàn)代通信技術(shù)概論》這本書中第一次接觸到這個(gè)概念)。其編碼原理如下:
第一幅圖為語(yǔ)音信號(hào),第二幅圖為編碼后的PWM信號(hào)。在對(duì)語(yǔ)音信號(hào)采樣時(shí),編碼系統(tǒng)會(huì)比較相鄰兩個(gè)時(shí)刻的采樣值,若信號(hào)幅度增加,則編碼為1;若信號(hào)幅度減少,則編碼為0(也可以相反)。系統(tǒng)的編碼結(jié)果僅僅需要1比特來(lái)表示信號(hào)的增量關(guān)系。
解碼時(shí)選擇一個(gè)固定的量化階數(shù),根據(jù)DM編碼值為1或0來(lái)決定輸出信號(hào)是加上一個(gè)量化階數(shù)、還是減去一個(gè)量化階數(shù)。
System Generator設(shè)計(jì)
在Simulink中添加block按下圖連接:
使用Delay做一個(gè)單位的延遲,存儲(chǔ)“過(guò)去時(shí)刻的采樣值”a,并與當(dāng)前時(shí)刻的采樣值b一同輸入到Relational這個(gè)block中進(jìn)行對(duì)比,構(gòu)成DM編碼;編碼結(jié)果經(jīng)過(guò)一個(gè)非門用來(lái)控制加法器(AddSub,Operation配置為Addition or subtraction),決定加上或減去量化階數(shù),構(gòu)成DM解碼。
編碼器輸出的1表示正的增量,0表示負(fù)的增量;但是AddSub的sub端口為1時(shí)執(zhí)行a-b(減去量化階數(shù)),為0時(shí)執(zhí)行a+b(加上量化階數(shù))。由于兩個(gè)部分的邏輯恰好相反,因此中間加一個(gè)Invert block取反。
性能分析
運(yùn)行仿真,播放解碼后的音頻文件會(huì)發(fā)現(xiàn)噪聲很嚴(yán)重,信號(hào)質(zhì)量明顯下降。這也是DM編解碼的固有缺陷。PCM編碼是對(duì)每個(gè)采樣值的幅度都用一定位寬的數(shù)據(jù)量化;DM編碼每個(gè)采用值只用1比特量化。雖然碼率降低了很多,但信噪比也大大下降。
DM編碼有如下兩個(gè)固有缺陷:
- 斜率過(guò)載:當(dāng)輸入信號(hào)變化速率過(guò)快時(shí),比較器的輸出跟不上輸入信號(hào)的快速變化。
- 粒狀噪聲:當(dāng)輸入信號(hào)變化較慢時(shí),相鄰兩個(gè)采樣值的差值非常接近0,此時(shí)比較器的輸出會(huì)在0和1之間跳變。
用到的block功能如下:
- Invert:對(duì)輸入的定點(diǎn)數(shù)據(jù)按位取反;
- Relational:比較器,可判斷的等式包括a=b、a!=b、a小于b、a>b、a=b,輸出結(jié)果為bool類型;
- Constant:輸出常數(shù)值,但由于設(shè)置的位寬有限,軟件會(huì)選擇一個(gè)所能表示的與設(shè)定值最接近的值。
編輯:hfy
-
信號(hào)處理
+關(guān)注
關(guān)注
48文章
992瀏覽量
103161 -
加法器
+關(guān)注
關(guān)注
6文章
183瀏覽量
30064 -
語(yǔ)音編碼
+關(guān)注
關(guān)注
0文章
22瀏覽量
9276
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論