計(jì)算機(jī)通信課設(shè)157循環(huán)碼的編碼與譯碼_第1頁(yè)
計(jì)算機(jī)通信課設(shè)157循環(huán)碼的編碼與譯碼_第2頁(yè)
計(jì)算機(jī)通信課設(shè)157循環(huán)碼的編碼與譯碼_第3頁(yè)
計(jì)算機(jī)通信課設(shè)157循環(huán)碼的編碼與譯碼_第4頁(yè)
計(jì)算機(jī)通信課設(shè)157循環(huán)碼的編碼與譯碼_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、*實(shí)踐教學(xué)蘭州理工大學(xué)計(jì)算機(jī)與通信學(xué)院2013年秋季學(xué)期計(jì)算機(jī)通信課程設(shè)計(jì)題目:(15,7)循環(huán)碼的編譯碼方法專(zhuān)業(yè)班級(jí):通信工程(1 )班姓名:學(xué)號(hào):指導(dǎo)教師:績(jī):本課程設(shè)計(jì)主要是通過(guò)分析查閱(n,k)循環(huán)碼的編碼方法,在 MATLAB 境下設(shè)計(jì)了對(duì)(15,7)循環(huán)碼編譯碼方法的仿真,首先設(shè)計(jì)了對(duì)任意(15, 7)循環(huán)碼的編譯碼,然后使一個(gè)經(jīng)過(guò)(15, 7)循環(huán)碼編碼的信號(hào)序列通過(guò)高斯信 道,再對(duì)譯碼后的序列進(jìn)行誤碼分析,加深對(duì)循環(huán)碼的了解。關(guān)鍵詞:(15,7 )循環(huán)碼;高斯噪聲;matlab目錄、八前 言 一、循環(huán)碼編碼 1.1 信道編碼理論 1.1.1 信道編碼的目的 1.1.2 信道編碼

2、的實(shí)質(zhì) 1.1.3 信道編碼公式 1.1.4 線(xiàn)性分組碼的編譯碼原理 循環(huán)碼介紹 循環(huán)碼定義 循環(huán)碼的特點(diǎn) (n .k )循環(huán)碼的碼多項(xiàng)式表示 (n,k)循環(huán)碼的生成多項(xiàng)式與生成矩陣.(n ,k)循環(huán)碼的校驗(yàn)多項(xiàng)式與一致校驗(yàn)矩陣1.21.2.11.2.21.2.31.2.41.31.41.51.61.2.5循環(huán)碼編碼原理 循環(huán)碼的最小碼距 循環(huán)碼的糾檢錯(cuò)能力 循環(huán)碼的糾錯(cuò)譯碼原理 101011二、(15,7)循環(huán)碼程序設(shè)計(jì) 循環(huán)碼仿真模塊 循環(huán)碼譯碼仿真模塊 循環(huán)碼在高斯信道下的誤碼性能仿真模塊12152.1(15,7)2.2(15,7)2.3(15,7) 三、設(shè)計(jì)與仿真151616173.1

3、 仿真設(shè)備3.2173.33.4 總結(jié) 參考文獻(xiàn) 附錄 致謝 15,7)循環(huán)碼的編碼 15,7)循環(huán)碼的譯碼 15,7)循環(huán)碼在高斯信道下的誤碼性能17171922202128、八前言隨著社會(huì)經(jīng)濟(jì)的迅速發(fā)展和科學(xué)技術(shù)的全面進(jìn)步,計(jì)算機(jī)事業(yè)的飛速發(fā)展,以計(jì)算機(jī)與通信技術(shù)為基礎(chǔ)的信息系統(tǒng)正處于蓬勃發(fā)展的時(shí)期。 隨著經(jīng)濟(jì)文 化水平的顯著提高, 人們對(duì)生活質(zhì)量及工作軟件的要求也越來(lái)越高。 在計(jì)算機(jī)通 信信息碼中循環(huán)碼是線(xiàn)性分組碼的一個(gè)重要子集,是目前研究得最成熟的一類(lèi)碼。它有許多特殊的代數(shù)性質(zhì),它使計(jì)算機(jī)通信以一種以數(shù)據(jù)通信形式出現(xiàn), 實(shí)現(xiàn)了在計(jì)算機(jī)與計(jì)算機(jī)之間或計(jì)算機(jī)與終端設(shè)備之間進(jìn)行有效的與正確

4、地信息傳遞,它使得現(xiàn)代通信的可靠性與有效性實(shí)現(xiàn)了質(zhì)的飛躍。它是現(xiàn)代計(jì)算機(jī)技術(shù)與通信技術(shù)飛速發(fā)展的產(chǎn)物,在日常生活通信領(lǐng)域、武器控 制系統(tǒng)等領(lǐng)域都被廣泛應(yīng)用。15、循環(huán)碼編碼1.1信道編碼理論1.1.1信道編碼的目的在數(shù)字通信系統(tǒng)中由于信道內(nèi)存在加性噪聲及信道傳輸特性不理想等容易 造成碼間串?dāng)_同時(shí)多用戶(hù)干擾、多徑傳播和功率限制等也導(dǎo)致錯(cuò)誤譯碼。 為了確 保系統(tǒng)的誤比特率指標(biāo)通常采用信道編碼。 信道編碼是為了保證信息傳輸?shù)目煽?性、提高傳輸質(zhì)量而設(shè)計(jì)的一種編碼。它是在信息碼中增加一定數(shù)量的多余碼元, 使碼字具有一定的抗干擾能力。1.1.2信道編碼的實(shí)質(zhì)信道編碼的實(shí)質(zhì)就是在信息碼中增加一定數(shù)量的多余

