線性分組碼的編譯碼講解_第1頁(yè)
線性分組碼的編譯碼講解_第2頁(yè)
線性分組碼的編譯碼講解_第3頁(yè)
線性分組碼的編譯碼講解_第4頁(yè)
線性分組碼的編譯碼講解_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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ì) 題 目: 線性分組碼(7,3)碼的編譯碼仿真設(shè)計(jì) 專業(yè)班級(jí): 通信工程三班 姓 名: 彭佳峰 學(xué) 號(hào): 10250302 指導(dǎo)教師: 彭 鐸 成 績(jī): 摘要 本課題是應(yīng)用C語(yǔ)言對(duì)(7,3)線性分組碼的編譯碼的軟件設(shè)計(jì)。主要做了一下幾項(xiàng)工作:對(duì)三位正確的信息碼進(jìn)行編碼;若輸入的三位信息碼有錯(cuò),系統(tǒng)輸出提醒,可以重新輸入;對(duì)七位接收到的碼字判斷是否有錯(cuò),并在無(wú)錯(cuò)和有一位錯(cuò)誤時(shí)進(jìn)行譯碼,在有多位錯(cuò)誤時(shí)輸出提醒,可以選擇重新輸入。 關(guān)鍵字:線性分組碼 編碼 譯碼 C語(yǔ)言目錄前言11 基本原理21.1線性分組碼的基本概念

2、21.2差錯(cuò)控制原理21.3線性分組碼的糾檢錯(cuò)能力32線性分組碼的編碼42.1監(jiān)督矩陣42.2生成矩陣53線性分組碼的譯碼74設(shè)計(jì)與仿真94.1 C語(yǔ)言平臺(tái)簡(jiǎn)介94.2整體流程圖94.3編碼流程圖104.4譯碼流程圖10 5 仿真結(jié)果及分析11設(shè)計(jì)總結(jié)17參考文獻(xiàn)18致謝19附錄20前言近年來(lái),隨著計(jì)算機(jī)、衛(wèi)星通信及高速數(shù)據(jù)網(wǎng)的飛速發(fā)展,數(shù)據(jù)的交換、處理和存儲(chǔ)技術(shù)得到了廣泛應(yīng)用,人們對(duì)數(shù)據(jù)傳輸和存儲(chǔ)系統(tǒng)的可靠性提出了越來(lái)越高的要求。因此,如何控制差錯(cuò)、提高數(shù)據(jù)傳輸和存儲(chǔ)的可靠性,成為現(xiàn)代數(shù)字通信系統(tǒng)設(shè)計(jì)工作者所面臨的重要課題。香農(nóng)第二定理指出,當(dāng)信息傳輸率低于信道容量時(shí),通過(guò)某種編譯碼方法,就

3、能使錯(cuò)誤率為任意小。差錯(cuò)控制編碼在此定理指導(dǎo)下迅速發(fā)展起來(lái),它使得傳輸數(shù)據(jù)本身帶有規(guī)律性,利用規(guī)律性來(lái)減少錯(cuò)誤。線性分組碼是差錯(cuò)控制編碼的重要一種。它的規(guī)律性在于局限在一個(gè)碼組之內(nèi),編碼后長(zhǎng)為n的一個(gè)碼組中含有k位信息元和n-k位監(jiān)督元,監(jiān)督元是隨所傳輸?shù)男畔⒃淖兊?。接收端正式通過(guò)監(jiān)督元和信息元之間的規(guī)律性來(lái)發(fā)現(xiàn)并糾正錯(cuò)誤的。1 基本原理1.1線性分組碼的基本概念 (1)線性分組碼線性分組碼是一組固定長(zhǎng)度的碼組,可表示(n,k),通常它用于前向糾錯(cuò)。在分組碼中,監(jiān)督位被加到信息位之后,形成新的碼。在編碼時(shí),k個(gè)信息位被編為n位碼組長(zhǎng)度,而n-k個(gè)監(jiān)督位的作用就是實(shí)現(xiàn)檢錯(cuò)與糾錯(cuò)。當(dāng)分組碼的信

