1BCH码概述

BCH码取自 Bose、Ray-Chaudhuri 与 Hocquenghem 的缩写,是自1959年发展起来的一种能纠正多位错误的循环码,是编码理论尤其是纠错码中研究得比较多的一种编码方法。用术语来说,BCH 码是用于校正多个随机错误模式的多级、循环、错误校正、变长数字编码。BCH 码也可以用于质数级或者质数的幂级的多级相移键控。11 级的 BCH 码已经用于表示 10 进制数外加一个符号位。

BCH码是一类重要的纠错码,它把信源待发的信息序列按固定的κ位一组划分成消息组,再将每一消息组独立变换成长为n(n>κ)的二进制数字组,称为码字。如果消息组的数目为M(显然M≤2),由此所获得的M个码字的全体便称为码长为n、信息数目为M的分组码,记为n,M。把消息组变换成码字的过程称为编码,其逆过程称为译码。2BCH码的常见种类

1、戈雷码(Golay)

(23,12)码是一个特殊的非本原BCH码,称为戈雷码,它的最小码距7,能纠正3个错误,其生成多项式为。它也是目前为止发现的唯一能纠正多个错误的完备码。

2、扩展形式

实际应用中,为了得到偶数码长,并增加检错能力,可以在BCH码的生成多项式中乘D+1,从而得到(n+1,k+1)扩展BCH码。扩展BCH码相当于将原有BCH码再加上一位的偶校验,它不再有循环性。

3、缩短形式

几乎所以的循环码都存在它另一种缩短形式。实际应用中,可能需要不同的码长不是或它的因子,我们可以从码中挑出前s位为0的码组构成新的码,这种码的监督位数不变,因此纠错能力保持不变,但是没有了循环性。3BCH码的构建

BCH 码使用有限域上的域论与多项式。为了检测错误可以构建一个检测多项式,这样接收端就可以检测是否有错误发生。

要构建一个能够检测、校正两个错误的 BCH 码,我们要使用有限域 GF(16) 或者 Z2[x]/。如果 α 是 m1(x) = x4 + x + 1 的一个根,那么 m1 就是 α 的极小多项式,这是因为

m1(x) = (x - α)(x - α2)(x - α4)(x - α8)=x4 + x + 1。

如果要构建一个能够纠正一个错误的 BCH 码,那么就使用 m1(x),这个代码就是所有满足

C(x) ≡ 0(mod m1(x))且根为 α, α2, α4, α8 的多项式 C(x)。4BCH码解码

BCH 的解码过程可以分为以下四步

1、计算接收到的向量 R 的 2t 伴随矩阵

2、计算错误定位多项式

3、解多项式,得到错误位置

4、如果不是二进制 BCH 码,就计算错误位置的误差值

