信息论基础教程课程论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信道编码的发展与应用
摘要:在有扰离散信道上,只要信息传输速率不大于信道容量,就总可以找到一种信道编码方式来实现无误传输。这就是信息论的开创者香农在1948年提出的信道编码定理。信道编码定理给信道编码的研究指出了明确的方向。本文介绍了几种主要的信道编码、译码原理,分析了他们的实现方法和性能,并对各种编码的优缺点进行了总结,在给出信道编码的应用实例的基础上对信道编码的未来进行了展望。关键词:信道编码;分组码;卷积码;级联码;Turbo码信息与通信系统中的编码有4种形式:信源编码、信道编码、密码编码和多址编码。信源编码解决了通信系统的有效性问题,通过压缩信源冗余信息来提高通信的效率;信道编码则是通过增加冗余位来达到保证通信系统的可靠性(通过牺牲宽带或传输速率来换取可靠性),其基本思想是根据相关性来检测和纠正传输过程中产生的差错;密码编码则是保证了系统的安全性;多址编码主要是解决多用户通信问题。
香农第二编码定理证明,用任意接近信道容量C的传输速率R传送并且传输的差错率可以任意小的编码方法是存在的。香农还从理论上证明了,即使是随机编码,只要码组长度无限,就可以找到一种信道编码方式来实现无误传输。信道编码的任务就是寻找这种编码的。
1 信道编码的分类
1.1 分组码
把信息序列以每k个码元分组,然后把每组k个信息元按一定规
律产生r 个多余的校验元,输出序列每组长为n k r =+。每一码字的r 个校验元只与本组的k 个信息元有关,与别的信息位无关,记为分组码
(n,k)。
线性分组码是最有实用价值的一类码,比如汉明码、Golay 码、RS 码、BCH 码等都属于线性分组码。分组码线性是指码组中码元的约束关系是线性的,而分组则是对编码而言。线性分组码的编码方式是将信源输出序列分组,每组是长为k 的信息序列,然后按照一定的编码规则插入n k -位的校验位,校验位是所有信息位的线性组合,组成
n 长的码字序列。线性分组码可以用近世代数理论中有限维有限域的
矩阵来描述。
线性分组码生成矩阵为G ,信息矢量为1(,...,)k u u u =,则编码输出为:
1k n
c k u G ⨯=⨯
如果生成的是系统码, 即原始的信息出现在编码中, 则生成矩阵
k n
G
⨯可改写为:
()
:k G Q I =
其中: k I 表示k 阶单位阵,Q 为()k n k ⨯-阶阵。
线性分组码用于译码的校验矩阵为H ,满足0T
H c =和0T
H G =。
对于系统码而言,其校验矩阵为():n k H Q I -=,Q 为()k n k ⨯-阶阵, n k
I -为n k -阶单位阵。由此可知线性分组码的生成矩阵和校验矩阵的行矢量彼此正交。
线性分组码的性质是:
① 码中任意两个码字之和仍为一码字;
② 任意码字是G 的行向量12,,...,k G G G 的线性组合; ③ 零向量0=(0,0,…,0)是一个码字,称为零码字; ④
线性分组码的最小距离等于非零码字的最小重量(即汉明
重量,即对于一个非零码字而言,非零元素的个数即为汉明重量)。
【例1】 已知生成矩阵为100111001001110011101G ⎡⎤
⎢⎥=⎢⎥
⎢⎥⎣⎦
,求生成的线性分组码及由H 生成的线性分组码。
解 由于()G IP =则有
111001111101P ⎡⎤
⎢⎥=⎢⎥
⎢⎥⎣⎦
又因为T Q P =则
10110001110100(Q,I)11000100110001H ⎡⎤⎢⎥
⎢
⎥==⎢⎥⎢⎥⎣⎦
由生成矩阵G 生成的(7,3)线性分组码为
把校验矩阵H 当作生成矩阵,可生成(7,4)线性分组码:
这样生成的C 和T
c 是互相正交的。 1.1.1 循环码
一个(n,k)线性分组码, 如果每个码字经过任意循环移位后仍然是一个线性分组码, 那么此码就是一个循环码。
循环码是线性分组码中最主要、最有用的一个子类,它具有完整的代数结构,编译和译码可以用具有反馈联级的移位寄存器来实现。它满足循环移位特性:码C 中任何一个码字的循环移位仍是码C 中的一个码字。
一般(n,k)线性分组码的k 个基底之间不存在规则的联系,因此我们需用k 个基底组成生成矩阵来表示一个码的特征。而循环码的k 个基底可以是同一个基底循环k 次得到,因此用一个基底就可以表示一个码的特征。我们可以用不大于(n-1)次的码多项式()C x 来唯一表示一个码字:
()1
2
1210n n C x x c x
c x c c --=+
+++
根据循环码的定义,与一般的线性分组码相比,循环码的生成矩阵结构更加简化,生成矩阵由生成多项式(x)g 决定:
1
(x),,x (x),(x)T
k g g g G
x -⎡⎤=⎣
⎦
(x)g 必为1n
x +的因子,
根据线性分组码的产生原理,则(n,k)循环码有下面的关系式:(x)u(x)g(x)v =,编码器的实现框图如图1所示。
图1 编码器的实现
g(x)h(x)0mod(1)n
x ≡+,其中:h(x)为相应的校验多项式,最高次数为n k -。
构造(n,k)循环码的步骤:
① 对(1)n
x +作因式分解,找出(n k -)此因式。
② 以该(n k -)此因式作为生成多项式,与不高于(k 1)-次的信息多项式相乘得码多项式()(x)g(x)C x m =。()C x 的次数不高于
(k 1)(n k)(n 1)-+-=-次。
【例2】 构造一个(7,4)循环码。
解 (1)对7
(1)x +作因式分解得:7
3
2
3
1(x 1)(1)(x 1)x x x x +=+++++。3次因式有两个32(1)x x ++和3
(x 1)x ++,均可以作为(7,4)循环码的生成多项式,选择不同的(x)g 会得到不同的(7,4)循环码。
(2)选3
2
(x)1g x x =++,信息多项式共有162k =种可能的组合,对应16个码字。利用()(x)g(x)C x m =可得到16个码字。