4、息碼元與監(jiān)督碼元之間的關(guān)系為線性關(guān)系時(shí),這種分組碼就稱為線性分組碼。對(duì)于長(zhǎng)度為n的二進(jìn)制線性分組碼,它有種可能的碼組,從碼組中,可以選擇個(gè)碼組(kn)組成一種碼,稱為許用碼組。這樣,一個(gè)k比特信息的線性分組碼可以映射到一個(gè)長(zhǎng)度為n的碼組上,該碼組是從碼組構(gòu)成的碼集中選出來(lái)的,這樣剩下的碼組就可以對(duì)個(gè)分組碼進(jìn)行檢錯(cuò)或糾錯(cuò)。(2) 碼重(漢明重量) 把碼組中非零位的數(shù)量定義為碼重。(3)碼距(漢明距離)兩個(gè)碼組對(duì)應(yīng)位上數(shù)字不同的個(gè)數(shù)稱為碼組的距離,簡(jiǎn)稱碼距。原則是,讓選擇的這些碼字的碼距越長(zhǎng)越好。1.2差錯(cuò)控制原理 將信息碼分組,并為每個(gè)信息組附加若干監(jiān)督的編碼,稱為“分組碼”。在分組碼中,監(jiān)督碼

5、元僅監(jiān)督本組碼中的信息碼元。分組碼一般用符號(hào)(n)、(k)表示,其中k是每組碼二進(jìn)制信息碼元的數(shù)目。n是碼組的總位數(shù),又稱為碼組的長(zhǎng)度。r=n-k為每個(gè)碼組中的監(jiān)督碼元數(shù)目,或稱監(jiān)督位數(shù)目。 k位二進(jìn)制數(shù)構(gòu)成的碼組集合為種不同的碼組,若組都為有用碼組,其中任意碼組出現(xiàn)錯(cuò)誤都將變成另一碼組,則接收端無(wú)法檢測(cè)識(shí)別哪一組出錯(cuò)。若只取部分碼組為有用碼組,則在傳輸過(guò)程中如接收端接收到的碼組為非許用碼組即禁用碼組時(shí),則可知傳輸錯(cuò)誤。以3位二進(jìn)制數(shù)構(gòu)成的碼組為例,它有8種不同的可能組合,若將其全部用來(lái)表示天氣,則可以表示8種不同天氣,例如:000晴、001云、010陰、011雨、100血、101霜、110霧

6、、111雹。其中任一碼組在傳輸中若發(fā)生一個(gè)或多個(gè)錯(cuò)誤,則將變成另一個(gè)信息碼組。這時(shí)接收端無(wú)法發(fā)現(xiàn)錯(cuò)誤。若在上述8種碼組中次序使用4種來(lái)傳達(dá)天氣,例如:000晴、011云、101陰、110雨。這時(shí),雖然只能傳達(dá)4種不同天氣,但是接收端卻可能發(fā)現(xiàn)碼組中的一個(gè)錯(cuò)碼。如000錯(cuò)碼一位,則接收碼組將變成100或011,這三種碼組都為禁用碼組,故接收端認(rèn)為接收碼錯(cuò)誤。要想能夠糾正錯(cuò)誤,需增加冗余度。1.3線性分組碼的糾檢錯(cuò)能力 最小碼距與碼的抗干擾能力之間的關(guān)系,通過(guò)證明(不給出詳細(xì)的證明過(guò)程),可以得到如下的結(jié)論,具體如下:若一種碼的最小距離為,則它能檢查傳輸差錯(cuò)個(gè)數(shù)(稱為檢錯(cuò)能力)e應(yīng)滿足;若一種碼的

7、最小距離為,則它能糾正傳輸差錯(cuò)個(gè)數(shù)t應(yīng)滿足;若一種碼的最小距離為,則能檢查e個(gè)錯(cuò)誤,同時(shí)又能糾正t個(gè)一下錯(cuò)誤的條件是。2線性分組碼的編碼2.1監(jiān)督矩陣 (n,k)碼中有n-k個(gè)監(jiān)督元,例如(7,3)碼,以序列表示碼組,前面三位為信息元。監(jiān)督元根據(jù)以下四個(gè)線性方程求得: (2.1) 通常稱這四個(gè)線性方程為(7,3)碼的一致監(jiān)督關(guān)系或一致監(jiān)督方程組。表一 信息碼與許用碼組對(duì)應(yīng)表 一致監(jiān)督關(guān)系是從個(gè)n重矢量中挑選出來(lái)的,具有封閉性。把這種結(jié)構(gòu)形式的線性分組碼稱為線性系統(tǒng)分組碼。信息組碼組信息組碼組0000000000100100111000100111011011010011010010011111

