基于PCM語音信號編譯碼分析的課程設(shè)計(jì)報(bào)告_第1頁
基于PCM語音信號編譯碼分析的課程設(shè)計(jì)報(bào)告_第2頁
基于PCM語音信號編譯碼分析的課程設(shè)計(jì)報(bào)告_第3頁
基于PCM語音信號編譯碼分析的課程設(shè)計(jì)報(bào)告_第4頁
基于PCM語音信號編譯碼分析的課程設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、基于PCM的語音信號編碼的譯碼摘 要本設(shè)計(jì)是基于PCM的語音信號編碼和譯碼性能分析,從計(jì)算機(jī)的麥克風(fēng)錄取一段語音信號,錄制時(shí)間為12秒,并對錄下的語音信號進(jìn)行時(shí)域分析。其主要內(nèi)容是將模擬的語音信號數(shù)字化,具體分三步抽樣、量化、編碼。以PCM編碼和譯碼原理,在MATLAB下對該段語音進(jìn)行PCM編碼(以A律編碼規(guī)則進(jìn)行編碼)和譯碼,并比較了與未編碼波形的差別。關(guān)鍵詞:脈沖編碼調(diào)制; 編碼; 譯碼; 語音信號21前 言實(shí)際中的信源通常是模擬的,如電視信號、麥克風(fēng)拾取的語音信號等。為了能夠使模擬信號在數(shù)字通信系統(tǒng)中傳輸,特別是能夠和其他數(shù)字信號一起在寬帶綜合業(yè)務(wù)數(shù)字通信網(wǎng)中同時(shí)傳輸,需要將模擬信號進(jìn)行

2、數(shù)字化。數(shù)字化的過程一般由抽樣、量化、編碼組成。其中,抽樣要保證不丟失原始信息,而量化要滿足一定的質(zhì)量,最后編碼解決信號的表示。該設(shè)計(jì)則是在MATLAB平臺下,依據(jù)脈沖編碼調(diào)制原理對實(shí)際的語音信號進(jìn)行PCM編碼和譯碼。脈沖編碼調(diào)制(PCM,Pulse Code Modulation)在通信系統(tǒng)中完成將語音信號數(shù)字化功能。是一種對模擬信號數(shù)字化的取樣技術(shù),將模擬信號變換為數(shù)字信號的編碼方式,特別是對于音頻信號。PCM 對信號每秒鐘取樣 8000 次;每次取樣為8個(gè)位,總共64kbps。PCM的實(shí)現(xiàn)主要包括三個(gè)步驟完成:抽樣、量化、編碼。分別完成時(shí)間上離散、幅度上離散、及量化信號的二進(jìn)制表示。根據(jù)

3、CCITT的建議,為改善小信號量化性能,采用壓擴(kuò)非均勻量化,有兩種建議方式,分別為A律和律方式。歐洲和我國大陸采用A律,北美、日本和其他一些國家和地區(qū)采用律。本設(shè)計(jì)采用了A律方式,由于A律壓縮實(shí)現(xiàn)復(fù)雜,常使用13折線法編碼,采用非均勻量化PCM編碼。基于PCM的語音信號編碼與譯碼性能分析,就是將一段模擬信號進(jìn)行數(shù)字化,并通過對實(shí)際語音信號進(jìn)行PCM編碼和譯碼來掌握PCM編碼和譯碼原理及其實(shí)現(xiàn)方法,提高我們綜合應(yīng)運(yùn)基礎(chǔ)知識能力和計(jì)算機(jī)編程能力,為今后的學(xué)習(xí)和工作積累經(jīng)驗(yàn)。一 基本原理1.1脈沖編碼原理通常把從模擬信號抽樣、量化,直到變換成為二進(jìn)制符號的基本過程,成為脈沖編碼調(diào)制(PCM,Puls

4、e Code Modulation),簡稱脈沖調(diào)制。PCM是一種對模擬信號數(shù)字化的取樣技術(shù),是一種將模擬信號變換為數(shù)字信號的編碼方式。根據(jù)CCITT的建議,為改善小信號量化性能,采用壓擴(kuò)非均勻量化,有兩種建議方式,分別為A律和律方式。本設(shè)計(jì)采用了A律方式,采用非均勻量化PCM編碼示意圖如下圖1-1所示:語音輸入低通濾波、瞬時(shí)壓縮抽樣量化編碼信道再生、解碼、解調(diào)瞬時(shí)擴(kuò)張、低通濾波話音輸出 圖1-1 PCM原理框圖1.1.1 抽樣原理所謂抽樣,就是對模擬信號進(jìn)行周期性掃描,把時(shí)間上連續(xù)的信號變成時(shí)間上離散的信號。該模擬信號經(jīng)過抽樣后還應(yīng)當(dāng)包含原信號中所有信息,也就是說能無失真的恢復(fù)原模擬信號。它的

5、抽樣速率的下限是由抽樣定理確定的。在一個(gè)頻帶限制在內(nèi)的時(shí)間連續(xù)信號,如果以的時(shí)間間隔對它進(jìn)行抽樣,那么根據(jù)這些抽樣值就能完全恢復(fù)原信號?;蛘哒f,如果一個(gè)連續(xù)信號的頻譜中最高頻率不超過,當(dāng)抽樣頻率時(shí),抽樣后的信號就包含原連續(xù)的全部信息1。抽樣定理在實(shí)際應(yīng)用中應(yīng)注意在抽樣前后模擬信號進(jìn)行濾波,把高于二分之一抽樣頻率的頻率濾掉。這是抽樣中必不可少的步驟。1.1.2 量化原理從數(shù)學(xué)上來看,量化就是把一個(gè)連續(xù)幅度值的無限數(shù)集合映射成一個(gè)離散幅度值的有限數(shù)集合。如圖2所示,量化器Q輸出L個(gè)量化值,。常稱為重建電平或量化電平。當(dāng)量化器輸入信號幅度落在與之間時(shí),量化器輸出電平為。這個(gè)量化過程可以表達(dá)為1: (

6、1-1)這里稱為分層電平。通常: (1-2)其中稱為量化間隔。模擬信號的量化分為均勻量化和非均勻量化。由于均勻量化存在的主要缺點(diǎn)是:無論抽樣值大小如何,量化噪聲的均方根值都固定不變。因此,當(dāng)信號較小時(shí),則信號量化噪聲功率比也就很小,這樣,對于弱信號時(shí)的量化信噪比就難以達(dá)到給定的要求2。通常,把滿足信噪比要求的輸入信號取值范圍定義為動態(tài)范圍,可見,均勻量化時(shí)的信號動態(tài)范圍將受到較大的限制。為了克服這個(gè)缺點(diǎn),實(shí)際中,往往采用非均勻量化。非均勻量化是根據(jù)信號的不同區(qū)間來確定量化間隔的。對于信號取值小的區(qū)間,其量化間隔也??;反之,量化間隔就大。它與均勻量化相比,有兩個(gè)突出的優(yōu)點(diǎn)。首先,當(dāng)輸入量化器的信

7、號具有非均勻分布的概率密度(實(shí)際中常常是這樣)時(shí),非均勻量化器的輸出端可以得到較高的平均信號量化噪聲功率比;其次,非均勻量化時(shí),量化噪聲功率的均方根值基本上與信號抽樣值成比例。因此量化噪聲對大、小信號的影響大致相同,即改善了小信號時(shí)的量化信噪比。模擬入量化器量化值實(shí)際中,非均勻量化的實(shí)際方法通常是將抽樣值通過壓縮再進(jìn)行均勻量化。通常使用的壓縮器中,大多采用對數(shù)式壓縮。廣泛采用的兩種對數(shù)壓縮律是壓縮律和A壓縮律。美國采用壓縮律,我國和歐洲各國均采用A壓縮律,因此,PCM編碼方式采用的也是A壓縮律。模擬信號的量化過程如圖1-2所示3: 圖1-2 模擬信號的量化1.1.3 編碼原理所謂編碼就是把量化

8、后的信號變換成代碼,其相反的過程稱為譯碼。當(dāng)然,這里的編碼和譯碼與差錯(cuò)控制編碼和譯碼是完全不同的,前者是屬于信源編碼的范疇。在現(xiàn)有的編碼方法中,若按編碼的速度來分,大致可分為兩大類:低速編碼和高速編碼。通信中一般都采用第二類。編碼器的種類大體上可以歸結(jié)為三類:逐次比較型、折疊級聯(lián)型、混合型。在逐次比較型編碼方式中,無論采用幾位碼,一般均按極性碼、段落碼、段內(nèi)碼的順序排列。下面結(jié)合13折線的量化來加以說明。在13折線法中,無論輸入信號是正是負(fù),均按8段折線(8個(gè)段落)進(jìn)行編碼。若用8位折疊二進(jìn)制碼來表示輸入信號的抽樣量化值,其中用第一位表示量化值的極性,其余七位(第二位至第八位)則表示抽樣量化值

9、的絕對大小。具體的做法是:用第二至第四位表示段落碼,它的8種可能狀態(tài)來分別代表8個(gè)段落的起點(diǎn)電平。其它四位表示段內(nèi)碼,它的16種可能狀態(tài)來分別代表每一段落的16個(gè)均勻劃分的量化級。這樣處理的結(jié)果,8個(gè)段落被劃分成128個(gè)量化級。段落碼和8個(gè)段落之間的關(guān)系如表1-1所示1;段內(nèi)碼與16個(gè)量化級之間的關(guān)系見表1-2所示1:表1-1段落碼 表1-2段內(nèi)碼段落序號段落碼段落范圍量化間隔段內(nèi)碼量化間隔段內(nèi)碼81111024-2048151111701117110512-1024141110601106101256-512131101501015100128-25612110040100401164-12

10、811101130011301032-6410101020010200116-32910011000110000-168100000000語音PCM抽樣頻率是8KHZ,每個(gè)量化樣值對應(yīng)一個(gè)8位二進(jìn)制碼,故語音數(shù)字編碼信號的速率為8bits×8kHz=64kb/s4.量化噪聲隨級數(shù)的增多和極差的縮小而縮小。量化級數(shù)增多即樣值個(gè)數(shù)增多,就要求更長的二進(jìn)制編碼。因此,量化噪聲隨二進(jìn)制編碼的位數(shù)增多而減少,即隨數(shù)字編碼信號的速率提高而減少。自然界中的聲音非常復(fù)雜,波形極其復(fù)雜,通常我們采用的是脈沖代碼調(diào)制編碼,即PCM編碼。PCM通過抽樣、量化、編碼三個(gè)步驟將連續(xù)變化的模擬信號轉(zhuǎn)換為數(shù)字編碼

11、。1.1.4 譯碼原理PCM譯碼器是實(shí)現(xiàn)PCM編碼的逆系統(tǒng)。其中各模塊功能如下5:D/A轉(zhuǎn)換器:用來實(shí)現(xiàn)與A/D轉(zhuǎn)換相反的過程,實(shí)現(xiàn)數(shù)字量轉(zhuǎn)化為模擬量,從而達(dá)到譯碼最基本的要求,也就是最起碼的步驟。瞬時(shí)擴(kuò)張器:實(shí)現(xiàn)與瞬時(shí)壓縮器相反的功能,由于采用 A 律壓縮,擴(kuò)張也必須采用A律瞬時(shí)擴(kuò)張器。 低通濾波器:由于采樣脈沖不可能是理想沖激函數(shù)會引入孔徑失真,量化時(shí)也會帶來量化噪聲,及信號再生時(shí)引入的定時(shí)抖動失真,需要對再生信號進(jìn)行幅度及相位的補(bǔ)償,同時(shí)濾除高頻分量,在這里使用與編碼模塊中相同的低通濾波器。1.2 A律13折線原理實(shí)際中,非均勻量化的實(shí)際方法通常是將抽樣值通過壓縮再進(jìn)行均勻量化。通常使用

12、的壓縮器中,大多采用對數(shù)式壓縮。廣泛采用的兩種對數(shù)壓縮律是壓縮律和A壓縮律。美國采用壓縮律,我國和歐洲各國均采用A壓縮律,因此,PCM編碼方式采用的也是A壓縮律。所謂A壓縮律也就是壓縮器具有如下特性的壓縮律1: (1-3) (1-4)其中。A律壓擴(kuò)特性是連續(xù)曲線,A值不同壓擴(kuò)特性亦不同,在電路上實(shí)現(xiàn)這樣的函數(shù)規(guī)律是相當(dāng)復(fù)雜的。實(shí)際中,往往都采用近似于A律函數(shù)規(guī)律的13折線(A=87.6)的壓擴(kuò)特性。在這個(gè)設(shè)計(jì)之中所用著的PCM編碼正是采用這種壓擴(kuò)特性來編碼的。圖1-2示出了這種壓擴(kuò)特性,表1-3列出了13折線時(shí)的x值與計(jì)算x值的比較。圖1-2 13折線特征表1-3 計(jì)算值與A律13折線時(shí)值的比

