RS编码和纠错算法

一个n次不可约多项式,如果只能整除1+Z^2^n-1而不能整除其它1+Z^L(L<2^n-1),则这种不可约多项式就称为本原多项式。
对于一个n次多项式,其本原多项式一般有若干个。下面将给出的一个算法,是求解在给定任意n值及一个本原多项式的情况下,其余本原多项式的求解方法。该算法的意义在于提供了同一n值情况下若干个可选的本原多项式,这样就允许在构造应用系统时有不同的选择方案。
已知一个n级本原多项式,求解其余的本原多项式按以下步骤进行。
(1) 首先确定n级本原多项式的个数λ(n),λ(n)即是n级本原多项式的个数。
(2) 求出小于2n-1且与2n-1互素的所有正整数,构成一个集合〔Si〕,并重新排序,使〔Si〕中元素从小到大排列。
(3) 排除〔Si〕中不适合的数
* 排除〔Si〕中形如2j(j为正整数)
* 排除〔Si〕中所有同宗的数。即从〔Si〕中从后到前搜索,每取一个数即做2K×Si,直到大于2n-1,然后减去2n-1,用差值在〔Si〕中向前搜索,如果有相同的数则将Si排除,否则保留。再取Si-1按同样过程做一遍,直到S0.
* 排除〔Si〕中有倍数关系的数。即从〔Si〕中从后到前搜索,每取一数即向前查询一遍,最后〔Si〕中剩下的数即为本原抽样数,其个数一定为λ(n)-1。
(4) 根据已知的一个n级本原多项式,为其设置初始状态000…01(n个),求出其M序列{Ai}(长度为2n-1).
(5) 依次从Si中取出本原抽样数,每取出一个抽样数Si,即可求出一个本原多项式:以Si对{Ai}进行抽样,就可产生长度为2n-1的另一M序列{Si}, 在{Si}中找到形如000…01(n位)的序列段{Mi},并提取包括{Mi}为前n项的2n长度的序列:
Am+0,Am+1,…,Am+n-1,
0 0 … 1
Am+n,Am+n+1,…Am+2n-1
X X … X
欲确定的Ci可用下列方程组确定;
C1=Am+n
C2=Am+n+1+C1Am+n
C3=Am+n+2+C1Am+n+1+C2Am+n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

fpga和matlab

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

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

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

打赏作者

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

抵扣说明:

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

余额充值