8、0110100101101110101111110100 將一致的監(jiān)督方程組移動(dòng)并記成矩陣形式:(2.2) 或者記成以下形式: (2.3) (2.4)式中P是階矩陣,是r階單位方陣。稱具有這種子形式的H矩陣為典型陣。上式可以簡(jiǎn)寫成: 一致監(jiān)督矩陣H完全確定了線性分組碼的規(guī)律性,找到了H矩陣也就確定了線性分組碼的構(gòu)造。2.2生成矩陣生成矩陣反映了信息元和監(jiān)督元之間的直接關(guān)系。對(duì)于上例,可將編碼方程改寫為: (2.5) 式中 (2.6)稱為(7,3)碼的生成矩陣。系統(tǒng)碼的生成矩陣具有的形式,稱為典型生成矩陣。通常,二進(jìn)制(n,k)線性系統(tǒng)碼的生成矩陣G具有如下形式: (2.7)G矩陣的每行都是一個(gè)

9、碼字。有了G矩陣或H矩陣,線性分組碼的構(gòu)造就確定了,根據(jù)C=IG,就可計(jì)算出該碼組的全部碼元。 比較P矩陣和Q矩陣,便知,或。這就是說(shuō),P的第一行就是Q的第一列,P的第二行就是Q的第二列.因此,H一定,Q也就確定,反之亦然。 (2.8) (2.9)3線性分組碼的譯碼為了描述數(shù)據(jù)在傳輸信道中出現(xiàn)差錯(cuò)的情況,引入了錯(cuò)誤圖樣的概念。錯(cuò)誤圖樣:錯(cuò)誤圖樣是接收序列和發(fā)送序列之間的差,用表示。在錯(cuò)誤圖樣中,表示對(duì)應(yīng)位沒(méi)有傳錯(cuò),表示傳輸有錯(cuò)。例如:發(fā)送序列,接收序列,則錯(cuò)誤圖樣??梢?jiàn),在譯碼時(shí),只要設(shè)法從中找到錯(cuò)誤圖樣,就可恢復(fù)發(fā)送端發(fā)送的碼字,。因此,譯碼的任務(wù)就是要找到。首先,我們假定:發(fā)送碼組為,接收

10、碼組為,錯(cuò)誤圖樣。若,說(shuō)明與不同,碼字的位發(fā)生了錯(cuò)誤。由于每個(gè)碼字必須滿足矩陣每行所確定的線性方程,因而收到后,可用矩陣檢查,若等于則認(rèn)為是碼字,沒(méi)有錯(cuò)誤;否則就認(rèn)為不是碼字,產(chǎn)生了錯(cuò)誤。定義:,將稱為接收向量的伴隨式。顯然僅與錯(cuò)誤圖樣有關(guān),而與發(fā)送的碼字無(wú)關(guān)。若,則;若,則。因此根據(jù)是否可為可進(jìn)行碼字的檢查。假如接收碼字中只有一位碼元發(fā)送錯(cuò)誤,又設(shè)錯(cuò)誤在第為,即,其它的均為,則為的第行,為的第列。 (3.1) (3.2) (3.3) (3.4)接收端根據(jù)這個(gè)結(jié)果便可判斷出接收碼的第位發(fā)生錯(cuò)誤,從而實(shí)現(xiàn)糾錯(cuò)。如果接收碼組中有多位碼元同時(shí)發(fā)生錯(cuò)誤,設(shè)錯(cuò)誤在,位,即,其余的,同理可知: (3.5)

11、這說(shuō)明相當(dāng)于H矩陣的第,列的線性組合,假設(shè)這個(gè)線性組合為0,即伴隨式序列,則在接收端是不能判斷出接收碼組中中有錯(cuò)(此時(shí)的錯(cuò)誤稱不可檢錯(cuò)誤)。假設(shè)這個(gè)線性組合恰好相當(dāng)于矩陣的某一列,在接收端根據(jù)這個(gè)結(jié)果來(lái)糾錯(cuò),則會(huì)做出錯(cuò)誤的糾正;假設(shè)這個(gè)線性組合的結(jié)果與矩陣中的任一列都不相當(dāng),則根據(jù)這個(gè)結(jié)果只能檢測(cè)出中有錯(cuò),而不能進(jìn)行糾正。綜上所述,一個(gè)(n,k)碼要能糾正所有單個(gè)錯(cuò),則由所有單個(gè)錯(cuò)誤圖樣確定的均不相同且不等于。若要能糾正個(gè)錯(cuò)誤,顯然要求個(gè)錯(cuò)的所有可能組合的錯(cuò)誤模式都必須有不同的伴隨式與之對(duì)應(yīng)。4設(shè)計(jì)與仿真4.1 C語(yǔ)言平臺(tái)簡(jiǎn)介C語(yǔ)言是Combined Language(組合語(yǔ)言)的中英混合簡(jiǎn)稱

