計算機通信課程設計說明書剖析_第1頁
計算機通信課程設計說明書剖析_第2頁
計算機通信課程設計說明書剖析_第3頁
計算機通信課程設計說明書剖析_第4頁
計算機通信課程設計說明書剖析_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、*實踐教學*XXXXX大學計算機與通信學院xxx年春季學期計算機通信課程設計指導教師:人數(shù):摘要:循環(huán)碼是實際差錯控制系統(tǒng)中常用的編碼方案,具有檢錯糾錯能力 強、實現(xiàn)方便等特點。本文在理論分析循環(huán)碼編碼和譯碼基本原理的基礎上, 詳細介紹了 (7, 4)循環(huán)碼實現(xiàn)編碼、譯碼的方法,分析了用( 7, 4)循環(huán)碼 的編譯碼實現(xiàn)系統(tǒng)低差錯率傳輸信息的可行性, 并進行了誤差分析。 最后用 C語言編程實現(xiàn)軟件的編譯碼和差錯處理,且考慮到了軟件的通用性。 關鍵字 : 循環(huán)碼 編譯 C 語言、八 、-刖言隨著社會經(jīng)濟的迅速發(fā)展和科學技術的全面進步,計算機事業(yè)的飛速發(fā)展, 以計算機與通信技術為基礎的信息系統(tǒng)正處

2、于蓬勃發(fā)展的時期。 隨著經(jīng)濟文化水 平的顯著提高,人們對生活質(zhì)量及工作軟件的要求也越來越高。計算機通信是一種以數(shù)據(jù)通信形式出現(xiàn), 在計算機與計算機之間或計算機與 終端設備之間進行信息傳遞的方式。它是現(xiàn)代計算機技術與通信技術相融合的產(chǎn) 物,在軍隊指揮自動化系統(tǒng)、武器控制系統(tǒng)、信息處理系統(tǒng)、決策分析系統(tǒng)、情 報檢索系統(tǒng)以及辦公自動化系統(tǒng)等領域得到了廣泛應用。 計算機通信系統(tǒng)是經(jīng)典 的數(shù)字通信系統(tǒng),它是計算機技術和通信技術結合的產(chǎn)物, 一方面通信網(wǎng)絡為計 算機之間的數(shù)據(jù)傳遞和交換提供必要的設施和手段;另一方面,數(shù)字計算機技術的發(fā)展?jié)B透到通信技術中,又提高了通信網(wǎng)絡的各種性能,二者相互滲透、互相促進、

3、共同發(fā)展。在實際的通信系統(tǒng)中,由于信道傳輸特性不理想以及加性噪聲的影響, 接收 到的信息中不可避免地會發(fā)生錯誤, 影響通信系統(tǒng)的傳輸?shù)目煽啃?。隨著數(shù)字通 信技術的發(fā)展,各種業(yè)務對系統(tǒng)誤碼率的要求也逐漸提高, 差錯控制編碼技術是 提高數(shù)字通信可靠性的有效方法之一。循環(huán)碼是線性分組碼的一個重要子集, 是目前研究得最成熟的一類碼。它有 許多特殊的代數(shù)性質(zhì),這些性質(zhì)有助于按所要求的糾錯能力系統(tǒng)地構造這類碼, 且易于實現(xiàn);同時循環(huán)碼的性能也較好, 具有較強的檢錯和糾錯能力。正是由于 循環(huán)碼具有碼的代數(shù)結構清晰、性能較好、編譯碼簡單和易于實現(xiàn)的特點,因此 在目前的計算機糾錯系統(tǒng)中所使用的線性分組碼幾乎都是

