在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 12326|回复: 10

[讨论] 怎么选择非标准码字长度的BCH码?

[复制链接]
发表于 2014-7-4 22:22:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
标准的 BCH码都是(n,k)形式的,其中n是整个码的长度,k是信息位长度。n的长度是有限制的,要符合 n=2^m -1  。

但我看现在有些不符合 n=2^m -1  这个码长约束的BCH码。




比如 (4200,4096)  这种是怎么构造出来的呢?
发表于 2014-7-4 23:14:56 | 显示全部楼层
非本原BCH码,其实构造的方法跟n=2^m -1的BCH应该是相似的。
我假设你举的例子(4200,4096)是二进制BCH,m=ceil(log2(4200)) = 13, 校验位为104, mt=104, t=8。这个应该是最多能够纠8bit错的BCH。
 楼主| 发表于 2014-7-5 10:34:35 | 显示全部楼层
回复 2# cyqtomb


   谢谢哈。   那下一步还有个问题。 像本源BCH码 的生成多项式可以用matlab的函数算出来:
   bchgenpoly(n,k,PRIM_POLY)

   当n=2^13-1=8191, k=8087, 可纠正错误t=8;
   本源多项式是 D^13+D^4+D^3+D^1+1   用十进制表示是 8219

  这时 输入bchgenpoly(8191,8087,8219      ,可得到一个104阶的 生成多项式的系数


Columns 1 through 8


           1           0           0           0           1           0           1           0


  Columns 9 through 16


           1           1           1           1           1           1           0           0


  Columns 17 through 24


           1           0           0           0           1           0           1           0


  Columns 25 through 32


           0           1           1           1           0           0           0           0


  Columns 33 through 40


           0           0           1           1           1           1           0           1


  Columns 41 through 48


           1           0           0           0           0           1           1           0


  Columns 49 through 56


           0           0           0           0           1           0           0           1


  Columns 57 through 64


           1           1           0           0           0           0           1           1


  Columns 65 through 72


           1           0           1           0           0           0           0           0


  Columns 73 through 80


           1           1           1           0           0           0           1           0


  Columns 81 through 88


           1           1           1           0           0           0           1           0


  Columns 89 through 96


           0           1           1           1           1           1           0           1


  Columns 97 through 104


           1           0           0           1           0           0           0           1


  Column 105


           1


现在的问题是:
   上面这个生成多项式  是否也可当作非本源BCH码(4200,4096)的生成多项式?
发表于 2014-7-18 22:25:04 | 显示全部楼层
感谢分享
发表于 2014-9-15 15:35:58 | 显示全部楼层
可以哈。
发表于 2014-11-12 20:00:34 | 显示全部楼层
好帖子!
发表于 2014-11-14 03:15:47 | 显示全部楼层
回复 1# xxxyyy114 BCH缩短码,编码与解码与非缩短码类似,在数据区前面加入零元素,钱氏搜索的时候,将这些0元素跳开即可。
发表于 2014-12-16 15:40:03 | 显示全部楼层
回复 1# xxxyyy114


   你好,我现在也在做这个东西,也有这个困惑,根据附录的本源列表可以直接做,但都是不是8的倍数,所以并行不方便,我也看了论文里面的构造缩短BCH的方法,表里的生成多项式可以直接用在缩短码里面吗?直接用的话跟我本源里面的有什么不同吗?我想做个简单的凑活着毕业就行,现在就实现了一个(31,16,3)的编码和译码,着急做毕设,希望大神赐教啊!难得在这里能看到有做类似的。谢谢了
发表于 2014-12-16 15:52:40 | 显示全部楼层
回复 2# cyqtomb


   你好,我现在也在做这个东西,也有这个困惑。难得在eetop看到也有前辈做过,十分激动。   我的疑问就是这个缩短码(4200,k,t)是由(8191,k,t)缩短来的,那我用的生成多项式可以直接用本源的吗?需要注意什么?缩短掉的3991位是直接省掉吗?编码的时候编到4200就可以了吗?实在是很困惑,现在我就实现一个简单(31,16,3)的编码译码,我想做高位并行的。我看到有复旦的  上交 成电的都有学生做过,做的都很好,我很希望能做到他们那种程度,希望大神帮帮我?
发表于 2015-1-24 18:05:44 | 显示全部楼层
标准的 BCH码都是(n,k)形式的,其中n是整个码的长度,k是信息位长度。
n=2^m -1
n-k<=m*t

如果n!=2^m -1, 也可以按照n‘=2^m -1的方法构造BCH码,这时叫做缩短BCH码。

假设本原元为a,那么可以计算b = a^n的阶r,构造新的伽罗华域:{0,1,b^1 b^2,...b^r-1}
构造以b b^1 b^2...为根的BCH码,这叫做非本原BCH码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-3-28 17:31 , Processed in 0.041754 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表