一种基于fpga的高速rs编译码器实现方法

文档序号:7504506阅读:267来源:国知局
专利名称:一种基于fpga的高速rs编译码器实现方法
技术领域
本发明属于通信中信道编译码装置领域,特别涉及一种可用于卫星高速信号处理 的基于FPGA的高速RS (244, 212)编译码器实现方法。
背景技术
RS 码,由 Reed 和 Solomon 应用 Mattson-Solomon (MS)多项式于 1960 年构造出来, 是一类有很强纠错能力的多进制BCH码,它既能纠正随机错误又能纠正突发错误,这种良 好的特性使它特别适用于信道干扰非常复杂的通信系统中。所谓的复杂信道干扰的情况, 就是指信道中出现的错误类型在某一时刻可能是突发错误也可能是随机错误,但是在某一 确定时刻只能有一种类型的错误。RS码不仅是一种很好的纠正随机错误的码,又是一种接 近最佳的纠正突发错误的码。RS码广泛应用于工程实际之中,在数字传输系统中,如果功率 受限且通信质量要求高(如深空通信、潜水通信、移动通信等),一般都采用以RS码为外码 的级联码,在深空探测中,往往需要传输大量珍贵的遥测数据和工程数据,或者需要实时地 传送清晰的动态图像数据,使用符合CCSDS标准的RS纠错码技术,可以确保所传送数据的 可靠性。RS的编码实现较为简单,在RS编码速度上,aiigang Ren提出一种改进,选择 Altera公司的Cyclone III (EP3C25Q240C8),最大编码时钟频率为洸2. 26MHz0而在RS码的译码过程中,由于译码方法中关键方程的求解,采用了多次迭代的方 法,本身实现就比较复杂,又因为译码方法的工程实现也比较困难,从而导致其工程实现成 本较高,且难以达到理想的译码速度,所以,一种RS码是否能在实际中得到应用,很大程度 上取决于译码算法是否可以简单、快速、经济。此前,Xilinx公司和法国MATRA MARCONI公 司生产过满足CCSDS标准的(255,223) RS码的译码芯片,其中,Xilinx公司的译码芯片的 两个输入码块之间的时间间隔不小于405个时钟周期,法国MATRA MARCON公司生产的译 码芯片的最大数据通过率也不超过lOOMbits/s,另外,专利CN100384116C中提出一种符合 CCSDS标准的高速RS译码芯片,采用Xilinx公司的XCV600e-Miq240C作为实现芯片,其数 据通过率大于400Mbit/s,资源使用小于18万系统门,所以,减少输入码块之间的间隔时钟 周期和提高译码器部分的数据通过率是近期工程实现的迫切要求。