4、循環(huán)碼。目錄第1章 循環(huán)碼概念及其編譯碼原理介紹 11.1 (n ,k)循環(huán)碼概念 11.2 編碼過程及實現(xiàn) 21.3 譯碼過程及實現(xiàn) 2第2 章( 7, 4)循環(huán)碼 52.1 生成多項式 52.2 生成矩陣和校驗矩陣 52.3(7,4)循環(huán)碼的全部碼字 52.4 誤差分析和可行性分析 6第3 章( 7, 4)循環(huán)碼編譯碼的軟件實現(xiàn) 83.1 編譯碼軟件實現(xiàn)思想 83.2(7,4)循環(huán)碼的編碼流程框圖 93.3(7,4)循環(huán)碼的譯碼流程框圖 93.3 C語言平臺簡介 103.4 程序運行結果 10總結 14致謝 15附:參考源程序 16參考文獻 163第1章 循環(huán)碼概念及其編譯碼原理介紹1.1

5、 (n ,k)循環(huán)碼概念在實際應用中,數(shù)據(jù)傳輸一般采用系統(tǒng)碼的編碼方式,即在發(fā)送的信息序列之后附加上 特定位數(shù)序列的冗余位,該冗余位稱為所發(fā)送的信息序列的監(jiān)督位。監(jiān)督位一般是由所發(fā)送 的信息序列經(jīng)過恰當?shù)淖兓a(chǎn)生。若監(jiān)督位由信息序列經(jīng)過線性組合得到,則稱得到的系 統(tǒng)碼為線性分組碼。循環(huán)碼是線性分組碼的一個重要子類,具有嚴密的代數(shù)學理論。循環(huán)碼“線性”是指任 意兩個循環(huán)碼模2相加所得的新碼仍為循環(huán)碼。循環(huán)碼具有線性碼的一般性質(zhì)(即圭寸閉性.指 一種線性分組碼的任意兩個碼組之和仍是該分組碼的另一個碼組)外,還具有循環(huán)性,即循環(huán)碼中任一碼組循環(huán)一位(將最右端碼元移至左端,或反之)以后,仍為該碼組中

6、的一個碼組。 (n,k)循環(huán)碼表示其中信息位為k,監(jiān)督位為n-k位。若一個循環(huán)碼的所有碼字多項式都是一個次數(shù)最低的非零首一多項式g(x)的倍式,則g(x)生成該碼,并稱g(x)為該碼的生成元或生成多項式。若在GF(2)上的(n,k)循環(huán)碼中,存在唯一的n-k次首一多項式錯誤!未找到引用源。使得每一個碼多項式c(x)都是g(x)的倍 式,且每一低于或等于n-1次的g(x)的倍式,一定是碼多項式。(n,k)循環(huán)碼的生成多項式 g(x) 一定是錯誤!未找到引用源。的因式:錯誤!未找到引用源。;反之,若g(x)為n-k 次, 且除盡錯誤!未找到引用源。,則此g(x) 一定生成一個(n,k)循環(huán)碼。引用

7、源。、錯誤!未找到引用源。錯誤!未找到引用源 用它們組成碼的一組基底,而與這些碼多項式相對應的 矩陣G,即gn 丄 gnJ.g1goG(x)=0gngn.g10.0gngn若g(x)是(n, k)循環(huán)碼的生成多項式,有錯誤!;稱為校驗多項式。令 錯誤!未找到引用源。,則對于一般的(n,k)循環(huán)碼,設其生成多項式為 錯誤!未找到引用源。,由于錯誤!未找到 等k個碼多項式必線性無關,故可 k個線性無關的碼向量就構成除生成0 . 0 _go 0.0.gi g。E找到引用源。,h(x)是k次多項式,h。1m .hk0.00h0h1h2.hk. 0H =111.1_00hem.hk為(n-k)x n階矩

8、陣,稱為碼的校驗矩陣??梢宰C明,錯誤!未找到引用源1.2編碼過程及實現(xiàn)在編碼時,首先需要根據(jù)給定循環(huán)碼的參數(shù)確定生成多項式g(x),也就是從-的因子中選一個(n-k)次多項式作為g(x);然后,利用循環(huán)碼的編碼特點,即所有循環(huán)碼多項 式A(x)都可以被g(x)整除,來定義生成多項式g(x)。根據(jù)上述原理可以得到一個較簡單的系統(tǒng):設要產(chǎn)生(n,k )循環(huán)碼,m(x)表示信息多項 式,循環(huán)碼編碼方法則其次數(shù)必小于k,而八 m(x)的次數(shù)必小于n,用 ' mjx)除以g(x),可得余數(shù)r(x),r(x)的次數(shù)必小于(n-k),將r(x)加到信息位后作監(jiān)督位,就得到 了系統(tǒng)循環(huán)碼。下面就將以上

