RS(255,223)糾錯(cuò)編碼的MATLAB仿真課程設(shè)計(jì) (NXPowerLite)_第1頁
RS(255,223)糾錯(cuò)編碼的MATLAB仿真課程設(shè)計(jì) (NXPowerLite)_第2頁
RS(255,223)糾錯(cuò)編碼的MATLAB仿真課程設(shè)計(jì) (NXPowerLite)_第3頁
RS(255,223)糾錯(cuò)編碼的MATLAB仿真課程設(shè)計(jì) (NXPowerLite)_第4頁
RS(255,223)糾錯(cuò)編碼的MATLAB仿真課程設(shè)計(jì) (NXPowerLite)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、編號: 課程設(shè)計(jì)說明書題 目: rs(255,223)糾錯(cuò)編碼的 matlab仿真 院 (系): 專 業(yè): 學(xué)生姓名: 學(xué) 號: 指導(dǎo)教師: 2013 年 12月10日目 錄1 引言21.1信道編碼理論與技術(shù)的發(fā)展歷程及應(yīng)用21.2 糾錯(cuò)編碼簡介42 reed solomon編碼概述53 reed solomon編碼抽象代數(shù)基礎(chǔ)63.1 群63.2 環(huán)和域73.3 有限域73.4 歐幾里得算法84 bch碼、rs碼及其編碼94.1 bch碼、rs碼簡介94.2 rs碼的構(gòu)造方法105 rs碼的譯碼115.1 關(guān)鍵方程的引入125.2 多項(xiàng)式的歐幾里得算法135.3 bch/rs碼的解碼步驟15

2、6 matlab主要程序及其仿真結(jié)果187 總結(jié)19致謝20參考文獻(xiàn)21附 錄22摘 要在糾錯(cuò)碼領(lǐng)域中reed-solomon碼是一類具有嚴(yán)格代數(shù)結(jié)構(gòu)的線性分組碼。由于它突出的糾錯(cuò)能力(特別是糾突發(fā)錯(cuò)誤的能力),常被應(yīng)用于數(shù)據(jù)存儲(chǔ)以及現(xiàn)代數(shù)字通信系統(tǒng)中。在衛(wèi)星通訊中,差錯(cuò)控制編碼技術(shù)對降低誤碼率、提高通信的可靠性具有非常重要的作用。rs(reed-solomon)碼是差錯(cuò)控制領(lǐng)域中一種性能優(yōu)異的線性分組循環(huán)碼,由于其具有很強(qiáng)的隨機(jī)錯(cuò)誤和突發(fā)錯(cuò)誤的糾錯(cuò)能力,所以被ccsds、nasa、esa 等空間組織接受,廣泛用于深空探測中。目前我國還沒有高碼速率的 rs 硬件譯碼器,雖然“雙星計(jì)劃”已經(jīng)采用

3、 rs糾錯(cuò)編碼技術(shù),在衛(wèi)星上使用 rs(255,223)硬件編碼器進(jìn)行編碼,但是由于硬件譯碼器的復(fù)雜性,地面接收系統(tǒng)采用的是軟件譯碼,無法保證通信的實(shí)時(shí)性。為此,本文在詳細(xì)介紹rs(255,223)編碼譯碼的基礎(chǔ)上,利用matlab軟件對該理論進(jìn)行仿真。關(guān)鍵詞:reed-solomon編碼;抽象代數(shù);rs碼編碼;rs碼譯碼算法;rs(255,223)仿真;matlab1 引言1.1 信道編碼理論與技術(shù)的發(fā)展歷程及應(yīng)用shannon 的信道編碼定理給出了有噪信道通信的最大速率,證明了好碼的存在性,但對該定理證明是非構(gòu)造性的,它沒有告訴我們怎么構(gòu)造好碼。如何通過不可靠信道進(jìn)行可靠的通信,是編碼理論

4、所要研究的問題。半個(gè)多世紀(jì)以來,眾多的學(xué)者為構(gòu)造逼近容量限的糾錯(cuò)碼做了大量的工作,但這一問題直到 45 年后才基本得到解決。但是,“過程比目標(biāo)更重要”,在應(yīng)對這一挑戰(zhàn)的過程中,編碼理論家和工程師們應(yīng)用組合數(shù)學(xué)、線性代數(shù)、概率論、有限域理論等數(shù)學(xué)工具,建立了糾錯(cuò)碼的性能參數(shù)限,發(fā)現(xiàn)了許多構(gòu)造糾錯(cuò)碼的方法,并設(shè)計(jì)了有效的編譯碼算法,為信息技術(shù)的蓬勃發(fā)展建立了不朽的功勛!在 shannon 的論文發(fā)表之前,richard hamming 就已經(jīng)為早期的計(jì)算機(jī)設(shè)計(jì)了一種糾單個(gè)錯(cuò)誤的碼,邁出了信道編碼理論與技術(shù)研究的第一步。之后,信道編碼理論與與技術(shù)的大致經(jīng)歷了以下幾個(gè)發(fā)展階段:1. 50 年代至 60

5、 年代初這是編碼理論從無到有并得到迅速發(fā)展的年代,現(xiàn)代編碼理論的許多思想都起源于這一時(shí)期。1)發(fā)現(xiàn)了幾種線性分組碼,如 golay 碼、reed-muller 碼(rm 碼)、reed-solomon 碼(rs 碼)、bose-chaudhuri-hocquengham 碼(bch 碼)、低密度校驗(yàn)碼(ldpc 碼)等,以及卷積碼;2)為這些碼設(shè)計(jì)了有效的譯碼算法,如用于 rs 碼和 bch 碼譯碼的 pgz 算法、用于卷積碼譯碼的 fano 譯碼算法;3)證明了糾錯(cuò)碼的幾個(gè)最小碼距限,如 hamming 限(h 限)、singleton限、plotkin 限(p 限)、gilbert-var

6、shamove 限(gv 限),其證明可以在編碼理論的基礎(chǔ)教材中找到;4)1957 年,elias 提出了一種概念譯碼器表單譯碼器(list decoder),以突破傳統(tǒng)的限定距離譯碼(bdd)的半最小碼距的糾錯(cuò)半徑;5)1961 年,w. w. peterson 編寫了第一本關(guān)于糾錯(cuò)碼理論的專著,系統(tǒng)地闡述了糾錯(cuò)碼的基本理論。2. 60 年代至 70 年代初這是糾錯(cuò)碼發(fā)展最為活躍的時(shí)期之一。在此期間,以代數(shù)方法特別是以有限域理論為基礎(chǔ)的線性分組碼理論已趨成熟。1)提出了許多有效的編、譯碼方法。1965年,e. r. berlekamp提出了一種實(shí)用分組碼的代數(shù)譯碼算法,1969年, j.l.

