糾錯編碼技術實驗指導書_第1頁
糾錯編碼技術實驗指導書_第2頁
糾錯編碼技術實驗指導書_第3頁
糾錯編碼技術實驗指導書_第4頁
糾錯編碼技術實驗指導書_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、糾錯編碼技術實驗指導書昆明理工大學信息工程與自動化學院通信工程實驗室2010年12月實驗線性分組碼的編碼與譯碼一、實驗目的1、通過實驗掌握線性分組碼的編碼原理2、通過實驗掌握線性分組碼的譯碼3、了解編碼與檢錯能力之間的關系二、實驗內容1、自行設置線性分組碼或漢明碼的參數,計算所設計出的線性分 組碼或漢明碼的所有碼字集合;2、利用庫函數譯碼或利用通信工具箱設計譯碼模塊譯碼;3、整理好所有的程序清單或設計模塊,并作注釋。三、實驗設計原理1、線性分組碼的定義將信源的輸出序列分成長為k的段u = (ukukqu1u0),按一定的規(guī)則 將u =(Uk,Uk”UiUo)編為長為n的碼字(碼符號序列) c=

2、(OnqqCiCo)(n Ak)。碼字共有n位,其中k位為信息位,n-k位為校 驗位,假設共有M個消息序列,則對應的M個碼字的集合心,Cm)稱 為一個(n,k)分組碼,記為C。在上述分組碼中,若u與c的對于關系是線性的,則稱為線性分組碼。(3-1)對應的碼字為-gjg2石11g1n I(3-4)2、生成矩陣和校驗矩陣(1)生成矩陣根據線性分組碼的定義,可以得出如下所述的一種構成線性分組碼 的方法。在(n,k)線性分組碼中,假設消息序列分別為U1 =(100000)U 2 =(0100 00)U 3 =(001000)Uk=(0000 10)U k =(0000 01)這k個消息序列的長度都是k

3、 bit,對應于的碼字分別為g1 , g2 ,g3,,gk、gk,均是長度為n的二進制序列。這樣,對于任意的消息序列U=(U1,u2,U3,UjUk),都可以用行矩陣表示為:(3-2)nc = " Uigi =(C1, C2, ,Cn)(3-3)Jk1 gkn_為該分組碼的生成矩陣,則有c = uG(3-5)生成矩陣G的行是線性獨立的,因此,行的線性組合可以用于生成 C中的碼字。生成矩陣將是秩為k的kMn階矩陣,它完整地描述了編碼的 過程,有了生成矩陣G ,編碼器的結構就很容易確定,即式(3-5)事實 上給出了編碼的實現(xiàn)方法。對一個給定的線性碼,它的生成矩陣不是唯 一的,因為生成矩陣

4、的行可以有多種選擇。生成矩陣G提供了一種簡明而有效地表示線性分組碼的方法。k父n階矩陣可以生成2k個碼字。因此,我們只需要一個生成矩陣而不需要含 2k個碼字的查詢表。這對大碼的儲存空間是極大的節(jié)省。(2)校驗矩陣為了在接收端進行正確的譯碼,可以定義一個對應于生成矩陣G的 矩陣H,稱為校驗矩陣或監(jiān)督矩陣,滿足GHT =0或 HGT =0(36)即生成矩陣G的行與校驗矩陣H的行相互正交。由于G是kMn階矩 陣,故H是(n_k)"階矩陣,0是一個女父.心階的全0矩陣。由c = uG和GHT =0得cHT =uGHT =u(GHT) = u0 = 0或 HcT = H (uG)T = HGT

5、uT = 0uT =0(3-7)由于c是1"階行矩陣,故式中0亦為1Mn階行矩陣。式(3-7)事 實上給出了譯碼的實現(xiàn)方法,因為校驗矩陣 H是已知的,如果接收到的 碼矢與它轉置的乘積為0,則說明接收無誤,否則說明存在錯誤。3、線性分組碼的譯碼(1)用標準陣列譯碼由標準陣列的構成可知,第一行為碼矢,從第二行開始,每一列與 本列的第一行元素都只相差一個陪首集。 在標準陣列中出現(xiàn)的qn個矢量 都是可能的錯誤圖案,而陪集首選的是本行中重量最輕的矢量,所以 ?=y+e就是最小距離譯碼,即最小錯誤概率譯碼。接收到y(tǒng)后,到標準陣列中去找(因為qn個矢量全部列在其中,總 可以找到),如果接收到的字是