5、碼元(稱(chēng)為監(jiān)督碼 元),使它們滿(mǎn)足一定的約束關(guān)系,這樣由信息碼元和監(jiān)督碼元共同組成一個(gè)由 信道傳輸?shù)拇a字。舉例而言,欲傳輸k位信息,經(jīng)過(guò)編碼得到長(zhǎng)為n(nk)的碼字, 則增加了 n- k = r位多余碼元,我們定義 R = k / n為編碼效率。1.1.3信道編碼公式令信息速率為fb,經(jīng)過(guò)編碼以后的速率為ft,定義:R = fb/ft為編碼率。則 對(duì)于任何一個(gè)信道,總存在一個(gè)截止速率R0,只要R R0,總可以達(dá)到:BER CR2-nRO,其中CR為某個(gè)常數(shù),n為編碼的約束長(zhǎng)度。 對(duì)于等概二進(jìn)碼、AWGN信道,有:Ro1log2(1 eRoEb /No)(1-1)且N。(1 Ro)(1-2)1.

6、1.4線(xiàn)性分組碼的編譯碼原理1、 線(xiàn)性分組碼的基本概念即將 k 維 k 重信息空間的元素線(xiàn)性映射到 n的 k 維 n 重子空間(碼空間)。一個(gè)n , k線(xiàn)性分組碼, 是把信息劃成k個(gè)碼元為一段(稱(chēng)為信息組), 通過(guò)編碼器變成長(zhǎng)為n個(gè) 碼元的一組,作為n,k線(xiàn)性分組碼的一個(gè)碼字。 若每位碼元的取值有q種(q為素?cái)?shù)幕),則共有qk個(gè)碼字。n長(zhǎng)的數(shù)組共有q 組,在二進(jìn)制情況下,有2n個(gè)數(shù)組。顯然,qn個(gè)n維數(shù)組(n重)組成一個(gè)GF(q) 上的n維線(xiàn)性空間。如果qk(或2k)個(gè)碼字集合構(gòu)成了一個(gè)k維線(xiàn)性子空間,則 稱(chēng)它是一個(gè)n , k線(xiàn)性分組碼。 維 n 重矢量空間(接收矢量 / 收碼)2、生成矩陣和

7、校驗(yàn)矩陣生成矩陣:G稱(chēng)為生成矩陣,因?yàn)榭梢杂盟a(chǎn)生整個(gè)碼組A,即有100011101001100010101(1-3)0001011Aa6a5a 4a3a2a1a0a6a5a4a3 G1-4)由典型生生成矩陣的性質(zhì):具有 IkQ 形式的生成矩陣稱(chēng)為典型生成矩陣。成矩陣得出的碼組A中,信息位的位置不變,監(jiān)督位附加于其后。這種形式的碼 組稱(chēng)為系統(tǒng)碼。矩陣G的各行也必須是線(xiàn)性無(wú)關(guān)的。如果已有 k個(gè)線(xiàn)性無(wú)關(guān)的 碼組,則可以將其用來(lái)作為生成矩陣 G,并由它生成其余碼組。監(jiān)督矩陣:1110100H1101010PI r10110011-5)監(jiān)督矩陣可用來(lái)校驗(yàn)和糾錯(cuò)。此外還具1.2 循環(huán)碼介紹循環(huán)碼是線(xiàn)性分

8、組碼的一種, 所以它具有線(xiàn)性分組碼的一般特性, 有循環(huán)性。循環(huán)碼的編碼和解碼設(shè)備都不太復(fù)雜,且檢 (糾)錯(cuò)能力強(qiáng)。它不但可以檢測(cè)隨機(jī)的錯(cuò)誤,還可以檢錯(cuò)突發(fā)的錯(cuò)誤。(n,k)循環(huán)碼可以檢測(cè)長(zhǎng)為n-k或 更短的任何突發(fā)錯(cuò)誤,包括首尾相接突發(fā)錯(cuò)誤。循環(huán)碼是一種無(wú)權(quán)碼,循環(huán)碼編排的特點(diǎn)是相鄰兩個(gè)數(shù)碼之間符合卡諾圖中的鄰接條件, 即相鄰兩個(gè)數(shù)碼之間只有一位碼元不同, 碼元就是組成數(shù)碼的單 元。符合這個(gè)特點(diǎn)的有多種方案, 但循環(huán)碼只能是表中的那種。 循環(huán)碼的優(yōu)點(diǎn)是 沒(méi)有瞬時(shí)錯(cuò)誤, 因?yàn)樵跀?shù)碼變換過(guò)程中, 在速度上會(huì)有快有慢, 中間經(jīng)過(guò)其它一 些數(shù)碼形式, 稱(chēng)它們?yōu)樗矔r(shí)錯(cuò)誤。 這在某些數(shù)字系統(tǒng)中是不允許的,

