根據(jù)香農(nóng)提出的信道編碼定理,任意離散輸入無記憶平穩(wěn)信道存在信道容量C,它標志著信道傳輸能力的上限,只要信息傳輸速率R<c,就存在一種編碼方式,當平均碼長足夠大時,譯碼錯誤概率可以做到任意;反之,則無論采用何種編碼方式也不可能保證錯誤概率任意小。該定理雖然沒有明確指出如何對數(shù)據(jù)信息進行糾錯編碼,也沒有給出這種具有糾錯能力通信系統(tǒng)的具體實現(xiàn)方法.但它奠定了信道編碼的理論基礎(chǔ),從理論上指出了信道編碼的努力方向。[ color][="" align]正由于目前其成熟的理論和技術(shù),rs碼在現(xiàn)代數(shù)字通信、數(shù)據(jù)存儲系統(tǒng)中得到了廣泛的應(yīng)用,具體應(yīng)用[6]見表1.1。[="" 0)]表1.1[="" align] | |
| |
| |
| RS(208,192)碼,RS(182,172)碼乘積碼 |
| 內(nèi)碼為卷積碼,外碼為RS(204,188)碼的級聯(lián)碼 |
| 內(nèi)碼為卷積碼,外碼為RS(207,187)碼的級聯(lián)碼 |
| 內(nèi)碼為卷積碼,外碼為RS(255,223)碼的級聯(lián)碼 |
| |
3.研究RS碼的意義與目的[7]在實際的通訊信道中,信號的傳輸會受到噪聲的干擾,從而在接收端不可避免地會發(fā)生錯誤。要使信號能可靠的傳輸,即要降低信號傳輸中的誤碼率。人們采用了一系列相關(guān)技術(shù)來改善噪聲信道的接收性能,使接收信息的誤碼率盡可能降低。這些技術(shù)中,信道的糾錯編碼及其譯碼方法處于非常重要的地位。自從1948年香農(nóng)發(fā)表了關(guān)于信道容量理論極限的重要論文之后,短短幾十年時間里,人們在信道編碼研究領(lǐng)域相繼取得了眾多理論成果和突破。
信道編碼按照對信息元的處理方式不同,可分為線性分組碼和卷積碼,線性分組碼可以完全用代數(shù)方法來嚴格地表達,它的出現(xiàn)較早而且其譯碼方法也較為簡單,因此容易被人們所認識,現(xiàn)在有關(guān)線性分組碼的理論已經(jīng)相當成熟。卷積碼雖然也早已出現(xiàn),但由于其編碼結(jié)構(gòu)不能較好的用代數(shù)方法表示,因此給卷積碼的理論研究帶來了一定的困難。但是,單獨的線性分組碼或卷積碼在性能上離香農(nóng)理論極限還相差較遠。為了進一步提高編碼的糾錯性能,人們采用了不同的措施,其中將兩個編碼進行串行級聯(lián)是一種有效的方法。級聯(lián)碼一般采用Rs碼作為外碼,卷積碼作為內(nèi)碼,因此可以同時糾正隨機和突發(fā)的混合錯誤。但是這種形式的級聯(lián)碼,對改善單個碼元的誤碼率仍沒有太大幫助。如何對現(xiàn)有的編碼方法進行改進,從而更加逼近香農(nóng)理論極限,已經(jīng)成為國際通信學(xué)界的重大課題。
RS碼具有很強的抗突發(fā)誤碼的能力,因此被廣泛應(yīng)用于各種通信領(lǐng)域。正因為RS編碼的應(yīng)用范圍非常廣泛,對于RS編/解碼技術(shù)的研究一直是國內(nèi)外通信系統(tǒng)研究的一個熱點,特別是RS編/解碼的硬件設(shè)計更是其中之重點和難點。
4.基礎(chǔ)理論4.1 RS編碼RS編碼是一種線性的塊編碼[8],其表示形式為RS(n,k)。當編碼器接收到一個數(shù)據(jù)信息序列,該數(shù)據(jù)信息序列被分割成若干長度為k的信息塊,并通過運算將每個數(shù)據(jù)信息塊編碼成長度為k的編碼數(shù)據(jù)塊。在RS碼中的碼元符號不是二進制而是多進制符號,其中2m進制使用更為廣泛。RS碼是建立在GF(2m)上(m>=3,m是任意整數(shù))有限域上,且RS碼是MDS碼,具有極大最小距離特性,它具有卓越的糾錯能力,無論是糾突發(fā)錯誤還是糾隨機錯誤的能力,以及它的快速譯碼速度,均是其它碼類無法比擬的。用MS多項式產(chǎn)生的是非系統(tǒng)碼,而用BCH構(gòu)造方法能產(chǎn)生系統(tǒng)碼。我們用的是后一種。
RS碼的定義:GF(q)上的(q≠2,q=2m),碼長n=q-1的本原BCH碼成為RS碼[2]?芍猂S碼最主要的特點之一是碼元取自GF(2m)上,而它的生成多項式也在GF(q)上,所以RS碼是碼元的符號域與根域一致的BCH碼。
因為
1.001.jpg (2.21 KB, 下載次數(shù): 121)
下載附件
2016-10-11 18:15 上傳
,(其中
1.002.jpg (1.67 KB, 下載次數(shù): 115)
下載附件
2016-10-11 18:15 上傳
)的最小多項式
1.003.jpg (1.6 KB, 下載次數(shù): 105)
下載附件
2016-10-11 18:15 上傳
。所以,碼長為N=q-l,校驗位n-k=2t,設(shè)計距離為
1.004.jpg (814 Bytes, 下載次數(shù): 102)
下載附件
2016-10-11 18:15 上傳
的RS碼,最小距離dmin=n-k+1。由BCH碼的定義可知,它的生成多項式為
1.005.jpg (3.11 KB, 下載次數(shù): 102)
下載附件
2016-10-11 18:15 上傳
從RS碼的n、k值立即可斷定其糾錯能力為
t=int[(dmin-1)/2]=int[(n-k)/2]
由此生成一個q進制的[q-1,q-]RS碼,有最小距離。由于線性碼的最大可能的最小距離是校驗元的個數(shù)加l,而RS碼恰好做到了這一點。因此,稱RS碼為極大最小距離可分碼,簡稱MDS碼。顯然RS碼的設(shè)計距離與實際距離D是一致的。如果我們要設(shè)計一個=9的RS碼,顯然RS碼的冗余位為-1=8=2t它的生成多項式為:
1.006.jpg (3.13 KB, 下載次數(shù): 120)
下載附件
2016-10-11 18:15 上傳
將信息段看成信息碼多項式m(x),即
1.007.jpg (3.34 KB, 下載次數(shù): 117)
下載附件
2016-10-11 18:15 上傳
用信息碼多項式m(x)除以生成多項式g(x),所得余式r(x)為監(jiān)督碼多項式,即
1.008.jpg (2.8 KB, 下載次數(shù): 124)
下載附件
2016-10-11 18:15 上傳
將監(jiān)督碼多項式r(x)置于信息碼多項式之后,形成RS碼。
4.2 RS譯碼RS解碼可分為時域解碼和頻域解碼。時域解碼直接根據(jù)接收到的數(shù)據(jù)確定錯誤位置,不需要轉(zhuǎn)換計算,相對較容易實現(xiàn)。反之,頻域解碼首先要確定錯誤位置的傅氏變換,然后通過傅氏反變換找到錯誤位置,因此一般采用時域解碼[9]。
本文RS碼譯碼算法采用Berlekamp算法[10-11],該算法是從計算接收碼字得到的伴隨式入手,以下我們用c(x)表示碼字,e(x)表示有
1.009.jpg (1.3 KB, 下載次數(shù): 128)
下載附件
2016-10-11 18:15 上傳
個錯誤得錯誤圖樣,r(x)表示接受字,r(x)=c(x)+e(x),
1.010.jpg (2.56 KB, 下載次數(shù): 111)
下載附件
2016-10-11 18:15 上傳
其中xi是第i個差錯得錯誤位置,定義
1.011.jpg (1.15 KB, 下載次數(shù): 142)
下載附件
2016-10-11 18:15 上傳
,yi是它的錯誤值。
(1)根據(jù)接收到的碼多項式計算伴隨式S
1.012.jpg (13.66 KB, 下載次數(shù): 121)
下載附件
2016-10-11 18:15 上傳
而計算伴隨式之值{Sp}(p=1,2,…,2t-1,2t),就是將碼得規(guī)定根代入多項式r(x) ,則得,
1.013.jpg (4.8 KB, 下載次數(shù): 125)
下載附件
2016-10-11 18:15 上傳
若S=0,認為接收無誤。若
1.014.jpg (1.07 KB, 下載次數(shù): 101)
下載附件
2016-10-11 18:15 上傳
,則由S找出錯誤圖樣。
因為
1.015.jpg (2.42 KB, 下載次數(shù): 130)
下載附件
2016-10-11 18:15 上傳
,而
1.016.jpg (1.33 KB, 下載次數(shù): 101)
下載附件
2016-10-11 18:15 上傳
(p=1,2,…,2t)
1.017.jpg (4.92 KB, 下載次數(shù): 102)
下載附件
2016-10-11 18:15 上傳
即
1.018.jpg (13.4 KB, 下載次數(shù): 123)
下載附件
2016-10-11 18:15 上傳
從本質(zhì)上說,譯碼器就是求解伽邏華域GF(2m)上得這組伴隨式非線性聯(lián)立方程,由伴隨式S找出錯誤圖樣時,先確定錯誤位置。
由于RS碼是由伽邏華域GF(2m)上某個元素的2t個連續(xù)冪次為根的生成多項式所定義的,用這些根取估算一個碼字多項式時,可寫出xi再求錯誤值yi。一般避免直接求解錯誤位置xi,而代之以間接法。
(2)從伴隨式S到差錯位置多項式
1.019.jpg (1.1 KB, 下載次數(shù): 111)
下載附件
2016-10-11 18:15 上傳
的迭代算法
錯誤位置多項式為:
1.020.jpg (6.94 KB, 下載次數(shù): 90)
下載附件
2016-10-11 18:15 上傳
顯然,差錯位置多項式的v個根式差錯位置數(shù)的倒數(shù)
1.021.jpg (1.96 KB, 下載次數(shù): 130)
下載附件
2016-10-11 18:15 上傳
。各次項的系數(shù)
1.022.jpg (1.31 KB, 下載次數(shù): 111)
下載附件
2016-10-11 18:15 上傳
和
1.023.jpg (1.69 KB, 下載次數(shù): 116)
下載附件
2016-10-11 18:15 上傳
一樣是未知數(shù)。將②式展開可得:
1.024.jpg (11.8 KB, 下載次數(shù): 89)
下載附件
2016-10-11 18:15 上傳
再將③式代入①式可得牛頓恒等式:
1.025.jpg (15.33 KB, 下載次數(shù): 121)
下載附件
2016-10-11 18:15 上傳
令第μ次迭代后所得
1.026.jpg (1.34 KB, 下載次數(shù): 97)
下載附件
2016-10-11 18:15 上傳
是
1.027.jpg (812 Bytes, 下載次數(shù): 98)
下載附件
2016-10-11 18:15 上傳
次多項式為
1.028.jpg (5.04 KB, 下載次數(shù): 111)
下載附件
2016-10-11 18:15 上傳
這時,
1.029.jpg (2.12 KB, 下載次數(shù): 103)
下載附件
2016-10-11 18:15 上傳
表示第μ次迭代后所得得i次項系數(shù)。得系數(shù)一定滿足式③得前μ個牛頓恒等式,但不一定滿足第μ+1個牛頓恒等式。為了求
1.030.jpg (1.46 KB, 下載次數(shù): 156)
下載附件
2016-10-11 18:15 上傳
,先求第μ次迭代的差值
1.031.jpg (876 Bytes, 下載次數(shù): 115)
下載附件
2016-10-11 18:15 上傳
如下:
1.032.jpg (5.53 KB, 下載次數(shù): 116)
下載附件
2016-10-11 18:15 上傳
差值實際上就是將第μ次迭代的結(jié)果代入最后一個牛頓恒等式所得的結(jié)果。
如果=0,說明的系數(shù)也滿足第μ+1個牛頓恒等式,校驗通過。這時可令
1.033.jpg (2.23 KB, 下載次數(shù): 114)
下載附件
2016-10-11 18:15 上傳
,如果
1.034.jpg (1.08 KB, 下載次數(shù): 137)
下載附件
2016-10-11 18:15 上傳
,說明的系數(shù)不滿足第μ+1個牛頓恒等式,差距是,這時要求做修正并求修正后的。修正后的取法是:
I.從本次的迭代回退,尋找前面某一次,比如第ρ次迭代(ρ<μ)的差錯多項式
1.035.jpg (1.34 KB, 下載次數(shù): 109)
下載附件
2016-10-11 18:15 上傳
,要求該次(即第ρ次)迭代差值且
1.036.jpg (991 Bytes, 下載次數(shù): 117)
下載附件
2016-10-11 18:15 上傳
最大。
1.037.jpg (811 Bytes, 下載次數(shù): 142)
下載附件
2016-10-11 18:15 上傳
是第ρ次迭代時多項式
1.038.jpg (1.34 KB, 下載次數(shù): 119)
下載附件
2016-10-11 18:15 上傳
最高項的次數(shù),即
1.039.jpg (2.01 KB, 下載次數(shù): 116)
下載附件
2016-10-11 18:15 上傳
II.取修正項為
1.040.jpg (2.35 KB, 下載次數(shù): 137)
下載附件
2016-10-11 18:15 上傳
,即令:
1.041.jpg (3.98 KB, 下載次數(shù): 100)
下載附件
2016-10-11 18:15 上傳
式中,
1.042.jpg (2.04 KB, 下載次數(shù): 108)
下載附件
2016-10-11 18:15 上傳
,
1.043.jpg (3.25 KB, 下載次數(shù): 95)
下載附件
2016-10-11 18:15 上傳
,的最高次為:
1.044.jpg (3.83 KB, 下載次數(shù): 114)
下載附件
2016-10-11 18:15 上傳
(3)利用錯誤位置多項式求出差錯位置數(shù)
將得到的錯誤位置多項式的系數(shù)代入式①,可算得
(4)利用伴隨式和
1.045.jpg (1.1 KB, 下載次數(shù): 115)
下載附件
2016-10-11 18:15 上傳
的系數(shù)求出差錯幅值
1.046.jpg (8.8 KB, 下載次數(shù): 89)
下載附件
2016-10-11 18:15 上傳
由式④和式⑤,可得:
1.047.jpg (8.68 KB, 下載次數(shù): 97)
下載附件
2016-10-11 18:15 上傳
比較它們得同次項系數(shù),再代入①式,即可得:
1.048.jpg (5.49 KB, 下載次數(shù): 133)
下載附件
2016-10-11 18:15 上傳
根據(jù)⑥式即可求得差錯幅值。
5.模塊組合本文采用RS(7,3)碼進行仿真,各模塊組合及其仿真流程圖如圖1所示:
1.049.jpg (36.42 KB, 下載次數(shù): 123)
下載附件
2016-10-11 18:15 上傳
圖1
其中,RS編碼與解碼已經(jīng)在基礎(chǔ)理論中做了介紹,下面著重對其他組合模塊的功能和產(chǎn)生進行簡單的介紹。
5.1 多進制信源用MATLAB自帶函數(shù)rand產(chǎn)生隨機數(shù),乘以M(所要產(chǎn)生的進制數(shù)),再經(jīng)過向下取整即可。
5.2 將多進制信息進行分幀由于多進制信源產(chǎn)生的是一連串的多進制符號,為了進行編碼,需將這些符號進行分組,本次設(shè)計采用MATLAB自帶函數(shù)reshape, 將信息串(本次設(shè)計采用12000)變換成一個矩陣,該矩陣的行數(shù)為幀數(shù)(本次設(shè)計取值為4000),列數(shù)為信息位數(shù)(本次設(shè)計取值為3)
5.3 PSK傳輸系統(tǒng)
1.050.jpg (13.98 KB, 下載次數(shù): 113)
下載附件
2016-10-11 18:15 上傳
圖2
(1)8PSK調(diào)制器
I.首先將RS編碼器的輸出,映射到數(shù)域。然后把每個八進制符號都映射成三個二進制符號,映射規(guī)則如表2所示:
表2
II.再將每三個二進制符號按圖三進行映射。
(2)高斯隨機數(shù)發(fā)生器
同時產(chǎn)生高斯隨機數(shù)的同相分量和正交分量。
(3)為了驗證RS碼在突發(fā)差錯情況下仍然保持良好性能,故在PSK傳輸系統(tǒng)中引入突發(fā)差錯,與未加突發(fā)差錯的情況形成對比。
(4)判決器
計算接受信號在發(fā)送向量的投影,判斷哪個投影最大,就判哪個向量輸出。
1.051.jpg (18.88 KB, 下載次數(shù): 121)
下載附件
2016-10-11 18:15 上傳
圖3
5.4 將信息幀合并一串信息由于從RS譯碼器輸出的消息是分組的,應(yīng)將這些消息進行合并,以便與信源產(chǎn)生的消息進行比較,計算誤碼率。
5.5 誤碼率計算只要將上述輸出與信源比較,計算有多少不同的符號,然后再除于信源產(chǎn)生的符號數(shù),即得誤碼率。
6.結(jié)果分析根據(jù)以上仿真過程,采用信源產(chǎn)生N=
1.052.jpg (1.24 KB, 下載次數(shù): 115)
下載附件
2016-10-11 18:15 上傳
(為節(jié)約程序運行時間,故N取值較小)個符號,固定信號功率S=1,得出以下圖表。
經(jīng)RS編碼后,信道采用pskmoto.m文件,信息流通過未加隨機差錯的曲線如下圖所示:
1.053.jpg (70.87 KB, 下載次數(shù): 106)
下載附件
2016-10-11 18:15 上傳
圖4
經(jīng)RS編碼后,信道采用pskmoto2.m文件,信息流通過加上隨機差錯的曲線如下圖所示:
1.054.jpg (68.61 KB, 下載次數(shù): 108)
下載附件
2016-10-11 18:15 上傳
圖5
對比兩圖可見,未加突發(fā)差錯和加上突發(fā)差錯的信噪比與誤碼率曲線圖相差不多,故得出結(jié)論,RS編碼對突發(fā)差錯具有良好的抵抗能力。
7.總結(jié)通過本次課程設(shè)計的學(xué)習(xí)讓我了解了RS編碼的歷史、原理和編碼的步驟還有它的實際應(yīng)用和不足之處、也使我對RS編碼有了重新的認識。通過本課程的學(xué)習(xí),我也認識了自己還有很多不足,需要進一步學(xué)習(xí)的地方,在接下來的學(xué)習(xí)中我會花更多時間,我要不斷的努力,多聯(lián)系,多思考,來認真加深知識理解與運用,我相信我能有所進步的。
參考文獻[1] 蘇艷琴等.基于RS碼和LDPC碼的糾錯性能分析.海軍航空工程學(xué)院電子信息工程系.
[2] 陳曦.基于RS編碼的光通信系統(tǒng)的設(shè)計與實現(xiàn):[碩士學(xué)位論文].成都:電子科技大學(xué),2009
[3] Xu Youzhi.Implementation of Berlekamp-Massey algorithm without inversion.1EE E
Proceedings-I,1991,138(2):138-140
[4] Hsie-Chia Chang,C.Bernard Shung.New Serial Architecture for the Berlekamp-Massey
Algorithm.IEEE Transactions on communications,1999,47(4):48 1-483
[5] DiHp V Sarwate,Narcsh R Shanbhag.High-Speed Architectures for Reed-Solomon Decoders.
IEEE Transactions Very Large Scaleintegration(VLSD Systems,2001,9(5):641-655
[6]陳飛,周德新.高速光網(wǎng)絡(luò)系統(tǒng)中FEC編碼器的設(shè)計與實現(xiàn).光通信技術(shù),2004,4(5):35.37
[7] 曹立朋.數(shù)字視頻廣播傳輸系統(tǒng)中的的信道編碼技術(shù):[碩士學(xué)位論文].西安:西安電子科技大學(xué),2006
[8] 曹雪虹,張宗橙.信息論與編碼.清華大學(xué)出版社.2004.
[9] 堯勇仕.DVB系統(tǒng)的RS編解碼的設(shè)計及ASIC實現(xiàn):[碩士學(xué)位論文].江蘇:江南大學(xué),2008
[10] Marconetti, R. Guenard, D. Savage, P. Crowe, I. Epelde, L. Bradley, F. Cali.A fully programmable Reed Solomon 8-bit codec based on a re-shapedBerlekamp Massey algorithm. Proceedings of the IEEE InternationalSymposium on Circuits and Systems (ISCAS ’02), 2002, 5: 553-556.
[11] 朱起悅.RS碼編碼和譯碼算法.中國期刊網(wǎng).1999.4.