6、個合法碼字,那么可以下結論說沒有錯 誤發(fā)生(這個結論可能是錯的,就是當噪聲把一個合法碼字改變成另一 個合法碼字時,但它的錯誤概率很低)。如果接收到的碼字是一個禁用 碼字時,我們推測發(fā)生了錯誤。譯碼器則聲明陪集首就是錯誤圖樣e,然后譯碼為y+e,這就是在y同一列中最上邊的那個碼字。因此,我們 把接收到的字譯為包含該字的列的最上邊的那個碼字。(2)譯碼表譯碼我們可以將標準陣列譯碼和伴隨式譯碼結合起來簡化成更為實用的譯碼表,譯碼表保留了標準陣列中的 2n個可糾正錯誤圖樣ej (陪集 首)與其伴隨式s=HeT之間的一一對應關系,譯碼器存儲該表后,在譯 碼時就可以查表實現(xiàn)從伴隨式到錯誤圖樣的轉換。用譯碼

7、表譯碼,譯碼正確的概率與陪集首的選擇有關。根據最大后 驗概率譯碼準則,重量最輕的錯誤圖樣產生的可能性最大,所以應該優(yōu) 先選擇重量小的n重作為陪集首。這樣構造的譯碼表,使得ej+G與G之 間的距離最小,從而使譯碼器能以更大的正確概率譯碼,這就是最小距 離譯碼。4、漢明碼漢明碼是1951年由漢明(R.W.Hamming)提出的能糾正單個錯誤的線性分組碼。它性能良好,既具有較高的可靠性,又具有較高的傳輸 效率,而且編譯碼電路較為簡單,易于工程實現(xiàn),因此漢明碼在發(fā)現(xiàn)后 不久,就得到了廣泛的應用。我們的目的是要尋找一個能糾正單個錯誤,且信息傳輸率(即碼率 r=k/n)最大的線性分組碼。我們已經知道,具有

8、糾正單個錯誤能力的線 性分組碼的最小距離應為3,即要求其H矩陣中至少任意兩列線性無關。 要做到這一點,只要H矩陣滿足“兩無”一一無相同的列,無全零列就 可以了。(n, k)線性分組碼的H矩陣是一個=父。階矩陣,這里 r =n-k是校驗元的數目。顯然,r個校驗元能組成2r列互不相同的r重 矢量,其中非全零矢量有2r -1個。如果用這2r-1個非全零矢量作為H矩 陣的全部列,即令H矩陣的歹I數n=2,-1 ,則此H矩陣的各列均不相同, 且無全零列,由此可構造一個糾正單個錯誤的(n, k)線性分組碼。同時,2r-1是n所能取的最大值,因為如果n a 2r-1,那么H矩陣的 n列中必會出現(xiàn)相同的兩列,

9、這樣就不能滿足對 H矩陣的要求。而由于 n=2r -1是n所能取的最大值,也就意味著碼率 R取得了最大值,即Rn=1 - =1nr2r -1(3一18)這樣設計出來的碼是符合我們的要求的,這樣的碼就是漢明碼定義 若H矩陣的列是由非全零且互不相同的所有二進制r重矢量組成,則由此得到的線性分組碼,稱為 GF(2)上的(2-1, 2r-1-r)漢 明碼。表3-9列出了幾種r取不同值時漢明碼的(n = 2-1, k = 2-1-r)表3-9幾種漢明碼的(n, k)值rn =2-1k = 2-1 -r11023137441511531266127121例3-19二元(7, 4)漢明碼的生成矩陣為 110