9、 為此希望相 鄰兩個(gè)數(shù)碼之間僅有一位碼元不同, 即滿(mǎn)足鄰接條件,這樣就不會(huì)產(chǎn)生瞬時(shí)錯(cuò)誤。循環(huán)碼就是這樣一種編碼, 它可以在卡諾圖中依次循環(huán)得到。 循環(huán)碼又稱(chēng)格雷碼Grey Code )。循環(huán)碼是采用循環(huán)移位特性界定的一類(lèi)線(xiàn)性分組碼。是線(xiàn)性分組碼 的一個(gè)重要子類(lèi);BCH碼是其主要的一大類(lèi);漢明碼、R-M碼、Golay 碼、RS碼等可變換;納入循環(huán)碼內(nèi),Goppa碼的一個(gè)子類(lèi)也屬于循環(huán) 碼;用反饋線(xiàn)性移位寄 存器可以容易的實(shí) 現(xiàn)其 編碼和得到伴隨式;由于 數(shù)學(xué)上的特性,譯碼方法簡(jiǎn)單。1.2.1循環(huán)碼定義設(shè)C使某(n,k)線(xiàn)性分組碼的碼字集合,如果對(duì)任何n3C (Cn i,Cn 2, ,C0)C,它

10、的循環(huán)移位 C(Cn2,Cn3,J 也屬于 C。該碼在 結(jié)構(gòu)上有另外的限 制,即一個(gè)碼字任 意循環(huán)移位的 結(jié)果 仍是一個(gè)有效碼字。1.2.2循環(huán)碼的特點(diǎn)循環(huán)碼有兩個(gè)數(shù)學(xué)特征:(1) 線(xiàn)性分組碼 的封閉型;(2) 循環(huán)性,即 任一許用碼組經(jīng)過(guò)循環(huán)移 位后所得到的 碼組 仍為 該許用碼組 集合中 的 一個(gè) 碼組 。如:a 1 a 0 為 一 循 環(huán) 碼 組 , 則a n 3 a n 4a n 1 a n 2、還是許用碼 組。也 就是說(shuō),不論是左移 還是右移,也 不論移 多少位,仍然是 許用的 循環(huán) 碼組。a n 2 a n 3 a 0 a n 11.2.3 (n.k )循環(huán)碼的碼多項(xiàng)式表示為了用代

11、數(shù)理論研究循環(huán)碼, 可將碼組用多項(xiàng)式表示, 設(shè)碼長(zhǎng)為 n 的循環(huán)碼其中 ai 為二進(jìn)制數(shù), 通常把碼組中各碼元當(dāng)做二進(jìn)制的系數(shù), 即把上式中長(zhǎng)為 n 的各個(gè)分量看做多項(xiàng)表示為( an 1 an 2 ai a1a0 ),式的各項(xiàng)系數(shù),:n 1n 2T x an 1xan 2 xniaixa1 x a01-6)則碼字與碼多項(xiàng)式一一對(duì)應(yīng),這種多項(xiàng)式稱(chēng)為碼多項(xiàng)式。式中,x的幕次是碼元位置的標(biāo)記。若把一個(gè)碼組左移i 位后的碼組記為,其碼多項(xiàng)式為A(an 1 ian 2 i .a n i 1an i )(1-7)(i )n 1n 2A (x) an 1 ixan i 2xani x an i(1-8)A(

12、i) (x) 可以根據(jù) xiA(x) 按模 xn+1 運(yùn)算得到,即A ( i ) ( x ) x i A ( x(1)-m9)od( xn1)xiA(x) Q ( x )( x n dOA(X)式中,Q(x)為xA(x)除以xn+1的商式,而xiA(x)等于A (x)被x+1除得之余式。124(n,k)循環(huán)碼的生成多項(xiàng)式與生成矩陣(n,k)循環(huán)碼的生成多項(xiàng)式寫(xiě)為g(x),它是(n,k)循環(huán)碼碼集中唯一的,幕次為 n-k的碼多項(xiàng)式,則xkg(x)是個(gè)幕次為n的碼多項(xiàng)式。按模(xn 1)運(yùn)算,此時(shí):Q(x) 3n(1-11)且因運(yùn)算后的xkg(x)R(x)(1-12)kx余式”也是循環(huán)碼的一個(gè)碼字

13、,它必能被g(x)整除,即:g(x)也是n階幕,故Q(x)=1。由于它是循環(huán)碼,故xkg(x)按模(xn 1)R(x)g(x)F(x)(1-13)由以上兩式可以得到:xkg(x) Q(x)(xn1)R(x) (xn 1) f(x)g(x)(1-14)xnxkf(x)g(x) h(x)g(x)(1-15)從上式中可以看出,生成多項(xiàng)式g(x)應(yīng)該是xn 1的一個(gè)因式,即循環(huán)碼多1的一個(gè)n-k次因式。項(xiàng)式應(yīng)該是xn根據(jù)各碼組集合中生成多項(xiàng)式的唯一性,可以構(gòu)造生成矩陣G由于g(x)的次數(shù)為n-k,貝U g(x),xg(x),x k1 g(x)都是碼多項(xiàng)式,而且線(xiàn)性無(wú)關(guān),因此 以這 k 各多項(xiàng)式對(duì)應(yīng)的碼

14、組作為 k 行就能構(gòu)成該循環(huán)碼的生成矩陣, 因此循環(huán)碼 的生成矩陣多項(xiàng)式可以寫(xiě)成k1x g(x)(1-16)G(x) . .xg(x)g(x)本課程設(shè)計(jì)要求完成任意( 15,7)循環(huán)碼的編碼和譯碼,其中給出的生成多項(xiàng)式為: g(x)=x8+x7+x6+x4+1則生成矩陣G為g(x)升幕排列時(shí)的G為G01-17)對(duì)式(1.1.12 )作線(xiàn)性變換, 整理成典型形式的系統(tǒng)生成矩陣0Gs 01-18 )1若信息碼元與式 (1.1.13 )相乘,得到的就是系統(tǒng)循環(huán)碼。1.2.5 (n,k) 循環(huán)碼的校驗(yàn)多項(xiàng)式與一致校驗(yàn)矩陣如前所述,在(n,k)循環(huán)碼中,由于g(x)能除盡,因此xn+1可分解成g(x)

