最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

RS码计算实例

IT圈 admin 27浏览 0评论

2024年3月20日发(作者:养听荷)

本原元素

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

84

255

254

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

多项式

1

a

a

a

a

a

a

a

a+a+a+1

a+a+a+a

a+a+a+a

a+a+a+a

a+a+a+a+1

a+a+a+1

a+a+1

……

a+a+a+a

1

32

732

4

72

7632

7653

6542

543

432

7

6

5

4

3

2

1

fieldExpTable[i]

00000001

00000010

00000100

00001000

00010000

00100000

01000000

10000000

00011101

00111010

01110100

11101000

11001101

10000111

00010011

10001110

00000001

对应十进制

1

2

4

8

16

32

64

128

29

58

116

232

205

135

19

142

1

注:a=2 多项式mod(a+a+a+a+1)

RS编码实例:对(15,9)型进行编码

举例如下:

假设所处的域为2^4的伽罗华域(本原多项式为x^4+x+1)

码型为(15,9),则n=15,k=9,t=3,d=7; 1 2 3 4 5 6 7 8 9

直接用matlab生成g(x)

rsgenpoly(15,9)

ans = GF(2) array. Primitive polynomial = D+D+1 (19 decimal)

Array elements = 1 7 9 3 12 10 12

= x

+7x+9x+3x+12x+10x+12

信息多项式为:

M(x) = x + 2x + 3x + 4x + 5x + 6x + 7x + 8x + 9

由于t=3,将信息多项式乘以 x^6

被除数:x + 2x + 3x + 4x+ 5x + 6x + 7x + 8x + 9x

除数:x + 7x + 9x + 3x + 12x + 10x + 12

数组长度为[NN]

将上式除以码元发生多项式g(x)

65432

14131211 109876

87654321

65432

44

x x x x x

被除数→

1413121110

x

6

9

x

7

8

x

8

0

8

9

1

7

x

9

0

9

0

9

6

x

0

0

0

0

0

0

0

5

x

0

0

0

0

0

0

0

0

0

6

6

4

x

0

0

0

0

0

0

0

0

0

0

0

3

x

0

0

0

0

0

0

0

0

0

0

0

0

0

2

x x0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

8

8

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

2

7

3

9

4 5

*x

余=a-b=a+b

8

除数→

3 12 10 12

7 9 12 11

9 4

0 5 10

5

0

*5x

*2x

*2x

*9x

*8x

*2x

*15x

*2

1

2

3

4

5

6

7

8 11 15

2 12

2 14

0 2

6

1

7

5 15

6 11

3

1

2

4

7 11

6 2

2 14

0 9

6 11

2 13

8

5

7 11

5 11

6 5 9 10 13

0

8 15

8 13

0 2

3 14

4 11 10 15 10

1 8

1

9

4 9 10

2 14

0 15

6 11

2

7 11

2 13 11

2

0

1

1

8 12

5 7

15 11 14

0 2 12

2 14

0 2

6 11 7 11

3 12 15 11

经过以上计算,可得余数为:

r(x) = 2x+ x + 3x + 12x + 15x + 11

则T(x) = M(x) + r(x)

= x

+2x+3x+4x+5x+6x+7x+8x+9x+2x+x+3x+12x+15x+11

简写为 1 2 3 4 5 6 7 8 9 2 1 3 12 15 11

则序列[1 2 3 4 5 6 7 8 9]经过RS编码后为

[1 2 3 4 5 6 7 8 9 2 1 3 12 15 11]

GF(2^4)的本原多项式为:1+X+X^4

GF(2^4)

0

A^0

A^1

A^2

A^3

A^4

A^5

A^6

A^7

A^8

A的多项式

0

A^0

A^1

A^2

A^3

A+1

D3D2D1D0

0000

0001

0010

0100

1000

0011

0110

1100

1011

0101

对应的十进制[注3]

0

1

2

4

8

3

6

12

11

5

141312111

