矩阵理论在纠错编码中的应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
输入M j M i0
编码机
输出M i M ( i- 1) ,M i M j0 M ( j- 1) 0 M i0
M i1
编码机
M j1 M ( j- 1) 1 M i1
M i2 M i7
编码机 ······
编码机
M j2 M ( j- 2) 1 M i2 M j7 M ( j- 7) 1 M i7
图 3 8位编码器
112 (3, 1, 2) 码的性能分析
C (3, 1, 2) 码的代数计算较好, 编码实现电路比 较容易, 译码电路也相对容易, 而且, 由于它是每一 位信息元伴随两个监督元, 因此纠错能力比 C (2, 1, 1, ) 码要强Ζ但是, 对于长突发错, 它的纠错能力就不 够了Ζ
C (2, 1, 1) 码在译码时假定在约束长度内只有 一位错, 而实际上有可能发生两位以上的错误, 这样 译码时就会产生误码Ζ 如果采用维特比 (V iterb i) 译 码的话, 就能降低误码率Ζ 采用 C (3, 1, 2) 码以上的 编码方式, 固然能提高纠错能力, 但它们的算法、实
第 20 卷 第 1 期 2002 年 3 月
北京工商大学学报 (自然科学版) Jou rnal of Beijing T echno logy and Bu siness U n iversity (N atu ral Science Edition)
文章编号: 167121513 (2002) 0120058204
收稿日期: 2001 09 18 作者简介: 宋世敏 (1963- ) , 女, 北京人, 讲师, 主要从事经济数学研究Ζ
第 20 卷 第 1 期
宋世敏: 矩阵理论在纠错编码中的应用
59百度文库
考察两个监督子 (伴随式) 分量, 就可确定 r01是否发 生错误[2 ] Ζ
同样, 由监督子分量 (s11, s21) 可以确定接收序列 中第 1 分组的信息数字 r11是否正确Ζ 其他依次类 推Ζ由 sj1、s(j+ 1) 1能够确定第 j 组信息元 rj1是否正确Ζ
如图 4 所示, 若每一时间单位编码器输入一个 新的信息元M j 字节, 且八位寄存器内的数据移出 一个字节, 则M j 一方面直接输出至信道, 另一方
面, 与前一个单位时间送入的信息元M j- 1, 按图中 线路所确定的规则进行运算, 此时刻得到的一个校 验元 P j- 1, 跟随在M j 后面, 组成一个子码 C j = (M j , P j- 1) , 送入信道Ζ
S = R H T = (C E ) H T = E H T = (S 01S 11S 21……) 根据矩阵运算结果, 伴随式的相应各个分量如下:
s01= e01+ e02 s11= e01………+ e11+ e12 s21= ………………e11………+ e21+ e22 ………… 第 0 分组的错误信息只在 s01、s11 两个分量中出现, 假定在约束长度内只发生一位错码, 由于 n = 2, 则 当 1) s01= 1, s11= 1 时, 可以判断 e01= 1, 即认为 r01 是错误的Ζ 2) s01 = 1, 而 s11 = 0 或 s01 = 0, 而 s11 = 1, 可以判 断 e01= 0, 即认为 r01无错Ζ 3) s01= 0, s11= 0, e01= 0, 即 r01无错Ζ 可见, 只要
1 卷积码的编码模型[ 1 ]
111 C (2, 1, 1) 码的编译码 该码的编码器如图 1 所示Ζ 其约束度 N = 2,
n0= 2, K 0= 1, m = 1Ζ
若每一时间单位编码器输入一个新的信息元m j, 且 存储器内的数据往右移一位, 则m j 一方面直接输出 至信道, 另一方面与前两个单位时间送入的信息元 m j- 1、m j- 2 按图中线路所确定的规则进行运算, 得 到此时刻的两个校验元 p j- 1、p j- 2, 跟随在 m j 后面 组成一个子码 C j = (m j , p j- 1, p j- 2) , 送入信道Ζ
e11+ e12Ζ 当 e01 = 0, 即信息位无错, r01 = m 01Ζ s01、s11 为 00, 或 10, 或 01Ζ 与门给出 0, 无须纠错, m 0= m 0Ζ
4 ) 一般, 当要对第 j 分组信息位 rj1 进行译码 时, 该组接收信息元 rj1 已储入上层寄存器 D , 输入 端为第 ( j + 1) 组的 ; r (j+ 1) 2 下层寄存器 D 1 已存入监 督子 (伴随式) 分量 s′j1= ej1+ ej2, 新算出的监督子分 量为 s (j+ 1) 1= ej1+ + e (j+ 1) 1 e (j+ 1) 2Ζ 如果 ej1= 1, 则 sj1 = = s (j+ 1) 1 1, 与门输出为“1”, 输出为 m j = rj1 + 1= m j + ej1+ 1= m j , 同时反馈修正: s′(j+ 1) 1 = + s (j+ 1) 1 1= + e (j+ 1) 1 Ζ e (j+ 1) 2 如果 ej1 = 0, 即 rj1 = m j , 则与门输出 为“0”, 不予纠正, m j = rj1= m j Ζ 这样一组一组进行 下去, 直到译完为止Ζ
2) 第 1 分组 r11、r12 送入后, r01 移入 D , s01 移入 D 1, 此时计算出的 s11= r01+ r11+ r12= e01+ e11+ e12Ζ
3) 当 e01= 1, 原发信息码元为 C 01= m 0, r01= m 0 + e01, 此时 s01 = 1 (假定在约束长度内仅 1 位错, 即 e01 = 1, r01有错, 其他位均不错, e02 = e11 = e12 = 0) , s11 = 1Ζ 与门输出为“1”, 输出 m 0= r01+ 1= m 0+ e01+ 1 = m 0+ 1+ 1= m 0 即译码是正确的Ζ同时与门所给出 的“1”, 经反馈电路后, 修正了监督子 s1′1 = s11 + 1=
显然, 其监督方程为:
P j= M j M j- 1 其码序列为:
C = (C 01C 02C 11C 12C 21C 22……) 信道错误序列为:
E = (E 01E 02E 11E 12E 21E 22……) 接收序列为:
R = (R 01R 02R 11R 12R 21R 22……) 其伴随式为:
显然, 其监督方程为:
P j= m j+ m j- 1 易于导出监督矩阵为[1 ]:
11. . 00
10. . 11. . 00 H 0=
00. . 10. . 11. . 00
0 其码序列为:
C = (c01c02c11c12c21c22……) 信道错误序列为:
E = (e01e02e11e12e21e22……) 接 收序列为: R = ( r01 r02 r11 r12 r21 r22 ……) , 其伴随式 为:
在第 0 分组的信息元m 0 译出之后, 就要顺次利 用 s11、s21 对第 1 分组的信息元进行译码, 也就是对 r11进行判决Ζ 已知:
s11= e01+ e11+ e12 s21= ……e11……+ e21+ e22 在 s11中, 包含了第 0 分组信息的错误图样 e01Ζ 当 e01= 1 时, 说明 r01有错, 在 s11中反映了此信息Ζ如 果直接用 s11、s21来判决 r11, 将要造成错判, 所以在译 r11之前就要消除 e01对 s11的影响Ζ 当 e01= 1 时, 与门 的输入是 1; 当 e01= 0 时, 与门的输入是 0, 即与门的 输出为 e01Ζ 利用与门输出的 e01, 经过反馈电路对监 督子分量进行修正: s1′1= s11+ e01= e11+ e12 s2′1= s21……= e1′1…+ e2′1+ e2′2
(2, 1, 1) 卷积码的反馈译码器如图 2 所示Ζ 图 2 中, 伴随式计算电路与编码电路一致Ζ
如果在译第 0 个接收信息数字 r01时, 发现 r01错 了, 即 e01= 1, 算出 s01= 1 和 s11= 1, 就利用 s01、s11 的 两个“1”使之通过一个与门电路给出一个“1”, 这个 “1”与 r01一起送入输出端的模 2 加法器, 使最后所 译出的第 0 组的信息数字m 0= r01+ 1, 从而得到正 确的译码, 即 m 0= m 0, 此 m 0 为原发端第 0 组信息数 字Ζ 如果 r01没有错, 即 e01= 0, 则 s01、s11只可能为 (0, 0) , (1, 0) , (0, 1) 这三种可能的任一种, 与门给出的 是“0”, 译码输出为 m 0 = r01 = m 0, 也是正确的译码Ζ 这里需要指出的是, 译 r01所需的两个监督子分量 s01 和 s11, 都是由伴随式计算器的模 2 加法器给出的, 它们相差一个时间单元, 因此需要一级移位寄存器 来存放 (D 1) , 即在 s11 移出时, s01 则已进入 D 1 中, 此 电路称为错误图样检测电路Ζ 根据 s01、s11的不同而 分别给出 0 或 1, 以此来得到信息元的正确译码Ζ
由于采用了按字节编、解码的 C (2, 1, 1) 码, 编、 解码的软件实现变得简单、高效, 只需一段很短的程 序Ζ C (2, 1, 1) 码可作为一个信道差错控制模块, 插 入到各所需数据传输的工程中, 使其不必付出很大 代价, 便可大大提高数据传输的可靠性Ζ
212 按字节的 (2, 1, 1) 码编、解码方法
利用 s1′1、s2′1 来对 r11 译码, 就和利用 s01、s11 来对 r01译码完全一样了Ζ 这种每译一步就同时对监督子 分量进行一次修正的办法称为监督子重调 (或称监 督子复位) Ζ 由于重调监督子用的是反馈电路, 所以 把这种译码方法叫做反馈译码法Ζ 这种译码器的具 体译码步骤为:
1) 第 0 分组的接收序列 r01、r02送入之前, 上层 寄存器D 内为 0, 下层寄存器D 1 也为 0Ζ在 r01、r02送 入后, 得 s01= r01+ r02= e01+ e02Ζ
60
北京工商大学学报 (自然科学版)
2002 年 3 月
现电路以及性能分析都复杂, 处理速度慢, 综合考虑 是不合算的, 故选用 C (2, 1, 1) 码构造编码Ζ
2 模型的计算机算法
211 采用按字节编码的 C (2, 1, 1) 码
C (2, 1, 1) 码虽然是最简单的卷积码, 纠错能力 也最低, 但至少可以达到 4 个码纠正 1 个, 并不比其 它码差很多Ζ 在经过交织后可纠错 1 4, 完全可以满 足大部分工程应用的需求, 其编、解码显然比其它码 要简单得多, 易于实现, 可靠性较高Ζ 一般的卷积编 码多用硬件实现, 这使得在编、解码过程中往往按位 处理 (如图 3 所示) Ζ 但是, 如用软件实现纠错编、解 码仍按位处理, 就显得不尽合理Ζ现在无论是什么机 型, 在处理数据时都是八位以上Ζ 按位编、解码不能 充分利用计算机资源, 并且必须将码元进行分组, 使 整个过程变复杂, 因而效率很低Ζ 而按字节编、解码 则不存在分组问题, 且能充分利用处理器资源, 使整 个过程简单化, 因此大大提高了编、解码效率[3]Ζ
围绕无线数据通信中抗突发错误的问题, 运用 矩阵理论及概率论基础知识, 设计了一种纠错编码 方法Ζ纠错编码对数据传输的可靠性是非常重要的. 特别是在战争环境下, 电子战异常激烈, 电磁环境非 常复杂, 数据传输中的干扰将更加严重, 可靠性将受 到更大的威胁Ζ在今后的通信和计算机系统设计中, 纠错码会得到越来越广泛的应用Ζ
矩阵理论在纠错编码中的应用
V o l120 N o 11 M a r12002
宋世敏
(北京工商大学 数理部, 北京 100037)
摘 要: 利用矩阵理论解决通信中纠错编码问题, 同时对卷积编码进行研究, 有效地解决了无线数 据通信中抗突发错误的问题, 并用 C 语言进行编程Ζ
关键词: 概率; 矩阵; 通信; 差错; 控制; 码 中图分类号: O 151121; O 23612 文献标识码: A