15、和其他因式的乘積,記為(1-19)n +1=g(x)h(x)即可寫(xiě)成h(x)= xn +1/g(x)(1-20)由于g(x)是常數(shù)項(xiàng)為1的r次多項(xiàng)式,所以h(x)必為k次多項(xiàng)式。稱(chēng)h(x) 為監(jiān)督多項(xiàng)式或一致校驗(yàn)多項(xiàng)式,與式(3.18 )給出的G(x)相對(duì)應(yīng),監(jiān)督矩陣 多項(xiàng)式可表示為xr 1h* (x)H(x)(1-21)xh* (x) h*(x)g(x)=x8+x7+x6+x4+1,校驗(yàn)多項(xiàng)式為h(x)=x7+x6+x4+1,所以校式中,h*(x)式h(x)的逆多項(xiàng)式。在本課程設(shè)計(jì)中,由于生成多項(xiàng)式為:h(x)= xn +1/g(x) ,因此可由長(zhǎng)除法求得校驗(yàn)多項(xiàng)式為 驗(yàn)矩陣 H 為H00(

16、1-22)對(duì)式( 1-22 )作線(xiàn)性變換,整理成系統(tǒng)一致校驗(yàn)矩陣Hs01(1-23 )1.3 循環(huán)碼編碼原理m0 ,其中最高冪次為 k-1;有信息碼構(gòu)成信息多項(xiàng)式 m(x) mk 1xk 1用xn k乘以信息多項(xiàng)式m(x),得到的xnkm(x),最高幕次為n-1,該過(guò)程相當(dāng)于把信息碼( mk 1 , mk 2,mi, m。)移位到了碼字德前k個(gè)信息位,其后是r個(gè)全為零的監(jiān)督位;用g(x)除xn km(x)得到余式r(x),其次數(shù)必小于g(x)的次數(shù),即小于(n-k),將此 r(x) 加于信息位后做監(jiān)督位,即將r(x)于xn km(x)相加,得到的多項(xiàng)式必為一碼多項(xiàng)式。循環(huán)碼的編譯碼過(guò)程如下:編

17、碼過(guò)程第一步第二步第三步將信息碼字表示為nk將 xn km x 與 g 編碼結(jié)果為 c xm x ,其最高次冪為 k 1; 求模得出相應(yīng)的余式 r x nkx m x r x。1.4 循環(huán)碼的最小碼距一個(gè)線(xiàn)性碼的兩個(gè)碼字之間的最小距離等于任何非零碼字的最小 漢明重量。已知線(xiàn)性分組碼的生成矩陣G,因?yàn)橐a(chǎn)生系統(tǒng)碼,而給定的生成矩陣不 是典型生成矩陣,因此首先要將 G通過(guò)一系列初等行變換,變?yōu)榈湫蜕删仃嚒?然后利用碼組矩陣A等于信息矩陣C與典型生成矩陣G的乘積,將所得的矩陣A按 照異或運(yùn)算的規(guī)則進(jìn)行相應(yīng)的處理,即可求得所有的生成碼字矩陣A( A中每一行為一個(gè)生成碼字),將生成碼字矩陣A的每一行與

18、其他行進(jìn)行比較,如果對(duì)應(yīng) 值相同則為0,不同則為1,將比較所得的結(jié)果保留在一個(gè)與A矩陣列數(shù)相同的矩 陣M中,再對(duì)M中的所有行求和,則得到任意兩個(gè)碼字的漢明距離 S,對(duì)所得結(jié) 果S求最小值,即得到最小漢明距離。由生成矩陣可得本課程設(shè)計(jì)中( 15,7)循 環(huán)碼的最小碼距為5。1.5循環(huán)碼的糾檢錯(cuò)能力由于循環(huán)碼是一種線(xiàn)性分組碼,所以其糾檢錯(cuò)能力與線(xiàn)性分組碼相當(dāng)。 而線(xiàn) 性分組碼的最小距離可用來(lái)衡量碼的抗干擾能力,那么一個(gè)碼的最小距離就與它 的糾檢錯(cuò)能力有關(guān)。定理:對(duì)于任-一個(gè)(n,k)線(xiàn)性分組碼,若要在碼字內(nèi)(1)檢測(cè)巳個(gè)錯(cuò)誤,要求碼的最小距離de 1 ;(2)糾正t個(gè)錯(cuò)誤,要求碼的最小距離d2t

