线性分组码
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 伴随式是校验矩阵列向量的线性表示。以 下列校验矩阵为例,考察不同错误模式下 的伴随式结构。
• 因此,列向量的线性无关性,与纠错能力 密切相关。:任意d-1个列向量线性无关。
1 0 1 1 0 0 0 H 1 1 1 0 1 0 0
1 1 0 0 0 1 0 0 1 1 0 0 0 1
n-k+1,即d<=n-k+1。
伴随式的计算电路
• 根据校验矩阵H,得到校正子S各元素的数学 表达式,进而给出对应的电路。
• 软件实现方式, sT=HRT为算法。
1 0 1 1 0 0 0 H 1 1 1 0 1 0 0
1 1 0 0 0 1 0 0 1 1 0 0 0 1
C3 =C6 C4 C2 =C6 C5 C4 C1=C6 C5 C0 =C5 C4
C6
1
1
1 0
0 1 1 1
1 1 0 1
1 0 0 0
0 1 0 0
0 0 1 0
0
0
0 1
C5 CC43 C2 C1
• 汉明码定义:最小码距d=3的(n=2m-1,k=2m-m-1)线性 分组码的统称。
两种特殊的H矩阵
• 系统的H矩阵:将重量为1的n-k个列向量排 列成单位阵形式,其他列向量任意放置。 构成系统汉明码的H矩阵。
• 按列向量的二进制数从小到大排列,得到 特殊的非系统汉明码。当发生单个错误的 时候,伴随式的二进制数的大小,就是接 收码字发生错误的位置。因此,译码非常 简单。这种汉明码是最常用的。
• (n,k)的线性分组码,H矩阵列向量中没有0向量,且任 意两列互不相等,即可构成最小码距为3的分组码。H矩阵 为n-k行n列的矩阵,列向量一共有2n-k-1个,即n= 2n-k-1, 满足这种关系,最小码距为3的(n,k)线性分组码称为汉 明码。
• 因此,汉明码的H矩阵构造方式比较特殊。对于n, k,给出 n-k个元素除0向量之外的全排列,任意顺序即可构造出对 应汉明码的校验矩阵。
例题3
1 0 0 1 1 1 G 0 1 0 1 1 0
0 0 1 0 1 1
1. 用门电路实现该系统码的编码 2. 采用软件编程的方式实现编码
MATLAB编程实现
m = [0 0 0
001
010 011 100 101 110 1 1 1]; G = [1 0 0 1 1 1
s1 = (rem(H*r',2))'; biaozhi = 0; j = 0; while biaozhi == 0
j = j+1; if s1 == s(j,:)
biaozhi = j; end end c = rem(r+e(biaozhi,:),2);
汉明码的思想
• 第一个实用的纠错码型
• 利用校验矩阵列向量的相关性与最小汉明距的关系,提出 的最小汉明距为3,能纠正一个错误的码型。
C= 000000 001011 010110 011121 100111
010110
101122
0 0 1 0 1 1];
110221
C = zeros(8,6);
111232
for k =1:8
C(k,:) = m(k,:)*G;
end
C =rem(C,2);
C= 000000 001011 010110 011101 100111 101100 110001 111010
练习5
• 构造m=4的系统汉明码,对应的G,H
练习3
• 对于给定的(6,3)线性分组码生成矩阵, 写出其系统码生成矩阵G,校验矩阵H,最 小码距;进一步地,给出该码的对偶码生成 矩阵和校验矩阵。
1 0 1 0 0 1 G 1 1 0 1 0 0
0 1 0 1 0 0
最小码距与纠错性能
• 复习:码重、码距,线性分组码的码距d。 • 检错能力:能够检测出的最大错误位数。 • 纠错能力:能够纠正的最大错误位数。 • 检错能力与最小码距d的关系:
查表译码
%分组码简化译码表的译码 r = [1 0 1 1 1]; e = [0 0 0 0 0
10000 01000 00100 00010 00001 00011 0 0 1 1 0]; s = [0 0 0 111 101 100 010 001 011 1 1 0];
H = [1 1 1 0 0 10010 1 1 0 0 1];
标准阵列译码
• 对于2n个向量构成的空间,划分为2k个集的阵列, 则该阵列有2n-k行。采用查表法译码。
1. 将2k个码字作为第一行,全零码字处于第一列; 2. 余下的向量中,找码重最轻的向量,放在第二行第一列,再与许用码字求和,得 到第二行; 3. 依次类推,直到所有2n个向量都用完,且每个向量只被使用了一次。
G 1 0 0 1 1 1 0 0 1 0 0 1 1 1
0
0
1
1
1
0
1
对偶码
• 线性分组码的生成矩阵与校验矩阵之间存 在密切的关系:GHT=0。
• 这种关系是相对的。对于(n,k)的线性 分组码,G,H分别为对应的生成、校验矩阵。 而对于(n,n-k)的线性分组码,则可以视 H为生成矩阵,而G为校验矩阵。
H=Q Irr r n k
• 思考:如何由校验矩阵得到码字空间?
线性分组码的生成矩阵
• n维空间中k维线性子空间V中,存在k个n 维向量(码字) ,线性无关。
• “基”的概念:V中任意向量都可以用无关 组线性表示,该线性无关组称为一个 “基”。
• 采用矩阵形式的表示方式。 • 生成矩阵G:C=mG
• 建立错误图样与伴随式的一一对应表,其译码效 果是等效的。
G
1 0
0 1
1 1
1 0
1 1
练习4
• 设线性分组码的校验矩阵如下,构造该 分组码的译码表,简化的译码表。
1 0 1 1 0 0 0 H 1 1 1 0 1 0 0
1 1 0 0 0 1 0 0 1 1 0 0 0 1
了变化,但码字空间未发生变化。
1 1 1 0 1 0 G 1 1 0 0 0 1
0 1 1 1 0 1 信息位: 000,001,010,011,100,101,110,111
线性分组码的实现
• 硬件实现:在专用高速的场合,如何构造 实现单元。
• 软件实现:对编码速度要求不苛刻,且要 求有很好的兼容性,能够为信息序列提供 多种编码选择。
线性分组码概念
• 通过预定的线性运算将长度k的信息分组变 换为n重的码字(n>k),所构成的码字集 合称为线性分组码。
• 一个(n,k)分组码C,如果满足下列条件:
1,全零码组(0,0,…,0)在C中;
2,C中任意的两个码字之和,也在C中,则称 C为线性分组码。
例题1
构造一个(7,3)的线性分组码,设码字为C6 C5 C4 C3 C2 C1 C0 ,
L=3 U
V
纠错与检错能力示意图
t
U
V
d
L
t U
V
线性分组码的译码
• 译码是信道编码理论与技术的核心问题。 • 考虑到校验矩阵与许用码字之间的关系:
HCT=0,接收码字是否有效,由校验矩阵确 定的运算来衡量。 • 设sT=HRT为接收码字的伴随式(校正子), 该伴随式只与错误图样有关,而与发送码字 无关。 • 错误图样与伴随式是一一对应的。知道了伴 随式,即可做出译码结果。
编码程序
%信息序列的线性分组编码 n = 7; k = 4; xinxi = [1 0 1 1 0 1 0 0 1 1 1 0 0 1 0 1 1 0 1 1 ...
1 0 1 1 0 0 0 1 1 1 1 0 1 0 1 0 1]; G = [1 0 0 0 1 0 1
0100111 0010110 0 0 0 1 0 1 1]; changdu = size(xinxi); fenzu = ceil(changdu(1,2)/k); for s = changdu(1,2)+1:fenzu*k xinxi(1,s) = 0; end jiucuoma = zeros(fenzu,n); for s = 1:fenzu m = xinxi(1,(s-1)*4+1:s*4); jiucuoma(s,:) = rem(m*G,2); end
校验矩阵的获取
• 由计算规则定义求解。 • 方程求解法:
G·HT=0 • 当G是系统码的生成矩阵时,
若G=[Ik,Ak,n-k],则有: H=[ATk,n-k, In-k]
构造C(4,3)系统码的G,H。
练习2
• 构造下列(7,4)的线性分组码系统形 式的校验矩阵H
1 1 1 1 1 1 1
例题2
生成矩阵:
1 1 1 0 1 0 G 1 1 0 0 0 1
0 1 1 1 0 1 信息位m: 000,001,010,011,100,101,110,111
对生成矩阵做初等变换,码字如何 变化?
• 系统码与非系统码 • 构造系统码的方法:初等变换,或构造法,获
得生成矩阵的标准型。 • 例题2做初等变换,得到对应的系统码。 • 生成矩阵不同,信息序列与码字对应关系发生
=
0
0
0 0
C0
HCT =0 为什么称之为校验矩阵? 很多参考书中,线性分组码以校验矩阵的方式来定义。
练习1
• 4比特长的信息分组,第一与第三,第二与第四 比特模二加,构造系统的(6,4)线性分组码。 写出该分组码的校验矩阵。
• 系统码的校验矩阵。非系统码的校验矩阵?
• 不同的陪集首,对应的陪集向量互不相同。 • 2n个向量,每个在标准阵列中只出现一次, 且每个陪集中的各向量互不相同。
• 每个陪集首,对应着不同的错误图样,因此 与校正子s间是一一对应的关系。
许用码字
差错图样
00000
01101
10111
11010
10000
11101
00111
01010
01000
00101
11111
10010
00100
01001
10011
11110
禁
00010
01111
10101
11000
用 码
00001
01100
10110
11011
组
00011
01110
10100
11001
00110
01011
10001
11100
陪集首:选择陪集首的方法
标准阵列的简化
• 伴随式与错误图样间是一一对应的,因此,可以 简化标准阵列译码表的形式。
• 在(n,k)的线性分组码中,任意两个码 字间对应位元素不同的位数之和,称为这 两个码字的汉明距。
• 汉明距的性质:非负性,对称性,三角不 等式。
• 两个码字的汉明距,等于这两个码字之和 的汉明重。与最大似然译码结合理解。
• 线性分组码的最小汉明距。
线性分组码的校验矩阵
• 例题1中,校验矩阵的由来
• 差错模式图样 e=R+c
e+R=c,对于一确定的e,满足该式的R,与e一起, 构成一个陪集,而e称为陪集首。 • 根据陪集,构造译码表。
设C是n, k 线性分组码,a是2n向量空间中的一个, 称集合a c | c C为a所确定的C的陪集。
• 陪集中任意一个向量,与C之和还在这个陪 集中。
• 对于GHT=0,由H所生成的(n,k)线性分 组码,称为G所生成的(nБайду номын сангаасn-k)线性分组 码的对偶码。
例题4
对于(7,4)的线性分组码,已知其校验矩阵H, 给出其对偶码的生成矩阵、校验矩阵的标准形式。
1 1 1 0 1 0 0 H 0 1 1 1 0 1 0
1 1 0 1 0 0 1
其中C6 C5 C4为信息位,C3 C2 C1 C0为校验位(也称监督位), 构造规则如下。写出该线性分组码的码字空间。
C3 =C6 C4 C2 =C6 C5 C4 C1=C6 C5 C0 =C5 C4
汉明重量与汉明距
• 对于一个(n,k)的线性分组码,码字中 非0元素的个数称为该码字的汉明重。
• 最小汉明距为d的充要条件为:H中至少有 一个组合使得d列线性相关,而任意d-1列 线性无关。
• 纠错能力由H矩阵中列向量的线性组合直接 确定,而与排列顺序无关。因此,交换H列 向量的位置,不会影响纠错能力,也不会 影响校验的效果,而只是信息位与码字空 间对应关系发生了变化。
• (n,k)线性分组码最大的最小码距为: