循环码的编码、译码与循环冗余校验

简介: 循环码的编码、译码与循环冗余校验

本专栏包含信息论与编码的核心知识,按知识点组织,可作为教学或学习的参考。markdown版本已归档至【Github仓库:https://github.com/timerring/information-theory 】或者【AIShareLab】回复 信息论 获取。

循环码的编码

循环码编码用硬件实现时, 可用除法电路来实现。 除法电路主要是由移位寄存器和模 2 加法器组成。

$$ \begin{array}{c} r(x)=x^{n-k} u(x) \bmod g(x) \\ c(x)=x^{n-k} u(x)+r(x) \end{array} $$

码多项式中 x 的幂次代表移位的次数。

例如图给出 (7,3) 循环码编码器的组成。$g(x)=1+x+x^{2}+x^{4}$。图中对应 g(x) 有4级移位寄存器, 分别用 $D_{1}, D_{2}, D_{3} , D_{4}$表示。

g(x) 多项式中系数是 1 或 0 表示该位上反馈线的有无, 信号 $\Phi_{1}$, $\quad \Phi_{2}$ , 控制门电路1-3。当信息位输入时, 控制信号使门1, 门3打开, 门2关闭, 输入信息码元一方面送 除法器进行运算, 另一方面直接输出。

在信息位全部输入除法器之后, 控制信号使门1, 3关闭, 门2打开, 这 时寄存器通过门2直接输出, 将寄位寄存器中的除法余项依次取出, 即 将监督码元附加在信息码元之后。则编出的码组前面是原来 $\mathbf{k}$ 个信息 码元,后面是(n-k)个监督码元,从而得到系统分组码。

为便于理解,下表给出这一编码器的工作过程。这里设信息码元为110,编出的监督码元为0101,循环码组为1100101。

循环码的伴随多项式译码

循环码的译码电路如图所示。

无错: $y(x)_{\bmod g(x)}=0$ ;

有错: $y(x)_{\bmod g(x)} \neq 0 $ 。

收、发码字与错误图样多项式关系:

错误图样: $\overrightarrow{\boldsymbol{e}}=\left[e_{0} e_{1} \cdots e_{n-1}\right] \Rightarrow e(x)$;

接收码字: $\mathrm{y}(x)=c(x) \bigoplus e(x)$

伴随式译码:

(1)对最可能出现的错误图样计算相应的伴随多项式: $S(x)=e(x) \bmod g(x)$ , 并构造伴随式一错误图样表 $[(\vec{S}, \vec{e})]$ ;

(2)根据接收码式计算伴随多项式; $S(x)=y(x) \bmod g(x)$

(3)由伴随式 $\vec{S}$ 查错误图样 $\vec{e}$ ;

(4)对接收码字进行纠错, 得到发送码字的估计值:

$$ \hat{\mathbf{c}}=\overrightarrow{\mathbf{y}}-\overrightarrow{\mathbf{e}}=\overrightarrow{\mathbf{y}} \oplus \overrightarrow{\mathbf{e}} $$

(5)循环码可以用移位寄存器实现伴随式译码

循环冗余校验 (Cyclic Redundancy Check, CRC)

适合于检测错误, 具有很强的检错能力, 且实现简单。

CRC检错性能如下:

  • 可以检测出突发长度 $<\boldsymbol{n}-\boldsymbol{k}+\boldsymbol{1}$ 的突发错误
  • 大部分突发长度 $=\boldsymbol{n}-\boldsymbol{k}+1$ 的错误可以检测出, 其中不可检出的错误占 $2^{-(n-k-1)}$ ;
  • 大部分突发长度 $>\boldsymbol{n}-\boldsymbol{k}+\mathbf{1}$ 的错误可以检测出, 其中不可检出的错误占 $2^{-(n-k)}$ ;
  • 可以检测出所有与许用码字码距 $\leq d_{\min }-1$ 的错误;
  • 可以检测出所有奇数个错误。
  • CRC不一定是循环码。但是码多项式一定是生成多 项式的倍式。

常用的CRC冗余校验码生成方程

CRC-16 $g(x)=X^{16}+X^{15}+X^{2}+1$ (USB)

CRC-ITU $g(x)=X^{16}+X^{12}+X^{5}+1$ (HDLC, PPP)

CRC-32 $g(x)=X^{32}+X^{26}+X^{23}+X^{22}+X^{16}+X^{12}+ X^{11}+X^{10}+X^{8}+X^{7}+X^{5}+X^{4}+X^{2}+X+1$ (LANS,
PPP)