10、 10 0 0 0 1 10 10 0 G = 0 0 110 10 J0 0 0 1 10 1-相應的校驗矩陣為1 0 1 110 0H = 0 1 0 1 1 1 09 0 1 0 1 1 1 _觀察到該校驗矩陣的列由(100), (010), (101), (110), (111), (011), (001)構成,這7個是所有長為3的非零二元向量,很容易可 以得到一個系統(tǒng)漢明碼。該校驗矩陣 H可以被安排成如下的系統(tǒng)型: 1110 10 0H =卜 1 1 1 0 1 0 = L pT | JJ101001j于是該二元漢明碼的生成矩陣的系統(tǒng)型為1 0 0G = IP=|0 10 0 0 1

11、p000 10 10 1110 11010 11例3-20 取r=3,構造GF(2)上的(7, 4)漢明碼 當r=3時,有7個非全零的三重矢量:(001), (010), (011), (100), (101), (110), (111)構成矩陣0001111H = 01100111010101 _由此得到一個能糾正單個錯的(7,4)漢明碼。若碼字傳輸中左 邊第一位出錯,則相應的伴隨式s = (001)就是H矩陣的第一列,也正好是 “1的二進制表示。同理可知,無論哪一位出錯,它對應的伴隨式就是 該位的二進制表示,故譯碼十分方便,特別適用于計算機內部運算和記 憶系統(tǒng)中的糾錯。如果要得到系統(tǒng)碼形式

12、的H矩陣,只需對上述矩陣進行初等變換交 換列即可1110 10 0H = 1 10 10 1 0相應地,生成矩陣G為一100-0010000100 1110 1100 10 110 11J 0 11001-由此構成的(7,4)漢明碼如表3-3所示表3-3(7, 4)系統(tǒng)碼信息組碼字000000000000001000101100100010101001100111100100010011001010101101011001100110111011100010001000111100110011001010101001010111011001110011000011101110101011101

13、11010011111111111四、完成實驗報告1、實驗目的2、實驗內容3、給出產生線性分組碼或漢明碼的源程序,并給出運行結果,要求 得到所有碼字。4、搭建一個完整的通信仿真模塊,并給出運行結果,分析線性分組 碼或漢明碼對通信性能的影響;5、總結實驗遇到的問題及解決方法。實驗二循環(huán)碼的編碼與譯碼一、實驗目的1、通過實驗掌握循環(huán)碼的編碼原理2、通過實驗掌握循環(huán)碼的譯碼原理3、了解編碼與檢錯能力之間的關系二、實驗內容1、自行設置循環(huán)碼或 BCH碼的參數,計算所設計出的循環(huán)碼或BCH碼的所有碼字集合;2、利用庫函數譯碼或利用通信工具箱設計譯碼模塊譯碼;3、整理好所有的程序清單,并作注釋。三、實驗設