19、1 ;(3)糾正t個(gè)錯(cuò)誤同時(shí)檢測(cè)包(t)個(gè)錯(cuò)誤,則要求dt e1 ;循環(huán)碼的譯碼分檢錯(cuò)譯碼與糾錯(cuò)譯碼兩類(lèi)。在無(wú)記憶信道上,對(duì)碼字C,差錯(cuò)圖案e和接收向量r的多項(xiàng)式描述為r(x) c(x) e(x)(1-24 )定義r(X)的伴隨多項(xiàng)式為s(x)s(x) r(x) (mod g(x)2So Six S2Xr 1Sr 1X(1-25)由于 c(x) a(x)g(x) O(modg(x),所以s(x) e(x)(mod g(x)(1-26 )由此可見(jiàn),s(x) 0則一定有差錯(cuò)產(chǎn)生,或說(shuō)滿(mǎn)足e(x)(mod g(x)0的差錯(cuò)圖樣e(x)產(chǎn)生,它滿(mǎn)足e(x)(mod g(x)0。(1-27)循環(huán)碼的檢錯(cuò)

20、譯碼即是計(jì)算 s(x) 并判斷是否為 01.6 循環(huán)碼的糾錯(cuò)譯碼原理糾錯(cuò)碼的譯碼是該編碼能否得到實(shí)際應(yīng)用的關(guān)鍵所在。譯碼器往往比編碼較難實(shí)現(xiàn),對(duì)于糾錯(cuò)能力強(qiáng)的糾錯(cuò)碼更復(fù)雜。根據(jù)不同的糾錯(cuò)或檢錯(cuò)目的,循環(huán)碼譯碼器可分為用于糾錯(cuò)目的和用于檢錯(cuò)目的的循環(huán)碼譯碼器。通常,將接收到的循環(huán)碼組進(jìn)行除法運(yùn)算,如果除盡,則說(shuō)明正確傳輸;如果未除盡,則在寄存器中的內(nèi)容就是錯(cuò)誤圖樣,根據(jù)錯(cuò)誤圖樣可以確定一種邏輯,來(lái)確定差錯(cuò)的位置,從而達(dá)到糾錯(cuò)的目的。用于糾錯(cuò)目的的循環(huán)碼的譯碼算法比較復(fù)雜。當(dāng)碼字 c 通過(guò)噪聲信道傳送時(shí),會(huì)受到干擾而產(chǎn)生錯(cuò)誤。如果信道產(chǎn)生的錯(cuò)誤圖樣是e,譯碼器收到的n重接受矢量是y,則表示為:1-

21、28)上式也可以寫(xiě)成多項(xiàng)式形式:y(x) c(x) e(x)1-29)譯碼器的任務(wù)就是從y(x)中得到e(X),然后求的估值碼字c(x) y(x) e(x)1-30)并從中得到信息組 m(x) 。循環(huán)碼的譯碼過(guò)程:第一步:由接收到的y(x)計(jì)算伴隨式s(x);第二步:根據(jù)伴隨式s(x)找出對(duì)應(yīng)的估值錯(cuò)誤圖樣e(x); 第三步:A計(jì)算 c(x) y(x) e(x),得到估計(jì)碼字 c(x)。若 c(x) c(x), 則譯碼正確,否則,若 c(x) c(x),則譯碼錯(cuò)誤。由于g(x)的次數(shù)為n - k次,g(x)除E(x)后得余式(即伴隨式)的最高次 數(shù)為n-k-1次,故S(x)共有2n-k個(gè)可能的

22、表達(dá)式,每一個(gè)表達(dá)式對(duì)應(yīng)一個(gè)錯(cuò)誤 格式??梢灾?15,7)循環(huán)碼的S(x)共有2(15-7)= 256個(gè)可能的表達(dá)式。本課程設(shè)計(jì)中米用(15,7)循環(huán)碼由生成矩陣可得其最小碼距dmin為5由最小碼距可得其糾檢錯(cuò)能力可知其最多可檢 4位錯(cuò),可糾2位錯(cuò)。其伴隨式如表1-1所示。表1-1( 15,7)循環(huán)碼錯(cuò)誤圖樣表錯(cuò)誤圖樣伴隨式糾錯(cuò)e=0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s=0 0 0 0 0 0 0 0無(wú)錯(cuò)e=0 0 0 0 0 0 0 0 0 0 0 0 0 0 1s=1 0 0 0 0 0 0 0第一位錯(cuò)e=0 0 0 0 0 0 0 0 0 0 0 0 0 1 0s

23、=0,1,0,0,0,0,0,0第二位錯(cuò)e=0 0 0 0 0 0 0 0 0 0 0 0 1 0 0s=0,0,1,0,0,0,0,0第三位錯(cuò)e=0 0 0 0 0 0 0 0 0 0 0 1 0 0 0s=0,0,0,1,0,0,0,0第四位錯(cuò)e=0 0 0 0 0 0 0 0 0 0 1 0 0 0 0s=1,0,0,0,1,0,0,0第五位錯(cuò)e=0 0 0 0 0 0 0 0 0 1 0 0 0 0 0s=0,1,0,0,0,1,0,0第六位錯(cuò)e=0 0 0 0 0 0 0 0 1 0 0 0 0 0 0s=1,0,1,0,0,0,1,0第七位錯(cuò)e=00 0 0 0 0 0 10 0

24、0 0 0 0 0s=1,1,0,1,0,0,0,1第八位錯(cuò)e=0 0 0 0 0 0 1 0 0 0 0 0 0 0 0s=0,1,1,0,1,0,0,0第九位錯(cuò)e=0 0 0 0 0 1 0 0 0 0 0 0 0 0 0s=0,0,1,1,0,1,0,0第十位錯(cuò)e=0 0 0 0 1 0 0 0 0 0 0 0 0 0 0s=0,0,0,1,1,0,1,0第十一位錯(cuò)e=0 0 0 1 0 0 0 0 0 0 0 0 0 0 0s=0,0,0,0,1,1,0,1第十二位錯(cuò)e=0 0 1 0 0 0 0 0 0 0 0 0 0 0 0s=0,0,0,0,0,1,1,0第十三位錯(cuò)e=0 1 0

25、 0 0 0 0 0 0 0 0 0 0 0 0s=0,0,0,0,0,0,1,1第十四位錯(cuò)e=1 0 0 0 0 0 0 0 0 0 0 0 0 0 0s=0,0,0,0,0,0,0,1第十五位錯(cuò)上式指出了系統(tǒng)循環(huán)碼的譯碼方法:將收到的碼字R(x)用g(x)去除,如果除盡則無(wú)錯(cuò);否則有錯(cuò)。如果有錯(cuò),可由余式 S(x) 一一找出對(duì)應(yīng)圖樣,然后將 錯(cuò)誤圖樣E(x)與R(x)模2和,即為所求碼字C(x),從而實(shí)現(xiàn)糾錯(cuò)目的。(15,7)循環(huán)碼程序設(shè)計(jì)本設(shè)計(jì)分為三大模塊:(15,7)循環(huán)碼仿真模塊、(15,7)循環(huán)碼譯碼仿真模塊、(15,7)循環(huán)碼誤碼性能分析模塊2.1 (15,7 )循環(huán)碼仿真模塊按

26、照循環(huán)碼的編碼原理設(shè)計(jì)流程圖如下圖2-1( 15,7)循環(huán)碼編碼程序流程圖2.2 (15,7)循環(huán)碼譯碼仿真模塊可得(15, 7)循環(huán)碼譯碼的程序框圖如圖2.3.1所示:由接收信號(hào)r確定伴隨式S: s=r*h否由S確定錯(cuò)誤圖樣e否S是否為0盧糾錯(cuò)Cer1輸出碼字c結(jié)束圖2-2( 15,7)循環(huán)碼譯碼程序流程圖2.3( 15,7 )循環(huán)碼在高斯信道下的誤碼性能仿真模塊信號(hào)源(15,7)循環(huán)(15,7)循環(huán)誤碼分碼編碼碼譯碼廣加入不同信噪比的高斯白噪聲圖2-3( 15,7 )循環(huán)碼在高斯信道下的誤碼性能三、設(shè)計(jì)與仿真3.1仿真設(shè)備裝有MATLAB的PC機(jī)一臺(tái)3.2 (15,7)循環(huán)碼的編碼在MAT

27、LAB環(huán)境下實(shí)現(xiàn)對(duì)任意碼的編碼Command Window情輸入消懇矢fi: 11100 輸入庫(kù)列;019漏碼輸出序別:圖3-1(15,7)循環(huán)碼的編碼程序仿真結(jié)果圖由上圖可看出,本程序?qū)崿F(xiàn)了對(duì)任意輸入消息進(jìn)行(15,7)循環(huán)碼的編碼。如上圖輸入 a=1 1 1 0 0 0 0,編碼輸出 b= 1 0 1 0 0 1 1 0 1 1 1 0 0 0 03.3 ( 15,7)循環(huán)碼的譯碼在MATLAB環(huán)境下實(shí)現(xiàn)對(duì)任意碼的編碼(1)將3.2中編出的碼字輸入譯碼程序中可得匚omrnand V/iRdcw3Cl 0 ID 0Data =圖3-2(15,7)循環(huán)碼的譯碼程序仿真結(jié)果圖由上圖可以看出,用編