7、 massey從序列綜合的角度重新推導(dǎo)了這一算法,后人稱之為berlekamp-massey算法(bm算法)。bm算法的提出,是分組碼走向?qū)嵱玫囊粋€(gè)重要里程碑。1966年,g. d. forney第一次采用簡單的分量碼構(gòu)造級聯(lián)碼,以提高碼的性能。第一個(gè)成功的級聯(lián)碼是采用卷積碼作內(nèi)碼、rs碼作外碼的串行級聯(lián)碼,其典型應(yīng)用是在衛(wèi)星通信、深空探測等領(lǐng)域,如voyager、galileo、cassini等任務(wù),這種編碼方式還被應(yīng)用于美國的數(shù)字電視(atsc)、歐洲的數(shù)字視頻廣播(dvb)和數(shù)字音頻廣播(dab)等系統(tǒng)中;另一種典型的級聯(lián)碼是c. berrou于1993年發(fā)現(xiàn)的并行級聯(lián)卷積碼(pccc)

8、,即我們通常所稱的turbo碼,這是一種逼近shannon限的碼。1967年,a. j. viterbi提出了卷積碼的最大似然譯碼算法,實(shí)現(xiàn)了數(shù)字通信中信道編碼技術(shù)的一次實(shí)質(zhì)性突破。viterbi算法還在其它領(lǐng)域得到了廣泛應(yīng)用。1974年,bahl等提出了一種最大后驗(yàn)概率(map)譯碼算法(也稱為bcjr算法),其誤比特率(ber)性能優(yōu)于viterbi算法。但由于計(jì)算復(fù)雜度大大增加,map算法直到1993年berrou發(fā)現(xiàn)turbo碼之后才得到廣泛應(yīng)用。由于硬判決譯碼通常較軟判決譯碼損失23db,對分組碼的軟判決譯碼算法的研究也逐漸成為一個(gè)重要的課題。對于卷積碼,硬判決譯碼和軟判決譯碼通過相

9、同的格圖進(jìn)行譯碼,其復(fù)雜度大體相同。而對于分組碼,基于格圖的譯碼與代數(shù)譯碼相比,復(fù)雜度會(huì)大大增加,因此次優(yōu)的譯碼算法成為首選。在這方面,著名的有廣義最小距離(gmd)譯碼算法、chase算法等。2)研究了與碼的性能有關(guān)的各種問題,如碼的重量分布、譯碼錯(cuò)誤概率和不可檢錯(cuò)誤概率的計(jì)算、信道的模型化等,所有這些問題的研究為信道編碼技術(shù)的實(shí)用化打下了堅(jiān)實(shí)的基礎(chǔ)。3. 70 年代初至 80 年代這是信道編碼發(fā)展史中最具重要意義的時(shí)期,信道編碼在理論和實(shí)踐方面都取得了豐碩的成果。1)在理論上,以 goppa 為首的一批學(xué)者在 70 年代初較系統(tǒng)地構(gòu)造了一類逼近 shannon 限的有理多項(xiàng)式碼goppa

10、碼,這在糾錯(cuò)碼的歷史上具有劃時(shí)代的意義。80 年代初,goppa 等將代數(shù)幾何的理論與方法系統(tǒng)地應(yīng)用于編碼理論中,由 goppa 碼引出了代數(shù)幾何碼,使得 goppa 碼日益引起了人們的極大興趣。1987 年,g. ungerboeck 提出了著名的格圖編碼調(diào)制(tcm)技術(shù),展示了如何將編碼和調(diào)制結(jié)合起來,改善系統(tǒng)的整體性能,這是編碼理論的又一重要里程碑。之后,眾多研究者開始對 tcm 進(jìn)行了深入研究,并將這一概念推廣到分組編碼調(diào)制(bcm)。2)這期間微電子技術(shù)的迅速發(fā)展,為編碼技術(shù)的實(shí)用化打下了堅(jiān)實(shí)的物質(zhì)基礎(chǔ);各種實(shí)際應(yīng)用也帶動(dòng)了信道編碼技術(shù)的發(fā)展,編碼技術(shù)的實(shí)用化得到了極大關(guān)注,并取得

11、了巨大的進(jìn)展。例如,用于 rs 碼譯碼的 bm 算法進(jìn)一步發(fā)展成熟,出現(xiàn)了無求逆的 bm(ibm)算法、euclid 算法、welch-berlekamp 算法(wb 算法)等,其超大規(guī)模集成電路(vlsi)實(shí)現(xiàn)也得到了充分的發(fā)展。信道編碼技術(shù)最成功的應(yīng)用在于衛(wèi)星通信和深空探測領(lǐng)域,這使得宇宙飛船從遙遠(yuǎn)的太空傳回了許多極其寶貴的天文學(xué)資料。特別值得一提的是,在 1989年的 galileo 任務(wù)中,由于主天線的故障,數(shù)據(jù)傳輸?shù)乃俾时仍O(shè)計(jì)指標(biāo)大大下降,噴氣式推進(jìn)實(shí)驗(yàn)室(jpl)的科學(xué)家們從地面發(fā)送指令,重新配置板上計(jì)算機(jī),在數(shù)據(jù)傳輸之前進(jìn)行了更多的編碼處理,使得由于硬件故障引起的數(shù)據(jù)傳輸速率下

12、降得以部分恢復(fù),從而挽救了整個(gè)探測計(jì)劃。若不應(yīng)用信道編碼技術(shù),這些成就的取得是不可企及的。此外,信道編碼技術(shù)還用于數(shù)據(jù)存儲(chǔ)系統(tǒng),提高數(shù)據(jù)存儲(chǔ)密度;用于數(shù)據(jù)傳輸系統(tǒng),提高數(shù)據(jù)傳輸速率;用于各種數(shù)字通信系統(tǒng),提高通信質(zhì)量;用于數(shù)字音頻/視頻傳輸系統(tǒng)以及視聽娛樂設(shè)備,為我們的生活帶來美妙的音樂和完美的視覺享受;而且糾錯(cuò)碼技術(shù)還應(yīng)用于超大規(guī)模集成電路設(shè)計(jì)中,以提高集成電路芯片的成品率,降低芯片的生產(chǎn)成本。4. 90 年代以后這一時(shí)期,編碼理論的重大發(fā)現(xiàn)當(dāng)首推1993年berrou等發(fā)現(xiàn)的turbo碼。turbo碼是一種利用偽隨機(jī)交織器構(gòu)造的具有隨機(jī)碼行為的長碼,它采用并行級聯(lián)卷積碼的方式進(jìn)行編碼,用最