14、計原理1、循環(huán)碼的定義一個(n, k)線性分組碼C,若對任意c = (a,g2,3wC,將碼矢 '中的各碼符號循環(huán)左移(或右移)一位,恒有 C=C/,Cn.C0,cn)C, 就稱C為(n, k)循環(huán)碼。循環(huán)碼是一種線性碼,因此線性碼的一切特性均適合于循環(huán)碼;但 它的特殊性是其循環(huán)性,碼字集合或者說碼組中任意一個碼字的循環(huán)移 位得到的序列仍是該碼字集合中的碼字,即它對循環(huán)操作滿足封閉性。2、循環(huán)碼的生成矩陣、生成多項式和監(jiān)督矩陣(1)循環(huán)碼的生成矩陣在循環(huán)碼中,一個“的循環(huán)碼有2k個許用碼組。若用g(x)表示其中 2k前小一1)位皆為“0”的碼組,用xg,xg,x g分別表示其 向左移1

15、, 2,,卜-1位的碼組(實際上是xjg(x)除以xn+1的余式),根 據循環(huán)性可知:g(x) , xg(x) , x2g(x),,xk'g(x)都是許用碼組,而且 這k個碼組將是線性無關的。因此,可用它們構成循環(huán)碼的生成矩陣。其中g(x)又被稱為循環(huán)碼的生成多項式。由此可見,循環(huán)碼的生成矩陣GkM可以寫成Gk n(x)=xkg(x)1xk'(x)(4-5)若 g(x)=gxg(x)g(x)n -k*xgi g0(4-6)(因為前(k1)位皆為“0”)Gk n(x)=gn上0gn _k dgn _kgn _k Jgi g0gi0g。0【0(4-7)0 gn _kg n _k J

16、gig0若用U(x)表示信息多項式,其定義為U (x): uk Nk J ,ux u0(4 8)式中Uk,uiu0表示k個信息比特。由此得到的碼組為C(x) =U(x) G(x) J UiUo,k i、,、二 (Uk/x - Fx U0) g(x)xk/g(x)-xg(x)g(x)一(4 -9)上式表明,所有的許用碼組多項式都可被 g(x)整除,而且任一次數不大于(k-1)的多項式乘g(x)都是循環(huán)碼的許用碼多項式。且因為C(x)是 一個階次小于n的多項式,所以由上式可知,g(x)應是一常數項不為0 的(n-k)階多項式。因為如果常數項為0,則經過右移一位,會得到一個 信息位全為0,而監(jiān)督位不

17、全為0的碼組,這在線性碼中顯然是不可能 的??梢詫懗龃搜h(huán)碼組的多項式表示式:x2g(x) 1C(x)=U(x) G(x) =a6a5a4,xg (x)-g(x)-22= aexg(x) a5xg(x) a4g (x)=(aexa5x a4)g(x)(410)上式表明,所有碼多項式都能夠被g(x)整除,而且任意一個次數不 大于(k 一1)的多項式乘以g(x)都是碼多項式。(2)生成多項式由式(4-10)可知,任意一個循環(huán)碼多項式C(x)都是g(x*q倍式, 故它可以寫成:C(x) =U(x) g(x) (4 -11)而生成多項式g本身也是一個碼組,即有, 1C (x) =g(x) (4 -12

18、)'k '由于碼組C (x)是一個一2次多項式,故xC(x)是一個n次多項式。k 'n由式(4-12)可知,xC(x)在??谑?。運算下也是一個碼組,所以有:k 'xkC (x)n ax 1Q(x)等x 1(4 -13)上式左端分子和分母都是n次多項式,故相除的商式Q(x) = 1。因此,上式可以寫成:xkC'(x) =(xn 1) C(x)(4 -14)將式(4-11)和式(4-12)代入上式,經過化簡后得到:xn 1 =g(x)xk U(x)(4 -15)式(4-15)表明,生成多項式g(x)應該是(xn+。的一個常數項不為0的階次為(nk)次的因子。

19、例如,xn+1當n=7時因式分解為:(4-16)x71 = (x 1)(x3 x2 1)(x3x 1)構成如表4-2所示的(7,k)循環(huán)碼。(n,k)g(x)(7,6)x +1(7,4)x3 + x2 +1或*3 +x +1(7,3)(x +1) (x3 +x2 +1)或(x +1) ( x3 + x +1)(7,1)(x3 + x2 + 1) ( x3 + x + 1)時,可寫出(7, 4)循環(huán)碼的生成矩陣如下53x x表4-2 x7 +1因式分解構成的循環(huán)碼當 g(x) = x3 x2 1-x6G(x)=x3g(x)2x g(x)xg(x). g(x) 一5x4 x42x x3x x一11

20、010001 0110100 10011010-0001101-為了求出(7, 3)循環(huán)碼的生成多項式g(x),需要從上式中找到一個5-2=4次的因子。不難看出,這樣的因子有兩個,即:(4-17)(4 -18)(x 1)(x3x21) = x4x2 x 1 (x 1)(x3 x 1) = x4 x3 x2 1以上兩式都可以作為生成多項式。但是,選用的生成多項式不同,產生 的循環(huán)碼的碼組也不同。(3)循環(huán)碼的監(jiān)督矩陣-xk,g(x)xk“g(x)xg(x):.g(x)項式g(x)能除盡xn十1 (因為它是xn+1的一個因子,且可表示為g(x) =g-xn " +gx +go ,且 go

21、=1),因止匕有式(4-5 ) Gk>n(x)=給出了循環(huán)碼的生成矩陣,由于生成多xn 1 = g(x)h(x) (4-19)由于式(4-19)是循環(huán)碼許用碼組必需要滿足的監(jiān)督關系,因此h(x)稱為監(jiān)督多項式,且h(x) = hkxk + h1x + h0。由式(4-19)可知,必定有gn ± hk =1g0 h0 =1g1 h0 - g0 h1 =0g2 h0 g1 % g0 h2 =0gnh°gnN ,. gn“ hk. g0 hn.=0因此可確定監(jiān)督多項式的系數,而H.完全由監(jiān)督多項式h(x)的系數確定,因為GHT=0, r=n-k。由此可得循環(huán)碼的監(jiān)督矩陣為H

22、rn-0h1h00h1h0h1hkhk0hkhkh000hkh1-hk000hk(4-20)3、循環(huán)碼的譯碼我們知道,循環(huán)碼任一許用碼多項式 C(x)都能被生成多項式g(x)所 整除,所以接收端只需將接收到的碼多項式C'(x)用生成多項式g(x)去除。若余式為0 (被生成多項式整除),說明傳輸過程中未發(fā)生錯誤;若 余式不為0 (沒有被生成多項式整除),則說明傳輸過程中發(fā)生了誤碼。 因此可以用余式是否為零來判斷碼組中有無差錯。需要說明的是,當一許用碼多項式錯成另一許用碼多項式時,它也能被g(x)所整除,這時的錯碼就不能被檢出了,這種錯誤稱為不可檢錯誤。在接收端如果需要糾錯,則采用的譯碼方

23、法要比檢錯時復雜很多, 為了能夠糾錯,要求每個可糾正的錯誤圖樣必須與一個特定的余式有一 一對應關系,這樣才可能從上述余式中唯一地確定其錯誤圖樣,從而糾 正錯碼。如同其他線性分組碼,循環(huán)碼的糾錯譯碼也可以分為以下三步 進行。1 .由接收到的碼C'(x)計算校正子(伴隨式)多項式r'(x)。對于循環(huán)碼而言,校正子多項式就是用接收到的碼多項式 C'(x)除以 生成多項式g(x)所得到的余式,即r'(x)=C'(x)modg(x)2 .由校正子多項式r'(x)確定錯誤圖樣E(x)。3 .將錯誤圖樣E(x)與接收碼多項式C'(x)相加,即可糾正錯誤

24、恢復原 發(fā)送碼組。4、BCH 碼BC喇是線性循環(huán)分組碼中功能最強大的一種。 它是1959年由發(fā)現(xiàn) 這種碼的三個人是名字(Bose-Chaudhuri-Hocquenghem)來命名。它的 生成多項式g(x)與最小碼距喘口之間有密切的關系,可根據所要求的糾 錯能力t,很容易地構造出BCH碼,且其譯碼也比較容易實現(xiàn)。由于它 具有糾錯能力強,構造方便,編碼簡單,譯碼也教容易實現(xiàn)等一系列優(yōu) 點而被廣泛采用。BCFK可分為兩類:本原 BCFK和非本原BCFK。本原BCFK的碼長為n =2m -1 ( m為正整數),它的生成多項式g(x)中含有最高次數為m次 的本原多項式;非本原BCHK的碼長n是2m-1

25、的一個因子,它的生成多 項式g(x)中不含有最高次數為m次的本原多項式。對本原BCHK的定義,可以直接從其生成的角度來定義。定義 令為GF(2m)中的本原元,若多項式g(x)是以,口2,6,, 1t為根的GF(2)上的最低次多項式,則由它生成的碼長為2m 一1、糾正t個 錯誤的碼元為二元本原BCFKo由上述定義可知,BC刪是循環(huán)碼中的一類,因此它具有分組碼、 循環(huán)碼的一切性質;但它明確地界定了碼長、一致校驗位數目、碼的最 小距離,從而可以看出它的性能較好,在同樣的編碼效率情況下,糾、 檢錯的能力均較強;它特別適合于不太長的碼,故在無線通信系統(tǒng)中獲 得廣泛應用。另外,BCHK也是現(xiàn)階段比較容易實

26、現(xiàn)的一種碼。1) BCH碼的生成多項式g(x)由定義可知,二元本原Bcnm的生成多項式g(x)的全部根為口,支2, 6 ,,口 2t及其共鈍根組,令m(X)是小的最小多項式,則有g(x) = LCM mi(x),m2(x),m3(x), ,m2t (x)LCM表示取最小公倍式。在GF(2)上,由于62i與"具有相同的最小多項式,所以有g(x)=LCMmi(x),n(x), ,m2t(x)(4 -28)二元本原BCFK的參數為:(1)碼長 n=2m-12) ) 一致校驗位數目為r=n-(3)最小距離為dm- -2t+1(4)糾錯能力為t由于BCHK是循環(huán)碼,所以它的編碼可用前面討論的循

27、環(huán)碼生成技 術來簡單地實現(xiàn)。即只要給定生成多項式 g(x),利用下面步驟就可得到具有系統(tǒng)碼形式的BCH馬:(1)首先利用xn”乘以信息碼多項式U(x);(2)然后再用g除xU,得到商式P(x)和余式r(x),即xn'U(x) ”(x) . r(x) g(x)g(x)n k(3)最后編出碼組 c(x)=U(x),x +r(x),、44、例4-8 考慮由P(x)=x +x+1為本原多項式而生成的GF(2)域,其本原元為a ,試求可糾正1個錯、2個錯、3個錯的BCFK的生成多項式。44、對于由本原多項式p(x)=x +x+1生成的GF(2),可以求出其所有元素的最小多項式,即-2.4.84-

28、,-,-x x 136912432不,:,:,:x x x x 15102,,:x x 1711131443,二,:,:,:x x 14,(1)對于 t=1, n = 15,有 g(x) = LCMmi(x) = x +x+1 即BCH(15, 11, 1)的生成多項式為g(x) = x4+x+1。對于t=2, n=15,有g(x) = LCM m1(x)m3(x) = (x4 x 1)(x4 x3 x2 x 1)8764=x x x x 18 7 6 4即BCH(15, 7, 2)的生成多項式為g(x) = x+x +x +x+1。(3)對于 t=3, n=15 ,有44322g(x) =

29、LCM m1(x)m3(x)m5(x) = (x x 1)(x x x x 1)(x x 1) 108542=x x x x x x 1 108542即 BCH(15, 5, 3)的生成多項式為 g(x) = x +x +x +x +x +x + 1o用這種求幾個最小多項式乘積的方法來求生成多項式,數學模型清晰,計算較為簡單。2. BCH碼的校驗矩陣若口、S3、口2是二元本原BCH碼的生成多項式g(x)的根,則 由于碼字多項式c(x)是生成多項式的倍式,故 "2也必是碼字多項式c(x)的根,即Cn 式:i)n,Cn/(:V G(: i)1 Co =0 i =1,3, ,2t -1n

30、1n J2ota/3、n/3 n -2(a )(a )、/ 2t/、n/ 2t、nJ«)(a)寫成矩陣形式為1:31a" 1 一 一C。由于HCT =0 ,故碼的校驗矩陣為n -1n -2/::1/ 3、n4/ 3、nJ23/| (a )(a )a1H =:(a2t)n,("/”/' 1在H矩陣中,GF(2m)上的每個元素ui(i'3217),可用二進制m 表示,因此H矩陣至多只有mt行,說明碼的校驗元至多只有 mt個。例4-9 例4-8中對于t = 2, n=15,生成BCH(15, 7, 2)碼,其校驗矩陣為1442141213 Ot39Ot1

