信道编码之设计线性分组码

放在前面的说明:
线性分组码是编码中的一个大类,设计线性分组码的说法不对的,这篇文章是我在刚开始复习专业课的时候写的,当时对这个没什么概念,只是从why and how to do 这个观念出发。但后来随着认识的加深,我才发现这篇文章实际上只说两件事 最小距离和纠错能力的关系 以及 汉明码的设计
由于时间关系其实我懒,就不重新整理了
如果是被标题骗进来的,扔另一个线性分组码的实现:RM码实现

首先我们先来复习一下线性分组码:
(n,k)线性分组码表示有k位的信息组,编码后为n位。根据生成矩阵的不同分为系统码和非系统码:系统码是码字中信息位与监督位分离,非系统码在码字中无法直观的得到原信息,在接收时需要额外译码。接收时由检校矩阵生成接收码字的伴随式S,并根据S判断该码字是否出错,依据S的形式对出错码字进行纠错。更加具体的内容参照:琪亚娜世界第一可爱


知道这些我们是可以应用线性分组码的,仍以前一篇博文中(7,3)码为例,我们可以在信源编码后接这一线性编码,从而提高通信的可靠性。但是上文所提及的(7,3)码只能对3bit信息组编码,如果我们是对10以内整数采用4bit的信源编码,显然就不能再用(7,3)码,此时需要我们去重新设计。那么现在问题就来了:我们怎么考察该种编码方式的检错纠错能力?编码后为几位?生成矩阵怎么设计?

首先说明如何去考察将检错纠错能力。
在这里引入几个名词

  1. 汉明重量
    码组中所含1的数目,又称为码重,记为 W c W_c Wc
  2. 汉明距离
    两个码组中对应位置上具有不同二进制码元的个数,又称为码距,记为 d ( c i , c j ) d(c_i,c_j) d(ci,cj)

接着说明 最小距离和纠错能力的关系

这里借用北邮课本中的解释:
对于译码器来说,输入y共有 2 n 2^n 2n种合法输入,而输出c却只有 2 k ( < 2 n ) 2^k(<2^n) 2k(<2n)种输出,因此必然会有多个输入y对应一个输出c,这些输入就成为判决域.不妨假设判决域中,错误比特数不大于t时,也就是 d ( y , c ) ≤ t d(y,c)\leq t d(y,c)t,就可以纠正为正确的码字.若这一条对所有码字都成立,那么就意味着该编码可以纠正t个错误.此外,实现对每一个码字成立还需要保证码字判决域之间互不相交,即最小距离至少是2t+1
在这里插入图片描述

所以说码字的最小距离关系着线性分组码的纠错能力
上面的看不懂没有关系,因为以后是用不到的,虽然我也不知道这玩意有什么指导作用,谁设计矩阵的时候能把码距也算上,但是考试它考了啊
在线性分组码的译码过程中我们可以看到,对错误纠正实际上是根据伴随式形式确定错误,而且一种类型错误对应一个伴随式,不会出现多个错误对应一个伴随式的情况,从而区分在传输中到底是出现了何种错误。
仍以(7,3)码为例,以下是所有可能出现的伴随式

正确 0 0 0 0
错误 1 1 1 0
0 1 1 1
1 1 0 1
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1

所以由此可以得出纠错能力t与检校位数r的约束关系式
2 r ≥ C n 0 + C n 1 + C n 2 ⋯ C n t = ∑ i = 0 n C n i (1) 2^r \ge C_n^0 +C_n^1+C_n^2\cdots C_n^t=\sum_{i=0}^n C_n^i \tag{1} 2rCn0+Cn1+Cn2Cnt=i=0nCni(1)

这个约束关系式表达的就是要为每一种错误分配一个伴随式。

关于这个关系式说明一点,为什么是从 C n 0 C_n^0 Cn0开始而不是 C n 1 C_n^1 Cn1
实际上,除了要给错误分匹位置,还要确定是否正确,这个 C n 0 C_n^0 Cn0表示的是全零伴随式,也就是正确码字对应的伴随式
特殊的,当上式取等时,又名汉明码可以纠正单个随机错误


此外,我们还可以从伴随式的角度出发去理解最小距离与纠错能力的关系
前文说到伴随式S是检校矩阵H列向量1的线性组合,所以对于任意各有t个错误的两种错误 e i e_i ei e j e_j ej
S i ≠ S j ∑ k = 1 t e i k h i k ≠ ∑

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值