当前位置:文档之家› 第三章_线性分组码

第三章_线性分组码


说明 r与H不正交,接收的r=(1001101)不是码字。返回
4.3 伴随式与译码
由于信道干扰的缘故,使得接收端的接受码R= (rn1 , , r1 , r0 ) 不一定等 于发送码C= (cn1 , , c1 , c0 ) ,定义差错图案E为: E= (en1 , , e1 , e0 ) (rn1 cn1, , r1 c1, r0 c0 ) =R-C 差错图案是信道干扰图案的反应。对二进制码,模2加与模2减等同,因此 有: E=R+C 及 R=C+E 利用式 CH T 0 所示码字与校验矩阵的正交性 CH T 0 ,可通过下列运算 来判断接受码R是否有错: RH T (C E) H T CH T EH T 0 EH T EH T 如果接受码无误,必有R=C即E=0及 EH T =0,此时上式满足 RH T =0。 T T T T RH EH 如果信道产生差错,必有 = 0。保持 H 不变,则 RH 仅与差错图案E有关,而与发送什么码C无关。为此定义伴随式S为:
S (snk 1 ,
, s1, s0 ) RH T EH T
4.3 伴随式与译码
从物理意义看,伴随式S并不反映发送的码字是什么,而只反应信道 对码字造成怎样的干扰。 可以看到:伴随式S是一个n-k重矢量,只有 2nk 种可能的组合;而差 错图案E是n重矢量,共有 2n个可能的组合。因此,同一伴随式可能对应 若干个不同的差错图案。 在接受端,并不知道发送码C究竟是什么,但可以知道 H T 和接受码 ˆ ,具体方 R,从而算出S。译码最重要的任务是从伴随式S找出C的估值 C ˆ =R+E而求出: 法是:先算出S,再由S算出E,最后令 C ˆ =R+E RH T =S E C 最关键的是从S找出E,只要E正确,译出的码也就是正确的。 h( n k 1)1 h( n k 1)0 h( n k 1)( n 1) S ( sn k 1 , , s1 , s0 ) EH T (en 1 , , e1 , e0 ) h1( n 1) h11 h10 h h h 0( n 1) 01 00
4.2 生成矩阵和校验矩阵
将 m3 1, m2 0, m1 1, m0 1 代入方程组,得 c2 0, c1 0, c0 0 。所以码 字为c=[1011000]。 ②一个二进制(n,k)系统线性分组码的编码器可用k级移存器和连接 到移存器适当位置(由P决定)的n-k个模2加法器组成。加法器生成校验 位后按顺序暂存在另一个长度为n-k的移存器。K比特信息组移位输进k级 移存器,加法器计算n-k校验比特,然后先是k位信息、紧接着是n-k位校 验比特从两个移存器中移位输出。本题的编码原理图如下:
①对于信息组m=(1011),编出的码字是什么? ②画一个(7,4)分组码编码器原理图。 ③若接收到一个7位码r=(1001101),检验它是否码字? 解:设输入信息组 m [m3m2 m1m0 ] ,编码后的码字 c [c6c5c4c3c2c1c0 ] 码集C。 ①由c=mG可知,将m和G的值代入,可得对应码字是 (1011000)。本题由于是系统码 , c (m3m2 m1m0c2c1c0 ),前4位不必计 算,后3个校验位可以根据生成矩阵G的分块阵P列出现行方程组如下 c2 m3 m2 m1 (式中“ ”指模2加) c1 m2 m1 m0 c m m m 3 2 0 0
4.1 线性分组码基本概念
综上所述,编码算法的核心问题是: ①寻找最佳的码空间,或者等效地说,寻找最佳的一组(k个)基 底,以张成一个码空间。 ②k维k重信息组空间 2k 的个矢量以何种算法一一对应的映射到k维n 重码空间C。 由于上述映射是两个线性空间之间的线性交换,“线性分组码”由 此 得名。又因为这些矢量在加法运算下构成交换群,所以也称之为“群 码”。返回
m0
m1
m2
m3
S
c0
c1
c2
4.2 生成矩阵和校验矩阵
首先是信息位 m3 输入,再是 m2 ,m1 ,m0 顺序输入。编码后, 开关S在输出前4位时上拨,先 m3 再 m2 ~ m0 顺序输出;输出后面3 位时,开关S下拨,将 c2 ~ c0 顺序输出。 ③H矩阵如下:
1 1 1 0 1 0 0 H [ PT I n k ] 0 1 1 1 0 1 0 1 1 0 1 0 0 1
4.2 生成矩阵和校验矩阵
由于C的基底和D的基底正交,空间C和空间D也正交,它们互为零空间。 因此,(n-k)线性码的任意码字c一定正交于其对偶码的任意一个码字,也必 定正交于校验矩阵H的任意一个行矢量,即 cH T 0 式中,0代表零阵,它是 1 nn (n k ) 1 (n k ) 全零矢量。 式 cH T 0 可以 用来检验一个n重矢量是否为码字:若等式成立(得零矢量),该n重必为码字, 否则必不是码字。 由于生成矩阵的每个行矢量都是一个码字,因此必有:
( m2 m1m0) 000 000 010 011 100 101 110 111
信息组
码字 ( c5c4c3c2c1c0 ) 000000 001011 010110 011101 100111 101100 110001 111010
4.2 生成矩阵和校验矩阵
在以上编码过程中,核心的因素是矩阵G,它决定了变换规则,也 决定了码集C。矩阵G可以看成是由3个行矢量组成的,所有码字是这3 个行矢量的线性组合:
根据式 cH T 0 ,如果接受到的r是属于码集C的某码字,必 有 rH T 0 ;反之,如 rH T 0 ,说明r必定不是码字。将H和 T r=[1001101]代入式 cH 0 ,得:
rH T 1 (101) 0 (111) 0 (110) 1 (011) 1 (100) 0 (010) 1 (001) (011) (000)
第四章
线性分组码
第四章
4.1 4.2 4.3 4.4 4.5 4.6 4.7 线性分组码基本概念 生成矩阵和校验矩阵 伴随式与译码 码的纠、检错能力与MDC码 完备码与汉明码 扩展码、缩短码与删信码 分组码的性能限
4.1 线性分组码基本概念
(n,k)线性分组码是把信息流的每k个码元(symbol)分成一组, 通过线性变换,映射成由n个码元组成的码字(codeword)。从空间的 角度,每个码字可以看成是n维线性空间中的一个矢量,n个码元正是n 个矢量元素。码元取自字符集X={ x0 , x1, , xq1}, 当q=2时是二进制 码,q>2时是q进制(q元)码。多进制q一般取素数或素数的幂次,实 用中多见的是q=3或q= 2b (b是正整数)。当q= 2b 时,每码元可携带b bit 信息,长度为n的q元分组码码字可以映射成长度N=bn的二元分组码码 字。 纠错编码的任务是在n维n重矢量空间的 2n 种组合中选择个 2k 构成 一个子空间,或称许用码码集C,然后设法将k比特信息组一一对应的映 射到许用码码集C。不同的编码算法对应不同的码集C以及不同的映射 算法,把这样的码称为(n,k)线性分组码。不编码时,一个二进制码元可 携带1b信息(传输率为1b/符号);编码后,n个二进制码元携带kb信 息(传输率为(k/n)b/符号)。定义k/n= Rc为二元分组码的码率,或 者说是效率。
GH 0
T
这里,0代表一个尺寸为 [k n] [n (n k )] k (n k )的零矩阵。 验证H的方法是看它的行矢量是否与G的行矢量正交,即式 GH 0是否成 立。此处,
T
GH T [ Ik P][PT Ink ]T [ Ik P] [ PInk ] [ P] [ P] 0
展开成线性方程组形式后:
4.3 伴随式与译码
sn k 1 en 1h( n k 1)( n 1) e1h( n k 1)1 e0 h( n k 1)0 s1 en 1h1( n 1) e1h11 e0 h10 s0 en 1h0( n 1) e1h01 e0 h00
c5 m2 c m 1 0 0 1 1 1 1 4 c c c c c c ) ( m m m ) 0 1 0 1 1 0 2 1 0 c mG c3 m0 5 4 3 2 1 0 0 0 1 0 1 1 c2 m2 m1 c1 m2 m1 m0 c0 m2 m0
4.2 生成矩阵和校验矩阵
G [ g k 1 g ( k 1)( n 1) g1 g 0 ]T g1( n 1) g 0( n 1) g ( k 1)1 g11 g 01 g ( k 1)0 g10 g 00
其中 gi [ gi (n1) gi1gi 0 ] ,i=k-1, ,0,是G中第i行的行矢量。 与任何一个(n,k)线性码的码空间C相对应,一定存在一个对偶空 间D。事实上,码空间基底数k只是n维n重空间的全部n个基底的一部 分,若能找出另外n-k个基底,也就找到了对偶空间D。既然用K个基底能 产生一个(n-k)线性码,那么也能用n-k个基底产生一个有 2nk 个码矢 的(n,n-k)线性码,称之为(n-k)线性码的对偶码。将D空间的n-k个 基底排列起来,可构成一个(n-k) n矩阵,称为码空间C的校验矩阵 H,它正是(n,n-k)对偶码的生成矩阵,它的每一行是对偶码的一个码 字。C和D的对偶是相互的,G和C的生成矩阵,又是D的校验矩阵;而H 是D的生成矩阵,又是C的校验矩阵。
4.2 生成矩阵和校验矩阵
6 二进制码取值于GF(2),6位二进制有 2 =64种组合,而3位的信息 组只有8种组合,一一对应到8个码字。可见,码集C包含64种组合中 的8种。分别令信息组 m2m1m0 为(000),(001),…,(111), 带入上面的矩阵算式,不难算得各信息组对应的码字如下表所示:
相关主题