版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、重慶交通大學信息科學與工程學院綜合性設計性實驗報告專 業(yè) 班 級: 姓 名 學 號: 實驗所屬課程: 通信原理 實驗室(中心): 語音八樓 指 導 教 師 : 實驗完成時間: 3 年月1日教師評閱意見: 簽名: 年 月 日實驗成績:一、 設計題目基于MATLAB的通信系統(tǒng)仿真信源編解碼二、實驗目的:1.綜合應用Matlab編程與系統(tǒng)仿真、信號與系統(tǒng)、現(xiàn)代通信原理等多門課程知識,使我們建立通信系統(tǒng)的整體概念;2.培養(yǎng)我們系統(tǒng)設計與系統(tǒng)開發(fā)的思想;3.培養(yǎng)我們利用軟件進行通信仿真的能力。4.培養(yǎng)我發(fā)現(xiàn)問題,解決問題,查閱資料解決問題的能力。5、培養(yǎng)我熟練掌握MATLAB,運用此matlab軟件工具
2、進行通信仿真的能力三、實驗設備及軟件:PC機一臺,MATBLAB。四、實驗主要內容及要求:1、 對通信系統(tǒng)有整體的較深入的理解,深入理解自己仿真部分的原理的基礎,畫出對應的通信子系統(tǒng)的原理框圖2、 提出仿真方案;3、 完成仿真軟件的編制4、 仿真軟件的演示5、 提交詳細的設計報告五、實驗原理1、 PCM基本原理脈沖編碼調制(PCM)簡稱脈碼調制,它是一種用二進制數(shù)字代碼來代替連續(xù)信號的抽樣值,從而實現(xiàn)通信的方式。因此此種通信方式抗干擾能力強,因此在很多領域都得到了廣泛運用。PCM信號的形成主要由三大步驟組成,包括:抽樣、量化和編碼。它們分別完成時間上離散、幅度上離散及量化信號的二進制表示。量化
3、分為均勻量化和非均勻量化,為了減小小信號的量化誤差,我們常使用的是非均勻量化。非均勻量化分為A律和µ律。我國采用的是A律,但由于A律不好實現(xiàn),所以我們常用近似的13折線編碼。1.1抽樣抽樣即是將時間連續(xù)的模擬信號由一系列時間離散的樣值所取代的過程它實現(xiàn)的是信號在時間上的離散化。抽樣信號要想無失真的恢復出原信號,抽樣頻率必須要滿足抽樣定理。即:如果信號的最高頻率為fH,那么抽樣頻率fs必須要滿足fs>=2fH.1.2量化經(jīng)過抽樣后的信號還并不是數(shù)字信號,它只實現(xiàn)了時間上的離散化。幅值上并不離散。所以我們要對信號進行量化,實現(xiàn)其幅值的離散化。量化分為均勻量化和非均勻量化。本實驗主要
4、用到了非均勻量化中的A律13折線壓縮。下面主要介紹A律13折線。A律壓縮是指壓縮器具有如下的壓縮特性: 由于A律在工程上不好實現(xiàn),所以我們經(jīng)常用近似的13折線壓縮法去代替A率壓縮下面是13折線時的X值與A律計算得的X的比較202-12-22-32-42-52-62-70X近似值10x準確值17/86/85/84/83/82/81/80z0.250.512481616斜率87654321段號第二行的X值是根據(jù)A=87.6時計算得到的,第三行的X值是13折線分段時的值??梢姡?3折線各段落的分界點與A=87.6 的曲線非常的接近。而13折線的x按2的冪次分布,計算較方便,也易于實現(xiàn)。1.3編碼編碼
5、即把量化后的新哈變換成二進制代碼,其反過程就叫做譯碼。本實驗中我們用的是折疊二進制碼。我們把一個量化電平數(shù)用一個8位的二進制表示。第1位表示信號的極性,2-4位表示段落碼,5-8位表示段內碼。A律正輸入值編碼表段落碼段落序號12345678段落碼000001010011100101110111段內碼量化級段內碼量化級段內碼15111170111141110601101311015010112110040100111011300111010102001091001100018100000000在13折線中,用8位的折疊二進制碼表示信號量化值的具體步驟為:用第2到4位表示段落碼,8個段落的起點電平
6、由它的8種可能狀態(tài)來分別表示。其他四位表示段內碼,每一個段落它的16個均勻的劃分量化級由它的16種可能狀態(tài)來分別表示。這樣就使得8個段落被劃分為128個量化級。再加上負的,相當于一共有256種量化電平數(shù)。數(shù)字通信系統(tǒng)原理框圖模擬信號抽樣量化信源編碼信道編碼數(shù)字調制模擬信號信源譯碼信道數(shù)字解調加噪抽樣判決濾波信道譯碼本實驗詳細設計方案主函數(shù)產(chǎn)生模擬信源并得到抽樣信號PCM編碼Huffuman編碼漢明編碼信道漢明譯碼Hufuman解壓縮Pcm反變換重建模擬信號Bpsk調制加噪解調濾波抽樣判決各子系統(tǒng)詳細介紹:1、 模擬信號為原始的信源信號2、 抽樣是將上述的時間和幅值都連續(xù)的模擬信號轉換為時間離散
7、,幅值連續(xù)的信號。3、 量化是將上述信號轉換為時間和幅值均離散的數(shù)字信號4、 Pcm編碼是將量化后的信號轉換為01比特流5、 Huffuman編碼是為了減少冗余,提高傳輸效率6、 漢明編碼是通過增加冗余位來提高傳輸效率7、 Bpsk調制式將上述0、1比特流轉換成適合在信道中傳輸?shù)牟ㄐ?、 加噪是模仿信號傳輸過程中噪聲的干擾,解調、濾波是為了恢復原信號。抽樣判決是把信號恢復成0 、1比特流的形式9、 漢明譯碼、huffuman解壓縮、pcm反變換分別是漢明編碼,huffuman 編碼,pcm編碼的反過程。10、 最后還原成模擬信號六、主要代碼及必要說明:主函數(shù)function PCMmain()
8、close all;clc;clear;A=3;t1=0:0.1:6*pi;a1=sin(t1);figure;subplot(2,1,1);plot(t1,a1);title('原始信號');t2=0:2*pi/32:6*pi;a=sin(t2);subplot(2,1,2);stem(t2,a);title('抽樣信號');res=pcm(a);%-datastream,huff,n=hfencodingmain(res);bit2=hanmencoding(datastream); panjue=channel(bit2,5);bit22=hamyima(
9、panjue);bit3=huffdecoding(bit22,huff,n);S=ipcm(bit3);figure;title('經(jīng)過信道的重建信號');t=linspace(0,6*pi,length(S);plot(t,S,'r');hold on;plot(t,S,'.b');pcm編碼function res=pcm(s)z=sign(s);maxs=max(abs(s);s=abs(s/maxs);%歸一化Q=2048*s;%一個量化單位為1/2048;code=zeros(length(s),8);w(1)=0;for k=2:8
10、 w(k)=2(k+2);%段起始值0,16,32,64,128,256,512,1024endres=;for i=1:length(s) if(z(i)>0) code(i,1)=1; else code(i,1)=0; end for k=8:-1:1 if Q(i)>=w(k) a=dec2bin(k-1,3); code(i,2:4)=a;%段落碼的判斷 break; end end if k>=2 t=fix(Q(i)-w(k)/(2(k-2); else t=fix(Q(i)-w(k); end code(i,5:8)=dec2bin(t,4); %段內碼的判斷
11、 res=res,code(i,:);endendhuffuman編碼的主函數(shù)function datastream,huff,n=hfencodingmain(code)p,h1,h=aa(code);c,n=hufftree(p,h1);datastream,huff=hufencoding(c,p,h,h1,n);EndHuffuman編碼子函數(shù)1、統(tǒng)計各電平出現(xiàn)概率function p,h1,h=aa(x)m=length(x)/8;for i=1:256 chars(i).data=dec2bin(i-1,8); chars(i).num=0;endh=;for j=1:m temp
12、=x(j-1)*8+1:j*8); h=h;temp; for k=1:256 if sum(temp=chars(k).data)=8 chars(k).num=chars(k).num+1; break; end endendh1=;l=0;for i=1:256 if chars(i).num=0 h1=h1,chars(i); l=l+1; endendfor y=1:l p(y)=h1(y).num/m;endend2、構建huffuman樹function c,n=hufftree(p,h1)n=length(p);for i=1:n-1for j=i:nif p(i)>=p
13、(j)P=p(i);p(i)=p(j);p(j)=P;T=h1(i);h1(i)=h1(j);h1(j)=T;endendendQ=sort(p);c=-ones(2*n-1,6);c(:,1)=1:2*n-1;c(1:n,2)=Q;q=Q;m=zeros(1,2*n-1);for i=n+1:2*n-1 c(i,2)=q(1)+q(2); temp1=find(c(:,2)=q(1)&c(:,6)=1,1); c(temp1,6)=1; temp2=find(c(:,2)=q(2)&c(:,6)=1,1); c(temp2,6)=1; c(i,4)=temp1; c(i,5)
14、=temp2; c(temp1,3)=i; c(temp2,3)=i; Q=Q,q(1)+q(2); q=q(1)+q(2),q(3:end); q=sort(q);endend根據(jù)構建的huffuman樹進行編碼function datastream,huff=hufencoding(c,p,h,h1,n)for i=1:n huffcode=; p=c(i,3); j=i; while(p=-1) if(c(p,4)=j) huffcode=0,huffcode; else huffcode=1,huffcode; end j=p; p=c(j,3); end huff(i).ch=h1(
15、i).data; huff(i).code=huffcode;endl,k=size(h);datastream=;for i=1:l for j=1:n if sum(h(i,:)=huff(j).ch)=8 datastream=datastream,huff(j).code; break; end endendend(7、4)漢明編碼function bit2=hanmencoding(m)H=0 1 1 1 1 0 0; 1 0 1 1 0 1 1; 1 1 0 1 0 0 1;G=1 0 0 0 0 1 1; 0 1 0 0 1 0 1; 0 0 1 0 1 1 0; 0 0 0 1
16、 1 1 1;bit2=;n=fix(length(m)/4);for i=1:n t=m(i-1)*4+1:i*4); bit2=bit2,rem(t*G,2);endbit2=bit2,m(4*n+1:end);end通過信道的子函數(shù)function panjue=channel(bit2,SNR)%-調制-cs=bit2*2-1;de=;t=linspace(0,1,16);carrier=cos(2*pi*t);for i=1:length(cs) de=de,cs(i)*carrier;endfigure;subplot(4,1,1);plot(de);axis(0,length(d
17、e)/10,-1,1);title('調制信號');%-加噪-de=awgn(de,SNR,'measured');%-解調-designal=;for i=1:16:length(de)-15 designal=designal,de(i:i+15).*carrier;endsubplot(4,1,2);plot(designal);axis(0,length(designal)/10,-1,1);title('解調信號');%-濾波-load lowpass;l=fix(length(lowpass)/2);designal=designal
18、,zeros(1,l);b=filter(lowpass,1,designal);b=b(l+1:end);subplot(4,1,3);plot(b);axis(0,length(b)/10,-1,1);title('濾波后的信號');%-抽樣判決-panjue=;panjue1=;for i=1:length(b)/16; sum1=b(i-1)*16+4); if sum1>=0 panjue=panjue,1; panjue1=panjue1,ones(1,16); else panjue=panjue,0; panjue1=panjue1,zeros(1,16)
19、; endendsubplot(4,1,4);plot(panjue1);axis(0,length(panjue1)/10,-1,1);title('抽樣判決信號');end漢明碼譯碼函數(shù)function bit3=hamyima(bit2)H=0 1 1 1 1 0 0; 1 0 1 1 0 1 1; 1 1 0 1 0 0 1;j=fix(length(bit2)/7);bit3=;for k=1:j R=bit2(k-1)*7+1:k*7); S=rem(R*H',2); for i=1:7 if sum(S=H(:,i)')=3 break; end
20、end R(i)=R(i); bit3=bit3,R(1:4);endbit3=bit3,bit2(j*7+1:end);endhuffuman譯碼function transcode=huffdecoding(datastream,huff,n)k=datastream;transcode=;len=0;max=1;for u=1:n temp=length(huff(u).code); if temp>max max=temp; endendwhile(length(k)=0) d=k(1);for L=1:length(k) symbol=0; for i=1:n if (leng
21、th(d)=length(huff(i).code) if(length(find(d=huff(i).code)=length(d) transcode=transcode,huff(i).ch; k=k(length(d)+1:end); symbol=1; end end if symbol=1 break; end end if symbol=1 break; else if length(k)-length(d)>0 d=d,k(length(d)+1); else transcode=transcode,k; break; end endendendpcm譯碼function
22、 S=ipcm(code)len=length(code)/8;w(1)=0;for k=2:8 w(k)=2(k+2);%段起始值0,16,32,64,128,256,512,1024endfor i=1:7 b(i)=(w(i+1)-w(i)/16;%每段的最小量化間隔endb(8)=1024/16;S=;for i=1:len s=code(i-1)*8+1:(i-1)*8+8); t=bin2dec(s(2:4)+1;%判斷段落位置 y=bin2dec(s(5:8);%判斷段內地址 m=w(t)+(y+0.5)*b(t); m=m/2048; if s(1)=0%判斷極性 m=-m; end S=S,m;endfunction a=bin2dec(x)%二進制轉十進制n=length(x);sum=0;for i=1:n sum=sum+x(i)*2(n-i);enda=sum; function a=dec2bin(x,n)%將x轉換為n位的二進
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《綜合基礎知識》考點特訓《民法》(2020年版)
- 《電子式書寫技巧》課件
- 2024年寫醫(yī)院個人年終工作總結
- 《學校智能化方案》課件
- 《幼教機構行政管理》課件
- 一年級下冊語文部編版課件部首查字法教學課件
- 細胞生命之旅
- 透析樓市調控奧秘
- 保研面試英文自我介紹范文匯編十篇
- 2023年-2024年新員工入職前安全教育培訓試題附參考答案(預熱題)
- 仁愛版九年級上冊英語中考專題復習訓練課件
- 部編版四年級語文下冊第5單元大單元整體教學作業(yè)設計(教案配套)
- 【超星爾雅學習通】【紅色經(jīng)典影片與近現(xiàn)代中國發(fā)展(首都師范大學)】章節(jié)測試及答案
- 市政工程工程開工報審表及開工令
- 2022-2023學年新疆維吾爾自治區(qū)烏魯木齊市小學語文四年級上冊期末通關試卷
- GB/T 714-2015橋梁用結構鋼
- GB/T 41130-2021展覽場館安全管理基本要求
- GB/T 38502-2020消毒劑實驗室殺菌效果檢驗方法
- GB/T 20858-2007玻璃容器用重量法測定容量試驗方法
- 臨床常用的抗血栓藥物
- 2022-2023學年人教版高中地理選擇性必修一課件:5.1 自然地理環(huán)境的整體性 (61張)
評論
0/150
提交評論