信息論與編碼大作業(yè)_第1頁
信息論與編碼大作業(yè)_第2頁
信息論與編碼大作業(yè)_第3頁
信息論與編碼大作業(yè)_第4頁
信息論與編碼大作業(yè)_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、廣西科技大學(xué)大作業(yè)課程名稱:信息論與編碼 題 目:信道編碼對通信系統(tǒng)性能的影響 學(xué) 院:電氣與信息工程學(xué)院 專 業(yè):電子信息工程 班 級: 學(xué) 號: 成 績: 姓 名: 電話號碼: 信道編碼對通信系統(tǒng)性能的影響 摘要 簡述信道編碼理論,詳細(xì)說明分組碼的編譯原理、實現(xiàn)方法及檢錯糾錯能力,用MATLAB仿真有無信道編碼條件下對通信系統(tǒng)性能的影響及信道編碼在不同信道下對通信系統(tǒng)性能的影響,如AWGN信道和深衰落信道。關(guān)鍵詞 信道編碼、分組碼、MATLAB仿真、性能一、引言提高信息傳輸?shù)挠行院涂煽啃允冀K是通信技術(shù)所追求的目標(biāo),而信道編碼能夠顯著的提升信息傳輸?shù)目煽啃浴?948年,信息論的奠基人C.E

2、.Shannon在他的開創(chuàng)性論文“通信的數(shù)學(xué)理論”中,提出了著名的有噪信道編碼定理.他指出:對任何信道,只要信息傳輸速率R不大于信道容量C, 就一定存在這樣的編碼方法:在采用最大似然譯碼時,其誤碼率可以任意小.該定理在理論上給出了對給定信道通過編碼所能達(dá)到的編碼增益的上限,并指出了為達(dá)到理論極限應(yīng)采用的譯碼方法.在信道編碼定理中,香農(nóng)提出了實現(xiàn)最佳編碼的三個基本條件 :(1 )采用隨機(jī)編譯碼方式;(2 )編碼長度 , 即分組的碼組長度無限;(3)譯碼采用最佳的最大似然譯碼算法。二、信道編碼理論1、信道編碼的概念與目的進(jìn)行信道編碼是為了提高信號傳輸?shù)目煽啃裕纳仆ㄐ畔到y(tǒng)的傳輸質(zhì)量,研究信道編碼的

3、目標(biāo)是尋找具體構(gòu)造編碼的理論與方法。從原理上,構(gòu)造信道碼的基本思路是根據(jù)一定的規(guī)律在待發(fā)送的信息碼元中人為的加入一定的多余碼元,以引入最小的多余度為代價來換取最好的抗干擾性能。信道編碼是通過信道編碼器和譯碼器實現(xiàn)的用于提高信道可靠性的理論和方法,是信息論的內(nèi)容之一。信道編碼大致分為兩類:信道編碼定理,從理論上解決理想編碼器、譯碼器的存在性問題,也就是解決信道能傳送的最大信息率的可能性和超過這個最大值時的傳輸問題。構(gòu)造性的編碼方法以及這些方法能達(dá)到的性能界限。編碼定理的證明,從離散信道發(fā)展到連續(xù)信道,從無記憶信道到有記憶信道,從單用戶信道到多用戶信道,從證明差錯概率可接近于零到以指數(shù)規(guī)律逼近于零

4、,正在不斷完善。編碼方法,在離散信道中一般用代數(shù)碼形式,其類型有較大發(fā)展,各種界限也不斷有人提出,但尚未達(dá)到編碼定理所啟示的限度。在連續(xù)信道中常采用正交函數(shù)系來代表消息,這在極限情況下可達(dá)到編碼定理的限度,不是所有信道的編碼定理都已被證明。2、信道編碼的分類 信道編碼可以分成分組碼、卷積碼和 循環(huán)冗余碼3類。 分組碼是把若干個輸入信號變成一個更長的輸出序列的編碼方式,它通過提供編碼的冗余度來實現(xiàn)對信號的檢錯和糾錯。假設(shè)輸入信號是一個長度為的向量,經(jīng)過分組編碼之后的輸出信號時一個長度為的向量,則這個分組編碼表示為,其中信息位的長度等于,碼長位,監(jiān)督位的長度,編碼效率等于.對于分組碼,輸出序列一般