9、各步處理加以解釋:(1) 用乘m(x)。這一運算實際上是把信息碼后附加上(n-k)個“0”。例如,信 息碼為110,它相當于m(x) = +x。當n-k = 7-3 = 4時, m (x )=' +',它相當于 1100000。而希望的到得系統(tǒng)循環(huán)碼多項式應當是 A(x) = ' ' ' m(x) + r(x)。(2) 求r(x)。由于循環(huán)碼多項式A(x)都可以被g(x)整除,也就是:(1)因此,用: m(x)除以g(x),就得到商Qx)和余式r(x),即這樣就得到了 r(x)。(3) 編碼輸出系統(tǒng)循環(huán)碼多項式 A(x)為:1.3譯碼過程及實現(xiàn)對于接收端

10、譯碼的要求通常有兩個:檢錯與糾錯。達到檢錯目的的譯碼十分簡單,可以 由式(1-1),通過判斷接收到的碼組多項式B(x)是否能被生成多項式g(x)整除作為依據(jù)。當傳輸中未發(fā)生錯誤時,也就是接收的碼組與發(fā)送的碼組相同,即A(x)=B(x),則接收的碼組B(x)必能被g(x)整除;若傳輸中發(fā)生了錯誤,則 A(x)工B(x),B(x)不能被g(x)整除。因 此,可以根據(jù)余項是否為零來判斷碼組中有無錯碼。設發(fā)射的碼字為C(x),而收到的碼字為R(x),如果C(x) = R(x),則說明收到碼字正確。如果C(x)工R(x),則說明收到的碼字出現(xiàn)錯誤,即為: R(x) = C(x) + E(x)。(1)公式

11、(1)中E(x)稱為錯誤圖樣。當E(x) = 0 時,則無錯誤。用g(x)去除R(x),得RQ0 _ 弧)+ Epp CQO g(x) g(x) g(x) g(x)因為C(x)是由g(x)生成的,故C(x)必能為g(x)除盡,顯然,R(x)與E(x)為同余式(R(x)三 E(x)mod g(x),以g(x)除E(x)所得余式稱之為伴隨式S(x)。由公式(1)可知,R(x) ?錯誤!未找到引用源。=(C(x) + E(x) ?H(x) = E(x)?H(x) < 若E(x) = 0,則E(x)?H(x) = 0 ;若E(x)工0,則H(x)工0。這說明,R(x) ?錯誤!未找到 引用源。僅

12、與錯誤圖樣有關,而與發(fā)送的碼字無關,由此可以確定錯誤圖樣表。由于g(x)的次數(shù)為n - k次,g(x)除E(x)后得余式(即伴隨式)的最高次數(shù)為n- k-1次, 故S(x)共有錯誤!未找到引用源。個可能的表達式,每一個表達式對應一個錯誤格式??梢?知道(7, 4)循環(huán)碼的S(x)共有錯誤!未找到引用源。=8個可能的表達式,可根據(jù)錯誤圖樣 表來糾正(7,4)循環(huán)碼中的一位錯誤,其伴隨式如表1所示。表1 BCH (7, 4)循環(huán)碼錯誤圖樣表錯誤圖樣錯誤圖樣碼字伴隨式S(x)伴隨式1000000/100= K&0100000110E4(x) = x400100005£2+x+111

13、10001000琉+ 1011= x20000100x2+ 1101El(x) = x10000010X01000000011001E(x) = 000000000000上式指出了系統(tǒng)循環(huán)碼的譯碼方法:將收到的碼字&x)用g(x)去除,如果除盡則無錯;否則有錯。如果有錯,可由余式S(x) 一一找出對應圖樣,然后將錯誤圖樣 E(x)與R(x)模2和, 即為所求碼字qx),從而實現(xiàn)糾錯目的。需要指出的是,有錯碼的接收碼組也有可能被g(x)整除,這時的錯碼就不能檢出了。這 種錯誤被稱為不可檢錯誤,不可檢錯誤中的錯碼數(shù)必將超過這種編碼的檢錯能力。在接收端為糾錯而采用的譯碼方法自然比檢錯要復雜許