发明内容
本发明的目的在于克服上述已有技术的不足,提出一种基于FPGA的高速RS编译 码器实现方法,以提高其通用性以及其所支持的数据吞吐率,满足不同场景的通信需求。为了实现上述目的,本发明的技术方案如下本发明方法的技术原理包括RS编码原理与RS译码原理。1. RS编码原理令α为伽罗华域GF ^11)中的本原元,可纠t个错误的RS码的生成多项式形式为
权利要求
1. 一种基于FPGA的高速RS编译码器实现方法,该方法包括高速RS (244, 212)编码器 的FPGA实现与高速RS 044,212)译码器的FPGA实现,其特征在于所述的高速RS (244, 212)编码器的FPGA实现方法,对每组串行输入的212个信息码元 Im1, m2,L,m212}编码得到32个校验码元{Pl,p2,L,p32},具体步骤是⑴开关Kl接a 口,闭 合开关K2,在时钟i_clk的驱动下,输入的第k个信息码元mk在使能信号的控制下输入编 码器,与寄存器DO进行GF域相加运算得^lld,k表示码元序号,初始为1,同时,编码器将输入 信息码元mk直接输出;(2)在时钟i_clkl80的驱动下,Smd与寄存器Dl进行常系数GF域乘 加运算,结果存储至寄存器DO ; (3)在时钟i_clk的驱动下,Sffld同时与寄存器D2 D31进 行常系数GF域乘加运算,结果分别存储至寄存器Dl D30,并将Smd存储于寄存器D31中; (4)判断信息码元是否输入完毕,如果是,执行步骤(5),否则,输入第k+Ι个信息码元mk+1 到编码器,返回步骤(1) ; (5)所有信息码元计算完成后,断开开关K2,K1接b 口,在时钟i_ elk的驱动下,串行输出寄存器DO D31的值作为检验码元,则该组信息码元编码完毕;所述的高速RS 044,212)译码器的FPGA实现方法,采用双时钟驱动及三级流水线结 构,包括伴随式计算模块、求解关键方程模块、错误值获取模块、信息存储FIFO、错误值存储 FIFO以及纠正错误电路,译码后的数据由所述纠正错误电路输出;所述的双时钟驱动,对硬件实现比较复杂的部分模块采用反向时钟驱动,使其达到高 速实现目的;所述的三级流水线结构,其中第一级为伴随计算模块,第二级为求解关键方程模块,第 三级为错误值获取模块以及纠正错误电路;所述伴随式计算模块,通过每组244个数据码元{Cl,c2,L,c244}的串行输入,计算出伴 随多项式的系数以,S2, L,、},总共分为32个子模块,分别对应32个伴随多项式的系数, 其结果并行输入求解关键方程模块,用于求解错误位置多项式和错误值多项式的系数。所述的求解关键方程模块,根据所输入的伴随多项式系数以,S2, L,S32I和RiBM算法 来进行迭代运算,将得到的求错误位置多项式的系数{%,σ2, L, O32I和错误值多项式的 系数{ω” ω2,L,ω 32},以及错码数目,并行输入错误值获取模块,用于判断是否译码正确 和计算错误位置以及错误值。所述的错误值获取模块,包括钱搜索模块将钱搜索法得到错误位置多项式的根Xi, 以及错误值计算中该根相对应的错误值多项式的值wd—1)的计算,综合于一个模块之中, 同时得到错误位置多项式的根Xi、错误值多项式的值Μχ,—1)、σ'(χ;ι)χ-],以及常数项因子 (χ;1)1",其中i表示错误位置多项式的根的序号,初始为1 ;错误值计算模块得采用钱搜索 模块得到的相应值计算出错误值。同时错误值获取模块将计算出的错误值,输出给错误值 存储FIFO中存储起来。另外,钱搜索模块还输出判断使能信息,用于控制纠正错误电路。所述的信息存储FIFO,用于把输入的数据码元按先后顺序存储到FPGA芯片的FIFO单 元,待错误值获取模块计算完成后,根据错误情况将数据依次输出到纠正错误电路中;所述的错误值存储FIFO,用于把错误值获取模块的输出数据,按先后顺序存储到FPGA 芯片的FIFO单元中,待获取错误值模块计算完成后,根据错误情况将所计算的错误值依次 输出到纠正错误电路中;所述的纠正错误电路,是采用错误值获取模块输出的判断使能信息,控制信息存储FIFO和错误值存储FIFO,当判断译码器已正确译码时,则将两者存储的信息顺序输出,进 行GF域相加运算,将结果作为已译码字输出,否则,直接将信息存储FIFO的信息作为输出。
2.根据权利要求1所述的一种基于FPGA的高速RS编译码器实现方法,其特征在于 所述的常系数GF域乘法器在普通GF域乘法器的基础上,确定其中一个变量的值,同时,针 对这个确定的变量,对乘法器进行改进。
3.根据权利要求1所述的一种基于FPGA的高速RS编译码器实现方法,其特征在于 所述的常系数GF域乘加器使GF域乘法和GF域加法同时进行,而仅在常系数GF域乘法器 的结构上增加了 一个异或运算。
4.根据权利要求1所述的一种基于FPGA的高速RS编译码器实现方法,其特征在于 所述两时钟周期控制的GF域乘法器,将普通GF域乘法器结构分成两个子结构,分段进行运 笪弁。
全文摘要
本发明公开了一种基于FPGA的高速RS编译码器实现方法,包括高速RS(244,212)编码器的FPGA实现与高速RS(244,212)译码器的FPGA实现,高速RS编码器基于多项式除法的电路,高速RS译码器基于三级流水线结构,采用双时钟驱动,时钟i_clk与反向时钟i_clk180,同时,在普通GF域乘法器的基础上,提出三种基本运算单元,常系数GF域乘加器,常系数GF域乘法器以及两时钟周期控制的GF域乘法器,不仅大大提高了运算速度,还降低了硬件复杂度,本发明支持吞吐率高,纠正突发错误能力强,可满足多方面的应用。
文档编号H03M13/15GK102122964SQ201110081379
公开日2011年7月13日 申请日期2011年3月31日 优先权日2011年3月31日
发明者宫丰奎, 彭克蓉, 葛建华 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1