RS码
特别是在短的中等码长下,其性能接近于理论值,它不但可以纠正随机错误、突发错误以及两者的结合,而且可以用来构造其他码类,如级联码。因此RS码被广泛运用到军事通信、光纤通信、扩频数据等各种通信系统中。例如日本的BEST纠错码是(272,190) 大数逻辑码,可以纠正8个错误比特,编码效率是69%;如果利用GF(2^6)域上的RS(224, 200)码则可以纠正12个比特的错误,编码效率可达89%。
RS (n, k)码可以由m、η和k 3个参数表示,其中m表示码元符号取自域GF(2^m), n为码字长度,k为信息段长度。对于一个可以纠正t个符号错误的RS码,有如下参数:
(1)码字长度: n=2^m -1 个符号或m(2^m- 1)个比特。
(2)信息段:k个符号或km个比特。
(3)监督位:2t=n- k个符号或2mt = m(n- k)个比特。
(4)最小码距: d=2r+1个符号或 md = m(2t +1)个比特。
例如对RS(204, 188)码来说,源数据被分割为188个符号组, 经过编码变换后,成为204个符号长度的码字。长度为16个符号的监督位可以保证纠正码字中出现的最多8个错误。
下面展示一些 RS码 matlab 编码函数
。
(1)code=rsenc(msg,n,k)
将消息msg以(n,k)的结构进行编码,n的最大值是2^m-1.
(2)code= rsenc(msg,n,k,genpoly)
genpoly指定RS的生成多项式,以Galois的行向量形式给出。
相应的RS码译码函数为:
decoded= rsenc(code,n,k);
decode &#