• 汉明码原理


    最近重新翻看了大学的一些课程,发现课程中对汉明码原理的讲解都不是很通俗易懂。所以自己网上查了很多资料,也想了很多天,终于对汉明码的原理有了自己的理解,所以想写篇博客,总结一下,也希望能够帮助到大家!

    一、汉明码的纠错检错

    1、1位纠错

    首先汉明码默认一串二进制数据最多只能错一位。那么汉明码是如何能找到传输二进制数据中哪一位出现错误呢?这个问题很重要,是汉明码原理设计的核心。

    思路:对汉明码的每一个二进制的角标上面的位置一 一 进行偶校验,比如我们传输这样一个二进制数据:abcdefg,(a、b、c、d、e、f、g 的值为0或者1其中一个数)。我们再次强调一下我们的目的:找出传输数据的哪一个位置出现错误。abcdefg这一串二进制数据中,g的角标从右到左数为1,f的角标为2,e的角标为3,d的角标为4,c的角标为5,b的角标为6,a的角标为7。为了找到错误位置,即上面的角标,我们可以考虑对角标进行二进制转换,并对角标进行分组,分组方式如下:

    凡是位置符合这种形式的,XXX1,归到P1;

    凡是位置符合这种形式的,XX1X,归到P2;

    凡是位置符合这种形式的,X1XX,归到P3;

    凡是位置符合这种形式的,1XXX,归到P4;

    如果角标为3的位置出现异常,3的二进制形式为0011,那么会导致P1、P2计算出来的值出现异常。如果角标为5的位置出现异常,5的二进制形式为0101,那么会导致P1、P3计算出来的值出现异常。这样我们就可以找到传输的错误位了。

  • 相关阅读:
    linux多线程例程
    量化交易的相对强弱(RSI )指标计算及策略
    Markdown语法手册(基础使用)
    C++ 内存模型 write_x_read_y 试例构造
    【jest使用】
    林沛满-TCP之在途字节数
    必须收藏!没有经验的程序员该怎么找工作?
    Springboot总结
    一生一芯16——安装pandoc使jupyter notebook转pdf
    搜维尔科技:TechViz 虚拟现实在工业项目中沉浸式体验
  • 原文地址:https://blog.csdn.net/qq_43193797/article/details/126673734