13、大后驗(yàn)概率(map)譯碼器進(jìn)行迭代譯碼,分量譯碼器之間通過傳遞所謂的外信息來減少信息損失,其性能非常接近shannon限,這一驚人的性能打破了長期以來的猜想:利用二元卷積碼和序列譯碼是達(dá)到截止速率r (即所謂的“實(shí)際容量”)的一種可實(shí)現(xiàn)的方法。在迭代譯碼器中,所采用的分量碼map譯碼器可以用軟入輸出viterbi算法(sova)代替,這會(huì)使turbo碼譯碼性能略有下降,但大大降低了計(jì)算復(fù)雜度和存儲(chǔ)量要求。更為實(shí)用的分量碼譯碼器是koch等提出的max-log-map譯碼算法和robertson等提出的log-map譯碼算法。后來,hagenauer、pyndiah又分別將turbo碼迭代譯碼的

14、思想用于級聯(lián)二元分組碼和乘積碼。現(xiàn)在,turbo碼的迭代算法已經(jīng)成為“turbo原理”,廣泛應(yīng)用于各種級聯(lián)系統(tǒng),如均衡、編碼調(diào)制、信源壓縮、信源信道聯(lián)合編碼以及信號檢測等。另一方面,在探究turbo碼迭代算法的過程中,mackay和neal于1996年重新發(fā)現(xiàn)了gallager于60年代提出的具有稀疏校驗(yàn)矩陣的線性分組碼ldpc碼,基于tanner圖進(jìn)行迭代譯碼,其性能與turbo碼差不多。最近,采用bch碼作外碼、ldpc碼作內(nèi)碼的級聯(lián)碼已經(jīng)被dvb-s2采納。1998年,tarokh、seshadri和calderbank提出的格圖空時(shí)碼,在時(shí)間和空間上都引入了編碼,集前向糾錯(cuò)(fec)、

15、發(fā)送分集和接收分集于一體,能獲得較大的編碼增益和分集增益,實(shí)現(xiàn)數(shù)據(jù)的高速傳輸。幾個(gè)月后,alamouti發(fā)明了低復(fù)雜度的分組空時(shí)碼??諘r(shí)碼的基本思想是采用多個(gè)發(fā)射天線和多個(gè)接收天線來提高系統(tǒng)容量,關(guān)于空時(shí)碼已有許多研究文獻(xiàn)。由于rs碼在眾多數(shù)字通信系統(tǒng)、數(shù)據(jù)存儲(chǔ)系統(tǒng)中的成功應(yīng)用,以及其軟判決譯碼性能的巨大潛力,rs碼的軟判決譯碼問題也得到了很大的關(guān)注。其中,sudan于1997年提出了多項(xiàng)式復(fù)雜度的表單譯碼(list decoding)算法,將rs譯碼問題轉(zhuǎn)化成有限域上的曲線擬合問題,給出并證明了幾個(gè)重要的定理,奠定了rs碼表單譯碼的基礎(chǔ)。但sudan算法只適用于碼率不大于1/3的rs碼,而1

16、999年提出的guruswami-sudan算法則可適用于任意碼率的rs碼和代數(shù)幾何碼。另一方面,koetter和vardy基于guruswami-sudan算法,將接收符號的軟信息轉(zhuǎn)化為一系列的代數(shù)條件,用代數(shù)方法實(shí)現(xiàn)了rs碼的軟判決譯碼。1.2 糾錯(cuò)編碼簡介我們知道,在計(jì)算機(jī)和數(shù)據(jù)通信中,經(jīng)常需要將二進(jìn)制數(shù)字信號進(jìn)行傳遞,這種傳遞的距離近則數(shù)米!數(shù)毫米,遠(yuǎn)則超過數(shù)千公里。在傳遞信息過程中,由于存在著各種干擾,可能會(huì)使二進(jìn)制信號產(chǎn)生失真現(xiàn)象,即在傳遞過程中二進(jìn)制信號o可能會(huì)變成1,1可能會(huì)變成0。試想一個(gè)二進(jìn)制信號傳遞的簡單模型,它有一個(gè)發(fā)送端和一個(gè)接收端,二進(jìn)制信號串從發(fā)送端發(fā)出經(jīng)傳輸介質(zhì)

17、而至接收端。由于存在著干擾,因而接收端接收到的二進(jìn)制信號串可能與原來的二進(jìn)制信號串不相等,從而產(chǎn)生了二進(jìn)制信號的錯(cuò)誤傳遞。由于在計(jì)算機(jī)和數(shù)據(jù)通信系統(tǒng)中的信號傳遞是非常的頻繁與廣泛,因此,如何防止傳輸錯(cuò)誤就變得相當(dāng)重要了,當(dāng)然,要解決這個(gè)問題可以有不同的途徑。人們所想到的第一個(gè)途徑是提高設(shè)備的抗干擾能力和信號的抗干擾能力。但是,大家都知道,這種從物理角度去提高抗干擾能力并不能完全消除錯(cuò)誤的出現(xiàn)。第二個(gè)途徑就是我們所要談到的采用糾錯(cuò)碼(error correcting code)的方法以提高抗干擾能力。這種糾錯(cuò)碼的方法是從編碼上下功夫,使得二進(jìn)制數(shù)碼在傳遞過程中一旦出錯(cuò),在接收端的糾錯(cuò)碼裝置就能立

18、刻發(fā)現(xiàn)錯(cuò)誤,并將其糾正。由于這種方法簡單易行,因此目前在計(jì)算機(jī)和數(shù)據(jù)通信系統(tǒng)中被廣泛采用采用這種方法后,二進(jìn)制信號傳遞模型就可以變?yōu)榧m錯(cuò)碼模型了。由糾錯(cuò)碼模型可以想到,當(dāng)二進(jìn)制信號串從發(fā)送端發(fā)送時(shí),需按規(guī)定轉(zhuǎn)換成具有抗干擾能力的糾錯(cuò)碼,然后才發(fā)送出去。在接收端,當(dāng)接收到二進(jìn)制信號串后立即對接收到的糾錯(cuò)碼進(jìn)行檢查,查對在途中是否失真,如失真則負(fù)責(zé)糾正。該模型的一個(gè)典型實(shí)現(xiàn),就是在遠(yuǎn)程數(shù)據(jù)傳輸系統(tǒng)中具有糾錯(cuò)能力的數(shù)據(jù)傳輸裝置,該裝置的糾錯(cuò)過程是二進(jìn)制信號發(fā)生器發(fā)出信號(二進(jìn)制信號發(fā)生器可以是計(jì)算機(jī),或者是由人控制的某些裝置如終端),經(jīng)差錯(cuò)控制器形成糾錯(cuò)碼,然后經(jīng)調(diào)制器使二進(jìn)制信號變成為適宜于信道傳

