劉新紅
(北京信息職業技術學院,北京,100018)
PCM(Pulse Code Modulation)脈沖編碼調制,是一種用一組二進制數字代碼來代替連續信號的抽樣值,從而實現通信的方式。由于這種通信方式抗干擾能力強,在光纖通信、數字微波通信、衛星通信中得到了廣泛應用[1-2]。
文獻[3-4]只是對PCM系統進行了仿真,但并未對系統結構和各環節功能作用進行分析。
文獻[5]基于Simulink設計了脈沖編碼調制系統,使用PCM編解碼模塊分析了均勻量化、非均勻量化信噪比的變化,沒有深入PCM編解碼實現本身。
文獻[6]基于LABVIEW 對PCM 編譯碼系統進行了仿真設計,使用13折線法實現A律壓縮,但沒有考慮傳輸中誤碼因素的影響。
文獻[7]基于Simulink設計了PCM語音通信系統,只是使用了A律壓縮的壓縮模塊,并未提及13折線法實現A律壓縮。
本文在分析PCM編解碼原理基礎上構建基于Simulink的PCM編解碼系統模型,分析A律壓縮PCM編碼的意義和方法,對各環節仿真波形進行分析,對比A律壓縮的函數準確實現和13折線近似實現以及信道有干擾情況下有無信道編解碼實現檢錯糾錯對PCM解碼信號的影響,有助于深入理解和運用PCM編解碼技術。
脈沖編碼調制在通信系統中完成將語音信號數字化的功能,其實現過程包括 3 個步驟:抽樣、量化和編碼。分別完成時間上離散、幅度上離散及量化信號的二進制表示。量化方法一般采用壓擴非均勻量化,即對于信號取值小的區間,其量化間隔也??;反之,量化間隔就大。 根據 CCITT兩種建議方式分別為 A 律和μ律方式。 PCM根據語音信號小信號比例大的特點采用A律或μ率壓縮,我國采用A律壓縮,變換關系為:
式中A為壓擴參數,A值越大壓擴效果越明顯,A=1時無壓縮。國際標準取值A=87.6。
該壓擴曲線難以嚴格實現,采用A率13折線法近似壓擴特性曲線。
由于壓擴曲線函數奇對稱,因此,分析第一象限的部分即可。
將x歸一化到[0,1]區間,不斷對分為8段,1,1/2,1/4,1/8,1/16,1/32,1/64,1/128,0。
將y歸一化到[0,1]區間,等間隔分為8段,1,7/8,6/8,5/8,4/8,3/8,2/8,1/8,0。
將每一段16等分。
PCM按8位二進制編碼,1位符號碼,3位段落碼,4位段內碼。
減少數據量并保證處理后的信號質量沒有明顯下降是信源編碼的任務。根據語音信號小信號比例大的特點,為減小數字化過程中量化誤差,提高處理后語音信號質量,采用非均勻量化編碼。A律壓縮PCM編解碼最小量化單位為1/2048,要達到這樣的量化級采用均勻量化需要11bit編碼值,而采用A率壓縮只用了7bit,減少了4bit。編解碼處理后信號質量卻是相當。
PCM編解碼模型如圖1所示。
用正弦波模擬信號,設置頻率2000Hz,零階保持模塊完成采樣保持,采樣周期1/20000s,飽和模塊將信號幅度限制在[-1,1]間,繼電器模塊取出信號的符號并將負數編成0,正數編成1輸出,即信號小于0輸出0,大于0輸出1。絕對值模塊把信號負值變為正值,使后續模塊只處理信號的大小而不考慮符號。查找表模塊實現13折線A律壓縮,經壓縮后信號取值范圍[0,1],經過增益模塊放大127倍,使取值范圍變為[0,127],經過間隔為1的均勻量化器將幅值連續的信號離散成只能取[0,127]間整數值的數字信號。經過整數到二進制變換模塊變換成7位二進制數,經合路模塊將符號位和數值位合為8位PCM編碼值。由此完成PCM編碼。
PCM編碼值經緩存模塊串行化為比特流,經二進制對稱信道傳送到接收端,信道設置誤碼率5%,為了檢錯糾錯降低由于傳輸帶來的誤碼,加入了(7,4)二進制循環編解碼模塊。
接收端從信道接收二進制數據后經循環碼解碼模塊檢錯糾錯后送入緩存器,緩存器將數據變換為8位二進制數據,也就是接收的PCM編碼數據,經分路器將8位分離,最高位符號位0,1經繼電器模塊變換為-1,1。低7位經合路器變為7位二進制數,經二進制到整數值變換模塊變為[0,127]整數,經增益模塊將信號值衰減到[0,1],經A律擴展模塊恢復出壓縮前信號。解壓后的值加上符號就得到了解碼后的PCM值。經低通濾波器濾除高頻信號,得到發送的信號。由于信道中的干擾,使接收端恢復出的模擬信號和發端相比有一定的失真。
模型中壓縮和解壓縮應該用同種方式實現,本文為了對比選用了不同的方式,A律壓縮解壓縮模塊實現的是按式(1)實現的準確的壓縮解壓縮變換,而查找表方式是按13折線法實現的近似壓縮解壓縮變換。仿真對比了2種方式的PCM編碼值是有小差別的,但從變換前后采樣點波形看不出明顯不同,這也是可以采用13折線近似實現A律壓縮與解壓縮的原因。
模型中如果用(7,4)信道編碼檢錯,信道編碼模塊前的緩存器輸出應設為4位,以滿足二進制循環編碼器的輸入要求,不用設為1位實現并行數據轉串行輸出即可。
仿真波形圖如圖2、3所示,圖2為有信道編解碼時的PCM編解碼仿真波形圖,圖3為無信道編解碼時的PCM編解碼仿真波形圖。
圖2、3仿真波形圖中波形1到6依次是發端待PCM編碼發送的原始模擬正弦信號,接收端PCM解碼恢復出的模擬正弦信號,接收端收到的PCM編碼符號,發端PCM編碼數值,收端PCM編碼數值,接收端PCM解碼波形。
圖1 PCM編解碼仿真電路圖
圖2 有信道編解碼時的PCM編解碼仿真波形圖
圖3 無信道編解碼時的PCM編解碼仿真波形圖
從波形4、5可以看出,經A律壓縮后采樣點數值中小值被放大,大值被壓縮。由于信道干擾接收端PCM采樣波形樣值發生改變,樣值點波形發生畸變。
波形3的符號波形也由于信道干擾而畸變,因此,由波形5的數值加上波形3的符號恢復出的帶符號的采樣值波形自然也發生畸變。
對比圖2、3的波形2、3、5、6可以看出,經過信道編碼糾錯波形畸變明顯減輕。接收端恢復出的模擬信號失真減小。
根據PCM編解碼原理構建了基于Simulink的PCM編解碼系統模型,仿真結果表明系統能夠實現PCM編解碼。分析了A律壓縮PCM編碼的意義和方法,對各環節仿真波形進行了分析,對比了A律壓縮的函數準確實現和13折線近似實現以及信道有干擾情況下有無信道編解碼實現檢錯糾錯對PCM解碼信號的影響,有助于深入理解和運用PCM編解碼技術。
實際13折線A律PCM編解碼實現時采用逐次比較法將壓縮和編碼合二為一一步實現,而不是像模型中的先進行壓縮變化再均勻量化編碼。