一种用于空间通信的高速并行RS译码方法技术

技术编号:4109059 阅读:318 留言:0更新日期:2012-04-11 18:40
一种用于空间通信的高速并行RS译码方法,通过同时部署RS(255,223)及RS(255,239)两种译码模块,使译码器可以根据编码参数在线配置译码类型,灵活适应CCSDS标准规定的上述两种编码格式;通过在解交织与交织过程中采用乒乓操作完成输入数据在FIFO中的填充和获取,而在译码过程中采用多路并行流水的方式,通过这种复合结构保证了系统性能的最大化和实现资源的最小化,并且可以适应1至8的任意交织深度;通过采取多路并行RS译码、优化有限域乘法器的实现逻辑等措施,大幅度提高了译码速率,可以直接应用于高码速率遥感卫星地面接收系统,通过采用模块化设计,在需要时可以进一步增加并行度提高性能。

【技术实现步骤摘要】

本专利技术涉及一种用于空间通信的RS编码的高速译码方法,主要用于空间通信地 面信道译码器中对解调后数据进行高速RS译码,纠正信道传输错误,也可用于其它应用方 向的数据解调接收设备中。
技术介绍
RS码是一类具有很强纠错能力的多进制BCH码,也是一类典型的代数几何码。它 首先由Reed和Solomon应用MS多项式于1960年构造出来。用MS多项式构造的RS码是非 系统码,而用BCH码构造方法能产生系统码。由于线性码的最大可能的最小距离是校验元 的个数加1,而RS码恰好做到这一点,因此,称RS码为极大最小距离可分码(MDS码)。RS 码特别适合于在衰落信道中使用,以克服突发性差错。正由于其优越的性能,RS码在深空 通信、数字音视频通信、磁记录介质等领域取得广泛应用,它是目前应用最为广泛的纠错编 码。空间通信用RS码为空间数据系统咨询委员会(CCSDS)推荐的RS(255,223)或 RS (255, 239)码,这两种码基本编码参数相同,主要是纠错能力不同。CCSDS规定RS码可采 用的交织深度为1、2、3、4、5、8共6种。在不同的卫星通信系统中往往选用了不同的RS编 码类型及不同的交织深度,这就就给空间通信用RS译码器的研制带来了很大的困难。现有 RS译码器采用的译码方法一般将解交织与译码过程分别实现,这样做的优点是实现方案简 单,缺点是灵活性不够。RS译码器的译码过程需要进行大量的有限域运算,其中乘法运算单 元最多而且对译码速度的影响也最大。由于目前RS译码器中使用的乘法器没有经过优化, 造成译码器的工作时钟不能太高。同时,由于遥感卫星数传码速率不断提高,要在兼容不同 RS编码格式与交织深度的基础进一步提高码速率难度就更大。目前各类通信系统中常见的通常都是低码速率的RS译码器,一般码速率在几 十兆bit/s ;空间通信用RS译码器单通道最高译码速度目前为470Mbps左右,而且不能同 时兼容RS(255,223)和RS(255,239)码,能够适应的交织深度一般为固定值。
技术实现思路
本专利技术的技术解决问题是克服现有技术的不足,提供了一种用于空间通信的RS 编码的高速译码方法,此译码方法可同时兼容RS(255,223)和RS(255,239)码及(1_8)的 任意交织深度,且译码速度远高于现有技术。本专利技术的技术解决方案是—种用于空间通信的高速并行RS译码方法,步骤如下(1)设置译码过程的参数,所述参数包括直通状态参数、交织深度参数、总帧长、译 码类型参数;(2)根据步骤(1)中设置的直通状态参数判断译码过程是否是直通状态,若是直 通状态,则将输入数据直接输出;若不是直通状态,则进入步骤(3);(3)由帧长计数器对输入数据进行计数,根据步骤(1)中设置的总帧长判断帧长 计数器的计数结果是否等于总帧长,若不等于总帧长,则将数据写入第i个输入FIFO中,同 时帧长计数器的计数结果加1,之后进入步骤(4);若等于总帧长,则读取所有输入FIFO中 的数据之后进入步骤(5);所述i为1到交织深度参数之间的自然数,且i的初始值为1 ;(4)判断i是否等于交织深度参数,若等于,则将i初始化为1之后返回步骤(3); 若不等于,则将i+Ι赋值给i之后返回步骤(3);(5)根据译码类型参数判断使用哪一种译码模块进行RS译码,若译码类型参数为 255/223,则使用RS223译码模块进行RS译码,将译码之后的数据输入第j个输出FIFO中, 之后进入步骤(6);若译码类型参数为255/239,则使用RS239译码模块进行RS译码,将译 码之后的数据输入第j个输出FIFO中,之后进入步骤(6);所述j为1到交织深度参数之 间的自然数,且j的初始值为1 ;(6)判断第j个输出FIFO是否为空,若为空,则进入步骤(7);若不为空,则从第j 个输出FIFO中读取数据并输出,之后进入步骤(8);(7)判断j是否等于交织深度参数,若不等于,则则将j+Ι赋值给j之后返回步骤 (6);若等于,则返回步骤(2);(8)判断j是否等于交织深度参数,若等于,则将j初始化为1之后返回步骤(6); 若不等于,则将j+Ι赋值给j之后返回步骤(6)。所述步骤(5)中使用RS223译码模块进行RS译码和使用RS239译码模块进行RS 译码按照如下步骤进行(a)将接收到的数据存入接收序列缓存中等待纠错处理,同时,将所述接收到的数 据用Horner算法计算伴随式S,之后进入步骤(b);(b)使用RiBM算法由步骤(a)中得到的伴随式S求得错误位置多项式和错误值多 项式,之后进入步骤(c);(c)利用步骤(b)中得到的错误位置多项式使用钱搜索算法计算错误位置,同时 利用步骤(b)中得到的错误值多项式使用Forney算法计算错误值,之后根据所述错误位置 和错误值对步骤(a)中接收序列缓存中等待纠错处理的数据进行纠错处理并输出。所述Horner算法、RiBM算法、钱搜索算法和Forney算法中所使用的乘法计算按 照如下公式实现本文档来自技高网
...