13、較0101按折線分段時(shí)的01段落12345678斜率16168421表1-3中第二行的值是根據(jù)時(shí)計(jì)算得到的,第三行的值是13折線分段時(shí)的值??梢?,13折線各段落的分界點(diǎn)與曲線十分逼近,同時(shí)按2的冪次分割有利于數(shù)字化1。二 程序設(shè)計(jì)2.1程序流程圖 在MATLAB平臺下,對錄入的語音信號現(xiàn)進(jìn)行PCM編碼,然后對已經(jīng)編碼了的語音信號進(jìn)行PCM譯碼,其整個(gè)過程的程序流程圖如下圖2-1所示:開始語音信源PCM編碼PCM解碼結(jié)束量化 圖2-1 主函數(shù)流程圖2.1.1 PCM編碼函數(shù)設(shè)計(jì)流程圖 在MATLAB平臺下,對錄入的語音信號現(xiàn)進(jìn)行PCM編碼,其中 PCM的實(shí)現(xiàn)主要包括三個(gè)步驟完成:抽樣、量化、編碼

14、。具體編碼函數(shù)設(shè)計(jì)的流程圖如下圖2-2所示: 輸入信號判斷符號歸一化和量化段落判斷段內(nèi)判斷輸出開始結(jié)束圖2-2 PCM編碼函數(shù)流程圖2.1.2 PCM譯碼函數(shù)設(shè)計(jì)流程圖 輸入碼組提取符號判斷段落位置判斷段內(nèi)位置判斷符號位輸出開始結(jié)束圖2-3 PCM譯碼函數(shù)流程圖2.2詳細(xì)程序代碼2.2.1主程序close all;clear all;y=wavred(cang.wav)figure(1)plot(y)title(原始語音信號波形圖)N=1001;M=wavread('cang.wav');S=M(2000:3000); %語音信源Figure(2)plot(S,'r&#

15、39;); hold on;%畫出編碼前信號xlabel('時(shí)間') % x坐標(biāo)名ylabel('幅值') % y坐標(biāo)名grid on %添加網(wǎng)格axis square %將圖形設(shè)置為正方形t1=pcm1(S); %調(diào)用編碼函數(shù)figure(3)plot(t1); % 畫出譯碼后信號title('PCM編碼前信號'); %標(biāo)題xlabel('時(shí)間') % x坐標(biāo)名ylabel('幅值') % y坐標(biāo)名grid on %添加網(wǎng)格axis square %將圖形設(shè)置為正方形 t2=tqm(t1); %將N行8列矩陣轉(zhuǎn)換

