分类
宽带无线接入网中的RS编译码解决方案‖
| 差错控制技术对提高通 随机错,又可以纠突发错, 在最后的测试过程中给出测 件解码方案大多不能满足高 (Euclidean Algorithm)和I 速率为32.5 MHz的流式解 | 信系统的可靠性有重要作用。RS 在通信系统中应用广泛。RS的编 试结果。但RS码的解码复杂度高 速率的传输需求,一般适用于10 DFT相结合的RS解码方案利用FPG 码方案,最大延时为640 ns,参 | 码具有很强的纠错能力,既可以纠 码方案相对简单,在此不赘述,仅 ,数学运算量大,国内的硬件及软 MHz以下。本文基于欧氏算法 A芯片实现了GF(28)上符号 数可以根据需要灵活设置。 |
| 二、RS码的结构 |
对于码长为N=q-1,生成多项式为g(x)=(x ,αi∈GF(q)的RS码有最小码距δ=2t+1,能够纠正t个随机或突发错误。 |
错,当符号速率为50 MHz时,可以在信道误比特率为10-3情况下,把误码率改善为10-7以下。 |
| 三、欧氏算法与IDFT结合的RS码译码方案 |
| RS码是BCH码的子类。R 样的求解。如何由伴随式计 | S译码算法一般分为3步:伴随式 算差错定位多项式是RS译码中最 | 的计算、关键方程的获得和错误图 困难和最关键的一步。 |
| 联接多项式的求解方法 合于硬件实现,因而曾被美 错误个数成正比,而通常出 氏算法是较好的选择。 | 很多,但欧氏算法数据存储量少 CCSDS机构推荐使用。采用欧氏 现多个错误的概率远远低于少个 | ,控制简捷;通过VC仿真也证明适 算法获取联接多项式,所需时间与 错误,因此从时间上考虑,采用欧 |
| 在获得关键方程以后,利用频域的处 法进行错误值的求解,逻辑单元简单,耗 n)来说,当n<10的情况下,变换域 | 理方法,采用最短线性移存器的综合和IDFT变换的方 时少。虽然在IDFT时需要较多的资源,但对GF(2 译码器要比时域译码器简单得多[2]。 |
| 因而在课题中采用了Euclidean算法 Euclidean算法[3]步骤如下: | 和频域处理相结合的方法,获得了较好的效果。 |
![]() |
| (2)按所列方法进行迭代 |
![]() |
| 四、RS译码在FPGA上的实现 |
| 有限域乘法器和控制逻 码速度快慢的瓶颈,控制逻 供了简捷的思路。本系统采 分功能模块。特别是在乘法 定的有限域乘法器,经逻辑 完全可以满足系统符号速率 | 辑的设计在上述3个步骤中最为 辑决定了译码的流程。硬件电路 用了QUARTUS与第三方软件相结 器设计中,乘数确定、被乘数不 综合和优化设计后,运算速度可 50 MHz的要求。 | 重要:有限域的运算速度是制约译 的软件开发工具给设计复杂电路提 合的方法,用VHDL语言设计了大部 定的乘法器以及乘数、被乘数均不 分别在6.8 ns 和11.6 ns内完成, |
| 1伴随式S0,S1,…,S2t-1的求解 |
| 令r1,r2,…,rn为接收到的RS码字,考虑到RS系统码监督矩阵的性质有: |
![]() |
| 由此可构造出乘法电路,如图1所示。 |
![]() |
| 利用此简单的逻辑电路即可实现伴随 时,即可获得伴随式。当S0,S1,… 动步骤2; | 式的计算,保证了接收码字在输入结束(小于3 ns) ,S2t-1均为0时,译码结束,给出标志。否则,启 |
| 2.利用伴随式计算差错定位多项式 |
| 在获得伴随式的基础上,可求解砦蠖ㄎ欢嘞钍剑?nbsp; |
![]() |
| 求解过程如图2所示。 |
![]() |
| 从图2可以看出,当伴 存器初始化,同时控制单元 下,控制被除数多项式寄存 存器进行数据的代换。对输 时,计算结束,启动步骤3 | 随式计算完毕后,在时钟上升沿 1将被除数多项式寄存器初始化 器进行数据的更迭。控制单元2 出的商多项式利用迭代得出关键 ;同时,全系统清零,准备下一 | 送入控制单元2,使除数多项式寄 为x2t。控制单元1在时钟的驱动 在时钟的驱动下控制除数多项式寄 方程。当输出的余式次数低于t=8 个过程的开始。 |
| 此种设计仅需2组寄存 梯形拓扑结构保证了欧氏算 ns。不过,由于少数错误出 正是我们所期望的。 | 器和一组除法运算单元,资源耗 法的速度。当t≤8时,每增加一 现的概率远远大于多个错误的概 | 费较少。框图中采用的并行算法和 个错误位置,耗费时间将增加80 率,耗时与错误多少成正比的特性 |
| 应该指出,系统速度的 构,通常采用查表的方法, 求。 | 进一步提高受到求逆运算速度的 这是制约速度提高的瓶颈。但针 | 限制,求逆运算没有明确的数学结 对流式译码,上述结构已能满足要 |
| 3.利用最短线性移存器综合和IDFT变换获取错误图样 |
| 硬件实现框图见图3。用St-1,St- ,St,St+1,…,Sn-2,Sn-1,即S序 的St进行比较,两者相等表示欧氏算法 不等则表示译码错误,输出曛疚弧?” en-1,en-2,…,e0;最后从缓存中读 确的码字。 | 2,…,S1,S0和σ(x)经循环迭代产生S0,… 列,由此计算产生的St与经第一级伴随式电路产生 获得的σ(x)是正确的,此时Flag输出标志位“0”; 。对S序列进行IDFT运算,可获得并行的错误图样 出接收码字,并与错误图样进行异或运算即可得到正 |
| 完成整个计算只需要255个时钟周期 行钱(Chien)搜索[1](钱闻天于1964年 ,在每一次运算中还要进行8次多项式计 的耗费可见一斑。不过采用本文提供的方 件资源较多,但资源的耗费却换取了速度 | ,与时域译码算法相比要快得多。时域运算时,仅进 提出的求σ(x)根的一种实用方法)就需要255次运算 算,当获得错误位置后,再进行错误值的求解,时间 案,IDFT变换与S序列的求解需同步进行,占用的硬 的提高。 |
![]() |
| 五、测试过程 |
| 1编码器的测试 |
| 测试时,采用时钟速 后,启动仿真,可得到如图 。其中,输入输出码字每个 | 率为50 MHz,在EN为高电平时 4所示波形。为简单起见,输入 符号均表示为2位16进制数。 | 输入信息有效;编辑仿真向量文件 信息缩短为3个GF(28)上符号 |
| 2.译码单元测试 |
对编码器的结果(02.01.02.B3.47.4E.F4.BB.FB.DF.A7.B4.A9.E2.F1.45.3F.49.4A)在最后4位设置错误,错误图样均为0X01即接收码字为(02.01.02.B3.47.4E.F4.BB.FB.DF.A7.B4.A9.E2.F1.44.3E.48.4B);伴随式的计算结果:S0,S1,…,S14,S15为(00.0F.55.73.C1.73.A1.E7.DF.1A.A1.24.66.B5.BF.86);欧氏算法的商结果:(E4,56)、(27,D2)、(35,46)、(A1,4B)分别对应域上 联接多项式结果为(25、D0、8F、1A、60)对应域上多项式α36x4+α108x3+ 一化后即为差错定位多项式(40、 真结果见图5。 |
![]() |
![]() |
| 3IDFT变换单元的测试 |
| IDFT变换单元的测试如 应于RS码的最后5个位置IDF 字进行异或运算即得到正确 确无误。 | 图6所示。其中输入为S序列和时 T变换,与我们所设置的4个错误 的码字。整个过程同时由VC编程 | 钟,B4、B3、B2、B1、X是分别对 完全一致;经并/串变换与接收码 仿真,中间过程的监测表明设计正 |
![]() |
| 六、结论 |
| 本方案在ALTERA公司的FLEX10KE系列 散译码、流式译码,在添加一级缓存的情 MHz以上(上述验证的时钟是50 MHz),达到 | 的EPF10K130EQC240-1芯片上得到了实现,适宜于离 况下,同样适宜于连续译码。符号速率可以达到50 了预期的设计要求。 |
,αi∈GF(q)的RS码有最小码距δ=2t+1,能够纠正t个随机或突发错误。
错,当符号速率为50 MHz时,可以在信道误比特率为10-3情况下,把误码率改善为10-7以下。






联接多项式结果为(25、D0、8F、1A、60)对应域上多项式α36x4+α108x3+
一化后即为差错定位多项式(40、
真结果见图5。