19、播的電信號,這種信號通過信道傳輸至接收端,首先通過解調(diào)器將其還原為原來的二進(jìn)制信號,再經(jīng)差錯(cuò)控制器檢驗(yàn)經(jīng)信道傳輸后是否產(chǎn)生失真,并采取措施進(jìn)行糾正。經(jīng)糾正后的二進(jìn)制信號送入二進(jìn)制信號接收器,從而完成整個(gè)傳輸過程二進(jìn)制信號接收器可以是計(jì)算機(jī),或其他接收裝置如終端等。但是,為什么糾錯(cuò)碼具有發(fā)現(xiàn)錯(cuò)誤!糾正錯(cuò)誤的能力呢?糾錯(cuò)碼又是按什么樣的原理去編的呢?為了說明這些問題,我們首先介紹一些基本概念:由0和1組成的串稱為字(word),一些字的集合稱為碼(code)。碼中的字稱為碼字(code word)。不在碼中的字稱為廢碼(invalid code)。碼中的每個(gè)二進(jìn)制信號0或1稱為碼元(code le

20、tter)。我們下面舉出幾個(gè)關(guān)于糾錯(cuò)碼的例子。設(shè)有長度為2的字,它們一共可有2x2=4個(gè),創(chuàng)門所組成的字集s,=00,01,10,11。當(dāng)選取編碼為52時(shí),這種編碼不具有抗干擾能力。因?yàn)楫?dāng)52中的一個(gè)字如10,在傳遞過程中其第一個(gè)碼元1變?yōu)?,因而整個(gè)字成為00時(shí),由于00也是52中的字,故我們不能發(fā)現(xiàn)傳遞中是否出錯(cuò)。但是,當(dāng)我們選取52的一個(gè)子集如c2二00,川作為編碼時(shí)就會(huì)發(fā)生另一種完全不同的情況。因?yàn)榇藭r(shí)01和10均為廢碼,而當(dāng)h在傳遞過程中第一個(gè)碼元由1變?yōu)閛,即整個(gè)字成為01時(shí),由于01是廢碼,因而我們發(fā)現(xiàn)傳遞過程中出現(xiàn)了錯(cuò)誤。對00也有同樣的情況。但是,這種編碼有一個(gè)缺點(diǎn),即它只能

21、發(fā)現(xiàn)錯(cuò)誤而不能糾正錯(cuò)誤,因此我們還需要選擇另一種能糾錯(cuò)的編碼現(xiàn)在我們考慮長度為3的字,它們一共可有2!3=8個(gè),它們所組成的字集凡000,001,010,011,100,101,110,111中我們選取編碼q二001,110。利用此編碼我們不僅能發(fā)現(xiàn)錯(cuò)誤而且能糾正錯(cuò)誤。因?yàn)榇a字001出現(xiàn)錯(cuò)誤后將變?yōu)?000,011,101,而碼字110出現(xiàn)錯(cuò)誤后將變?yōu)?111,100,010。故如碼字001在傳遞過程中任何一個(gè)碼元出現(xiàn)了錯(cuò)誤,整個(gè)碼字只會(huì)變?yōu)?01!011或000,但是都可知其原碼為001。對于碼字110也有類似的情況故對編碼q,我們不僅能發(fā)現(xiàn)錯(cuò)誤而且能糾正錯(cuò)誤當(dāng)然,上述編碼還有一個(gè)缺點(diǎn),就是

22、它只能發(fā)現(xiàn)并糾正單個(gè)錯(cuò)誤。當(dāng)錯(cuò)誤超過兩個(gè)碼元時(shí),它就既不能發(fā)現(xiàn)錯(cuò)誤,更無法糾正了。2 reed solomon編碼概述reed-solomon 碼(rs 碼)是 reed和 solomon于 1960 年發(fā)現(xiàn)的一類多元最大距離可分(mds)碼,其最小距離達(dá)到了 singleton 限mind = n k+ 1,從這個(gè)意義上講,rs 碼是最佳的。之后幾十年里,rs 碼的硬判決譯碼得到了深入的研究,其理論和技術(shù)都已經(jīng)非常成熟。因而,rs碼在現(xiàn)代數(shù)字通信、數(shù)據(jù)存儲(chǔ)系統(tǒng)中得到了廣泛的應(yīng)用,見下表應(yīng)用領(lǐng)域編碼方案硬盤驅(qū)動(dòng)器rs(32, 28, 5)碼cd交叉交織 rs 碼(circ)dvdrs(208,

23、 192, 17)碼、rs(182, 172, 11)碼乘積碼dab、dvb內(nèi)碼為卷積碼、外碼為 rs(204, 188, 17)碼的級聯(lián)碼atsc內(nèi)碼為卷積碼、外碼為 rs(207, 187, 21)碼的級聯(lián)碼深空通信內(nèi)碼為卷積碼、外碼為 rs(255, 223, 33)碼的級聯(lián)碼光纖通信rs(255, 239, 17)碼 有限域算術(shù)是 rs 碼的基礎(chǔ),并行通用有限域乘法器的時(shí)延決定了 rs 碼譯碼器的工作頻率。如何用現(xiàn)場可編程門陣列(fpga)實(shí)現(xiàn)通用有限域乘法器,降低其運(yùn)算時(shí)延,是軟件無線電中 rs 碼譯碼子系統(tǒng)設(shè)計(jì)過程中要考慮的一個(gè)關(guān)鍵的問題。在工程實(shí)踐中通常采用的“直接二級邏輯設(shè)計(jì)”

24、僅僅依靠綜合工具對所設(shè)計(jì)的電路進(jìn)行優(yōu)化,不能有效地利用 fpga 所提供的資源,降低有限域乘法器的時(shí)延。就作者所知,目前還沒有一種系統(tǒng)的方法,可以用來設(shè)計(jì)高速并行有限域乘法器。rs 碼的硬判決譯碼器不能充分地利用接收信息,造成了一定的性能損失。眾所周知,從最小化不正確譯碼概率的意義上講,最大似然譯碼(mld)是最好的方法。在 awgn 信道條件下,rs 碼的最大似然譯碼與硬判決距離譯碼相比,會(huì)有 2.53.2db 的軟判決譯碼增益;在衰落信道條件下,其軟判決譯碼增益會(huì)更大。2005 年,guruswami 和 vardy90在 ieee 信息論會(huì)刊上撰文指出,rs 碼的最大似然譯碼是 np-h