5、可以表示成輸入向量與生成矩陣的乘積,其中是一個行列的矩陣。 BCH碼是一種特別重要的分組編碼。它是根據(jù)3個發(fā)明人的名字Bose,Chaudhuri Hocguenghem命名的。 BCH碼的重要性在于它解決了生成多項式與糾錯能力至今的關(guān)系問題,可以方便的糾正多個隨機(jī)錯誤。對于特定的碼字長度,BCH碼只能對特定的長度為的信息序列進(jìn)行編碼。Reed-Slolmon碼是一種具有很強(qiáng)糾錯能力的多進(jìn)制BCH碼(簡稱RS碼),它是以兩個發(fā)明人的名字Reed和Solomon命名的。對于一個M進(jìn)制的RS碼,它的輸入和輸出信號的范圍都等于,其中。RS碼的碼長度,如果信息位的長度等于,則監(jiān)督位的長度另外,RS碼具

6、有很強(qiáng)的糾錯能力,假設(shè)它能夠糾正個錯誤,則RS碼的監(jiān)督位長度和之間應(yīng)該滿足關(guān)系,因此,RS碼的長度與信息為長度之間的差值應(yīng)該是一個偶數(shù),同時RS碼的最小碼元距離為: RS碼的輸入信號還可以用二進(jìn)制符號來表示,每個進(jìn)制符號可以表示成位二進(jìn)制符號。 循環(huán)冗余碼CRC是一種是用相當(dāng)頻繁的檢錯碼。與分組碼不同的是循環(huán)冗余碼不具有糾錯能力。當(dāng)接收端檢測到傳輸錯誤時候,它并不去糾正這個傳輸錯誤,而是要求發(fā)送端重新發(fā)送這個信號序列。在循環(huán)冗余碼的編碼過程中,發(fā)送端對一個特定長度的信息序列計算得到一個循環(huán)冗余碼,并且把這個循環(huán)冗余碼附加到原來的信息序列的末尾一起發(fā)送出去。接收端接收到帶有循環(huán)冗余碼的信號后,從

7、中分離出信息序列和循環(huán)冗余碼,然后根據(jù)接收到的信息位序列重新計算循環(huán)冗余碼。如果這個重新計算得到的循環(huán)冗余碼與分離出來的循環(huán)冗余碼不同,則接收信號序列存在著傳輸錯誤。這時候接收端就會要求發(fā)送端餓重新發(fā)送這個信號序列,通過合格過程實現(xiàn)對信號的糾錯。卷積編碼與分組碼不同。在分組碼中任何一段規(guī)定時間內(nèi)編碼器的輸出萬群決定于這段時間中的輸入信號;而在卷積碼中任何一段規(guī)定時間的個碼元不僅取決于這段時間內(nèi)的個信息位,而且還取決于前段時間內(nèi)的信息位,這個N就成為卷積碼的約束長度。卷積編碼器的表示有兩種方式:用多項式表示以及用trellis圖表示。卷積編碼器的多項式表示由3部分組成:約束長度、生成多項式以及反

8、饋多相似。如果卷積編碼器只有一個輸入時它的約束長度是一個標(biāo)量,并且等于卷積編碼器中儲存的信息位的個數(shù)(包括移位寄存器的個數(shù)以及當(dāng)前按的輸入信號)。如果卷積編碼器有多個輸入,則約束長度是一個向量,其中的每一個元素對應(yīng)于一個輸入信號在卷積編碼器中存儲的信息位的個數(shù)。假設(shè)卷積編碼器有個輸入信號和個輸出信號,則這個卷積編碼器的生成多項式是一個行列的矩陣,其中的每一個元素表示第個輸入信號對第個輸出信號的影響。如果第個輸入信號對第個輸出信號有影響則=1;否則=0。對于帶反饋的卷積編碼器,還需要指定相應(yīng)的反饋多項式,如果卷積編碼器只有一個輸入信號則反饋多項式是一個標(biāo)量。當(dāng)卷積編碼器有多個輸入信號時,反饋多項

