信息論課程設(shè)計(jì)報(bào)告實(shí)驗(yàn)報(bào)告_第1頁(yè)
信息論課程設(shè)計(jì)報(bào)告實(shí)驗(yàn)報(bào)告_第2頁(yè)
信息論課程設(shè)計(jì)報(bào)告實(shí)驗(yàn)報(bào)告_第3頁(yè)
信息論課程設(shè)計(jì)報(bào)告實(shí)驗(yàn)報(bào)告_第4頁(yè)
信息論課程設(shè)計(jì)報(bào)告實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩4頁(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、-. z.信息論課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告題 目 1:實(shí)現(xiàn)香農(nóng)編碼及計(jì)算其編碼效率 題 目 2: 實(shí)現(xiàn)有噪信道編碼中的循環(huán)碼 院 系部: 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 專(zhuān)業(yè)及班級(jí): 信息與計(jì)算科學(xué)1301班 姓 名:唐詩(shī)韻 學(xué) 號(hào): 1308060105 日 期: 2016/01/10目 錄TOC o 1-3 u 1. 課題描述12. 信源編碼的相關(guān)介紹 PAGEREF _Toc8649 23. 香農(nóng)編碼題目一33.1. 香農(nóng)編碼算法33.2. 香農(nóng)編碼特點(diǎn)44. 香農(nóng)編碼的C+程序?qū)崿F(xiàn)44.1. 程序設(shè)計(jì)44.2. 運(yùn)行結(jié)果65. 實(shí)現(xiàn)有噪信道中的循環(huán)碼編碼方法題目二65.1. 循環(huán)碼編碼算法65.2. 循環(huán)

2、碼編碼特點(diǎn)76. 循環(huán)碼編碼的C+程序?qū)崿F(xiàn)76.1. 程序設(shè)計(jì)76.2. 運(yùn)行結(jié)果97. 總 結(jié)108. 參考文獻(xiàn)11-. z.課題描述信息論是一門(mén)理論和實(shí)踐相結(jié)合的專(zhuān)業(yè),因此相關(guān)題目都是來(lái)自于實(shí)踐,同時(shí)具有上機(jī)練習(xí)的可操作性,此門(mén)科目是通信的根底。香農(nóng)1984年發(fā)表的一篇論文標(biāo)志著信息論誕生,在他的論文中主要用概率來(lái)描述有效傳輸信息的問(wèn)題,用概率給予了信息的定量描述方法,并提出了信源熵的概念,在現(xiàn)實(shí)生活中,人們經(jīng)常把消息和信息分不清,認(rèn)為消息就是信息,實(shí)則不是,消息是描述實(shí)物,而信息是定量描述一個(gè)消息所傳輸?shù)男畔⒘?,通常用自信息量?lái)描述一個(gè)消息所傳達(dá)的信息量,它取值為此事件發(fā)生的概率的負(fù)對(duì)數(shù)

3、,它表示一個(gè)事件發(fā)生之前此事件發(fā)生的不確定性大小,也表示一個(gè)事件發(fā)生后它所能提供的信息量,兩個(gè)相互獨(dú)立的消息所提供的信息量等于各自信息量之和。此外,還可用互信息來(lái)描述信息的傳達(dá),為一個(gè)事件給出關(guān)于另一個(gè)事件的信息量,也表示事件y出現(xiàn)后信宿獲得的關(guān)于*的信息量,互信息的引出,使信息的傳遞得到了定量的表示。如果事件是以序列的形式表示的,及事件集,則用平均自信息量來(lái)表示信源所傳遞的信息,平均信息量表示信源的平均不確定性,比方拋擲一枚硬幣的試驗(yàn)所包含的平均信息量。要表示序列集的互信息量則用平均互信息來(lái)表示,是一個(gè)事件集所給出的關(guān)于另一個(gè)事件集的平均信息量,比方今天的天氣所給出關(guān)于明天的天氣的信息量。這

4、些關(guān)于信息的定量度量方法可以用到離散隨機(jī)變量和連續(xù)信源的情況中去,以此來(lái)描述信息的傳達(dá)。信息論,顧名思義,是研究對(duì)信息的處理的課題,怎樣把信息通過(guò)一定的渠道傳給另一個(gè)機(jī)制,要首先選擇一個(gè)通道,及信道,然后將信息轉(zhuǎn)化成特定的數(shù)字信號(hào)即編碼,然后在傳輸信道末端將信號(hào)轉(zhuǎn)化為信息,即譯碼,這就把信息傳輸出去了。信源就是產(chǎn)生消息和消息序列的源,編碼器就是把消息變成適合在信道傳輸?shù)奈锢砹?,這種物理量成為信號(hào),信號(hào)攜帶著消息,是消息的載體。信道是指通信系統(tǒng)把信號(hào)從發(fā)送端送到接收端的媒介通道,它還有儲(chǔ)存信號(hào)的作用。譯碼就是把信道輸出的已增加了干擾的信號(hào)進(jìn)展反變換,使之變換成信宿能夠理解的消息,譯碼器需要盡可能