28、出的碼字譯碼,沒(méi)有錯(cuò)誤,正確譯出原碼。驗(yàn)證了譯 碼程序的正確性。(2) 將3.2中編出的碼字改變一位作為譯碼程序的輸入,譯碼程序仿真輸 出為中可得3rsIc =WSB?譯陽(yáng)嘯土庁列:Dara =圖3-3(15,7)循環(huán)碼的糾一位錯(cuò)程序仿真結(jié)果圖由上圖可以看出本程序可以正確糾正一位錯(cuò)碼。3.4 ( 15,7)循環(huán)碼在高斯信道下的誤碼性能編碼器輸入信號(hào)編碼器輸出信號(hào)譯碼器輸出信號(hào)頻譜圖圖3-4信源產(chǎn)生的序列及無(wú)噪輸出序列循環(huán)碼在不同信噪比下的誤碼率誤碼率率碼誤的下聲噪白斯高性加在1012圖 3-5 循環(huán)碼在不同信噪比下的誤碼率分析總結(jié)本課程設(shè)計(jì)主要是通過(guò)分析查閱(n, k)循環(huán)碼的編碼方法,在 M

29、ATLAB 境下設(shè)計(jì)了對(duì)( 15,7)循環(huán)碼編譯碼方法的仿真,首先設(shè)計(jì)了對(duì)任意( 15, 7) 循環(huán)碼的編譯碼,然后使一個(gè)經(jīng)過(guò)( 15, 7)循環(huán)碼編碼的信號(hào)序列通過(guò)高斯信 道,再對(duì)譯碼后的序列進(jìn)行誤碼分析。通過(guò)本次課程設(shè)計(jì),是我掌握了( 15,7 )循環(huán)碼的編譯碼方法,并求出該碼 的最小碼距及糾檢錯(cuò)能力, 通過(guò)觀(guān)察該碼通過(guò)高斯信道后的仿真結(jié)果, 并參考其 他編碼方法,可發(fā)現(xiàn)循環(huán)碼糾檢錯(cuò)能力強(qiáng)。此次課程設(shè)計(jì)成功實(shí)現(xiàn)了對(duì)任意 (15,7 )循環(huán)碼的編譯碼, 以及該碼在高斯 信道下的誤碼性能分析,完成了本次課程設(shè)計(jì)的要求。通過(guò)此次課程設(shè)計(jì)不僅加深了我對(duì)課程理論的了解,并更加熟悉了 MATLAB 語(yǔ)