14、多,因此,對糾錯碼的研究大都 集中在譯碼算法上。我們知道,校正子與錯誤圖樣之間存在某種對應關系。如同其它線性分組碼,循環(huán)編碼 和譯碼可以分三步進行:(1) 由接收到的碼多項式B(x)計算校正子(伴隨式)多項式 S(x);(2) 由校正子S(x)確定錯誤圖樣E(x);(3) 將錯誤圖樣E(x)與B(x)相加,糾正錯誤。上述第(1)步運算和檢錯譯碼類似,也就是求解 B(x)整除g(x)的余式,第(3)步也很 簡單。因此,糾錯碼譯碼器的復雜性主要取決于譯碼過程的第( 2)步。7第2章(7, 4)循環(huán)碼2.1生成多項式根據(jù)上面介紹的生成多項式的求法,可得:x7 + l=x(x3 + xa +l)(x3

15、 + x+l)于是可得到(7, 4)循環(huán)碼的生成多項式可為(錯誤!未找到引用源。)或(錯誤!未找到引 用源。)。下面選(錯誤!未找到引用源。)作為其生成多項式。2.2生成矩陣和校驗矩陣四位信息位共有16種組合,依次可算出這些組(7, 4)循環(huán)碼的生成多項式為g(x)=錯誤!未找到引用源。,由錯誤!未找到引用源??傻闷?校驗多項式錯誤!未找到引用源。所以可得(7, 4)循環(huán)碼的生成矩陣和校驗矩陣分別為1101000011010C10G =11'010110101一 00011011110111001H = 0101110一 00101112.3( 7,4)循環(huán)碼的全部碼字根據(jù)前面介紹的求

16、循環(huán)碼的監(jiān)督碼字的方法,合的信息位的監(jiān)督碼字,進而得到(7,4 )循環(huán)碼的所有編碼后的碼字。如下表所示:表2 ( 7,4 )循環(huán)碼的所有碼字序號碼字序號碼字信息位監(jiān)督位信息位監(jiān)督位10 0 0 00 0 091 0 0 01 1 020 0 0 11 0 1101 0 0 10 1 130 0 1 01 1 1111 0 100 0 140 0 1 10 1 0121 0 1 11 0 050 1 0 00 1 1131 1 0 01 0 160 1 0 11 1 0141 1 0 10 0 070 1 1 01 0 0151 1 1 00 1 080 1 1 10 1 1161 1 1 11

17、 1 12.4誤差分析和可行性分析由循環(huán)碼性質(zhì)我們可以知道,對于(7, 4)循環(huán)碼來說,最小碼距錯誤!未找到引用源。, 可以檢測出3位錯誤,糾正1位錯誤,編碼效率為4/7 X 100% = 57.1%。設傳輸信道的誤碼率 為P,據(jù)此設定信道模型存在如下關系:傳輸正確概率為錯誤!未找到引用源。,信息幀傳輸錯誤概率為 錯誤!未找到引用源。, 每幀僅發(fā)生1位錯誤的概率為 錯誤!未找到引用源。,則1位錯誤幀在總的錯誤幀中的概率為 錯誤!未找到引用源。表2為其錯誤!未找到引用源。,錯誤!未找到引用源。,R的模擬結 果。表3 Pe, Pe1, R的模擬結果(n=7)PR/%10-10.5217030.37

18、200971.301O-30.06793470.065903697.011O-30.006979030.006958199.700.000699790.0006995899.97lb0.0000699790.0006995899.97綜合表2的模擬結果和理論分析可知,通信系統(tǒng)的幀傳輸具有下列性質(zhì):(1) 在n 定的條件下,信息幀錯誤概率隨著比特誤碼率 p的增加而增加,最壞條件 下幀錯誤概率幾乎為100%此時系統(tǒng)失去通信能力。(2)在典型的通信環(huán)境下(p為錯誤!未找到引用源。,幀長n =1281024 , np <1 ), 當p -0時,R -1,表明當比特誤碼率p足夠小的情況下,絕大多數(shù)

