意甲排名万博app > 意甲数据分析万博app >

意甲数据分析万博app

RenoStudio

  最原始的时候,我们要传输数据,比如我们想传输字符“h”,实际上我们传递的是字符h对应的二进制码(这就是信息码)。

  一般情况下,我们都可以正常传输,可是呢突然有一天我们发现因为线路老化,我们本来传递的是h,结果接收端出现了字符a。虽然只是很少数的情况,但是一旦发生传输错误,就会对我们的项目造成巨大的损失。

  于是我们想,能不能找一种方法,判断我们接收到的字符是否出现错误(这样一旦当我们发现接收信息出现错误的时候,我们就可以发出指令,要求发送数据端重新发送数据。

  于是我们就想办法利用信息码,再在信息码的基础上添加一些冗余码(这些冗余码实际上就是监督码)的方式,按照一定的构造规则,构造了一个可以指明,接收的字符是否出错?以及如果出错,究竟是传输的这个字符的哪一位发生了错误?这样的一个序列。(就是我们说的校正子:用{Si}表示,“{}“代表他是一组数)

  当然,构造方法有很多种,你可以自己选择自己的构造规则,上述描述的这套构造规则,是对应汉明码的

  那么我们就可以找到,我们传输的数据错误的位置和校验子Si的关系。(这个关系是按照我们构造规则计算出来的,有了这个表格之后,我们只需要查表就可以知道,究竟是数据传输中哪一位发生错误了,而不需要再按照构造规则进行计算了。但一定要注意,这个表格只限于这个规则,即这个表格

  这样我们就有了一个确定传输过程是否发生错误的机制了。下面我们需要做的是,求出来我们在信息码(a6,a5,a4,a3)基础上,增添的冗余码(a2,a1,a0)。

  由对应表我们看到,当校正子向量全零时,代表传输没有发生错误。那么,将这个关系,写成表达式的形式就是:

  上面我们感受了一个完整的发展过程,汉明码是线性分组码的特例而已,我们再来讨论一下线性分组码。

  实际上我们可以将监督关系,看作是偶校验。例如a6 a5 a4 a2,实际上a2就是为了使用偶校验,而计算出的值。也就是说,我们之前所说的S1 S2 S3,实质上都是偶校验,只是用于校验的校验位分别是a0 a1 a2而已。

  这样也可以从侧面来说明监督码的个数,当监督码的个数是2个的时候,我们只能判断一个序列是否有错误。但是当监督码的个数增加时,我们就不仅能判断该序列是否发生错误,还能判断具体是哪一位发生错误。我们举例说明(汉明码本身已经是一个很好的例子了):

  假设r=1,则2^2 – 1 =3也就是说,当序列的长度小于等于两位时,可以判断是哪一位出错。我们假设序列构成是 1bit信息码+2bit(偶)校验码 ,我们则我们可以构造一个规则,使得我们使用这个规则求得的校验子Si,可以指明具体是哪一位发生了错误。