信息论:信道编码

Channel coding

Linear block codes

source data 被整理为一个拥有 k bits 的 block m ˉ \bar m mˉ
这个 block 可以被编码为一个拥有 n bits 的序列 n ˉ \bar n nˉ,n 必须大于 k

m ˉ \bar m mˉ 被称为 message word, n ˉ \bar n nˉ 被称为 code word

信道编码会在 block 中添加 r = n - k 个冗余码

一个(n, k)的线性区块码,意味着将 k-bit 的信息编码在 n-bit 的码向量中

此码的 code rate 为 R = k / n R=k/n R=k/n

如果我们想要在这个编码内包含所有可能的 k-bit 信息,则需要 2 k 2^k 2k 个向量,每个向量包含 n bits

Error probability over BSC

一个包含 n bits 信息的 block 存在 t 个错误的概率为:
在这里插入图片描述
出现小于 t 个错误为
在这里插入图片描述
出现多于 t 个错误为
在这里插入图片描述

Variance

错误数量的方差为
在这里插入图片描述

Generator matrix

Generator matrix of code 可以表达为:
在这里插入图片描述
其中 r = n - k,即冗余码,我们之后会用冗余码来对整个码做奇偶校验,因此冗余码也被称为奇偶校验码

Parity check matrix

定义一个奇偶校验矩阵为
在这里插入图片描述
对于 binary codes,奇偶校验矩阵可以写为
在这里插入图片描述

Parity check theorem

一个 valid code vector 与奇偶校验矩阵的转置的乘积为 0
在这里插入图片描述
下文的 symdrome decoder 就用到了这个theorem

Hamming code

在这里插入图片描述

m ˉ \bar m mˉ是 message word
c ˉ \bar c cˉ 是 code word
e ˉ \bar e eˉ 是 error vector
v ˉ \bar v vˉ 是 received vector
s ˉ \bar s sˉ 是 syndrome vector

我们通常需要将 message word 转换为 code word
要进行这个过程,需要先通过 P 计算出 G 和 H
接着,将 message word 与 G 相乘,注意这里计算时需要遵从特殊的加法和乘法原则,以确保结果只包含 1 和 0,规则如下:
在这里插入图片描述
在这里插入图片描述

而要将接收端的 code word 还原成 message word,则需要用到 syndrome decoding

Syndrome decoder

首先需要计算出 syndrome vector,需要用到下式中的 s ˉ = e ˉ ∗ H T \bar s=\bar e*H^T sˉ=eˉHT
在这里插入图片描述
其中 e ˉ \bar e eˉ 为和 H T H^T HT行数相同的单位矩阵

得到 s 后,用 v 乘以 H,观察结果,就可以知道传输过程是否存在错误,且错误在第几位
在这里插入图片描述
观察第几位要从右往左数 s,可以看到 100 对应第一位, 010 对应第二位,以此类推
需要注意的是,(7,4) hamming code 中 第三位和第四位相反

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值