11-群和编码-离散数学讲义-海南大学(共十一讲)

  • 格式:doc
  • 大小:141.00 KB
  • 文档页数:13

下载文档原格式

  / 13
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

11.群和编码Group and coding

§11.1 二进编码和查错

coding of binary information and error detection Alphabet 字母集。B ={0,1}.

message 从有限alphabet 中选取有限多个符号组成的一个序列。

word m 个0和1组成的一个序列。

B =B ×B ×……×B (m 个)。

B m 的加法⊕:

(x 1,x 2,…,x m )⊕(y 1,y 2,…,y m )

=(x 1+y 1 ,x 2+y 2,…,x m +y m )

B m 中共有2m 个元素, B m 的阶是2m 。

0=(0,0,……,0).

由于disterbance (noise )x ≠x t 。

用编码方法查错、纠错。

取n>m ,一一对应

e :B m →B n ,

称e是(m,n)编码函数。

b∈B m,e(b)∈B n叫做b的码词Code word

e(b)比b多几位0,1用来查错和纠错。

将要发出的word b编码得到x=e(b),发送后接收到x t,如果没有干扰,x=x t,b=e-1(x t). 如果有干扰,x和x t有≤k位出错,即有1位到k位错误。

x的权(weight):x含有1的个数,记做|x|.

奇偶校验码parity check code:

如果b=b1b2…b m,

令e(b)=b1b2…b m b m+1,

b m+1=0, if |b|是偶数,

b m+1=1, if |b|是奇数。

b m+1=0, 当且仅当b含有偶数个1。

m=3

e(000)=0000

e(001)=0011

e(010)=0101

e(011)=0110

e(100)=1001

e(101)=1010

e(110)=1100

e(111)=1111

对任意b,e(b)的权总是偶数。

设b=111,x=e(b)=1111.

如果接收到有一位错x t=1101,

x t的权是奇数,发现有错。

x t的权是偶数,无法判断有错。

例3.(m,3m)编码函数:

e:B m→B3m,

b=b1b2…b m,

e(b)=b1b2…b m b1b2…b m b1b2…b m.

e(000)=000000000

e(001)=001001001

e(010)=010010010

e(011)=011011011

e(100)=100100100

e(101)=101101101

e(110)=110110110

e(111)=111111111

可以发现一位或两位错误。

海明距离δ(x,y):Hamming distance

设x,y∈B m,δ(x,y) =|x⊕y|

δ(x,y)等于x,y中对应不相等的位置的个数。

例4.求海明距离

x=110110, y=000101

x=001100, y=010110

解. (a)δ(x,y)=4.

(b) δ(x,y)=3.

定理1. 设x,y,z∈Bm,则

δ(x,y) =δ(y,x).

δ(x,y)≥0.

δ(x,y)=0 iff x=y.

δ(x,y)≤δ(x,z)+δ(z,y)

证明.

(d) |a⊕b|≤|a|+|b|.

δ(x,y)=|x⊕0⊕y |=|x⊕z⊕z⊕y|

≤|x⊕z|+|z⊕y|=δ(x,y)+δ(x,y)

一个编码函数e:B m→B n的最小距离minimun distance:min{δ(e(x),e(y)) | x,y∈B m}.

例5.e(00)=00000

e(01)=01110

e(10)=00111

e(11)=11111

min{δ(e(x),e(y))}=2.

定理2. 一个(m,n)编码e:B m→B n能查出至多k位错误当且仅当最小海明距离≥k+1。

证明. 设最小海明距离≥k+1。

发出x=e(b), 收到x t,x≠x t,

δ(x, x t)≤k,则x t不是一个编码,查出错误。

反之. 设最小海明距离=r≤k。δ(x, x t)=r,x t可能是另一个编码无法判断错误。

例6.

e(000)=000000000

e(001)=001001001

e(010)=010010010

e(011)=011011011

e(100)=100100100

e(101)=101101101

e(110)=110110110

e(111)=111111111

能查几位错?

群编码Group codes

一个编码函数e:B m→B n叫做群编码,如果Ran(e)=e(B m)={e(b) | b∈B m }

是B n的一个子群。

例7.(1)e(000)=000000000

e(001)=001001001

e(010)=010010010

e(011)=011011011

e(100)=100100100

e(101)=101101101

e(110)=110110110

e(111)=111111111

是群编码。

(2)

e(000)=000000

e(001)=001100

e(010)=010011

e(011)=011111

e(100)=100101