線性分組碼信道編碼(DOC)_第1頁
線性分組碼信道編碼(DOC)_第2頁
線性分組碼信道編碼(DOC)_第3頁
線性分組碼信道編碼(DOC)_第4頁
線性分組碼信道編碼(DOC)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)字通信課程報告題 目 : 數(shù)字通信中的線性分組碼講課老師 :學生姓名:所屬院系:專 業(yè):1設計目的和要求數(shù)字信號在傳輸中往往由于各種原因,使得在傳送的數(shù)據(jù)流中產(chǎn)生誤碼,從而使接收端產(chǎn)生圖像跳躍,不連續(xù),出現(xiàn)馬賽克等現(xiàn)象。通過信道編碼可實現(xiàn)對數(shù)據(jù)流進行相應的處理,使 系統(tǒng)具有一定的糾錯能力和抗干擾能力,可極大地避免碼流傳送中誤碼的發(fā)生。通過線性分組碼實現(xiàn)信道編碼,提高系統(tǒng)的可靠性。2設計原理要設計一個(6, 3)線性分組碼的編譯碼程序, 最基本的是要具備對輸入的信息碼進行編碼,讓它具有抗干擾的能力。同時,還要讓它具有對接收到的整個碼組中提取信息碼組的功能。但是,在實際的通信系統(tǒng)中, 由于信道傳

2、輸特性不理想以及加性噪聲的影響,接收到的信息中不可避免地會發(fā)生錯誤, 影響通信系統(tǒng)的傳輸可靠性,因而,本設計還要讓該程序具有糾正錯誤的能力,當接收到的碼組中有一位碼,發(fā)生錯誤時可以檢測到這一位錯碼,并且可以糾正這一位錯碼,并且讓系統(tǒng)從糾正后的碼組中提取正確的信息碼組。針對給定的矩陣0 1 1Q=i 0 ii i 0< j完成如下的工作:i完成對任意信息序列的編碼2根據(jù)生成矩陣,形成監(jiān)督矩陣;3根據(jù)得到的監(jiān)督矩陣,得到伴隨式,并根據(jù)它進行譯碼;4驗證工作的正確性。2.1線性分組碼的編碼2.1.1生成矩陣線性分組碼(n,k)中許用碼字(組)為 2k個。定義線性分組碼的加法為模二加法,乘法 為

3、二進制乘法。即1+1=0、1+0=1、0+1=1、0+0=0 ; 1X1=1、1X0=0、0X0=0、0X1=0。且碼字- L 與碼字廠 卡:訂V- - i)的運算在各個相應比特位上符合上述二進制加法運算規(guī)則。線性分組碼具有如下性質(zhì)(n, k)的性質(zhì):1、封閉性。任意兩個碼組的和還是許用的碼組。2、碼的最小距離等于非零碼的最小碼重。對于碼組長度為 n、信息碼元為k位、監(jiān)督碼元為r = n k位的分組碼,常記作(n, k)碼, 如果滿足2r 1>n,則有可能構造出糾正一位或一位以上錯誤的線性碼。下面我們通過(7, 3)分組碼的例子來說明如何具體構造這種線性碼。設分組碼(n, k)中,k =

4、 3,為能糾正一位誤碼, 要求r現(xiàn)取r= 4,則n = k + r= 7。該例子中,信息組為(c6c5c4), 碼字為(c6c5c4c3c2c1c0).當已知信息組時,按以下規(guī)則得到四個校驗元,即C3=C6 + C4C2=C6 + C5+C4Ci =a+C5C0 = C5 + C4這組方程稱為校驗方程。(7, 3)線性分組碼有 23 ( 8)個許用碼字或合法碼字,另有27-23個禁用碼字。發(fā)送方發(fā)送的是許用碼字,若接收方收到的是禁用碼字,則說明傳輸中發(fā)生了錯誤。為了深化對線性分組碼的理論分析,可將其與線性空間聯(lián)系起來。由于每個碼字都是一個二進制的n重,及二進制n維線性空間Vn中的一個矢量,因此

5、碼字又稱為碼矢。線性分 組碼的一個重要參數(shù)是碼率r=k/n,它說明在一個碼字中信息位所占的比重,r越大,說明信息位所占比重越大,碼的傳輸信息的有效性越高。由于(n,k)線性分組,線性分組碼的2k個碼字組成了 n維線性空間Vn的一個K維子空間。因此這 2k個碼字完全可由k個線性無關 的矢量所組成。設此k個矢量為Ci,C 2,c k,有生成矩陣形式為C2G=Ck< J(n,k)碼字中的任一碼字Ci,均可由這組基底的線性組合生成,即Ci=m i G=mi-i mn-2 mn-k G式中,mi =mn-1 mn-2mu 是k個信息元組成的信息組。表2-1( 7, 3)線性分組碼信息組碼字0000