【技术保护点】
一种用于空间通信的高速并行RS译码方法,其特征在于步骤如下:(1)设置译码过程的参数,所述参数包括直通状态参数、交织深度参数、总帧长、译码类型参数;(2)根据步骤(1)中设置的直通状态参数判断译码过程是否是直通状态,若是直通状态,则将输入数据直接输出;若不是直通状态,则进入步骤(3);(3)由帧长计数器对输入数据进行计数,根据步骤(1)中设置的总帧长判断帧长计数器的计数结果是否等于总帧长,若不等于总帧长,则将数据写入第i个输入FIFO中,同时帧长计数器的计数结果加1,之后进入步骤(4);若等于总帧长,则读取所有输入FIFO中的数据之后进入步骤(5);所述i为1到交织深度参数之间的自然数,且i的初始值为1;(4)判断i是否等于交织深度参数,若等于,则将i初始化为1之后返回步骤(3);若不等于,则将i+1赋值给i之后返回步骤(3);(5)根据译码类型参数判断使用哪一种译码模块进行RS译码,若译码类型参数为255/223,则使用RS223译码模块进行RS译码,将译码之后的数据输入第j个输出FIFO中,之后进入步骤(6);若译码类型参数为255/239,则使用RS239译码模块进行RS译码,将译码之后的数据输入第j个输出FIFO中,之后进入步骤(6);所述j为1到交织深度参数之间的自然数,且j的初始值为1;(6)判断第j个输出FIFO是否为空,若为空,则进入步骤(7);若不为空,则从第j个输出FIFO中读取数据并输出,之后进入步骤(8);(7)判断j是否等于交织深度参数,若不等于,则则将j+1赋值给j之后返回步骤(6);若等于,则返回步骤(2);(8)判断j是否等于交织深度参数,若等于,则将j初始化为1之后返回步骤(6);若不等于,则将j+1赋值给j之后返回步骤(6)。...

【技术特征摘要】
一种用于空间通信的高速并行RS译码方法,其特征在于步骤如下(1)设置译码过程的参数,所述参数包括直通状态参数、交织深度参数、总帧长、译码类型参数;(2)根据步骤(1)中设置的直通状态参数判断译码过程是否是直通状态,若是直通状态,则将输入数据直接输出;若不是直通状态,则进入步骤(3);(3)由帧长计数器对输入数据进行计数,根据步骤(1)中设置的总帧长判断帧长计数器的计数结果是否等于总帧长,若不等于总帧长,则将数据写入第i个输入FIFO中,同时帧长计数器的计数结果加1,之后进入步骤(4);若等于总帧长,则读取所有输入FIFO中的数据之后进入步骤(5);所述i为1到交织深度参数之间的自然数,且i的初始值为1;(4)判断i是否等于交织深度参数,若等于,则将i初始化为1之后返回步骤(3);若不等于,则将i+1赋值给i之后返回步骤(3);(5)根据译码类型参数判断使用哪一种译码模块进行RS译码,若译码类型参数为255/223,则使用RS223译码模块进行RS译码,将译码之后的数据输入第j个输出FIFO中,之后进入步骤(6);若译码类型参数为255/239,则使用RS239译码模块进行RS译码,将译码之后的数据输入第j个输出FIFO中,之后进入步骤(6);所述j为1到交织深度参数之间的自然数,且j的初始值为1;(6)判断第j个输出FIFO是否为空,若为空,则进入步骤(7);若不为空,则从第j个输出FIFO中读取数据并输出,之后进入步骤(8);(7)判断j是否等于交织深度参数,若不等于,则则将j+...

【专利技术属性】
技术研发人员:张拯宁崔骞战勇杰朱翔宇
申请(专利权)人:航天恒星科技有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1