GPON HEC算法介绍及验证样例

算法介绍

GPON中HEC用以对GEM帧纠错,由两部分组成:第一部分是删减的BCH(63, 12, 2)码(12bit),第二部分是1bit的奇偶校验。

GPON协议中采用删减的BCH(63, 12, 2),其生成多项式为

g(x)= x^{12}+x^{10}+x^8+x^5+x^4+x^3+1,由于GEM帧头为40bit(27bit有效数据+12bit BCH校验位+1bit奇偶校验位),因此HEC的BCH的算法应用在GEM帧头前39位上,记为BCH(39, 12, 2)。

1、单bit错误有39种,如下图;

2、双bit错误有741种(C392,39是下标,2是上标);

3、多bit错误当前无法纠错,协议中GEM帧头预留12bit做BCH运算,总共4095种纠错组合,剩余3315(4095减去39和741)种未使用。

4、接收端解码GEM帧时,通过HEC计算BCH和奇偶校验,采用如下逻辑处理GEM帧

样例

协议中提供如下有效GEM头的示例,用于测试编码和解码过程的实现

参考matlab实现

%BCH(63, 12)编码器构造

enc = comm.BCHEncoder(63, 51, 'x12+x10+x8+x5+x4+x3+1', 27);

%构造27bit输入序列,下例为528A739F79的前27bit

x = [0 1 0 1 0 0 1 0 1 0 0 0 1 0 1 0 0 1 1 1 0 0 1 1 1 0 0]';

%得到编码结果

y = step(enc, x);



%构造27bit输入序列,下例为BEDB7532FA的前27bit

m = [1 0 1 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 0 0 1]';

%得到编码结果

n = step(enc, m);

样例1:

BEDB7532FA

1、Step1:校验数据

101 1111 0110 1101 1011 1010 1001

2、Step2:BCH(39, 12, 2)校验

101 1111 0110 1101 1011 1010 1001 1001 0111 1101

3、Step3:奇偶校验

1011 1110 1101 1011 0111 0101 0011 0010 1111 1010

样例2:

528A739F79

1、Step1:校验数据(27bit)

010 1001 0100 0101 0011 1001 1100

2、Step2:BCH校验(12bit)

010 1001 0100 0101 0011 1001 1100 1111 1011 1100

3、Step3:奇偶校验(1bit)

0101 0010 1000 1010 0111 0011 1001 1111 0111 1001

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

巨石阵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值