FEC介绍(二)-详解RS编码

如下,是对参考链接文章的简化。

参考链接:https://www.cnblogs.com/swordc007/p/9151205.html

一、纠错原理

1、对数据进行结构化处理,处理后的数据即使部分损坏,也能通过修复结构,补齐缺失的数据、修改错误的数据。

在数学上,这个结构是通过伽罗瓦域的多项式实现的。

2、关于这个结构和修复,参考链接的文章,给出了一个类比。

(1)现有一简单词典,仅有this、that、corn。如果接收到一个损坏的词co**(包含于词典中),通过查词典可知,缺失的是rn,完整的词应该是corn。

(2)如果收到的词是thi*,通过词典可知,完整的词应该是this。

(3)如果收到的词是th**,则难以确认是this还是that。

通过上述例子可知,纠错补齐与词典、损坏数据的位置和个数都有关系。

3、如果增加冗余信息,可帮助恢复信息。

二、QR码

二维QR码现广泛应用于手机支付、共享单车等场景。与条形码相比,QR码面积较小,且能够有一定的纠错能力。QR码表面即使有一些划伤等,也不影响使用。

三、BCH码

BCH码是一类通用的纠错码,是现代Reed-solomon码(RS码)的父族。QR码格式化信息时用BCH编码,能够纠正一定的比特错误。BCH码是RS码的一般化,现代RS码属于BCH码。

1、BCH错误检测

检测编码信息的过程类似长除法,但要把减法替换成异或。格式码被编码生成器长除时余数应为0。

以QR使用的生成器10100110111,示例代码000111101011001为例。

2、BCH纠错

QR码的格式码比较有限,寻找接近的的词比较容易,方法接近与逐个搜索的穷举法。如果可能的码字数量很大的话,就需要复杂一些的算法进行处理。

接下来是将RS码和有限域,基本思想就是生成具有最大可分离的有限词典。即词典能够具有很高的分离性,这个就要求词典越大越好;由于搜索时要求不能无限的大,词典也不能太大。

四、有限域算术

略。

五、RS编码

1、洞察编码理论

之所以在第四节介绍了多项式和有限域算术,就是因为RS编码是通过多项式把数据结构化了,而不是单纯的将其看做是一串数字。这种结构化,使得可以在多项式和有限域算术的规则基础上进行数学化的运算。

2、编码大纲

如BCH,RS编码通过将消息结构化为多项式,除以不可约生成多项式,来进行编码,得出的余数为RS码,将RS码附加到原始消息。

如前面小节讲的,增加冗余消息,有利于恢复消息。这里将RS码附加到原始信息,加长了原始消息,利于构造距离较长的词典,而且得益于不可约生成多项式,RS码基本上是唯一的,利于消息之间的区分(增加同等长度下,距离最大)。

总结:不可约生成多项式是编码词典,多项式除法用于将消息除以生成多项式得出的RS码。

3、RS生成多项式

RS编码使用的生成多项式与BCH码类似。

编码较简单,且单一。复杂处在于解码。

六、RS解码

1、解码大纲。

(1)计算证候多项式。使用Berlekamp-Massey等算法,分析哪些字符是错误的。

(2)计算丢失/错误位置多项式。准确给出字符破坏的位置。

(3)计算丢失/错误计算多项式。评估字符被篡改的程度。

(4)计算丢失/错误震级多项式。该多项式准确的存储了为获取正确消息而应该减去的值。

(5)减去震级多项式。

2、错误和丢失数据的纠正

RS解码器可以同时解码丢失和错误,其数量受如下限制:

2*e + v <= (n - k)
其中,
e是错误的数量;
v是丢失的数量;
(n-k)是RS码字符的数量。

(1)以RS(255,239)解码为例,在不丢失数据的情况下,能够纠错的最大数量为(255-239)/ 2 = 8 。

(2)针对公式本身来说,每丢失1个数据,需要1个RS码。每错误1个数据,需要2个RS码。

  • 3
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值