RS编码

RS编码,又称里所码,即Reed-solomon codes,是一种前向纠错的信道编码,对由校正过采样数据所产生的多项式有效。当接收器正确的收到足够的点后,它就可以恢复原来的多项式,即使接收到的多项式上有很多点被噪声干扰失真。
编码过程首先在多个点上对这些多项式求冗余,然后将其传输或者存储。对多项式的这种超出必要值的采样使得多项式超定(过限定)。当接收器正确的收到足够的点后,它就可以恢复原来的多项式,即使接收到的多项式上有很多点被噪声干扰失真。

RS(Reed-Solomon)码是一类纠错能力很强的特殊的非二进制BCH码。对于任选正整数S可构造一个相应的码长为n=qS-1的 q进制BCH码,而q作为某个素数的幂。当S=1,q>2时所建立的码长n=q-1的q进制BCH码,称它为RS码。当q=2(m>1),其码元符号取自于F(2)的二进制RS码可用来纠正突发差错,它是最常用的RS码。
一个RS码有以下几个参数:

奇偶校验长度:n-k=e个符号

通过缩短,(n,k)RS码的长度可以减少到具有相同符号长度的(n’,k’)RS码,期中n’和k’分别小于或者等于n和k。

CRC

CRC(Cyclic Redundancy Check)循环冗余校验码
是常用的校验码,在早期的通信中运用广泛,因为早期的通信技术不够可靠(不可靠性的来源是通信技术决定的,比如电磁波通信时受雷电等因素的影响),不可靠的通信就会带来‘确认信息’的困惑,书上提到红军和蓝军通信联合进攻山下的敌军的例子,第一天红军发了条信息要蓝军第二天一起进攻,蓝军收到之后,发一条确认信息,但是蓝军担心的是‘确认信息’如果也不可靠而没有成功到达红军那里,那自己不是很危险?于是红军再发一条‘对确认的确认信息’,但同样的问题还是不能解决,红军仍然不敢贸然行动。

对通信的可靠性检查就需要‘校验’,校验是从数据本身进行检查,它依靠某种数学上约定的形式进行检查,校验的结果是可靠或不可靠,如果可靠就对数据进行处理,如果不可靠,就丢弃重发或者进行修复。

(倒推法)

发送方发送的是T(x),接收方接收到的是R(x),若T(x)和R(X)相等,则传输的过程中没有出现错误。

如何判断T(x)和R(X)是否相等?若R(X)能够被g(x)整除,则接收方认为T(x)和R(X)相等,即传输的过程中没有出现错误。

发送方要传输的信息info包含在T(x)里,info是T(x)的一部分,但不能说info就是T(x)。实际应用中,g(x)的取值是有限制的,它受限于以下国际标准:

CRC-CCITT=x^16+x^12+x^5+1

CRC-16=x^16+x^15+x^2+1

CRC-12=x^12+x^11+x^3+x^2+x+1

关于g(x)的国际标准还有一些,这里不一一介绍。

人工计算循环冗余校验码需要先弄清的知识:多项式除法、异或运算。
例:对于生成多项式g(x)=x^4+x^3+x^2+1,报文110产生的CRC的过程如下:

1.对于g(x)=x^4+x^3+x^2+1的解释:(都是从右往左数)x4就是第五位是1,因为没有x1所以第2位就是0。

将生成多项式g(x)=x^4+x^3+x^2+1转换成对应的二进制除数11101。

2、此生成多项式有5位(R+1)(注意:5位的生成多项式计算所得的校验码为4位,R为校验码位数),要把原始报文左移 4(R)位变成110 0000

3、用110 0000与11101进行模2除,相当于按位异或:

11101 | 110,0000

得到余数:1001

所以CRC码是1001,传输码为:110,1001

交织编码

交织其实是通信系统中进行数据处理而采用的一种技术,交织器从其本质上来说就是一种实现最大
交织原理
交织原理
限度的改变信息结构而不改变信息内容的器件。从传统上来讲就是使信道传输过程中所突发产生集中的错误最大限度的分散化。因此,具体来讲也许数据置乱器这个称呼更加符合交织器其本质,会让人们对交织器的基本工作机理有更多的感性认识。

在陆地移动通信这种变参信道上,比特差错经常是成串发生的。这是由于持续较长的深衰落谷点会影响到相继一串的比特。然而,信道编码仅在检测和校正单个差错和不太长的差错串时才有效。为了解决这一问题,希望能找到把一条消息中的相继比特分散开的方法,即一条消息中的相继比特以非相继方式被发送。这样,在传输过程中即使发生了成串差错,恢复成一条相继比特串的消息时,差错也就变成单个(或长度很短),这时再用信道编码纠错功能纠正差错,恢复原消息。这种方法就是交织技术。

假定由一些4比特组成的消息分组,把4个相继分组中的第1个比特取出来,并让这4个第1比特组成一个新的4比特分组,称作第一帧,4个消息分组中的比特2~4,也作同样处理,如图3-30所示。

然后依次传送第1比特组成的帧,第2比特组成的帧,……。在传输期间,帧2丢失,如果没有交织,那就会丢失某一整个消息分组,但采用了交织,仅每个消息分组的第2比特丢失,再利用信道编码, 全部分组中的消息仍能得以恢复,这就是交织技术的基本原理。概括地说,交织就是把码字的b个比特分散到n个帧中,以改变比特间的邻近关系,因此n值越大,传输特性越好,但传输时延也越大,所以在实际使用中必须作折衷考虑。