12、。是一種計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。它既具有高級(jí)語(yǔ)言的特點(diǎn),又具有匯編語(yǔ)言的特點(diǎn)。它可以作為工作系統(tǒng)設(shè)計(jì)語(yǔ)言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語(yǔ)言,編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序。各類科研都需要用到C語(yǔ)言,具體應(yīng)用比如單片機(jī)以及嵌入式系統(tǒng)開(kāi)發(fā)。其語(yǔ)言特點(diǎn)如下: (1)C是中級(jí)語(yǔ)言。它把高級(jí)語(yǔ)言的基本結(jié)構(gòu)和語(yǔ)句與低級(jí)語(yǔ)言的實(shí)用性結(jié)合起來(lái)。C 語(yǔ)言可以像匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作, 而這三者是計(jì)算機(jī)最基本的工作單元。 (2)C是結(jié)構(gòu)式語(yǔ)言。結(jié)構(gòu)式語(yǔ)言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化,即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦阌谑褂?、維護(hù)以及調(diào)試。C 語(yǔ)

13、言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語(yǔ)句控制程序流向,從而使程序完全結(jié)構(gòu)化。 (3)C語(yǔ)言功能齊全。具有各種各樣的數(shù)據(jù)類型,并引入了指針概念,可使程序效率更高。另外C語(yǔ)言也具有強(qiáng)大的圖形功能,支持多種顯示器和驅(qū)動(dòng)器。 (4)C語(yǔ)言適用范圍大。適合于多種操作系統(tǒng),如Windows、DOS、UNIX等等;也適用于多種機(jī)型。 (5)C語(yǔ)言對(duì)編寫需要硬件進(jìn)行操作的場(chǎng)合,明顯優(yōu)于其它解釋型高級(jí)語(yǔ)言,有一些大型應(yīng)用軟件也是用C語(yǔ)言編寫的。 開(kāi)始 結(jié)束編碼函數(shù)解碼函數(shù) 選擇函數(shù)4.2整體流程圖 圖4.1 整體流程圖 4.3編碼流程圖 初始化輸入信息碼C13并代 入編碼方程

14、存儲(chǔ)并輸出編碼結(jié)果 C27 返回 圖4.2 編碼流程圖 4.4譯碼流程圖 初始化輸入接收到的碼字R17輸入生成矩陣G37,計(jì)算出監(jiān)督矩陣H47其轉(zhuǎn)置矩陣HT74計(jì)算出伴隨式S4圖4.3 譯碼流程圖 S4=0000 S4=HT74的 第i行接收端認(rèn)為傳輸有錯(cuò),但不能糾正錯(cuò)誤圖樣E7=0000000接收端認(rèn)為傳輸無(wú)錯(cuò)輸出譯碼結(jié)果R2i=R1i+Ei 返回接收端認(rèn)為傳輸中有一個(gè)錯(cuò)誤,此時(shí)錯(cuò)誤圖樣Ei=1 5 仿真結(jié)果及分析(1) 初始化界面設(shè)置 圖5.1 初始化界面的設(shè)置 通過(guò)初始化界面,可以選擇編碼或者譯碼。(2) 編碼的結(jié)果圖5.2 輸入信息碼為111時(shí)的編碼結(jié)果 圖5.3 輸入信息碼為010和