25、ard 問題。因此,低復(fù)雜度的次優(yōu)譯碼算法成為人們研究的熱點(diǎn)?,F(xiàn)有的 rs 碼軟判決譯碼算法主要有以下四類:l 基于代數(shù)譯碼器的軟判決譯碼:主要有糾錯(cuò)糾刪譯碼、廣義最小距離(gmd)譯碼算法、chase 算法、lacan 算法、有序統(tǒng)計(jì)量譯碼(osd)算法等;l 基于格圖的譯碼:主要有 vardy 和 beery提出的比特級軟判決譯碼算法、ponnampalam 和 vucetic提出的簡化的比特級軟判決譯碼算法等;l 基于 tanner 圖的譯碼:基于自適應(yīng)校驗(yàn)矩陣的軟判決譯碼算法、基于臨界抽取濾波器組表示的軟判決譯碼算法等;l 表單譯碼:主要有 koetter-vardy 算法等。這些譯碼

26、算法各有千秋,就實(shí)用性而言,gmd算法、chase-ii算法和koetter-vardy算法略勝一籌。3 reed solomon編碼抽象代數(shù)基礎(chǔ)3.1 群定義 設(shè)g是一個(gè)非空集合,稱映射為g上的一個(gè)二元運(yùn)算,即對于g中仍以兩個(gè)元a和b,唯一確定(a,b).記為,為了方便起見,可寫成c=ab.定義 設(shè)g是一個(gè)非空集合,是g上的一個(gè)二元運(yùn)算,如果g滿足下列條件:a) (結(jié)合律)對于任意,有b) (單位元)g中存在單位元,對于任意,滿足c) (逆元)對于任意,存在的逆元,滿足則稱g為群,記為.如果群滿足交換律,即對于任意,滿足則稱群 為交換群或阿貝爾群.3.2 環(huán)和域定義 設(shè)r是一個(gè)非空集合,r上

27、有兩個(gè)二元運(yùn)算和,分別成為加法和乘法,如果r滿足下列條件a) 為加法阿貝爾群b) (結(jié)合律)對于任意,有c) (分配律)對于任意,有稱r為環(huán),記為,如果他對乘法滿足交換律,即對任何稱環(huán)為交換環(huán)定義 設(shè)為交換環(huán),表示r中所有非零元的集合,如果在乘法運(yùn)算下構(gòu)成交換群,則稱為域。3.3 有限域定義 設(shè)f為一個(gè)域,如果f只含有有限個(gè)元素,稱f為有限域,含有q個(gè)元素的有限域記為,有限域也成為伽羅華域(galois field),用gf(q)或表示q階有限域。最簡單的有限域是二元域gf(2)=0,1。定義 對于gf(q)上的每個(gè)非零元素,存在最小整數(shù)k,使成立,則稱為k階元素。定義 對于gf(q)上的每個(gè)

28、非零元素,如果其階數(shù)是q-1,則稱為本原元素。定義 上的一個(gè)m次多項(xiàng)式,如果他的所有根都是中的本原元素,則稱是m次本原多項(xiàng)式。例如,對于m = 8時(shí)上的m次本原多項(xiàng)式為對于m = 7時(shí)上的m次本原多項(xiàng)式為定義 設(shè)為中的元素,多項(xiàng)式是上使的最低次多項(xiàng)式,則稱為最小多項(xiàng)式。具有相同最小多項(xiàng)式的元素,構(gòu)成同一共軛系。3.4 歐幾里得算法歐幾里得算法給定兩個(gè)正整數(shù)a,b,可以用歐幾里得除法得到其最大公約數(shù)(a,b),并求得a,b,滿足(a,b)=aa+bb。用歐幾里得除法求(a,b)的步驟如下:第一步:不失一般性,假設(shè)ab,且令第二步:用除以得到其商數(shù)和余數(shù),亦即第三步:如果,停止運(yùn)算,并記;否則,轉(zhuǎn)

29、第二步。歐幾里得算法又被稱為輾轉(zhuǎn)相除法,這里是單調(diào)下降序列。用歐幾里得算法可以求得a、b,沿用上述除法得到的和n,其方法如下:第一步:令第二步:計(jì)算第三步:如果,停止運(yùn)算,此時(shí),否則轉(zhuǎn)第二步事實(shí)上,只是其中的一個(gè)特例。4 bch碼、rs碼及其編碼4.1 bch碼、rs碼簡介如前所述,bch碼是糾錯(cuò)能力可能的循環(huán)碼,由bose、chandhari和hocquenghem在19501960年間分別獨(dú)立地提出。最初的bch碼定義在二元域上,成為二元bch碼,后來推廣到多源于上。對于設(shè)計(jì)糾錯(cuò)能力為t的循環(huán)碼,器生成多項(xiàng)式含有2t個(gè)連續(xù)冪次的根,這樣的循環(huán)碼稱為bch碼。如果bch碼的根是本原元,成為本

30、原bch碼。如果bch碼的根是非本原元,稱為非本原bch碼。如果定義在上的本原元以及共2t個(gè)連續(xù)冪次都是定義在上的生成多項(xiàng)式的根,那么該bch碼成為設(shè)計(jì)糾錯(cuò)能力為t的二元本原bch碼。對于任意的證書m和糾錯(cuò)數(shù)t,都可以構(gòu)造出最小距離為d的二元本原bch碼,n, k, d,滿足。另外,實(shí)際的糾錯(cuò)能力t,可能會(huì)大于設(shè)計(jì)糾錯(cuò)能力的t.同理,如果定義在上的非本原元以及共2t個(gè)連續(xù)冪次都是定義在上的生成多項(xiàng)式的根,那么該bch碼成為設(shè)計(jì)糾錯(cuò)能力為t的二元非本原bch碼。進(jìn)一步假設(shè)非本原元和本原元滿足關(guān)系,其中,如果成立,那么,也就是說是n階非本原元。如果成立,那么可以構(gòu)造出最小距離為d的二元非本原bch

31、碼,n, k, d,滿足。另外,實(shí)際的糾錯(cuò)能力t,可能會(huì)大于設(shè)計(jì)糾錯(cuò)能力的t.bch碼的編碼是在二元域完成的,對比特進(jìn)行編碼,與普通的二進(jìn)制循環(huán)碼并無不同。而rs的編碼是在多元域上完成的(p是質(zhì)數(shù)),對符號進(jìn)行編碼,因?yàn)閞s碼又被視為多元域上的本原bch碼。如果定義在上的生成多項(xiàng)式,其中是定義在上的本原元,那么該bch碼被稱為糾錯(cuò)能力為t的rs碼。4.2 rs碼的構(gòu)造方法第一步,由關(guān)系式算出m,查本原多項(xiàng)式表得到一個(gè)m次的本原多項(xiàng)式,從而產(chǎn)生一個(gè)的擴(kuò)域,使域元素(符號)與m重向量建立起一一對應(yīng)的關(guān)系本原多項(xiàng)式表mm本原多項(xiàng)式2345678第二步:根據(jù)設(shè)計(jì)糾錯(cuò)能力t,直接計(jì)算定義在上的生成多項(xiàng)式