19、信息幀錯誤是每幀 1位錯 誤,因此糾正每幀 1 位錯誤有實際應用價值。第 3 章( 7, 4)循環(huán)碼編譯碼的軟件實現(xiàn)3.1 編譯碼軟件實現(xiàn)思想CRC算法的核心是如何實現(xiàn)除法運算.由于任何硬件系統(tǒng)的寄存器資源都是有限的,所以選取一個數(shù)十位、甚至數(shù)百位寬度的寄存器實現(xiàn)除法運算是不可行的.因此,可以選一個寬 度為r位(生成多項式的次數(shù))的寄存器,采用反饋的方法實現(xiàn)N位(信息位寬度與校驗位寬 度之和)除法運算.因為模2運算恰好等于異或運算,所以可用如下步驟求CRC校驗和:(1) 置寄存器初值為0.(2) 寄存器進行左移運算,下一個信息位移入,最高位移出(3) 判斷第(2)步中移出的最高位,如果為1,則

20、用寄存器與生成多項式的低r位異或的 結果對寄存器重新賦值否則,執(zhí)行(4).(4) 如果還有信息位(包括附加的r個0),返回(2),否則結束.011000000運算完畢后,寄存器中存放的就是余數(shù)例如,生成多項式POLY=10011信息位是1100. 由于采用寬度為5的POL柞為除數(shù)進行除法運算,得到的余數(shù)不超過4位,所以選取一個4位寬 的寄存器即可.圖1給出了上述算法以及模2除法的運算過程,不難看出,二者在過程和結果 上均是相符的.110110011/ HOOOOOO / 10011 '"10110 loon10100100H_0111圖1直接實現(xiàn)算法與模2除法的比較3.2(

21、7,4)循環(huán)碼的編碼流程框圖初始化8確定余式r(x):錯誤!未找到引用源11圖2編碼程序框圖3.3 (7,4)循環(huán)碼的譯碼流程框圖圖3譯碼程序框圖3.3 C語言平臺簡介C語言是CombinedLanguage(組合語言)的中英混合簡稱。是一種計算機程序設計語言 它既具有高級語言的特點,又具有匯編語言的特點。它可以作為工作系統(tǒng)設計語言,編寫系 統(tǒng)應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬件的應用程序。因此,它 的應用范圍廣泛,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到 C 語言,具體應用比如 單片機以及嵌入式系統(tǒng)開發(fā)。其語言特點如下:1、C 是中級語言。它把高級語言的基本結構和語

22、句與低級語言的實用性結合起來。 C 語 言可以像匯編語言一樣對位、字節(jié)和地址進行操作, 而這三者是計算機最基本的工作單元。2、C是結構式語言。結構式語言的顯著特點是代碼及數(shù)據(jù)的分隔化,即程序的各個部分 除了必要的信息交流外彼此獨立。這種結構化方式可使程序?qū)哟吻逦?,便于使用、維護以及 調(diào)試。 C 語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件 語句控制程序流向,從而使程序完全結構化。3、C語言功能齊全。具有各種各樣的數(shù)據(jù)類型,并引入了指針概念,可使程序效率更高。 另外C語言也具有強大的圖形功能,支持多種顯示器和驅(qū)動器。而且計算功能、邏輯判斷功 能也比較強大,可以實現(xiàn)決策

23、目的的游戲。4、C語言適用范圍大。適合于多種操作系統(tǒng),如 Windows DOS UNIX等等;也適用于 多種機型。5、C語言對編寫需要硬件進行操作的場合,明顯優(yōu)于其它解釋型高級語言,有一些大型 應用軟件也是用C語言編寫的。6、C語言具有繪圖能力強,可移植性,并具備很強的數(shù)據(jù)處理能力,因此適于編寫系統(tǒng) 軟件,三維,二維圖形和動畫。它是數(shù)值計算的高級語言。3.4 程序運行結果1初始化界面:2.正確編碼界面:町 C:U sersZYGDeskto p7_4 <1 i匸 R 芭橋譯礙,exeThis software main fund;ion is carpies on the code a