6、000000001001110101001001110110111010100100110101101001111011010011111110100對于表2-1給出的(7, 3)線性分組碼,可將寫成矩陣形式廠A10 0 1110C6 C5 C4 C3 C2 C1 Co=C 6 C5 C4 0 10 0 111<0 0 1 1 1 0 1故(乙3)碼的生成矩陣為10 0 11 1 0G=0 10 01 1 10 0 1 11 0 1丿可以看到,從(7,3)碼的8個碼字中,挑選出 k=3個線性無關的碼字(1001110)(0100111), (00111101)作為碼的一組基底,用c=m

7、G計算得碼字。一個系統(tǒng)碼的生成矩陣G,其左邊k行k列應是一個k階單位方陣Ik,因此生成矩陣 G表示為G=|k P式中,P是一個kx (n-k)階矩陣。3設計過程3.1編碼過程監(jiān)督矩陣H與生成矩陣G的關系:由H與G的分塊表示的矩陣形式H =P I n-kG=Ik QP=QT則有G HT=0或 H GT=O已知給出的(6, 3)碼的Q矩陣Q=0 1 11 0 11 1 0r100011 G=010101001110丿P = Q和H =P I n-k可求出監(jiān)督矩陣H為則可以根據(jù)G=I k Q求出生成矩陣由H=A1 0 00 1 00 0 1丿有了生成矩陣后則可以根據(jù)輸入的四位信息位和生成矩陣相乘得到

8、編碼矩陣,即MATLAB函數(shù)為:C=rem(l*G,2);其中C為編碼后的結果,I為信息矩陣,G為生成矩陣 則編碼的所有情況為:編碼序列:信息位|C=監(jiān)督位110113.2譯碼過程對于譯碼過程來說,同樣由上知道監(jiān)督矩陣:H=0 1 1 1 0 0H矩陣與(n,k)碼的任何一個許用碼字進行相乘的結果必等于0,即若C=m- G是任一(n,k)碼字,則必有C - ht=o。若不屬于許用碼字,或有傳輸差錯,且差錯位數(shù)在(n,k)碼糾錯能力內(nèi),則運算結果將為非0值,此時,可以糾錯或檢錯重發(fā)S0 = B - H T = 000000 -=0000 1 11 0 11 1 01 0 00 1 00 0 1S

9、1 = B - H T =000001- =001S2 = B - H T =000010 -=0100 1 11 0 11 1 01 0 00 1 0<0 0 1 丿廣 0 1 1、1 0 11 1 01 0 00 1 0<0 0 1 ->S3 = B - H T =000100-=011P 1 1 '1 0 11 1 01 0 00 1 0<0 0 1 丄S4 = B - HT =001000-=100廣0 1 11 0 11 1 01 0 00 1 0'0 0 1S5 = B-HT =010000 =101廣 0 1 1>1 0 11 1 0

10、1 0 00 1 00 0 1jS6 = B HT =100000 廠 0 1 1>=110 1 0 11 1 01 0 00 1 0<0 0 1丄TS7 = B H =100100 =111廠 0 1 1、1 0 11 1 01 0 00 1 0<0 0 1 J當編碼矩陣與生成矩陣的轉置矩陣相乘時,若當其中的一位編碼或兩位出現(xiàn)差錯時會有八種情況,則這些情況列出錯碼矩陣如下:錯碼矩陣:校正子S錯誤圖樣E000000000001000001010000010011000100100001000101010000110100000111100100表3-1(6,3)線性分組碼的譯

11、碼表而這些情況正好是和校驗子有某種對應關系的,根據(jù)這些對應關系可以進行相關編程。程檢測到了那一位錯誤可以根據(jù)若編A=B+E其中A為糾錯輸出碼序列,E為錯碼矩陣,R為信道輸出碼。對接收到的信息進行改正求出正確的編碼,從而再提去更正后的接收序列的前三位來提取信息位,以至獲得信息矩陣 I。4仿真程序及結果分析4.1仿真結果1 輸出編碼結果及輸入正確接收碼的譯碼結果:從程序的一開始運行就顯示“您好!歡迎使用線性分組碼編譯器:請選擇編譯器種類:1 :編譯器2:譯碼器:0:退出 >> ”的一串字樣,當你輸入“ 1 ”時,則又顯示“請輸入n*4的信息碼組:”。當輸入“ 2”時,顯示“請輸入接收碼

12、組B :”。當你輸入“ 0”時,則退出程序。運行結果如下圖:圖1輸出編碼結果和正確輸入時顯示圖2.輸入0 0 0 0;0 0 0 1;0 0 1 0;0 0 1 1;0 1 0 0;0 1 0 1;0 1 1 0;0 1 1 1;1 0 0 0;1 0 0 1;1 0 1 0;1 0 1 1;1 1 0 0;1 1 0 1;1 1 1 0;1 1 1 1 一串信息碼組后回車, 便會得到編碼后的碼組。 運行結果如下 圖:Eil*t Yi «w Wet VitAlpD £g0!:苗Cwrent Directory: | cfc WATLABEpSWvorK2 » bi