16、為1行8*N列的矩陣的函數(shù)t3=tqn(t2); %將8*N行1列的矩陣轉(zhuǎn)換為N行8列矩陣的函數(shù)t4=pcm2(t3); %調(diào)用譯碼函數(shù)figure(4)plot(t4); % 畫出譯碼后信號title('PCM譯碼后信號'); %標(biāo)題xlabel('時(shí)間') % x坐標(biāo)名ylabel('幅值') % y坐標(biāo)名grid on %添加網(wǎng)格axis square %將圖形設(shè)置為正方形 2.2.2 A律十三折線PCM編碼函數(shù)function Y=pcm1(S)z=sign(S); %判斷S的正負(fù)Max=max(abs(S); %求S的最大值 S=abs

17、(S/Max); %歸一化Q=2048*S; %量化Y=zeros(length(S),8); %存儲矩陣(全零)%段落碼判斷%for m=1:length(S) if Q(m)>128 && Q(m)<2048 %在第五段與第八段之間,段位碼第一位都為“1” Y(m,2)=1; end if (Q(m)>32 && Q(m)<128) | (Q(m)>512 && Q(m)<2048) Y(m,3)=1; %在第三四七八段內(nèi),段位碼第二位為“1” endif (Q(m)>16&&Q(m)

18、<32)|(Q(m)>64&&Q(m)<128)|(Q(m)>256&&Q(m)<512)| (Q(m)>1024&&Q(m)<2048) Y(m,4)=1; %在二四六八段內(nèi),段位碼第三位為“1” end %符號位的判斷 if z(m)>0 Y(m,1)=1; elseif z(m)<0 Y(m,1)=0; end end%段內(nèi)碼判斷程序N=zeros(length(S);for m=1:length(S) N(m)=Y(m,2)*4+Y(m,3)*2+Y(m,4)+1; %找到Y(jié)位于第幾段

19、enda=0,16,32,64,128,256,512,1024; %量化間隔b=1,1,2,4,8,16,32,64; %除以16,得到每段的最小量化間隔 for m=1:length(S) q=ceil(Q(m)-a(N(m)/b(N(m); %求出在段內(nèi)的位置 if q=0 Y(m,(5:8)=0,0,0,0; %如果輸入為零則輸出“0” else k=num2str(dec2bin(q-1,4); %編碼段內(nèi)碼為二進(jìn)制 Y(m,5)=str2num(k(1); Y(m,6)=str2num(k(2); Y(m,7)=str2num(k(3); Y(m,8)=str2num(k(4);

20、end endend2.2.3將N行8列矩陣轉(zhuǎn)換為1行8*N列的矩陣的函數(shù)function t1=tqm(R)t1=zeros(length(R)*8,1); c=1; for a=1:length(R)-1 for b=1:8 t1(c)=R(a,b); c=c+1; end endt1=t1'end2.2.4 A律十三折線PCM譯碼函數(shù)%PCM譯碼程序function S=pcm2(Y) d=size(Y,1); %求出輸入碼組的個(gè)數(shù)a=0,16,32,64,128,256,512,1024; %段落起點(diǎn)值b=1,1,2,4,8,16,32,64; %每段的最小量化間隔c=0,1.

21、5:15.5; %段內(nèi)碼平均值for m=1:d t1=Y(m,1); %取符號 t2=Y(m,2)*4+Y(m,3)*2+Y(m,4)+1; %判斷段落位置 t3=Y(m,5)*8+Y(m,6)*4+Y(m,7)*2+Y(m,8); %判斷段內(nèi)位置 if t3=0 %段內(nèi)碼為零時(shí) k(m)=a(t2)/2048; else k(m)=(a(t2)+b(t2)*c(t3)/2048; %還原出量化后的電平值 end %判斷符號位 if t1=0 S(m)=-k(m); else S(m)=k(m); endend2.2.5將8*N行1列的矩陣轉(zhuǎn)換為N行8列矩陣的函數(shù)function t2=tq

22、n(t1)t2=zeros(length(t1)/8,8); a=1;b=1; for m=1:length(t1)-1 if b>8 a=a+1; b=1; end t2(a,b)=t1(m); b=b+1; m=m+1; end三 仿真結(jié)果及分析3.1原始語音信號波形圖在MATLAB下,調(diào)用函數(shù)wavrecord(6*fs,fs,int16)錄制一段話音信號,其時(shí)間為6秒,同時(shí)完成對語音信號的采樣,采樣頻率是8000Hz。然后對原始語音信號進(jìn)行分析,畫出它的時(shí)域波形圖如下圖3-1所示,對其進(jìn)行時(shí)域分析,分析語音信號的特性。圖3-1 原始語音信號波形圖由原始語音信號的時(shí)域波形圖3-1可

23、知,語音信號是模擬信號,其在時(shí)間上和幅度上都連續(xù)的信號。3.2編碼前的信號圖運(yùn)行程序后,語音信號經(jīng)抽樣、量化后的信號圖如下圖3-2所示: 圖3-2 PCM編碼前的信號圖原始語音信號是模擬信號,在PCM編碼前將其數(shù)字化的過程中,要先經(jīng)過抽樣和量化兩步。模擬信號被抽樣后,成為抽樣信號,它在時(shí)間上是離散的,但是其取值仍然是連續(xù)的。3.3PCM編碼后信號圖運(yùn)行程序后,語音信號經(jīng)PCM編碼后的波形圖如下圖3-3所示:圖3-3PCM編碼后信號圖由于,次設(shè)計(jì)PCM編碼的方式采用的是A壓縮律,將抽樣、量化后的信號變換成二進(jìn)制碼元。語音信號為交流信號,即輸入電壓有正負(fù)極性,用以為二進(jìn)制碼元來表示極性。采用A律1

24、3折線法,將量化區(qū)間劃分成非均勻的8段,用3位二進(jìn)制碼元表示抽樣值所在段。又將每段均勻分為16小段,用4位二進(jìn)制碼元表示。經(jīng)PCM編碼后,每一抽樣值被用8位二進(jìn)制碼元表示。3.4PCM譯碼后信號圖運(yùn)行程序后,語音信號經(jīng)PCM譯碼后的信號圖如下圖3-4所示:圖3-4PCM譯碼后信號圖譯碼是編碼的逆過程,語音信號經(jīng)PCM譯碼后的波形與編碼前的信號波形相比較,可以無失真將原始語音信號恢復(fù)出來???結(jié)通過這次通信系統(tǒng)仿真訓(xùn)練,我收獲不少,對通信原理更加了解,尤其是對語音信號進(jìn)行PCM編譯碼有了更深刻了解。一開始的預(yù)期工作就是查閱資料,通過查閱課本和在網(wǎng)上來查找一些相關(guān)資料。在查閱資料的過程中,慢慢理清楚了其基本構(gòu)架,并逐漸確定了

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論