注意:

  1. CRC不一定是循环码, 它是 (k+r, k) 线性分组码,其中 r 为 g(x) 的阶数;
  2. CRC码多项式一定是生成多项式的倍式;
  3. 生成多项式不一定是 $x^{n}+1$ 的因式;
  4. 编码过程和系统型循环码一样;
  5. 检错过程就是用接收码多项式除以生成多项式, 余式 $\neq \mathbf{0}$ , 即为有错。

讨论:若已知CRC生成多项式 g(x) ,要信息位为 $\mathrm{k}$ ,需 加入r位校验位,如何编码?

例: 若 $g(x)=x^{4}+x+1$ ,已知数据信息为 110010110,现要对其进行CRC编码,如何编? 若收到的码字为 1100101001010 ,请问是否出错?

r=4 ; $\mathrm{k}$=9

码多项式的最高阶次为 12 .

$$ \begin{array}{c} x^{4} u(x)=x^{12}+x^{11}+x^{8}+x^{6}+x^{5} \\ r(x)=x^{4} u(x) \bmod g(x)=x^{3}+x^{2}+x \end{array} $$

故编码为 1100101101110,码字1100101001010,有错, $r(x)=x \neq 0$

参考文献:

  1. Proakis, John G., et al. Communication systems engineering. Vol. 2. New Jersey: Prentice Hall, 1994.
  2. Proakis, John G., et al. SOLUTIONS MANUAL Communication Systems Engineering. Vol. 2. New Jersey: Prentice Hall, 1994.
  3. 周炯槃. 通信原理(第3版)[M]. 北京:北京邮电大学出版社, 2008.
  4. 樊昌信, 曹丽娜. 通信原理(第7版) [M]. 北京:国防工业出版社, 2012.
目录
相关文章
|
IDE Linux 开发工具
Linux添加硬盘并进行分区、格式化、挂载及卸载
Linux添加硬盘并进行分区、格式化、挂载及卸载
720 0
MySQL单表数据不要超过500万行:是经验数值,还是黄金铁律?
原文地址:梁桂钊的博客 博客地址:http://blog.720ui.com 欢迎关注公众号:「服务端思维」。一群同频者,一起成长,一起精进,打破认知的局限性。 今天,探讨一个有趣的话题:MySQL 单表数据达到多少时才需要考虑分库分表?有人说 2000 万行,也有人说 500 万行。
20730 0
OpenWrt Web界面修改及功能实现实例说明
http://www.cnblogs.com/dwayne/archive/2012/04/21/2460830.html 通过上篇文章的介绍,我们应该了解了Lua语言在OpenWrt Web配置页面的基本对应功能设计方法。
3095 0
|
7月前
|
安全 搜索推荐 SEO
个人网站制作的步骤及流程
本文为个人网站制作流程指南,分为六步:明确需求、选择域名托管、搭建建站工具、完善素材内容、测试优化及发布维护。推荐使用PageAdmin CMS,拥有丰富的模板和编辑器,易上手且功能强大。
870 1
|
11月前
|
自然语言处理 NoSQL 前端开发
基于Neo4j的水稻病虫害问答系统
基于Neo4j的水稻病虫害问答系统
157 1
|
9月前
|
机器学习/深度学习 新零售 人工智能
基于阿里云AI购物助手解决方案的深度评测
阿里云推出的AI购物助手解决方案,采用模块化架构,涵盖智能对话引擎、商品知识图谱和个性化推荐引擎。评测显示其在智能咨询问答、个性化推荐和多模态交互方面表现出色,准确率高且响应迅速。改进建议包括提升复杂问题理解、简化推荐过程及优化话术。总体评价认为该方案技术先进,应用效果好,能显著提升电商购物体验并降低运营成本。
621 0
|
安全 Android开发 Kotlin
Android中LiveEventBus收不到消息?不妨试试本地广播
本文介绍在Android应用内使用本地广播(LocalBroadcast)进行组件间通信的方法,解决了Activity在onStop状态时接收不到消息的问题。本地广播比全局广播更安全高效,适用于同一应用内的通信。文章详细介绍了设置广播接收器、发送广播及注意事项,并提供了Kotlin代码示例。
196 3
|
存储 编解码 算法
【信道编码】2 卷积码、状态转移图、状态转移表、网格表示和码字路径
【信道编码】2 卷积码、状态转移图、状态转移表、网格表示和码字路径
836 1
|
11月前
|
SQL 消息中间件 存储
小象超市(原美团买菜) 的大屏图表
小象超市(原美团买菜) 的大屏图表
464 0