31、3 a9 Ot12 Ot36Ot12 a6 an-1I a33nH = 3)n/ 2t(二)11 a33 Ot11 a3 Ot10 ot30Ot10 Ct0 a用二進制4重表示H矩陣中的9 Ot27 a9 Ot12 a:- i8 Ot24 a8 a9Ot得7 a21 a7a6Ot6 Ot18 Ot6ao ot5 Ot15 Ot54 a12 Ot4 a12 a3 Ot9 a3Ot9 Ot2 Ot6 Ot2Ot6Ot1Ct3Ot:110f31 一110 10 111110 10 0 1 0 0 0 10 110 0 100 11 1H =1 01 11 11 10 00 01 01 110 100

32、 10 1110 00 1100 10 10 111110 0 10 01001000011000100110000 0 10 10 010 111103、BCH碼的譯碼BCH譯碼方法大體上分為“頻域譯碼”和“時域譯碼”兩大類所謂“頻域譯碼”,就是把每個碼組看成一個數字信號,將接收到的信 號進行離散傅氏變換(DFT ,然后利用數字信號處理技術在“頻域”內 譯碼,最后,再進行傅氏反變換得到譯碼后的碼組。“時域譯碼”則是在時域上直接利用碼的代數結構進行譯碼。一旦它的代數基礎建立起 來,譯碼器就會很簡單。時域譯碼的方法很多,這里只簡單介紹彼得森 譯碼方法的基本思路。在彼得森譯碼中,仍然采用計算校正子

33、,然后用 校正子尋找錯誤圖樣的方法,其譯碼基本思路如下:(1)用生成多項式的各因式作為除式,對接收到的碼多項式求余,得到t個余式,稱為“部分校正子”或“部分伴隨式”(2)通過下列步驟確定接收多項式中碼錯誤的位置;首先根據“部分校正子”確定錯誤位置多項式;然后解出多項式的 根,由這些根可直接確定接收多項式中錯誤的位置。(3)糾正接收多項式中的錯誤。四、完成實驗報告1、實驗目的2、實驗內容3、給出產生循環(huán)碼或 BCH碼的源程序,并給出運行結果,要求得 到所有碼字。4、搭建一個完整的通信仿真模塊,并給出運行結果,分析循環(huán)碼或 BCH碼對通信性能的影響;5、總結實驗遇到的問題及解決方法。實驗參考實例1

34、、利用庫函數(encode)來實現(xiàn)編碼語法:code=encode(msg, N, K, method, opt);說明:這個函數可完成六種主要的差錯控制編碼:漢明碼、線性分 組碼、循環(huán)碼、BCH碼、R-S碼和卷積碼。Msg是信息;method注明編碼方式;N是碼字長度;K是信息位的長度;opt是有些編碼方式需要的參數,具體含義見下表。encode函數的參數用法method含義opt'haming '漢明編碼可用來指定一個原始多項式,如省略,則使用默認多項式linear'線性分組碼opt必須指定一個校驗矩陣Cyclic'循環(huán)他必須指定一個生成多項式bch'

35、;BCH碼可用來指定一個生成多項式,如省略,則使用默認生成多項 式例:msg=randint(1,40);%生成一行40列的信息序列code=encode(msg,7,4, 'hamming' );% 進行漢明編碼2、利用生成矩陣實現(xiàn)編碼例:已知G =一100.001000 10 10 10 1110 00 0 11110 , u=1 0 1 1,11求c。G=1 0 0 1 0 1 1;0 1 0 1 0 1 0;0 0 1 1 0 0 1;0 0 0 0 1 1 l;%k 成矩陣u=1 0 1 1;%信息碼字c=rem(u*G,2);% 生成碼字disp(c) 101010

36、13、利用通信工具箱仿真模塊( Communications Blockset )實現(xiàn)編碼GeneratorLinear Encoder線性分組碼的產生模塊參數設置如下:Bernoulli Binary GeneratorBinary Linear EncoderParaihet etsGenerator mat rix Cbinarr KbyaN mratriz):To workspaceParametersVariable naime:EimoutLindt data points to last: infDecimations 1Sample t(T for inherited): -1

37、S&ve format: ArrayVLoe fised-poiM dat右行與 a fi object在命令窗口看到的運行結果為(輸出序列長短與運行時間有關):>> simouiCans *Calumns 1 LhrDugji IBlOjOOlJJOlOOJlllCaluans 19 throigli 2E00100 J .11 O 14、利用m文件來實現(xiàn)編碼以下是產生(7, 4)漢明碼的程序function f=haniDiing&fLCod (a)G1 0 0 0 1 0 J :0 1 0 0 J 1 1 0 0 J 0 1 1 0:0 0 0 1 0 J 1:陶 E4) 漢明碼的生成矩陣 inpmL C輸入。或L':肌=D則產生7.。漢明碼,產1則對輸入,序列進行編碼if

溫馨提示

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

評論

0/150

提交評論