30、言,而且它讓我了解了學(xué)習(xí)知識(shí)不僅在課本上, 還有更多更廣的渠道獲得知識(shí)。31參考文獻(xiàn)1 BELLO. P. A. Characterization of randomly time variant lin2ear channelsJ . IEEE Trans. Communications Systems , 1963 ,11 (4) :360 - 393.2 CLARKE,R. H.A statistical theory of mobile radio receptionJ . Bell Systems Technical Joumal ,1968 ,47 (6) : 957 - 1000

31、.3 樊昌信,曹麗娜編著,通信原理,北京:國(guó)防工業(yè)出版社,2010: 73-844樊昌信,通信原理,北京:國(guó)防工業(yè)出版社, 2002:70-80:67-905曹志剛等著,現(xiàn)代通信原理,北京:清華大學(xué)出版社,2001.5。:65-786吳偉陵等著,移動(dòng)通信原理,北京:電子工業(yè)出版社,2005:30-57-MATLAB 通信工具箱,西安:西安7.李建新,現(xiàn)代通信系統(tǒng)分析與仿真 電子科技大學(xué)出版社, 2000:13-458潘子宇, Matlab 通信仿真設(shè)計(jì)指導(dǎo)書(shū),南京工程學(xué)院, 2011:24-369劉敏, MATLAB 通信仿真與應(yīng)用,北京:國(guó)防工業(yè)出版社: 56-60源程序代碼如下1.(15,

32、7)循環(huán)碼的編碼clear;clc;a=input( 請(qǐng)輸入消息矢量: );%高次項(xiàng)系數(shù)在前的生成多項(xiàng)式Gx=1 0 0 0 1 0 1 1 1;%將數(shù)組a的高位依次放在數(shù)組Data的低位Data=zeros(1,15);Data(1)=a(7);Data(2)=a(6);Data(3)=a(5);Data(4)=a(4);Data(5)=a(3);Data(6)=a(2);Data(7)=a(1);%Data 除以 Gx 得到余數(shù) Rx Qx,Rx=deconv(Data,Gx);b=Rx+Data;%將數(shù)組 b 的高位放在后面c=b(1); b(1)=b(15); b(15)=c;c=b(

33、2); b(2)=b(14); b(14)=c;c=b(3); b(3)=b(13); b(13)=c;c=b(4); b(4)=b(12); b(12)=c;c=b(5); b(5)=b(11); b(11)=c;c=b(6); b(6)=b(10); b(10)=c;c=b(7); b(7)=b(9); b(9)=c;%將數(shù)組 b 校正for i=1:15if rem(abs(b(i),2)=0 b(i)=0;endendfor i=1:15if rem(abs(b(i),2)=1 b(i)=1;endenddis p(輸入序列:);dis p(編碼輸出序列:);2( 15,7)循環(huán)碼的編

34、碼 clear; clc; r= 1 0 0 0; h=1,0,0,0,0,0,0,0;1,1,0,0,0,0,0,0;0,1,1,0,0,0,0,0;1,0,1,1,0,0,0,0;0,1,0,1,1,0,0,0;0,0,1,0,1,1,0,0;0,0, 0,1,0,1,1,0;1,0,0,0,1,0,1,1;0,1,0,0,0,1,0,1;0,0,1,0,0,0,1,0;0,0,0,1,0,0,0,1;0,0,0,0,1,0,0,0;0,0,0,0,0,1, 0,0;0,0,0,0,0,0,1,0;0,0,0,0,0,0,0,1;b=flipud(h);s=r*b;for i=1:8if

35、rem(abs(s(i),2)=0 s(i)=0;endendfor i=1:8if rem(abs(s(i),2)=1 s(i)=1;endendif s=0 0 0 0 0 0 0 0e=0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; elseif s=1 0 0 0 0 0 0 0e=0 0 0 0 0 0 0 0 0 0 0 0 0 0 1;elseif s=1,1,0,0,0,0,0,0e=0 0 0 0 0 0 0 0 0 0 0 0 0 1 0;elseif s=0,1,1,0,0,0,0,0e=0 0 0 0 0 0 0 0 0 0 0 0 1 0 0;elsei

36、f s=1,0,1,1,0,0,0,0e=0 0 0 0 0 0 0 0 0 0 0 1 0 0 0;elseif s=0,1,0,1,1,0,0,0e=0 0 0 0 0 0 0 0 0 0 1 0 0 0 0;elseif s=0,0,1,0,1,1,0,0e=0 0 0 0 0 0 0 0 0 1 0 0 0 0 0;elseif s=0,0,0,1,0,1,1,0e=0 0 0 0 0 0 0 0 1 0 0 0 0 0 0;elseif s=1,0,0,0,1,0,1,1e=0 0 0 0 0 0 0 1 0 0 0 0 0 0 0;elseif s=0,1,0,0,0,1,0,1e

37、=0 0 0 0 0 0 1 0 0 0 0 0 0 0 0;elseif s=0,0,1,0,0,0,1,0e=0 0 0 0 0 1 0 0 0 0 0 0 0 0 0;elseif s=0,0,0,1,0,0,0,1e=0 0 0 0 1 0 0 0 0 0 0 0 0 0 0;elseif s=0,0,0,0,1,0,0,0e=0 0 0 1 0 0 0 0 0 0 0 0 0 0 0;elseif s=0,0,0,0,0,1,0,0e=0 0 1 0 0 0 0 0 0 0 0 0 0 0 0;elseif s=0,0,0,0,0,0,1,0e=0 1 0 0 0 0 0 0 0 0

38、 0 0 0 0 0;else s=0,0,0,0,0,0,0,1e=1 0 0 0 0 0 0 0 0 0 0 0 0 0 0; endu=r+e;for i=1:15if rem(abs(u(i),2)=0 u(i)=0;end endfor i=1:15if rem(abs(u(i),2)=1 u(i)=1;end endData=zeros(1,7);Data(1)=u(9);Data(2)=u(10);Data(3)=u(11);Data(4)=u(12);Data(5)=u(13);Data(6)=u(14);Data(7)=u(15);if e=0 0 0 0 0 0 0 0 0

39、 0 0 0 0 0 0disp(沒(méi)有錯(cuò)誤:)k=0,elsedis p(第幾位錯(cuò)誤:)k=find(e);enddisp(接收碼字)dis p(譯碼輸出序列:)n = 15;k = 7;msg = randint(k*4,1,2);%隨機(jī)提取信號(hào), 引起一致地分布的任Data3循環(huán)碼編碼與解碼Matlab 源程序(實(shí)驗(yàn)以( 7,4)循環(huán)碼進(jìn)行分析)%定義碼長(zhǎng) % 信息位長(zhǎng)code = encode(msg,n,k,cyclic,p);%編碼函數(shù), 對(duì)信號(hào)進(jìn)行差錯(cuò)編碼意整數(shù)矩陣subplot(2,2,1)stem(msg)titleC編碼器輸入信號(hào))p=cyclpoly(n,k)%循環(huán)碼生成多

40、項(xiàng)式, n=7, k=4subplot(2,2,2)stem(code)title(編碼器輸出信號(hào))recode=decode(code,n,k,cyclic,p)%對(duì)信號(hào)進(jìn)行譯碼, 對(duì)接收到的碼字進(jìn)行譯碼,恢復(fù)出原始的信息, 譯碼參數(shù)和方式必須和編碼時(shí)采用的嚴(yán)格相同subplot(2,2,3)stem(recode)title( 譯碼器輸出信號(hào) )t=-1:0.01:1;x=recode;%將 recode 賦值給 x ,并進(jìn)行長(zhǎng)度與 fft設(shè)定N=length(x);fx=fft(x);df=100/N;n=0:N/2;f=n*df;subplot(2,2,4);plot(f,abs(fx(n+1)*2/N); grid;title( 頻譜圖 )2、誤碼率與信噪比之間的關(guān)系程序(以(3, 2)循環(huán)碼進(jìn)行測(cè)試)n = 15;k = 7;%定義碼長(zhǎng) %信息位長(zhǎng)Fs=40; %系統(tǒng)采

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論