bch纠错码 码长8_BCH码-BCH码原理-BCH码分类-BCH码的应用-什么是BCH码-测控百科-CK365测控网...相关推荐

  1. 【计算机网络】数据链路层 : 差错控制 ( 纠错编码 | 海明码 | “海明码“ 原理 | “海明码“ 工作流程 | 确定校验啊位数 | 确定校验码和数据位置 | 求校验码值 | 检错纠错 )★

    文章目录 一. "海明码" 工作原理 二. "海明码" 工作流程 三. 确定校验码位数 四. 确定校验码和数据位置 0. 确定校验码位置 1. 引入二进制位 2 ...

  2. bch纠错码 码长8_密码学BCH纠错编码算法

    1 日止 实验目的 : 通过实验熟练掌握 BCH 纠错编码算法, 学会 BCH 纠错编码算法程序设计, 提高 C++ 程序设计能 力 . 实验要求 : 开发环境要求 : 软件环境: windows98 ...

  3. Vue2.0源码解析——编译原理

    Vue2.0源码解析--编译原理 前言:本篇文章主要对Vue2.0源码的编译原理进行一个粗浅的分析,其中涉及到正则.高阶函数等知识点,对js的考察是非常的深的,因此我们来好好啃一下这个编译原理的部分. ...

  4. 深入理解微信二维码扫码登录的原理

    文章目录 1.二维码应用场景及安全问题 2.二维码登录的本质 3.二维码验证机制的原理解析 4.深入理解二维码在登录的交互过程 5.总结感悟 1.二维码应用场景及安全问题 二维码使用广泛,生活处处都有 ...

  5. ldpc译码讲解_LDPC码编译码原理及应用

    LDPC 码编译码原理及应用 下一代移动通信系统的设计能力将远远超过当前的第三代移动通信系统的 能力 , 其中一个最重要的特点表现在需要在 20M 赫兹的带宽内 , 实现高达 100Mbps 的数据传 ...

  6. 调试JDK源码-ConcurrentHashMap实现原理

    调试JDK源码-一步一步看HashMap怎么Hash和扩容 调试JDK源码-ConcurrentHashMap实现原理 调试JDK源码-HashSet实现原理 调试JDK源码-调试JDK源码-Hash ...

  7. 调试JDK源码-Hashtable实现原理以及线程安全的原因

    调试JDK源码-一步一步看HashMap怎么Hash和扩容 调试JDK源码-ConcurrentHashMap实现原理 调试JDK源码-HashSet实现原理 调试JDK源码-调试JDK源码-Hash ...

  8. 调试JDK源码-HashSet实现原理

    调试JDK源码-一步一步看HashMap怎么Hash和扩容 调试JDK源码-ConcurrentHashMap实现原理 调试JDK源码-HashSet实现原理 调试JDK源码-调试JDK源码-Hash ...

  9. 收款神器!解读聚合收款码背后的原理|原创

    好了,不 BB 了,今天跟大家分享一下聚合收款码的支付原理,这也是我这大半年来一直在做的项目. 微信/支付宝收款码大家应该不会陌生,线下小微商户收款大多使用这个,就比如下图. 这种收款方式很方便,微信 ...

  10. MyBatis 源码分析 - 缓存原理

    1.简介 在 Web 应用中,缓存是必不可少的组件.通常我们都会用 Redis 或 memcached 等缓存中间件,拦截大量奔向数据库的请求,减轻数据库压力.作为一个重要的组件,MyBatis 自然 ...

最新文章

  1. Linux中查看所有正在运行的进程
  2. python3.6字典有序_Python-字典是用Python3.6+订购的吗?
  3. php 8 jit,PHP JIT 是什么?PHP8 新特征之 JIT 图文详解_后端开发
  4. linux nginx 状态,Nginx开启运行状态(status)功能 | IT运维网
  5. openoffice 安装 linux环境
  6. 使用Docker搭建私有云笔记
  7. Windows服务简单实例
  8. Servlet doGet doPost 中获取参数 中文乱码
  9. 解决ubuntu下firefox浏览器无法观看视频
  10. 卡贴机变无锁教程_iphone卡贴机ICCID激活去掉卡贴变成无锁机的教程及原理
  11. mindoc mysql_MinDoc 配置文件详解
  12. Cisco Jabber 多个高危漏洞风险通告
  13. C#小知识之中英文转换、去空格
  14. [转载]千古真人张三丰
  15. APP开发者常用的4种推广渠道
  16. bmi计算器HTML,BMI计算器(示例代码)
  17. Java添加一个滑动验证码,有啥可难的,分分钟加一个
  18. 十二载征程犹未止,看今朝星光尽闪耀丨万字长文回顾2023数据技术嘉年华
  19. 60.【Java 进阶】
  20. 物联网安全的发展现状与展望

热门文章

  1. Java反编译工具 luyten 0.5.3
  2. wbe下载Excel文件Response响应头格式
  3. javaWeb图书购物商城
  4. MySQL忘记密码应当如何重置
  5. 训练集和测试集样本分布一致性的判断方法
  6. Kettle(Pentaho Data Integration) 下载安装使用介绍/功能汇总
  7. MYsql源码及其剖析
  8. 外文参考文献去哪找和下载?
  9. 杨辉三角形Python实现
  10. php缓冲--ob缓冲