简介:
这是本专栏信道编码/Channel Coding的第二站,想对信道编码有一个系统性的认识可以看本专栏的 信道编码的整体框架 一文。而在本篇文章中,将介绍线性分组码的基本原理。
[信道编码/Channel Coding】信道编码的整体框架_Tomatomatodo的博客-CSDN博客信道编码是通信系统中非常重要的一环,它使我们构建的通信系统在一定条件下拥有检错和纠错的能力。而随着历史的演进,信道编码技术在不断地丰富,诞生了许多值得了解学习的编码技术。本篇文章将梳理信道编码的整体框架,旨在让读者对信道编码有一个系统性的认识。而每项技术的细节将在专栏的其他文章中展现。https://blog.csdn.net/Tomatomatodo/article/details/121902663?spm=1001.2014.3001.5501【信道编码/Channel Coding】纠错编码与差错控制_Tomatomatodo的博客-CSDN博客这是本专栏信道编码/Channel Coding的第一站,想对信道编码有一个系统性的认识可以看本专栏的信道编码的整体框架一文。而在本篇文章中,将介绍如何看一族码字的检错能力以及纠错能力,以及整个传输系统中,我们有什么进行差错控制的方式,这是踏入信道编码的第一步。
https://blog.csdn.net/Tomatomatodo/article/details/121903825?spm=1001.2014.3001.5501
目录
一、线性分组码的性质
1.1 什么是线性
在本专栏的信道编码的整体框架 一文中已经介绍了分组码的数学符号表示了,那么什么是线性分组码呢? 用最简单的说法解释就是,所有将k个信息比特映射成n个信息比特的约束关系都是线性的,那么什么是线性的约束关系呢?在二进制的逻辑运算中,异或运算(模二加减)是线性的,但是取反运算是非线性的。
线性分组码有以下重要性质:
- 全0的信息比特对应的码字也是全0的
- C(n,k)是一组码,其中每两个码相模二加减得到的码字依然在这组码中
举个栗子:
Message Segment(信息比特段) | Codeword (码字) |
00 | 11000 |
01 | 10101 |
10 | 01110 |
11 | 00011 |
上面这个就不是线性分组码。
1.2 可用码组和禁用码组
C(n,k)里,由于k是信息段,而r=n-k的冗余段是用某种约束关系生成的,所以只有 个可用码, 有
个禁用码。
二、矩阵思维看线性分组码
很重要的一个思想就是将 C(n,k)看成是:1xn 的n维向量=1xk 的k维向量在n维空间的映射,这需要一定的线性代数思维,我尽可能简单地解释一下:
首先我们看9单位长的一条线,他是一维的对吧:
一维的一条线对应矩阵就是一维向量 [9]。
现在我们想将其映射到二维空间去,怎么映射呢?首先要有映射规则,如下图所示:
可以看到,我们选择把它放在一个正交二维坐标系中,而9长的一维向量映射到正交二维坐标系中就是进行投影,所以我们找到了映射关系 [ cos45 sin45 ] ,进行映射后得到一个二维向量。
再进一步,假如我们想将其映射到正交三维坐标系中呢?
可以看到,我们上一步先将一维向量映射到x-y平面中,图中对应蓝色向量映射成粉红色向量。此时我们再将二维向量向三维映射,因为粉红向量本来就在正交三维坐标系上,所以对应的映射关系就是 。
能不能直接从一维映射到三维呢?答案是当然可以:
则a长一维向量对应三维坐标系中每个轴的投影,这