24、nd the decoding to <7>4> eye lie code.in put * c.* to carry on the code input *d* to carry on the decoding code input Je1 to exit please to 一一Ipiease input thE information code ;0 1 0 1The infoirmation code output is:0 10 1110input * c1tocarpv on the code一一input Jd1tocarry on the decodingco

25、deinput 1e1toexit please to一一3.正確譯碼界面:C:Use rsZYGVDesktop7_4®EFffla?)iai5B.exe"回input the infornation code of hit7 = 0 10 1116s<x>= 000The decoding bit4 is: 0101I lie Decoding bit? is:0101110in put * c* to carry on the code 一一 in put 1 d* to carry on the d&codinfF code 一一 in put

26、to exit please to 一一input the information code of bit?:1 10 1110G<X>= 118The decoding J>it4 is: Q 101The Decoding bit? is:0101110in put J c* to carry on 七he codein put * dJ to carpi/ on the decoding code input 1e* to exit please to4.信息位有一位錯誤時的譯碼界面:C:U se rsVY GD e skto p7_4 垢坯硯的鋼霍碼,exeinput

27、 the infornation code of bit?:0 1 B 1 1 1 0s<x>= 0 B 0The decoding bit4 is: 0 1 B 1I lie Decoding hit? is : 0 1 0 111 0Input *c1 to carry on the code input Jd1 to carry on the decoding code 一一 input *e* to exit please to 一一input the inf omat ion code of bit?: 1 1 B 1 1 1 0s<X>= 110The de

28、coding bit4 is: 0 1 0 1The Decoding hit? is: 0 1 8111 0in put * c *tou 隹 on the codeinput Jd1tocarry on the decodingcode一一Input * e1toexit please to135 信息位有二位錯誤時的譯碼界面:I C:LJ 5e rsZYGDe 5lctop7_4£i?5S 的亮譯碼上畑I his software main function is carries on the code and tlie decoding to <7,4> eye

29、lie code»input fc* to carry on the code input *d* to carry on the decoding code input '住'to exit please to in put the inf ornation code oF hit7:0 1 1 0 1 1 0<x>= 610he decoding bit4 is: 0 1 1 0 he Decoding bit? is: 0 1 1 0input *c* to cari*y on the code input 'cT to carry on t

