Oct 29, 2007

PCM(Pulse Code Modulation)

脈衝碼調制(PCM,pulse code modulation)是概念上最簡單、理論上最完善的編碼系統。它是最早研製成功、使用最為廣泛的編碼系統,但也是資料量最大的編碼系統。
PCM的編碼原理比較直觀和簡單,原理框圖如圖04-01-1所示。在這個框圖中,它的輸入是類比信號,首先經過時間採樣,然後對每一樣值都進行量化,作為數位信號的輸出,即PCM樣本序列x(0),x(1),…,x(n)。圖中的“量化,編碼”可理解為“量化階大小(step-size)”生成器或者稱為“量化間隔”生成器。


圖04-01-1 PCM編碼框圖

量化有多種方法。最簡單的是只應用於數值,稱為標量量化,另一種是對向量(又稱為向量)量化。標量量化可歸納成兩類:一類稱為均勻量化,另一類稱為非均勻量化。理論上,標量量化也是向量量化的一種特殊形式。採用的量化方法不同,量化後的資料量也就不同。因此,可以說量化也是一種壓縮資料的方法。
下面介紹標量量化,向量量化將在本章最後一節介紹。
(一)均勻量化
如果採用相等的量化間隔處理採樣得到的信號值,那麼這種量化稱為均勻量化。均勻量化就是採用相同的“等分尺”來度量採樣得到的幅度,也稱為線性量化,如圖04-01-2所示。量化後的樣本值Y和原始值X的差 E=Y-X 稱為量化誤差或量化雜訊。


圖04-01-2 均勻量化

(二)非均勻量化
用均勻量化方法量化輸入信號時,無論對大的輸入信號還是小的輸入信號一律都採用相同的量化間隔。為了適應幅度大的輸入信號,同時又要滿足精度要求,就需要增加量化間隔,這將導至增加樣本的位元數。但是,有些信號(例如話音信號),大信號出現的機會並不多,增加的樣本位元數就沒有充分利用。為了克服這個不足,就出現了非均勻量化的方法,這種方法也叫做非線性量化。
非線性量化的基本想法是,對輸入信號進行量化時,大的輸入信號採用大的量化間隔,小的輸入信號採用小的量化間隔,如圖04-01-3所示,這樣就可以在滿足精度要求的情況下用較少的位元數來表示。量化資料還原時,採用相同的規則。
在語音信號的非線性量化中,採樣輸入信號幅度和量化輸出資料之間定義了兩種對應關係,一種稱為律壓擴(-law companding)演算法,另一種稱為A律(A-law)壓擴演算法。


圖04-01-3 非均勻量化

1. Mu-law
G.711標準建議的Mu-law主要用在北美和日本等地區的數位電話通信中,按下面的式子(歸一化)確定量化輸入和輸出的關係:



式中:x為輸入信號幅度,規格化成 -1≤< /SPAN> x≤ 1;
sgn(x)為x的極性,x<0時為-1,否則為1;
m為確定壓縮量的參數,它反映最大量化間隔和最小量化間隔之比,取100≤ ≤ 500,現在多取m=255。
由於Mu-law的輸入和輸出關係是對數關係,所以這種編碼又稱為對數PCM。具體計算時,用m=255,可以把對數曲線變成8條折線以簡化計算過程。

2. A-law
G.711標準建議的A律壓擴主要用在中國大陸和歐洲等地區的數位電話通信中,按下面的式子確定量化輸入和輸出的關係:



0 ≤ | x| ≤ 1/A
1/A < |x| ≤ 1
式中:x為輸入信號幅度,規格化成 -1 ≤< /SPAN > x ≤ 1;
sgn(x)為x的極性,x<0時為-1,否則為1;
A為確定壓縮量的參數,它反映最大量化間隔和最小量化間隔之比,通常取A=87.6。
A律壓擴的前一部分是線性的,其餘部分與律壓擴相同。A律壓擴具有與律壓擴相同的基本性能(在大信號區信噪比高於律量化器,但在小信號區不如律量化器)和實現方面的優點,尤其是還可以用直線段很好地近似,以便於直接壓擴或數位壓擴,並易於與線性編碼格式相互轉換。具體計算時,A=87.56,為簡化計算,同樣把對數曲線部分變成13條折線。
對於採樣頻率為8 kHz,樣本精度為13比特、14比特或者16比特的輸入信號,使用率壓擴編碼或者使用A率壓擴編碼,經過PCM編碼器之後每個樣本的精度為8比特,輸出的資料率為64 kbps。這個資料就是CCITT推薦的G.711標準:話音頻率脈衝碼調制(Pulse Code Modulation (PCM) of Voice Frequencies)。通常的聽覺主觀感覺認為8位壓擴量化有不低於12位均勻量化A/D的信噪比及動態範圍。
Post a Comment