5、準(zhǔn)確的再現(xiàn)信源輸出的消息,就要求干擾盡可能小,而且譯碼盡可能準(zhǔn)確。信宿就是消息傳送的對(duì)象,及承受消息的人、機(jī)器或其他事物。 信息論就是用概率描述抽象的消息通過(guò)一定渠道傳輸?shù)搅硪粋€(gè)機(jī)制時(shí)的過(guò)程中的各種外部干擾或部干擾對(duì)于傳輸結(jié)果的影響,信息的傳遞效果有很多的具體度量方式,例如:離散信源和連續(xù)信源的信源熵、離散及連續(xù)信道信道容量等。為了使信源轉(zhuǎn)化為信號(hào),就要對(duì)信源進(jìn)展編碼,編碼效率與信源序列的平均碼長(zhǎng)及信源熵有關(guān),有各種編碼方法,如:香農(nóng)編碼、費(fèi)諾編碼、哈夫曼編碼等。此外,還要對(duì)信道進(jìn)展編碼,在信道上編碼會(huì)有錯(cuò)誤,并且要設(shè)置編碼規(guī)則,所以糾錯(cuò)編碼就顯得尤為重要,對(duì)信道的一般要,糾錯(cuò)檢錯(cuò)能力強(qiáng),信息

6、傳輸效率高。但消息在傳達(dá)過(guò)程中是不可能不會(huì)出現(xiàn)失真,所以就要對(duì)信源編碼進(jìn)展限失真,以保證信息傳輸效率在一定圍。信源編碼的相關(guān)介紹 信源來(lái)說(shuō),一個(gè)主要的問(wèn)題是怎樣能合理的描述并表示信源的輸出,因?yàn)閷?duì)方要接收到信源,就需要以一種特定的形式輸出,為了能讓輸出的消息更容易理解并應(yīng)用,就需要對(duì)輸入的信源進(jìn)展編碼,使之變換成適合信道傳輸?shù)姆?hào)序列,同時(shí),為了盡量減少信源的失真度,應(yīng)該盡可能減少碼符號(hào),以便于提高傳輸效率。信源編碼是按照一定的規(guī)則將信源符號(hào)映射成數(shù)學(xué)符號(hào),并進(jìn)展傳輸?shù)囊环N編碼,完成編碼功能的器件成為編碼器,接收端的譯碼器完成相反的功能,為了使編碼效率更高,就要對(duì)碼字進(jìn)展冗余度處理,去除冗余度

7、有兩個(gè)方法,第一個(gè)方法是去除相關(guān)性,及使得各個(gè)信源之間獨(dú)立性提高,這一般是對(duì)信源序列進(jìn)展編碼,第二種方法是使得各個(gè)信源出現(xiàn)的概率盡可能相等,使概率分布均勻,小概率消息對(duì)應(yīng)長(zhǎng)碼,大概率消息對(duì)應(yīng)短碼,以此來(lái)去除冗余度,提高編碼效率。第一個(gè)完成的主要任務(wù)是實(shí)現(xiàn)香農(nóng)編碼,香農(nóng)編碼主要是對(duì)出現(xiàn)概率的信源符號(hào)進(jìn)展編碼,而對(duì)出現(xiàn)概率較小的信源符號(hào)編長(zhǎng)碼,從而使平均碼長(zhǎng)最短,到達(dá)最正確的編碼目的,在編碼領(lǐng)域占有重要地位,屬于變長(zhǎng)編碼方法,及在保證不失真的前提下對(duì)信源進(jìn)展編碼,來(lái)提高編碼效率,此編碼方法依賴于信源的概率,每個(gè)信源的概率都不同,因此碼長(zhǎng)也就不同,概率大的信源碼長(zhǎng)短,概率小的信源碼長(zhǎng)大,編碼時(shí)應(yīng)該盡