30、he decoding code input 1er to exit please to 6 信息位有三位錯誤時的譯碼界面:這次課程設計歷時二個星期多左右,通過這兩個星期的學習,發(fā)現(xiàn)了自己的很多不足,自己知識的很 多漏洞,看到了自己的實踐經(jīng)驗還是比較缺乏,理論聯(lián)系實際的能力還急需提高。課程設計是培養(yǎng)學生綜 合運用所學知識,發(fā)現(xiàn)、提出、分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學生實際工作能力的具體訓練和考察過程。此次課程設計主要針對循環(huán)碼編碼譯碼提出自己的設計方案,并利用C語言來實現(xiàn)自己的軟件設計。設計中用到了很多計算機通信課程中學到的知識,例如:差錯控制技術、循環(huán)冗余校驗碼(CRC等。

31、由于對所學概念不熟悉,原理不清楚,雖然條條框框的理論知識一大推,但由于沒有經(jīng)過實踐的檢驗,當正 式用時卻不知道怎么用,更不知道該往哪用,從而導致在設計的過程中不能抓住重點,不清楚到底該怎么 做,使得在設計過程中繞了許多彎路,做了許多的無用功。設計過程中查閱了大量的有關循環(huán)碼編碼與譯碼的書籍,鞏固了以前所學過的知識,而且學到了很多 在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結合的必要性,只有理論知識 是遠遠不夠的,它更多的只是用來應付考試,而當正真實際操作時卻是困難重重,所以只有把所學的理論 知識與實踐相結合起來,并從理論中得出結論,才能真正為社會服務,從而提高自己的實際

32、動手能力和獨 立思考的能力。在設計過程中遇到的問題,可以說得是很多,例如剛開始時,對循環(huán)碼不是很理解,更不知道其編碼 與譯碼的方法;后來剛熟悉了原理,去咽為對C語言知識掌握不扎實,編寫不出來正確的程序,以致又花費了好多時間繼續(xù)學習 C語言 編程和上網(wǎng)查找相關資料,導致惡性循環(huán),待編好程序時已費了很多功夫, 這畢竟跟平時的理論知識有著很大的關聯(lián),故在以后的學習中一定要穩(wěn)扎穩(wěn)打,深刻理解理論知識,為今 后的實踐性活動打下堅實的基礎,以免到時又像這次一樣再費周折;同時在設計的過程中發(fā)現(xiàn)了自己的不 足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固??傊?,通過這次課程設計之后,我發(fā)現(xiàn) 自己的不足

33、之處還很多,我下去以后一定把以前所學過的知識重新溫故。對我而言,知識上的收獲重要,精神上的豐收更加可喜。讓我知道了學無止境的道理。我們每一個人 永遠不能滿足于現(xiàn)有的成就,人生就像在爬山,一座山峰的后面還有更高的山峰在等著你。挫折是一份財 富,經(jīng)歷是一份擁有。這次課程設計必將成為我人生旅途上一個非常美好的回憶!衷心的向各位老師致以崇高的敬意,謝謝老師!15致謝#附:參考源程序/*(7,4) 循環(huán)碼的編譯及糾檢錯實現(xiàn) */#include<stdio.h>#include<math.h> #include<stdlib.h>/* 函數(shù)聲明 */void Begi

34、n();void Code();void Decoding();/* 主函數(shù) */main()printf("nThis software main function is carries on the code and the decoding to (7,3) cyclic code.n ");Begin();/* 進行編碼 */ void Code()int Input4;int Output7;int reg3=0,0,0;int temp,i,j,t;printf("Please input the information code :");1

35、7for(i=0;i<4;i+)scanf(" %d",&Inputi); for(i=0;i<4;i+)temp=reg2+Inputi; if(temp=2) temp=0; reg2=reg1+temp; if(reg3=3)reg3=0;/*/*/*輸入 4 位信息碼 */ 進行除法操作 */生成多項式為g(x)=x3+x+1*/reg1=reg0; reg0=temp; for(i=0;i<4;i+) Outputi=Inputi;/* 進行編碼操作 */for(i=4;i<7;i+)temp=reg2;for(j=2;j>0

36、;j-)regj=regj-1; reg0=0;Outputi=temp;printf("");printf("n");printf(" The information code output is: n"); for(i=0;i<7;i+)printf( " %d ",Outputi); /* 輸出編碼結果 */ printf("n");printf("");printf("n");Begin();/* 譯碼并進行糾檢錯 */void Decodi

37、ng() int Input7,Output7;int reg3=0,0,0;int temp,i,d,x,p;printf("ninput the informationcode of bit7:");for(i=0;i<7;i+)scanf(" %d",&Inputi);/*輸入接受碼組 */for(i=0;i<7;i+)/*進入除法電路 */temp=reg2;/*計算伴隨式 S(x)*/17reg2=reg1+temp;if(reg2=2)reg2=0;reg1=reg0;reg0=temp+Inputi;if(reg0=2)

38、reg0=0;p=reg2+2*reg1+4*reg0;if(p!=1&&p!=2&&p!=3&&p!=7&&p!=8&&p!=13&&p!=14&&p!=0) /* 輸入錯誤位數(shù)大于 2 位 */printf(" "The error >=2" n");getchar();exit(0);printf("n");printf("s(x)=");for(i=2;i>=0;i-)printf(" %d",regi);printf("n");for(i=0;i<7;i+) /* 糾正一位錯誤 */ d=reg2*reg1*(!reg0);Outputi=d+Inputi;if(Outputi=2) Outputi=0;temp=reg2;x=

溫馨提示

  • 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

提交評論