信道编码-RS-CRC-交织(一)相关推荐

  1. 通信原理学习笔记3-2:数字通信系统概述(信源编码/压缩编码、信道编码FEC和交织、HARQ)

    我们将数字通信系统分为三个主要模块: 信源默认为数字信源,但是如果是模拟信源,还需要模数转换(包含采样.量化.编码,未画出) 数字信源经过信源编码.信道编码和交织处理,提高了有效性和可靠性 然后进行数 ...

  2. 信道编码---RS编码与译码原理

    本文介绍了RS编码以及译码的原理. 本文的内容基本上都来自刘梦欣的<基于FPGA的RS编译码研究与设计>,大家可以通过知网找到这篇文章,链接在下面.对RS码的原理讲解非常清楚,如果要看的话 ...

  3. 每日一问 --什么是信道编码和交织?

    目录 1.信道编码 2.交织 3.脉冲成形 ​​​​​​​​​​​​​​ 1.信道编码 通过添加冗余信息,一边在接收端进行纠错处理,解决信道的噪声和干扰导致的误码问题,这就是信道编码.一般的信道译码只 ...

  4. 【深入浅出通信原理-学习笔记】信道编码与交织

    信道编码与交织在通信系统模型中的位置如下图所示 信道编码主要是为了解决数据在信道中传输时引入的误码问题. 如下图所示,解决误码问题有两个办法,一个是对错误数据进行重传,称为后向纠错,另一个是在发送端发 ...

  5. 5G中CRC table的生成

    5G中CRC table的生成 5G信道编码之CRC CRC介绍 CRC查表法 OAI中的代码实现 5G信道编码之CRC CRC介绍 参照38.212 第5章 信道编码是一种组合,这种组合包含了检错, ...

  6. OFDM子载波频率 知乎_如何生成复杂的调制信号?

    本白皮书旨在为您介绍如何利用低成本任意波形发生器生成复杂的调制信号. 简介 - 数字调制信号几乎遍布在每一个有线网络和光纤网络.如今,大多数无线服务都在使用复杂的载波调制方案.调制技术和元器件的持续改 ...

  7. DVB-C机顶盒的组成与基本工作原理

    数字机顶盒不仅是用户终端,也是网络终端,它利用有线电视网络作为传输平台,电视机作为用户终端.机顶盒的组成由软件和硬件两大部分组成,软件部分采用嵌入式实时操作系统,它的作用与PC机上的DOS和WINDO ...

  8. 忘却的纪念:我的摩托罗拉3G网络工程师培训笔记

    6年前我报名参加了摩托罗拉研究院主办的3G移动网络工程师培训简称MCNE,当时3G牌照尚未下发,3G这个概念更不为人所知.我可能是这个培训班上年纪最小的,年少轻狂,就在开办仪式上,培训老师让我们自我介 ...

  9. cdma特有效应_CDMA原理部分考试题(含答案).doc

    一.填空题:(30分,每题2分) 1.CDMA系统的前向信道有_导频信道 , 同步信道, 寻呼信道,前向业务信道.反向信道有 接入信道, 反向业务信道. 2.功控的主要目的是降低干扰,克服远近效应,既 ...

  10. 5G/NR,MCS与TBS的计算

    NR,MCS与TBS的计算 MCS\TBS的基本概念 MCS(Modulation and scheme,调制编码策略):代表了调制方式与编码效率的等级.在3GPP标准的38214中会有MCS等级的表 ...

最新文章

  1. 【Web安全】漏洞之王-Sql注入原理与危害解析
  2. ubuntu首次给root用户设置密码和root用户登录设置
  3. python3.7对应的numpy版本_图解NumPy包一文就够了
  4. python 发送邮件不显示附件_python3发送邮件(无附件)
  5. netstat 在windows下和Linux下查看网络连接和端口占用
  6. 逻辑性不好可以学python吗_如果本文若未能让你学会“Python”,可能真的不适合学习Python...
  7. mysql text 查询速度_数据库学习之让索引加快查询速度(四)
  8. 基于‘BOSS直聘招聘信息’分析企业到底需要什么样的PHPer
  9. IOS开发ui篇-UITableviewcell的性能问题
  10. Linux环境下编译运行大型C语言项目
  11. 打造黑苹果(一)组装硬件的选择与组装
  12. 电脑丢失dll文件能一键修复吗,哪种修复方法靠谱?
  13. gcc: libc: __ASSEMBLER__; Kernel: __ASSEMBLY__
  14. 关于74HC573使用
  15. 11 种主要神经网络结构图解
  16. 【AI绘画打卡】| 用漫画生成器绘制宅男最爱的二次元美女
  17. HTTP取消SSL认证
  18. Kali Linux签名失效的解决方法
  19. HITCTF2018-web全题解
  20. docker创建(run)容器后容器自动关闭

热门文章

  1. 《Java开发实战经典》习题第4章第10题:在排序好的数组中添加一个数字,将添加后的数字插入到数组合适的位置
  2. SQL语句优化常见方法
  3. VC2013 ArcGIS Engine 10.0开发环境搭建
  4. android的抓包工具,安卓抓包工具
  5. DatagramPacket.getData()与DatagramPacket.getLength()的误区
  6. OpenDDS 安全配置
  7. 计算机打印不了测试纸,XP打印机打印不了测试页如何解决|打印机打印不了测试页的原因...
  8. Udemy上Gephi教程笔记1
  9. Android计算器设计实验报告
  10. freeMarker导出word富文本带图片或者指定目录下的图片