9、式是一個向量,它的長度等于卷積編碼器輸入信號的個數(shù)。3、信道編碼的實質(zhì) 信道編碼的實質(zhì)就是在信息碼中增加一定數(shù)量的多余碼元(稱為監(jiān)督碼元),使它們滿足一定的約束關(guān)系,這樣由信息碼元和監(jiān)督碼元共同組成一個由信道傳輸?shù)拇a字。舉例而言,欲傳輸k位信息,經(jīng)過編碼得到長為n(n>k)的碼字,則增加了 n - k = r 位多余碼元,我們定義 R = k / n 為編碼效率。4、 信道編碼公式 令信息速率為fb,經(jīng)過編碼以后的速率為ft,定義:Rfb/ft為編碼率。則對于任何一個信道,總存在一個截止速率R0,只要R<R0,總可以達(dá)到:BER<CR2-nR0,其中CR為某個常數(shù),n為編碼的

10、約束長度。 對于等概二進(jìn)碼、AWGN信道,有:三、線性分組碼的編譯碼原理1、 線性分組碼的基本概念一個n ,k線性分組碼, 是把信息劃成k個碼元為一段(稱為信息組), 通過編碼器變成長為n個 碼元的一組, 作為n, k線性分組碼的一個碼字。 若每位碼元的取值有q種(q為素數(shù)冪), 則共有qk個碼字。 n長的數(shù)組共有qn組, 在二進(jìn)制情況下, 有2n個數(shù)組。 顯然, qn個n維數(shù)組(n重)組成一個GF(q)上的n維線性空間。 如果qk(或2k)個碼字集合構(gòu)成了一個k維線性子空間, 則稱它是一個n ,k線性分組碼。即將k維k重信息空間的元素線性映射到n維n重矢量空間(接收矢量/收碼) 的k維n重子

11、空間(碼空間)。如下圖為7,3碼 2、生成矩陣和校驗矩陣生成矩陣:G稱為生成矩陣,因為可以用它產(chǎn)生整個碼組A,即有生成矩陣的性質(zhì):具有IkQ形式的生成矩陣稱為典型生成矩陣。由典型生成矩陣得出的碼組A中,信息位的位置不變,監(jiān)督位附加于其后。這種形式的碼組稱為系統(tǒng)碼。 矩陣G的各行也必須是線性無關(guān)的。如果已有k個線性無關(guān)的碼組,則可以將其用來作為生成矩陣G,并由它生成其余碼組。監(jiān)督矩陣:監(jiān)督矩陣可用來校驗和糾錯。四、MATLAB仿真源程序及說明采用模塊化編程,把每個功能獨立成各個模塊,讓程序更清晰。首先介紹各個子程序及其實現(xiàn)的基本功能。運(yùn)行環(huán)境為Matlab2016版本通信過程的每個模塊寫成子程序

12、函數(shù):Channelcoding 為信道編碼函數(shù)Channeldecoding 為信道解碼糾錯子函數(shù)Interwaving 為交積子函數(shù)Deinterwaving 為解交積子函數(shù)addfade為向信道加入衰落參數(shù)的子函數(shù)awgn 為庫函數(shù),向信源加高斯白噪聲pskmod 為庫函數(shù),用于信號調(diào)制,輸出為復(fù)數(shù)pskdemod 為庫函數(shù),用于信號解調(diào)信道編碼子程序:%信道編碼子函數(shù),sym為編碼碼流,G為生成矩陣,k為編碼方式的長度,如(7,4)碼的4function bitcoded=channelcoding(sym,G,k)A=vec2mat(sym,k);U=A*G;U=mod(U,2);b

13、itcoded=reshape(U',1,);信道解碼子程序:function bitdecoded=channeldecoding(recode,Etab,Smatrix,H,n,k)% 前向糾錯函數(shù),實現(xiàn)糾錯功能% bidecoded為糾錯后返回的比特流% recode為輸入的比特流% E為錯誤圖樣表,S為對應(yīng)的伴隨式表% H為監(jiān)督矩陣,n,k為碼的類型,如(7,4)碼,n=7,k=4 row=length(recode)/n; %行數(shù) E=zeros(row,n); %錯誤圖樣 RM=zeros(row,n); %糾錯之后的矩陣 R=vec2mat(recode,n); S=R*

14、H' %伴隨矩陣 S=mod(S,2); for i=1:row for j=1:2(n-k) %查表糾錯 if(S(i,:)=Smatrix(j,:) E(i,:)=Etab(j,:); RM(i,:)=R(i,:)+E(i,:); RM(i,:)=mod(RM(i,:),2); break; end end end bitdecoded=reshape(RM',1,); %轉(zhuǎn)化為比特流交織子程序:function retbit=interweaving(bitstream,row,col)%功能:實現(xiàn)對輸入比特的交積% retbit為交積后返回的比特流向量% bitstre