32、。利用和等運(yùn)算規(guī)則,可以將展開并化簡為。第三步:已知生成多項(xiàng)式,根據(jù)關(guān)系式,對信息位多項(xiàng)式編碼得到碼字多項(xiàng)式,這就完成了rs碼的編碼過程。這里的、和都是上的多項(xiàng)式。而對于長度為mk的二進(jìn)制的輸入序列,以m個(gè)比特位一組劃分可以得到k個(gè)m重向量,再將每個(gè)m重向量映射為上的元素,從而得到長度為k的多元序列。得到長度為n的多元序列后,對于每一個(gè)上的元素,再映射為m重向量,從而得到長度為nm的二進(jìn)制編碼序列。例如,對于信息輸入比特序列100,101,010,首先根據(jù)表格的各次冪將序列映射為上的序列,則其信息位多項(xiàng)式。那么可以求得上的碼字多項(xiàng)式。從而得到上的編碼序列。再根據(jù)表格的各次冪將其映射為二進(jìn)制編碼

33、序列即可得到rs碼。表格 的各次冪即約多項(xiàng)式3重向量00001001010100011110111101rs碼是糾正短突發(fā)差錯(cuò)的首選糾錯(cuò)碼,廣泛應(yīng)用于無線通信的存儲(chǔ)系統(tǒng)中。例如,美國宇航局(nasa)在探險(xiǎn)者號(voyager)上用了256進(jìn)制的255,223,33rs碼,其生成擴(kuò)域的本原多項(xiàng)式是,生成多項(xiàng)式是。是本原多項(xiàng)式的根,因?yàn)楹?2個(gè)連續(xù)冪次的根,因而改碼的糾錯(cuò)能力為符號個(gè)符號(256進(jìn)制)或者等效長度是的二進(jìn)制特發(fā)差錯(cuò)。5 rs碼的譯碼由于bch碼和r-s碼都是循環(huán)碼,所以可以采用一般的梅杰特解碼器,但是 bch碼和r-s碼的設(shè)計(jì)糾錯(cuò)能力都比較髙,從而使得梅杰特解碼器的實(shí)現(xiàn)復(fù)雜度

34、bch碼和rs碼的解碼原理是一樣的,其髙效解碼算法的基礎(chǔ)在于一個(gè)關(guān)鍵方程 的引入和基于多項(xiàng)式的歐幾里德算法。在bch/rs碼的解碼算法的發(fā)展歷史上, 彼得森(peterson)于1960年提出了第一個(gè)bch的解碼算法。之后,錢(chien)、 福尼(formey)、梅西(massey)和巴勒坎普(berlekamp)相繼提出了更高效的 bch解碼算法。到了 1975 年,sugiyama、kasahara、hirasawa和namekawa發(fā)現(xiàn) 也可以采用歐幾里德(euclid)算法對bch/rs碼解碼,并發(fā)現(xiàn)巴勒坎普(berlekamp) 解碼算法與歐幾里德(euclid)算法相比僅差一個(gè)很

35、小的常數(shù)因子。而歐幾里德(euclid)算法更容易理解些,所以得到了更廣泛的應(yīng)用。具體解碼又可以分為時(shí)域解碼和頻域解碼。5.1 關(guān)鍵方程的引入令f是一個(gè)含有n階單元本原元的域,那么根據(jù)定義有,再令v是f上的一個(gè)n維向量, 稱為時(shí)域向量。又令,是v的離散傅里葉變換(dft),成為頻域向量;dft(離散傅里葉變換):那么,可以證明,從頻域到時(shí)域的idft(逆離散傅里葉變換)也成立;idft(逆離散傅里葉變換):設(shè)f是,p是質(zhì)數(shù),那么特征是p。idft中的是以特征p為模的同余類。易知,所以,根據(jù)歐幾里得算法有。對于,在定義v和的生成多項(xiàng)式:和。那么,可以將上述的離散傅里葉變換寫為:對于v,定義他的支

36、持集,亦即i是v中非零元素的索引集。在定義v的位置多項(xiàng)式。對于,再定義i階穿孔位置多項(xiàng)式。最后,定義v的數(shù)值多項(xiàng)式。那么,可以證明。定理 關(guān)鍵方程:對于固定的向量v,多項(xiàng)式,和滿足一下關(guān)鍵方程有了上述的數(shù)學(xué)基礎(chǔ),就可以引入bch/rs碼的關(guān)鍵方程了。設(shè)編碼向量為,信道錯(cuò)誤圖案為向量,那么接收向量,解碼的第一步是計(jì)算伴隨式向量 ,的定義如下那么,令時(shí)域向量,那么易知,伴隨式向量s與頻域向量滿足關(guān)系,亦即,伴隨式向量s是的錢2t個(gè)分量,這是可以直接觀測到的,而的后(n-2t)個(gè)分量不能直接觀測到。記伴隨式多項(xiàng)式解碼算法的目的是已知伴隨式向量s求錯(cuò)誤圖案向量e,從而得到解碼向量,由于只是知道頻域向量

37、的前2t個(gè)分量,需要用對關(guān)鍵方程降次。所以得到bch/rs的關(guān)鍵方程由于v的支持集是發(fā)生誤碼的標(biāo)號集合,所以又被成為錯(cuò)誤位置多項(xiàng)式,而又被成為錯(cuò)誤數(shù)值多項(xiàng)式,其中,t是最高次的數(shù)字。t是bch/rs碼的設(shè)計(jì)糾錯(cuò)能力。5.2 多項(xiàng)式的歐幾里得算法bch解碼的目標(biāo)是已知,通過求解關(guān)鍵方程,得到和,進(jìn)而求出。求解的關(guān)鍵算法是歐幾里得算法。在抽象代數(shù)基礎(chǔ)已經(jīng)介紹了歐幾里得算法,這里將其推廣到多項(xiàng)式上。多項(xiàng)式上的歐幾里得算法 給定兩個(gè)有限域f上的兩個(gè)多項(xiàng)式可以用歐幾里得除法得到其最大公約數(shù),并求得,滿足歐幾里得除法求的步驟如下:第一步:不失一般性,假設(shè)且令第二步:用除以,得到其商數(shù)和余數(shù),亦即第三步:如

