




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、2013年秋季學(xué)期計算機通信課程設(shè)計題 目: (15,7)循環(huán)碼的編譯碼方法 專業(yè)班級: 姓 名: 學(xué) 號: 指導(dǎo)教師: 成 績: 摘 要本課程設(shè)計主要是通過分析查閱(n,k)循環(huán)碼的編碼方法,在MATLAB環(huán)境下設(shè)計了對(15,7)循環(huán)碼編譯碼方法的仿真,首先設(shè)計了對任意(15,7)循環(huán)碼的編譯碼,然后使一個經(jīng)過(15,7)循環(huán)碼編碼的信號序列通過高斯信道,再對譯碼后的序列進行誤碼分析,加深對循環(huán)碼的了解。關(guān)鍵詞:QAM調(diào)制;瑞利衰落;matlab目 錄摘 要2目 錄3前 言1一、循環(huán)碼編碼21.1信道編碼理論2信道編碼的目的2信道編碼的實質(zhì)21.1.3 信道編碼公式2線性分組碼的編譯碼原理
2、31.2循環(huán)碼介紹4循環(huán)碼定義4循環(huán)碼的特點51.2.3 (n.k)循環(huán)碼的碼多項式表示51.2.4 (n,k)循環(huán)碼的生成多項式與生成矩陣61.2.5 (n,k)循環(huán)碼的校驗多項式與一致校驗矩陣71.3 循環(huán)碼編碼原理91.4循環(huán)碼的最小碼距91.5循環(huán)碼的糾檢錯能力91.6 循環(huán)碼的糾錯譯碼原理10二、(15,7)循環(huán)碼程序設(shè)計132.1(15,7)循環(huán)碼仿真模塊132.2(15,7)循環(huán)碼譯碼仿真模塊142.3(15,7)循環(huán)碼在高斯信道下的誤碼性能仿真模塊15三、設(shè)計與仿真163.1仿真設(shè)備163.2 (15,7)循環(huán)碼的編碼163.3 (15,7)循環(huán)碼的譯碼163.4 (15,7)
3、循環(huán)碼在高斯信道下的誤碼性能18總結(jié)19參考文獻20附 錄21致謝27前 言隨著社會經(jīng)濟的迅速發(fā)展和科學(xué)技術(shù)的全面進步,計算機事業(yè)的飛速發(fā)展,以計算機與通信技術(shù)為基礎(chǔ)的信息系統(tǒng)正處于蓬勃發(fā)展的時期。隨著經(jīng)濟文化水平的顯著提高,人們對生活質(zhì)量及工作軟件的要求也越來越高。在計算機通信信息碼中循環(huán)碼是線性分組碼的一個重要子集,是目前研究得最成熟的一類碼。它有許多特殊的代數(shù)性質(zhì),它使計算機通信以一種以數(shù)據(jù)通信形式出現(xiàn),實現(xiàn)了在計算機與計算機之間或計算機與終端設(shè)備之間進行有效的與正確地信息傳遞,它使得現(xiàn)代通信的可靠性與有效性實現(xiàn)了質(zhì)的飛躍。它是現(xiàn)代計算機技術(shù)與通信技術(shù)飛速發(fā)展的產(chǎn)物,在日常生活通信領(lǐng)域、
4、武器控制系統(tǒng)等領(lǐng)域都被廣泛應(yīng)用。一、循環(huán)碼編碼1.1信道編碼理論1.1.1信道編碼的目的在數(shù)字通信系統(tǒng)中由于信道內(nèi)存在加性噪聲及信道傳輸特性不理想等容易造成碼間串擾同時多用戶干擾、多徑傳播和功率限制等也導(dǎo)致錯誤譯碼。為了確保系統(tǒng)的誤比特率指標通常采用信道編碼。信道編碼是為了保證信息傳輸?shù)目煽啃浴⑻岣邆鬏斮|(zhì)量而設(shè)計的一種編碼。它是在信息碼中增加一定數(shù)量的多余碼元,使碼字具有一定的抗干擾能力。信道編碼的實質(zhì) 信道編碼的實質(zhì)就是在信息碼中增加一定數(shù)量的多余碼元(稱為監(jiān)督碼元),使它們滿足一定的約束關(guān)系,這樣由信息碼元和監(jiān)督碼元共同組成一個由信道傳輸?shù)拇a字。舉例而言,欲傳輸k位信息,經(jīng)過編碼得到長為n
5、(n>k)的碼字,則增加了 n - k = r 位多余碼元,我們定義 R = k / n 為編碼效率。 信道編碼公式 令信息速率為fb,經(jīng)過編碼以后的速率為ft,定義:Rfb/ft為編碼率。則對于任何一個信道,總存在一個截止速率R0,只要R<R0,總可以達到:BER<CR2-nR0,其中CR為某個常數(shù),n為編碼的約束長度。 對于等概二進碼、AWGN信道,有:1.1.4線性分組碼的編譯碼原理1、 線性分組碼的基本概念一個n ,k線性分組碼, 是把信息劃成k個碼元為一段(稱為信息組), 通過編碼器變成長為n個 碼元的一組, 作為n, k線性分組碼的一個碼字。 若每位碼元的取值有q
6、種(q為素數(shù)冪), 則共有qk個碼字。 n長的數(shù)組共有qn組, 在二進制情況下, 有2n個數(shù)組。 顯然, qn個n維數(shù)組(n重)組成一個GF(q)上的n維線性空間。 如果qk(或2k)個碼字集合構(gòu)成了一個k維線性子空間, 則稱它是一個n ,k線性分組碼。即將k維k重信息空間的元素線性映射到n維n重矢量空間(接收矢量/收碼) 的k維n重子空間(碼空間)。如下圖為7,3碼 2、生成矩陣和校驗矩陣 生成矩陣:G稱為生成矩陣,因為可以用它產(chǎn)生整個碼組A,即有生成矩陣的性質(zhì):具有IkQ形式的生成矩陣稱為典型生成矩陣。由典型生成矩陣得出的碼組A中,信息位的位置不變,監(jiān)督位附加于其后。這種形式的碼組稱為系統(tǒng)
7、碼。 矩陣G的各行也必須是線性無關(guān)的。如果已有k個線性無關(guān)的碼組,則可以將其用來作為生成矩陣G,并由它生成其余碼組。監(jiān)督矩陣:監(jiān)督矩陣可用來校驗和糾錯。1.2循環(huán)碼介紹循環(huán)碼是線性分組碼的一種,所以它具有線性分組碼的一般特性,此外還具有循環(huán)性。循環(huán)碼的編碼和解碼設(shè)備都不太復(fù)雜,且檢(糾)錯能力強。它不但可以檢測隨機的錯誤,還可以檢錯突發(fā)的錯誤。(n,k)循環(huán)碼可以檢測長為n-k或更短的任何突發(fā)錯誤,包括首尾相接突發(fā)錯誤。 循環(huán)碼是一種無權(quán)碼,循環(huán)碼編排的特點是相鄰兩個數(shù)碼之間符合卡諾圖中的鄰接條件,即相鄰兩個數(shù)碼之間只有一位碼元不同,碼元就是組成數(shù)碼的單元。符合這個特點的有多種方案,但循環(huán)碼只
8、能是表中的那種。循環(huán)碼的優(yōu)點是沒有瞬時錯誤,因為在數(shù)碼變換過程中,在速度上會有快有慢,中間經(jīng)過其它一些數(shù)碼形式,稱它們?yōu)樗矔r錯誤。這在某些數(shù)字系統(tǒng)中是不允許的,為此希望相鄰兩個數(shù)碼之間僅有一位碼元不同,即滿足鄰接條件,這樣就不會產(chǎn)生瞬時錯誤。循環(huán)碼就是這樣一種編碼,它可以在卡諾圖中依次循環(huán)得到。循環(huán)碼又稱格雷碼( Grey Code )。循環(huán)碼是采用循環(huán)移位特性界定的一類線性分組碼。是線性分組碼的一個重要子類;BCH碼是其主要的一大類;漢明碼、R-M碼、Golay碼、RS碼等可變換;納入循環(huán)碼內(nèi),Goppa碼的一個子類也屬于循環(huán)碼;用反饋線性移位寄存器可以容易的實現(xiàn)其編碼和得到伴隨式;由于數(shù)學(xué)
9、上的特性,譯碼方法簡單。1.2.1循環(huán)碼定義設(shè)C使某(n,k)線性分組碼的碼字集合,如果對任何,它的循環(huán)移位也屬于C。該碼在結(jié)構(gòu)上有另外的限制,即一個碼字任意循環(huán)移位的結(jié)果仍是一個有效碼字。循環(huán)碼的特點循環(huán)碼有兩個數(shù)學(xué)特征:(1) 線性分組碼的封閉型;(2) 循環(huán)性,即任一許用碼組經(jīng)過循環(huán)移位后所得到的碼組仍為該許用碼組集合中的一個碼組。如:若為一循環(huán)碼組,則、還是許用碼組。也就是說,不論是左移還是右移,也不論移多少位,仍然是許用的循環(huán)碼組。1.2.3 (n.k)循環(huán)碼的碼多項式表示為了用代數(shù)理論研究循環(huán)碼,可將碼組用多項式表示,設(shè)碼長為n的循環(huán)碼表示為(), 其中為二進制數(shù),通常把碼組中各碼
10、元當做二進制的系數(shù),即把上式中長為n的各個分量看做多項式的各項系數(shù),: (21)則碼字與碼多項式一一對應(yīng),這種多項式稱為碼多項式。式中,x的冪次是碼元位置的標記。若把一個碼組左移i位后的碼組記為,(3-4)其碼多項式為 (3-5)A(i)(x)可以根據(jù)xiA(x)按模xn+1運算得到,即 (3-6) (3-7)式中,Q(x)為xiA(x)除以xn+1的商式,而xiA(x)等于A(i)(x)被xn+1除得之余式。1.2.4 (n,k)循環(huán)碼的生成多項式與生成矩陣 (n,k)循環(huán)碼的生成多項式寫為g(x),它是(n,k)循環(huán)碼碼集中唯一的,冪次為n-k的碼多項式,則是一個冪次為n的碼多項式。按模(
11、)運算,此時: (22) 即 (23)且因 g(x)也是n階冪,故Q(x)=1。由于它是循環(huán)碼,故按模()運算后的“余式”也是循環(huán)碼的一個碼字,它必能被g(x)整除,即: (24)由以上兩式可以得到: (25)和 (26)從上式中可以看出,生成多項式g(x)應(yīng)該是的一個因式,即循環(huán)碼多項式應(yīng)該是的一個n-k次因式。根據(jù)各碼組集合中生成多項式的唯一性,可以構(gòu)造生成矩陣G。由于g(x)的次數(shù)為n-k,則g(x),xg(x),xk-1g(x)都是碼多項式,而且線性無關(guān),因此以這k各多項式對應(yīng)的碼組作為k行就能構(gòu)成該循環(huán)碼的生成矩陣,因此循環(huán)碼的生成矩陣多項式可以寫成 (3-12)本課程設(shè)計要求完成任
12、意(15,7)循環(huán)碼的編碼和譯碼,其中給出的生成多項式為:g(x)=x8+x7+x6+x4+1則生成矩陣G為g(x)升冪排列時的G為 ()對式()作線性變換,整理成典型形式的系統(tǒng)生成矩陣 ()若信息碼元與式()相乘,得到的就是系統(tǒng)循環(huán)碼。1.2.5 (n,k)循環(huán)碼的校驗多項式與一致校驗矩陣如前所述,在(n,k)循環(huán)碼中,由于g(x)能除盡,因此xn+1可分解成g(x)和其他因式的乘積,記為 xn +1=g(x)h(x) (3-16)即可寫成 h(x)= xn +1/g(x) (3-17)由于g(x)是常數(shù)項為1的r次多項式,所以h(x)必為k次多項式。稱h(x)為監(jiān)督多項式或一致校驗多項式,
13、與式(3.18)給出的G(x)相對應(yīng),監(jiān)督矩陣多項式可表示為 (3-18)式中,h*(x)式h(x)的逆多項式。在本課程設(shè)計中,由于生成多項式為:g(x)=x8+x7+x6+x4+1,校驗多項式為 h(x)= xn +1/g(x),因此可由長除法求得校驗多項式為h(x)=x7+x6+x4+1,所以校驗矩陣H為 (3-19) 對式(3-19)作線性變換,整理成典型形式的系統(tǒng)生成矩陣 (3-20 ) 1.3 循環(huán)碼編碼原理有信息碼構(gòu)成信息多項式,其中最高冪次為k-1;用乘以信息多項式m(x),得到的,最高冪次為n-1,該過程相當于把信息碼(,)移位到了碼字德前k個信息位,其后是r個全為零的監(jiān)督位;
14、用g(x)除得到余式r(x),其次數(shù)必小于g(x)的次數(shù),即小于(n-k),將此r(x)加于信息位后做監(jiān)督位,即將r(x)于相加,得到的多項式必為一碼多項式。循環(huán)碼的編譯碼過程如下:編碼過程第一步:將信息碼字表示為,其最高次冪為;第二步:將與求模得出相應(yīng)的余式;第三步:編碼結(jié)果為。1.4循環(huán)碼的最小碼距一個線性碼的兩個碼字之間的最小距離等于任何非零碼字的最小漢明重量。由生成矩陣可得本課程設(shè)計中(15,7)循環(huán)碼的最小碼距為5。1.5循環(huán)碼的糾檢錯能力由于循環(huán)碼是一種線性分組碼,所以其糾檢錯能力與線性分組碼相當。而線性分組碼的最小距離可用來衡量碼的抗干擾能力,那么一個碼的最小距離就與它的糾檢錯能
15、力有關(guān)。定理: 對于任一個線性分組碼,若要在碼字內(nèi)(1) 檢測個錯誤,要求碼的最小距離;(2) 糾正個錯誤,要求碼的最小距離;(3) 糾正個錯誤同時檢測個錯誤,則要求;循環(huán)碼的譯碼分檢錯譯碼與糾錯譯碼兩類。在無記憶信道上,對碼字c,差錯圖案和接收向量的多項式描述為 定義的伴隨多項式為 由于所以 由此可見,則一定有差錯產(chǎn)生,或說滿足的差錯圖樣產(chǎn)生,它滿足。循環(huán)碼的檢錯譯碼即是計算并判斷是否為01.6 循環(huán)碼的糾錯譯碼原理 糾錯碼的譯碼是該編碼能否得到實際應(yīng)用的關(guān)鍵所在。譯碼器往往比編碼較難實現(xiàn),對于糾錯能力強的糾錯碼更復(fù)雜。根據(jù)不同的糾錯或檢錯目的,循環(huán)碼譯碼器可分為用于糾錯目的和用于檢錯目的的
16、循環(huán)碼譯碼器。 通常,將接收到的循環(huán)碼組進行除法運算,如果除盡,則說明正確傳輸;如果未除盡,則在寄存器中的內(nèi)容就是錯誤圖樣,根據(jù)錯誤圖樣可以確定一種邏輯,來確定差錯的位置,從而達到糾錯的目的。用于糾錯目的的循環(huán)碼的譯碼算法比較復(fù)雜。 當碼字c通過噪聲信道傳送時,會受到干擾而產(chǎn)生錯誤。如果信道產(chǎn)生的錯誤圖樣是e,譯碼器收到的n重接受矢量是y,則表示為: (215)上式也可以寫成多項式形式: (216)譯碼器的任務(wù)就是從y(x)中得到,然后求的估值碼字 (217) 并從中得到信息組。循環(huán)碼的譯碼過程:第一步:由接收到的y(x)計算伴隨式s(x);第二步:根據(jù)伴隨式s(x)找出對應(yīng)的估值錯誤圖樣;第
17、三步:計算,得到估計碼字。若,則譯碼正確,否則,若,則譯碼錯誤。由于g(x) 的次數(shù)為n - k 次,g(x) 除E(x) 后得余式(即伴隨式)的最高次數(shù)為n-k-1次,故S(x) 共有2n-k 個可能的表達式,每一個表達式對應(yīng)一個錯誤格式。可以知道(15,7)循環(huán)碼的S(x) 共有2(15-7) = 256個可能的表達式。本課程設(shè)計中采用(15,7)循環(huán)碼由生成矩陣可得其最小碼距dmin為5由最小碼距可得其糾檢錯能力可知其最多可檢4位錯,可糾2位錯。其伴隨式如表1所示。表1 (15,7)循環(huán)碼錯誤圖樣表錯誤圖樣伴隨式糾錯e=0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s=0 0
18、 0 0 0 0 0 0無錯e=0 0 0 0 0 0 0 0 0 0 0 0 0 0 1s=1 0 0 0 0 0 0 0第一位錯e=0 0 0 0 0 0 0 0 0 0 0 0 0 1 0s=0,1,0,0,0,0,0,0第二位錯e=0 0 0 0 0 0 0 0 0 0 0 0 1 0 0s=0,0,1,0,0,0,0,0第三位錯e=0 0 0 0 0 0 0 0 0 0 0 1 0 0 0s=0,0,0,1,0,0,0,0第四位錯e=0 0 0 0 0 0 0 0 0 0 1 0 0 0 0s=1,0,0,0,1,0,0,0第五位錯e=0 0 0 0 0 0 0 0 0 1 0 0
19、0 0 0s=0,1,0,0,0,1,0,0第六位錯e=0 0 0 0 0 0 0 0 1 0 0 0 0 0 0s=1,0,1,0,0,0,1,0第七位錯e=0 0 0 0 0 0 0 1 0 0 0 0 0 0 0s=1,1,0,1,0,0,0,1第八位錯e=0 0 0 0 0 0 1 0 0 0 0 0 0 0 0s=0,1,1,0,1,0,0,0第九位錯e=0 0 0 0 0 1 0 0 0 0 0 0 0 0 0s=0,0,1,1,0,1,0,0第十位錯e=0 0 0 0 1 0 0 0 0 0 0 0 0 0 0s=0,0,0,1,1,0,1,0第十一位錯e=0 0 0 1 0 0
20、 0 0 0 0 0 0 0 0 0s=0,0,0,0,1,1,0,1第十二位錯e=0 0 1 0 0 0 0 0 0 0 0 0 0 0 0s=0,0,0,0,0,1,1,0第十三位錯e=0 1 0 0 0 0 0 0 0 0 0 0 0 0 0s=0,0,0,0,0,0,1,1第十四位錯e=1 0 0 0 0 0 0 0 0 0 0 0 0 0 0s=0,0,0,0,0,0,0,1第十五位錯 上式指出了系統(tǒng)循環(huán)碼的譯碼方法:將收到的碼字R(x) 用g(x) 去除,如果除盡則無錯;否則有錯。如果有錯,可由余式S(x) 一一找出對應(yīng)圖樣,然后將錯誤圖樣E(x) 與R(x) 模2 和,即為所求碼
21、字C(x) ,從而實現(xiàn)糾錯目的。二、(15,7)循環(huán)碼程序設(shè)計本設(shè)計分為三大模塊: (15,7)循環(huán)碼仿真模塊、(15,7)循環(huán)碼譯碼仿真模塊、(15,7)循環(huán)碼誤碼性能分析模塊2.1(15,7)循環(huán)碼仿真模塊按照循環(huán)碼的編碼原理設(shè)計流程圖如下開始輸入消息m(x)如1 1 1 0 0 0 0確定余式r(x): 確定c(x): 輸出碼字C(x)結(jié)束 圖2-1 (15,7)循環(huán)碼編碼程序流程圖2.2(15,7)循環(huán)碼譯碼仿真模塊可得(15,7)循環(huán)碼譯碼的程序框圖如圖2.3.1 所示:開始由接收信號r確定伴隨式s:s=r*h S是否為0由S確定錯誤圖樣e糾錯輸出碼字c結(jié)束是否否 圖2-2 (15,
22、7)循環(huán)碼譯碼程序流程圖2.3(15,7)循環(huán)碼在高斯信道下的誤碼性能仿真模塊信號源(15,7)循環(huán)碼編碼加入不同信噪比的高斯白噪聲(15,7)循環(huán)碼譯碼誤碼分析圖2-3 (15,7)循環(huán)碼在高斯信道下的誤碼性能三、設(shè)計與仿真3.1仿真設(shè)備裝有MATLAB的PC機一臺3.2 (15,7)循環(huán)碼的編碼在MATLAB環(huán)境下實現(xiàn)對任意碼的編碼圖3-1 (15,7)循環(huán)碼的編碼程序仿真結(jié)果圖由上圖可看出,本程序?qū)崿F(xià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)碼的譯
23、碼在MATLAB環(huán)境下實現(xiàn)對任意碼的編碼(1)將3.2中編出的碼字輸入譯碼程序中可得圖3-2 (15,7)循環(huán)碼的譯碼程序仿真結(jié)果圖由上圖可以看出,用編出的碼字譯碼,沒有錯誤,正確譯出原碼。驗證了譯碼程序的正確性。(2)將3.2中編出的碼字改變一位作為譯碼程序的輸入,譯碼程序仿真輸出為中可得 圖3-3 (15,7)循環(huán)碼的糾一位錯程序仿真結(jié)果圖由上圖可以看出本程序可以正確糾正一位錯碼。3.4 (15,7)循環(huán)碼在高斯信道下的誤碼性能 圖3-4 信源產(chǎn)生的序列及無噪輸出序列 圖3-5循環(huán)碼在不同信噪比下的誤碼率分析總結(jié)本課程設(shè)計主要是通過分析查閱(n,k)循環(huán)碼的編碼方法,在MATLAB環(huán)境下設(shè)
24、計了對(15,7)循環(huán)碼編譯碼方法的仿真,首先設(shè)計了對任意(15,7)循環(huán)碼的編譯碼,然后使一個經(jīng)過(15,7)循環(huán)碼編碼的信號序列通過高斯信道,再對譯碼后的序列進行誤碼分析。通過本次課程設(shè)計,是我掌握了(15,7)循環(huán)碼的編譯碼方法,并求出該碼的最小碼距及糾檢錯能力,通過觀察該碼通過高斯信道后的仿真結(jié)果,并參考其他編碼方法,可發(fā)現(xiàn)循環(huán)碼糾檢錯能力強。此次課程設(shè)計成功實現(xiàn)了對任意(15,7)循環(huán)碼的編譯碼,以及該碼在高斯信道下的誤碼性能分析,完成了本次課程設(shè)計的要求。通過此次課程設(shè)計不僅加深了我對課程理論的了解,并更加熟悉了MATLAB語言,而且它讓我了解了學(xué)習(xí)知識不僅在課本上,海鷗更多更廣的
25、渠道獲得知識。參考文獻 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.3樊昌信,曹麗娜編著,通信原理,北京:國防工業(yè)出版社,2
26、010:73-844樊昌信,通信原理,北京:國防工業(yè)出版社,2002:70-80:67-905曹志剛等著,現(xiàn)代通信原理,北京:清華大學(xué)出版社,2001.5。:65-786吳偉陵等著,移動通信原理,北京:電子工業(yè)出版社,2005:30-577.李建新,現(xiàn)代通信系統(tǒng)分析與仿真-MATLAB 通信工具箱,西安:西安電子科技大學(xué)出版社,2000:13-458潘子宇,Matlab通信仿真設(shè)計指導(dǎo)書,南京工程學(xué)院,2011:24-369劉敏,MATLAB通信仿真與應(yīng)用,北京:國防工業(yè)出版社:56-60附 錄源程序代碼如下1.(15,7)循環(huán)碼的編碼clear;clc;a=input('請輸入消息矢
27、量:');%高次項系數(shù)在前的生成多項式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(2); b(2)=b(14); b(14)=
28、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:15 if rem(abs(b(i),2)=0 b(i)=0;end endfor i=1:15 if rem(abs(b(i),2)=1 b(i)=1;endenddisp('輸入序列:');adisp('編碼輸出序列:');b2(15,7)循
29、環(huán)碼的編碼clear;clc;r= 1 0 1 0 0 1 0 0 1 1 1 0 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
30、);s=r*b;for i=1:8 if rem(abs(s(i),2)=0 s(i)=0;end endfor i=1:8 if rem(abs(s(i),2)=1 s(i)=1;endend if s=0 0 0 0 0 0 0 0 e=0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; elseif s=1 0 0 0 0 0 0 0 e=0 0 0 0 0 0 0 0 0 0 0 0 0 0 1; elseif s=1,1,0,0,0,0,0,0 e=0 0 0 0 0 0 0 0 0 0 0 0 0 1 0; elseif s=0,1,1,0,0,0,0,0 e=0 0 0
31、 0 0 0 0 0 0 0 0 0 1 0 0; elseif s=1,0,1,1,0,0,0,0 e=0 0 0 0 0 0 0 0 0 0 0 1 0 0 0; elseif s=0,1,0,1,1,0,0,0 e=0 0 0 0 0 0 0 0 0 0 1 0 0 0 0; elseif s=0,0,1,0,1,1,0,0 e=0 0 0 0 0 0 0 0 0 1 0 0 0 0 0; elseif s=0,0,0,1,0,1,1,0 e=0 0 0 0 0 0 0 0 1 0 0 0 0 0 0; elseif s=1,0,0,0,1,0,1,1 e=0 0 0 0 0 0 0 1
32、 0 0 0 0 0 0 0; elseif s=0,1,0,0,0,1,0,1 e=0 0 0 0 0 0 1 0 0 0 0 0 0 0 0; elseif s=0,0,1,0,0,0,1,0 e=0 0 0 0 0 1 0 0 0 0 0 0 0 0 0; elseif s=0,0,0,1,0,0,0,1 e=0 0 0 0 1 0 0 0 0 0 0 0 0 0 0; elseif s=0,0,0,0,1,0,0,0 e=0 0 0 1 0 0 0 0 0 0 0 0 0 0 0; elseif s=0,0,0,0,0,1,0,0 e=0 0 1 0 0 0 0 0 0 0 0 0 0
33、 0 0; elseif s=0,0,0,0,0,0,1,0 e=0 1 0 0 0 0 0 0 0 0 0 0 0 0 0; else s=0,0,0,0,0,0,0,1 e=1 0 0 0 0 0 0 0 0 0 0 0 0 0 0; endu=r+e;for i=1:15 if rem(abs(u(i),2)=0 u(i)=0;end endfor i=1:15 if rem(abs(u(i),2)=1 u(i)=1;endendData=zeros(1,7); Data(1)=u(9); Data(2)=u(10); Data(3)=u(11); Data(4)=u(12); Data
34、(5)=u(13); Data(6)=u(14); Data(7)=u(15);if e=0 0 0 0 0 0 0 0 0 0 0 0 0 0 0disp('沒有錯誤:')k=0,elsedisp('第幾位錯誤:') k=find(e) ;enddisp('接收碼字')rdisp('譯碼輸出序列:')Data3循環(huán)碼編碼與解碼Matlab源程序(實驗以(7,4)循環(huán)碼進行分析) n = 15; %定義碼長k = 7; %信息位長msg = randint(k*4,1,2); %隨機提取信號,引起一致地分布的任意整數(shù)矩陣subpl
35、ot(2,2,1)stem(msg)title('編碼器輸入信號')p=cyclpoly(n,k) %循環(huán)碼生成多項式,n=7,k=4code = encode(msg,n,k,'cyclic',p); %編碼函數(shù),對信號進行差錯編碼subplot(2,2,2)stem(code)title('編碼器輸出信號')recode=decode(code,n,k,'cyclic',p) %對信號進行譯碼,對接收到的碼字進行譯碼,恢復(fù)出原始的信息,譯碼參數(shù)和方式必須和編碼時采用的嚴格相同subplot(2,2,3)stem(recode)
36、title('譯碼器輸出信號')t=-1:0.01:1;x=recode; %將recode賦值給x,并進行長度與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)碼進行測試) n = 15; %定義碼長k = 7; %信息位長Fs=40; %系統(tǒng)采樣頻率Fd=1; %碼速率N=Fs/Fd;M=2; %進制數(shù)for SNRpBit=1:100;%信噪比SNR=SNRpBit/log2(M);%制造100個信息組,每組k位msg = randint(100,k,0,1);code = encode(msg,n,k,'cyclic/binary');%加入噪聲%在已調(diào)信號中加
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年項目管理考試提升技巧試題及答案
- 礦物加工過程中的物理分離技術(shù)考核試卷
- 液力元件的激光加工技術(shù)考核試卷
- 漁具設(shè)計原理考核試卷
- 目視化管理下的團隊協(xié)作與溝通機制考核試卷
- 項目管理專業(yè)人士高效復(fù)習(xí)試題及答案
- 2025年企業(yè)會計與審計一體化管理研究試題及答案
- 禮儀用品行業(yè)品牌建設(shè)與市場競爭力提升考核試卷
- 潛水裝備的水下作業(yè)安全管理機制優(yōu)化考核試卷
- 2023年中國電信股份有限公司灣沚分公司公開招聘筆試參考題庫附帶答案詳解
- 10KV配電室倒閘操作票
- 加油站電氣線路檢查安全操作細則
- 扁桃體切除術(shù)與術(shù)后并發(fā)癥
- 醫(yī)院培訓(xùn)課件:《從藥學(xué)角度看靜脈輸液安全性管理》
- 肺結(jié)核病人工作管理制度
- 普通高中畢業(yè)生綜合素質(zhì)評價報告表
- GB/T 20138-2023電器設(shè)備外殼對外界機械碰撞的防護等級(IK代碼)
- 邱關(guān)源《電路》(第6版)筆記和課后習(xí)題(含考研真題)詳解
- 通用用電設(shè)備配電設(shè)計規(guī)范
- 工程勘察服務(wù)成本要素信息(2022版)
- GB/T 15166.3-2023高壓交流熔斷器第3部分:噴射熔斷器
評論
0/150
提交評論