软件无线电系列——RS码的编码和译码

微信公众号上线,搜索公众号小灰灰的FPGA,关注可获取相关源码,定期更新有关FPGA的项目以及开源项目源码,包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等
在这里插入图片描述
本节目录

一、RS码的编码
1、BCH码
2、RS码
3、一个RS(216,200)编码器
二、RS码的译码
本节内容
一、RS码的编码和译码

RS码是一类应用非常广泛的处理突发错误的字符编码。
1、BCH码
定义系数取自域GF(g)上,以GF(q ^ m)中的本原元素为根的最小多项式 p(x)为本原多项式。设q进制循环码的生成多项式为g(x),包含2t个连续根α ^ (j),α ^ (j+1) ,……, α ^ (j+2t+1),则由g(x)生成的(n,k)循环码称为q进制BCH码。
BCH 码可分为两类,本原BCH码和非本原BCH码,主要区别在于本原BCH码的生成多项式g(x)中含有最高次数为m的本原多项式,且码长为n=2 ^ m-1;非本原BCH码的生成多项式不含有这种本原多项式,码长n是2 ^ m-1的一个因子,即码长一定除得尽2 ^ m-1。如果一个BCH码的码元和其生成多项式g(x)的根均在GF(q ^ m)
上,并且q ^ m≠2,那么称此BCH码为RS码。
2、RS码
RS码是一类非二进制BCH码,不是单个的0和1,特别适合处理突发错误。在(n,k)RS码中,输入的信息分成mk比特一组,每组包括k个符号,每个符号由m比特组成。(n,k)RS码的纠错能力为t=(n-k)/2,最小码距为d=2t+1。在所有的(n,k)线性分组码中,RS码的最小码距是最大的,所以RS码的纠错能力是最强的。
在接收端收到码流后,如果在一个包内发生的误码不大于个符号,则可以在接收端重建原始的信息内容。在一个符号中,有一位或多位比特发生错误都算成一个符号错误,因此RS编码特别适用于存在突发错误的信道。
3、一个RS(216,200)编码器
①编码器复位于零初始状态,第一个信息码元到来时,计数器开始计数,每来一个信息码元计数器加1,后端的选择器选择1端作为输出,并反馈回移位寄存器。
②当计数器记录到200时,最后一个信息码元输入完成,计数器计到201产生控制信息sel,此时MUX开始选择2端,将反馈移位寄存器的输出端作为校验码元输出,并反馈回寄存器。此时最右端加法器的输出端相同,加法器输出端此时输出为零。
③当计数器计数到216时,16个校验码元最后一个开始输出,一次编码完成,在下个时钟周期sel控制信息取消,所有的寄存器,计数器,选择器回到初始状态,可以进行下一次编码。
在这里插入图片描述

二、RS码的译码
RS编码后的码字多项式c(x)在有噪信道中传输,噪声e(x)叠加到c(x)上并传送到接收端,接收端接收到的码字多项式r(x)=c(x)+e(x)。
RS译码的基本思想是从接收多项式r(x)找出错误的位置和错误值即错误图样e(x)的系数e,(i=0,1,…,n-1),从“(x)中减去e(x)得到译码后的正确码字c(x)=r(x)-e(x)。
RS码的译码算法主要有两种:时域译码法和变换域译码算法,实际应用中常采用时域译码算法。RS时域译码法通常可以分成五个步骤,分别为伴随式的计算、错误位置多项式的求解、钱搜索法查找错误位置,Forney法计算错误值及纠错运算。
在这里插入图片描述

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小灰灰的FPGA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值