38、果,停止運(yùn)算,并記;否則,轉(zhuǎn)第二步。歐幾里得處理又被成為輾轉(zhuǎn)相除法,這里是單調(diào)下降序列。用歐幾里得算法可以求得。沿用上述除法得到和,其方法如下:第一步:第二步:計(jì)算第三步:如果,停止運(yùn)算,此時(shí),;否則,轉(zhuǎn)第二步。這里,是單調(diào)遞增函數(shù),而也是單調(diào)遞增函數(shù)。容易得到以下兩條性質(zhì):從而推出以下性質(zhì):進(jìn)一步有如下定理:定理 設(shè)和是非零多項(xiàng)式,是非零負(fù)整數(shù),滿足:進(jìn)一步假設(shè)和是對應(yīng)用歐幾里得算法得到的多項(xiàng)式序列。那么存在且唯一存在標(biāo)號使得用一個(gè)歐幾里得抽象函數(shù)表示上述結(jié)果。進(jìn)而存在一個(gè)常數(shù)多項(xiàng)式,使得:這個(gè)定理表明完全可以用歐幾里得算法解決bch/rs碼的關(guān)鍵方程。5.3 bch/rs碼的解碼步驟有了關(guān)

39、鍵方程和歐幾里得抽象函數(shù),討論bch/rs解碼的步驟就水到渠成了。假設(shè)已經(jīng)求得了錯(cuò)誤位置多項(xiàng)式和錯(cuò)誤數(shù)值多項(xiàng)式,為了求差錯(cuò)圖案多項(xiàng)式,有時(shí)域和頻域處理兩種方法。求出后,解碼碼字向量時(shí)域算法的本質(zhì)就是對錯(cuò)誤位置多項(xiàng)式進(jìn)行驗(yàn)根。由于,那么;反之,如果,那么含有因子。所以,如果,說明第個(gè)位置上的接收向量,存在誤碼,否則第個(gè)位置上的接收向量是正確的。對于二元域bch碼,比較簡單,如果,那么,否則。而對于多元域上的rs碼,是多元域元素,還需要進(jìn)一步求出。對于rs碼,如果,那么,亦即,否則。首先用c語言偽代碼說明bch碼的時(shí)域解碼算法,如下所示:/*二元域bch碼的屬于解碼算法*/*碼長n,設(shè)計(jì)糾錯(cuò)能力t