8、可能使平均碼長(zhǎng)較小,能到達(dá)便于傳輸?shù)哪康摹?線性分組碼是一種有實(shí)用價(jià)值的碼,屬于有噪信道編碼的一局部,信道輸出時(shí)要輸出結(jié)果為輸入時(shí)的結(jié)果,難免會(huì)出錯(cuò),發(fā)生錯(cuò)誤的概率成為譯碼錯(cuò)誤概率,這一錯(cuò)誤概率取決于信道特性,且不可能為零,香農(nóng)的研究說(shuō)明,如果將信源在傳入信道之前進(jìn)展編碼,并在最后進(jìn)展譯碼,有可能實(shí)現(xiàn)無(wú)誤的傳輸,及可以通過(guò)不可靠的信道對(duì)信源進(jìn)展可靠性傳輸。線性分組碼是將信源分為信息位和監(jiān)視位,如,碼長(zhǎng)為n,信息位為k,則監(jiān)視位為n-k,以此為原型,寫(xiě)出校驗(yàn)矩陣,然后根據(jù)校驗(yàn)矩陣和生成矩陣之間滿足的關(guān)系寫(xiě)出生成矩陣,再用生成矩陣與信息序列異或相乘,則得到其線性分組碼。此課題完成的任務(wù)是循環(huán)碼編碼

9、,循環(huán)碼是線性分組碼的一個(gè)子類(lèi),具有完整的代數(shù)構(gòu)造,它滿足循環(huán)移位特性,碼中任何一個(gè)碼字的循環(huán)移位仍是碼中的一個(gè)碼字,一般n,k線性分組碼的k個(gè)基底之間不存在規(guī)則的聯(lián)系,因此需要用k個(gè)基底組成生成矩陣來(lái)表示一個(gè)碼的特征。而循環(huán)碼的k個(gè)基底可以是同一個(gè)基底循環(huán)k次得到,因此用一個(gè)基底就可以表示一個(gè)碼的特征,我們可以用不大于n-1次的碼多項(xiàng)式C*來(lái)表示:移n位后又回到,一個(gè)碼字的移位最多能得到n個(gè)碼字,因此循環(huán)碼碼字的循環(huán)并不意味著循環(huán)碼可以僅從一個(gè)碼字循環(huán)而得,一個(gè)n,k循環(huán)碼有個(gè)碼字,它們都是同一基底的線性組合根據(jù)線性碼空間的封閉性,碼字的線性組合仍是碼字。3.香農(nóng)編碼題目一3.1香農(nóng)編碼算法

10、 香農(nóng)算法步驟如下:將所有q個(gè)信源符號(hào)按其概率的遞減次序排列。例如,一組信源序列為0.18,0.20,0.19,0.17,0,15,0.10,,0,01則將其按從大到小的順序排列為0.20,0.19,0.18,0.17,0.15,0.10,0.01 2按下式依次計(jì)算每個(gè)信源符號(hào)的二元碼碼長(zhǎng) 例如,自信息量為2.34的信源的碼長(zhǎng)為3. 3計(jì)算每個(gè)信源符號(hào)的累加概率,并變換成二進(jìn)制小數(shù)得到其碼字。累加概率: 將累加概率變換成二進(jìn)制小數(shù),取小數(shù)點(diǎn)后位數(shù)作為第i個(gè)信源符號(hào)的碼字.3.2香農(nóng)編碼特點(diǎn)香農(nóng)編碼的特點(diǎn)是:它需要對(duì)信源符號(hào)概率進(jìn)展排序,要計(jì)算累加概率,還要計(jì)算碼長(zhǎng)。香農(nóng)編碼是對(duì)出現(xiàn)概率較高的信

11、源符號(hào)編短碼,而對(duì)出現(xiàn)概率較小的信源符號(hào)編長(zhǎng)碼,從而使平均碼長(zhǎng)最短,到達(dá)最正確編碼的目的。它的缺點(diǎn)是需要對(duì)輸入的信源概率進(jìn)展排序,而且計(jì)算結(jié)果和費(fèi)諾編碼比起來(lái)不是很準(zhǔn)確,但操作較簡(jiǎn)單。4.香農(nóng)編碼的C+程序?qū)崿F(xiàn)4.1程序設(shè)計(jì)此題目是完成香農(nóng)編碼,設(shè)計(jì)的程序要完成的任務(wù)是:人工輸入信源個(gè)數(shù)及各個(gè)信源出現(xiàn)的概率之和必須為1,如果不為1,則跳轉(zhuǎn)回重新輸入信源概率、計(jì)算累加概率、計(jì)算各個(gè)信源的自信息量、由自信息量計(jì)算碼長(zhǎng)、根據(jù)累加概率得出二元碼、求信源熵和平均碼長(zhǎng),然后求信源熵和平均碼長(zhǎng)的商即為編碼效率。此程序就是按照求二元碼及其編碼效率的計(jì)算步驟一步一步設(shè)計(jì),在設(shè)計(jì)過(guò)程中計(jì)算累加概率時(shí)看似簡(jiǎn)單,只進(jìn)