13、qi歡曲便用比性另is碼as課器KATLAHni礁碼ss w謁碼as oi輸入 rvM的 rSfi碼: Q 0 O:Ci 001:0010:0 OIL. I 0 O;C 1 0 1:C 1 I 0;O 1 1 I;.I Q O Q;l Q fj : 1 D L Dl J O 4 L1 1 0 O-1 10 1 JL 1 1 0U 1 1 t輪碼結黒均Q:c=QQQO00O001 0-11O010t10O011 101O100 101OL0ii.i10O11OO'11O111 0001000 11I1Q1I0D1010 0011id11o1D1IO010111.o01&.L10L

14、01L11I11接下來好爛:1用鈿囲黯E用譚晞辭0旨 tzi rt Wpi"口 for in|J urf圖2程序的編碼過程3.當輸入“ 2”時,顯示“請輸入接收碼組 B :”。然后從提示符后輸入:1 1 0 1 0 0 1;0 1 0 1 1 1 0,回車后顯示如下:圖3程序的譯碼4.當你輸入“ 0”時,系統(tǒng)應該正常退出運行程序,運行結果如下:圖4系統(tǒng)正常輸入退岀4.2結果分析1輸出編碼結果及輸入正確接收碼的譯碼結果分析由圖1可以看出編碼的結果的八種情況和在推導過程中運算的結果是一致的,所以我們可以知道程序的編碼過程是正確的。對于譯碼過程而言,當界面顯示“請輸入接收碼組B :” ,然

15、后從提示符后輸入:0 0 0 0 0 0,由于輸入的接收碼組與編碼后的碼字一致,它提取了每個碼組的前四位,即信息位,由結果看出譯碼過程是正確的,并沒有出現(xiàn)錯譯的情況, 可見程序的譯碼片段是正確的。2 輸入一位錯誤時的結果分析由圖1可以看出,當界面顯示“請輸入接收碼組 B:” 。然后從提示符后輸入:0 0 0 0;0 0 01;0 0 1 0;0 0 1 1;0 1 0 0;0 1 0 1;0 1 1 0;0 1 1 1;1 0 0 0;1 0 0 1;1 0 1 0;1 0 1 1;1 1 0 0;1 1 0 1;1 1 10;1 1 1 1由圖2有一位錯誤輸入時的顯示圖所知,接收碼組的第五位

16、發(fā)生了錯誤,經(jīng)程序糾檢錯誤后改正了接收序列的錯誤,并且正確譯出了信息位。可見程序的糾錯功能也是可以實現(xiàn)的,以上結果進一步證實了,系統(tǒng)譯碼程序的正確性。3 輸入兩位特定位錯誤時的結果分析由圖3有兩位特定位錯誤輸入時的顯示圖知,當輸入 B=1 1 0 1 0 0 1;0 1 0 1 1 1 0時,校正 子是111,錯誤圖樣是100100,所以說明理論得以驗證。Matlab 程序如下:function bianyiqi% $% A 糾錯輸出碼序列% Define variables:% E 錯碼矩陣% H 監(jiān)督矩陣 % G 生成矩陣% S 校驗子矩陣% C 編碼矩陣% M 校驗子的行的十進制序列%

17、I 輸入信息序列% R 信道輸出碼Q=input(.'您好!歡迎使用線性分組碼編譯器 :n 請選擇編譯器種類 :n 1:編碼器 2:譯碼器 0:退出>>'); while(Q)%信道編碼程序if(Q=1)clear allclose allH=1 1 1 0 1 0 0;1 0 1 1 0 1 0;1 1 0 1 0 0 1;%監(jiān)督矩陣G=gen2par(H); % 求 H 陣的生成矩陣 GI=input(' 請輸入 n*4 的信息碼組: ');C=rem(I*G ,2);disp(' 編碼結果為 :C=');disp(C);else

18、if(Q=2)%信道譯碼程序 clear all;close all;H=1 1 1 0 1 0 0;1 0 1 1 0 1 0;1 1 0 1 0 0 1;%監(jiān)督矩陣B=input(' 請輸入接收碼組 B:');a,b=size(B);E=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;S=rem(B*H',2);% 求校驗子i=1;for i=1:1:aM(i,1)=S(i,1).*4+S(i,2).*2+S(i,3);%求校驗子所表示的整數(shù)end for i=1:1:aswitch(M(i,1)case 0A(i,:)=B(i,:)+E(1,:);case 1A(i,:)=B(i,:)+E(2,:);case 2 A(i,:)=B(i,:)+E(3,:);case 4 A(i,:)=B(i,:)+E(4,:);case 3 A(i,:)=B(i,:)+E(5,:);case 6 A(i,:)=B(i,:)+E(6,:);case 5 A(i,:)=B(i,:)+E(7,:);case 7 A(i,:)=B(i,:)+

溫馨提示

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

評論

0/150

提交評論