15、am 為需要交積的比特流向量% row 和 col為交積器的行和列,% 通過改變col就可以改變交積深度 retbit=zeros(1,length(bitstream); bitarr=vec2mat(bitstream,row); bitarr=bitarr' for i=1:length(bitstream)/(row*col) temp=bitarr(:,(i-1)*col+1):i*col); retbit(1,(i-1)*(row*col)+1):(i*(row*col)=reshape(temp',1,); end 解交織子程序:function retbits=

16、deinterweaving(bitstream,row,col)%功能:實現(xiàn)對輸入比特的解交積%rebits為解交積后返回的比特流% bitstream輸入的比特流%row 和 col為交積器的行和列,通過改變col就可以改變交積器的長度 retbits=zeros(1,length(bitstream); bitarr=vec2mat(bitstream,col); for i=1:length(bitstream)/(row*col) temp=bitarr(i-1)*row+1:i*row,:); retbits(1,(i-1)*row*col+1:i*row*col)=reshape

17、(temp,1,); end信道衰落子程序:function code=addfade(modcode,Tf,isperiod,isfade)%功能:向傳輸序列modcode疊加衰落性信道的衰落參數(shù)k(t)%code為加入衰減參數(shù)之后返回的序列。% modcode為調(diào)制之后的序列% Tf 為衰落時間,以ms為單位,小于10ms,% Tf=1,表示衰落1ms% isperiod 周期衰落和一次性衰落的標(biāo)志,% isperiod=1表示周期性衰落,0表示一次性衰落% isfade表示是否存在衰落,1存在,0不存在衰落直接返回modcodeif(isfade=1) if(isperiod=1) %周

18、期性衰落 for k=1:length(modcode)/(100*Tf) a=(k-1)*100*Tf+31; b=(k-1)*100*Tf+30+10*Tf; modcode(1,a:b)=0.1*modcode(1,a:b); end else %一次衰落 a=31; b=30+10*Tf; modcode(1,a:b)=0.1*modcode(1,a:b); end code=modcode;else code=modcode;end1、信道編碼對通信系統(tǒng)性能的影響,有無信道編碼的影響ticclc%功能:有無信道編碼性能比較M=2; %進(jìn)制b=log2(M) ; %每符號比特數(shù)n=12

19、8*10000 ; %符號數(shù)G=1 1 1 1 0 0 0;1 0 1 0 1 0 0;0 1 1 0 0 1 0;1 1 0 0 0 0 1 ; %生成矩陣H=1 0 0 1 1 0 1;0 1 0 1 0 1 1;0 0 1 1 1 1 0 ; %監(jiān)督矩陣Etab= 0 0 0 0 0 0 0;0 0 0 0 0 0 1; %錯誤圖樣 0 0 0 0 0 1 0;0 0 0 0 1 0 0; 0 0 0 1 0 0 0;0 0 1 0 0 0 0; 0 1 0 0 0 0 0;1 0 0 0 0 0 0;Smatrix=Etab*H' %對應(yīng)的伴隨式sym=randint(n,1,

20、M);sym=de2bi(sym,'left-msb'); %模擬信源編碼bitcoded=channelcoding(sym,G,4); %信道編碼,(7,4)碼modbit=pskmod(bitcoded,M);%在傳輸序列modbit加入AWGN噪聲snr=0:0.2:15; %噪聲為0到15dL=length(snr)ser=zeros(1,L);ser2=zeros(1,L);for k=1:L y=awgn(modbit,10*log10(b)+snr(k),'measured'); zsym=pskdemod(y,M); %復(fù)數(shù)解調(diào) zbit=de