12、展加運(yùn)算,但要注意的是累加概率是對(duì)之前概率相加,不包括當(dāng)前概率,這塊容易出錯(cuò),然后就是計(jì)算碼長(zhǎng)時(shí)是取自信息量的整數(shù)值,此程序的難點(diǎn)是二元碼的計(jì)算,二元碼的長(zhǎng)度與碼長(zhǎng)一樣,且計(jì)算時(shí)是用二進(jìn)制數(shù)相乘運(yùn)算,容易出錯(cuò),而且輸出時(shí)還要注意每個(gè)二元碼之間要有間隔。后面求編碼效率比較容易,是把信源熵和平均碼長(zhǎng)相除得到。程序設(shè)計(jì)框圖如下:4.2運(yùn)行結(jié)果5.實(shí)現(xiàn)有噪信道編碼中的循環(huán)碼題目二5.1循環(huán)碼編碼算法 一般n,k線性分組碼的k個(gè)基底之間不存在規(guī)則的聯(lián)系,因此需要用k個(gè)基底組成生成矩陣來(lái)表示一個(gè)碼的特征。而循環(huán)碼的k個(gè)基底可以是同一個(gè)基底循環(huán)k次得到,因此用一個(gè)基底就可以表示一個(gè)碼的特征,我們可以用不大于

13、n-1次的碼多項(xiàng)式C*來(lái)表示:循環(huán)碼的循環(huán)特性可以用碼多項(xiàng)式表示為移1位:移2位:移n-1位:移n位后又回到,一個(gè)碼字的移位最多能得到n個(gè)碼字,因此循環(huán)碼碼字的循環(huán)并不意味著循環(huán)碼可以僅從一個(gè)碼字循環(huán)而得,一個(gè)n,k循環(huán)碼有個(gè)碼字,它們都是同一基底的線性組合根據(jù)線性碼空間的封閉性,碼字的線性組合仍是碼字。 在2k個(gè)碼字的碼多項(xiàng)式中取一個(gè)次數(shù)最低即n-k次的多項(xiàng)式作為生成多項(xiàng)式,用g*表示??梢宰C明,g(*)是嘛多項(xiàng)式中唯一一個(gè)n-k次多項(xiàng)式且常數(shù)項(xiàng)不為0,由生成多項(xiàng)式可以得到循環(huán)碼的生成矩陣,然后用初等行變換將此生成矩陣轉(zhuǎn)化為系統(tǒng)形式的生成矩陣,再寫(xiě)出信息序列,用信息序列與系統(tǒng)矩陣異或相乘則得

14、到循環(huán)碼。5.2循環(huán)碼編碼特點(diǎn)循環(huán)碼編碼過(guò)程較簡(jiǎn)單,只要根據(jù)生成多項(xiàng)式寫(xiě)出生成矩陣然后轉(zhuǎn)換成系統(tǒng)矩陣,再用信息序列與其相乘就得到循環(huán)碼,但得到生成多項(xiàng)式較困難,因?yàn)橐獙?duì)多項(xiàng)式進(jìn)展分解然后尋找最高次數(shù)為n-k的那項(xiàng)作為生成多項(xiàng)式,而且循環(huán)碼與漢明碼相比,循環(huán)碼的碼長(zhǎng)和信息位之間的關(guān)系沒(méi)有限制,而漢明碼的碼長(zhǎng)和信息位存在一定的關(guān)系,所以在設(shè)置循環(huán)碼的碼長(zhǎng)時(shí)選擇空間較大。循環(huán)碼是線性分組碼的一子類(lèi),它具有完整的代數(shù)構(gòu)造,此外,它還滿足循環(huán)移位特性:碼C中任何一個(gè)碼字的循環(huán)移位仍是碼C中的一個(gè)碼字。碼字的線性組合仍是碼字。循環(huán)碼時(shí)有實(shí)用價(jià)值的一種糾錯(cuò)碼。6.循環(huán)碼編碼的C程序?qū)崿F(xiàn)6.1程序設(shè)計(jì)編此循環(huán)