5 4321

2024年3月20日发(作者:养听荷)

本原元素

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

84

255

254

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

多项式

1

a

a

a

a

a

a

a

a+a+a+1

a+a+a+a

a+a+a+a

a+a+a+a

a+a+a+a+1

a+a+a+1

a+a+1

……

a+a+a+a

1

32

732

4

72

7632

7653

6542

543

432

7

6

5

4

3

2

1

fieldExpTable[i]

00000001

00000010

00000100

00001000

00010000

00100000

01000000

10000000

00011101

00111010

01110100

11101000

11001101

10000111

00010011

10001110

00000001

对应十进制

1

2

4

8

16

32

64

128

29

58

116

232

205

135

19

142

1

注:a=2 多项式mod(a+a+a+a+1)

RS编码实例:对(15,9)型进行编码

举例如下:

假设所处的域为2^4的伽罗华域(本原多项式为x^4+x+1)

码型为(15,9),则n=15,k=9,t=3,d=7; 1 2 3 4 5 6 7 8 9

直接用matlab生成g(x)

rsgenpoly(15,9)

ans = GF(2) array. Primitive polynomial = D+D+1 (19 decimal)

Array elements = 1 7 9 3 12 10 12

= x

+7x+9x+3x+12x+10x+12

信息多项式为:

M(x) = x + 2x + 3x + 4x + 5x + 6x + 7x + 8x + 9

由于t=3,将信息多项式乘以 x^6

被除数:x + 2x + 3x + 4x+ 5x + 6x + 7x + 8x + 9x

除数:x + 7x + 9x + 3x + 12x + 10x + 12

数组长度为[NN]

将上式除以码元发生多项式g(x)

65432

14131211 109876

87654321

65432

44

x x x x x

被除数→

1413121110

x

6

9

x

7

8

x

8

0

8

9

1

7

x

9

0

9

0

9

6

x

0

0

0

0

0

0

0

5

x

0

0

0

0

0

0

0

0

0

6

6

4

x

0

0

0

0

0

0

0

0

0

0

0

3

x

0

0

0

0

0

0

0

0

0

0

0

0

0

2

x x0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

8

8

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

2

7

3

9

4 5

*x

余=a-b=a+b

8

除数→

3 12 10 12

7 9 12 11

9 4

0 5 10

5

0

*5x

*2x

*2x

*9x

*8x

*2x

*15x

*2

1

2

3

4

5

6

7

8 11 15

2 12

2 14

0 2

6

1

7

5 15

6 11

3

1

2

4

7 11

6 2

2 14

0 9

6 11

2 13

8

5

7 11

5 11

6 5 9 10 13

0

8 15

8 13

0 2

3 14

4 11 10 15 10

1 8

1

9

4 9 10

2 14

0 15

6 11

2

7 11

2 13 11

2

0

1

1

8 12

5 7

15 11 14

0 2 12

2 14

0 2

6 11 7 11

3 12 15 11

经过以上计算,可得余数为:

r(x) = 2x+ x + 3x + 12x + 15x + 11

则T(x) = M(x) + r(x)

= x

+2x+3x+4x+5x+6x+7x+8x+9x+2x+x+3x+12x+15x+11

简写为 1 2 3 4 5 6 7 8 9 2 1 3 12 15 11

则序列[1 2 3 4 5 6 7 8 9]经过RS编码后为

[1 2 3 4 5 6 7 8 9 2 1 3 12 15 11]

GF(2^4)的本原多项式为:1+X+X^4

GF(2^4)

0

A^0

A^1

A^2

A^3

A^4

A^5

A^6

A^7

A^8

A的多项式

0

A^0

A^1

A^2

A^3

A+1

D3D2D1D0

0000

0001

0010

0100

1000

0011

0110

1100

1011

0101

对应的十进制[注3]

0

1

2

4

8

3

6

12

11

5

141312111

5 4321

发布评论

评论列表 (0)

  1. 暂无评论