15、110時(shí)的編碼結(jié)果 圖5.4 輸入信息碼為101和011時(shí)的編碼結(jié)果 三位信息碼有八種情況,即000,001,010,011,100,101,110,111.通過(guò)編碼程序的編碼結(jié)果來(lái)看,與表1對(duì)比,發(fā)現(xiàn)編碼結(jié)果與理論值相一致,表明程序正確。(3)輸入信息碼中有非二進(jìn)制碼是的處理結(jié)果 圖5.5 輸入信息碼有錯(cuò)誤時(shí)的提醒示意圖(4) 譯碼的結(jié)果 圖5.6 監(jiān)督矩陣及轉(zhuǎn)置矩陣的計(jì)算示意圖 (5)正確譯碼時(shí)的運(yùn)行結(jié)果圖5.7 譯碼正確時(shí)的示意圖 (6) 運(yùn)行錯(cuò)誤時(shí)的結(jié)果 圖5.8 運(yùn)行有一個(gè)錯(cuò)誤時(shí)的結(jié)果示意圖圖5.9 運(yùn)行有兩位錯(cuò)碼時(shí)的結(jié)果示意圖設(shè)計(jì)總結(jié) 此次課程設(shè)計(jì)主要針對(duì)線性分組碼編碼譯碼提出自己

16、的設(shè)計(jì)方案,并利用C語(yǔ)言來(lái)實(shí)現(xiàn)自己的軟件設(shè)計(jì)。設(shè)計(jì)中用到了很多計(jì)算機(jī)通信課程中學(xué)到的知識(shí),例如:差錯(cuò)控制技術(shù)等。由于對(duì)所學(xué)概念掌握的不準(zhǔn)確,原理不是很清晰,雖然條條框框的理論知識(shí)一大推,但由于沒(méi)有經(jīng)過(guò)實(shí)踐的檢驗(yàn),當(dāng)正式用時(shí)卻不知道怎么用,更不知道該往哪用,從而導(dǎo)致在設(shè)計(jì)的過(guò)程中不能抓住重點(diǎn),不清楚到底該怎么做,使得在設(shè)計(jì)過(guò)程中繞了許多彎路,做了許多的無(wú)用功。設(shè)計(jì)過(guò)程中查閱了大量的有關(guān)線性分組碼編碼與譯碼的書籍,鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書本上所沒(méi)有學(xué)到過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合的必要性,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,它更多的只是用來(lái)應(yīng)付考試,而當(dāng)正真實(shí)際操作

17、時(shí)卻是困難重重,所以只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),并從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)過(guò)程中遇到的問(wèn)題,可以說(shuō)得是很多,例如剛開(kāi)始時(shí),對(duì)線性分組碼的理解不是很透徹,不知道其編碼與譯碼的方法;后來(lái)剛熟悉了原理,卻因?yàn)閷?duì)C語(yǔ)言知識(shí)掌握不扎實(shí),編寫不出來(lái)正確的程序,以致又花費(fèi)了好多時(shí)間繼續(xù)學(xué)習(xí)C語(yǔ)言 編程和上網(wǎng)查找相關(guān)資料,導(dǎo)致惡性循環(huán),待編好程序時(shí)已費(fèi)了很多功夫,這畢竟跟平時(shí)的理論知識(shí)有著很大的關(guān)聯(lián),故在以后的學(xué)習(xí)中一定要穩(wěn)扎穩(wěn)打,深刻理解理論知識(shí),為今后的實(shí)踐性活動(dòng)打下堅(jiān)實(shí)的基礎(chǔ),以免到時(shí)又像這次一樣再費(fèi)周折;同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了

18、自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固??傊?,通過(guò)這次課程設(shè)計(jì)之后,我發(fā)現(xiàn)自己的不足之處還很多,我下去以后一定把以前所學(xué)過(guò)的知識(shí)重新溫故。對(duì)我而言,知識(shí)上的收獲重要,精神上的豐收更加可喜。讓我知道了學(xué)無(wú)止境的道理。我們每一個(gè)人永遠(yuǎn)不能滿足于現(xiàn)有的成就,人生就像在爬山,一座山峰的后面還有更高的山峰在等著你。挫折是一份財(cái)富,經(jīng)歷是一份擁有。這次課程設(shè)計(jì)必將成為我人生旅途上一個(gè)非常美好的回憶!參考文獻(xiàn)1 吳玲達(dá),李國(guó)輝,楊冰 等著. 計(jì)算機(jī)通信原理與技術(shù)M. 國(guó)防科技大 學(xué)出版,2003,32 潘新民 著. 計(jì)算機(jī)通信技術(shù)M. 電子工業(yè)出版社,2003,73 孫麗華 著.