21、2bi(zsym,'left-msb'); recode=reshape(zbit',1,); Rstream=recode; err=(Rstream=bitcoded); errnum=sum(err); ser(k)=log10(errnum/length(bitcoded); %糾錯 bitdecoded=channeldecoding(Rstream,Etab,Smatrix,H,7,4); err=(bitdecoded=bitcoded); errbits=sum(err); ser2(k)=log10(errbits/(length(bitcoded);

22、endplot(snr,ser,'b-*')hold onplot(snr,ser2,'r-o')grid onlegend('沒有信道編碼','信道編碼');xlabel('Eb/No(dB)');ylabel('SER');title('2PSK有無信道編碼性能比較');toc % 結(jié)論分析:由上圖在較高信噪比的時候編碼增益很明顯大大提高了誤碼性能,但是在低信噪被的時候編碼增益較小甚至可能是負(fù)值,則是因為編碼后信息比特能量擴(kuò)散到多個編碼比特上,每個編碼比特能量有所降低,如果信噪比

23、低的話,編碼冗余帶來的性能增益可能彌補(bǔ)不了編碼比特的能量的降低,因此信道中信噪比的波動會顯著降低編碼性能2、在交織條件下,不同時長的周期性深衰落對系統(tǒng)性能影響的比較ticclc%功能:有無信道編碼性能比較M=2; %進(jìn)制b=log2(M) ; %每符號比特數(shù)n=128*10000 ; %符號數(shù)interrow=8;intercol=10;%交積矩陣的行和列G=1 1 1 1 0 0 0;1 0 1 0 1 0 0;0 1 1 0 0 1 0;1 1 0 0 0 0 1 ; %生成矩陣H=1 0 0 1 1 0 1;0 1 0 1 0 1 1;0 0 1 1 1 1 0 ; %監(jiān)督矩陣Etab=

24、 0 0 0 0 0 0 0;0 0 0 0 0 0 1; %錯誤圖樣 0 0 0 0 0 1 0;0 0 0 0 1 0 0; 0 0 0 1 0 0 0;0 0 1 0 0 0 0; 0 1 0 0 0 0 0;1 0 0 0 0 0 0;Smatrix=Etab*H' %對應(yīng)的伴隨式sym=randint(n,1,M);sym=de2bi(sym,'left-msb'); %模擬信源編碼bitcoded=channelcoding(sym,G,4); %信道編碼,(7,4)碼interv=interweaving(bitcoded,interrow,interco

25、l); %交積向量modbit=pskmod(bitcoded,M);modbit2=pskmod(interv,M);%向傳輸序列modcode疊加衰落性信道的衰落參數(shù)k(t)modbitfade=addfade(modbit,1,1,1);modbitfade2=addfade(modbit2,1,1,1);%1ms周期性衰落modbitfade3=addfade(modbit2,2,1,1);%衰落時長2ms%在傳輸序列modbit加入AWGN噪聲snr=0:0.2:25; %噪聲為0到25dL=length(snr)ser=zeros(1,L);ser2=zeros(1,L);for

26、k=1:L y=awgn(modbitfade,10*log10(b)+snr(k),'measured'); y2=awgn(modbitfade2,10*log10(b)+snr(k),'measured'); y3=awgn(modbitfade3,10*log10(b)+snr(k),'measured'); zsym=pskdemod(y,M); %復(fù)數(shù)解調(diào) zsym2=pskdemod(y2,M); zsym3=pskdemod(y3,M); zbit=de2bi(zsym,'left-msb'); zbit2=de2

27、bi(zsym2,'left-msb'); zbit3=de2bi(zsym3,'left-msb'); recode=reshape(zbit',1,); recode2=reshape(zbit2',1,); recode3=reshape(zbit3',1,); deinterv=deinterweaving(recode2,interrow,intercol);%解交積向量 deinterv3=deinterweaving(recode3,interrow,intercol); Rstream=recode; Rstream2=d

28、einterv; Rstream3=deinterv3; %糾錯 bitdecoded=channeldecoding(Rstream,Etab,Smatrix,H,7,4); bitdecoded2=channeldecoding(Rstream2,Etab,Smatrix,H,7,4); bitdecoded3=channeldecoding(Rstream3,Etab,Smatrix,H,7,4); err=(bitdecoded=bitcoded); errbits=sum(err); ser(k)=log10(errbits/(length(bitcoded); err2=(bitd

29、ecoded2=bitcoded); errbits2=sum(err2); ser2(k)=log10(errbits2/(length(bitcoded); err3=(bitdecoded3=bitcoded); errbits3=sum(err3); ser3(k)=log10(errbits3/(length(bitcoded);endplot(snr,ser,'b-*')hold onplot(snr,ser2,'r-o')hold onplot(snr,ser3,'k-+')grid onlegend('有信道編碼沒有交織1ms衰落','有信道編碼有交織1ms衰落','有信道編碼有交織2ms衰落');xlabel('Eb/No(dB)');ylabel('SER&

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論