15、碼的實(shí)現(xiàn)過(guò)程時(shí)要設(shè)置一些變量,最重要的是該如何表示最后輸出的結(jié)果,最后的輸出結(jié)果為兩列,左邊那列是信息序列,右邊那列是循環(huán)碼序列,因此設(shè)計(jì)程序的時(shí)候用一個(gè)16行11列的數(shù)組表示,前四列為信息序列,后七列為循環(huán)碼序列。設(shè)計(jì)程序的步驟為:先設(shè)定線性分組碼的碼長(zhǎng)及信息位,以此計(jì)算出監(jiān)視位,然后得出它的生成多項(xiàng)式,根據(jù)生成多項(xiàng)式及移位規(guī)則寫(xiě)出生成多項(xiàng)式,用初等行變換將此矩陣轉(zhuǎn)化為系統(tǒng)形式的生成矩陣,然后用二進(jìn)制方法寫(xiě)出信息序列,用信息序列與系統(tǒng)矩陣相乘,則得出循環(huán)碼,容易出錯(cuò)的地方是矩陣T的設(shè)置以及編寫(xiě)過(guò)程中的賦值,因?yàn)檩斎胄畔⑿蛄袝r(shí)是按照二進(jìn)制規(guī)則寫(xiě)的,所以前四列較容易寫(xiě)出來(lái),求循環(huán)碼時(shí)是用信息序列

16、與系統(tǒng)矩陣異或相乘,所以相乘后的數(shù)字要進(jìn)展轉(zhuǎn)化,這一塊是此代碼的難點(diǎn),如果稍有不慎就會(huì)出現(xiàn)數(shù)據(jù)溢出或傳值時(shí)未傳進(jìn)去等問(wèn)題,最后輸出T矩陣時(shí)還要注意格式,為了使得輸出結(jié)果與課本上的形式一樣,就要注意空格鍵的使用對(duì)于16行11列來(lái)說(shuō),遍歷時(shí)從0開(kāi)場(chǎng),到15,從0到10,行數(shù)和列數(shù)的設(shè)置容易出錯(cuò)。在兩個(gè)矩陣相乘時(shí)要注意第一個(gè)矩陣的行乘以第二個(gè)矩陣的列,所以第一個(gè)矩陣的列數(shù)和第二個(gè)矩陣的行數(shù)一樣,這些細(xì)節(jié)都要注意。算法設(shè)計(jì)框圖如下:6.2運(yùn)行結(jié)果7.總 結(jié)此次寫(xiě)代碼難度較大,因?yàn)樗鉀Q的問(wèn)題也較復(fù)雜,之前接觸的這課程的相關(guān)編程不多,所以只是學(xué)到了理論知識(shí),但是此次的編程需要用到大一大二學(xué)到的相關(guān)編程

17、知識(shí),所以我首先復(fù)習(xí)了編程的相關(guān)知識(shí)點(diǎn),再根據(jù)選題,對(duì)相關(guān)的編碼進(jìn)展系統(tǒng)復(fù)習(xí),最后才開(kāi)場(chǎng)編寫(xiě)代碼,寫(xiě)代碼時(shí)要從數(shù)學(xué)問(wèn)題出發(fā),用計(jì)算機(jī)構(gòu)造數(shù)學(xué)式,雖然用的是最簡(jiǎn)單的VC環(huán)境和C+語(yǔ)言,但編此代碼需要較強(qiáng)的邏輯思維,計(jì)算的每一個(gè)步驟都不能出錯(cuò),否則會(huì)影響下一步的計(jì)算直至最終結(jié)果,編程過(guò)程中需非常細(xì)心,變量常量的設(shè)定,以及計(jì)算各個(gè)局部的參數(shù)值,各個(gè)賦值語(yǔ)句等都需要多多注意細(xì)節(jié)。第一個(gè)香農(nóng)編碼較簡(jiǎn)單,因?yàn)槭歉鶕?jù)教材上的步驟一步一步往下操作,每一步都能得出相應(yīng)的值,并且香農(nóng)編碼是唯一可譯碼,一般無(wú)需考慮其它編碼方式的問(wèn)題。需要注意的是輸入信源概率后需要對(duì)其進(jìn)展從大到小的排列,此處用的是冒泡排序法,然后再對(duì)排序后的概率進(jìn)展相關(guān)操作。第二個(gè)程序是實(shí)現(xiàn)循環(huán)碼,最大的問(wèn)題在于矩陣布爾乘及最后如何表示輸出結(jié)果,信息序列的設(shè)定,把這些問(wèn)題一一解決了,程序就變得簡(jiǎn)單了許多。 此次寫(xiě)代碼用的是最根底的c語(yǔ)言,在代碼編寫(xiě)的過(guò)程中需要不斷地改進(jìn),完善,調(diào)試,分析,和嘗試,才能最終得出結(jié)果,而且為了符合設(shè)計(jì)的根本要求,就要在設(shè)計(jì)過(guò)程中多做思考,程序總體來(lái)說(shuō)比較復(fù)

溫馨提示

  • 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)論