19、信息論與糾錯(cuò)編碼M. 電子工業(yè)出版社,2005,34 Proakis 著. 張力軍 譯. 數(shù)字通信(第四版)M. 電子工業(yè)出版社,2004,75 龐振平,韓松洋,崔樹(shù)林 著. 計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)M.華南理工大學(xué)出版社, 2007,2致謝這次課程設(shè)計(jì)得以順利完成,要感謝的人實(shí)在太多了。首先我要衷心感謝我的指導(dǎo)老師彭老師,您嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,開(kāi)闊的思維,循循善誘的指導(dǎo)一直給我很大的幫助。在做課程設(shè)計(jì)的過(guò)程中遇到了很多困難。但是每次彭老師都給我耐心的指導(dǎo),我從中學(xué)到了很多知識(shí)。彭老師教學(xué)的態(tài)度和對(duì)學(xué)術(shù)一絲不茍的精神,是我一生要學(xué)習(xí)的榜樣,這將對(duì)我以后的生活和學(xué)習(xí)產(chǎn)生積極的影響。同時(shí)我還要感謝在這次課程

20、設(shè)計(jì)中給與我?guī)椭耐瑢W(xué),是你們?cè)谖矣欣щy時(shí)伸出援助之手,給我講解,幫忙調(diào)試電路,正是你們的幫助與支持,我才能克服一個(gè)個(gè)困難,才能順利地完成這次課程設(shè)計(jì),謝謝你們。附錄/*這是(7,3)線性分組碼的編譯碼及驗(yàn)證程序*/#include#include#include/*函數(shù)聲明*/void Begin();void Code();void Decoding();/*主函數(shù)*/main()printf(n這是(7,3)線性分組碼的編譯碼及驗(yàn)證的軟件設(shè)計(jì):n);printf(n);Begin();void Begin()char ch;fflush(stdin);printf( -n);printf

21、(n);printf( - 輸入c代表編碼函數(shù)Code -);printf(n); printf(n);printf( - 輸入d代表譯碼函數(shù)Decoding -);printf(n);printf(n);printf( -n);ch=getchar();if(ch=c)Code(); else if(ch=d)Decoding();void Code()int C13,C27;int i;printf(輸入三位信息碼:n);for(i=0;i3;i+)scanf( %d,&C1i);for(i=0;i3;i+)if(C1i!=0&C1i!=1)printf(輸入的信息碼有錯(cuò),請(qǐng)檢查后重新選擇

22、輸入n); Begin();for(i=0;i3;i+)C2i=C1i;C23=C10+C12;C24=C10+C11+C12;C25=C10+C11;C26=C11+C12;for(i=0;i7;i+)if(C2i=2)C2i=0;else if(C2i=3)C2i=1;printf(編碼結(jié)果為:n);for(i=0;i7;i+)printf( %d,C2i);printf(n);printf(_n); Begin();void Decoding()int G37,P34,Q43,R17,HT73,R27,C3;int H47=0,S4=0,E7=0;int i,j,n,k,t=0;prin

23、tf(n輸入生成矩陣G:n);for(i=0;i3;i+)for(j=0;j7;j+)scanf( %d,&Gij);printf(n計(jì)算出矩陣P:n);for(i=0;i3;i+)for(j=3;j7;j+)Pij-3=Gij; for(i=0;i3;i+)for(j=0;j4;j+)printf(%20d,Pij);printf(n);printf(計(jì)算出矩陣Q:n);for(i=0;i3;i+)for(j=0;j4;j+)Qji=Pij;for(i=0;i4;i+)for(j=0;j3;j+) printf(%26d,Qij); printf( );printf(n);printf(計(jì)算

24、監(jiān)督矩陣H:n);for(i=0;i4;i+)for(j=0;j3;j+)Hij=Qij;for(i=0;i4;i+)j=3;Hii+j=1;for(i=0;i4;i+)for(j=0;j7;j+)printf(%11d,Hij);printf( );printf(n);printf(計(jì)算H的轉(zhuǎn)置矩陣HT:n);for(i=0;i4;i+)for(j=0;j7;j+)HTji=Hij;for(i=0;i7;i+)for(j=0;j4;j+)printf(%20d,HTij);printf(n);printf(輸入接收到的碼字R1:n);for(i=0;i7;i+)scanf( %d,&R1i);printf(計(jì)算伴隨式S:n);for(i=0;i4;i+)for(j=0;j7;j+)Si=S

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論