




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、* 實踐教學*蘭州理工大學計算機與通信學院2013年秋季學期計算機通信課程設計 題 目: (15,7)循環(huán)碼的編譯碼方法 專業(yè)班級: 通信工程(1)班 姓 名: 趙曉瑾 學 號: 指導教師: 王惠琴 成 績: 摘要 本次課程設計首先介紹了線性分組碼的編譯碼原理,循環(huán)碼的編譯碼方法、步驟、流程。其次在仿真部分利用MATLAB軟件完成任意(15,7)循環(huán)碼的編碼和譯碼的實現(xiàn),它可以對輸入的七位的信息碼進行循環(huán)碼編碼,經過高斯信道的傳輸后,對于接收到的15位碼字可以譯出七位信息碼,最后,求出了該碼的最小碼距以及其糾錯能力并且分析該碼在高斯信道下的誤碼性能。 關鍵詞:循環(huán)碼;編碼;譯碼;糾錯 目錄 一
2、 、前言1二、基本原理32.1 線性分組碼的編譯碼原理32.1.1 生成矩陣32.2 伴隨式與譯碼42.2.1 碼的距離及糾檢錯能力42.2.2 伴隨式與譯碼42.3 循環(huán)碼的編譯碼原理52.3.1 編碼原理5三、系統(tǒng)分析11四、系統(tǒng)設計及調試134.1高斯信道下的(15,7)循環(huán)碼編譯碼系統(tǒng)設計134.2 循環(huán)碼編碼過程134.3 循環(huán)碼譯碼過程134.4 高斯信道下循環(huán)碼誤碼率分析14參考文獻15附錄16致謝21一 、前言隨著計算機、衛(wèi)星通信及高速數(shù)據(jù)網的飛速發(fā)展,數(shù)據(jù)的交換、處理和存儲技術得到了廣泛的應用,人們對數(shù)據(jù)傳輸和存儲系統(tǒng)的可靠性提出了越來越高的要求,因此,如何控制差錯、提高數(shù)據(jù)
3、傳輸和存儲的可靠性,成為現(xiàn)代數(shù)字通信系統(tǒng)設計的重要課題。在計算機通信信息碼中循環(huán)碼是線性分組碼的一個重要子集,是目前研究得最成熟的一類碼。它有許多特殊的代數(shù)性質,它使計算機通信以一種以數(shù)據(jù)通信形式出現(xiàn),實現(xiàn)了在計算機與計算機之間或計算機與終端設備之間進行有效的與正確地信息傳遞,它使得現(xiàn)代通信的可靠性與有效性實現(xiàn)了質的飛躍。它是現(xiàn)代計算機技術與通信技術飛速發(fā)展的產物,在日常生活通信領域、武器控制系統(tǒng)等領域都被廣泛應用。循環(huán)碼作為線性分組碼的一種,它具有線性分組碼的一般特性,此外還具有循環(huán)性。循環(huán)碼的編碼和解碼設備都不太復雜,且檢(糾)錯能力強。它不但可以檢測隨機的錯誤,還可以檢錯突發(fā)的錯誤。循環(huán)
4、碼可以檢測長為或更短的任何突發(fā)錯誤,包括首尾相接突發(fā)錯誤。循環(huán)碼是一種無權碼,其編排的特點是相鄰兩個數(shù)碼之間符合卡諾圖中的鄰接條件,即相鄰兩個數(shù)碼之間只有一位碼元不同,碼元就是組成數(shù)碼的單元。符合這個特點的有多種方案,但循環(huán)碼只能是表中的那種。循環(huán)碼的優(yōu)點是沒有瞬時錯誤。因為在數(shù)碼變換過程中,在速度上會有快有慢,中間經過其它一些數(shù)碼形式,稱它們?yōu)樗矔r錯誤。這在某些數(shù)字系統(tǒng)中是不允許的,為此希望相鄰兩個數(shù)碼之間僅有一位碼元不同,即滿足鄰接條件,這樣就不會產生瞬時錯誤。循環(huán)碼就是這樣一種編碼,它可以在卡諾圖中依次循環(huán)得到。循環(huán)碼又稱格雷碼(Gray Code)。 糾錯碼(error correct
5、ing code),在傳輸過程中發(fā)生錯誤后能在收端自行發(fā)現(xiàn)或糾正的碼。僅用來發(fā)現(xiàn)錯誤的碼一般常稱為檢錯碼。為使一種碼具有檢錯或糾錯能力,須對原碼字增加多余的碼元,以擴大碼字之間的差別 ,即把原碼字按某種規(guī)則變成有一定剩余度(見信源編碼)的碼字,并使每個碼字的碼之間有一定的關系。關系的建立稱為編碼。碼字到達收端后,可以根據(jù)編碼規(guī)則是否滿足以判定有無錯誤。當不能滿足時,按一定規(guī)則確定錯誤所在位置并予以糾正。糾錯并恢復原碼字的過程稱為譯碼。檢錯碼與其他手段結合使用,可以糾錯。糾錯編碼又稱信道編碼,它與信源編碼是信息傳輸?shù)膬蓚€方面。它們之間存在對偶的關系。應用信道譯碼直接對一些自然信息進行處理,可以去
6、掉剩余度,以達到壓縮數(shù)據(jù)的目的。為了使一種碼具有檢錯或糾錯能力,必須對原碼字增加多余的碼元,以擴大碼字之間的差別,使一個碼字在一定數(shù)目內的碼元上發(fā)生錯誤時,不致錯成另一個碼字。準確地說,即把原碼字按某種規(guī)則變成有一定剩余度的碼字,并使每個碼字的碼元間有一定的關系。關系的建立稱為編碼。碼字到達收端后,用編碼時所用的規(guī)則去檢驗。如果沒有錯誤,則原規(guī)則一定滿足,否則就不滿足。由此可以根據(jù)編碼規(guī)則是否滿足以判定有無錯誤。當不能滿足時,在可糾能力之內按一定的規(guī)則確定錯誤所在的位置,并予以糾正。糾錯并恢復原碼字的過程稱為譯碼;碼元間的關系為線性時,稱為線性碼;否則稱為非線性碼。檢錯碼與其他手段結合使用,可
7、以糾錯。檢錯反饋重發(fā)系統(tǒng)(ARQ系統(tǒng))就是一例。 二、基本原理 2.1 線性分組碼的編碼原理2.1.1 生成矩陣線性分組碼(n,k)中許用碼字(組)為2k個。定義線性分組碼的加法為模二加法,乘法為二進制乘法。即1+1=0、1+0=1、0+1=1、0+0=0;11=1、10=0、00=0、01=0。且碼字與碼字的運算在各個相應比特位上符合上述二進制加法運算規(guī)則。 線性分組碼具有如下性質(n,k)的性質:(1).封閉性,任意兩個碼組的和還是許用的碼組;(2).碼的最小距離等于非零碼的最小碼重; 對于碼組長度為n、信息碼元為k位、監(jiān)督碼元為rnk位的分組碼,常記作(n,k)碼,如果滿足2r1n,則有
8、可能構造出糾正一位或一位以上錯誤的線性碼。 (15,7)線性分組碼有個許用碼字或合法碼字,另有個禁用碼字。發(fā)送方發(fā)送的是許用碼字,若接收方收到的是禁用碼字,則說明傳輸中發(fā)生了錯誤。 為了深化對線性分組碼的理論分析,可將其與線性空間聯(lián)系起來。由于每個碼字都是一個二進制的n重,及二進制n維線性空間Vn中的一個矢量,因此碼字又稱為碼矢。線性分組碼的一個重要參數(shù)是碼率r=k/n,它說明在一個碼字中信息位所占的比重,r越大,說明信息位所占比重越大,碼的傳輸信息的有效性越高。由于(n,k)線性分組,線性分組碼的2k個碼字組成了n維線性空間Vn的一個K維子空間。因此這2k個碼字完全可由k個線性無關的矢量所組
9、成。 一個系統(tǒng)碼的生成矩陣G,其左邊k行k列應是一個k階單位方陣Ik,因此生成矩陣G表示為 (2-1) 式中,P是一個k(n-k)階矩陣.2.1.2 校驗矩陣生成矩陣的性質:具有形式的生成矩陣稱為典型生成矩陣。由典型生成矩陣得出的碼組A中,信息位的位置不變,監(jiān)督位附加于其后。這種形式的碼組稱為系統(tǒng)碼。 矩陣G的各行也必須是線性無關的。如果已有k個線性無關的碼組,則可以將其用來作為生成矩陣G,并由它生成其余碼組。監(jiān)督矩陣: (2-2) 監(jiān)督矩陣可用來校驗和糾錯。由H矩陣得到(n,k)線性分組碼的每一碼字ci,(i=1,2,2k),都必須滿足由H矩陣各行所確定的線性方程組,即 ciHT=0.(7,
10、3)碼的生成矩陣G中每一行及其線性組合都是(n,k)碼的碼字,所以有GHT =0。由G和H構成的行生成的空間互為零空間,即G和H彼此正交。H=PT Ir其右邊r行r列組成一個單位方陣。2.2 線性分組碼的譯碼原理2.2.1 碼的距離及糾檢錯能力 1碼的距離兩個碼字之間,對應位取之不同的個數(shù),稱為漢明距離,用d表示。一個嗎的最小距離定義為,兩個碼字之間的距離表示了它們之間差別的大小。距離越大,兩個碼字的差別越大,則傳送時從一個碼字錯成另一碼字的可能性越小。碼的最小距離愈大,其抗干擾能力愈強。2. 線性碼的糾檢錯能力(1) 對于任一個線性分組碼,若要在碼字內檢測出e個錯誤,則要求碼的最小距離;(2
11、)糾正t個錯誤,則要求碼的最小距離;(3)糾正t個錯誤同時檢測e(t)個錯誤,則要求;2.2.2 伴隨式與譯碼 假設接收端收到的碼字為B,那么它和原來發(fā)送端發(fā)送的碼字A之間就有可能存在著誤差。即在碼組A=a6 a5 a4 a3 a2 a1 a0 中的任意一位就有可能出錯。這樣我們在接收端接收到一個碼組是就有可能判斷錯發(fā)送端原來應該要表達的意思。為了描述數(shù)據(jù)在傳輸信道中出現(xiàn)錯誤的情況,引入了錯誤圖樣E,在錯誤圖樣中,0代表對應位沒有傳錯,1代表傳輸錯誤。實際上錯誤圖樣E就是收序列與發(fā)送序列的差。所以在譯碼中用接收到的碼字B模爾加錯誤圖樣E就可以得到發(fā)送端的正確碼字A。因此譯碼的過程就是要找到錯誤
12、圖樣E。 定義:校正子S (2-3) 因為A是編得的正確碼字。根據(jù)前面所敘述,它和監(jiān)督矩陣的轉置相乘為0。顯然,S僅與錯誤圖樣有關,它們之間是一一對應的關系。找到了校正子S,也就可以找到E。而與發(fā)送的碼字無關。若E=0,則S=0;因此根據(jù)S是否為0可進行碼字的檢錯。如果接收碼字B中只有一位碼元發(fā)生錯誤,又設錯誤在第i位。即Ei-1=1,其他的Ei均為0。在后面的譯碼程序中,建立了一個校正子S與錯誤圖樣E對應的表。也就是收到一個B序列,就可以通過計算得到一個校正子,而每一個校正子都對應著一個錯誤圖樣E,再通過B模爾加上E,就可以得到正確的碼字A。因為在不同的錯誤序列B中,同一位碼元錯誤時對應的E
13、是一樣的,所以可以利用這個正確的碼字讓它每位依次錯誤,來求得它的八個校正子。而這時的矩陣B就是錯誤圖樣E。這樣就算得了8個校正子S。而這時的錯誤序列B,就是錯誤圖樣E,所以有: E與S都已經得到,這時就可以建立一個表來將它們一一對應起來,以便在編程過程中用SWITCH語句。 2.3 循環(huán)碼的編譯碼原理2.3.1 編碼原理根據(jù)給定的(n,k )值,再根據(jù)循環(huán)碼生成定理對所給定信息位k,選定生成多項式g(x),所有碼多項式c(x)都能被g(x)整除,且次數(shù)小于n- k。若已知 (2-4)并設信息元多項式 (2-5)要編碼成系統(tǒng)循環(huán)碼形式,即碼字的最左邊k位是信息元,其余n- k位是校驗元,則要用乘
14、以m(x),再加上校驗元多項式r(x),這樣得到的碼字多項式 (2-6)式(2-6)中。c(x)一定是g(x)的倍數(shù),即有多項式 (2-7)或 (2-8)注意到為次多項式,而r(x)最多為n- k-1次多項式 (2-9)即必是除以的余式。上述過程指出了系統(tǒng)循環(huán)碼的編碼方法:(1).將信息組乘以變成,乘以的目的是將提高次。 (2).然后將得到的除以,得到商和余式,可知該余式 分子,即為校驗多項式,從而得到碼字多項式 (2-10)2.3.2譯碼原理設發(fā)送的碼字為C(x),接收到的碼字為R(x),如果C(x)= R(x),則說明收到的碼字正確;如果C(x)R(x),則說明收到的碼字出現(xiàn)錯誤,則有:
15、(2-11) 公式(2-11)中的E(x)稱為錯誤圖樣。當E(x)=0時說明沒有錯誤,用g(x)去除R(x), = (2-12)因為是由生成的,故必能為除盡,顯然與同余式,以除所得余式稱為伴隨式。 由式(2-12)可知, (2-13)若則;若,則。這說明,僅與錯誤圖樣有關,而與發(fā)送的碼字無關,由此可以確定錯誤圖樣表。由于的次數(shù)為次,除后得到余式(即伴隨式)的次數(shù)為次,故共有個表達式,每個可能的表達式對應一個錯誤格式,可以知道(15,7)循環(huán)碼的S(x)共有個表達式,可以根據(jù)錯誤圖樣表來糾正(15,7)循環(huán)碼的一位錯誤。 系統(tǒng)循環(huán)碼的譯碼方法:將收到的碼字用去除,如果除盡則無錯;否則有錯。如果有
16、錯可由余式一一找出對應圖樣,然后將錯誤圖樣與模2相加,即為所求碼字,從而實現(xiàn)糾錯目的。本課程設計要求完成任意(15,7)循環(huán)碼的編碼和譯碼,其中給出的生成多項式為: 則生成矩陣G為g(x)升冪排列時的G為 (2-13) 對式(2-13)作線性變換,整理成典型形式的系統(tǒng)生成矩陣 (2-14) 若信息碼元與式(1.1.13)相乘,得到的就是系統(tǒng)循環(huán)碼。在本課程設計中,由于生成多項式為:g(x)=x8+x7+x6+x4+1,校驗多項式為 h(x)= xn +1/g(x),因此可由長除法求得校驗多項式為h(x)=x7+x6+x4+1,所以校驗矩陣H為 (2-15) 對式(2-15)作線性變換,整理成典
17、型形式的系統(tǒng)生成矩陣 (2-16) 本課程設計中采用(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 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
18、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 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
19、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 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第十四位錯
20、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) 一一找出對應圖樣,然后將錯誤圖樣E(x) 與R(x) 模2 和,即為所求碼字C(x) ,從而實現(xiàn)糾錯目的。三、系統(tǒng)分析本次課程設計主要是完成(15,7)循環(huán)碼的編譯碼,求出該碼的最小碼距以及其糾錯能力,并分析該碼在高斯信道下的誤碼性能。循環(huán)碼的編譯碼過程如下:(1)編碼過程:第一步:將信息碼字表示為,其最高次冪為; 第二步:將與求模得出相應的余式; 第三步:編碼結
21、果為。(2)譯碼過程:第一步:由接收碼字與監(jiān)督矩陣相乘得出錯誤圖樣; 第二步:判斷是否為零。若不為零,則出錯。在假定至多只有一位錯的情況下,可以有效地譯了相應的信息碼字; 第三步:在出錯的情況下,將與標準監(jiān)督矩陣對比,得出錯誤的比特位并進行更正得出前四位為信息碼字。循環(huán)碼編碼的程序框圖如下圖3 初始化確定余式r(x): 確定c(x): 存儲c(x)圖 3-1 編碼程序框圖循環(huán)碼譯碼的程序框圖如圖下圖3-2 所示:初始化圖3-2 譯碼程序框圖否存儲c(x)由S(x)確定錯誤圖樣E(x)S(x)=0,無誤碼誤碼由R(x)確定S(x):糾錯 四、系統(tǒng)設計及調試4.1高斯信道下的(15,7)循環(huán)碼編譯
22、碼系統(tǒng)設計(15,7)循環(huán)碼譯碼 信道(15,7)循環(huán)碼編碼 信宿 信號源圖4-1 (15,7)循環(huán)碼在高斯信道下的過程圖4.2 循環(huán)碼編碼過程圖4-2 (15,7)循環(huán)碼的編碼程序仿真結果圖 由上圖可看出,本程序實現(xiàn)了對任意輸入消息進行(15,7)循環(huán)碼的編碼。如上圖輸入a=1 1 1 0 1 1 1,編碼輸出b= 0 0 1 1 0 0 1 1 1 1 1 0 1 1 04.3 循環(huán)碼譯碼過程圖4-3 (15,7)循環(huán)碼的譯碼程序仿真結果圖由上圖可以看出,編出的碼字譯碼,沒有錯誤,正確譯出原碼。驗證了譯碼程序的正確性。(2)將3.2中編出的碼字改變一位作為譯碼程序的輸入,譯碼程序仿真輸出為
23、中可得。 圖4-4 (15,7)循環(huán)碼的糾一位錯程序仿真結果圖 4.4 高斯信道下循環(huán)碼誤碼率分析 圖4-5 信源產生的序列及無噪輸出序列 有上圖可以看出編碼器輸入信號和輸出信號的時域圖。是由0,1組成的序列。編碼器輸入信號為7位,編碼器輸出信號為15位,譯碼器輸出信號為7位。圖4-6 循環(huán)碼的誤碼率圖 由圖可以看出,隨著信噪比越大,其誤碼率迅速減小。因此循環(huán)碼是一種誤碼率小的編碼方式,它的最大優(yōu)點為誤碼率小。總結本次課程設計題目是(15,7)循環(huán)碼的編譯碼方法,首先介紹了線性分組碼的編譯碼原理,循環(huán)碼的編譯碼方法、步驟、流程。其次在仿真部分利用MATLAB軟件完成任意(15,7)循環(huán)碼的編碼
24、和譯碼的實現(xiàn),它可以對輸入的七位的信息碼進行循環(huán)碼編碼,經過高斯信道的傳輸后,對于接收到的15位碼字可以譯出七位信息碼,最后,求出了該碼的最小碼距以及其糾錯能力并且分析該碼在高斯信道下的誤碼性能。通過本次課程設計,發(fā)現(xiàn)很多問題的存在,經過查找資料和討論順利解決。首先,MATLAB軟件不熟悉,經過查資料解決。其次,程序的編碼,很多函數(shù)的用法沒有掌握,利用MATLAB軟件的幫助程序得以進行下去。本次課程設計的收獲如下:首先,我掌握了(15,7)循環(huán)碼的編譯碼方法,學會利用MATLAB計算該碼的最小碼距算法及糾檢錯能力,通過觀察該碼通過高斯信道后的仿真結果,可發(fā)現(xiàn)循環(huán)碼糾檢錯能力強;其次,通過此次課
25、程設計不僅加深了我對課程理論的了解,并更加熟悉了MATLAB語言。參考文獻 1 曾凡鑫. 現(xiàn)代編碼技術. 西安:西安電子科技大學出版社,2007 2 李鵬.計算機通信技術及其程序設計.西安: 西安電子科技大學出版社,1999.6 3 周炯槃、龐沁華等編著。通信原理(上)。北京:北京郵電大學出版社,2002 4(美)普??说戎?;葉芝慧等譯。通信系統(tǒng)工程(第二版)。北京:電子工業(yè)出版社,2002.7 5 樊昌信、曹麗娜編著。通信原理(第6版)。北京:國防工業(yè)出版社,2011.1 6 黃載祿、殷蔚華編著 通信原理北京:科學出版社,2005 7 劉雪勇編著。詳解MATLAB/Simulink通信系統(tǒng)建
26、模與仿真(配視頻教程)。北京:電子工業(yè)出版社,2011.11 附錄源程序代碼如下1.(15,7)循環(huán)碼的編碼clear;clc;a=input(請輸入消息矢量:);%高次項系數(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+D
27、ata; %將數(shù)組b的高位放在后面 c=b(1); b(1)=b(15); b(15)=c; c=b(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:15 if rem(abs(b(i),2)=0 b(i)=0;end endfor i=1:15 if rem(abs(b(i),2
28、)=1 b(i)=1;endenddisp(輸入序列:);adisp(編碼輸出序列:);b2(15,7)循環(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
29、,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: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
30、0 0 0 0 0 0 0 0 1 0; elseif s=0,1,1,0,0,0,0,0 e=0 0 0 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
31、0 0 0 0 0; elseif s=1,0,0,0,1,0,1,1 e=0 0 0 0 0 0 0 1 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;
32、 elseif s=0,0,0,0,0,1,0,0 e=0 0 1 0 0 0 0 0 0 0 0 0 0 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(
33、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 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); %隨機提取信號,引起一致地分
34、布的任意整數(shù)矩陣subplot(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) %對信號進行譯碼,對接收到的碼字進行譯碼,恢復出原始的信息,譯碼參數(shù)和方式必須和編碼時采用的嚴格相同subplot(2,2,3)stem(recode)title(譯碼器輸出信號)t=-1:0.01:1;x=recode; %將recode賦值給x,并進行長度與fft設定N=length(x);fx=fft(x);df=100/N;n=0:N/2;f=n*df;subplot(2,2,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個體往來協(xié)議合同范例
- 樂寧英語合同范例
- 酒店社交媒體營銷試題及答案
- 代理商合作服務合同樣本
- 五五分成合同范例復制
- 人才合作合同范例
- fidic法語合同范例
- 中國常用合同樣本
- 書印刷廠膠裝合同范例
- 中級會計學習中的注意事項試題及答案
- 變崗調薪協(xié)議書模板
- 試析信仰的性質及其在社會生活中的作用
- 陜2023TJ077 住宅廚房、衛(wèi)生間裝配式L型構件排氣道系統(tǒng)圖集
- GB/T 44102-2024跳繩課程學生運動能力測評規(guī)范
- 醫(yī)療器械合格供應商管理制度
- 遼寧省沈陽市法庫縣三校聯(lián)考2023-2024學年六年級下學期6月月考數(shù)學試題
- 中考語文二輪專題復習:《散文閱讀》課件
- 智能高速鐵路概論 課件 第六章 高速鐵路智能運營V2
- 裝配式結構吊裝施工計算書
- 傷寒論全398條全文-順序
- 新修訂公司法專題講座課件
評論
0/150
提交評論