信息论与编码第七讲
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
若行码Cx和列码Cy的码长分别是nx、ny,能够纠正的突 发差错的长度分别是bx、by,则由Cx和Cy构成的乘积码能纠 正的突发差错的长度为 : b ≤ max (nxbx , nyby) (7-1)
若行码Cx和列码Cy的最小距离分别为dx、dy,则对非全 零码阵而言,至少有一行有dx个非零码元,因此至少有dx个 非全0的列;而每个非全0列码至少有dy个非零码元,因此dx 个非全0列码至少有dx×dy个非零码元,从而断定Cx Cy乘 积码的最小距离为dxdy,能纠正的随机错误个数为
2. 乘积码
针对突发差错信道的交织器对噪声随机化非常有效,但 进一步观察发现,交织前的码字经交织后不再是码字,这种 非码字符号直接送入信道传输显然对差错控制不利。例如常 用的“行”进“列”出交织, “行” 顺序的(n,k)分组码字 变成 “列” 顺序后就不是码字了。 若将交织块的行和列都加以编码,则码字经行、列交织 后仍是码字,纠错能力一定得以提高。这一思路导致了乘积 码的产生。 事实上,早期的水平垂直冗余校验码(图1-17)也可以视 作是一种乘积码,它在行和列上均采用了奇偶校验码,只是 行、列的编码仅限于检错码而不是纠错码。
信息
外编码器 (N, K, do) 分组码
内编码器 (n, k, di) 分组码
信道
(Nn, Kk, do di)级联码编码器 图7-1 串行级联码
该码在发端是两级编码、收端是两级译码,属于两级纠 错。连接信息源的叫外编码器,连通信道的叫内编码器。若 外码为码率Ro 的(N,K)分组码,内码为码率Ri 的(n,k)分组码, 则两者合起来相当于码长Nn、信息位Kk、码率Rc= Ri Ro的分 组长码。
(32,26)扩展汉明码的编码原理图
阶段A (26bit):直接输出(系统码),计算余式。 阶段B (5bit):数据停止输入,5比特校验位依次输出。 阶段C (1bit):累加器输出扩展的奇偶校验位。
D
A,B 数据入 B,C A D C
A
C A,B 编码出
D
B,C
D
D
D
图7-7 循环乘积码的传送次序
乘积码可以看成是一个中间插入了行列交织器的级联 码,是级联码的子类。作为例子,与图7-5 乘积码码阵图 等效的级联码如图7-8所示。 行输入 列输出 kynx交织器
(nx ,kx) 行编码器
ky个 kx比特组
(ny, ky) 列编码器
nx个 ny比特码字
ky个 nx比特组
nx个 ky比特组
图7-8 与乘积码等效的级联码
级联码内码通常采用卷积码,因为最大似然译码—— 软判决维特比算法适合于约束度较小的卷积码。 级联码外码通常采用纠突发差错分组码(如RS码、法 尔码)。这是因为卷积码的译码是序列译码,以卷积码为 内码时,一旦出错就是一个序列差错,相当于一个突发差 错,因此RS码成为首选的外码。 RS码纠突发差错能力与卷积码序列差错平均长度的 匹配。如果卷积内码是( n, k, L ), L为约束长度,RS外码是 GF(q) 域上的 ( N, K, d )码,其中q =2J,则根据RS码的特 点,必有N = 2J - 1, K = 2J - 1-2t, d = 2t +1。由于卷积码最 可能的差错序列长度是(L +1), 而RS二进衍生码纠突发差错 的能力是(t-1)J+1, 因此原则上应有 (t-1)J+1 L +1,使卷积 码译码差错在大多数情况下能被RS码纠正。
卷积码前后码组间的卷积可看作是增加码长,卷积码的 最大似然译码——维特比译码等效于最佳译码。但维特比译 码的复杂度与限制长度成指数增长的关系,使它仅适合约束 度较小的卷积码。 于是人们受信号分级放大、火箭分级推动的启发,纠错 是否也能分级?这导致了级联编码方案。
1.串行级联码
1966年,Forney提出了一种构造长码的有效的方法,就 是利用两个短码的串接构成一个长码,叫串行级联码,其结 构如图7-1。
以卷积码为内码的级联码适用于高斯白噪声信道,原因 是卷积码本质上属于纠随机差错码而不是纠突发差错码。当 卷积加RS码模式的级联码用于突发差错信道如移动通信的衰 落信道时,必须采取一些附加的措施,其中最简单有效的是 采用交织器,加在信道编码器与信道调制器之间,如图7-2所 示。
信息
外码 RS码
内码 卷积码
信息
外编码器 BCH码
交织器
内编码器 卷积码
AWGN 信道
加交织器的级联码 图7-3 级联码与交织器的结合
交织器和干扰(扰码)器有区别,干扰器在于数据形式(比如 0、1幅度)的随机化,而交织器在于数据顺序的随机化。 交织器分周期交织和伪随机交织两种,它的重要设计参数 之一是交织度,该参数视信道特性来定。级联码所用交织器通 常是伪随机交织器,交织器对N比特的数据块作伪随机的置换。
交织
列 译码
去 交织
去 交织
行 译码
图6-7-9迭代译码方案
迭代结构中,来自上级译码器的信息是本级译码的“ 先验”信息,其中既包含承载信息的译码可信度,也包含 冗余校验比特的译码可信度。由于行列编、译码时都使用 了同样的承载信息,需要作参考的仅是冗余校验信息,因 此要在总信息中减去关于承载信息可信度的信息,剩下的 关于冗余校验的可信度信息称为“外信息”。 串行级联码有内、外码之分,内码一般是软信号入、 硬判决译码出,外码则是硬判决入、硬判决出。随着对级 联码研究的深入,现在已从串行级联发展到多级级联、并 行级联等。
b ≤ INT [ (dxdy-1)/2 ]
(7-2)
同样思路可以从二维乘积码扩展到由多个子码 组成 的多维乘积码,也可以改变传输的方式由一般的分组乘积 码演变为循环乘积码。 循环乘积码指这样的一种乘积码:其行码Cx 和列码Cy 都是循环码,而且传输顺序不是按行或按列,而是按码阵 的对角线次序。 ① C00 C01 C02 C03 C04 对角线方向固定地由 ② 左上到右下,凡超出下沿 C10 C11 C12 C13 C14 ② 后即上跳到第一行,超出 ③ ③ C20 C21 C22 C23 C24 右沿后即回退到第一列。 ④ ④ 乘积码通常用于受突 C30 C31 C32 C33 C34 发噪声干扰的信道的纠错 图7-6 循环乘积码的传送次序 编码。
m个
n比特组
上图是串行级联分组码 SCBC 。外、内码分别是 (p,k) 和(n, p) 二进制线性系统分组码,块交织长度为N=mp (m是交织器一次交织包含的外码码字数)。 编码和交织的具体过程如下:mk位信息比特经(p,k)外 编码器变为N=mp比特后送入交织器,按交织器的置换算 法以不同的顺序读出。交织后的mp比特然后被分隔成m组 长度p的分组送入内编码器,产生m个长度n的码字。从总 体效果看, mk位信息比特被串行级联分组码SCBC编成了 mn的码块,是(mn,mk)分组码,码率R=(k/p)· (p/n)= k/n , 码长mn位。由于m可以选得较大,这种码比不使用交织器 的一般级联码的等效码长要大得多。
图7-5是典型的乘积码码阵图。其中水平方向行编码采 用了(nx,kx,dx)系统线性分组码Cx,垂直方向的列编码采用 了 (ny,ky,dy)系统线性分组码Cy。根据信息的性质,整个码 阵可分割成4块:信息、行校验、列校验、校验之校验块。
信 息 块
列 校 验 块
行校验块
校验之校验块
乘积码可以按行(或列)的次序传送,也可以按码阵 对角线次序传送数据,这两种方法所得的码是不一样的。 但对于按行或按列传输的乘积码,只要行、列采用同样的 线性码,那么无论是先行编码再列编码,还是列编码再行 编码,右下角校验之校验数据是一样的。
既然行、列译码有不同的信息内涵,那么能否将行译码 信息提供给列译码作参考(反之亦然)呢?图7-10是在这样 思路下针对图7-8编码器的一种新的译码构想。图中,列译码 的结果经去交织还原成行信息后送入行译码器作行译码的参 考,称作软信息(soft information)。 接收信号 列译码 去交织 软信息 行译码
交织器
调制器
突发差错 信道
级联码编码器 图7-2 级联码用于突发差错信道
针对维特比译码产生突发差错的特点,如果在卷积码 内码和分组外码之间插入一个交织器,则维特比译码产生 的突发差错将通过交织作用而随机化,外码面对的将是随 机差错,可以不用针对突发差错的RS码、法尔码等,而改 用一般分组码或BCH码,如图7-3所示。
第八讲 Turbo码
7.1 乘积码与级联码
理论上,只要增加码长,几乎所有的码都可以是渐近好 码。 纠错码包含理论与实践两方面的课题。构码理论的难度 主要体现在编码上,想要完全依靠理论找到渐近好码至今尚 未解决。从工程角度看,真正的障碍还在于译码上。因为一 旦构码规则或方法确定后,编码实现起来相当容易。对于 (n,k)分组码而言,其复杂度与码长成线性关系,仅在k或n-k 数量级, 写作O(k)或O(n-k)。而最佳(最大似然)译码的工 程实现却相当复杂,其译码复杂度与码长成指数关系,是 O(2k)或O(2n-k),因此长码的最佳译码几乎不可能。
为了分析级联码的性能,消除其它因素比如交织器性能的
影响,通常可以用一个理想的均匀交织器作为交织器的模型。
ຫໍສະໝຸດ Baidu
理想均匀交织器定义为这样一种装置:它能把重量为w的
输入码字以相等的概率 体之一。
N w
映射为全部 1
个不同的置换
N w
长度 m个 (n, p)) N=mp的 线性分组 k比特组 外编码器 p比特组 块交织器 p比特组 内编码器 m个 (p,k) 线性分组 m个
去交织
图7-10 利用参考信息的行译码
图中列译码结果送到行译码,然而行译码结果并未送 到列译码器作参考。为此又设想了迭代译码方案如图7-11 。这里行、列译码器的输出可以反复被对方使用(典型为 8次或8次以上),这就是迭代译码的构想。
外信息 外信息 外信息
接收
信号
列 译码
去 交织
去 交织
行 交织 译码
(a)同一行有两个差错
(b)同一列有两个差错
当接收码出现差错时,行编码与列编码对差错的反应是 不同的。设行、列分组码的纠错能力t=1,则当接收码块中出 现了如图7-9(a)和7-9 (b)这样两种差错图案时,不同的行、列 译码顺序将导致不同的译码结果。图7-9(a)如先作列译码再作 行译码,则4个差错可纠;如先作行译码再作列译码,则有两 个差错纠正不了。
上例802.16 协议中为了与128字节的用户数据包相匹 配,允许将(64,57)扩展汉明码组成的(64,57)×(64,57) 乘积 码缩短为(39,32)×(39,32) 乘积码,具体方法是在64行×64 列的乘积码阵列中删除最上面的25行和最左面的25列。缩 短后的校验位数量不变而信息位变为32×32=1024 bit=128 byte,码率从0.793降低为0.673。行与列也可以不对称的 缩短,比如802.16 协议也允许删除(64,57)×(64,57) 乘积码 的13行和11列,从而缩短为(53,46)×(51,44) 乘积码,用户 数据包大小为253字节,码率为0.749。
符合这种关系的卷积码内码加RS码外码于是成了级联码的 黄金搭配。 比如,当外码采用(255,233)RS码,内码采用(2,1,7)卷积码 且用维特比软判决译码时,与不编码相比可产生约7dB的编码 增益,特别适用于高斯白噪声信道(如卫星通信和宇航通信) 。 例如,早期“先锋号”(Pioneer)宇航通信采用限制长度 L=32的卷积码,不适合维特比算法而采用了序列译码。 而在“探险号”(Voyager) 飞向木星和土星的旅程中,改 用(255, 233) RS外码、 (2,1,7)卷积内码的级联码,这种码的性 能之优良,使之被认为是一种宇航标准码而称为‘NASA’码。 ‘NASA’码在内码与外码中间还插入一个5×255的交织器。
例7-2
IEEE 局域和城域网标准802.16 协议(固定宽带 无线接入系统的空中接口)定义了四种编码方式, 其 中 第 四 种 是 分 组 Turbo 码 (BTC- Block Turbo Code) , 采 用 的 正 是 用 Turbo 方 式 译 码 的 乘 积 码 (TPC)。该乘积码的行、列码可以采用由(31,26) 汉明码得出的(32,26)扩展汉明码,生成多项式为 x5+ x2+1;也可以采用由(63,57)汉明码得出的(64 ,57)扩展汉明码,生成多项式是x6+ x+1。