40、,接收向量r,錯(cuò)誤圖案向量e,解碼碼字向量*/for(j = 1 to 2t);/;if()printf(接收碼字正確,無誤碼);else/用歐幾里得算法解關(guān)鍵方程;if()printf(誤碼超出了糾錯(cuò)能力t,不可解碼);else;for(i = 0 to n-1)if()elsefor(i = 0 to n-1)printf(接收到的碼字為:);解碼中需要?dú)w一化。因?yàn)?,所以,從而歸一化是必須的。如果,那么無法歸一化,這通常是因?yàn)檎`碼超過了糾錯(cuò)能力t,從而不可解碼。由于bch碼的簡單性,無需用到。下面說明rs碼的解碼算法,如下所示:/*rs解碼算法*/*碼長n,設(shè)計(jì)糾錯(cuò)能力t,接收向量r,錯(cuò)誤

41、圖案向量e,解碼碼字向量*/for(j = 1 to 2t);/;if()printf(接收碼字正確,無誤碼);else/用歐幾里得算法解關(guān)鍵方程;if()printf(誤碼超出了糾錯(cuò)能力t,不可解碼);elsefor(i = 0 to n-1)if()elsefor(i = 0 to n-1)printf(接收到的碼字為:);至此,rs編碼解碼的代數(shù)基礎(chǔ)、編碼理論及方法,解碼理論及方法均已介紹完畢,下面利用matlab進(jìn)行仿真。6 matlab主要程序及其仿真結(jié)果利用matlab編寫仿真程序如下所示:% 信源編碼clc; clear;m = 8; % gf(2m) = gf(28)伽羅瓦域n

42、 = 2m-1; k = 223; %定義編碼長度rs(n, k) = rs(2m - 1, k) = rs(255, 223)data = ceil(255*rand(1, 223); % 構(gòu)建1個(gè)隨機(jī)生成的數(shù)據(jù)包數(shù)據(jù)范圍0255,共223個(gè)數(shù)據(jù)msg = gf(data,m); % 生成伽羅華域,限定msg信息的運(yùn)算范圍,所有關(guān)于msg的運(yùn)算都將進(jìn)行mod(2m)運(yùn)算、code = rsenc(msg,n,k); % 在伽羅瓦域內(nèi)對msg進(jìn)行編碼。使用rs(255, 223)編碼 %code = gf(28) array. 特征多項(xiàng)式primitive polynomial = d8+d4

43、+d3+d2+1 % 構(gòu)建018個(gè)隨機(jī)生成的隨機(jī)信道誤碼,rs(255,223)可以糾正(n-k)/2=16個(gè)隨機(jī)位置錯(cuò)誤err_cut_t = round(18 * rand(1);%隨機(jī)構(gòu)建018個(gè)隨機(jī)生成的錯(cuò)誤,rs(255,223)可以糾正(n-k)/2=16個(gè)隨機(jī)位置錯(cuò)誤err_pos = randperm(223,err_cut_t); %隨機(jī)生成err_cut_t個(gè)不重復(fù)位置錯(cuò)誤errs = ceil(255*rand(1, err_cut_t);%隨機(jī)構(gòu)建err_cut_t個(gè)數(shù)據(jù)突發(fā)錯(cuò)誤,error = zeros(1,255);%全零信道誤碼,即無信道誤碼。for j = 1

44、 : err_cut_t error(err_pos(j) = errs(j);%給出現(xiàn)突發(fā)數(shù)據(jù)錯(cuò)誤的位置賦予突發(fā)數(shù)據(jù)錯(cuò)誤enderrors = gf(error,m);%信道噪聲加入完畢,下面進(jìn)行解碼% recv為接收到的信號。rsdec函數(shù)進(jìn)行解碼recv = code + errors; % 二進(jìn)制模2m加,在伽羅華域中運(yùn)算,所有大于255的數(shù)都將進(jìn)行模運(yùn)算 r = e + cdec,cnumerr = rsdec(recv,n,k); % 解碼use rs decoder cnumerr是一個(gè)列向量,記載了每一行糾正的錯(cuò)誤數(shù),-1表示糾錯(cuò)失敗 % 驗(yàn)證正確性。%畫信源圖程序代碼運(yùn)行結(jié)果

45、如下:由matlab仿真結(jié)果可以看到,只要信道噪聲小于16個(gè)隨機(jī)突發(fā)錯(cuò)誤,利用rs(255,223)編碼后的信號通過隨機(jī)信道噪聲加成后再利用解碼算法可以完美的還原信源。7 總結(jié)我國的航天事業(yè)正處于蓬勃發(fā)展的階段,月球探測等今后的重大項(xiàng)目都對數(shù)據(jù)的傳輸提出了越來越高的要求,高速的數(shù)據(jù)傳輸系統(tǒng)必將得到更多的推廣。本課題中 rs(255,223)譯碼器仿真對以后的航天項(xiàng)目中的地面高速接收系統(tǒng)的設(shè)計(jì)和星上數(shù)據(jù)接收系統(tǒng)的設(shè)計(jì)均有著很大的意義。本文詳細(xì)介紹了糾錯(cuò)碼的相關(guān)理論,包括編碼定理、有限域運(yùn)算法則、bch 碼、rs 碼的基礎(chǔ)知識,還介紹了rs碼的譯碼,為后續(xù)matlab仿真奠定了本論文的理論基礎(chǔ)。r

46、s碼一直是國際通信領(lǐng)域研究的熱點(diǎn),由于其良好的對隨機(jī)錯(cuò)誤和突發(fā)錯(cuò)誤的糾錯(cuò)能力,尤其是對突發(fā)錯(cuò)誤的糾錯(cuò),已經(jīng)廣泛被應(yīng)用于各種數(shù)字通信系統(tǒng)中,本論文采用的是時(shí)域譯碼算法,另外頻域算法也是比較常用的一種算法。隨著對 rs 碼研究的深入,新算法也層出不窮,設(shè)計(jì)高效的算法必將大幅度提升系統(tǒng)的性能、提高處理速度和減少對軟硬件資源的占用。,因此如何設(shè)計(jì)高效的算法將是以后的努力方向。還有從功能實(shí)現(xiàn)和性能的角度來看,本設(shè)計(jì)還有較大的改進(jìn)空間。通過采用高效的算法及優(yōu)秀的代碼將會(huì)大幅度提高性能??梢灶A(yù)見,隨著科學(xué)技術(shù)的進(jìn)步和研究的深入,糾錯(cuò)碼理論將進(jìn)一步地發(fā)展,必將得到更廣泛的應(yīng)用。致 謝 在本次課設(shè)中,自己復(fù)習(xí)了

47、有關(guān)matlab程序和信息論相關(guān)理論知識,在之前信號與系統(tǒng)與數(shù)字信號處理的實(shí)驗(yàn)課程中初步學(xué)習(xí)了有關(guān)matlab軟件對于信號仿真與分析中的應(yīng)用,rs碼作為現(xiàn)代通信領(lǐng)域的熱點(diǎn),首先自己有一定的興趣去學(xué)習(xí),在所翻閱的資料中,有了關(guān)于rs碼的較為詳盡的介紹與應(yīng)用舉例,在此對這些論著與文獻(xiàn)的作者表示感謝,接著感謝在此次課設(shè)中給予我?guī)椭耐瑢W(xué)們,對于matlab軟件操作自己開始有一些的生疏給予了指導(dǎo),最后感謝此次的指導(dǎo)老師熬珺老師在自己學(xué)習(xí)過程中所遇困惑給予的解答與幫助,作為通信專業(yè)的畢業(yè)生,在大四的課設(shè)中接觸到一些應(yīng)用性較強(qiáng)的前沿知識,自己得到了鍛煉,對于以后走向工作崗位有很大的幫助,老師嚴(yán)謹(jǐn)?shù)膶W(xué)術(shù)態(tài)度

48、與本著對學(xué)生負(fù)責(zé)的想法令人敬佩,本次課設(shè)自己以認(rèn)真的態(tài)度和花費(fèi)較多的時(shí)間與精力完成,如有不足之處,望老師給予指教與包涵,謝謝!參考文獻(xiàn)1 美 robert j.mceliece,李斗 等譯信息論與編碼理論第二版2 沈世鎰、陳魯生信息論與編碼理論3 美ranjan bose 武傳坤譯信息論、編碼與密碼學(xué)4 美robert h.morelos-zaragoza著 張立軍譯糾錯(cuò)編碼的藝術(shù)5 吳湛擊 著 王文博 審現(xiàn)代糾錯(cuò)編碼與調(diào)制理論及應(yīng)用6 宋文俊 華東師范大學(xué)碩士學(xué)位論文rs碼的譯碼研究7 石俊峰 中國科學(xué)院研究生院碩士學(xué)位論文rs(255,223)譯碼器的fpga實(shí)現(xiàn)及其性能測試8 徐朝軍 西

49、安電子科技大學(xué)博士學(xué)位論文rs碼譯碼算法及其實(shí)現(xiàn)的研究附 錄matlab仿真程序:% 信源編碼clc; clear;m = 8; % gf(2m) = gf(28)伽羅瓦域n = 2m-1; k = 223; %定義編碼長度rs(n, k) = rs(2m - 1, k) = rs(255, 223)data = ceil(255*rand(1, 223); % 構(gòu)建1個(gè)隨機(jī)生成的數(shù)據(jù)包數(shù)據(jù)范圍0255,共223個(gè)數(shù)據(jù)msg = gf(data,m); % 生成伽羅華域,限定msg信息的運(yùn)算范圍,所有關(guān)于msg的運(yùn)算都將進(jìn)行mod(2m)運(yùn)算、code = rsenc(msg,n,k); %

50、在伽羅瓦域內(nèi)對msg進(jìn)行編碼。使用rs(255, 223)編碼 %code = gf(28) array. 特征多項(xiàng)式primitive polynomial = d8+d4+d3+d2+1 x = input(手動(dòng)輸入隨機(jī)信道誤碼則請輸入非零數(shù),隨機(jī)輸入隨機(jī)信道誤碼則請輸入0:);if(x = 0) % 構(gòu)建018個(gè)隨機(jī)生成的隨機(jī)信道誤碼,rs(255,223)可以糾正(n-k)/2=16個(gè)隨機(jī)位置錯(cuò)誤 err_cut_t = round(16 * rand(1);%隨機(jī)構(gòu)建018個(gè)隨機(jī)生成的錯(cuò)誤,rs(255,223)可以糾正(n-k)/2=16個(gè)隨機(jī)位置錯(cuò)誤 err_pos = randperm(223,err_cut_t); %隨機(jī)生成err_cut_t個(gè)不重復(fù)位置錯(cuò)誤 errs = ceil(255*rand(1, err_cut_t);%隨機(jī)構(gòu)建err_cut_t個(gè)數(shù)據(jù)突發(fā)錯(cuò)誤, error = zeros(1,255);%全零信道誤碼,即無信道誤碼。 for j = 1 : err_cut_t error(err_pos(j) = errs(j);%給出現(xiàn)突發(fā)數(shù)據(jù)錯(cuò)誤的位置賦予突發(fā)數(shù)據(jù)錯(cuò)誤 end errors = gf(error,m);else % 數(shù)據(jù)輸入 err_cut_t = input(請輸入err_cut_t個(gè)突發(fā)隨機(jī)錯(cuò)誤

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論