RS码译码方法及装置技术领域
本发明涉及无线数字通讯领域的信道纠错编译码领域,尤其涉及RS码的
译码方法和装置。
背景技术
Reed-Solomon码是一类具有很强纠错能力的BCH码,它广泛地应用在数
字音视频传输和差错控制等领域。数字电视地面广播中DVB-T和ATSC标准都
采用RS码作为外码。对于(n,k)RS码,n为码块长度每个码块包含n个码符号,
每个码符号包含q个比特,k为信息码符号的个数,包含kq个比特,2t=n-k
为一致校验码符号的个数,包含(n-k)*q个比特。传统的译码方法,RS硬译码
是几十年来实际通信系统中采用的译码方法;所述的硬译码方法,包括但不
限于:求解差错位置多项式的BM算法和Euclid算法。采用硬判决算法能够
纠正的错误符号为2t个,但是,其译码性能相对软判决译码有较大的损失。
近年来,最新译码算法,即:列表译码算法,包括Guruswami_Sudan算
法和代数软译码方法,即Koetter-Vardy算法。其中,代数软译码算法的性
能比欻弄的球限译码即硬译码有着明显的提高,比如对于码率为0.92的(204,
188)码,采用Koetter-Vardy算法可以提高0.5dB的性能。但上述的这种算
法的实现复杂度还是相对很高,因此仍然无法广泛应用到工程领域。
鉴于以上所述的问题,一种比RS硬译码性能更高,并且,比列表译码复
杂度更低的新的译码方法及装置的发明势在必行。
发明内容
本发明要解决的技术问题是:采用硬判决算法,其译码性能相对软判决
译码有较大的损失;采用列表译码算法,其实现复杂度相对很高,无法广泛
应用到工程领域。
为了解决上述技术问题,本发明提供了一种RS码译码方法,包括如下步
骤:
接收信道输出的星座符号信息,对星座符号信息进行软解映射,得到其
可靠度信息;
选取可靠度信息最低的若干信息进行硬判决和修正硬判决,得到其高可
靠度信息硬判决值和低可靠度信息判决序列组;
将上述高可靠度信息硬判决值和低可靠度信息判决序列组中的其中一种
硬判决值按原始顺序排列进行硬译码;
译码成功则终止输入,将成功译码的输出作为译码结果;相反,若经最大
次数后仍不能成功,则随意输出原始判决或任意一次译码结果。
所述RS码译码方法还包括判断译码是否成功,用硬译码算法对译码输入
进行纠错的步骤。
所述RS码译码方法在选取可靠度信息最低的若干信息进行硬判决和修正
硬判决的方法包括:按照信道发送顺序组成RS码符号,计算每个RS码符号
的可靠度,选取整块RS码符号中可靠度最低的若干符号进行硬判决和修正硬
判决;或者是直接按码块长度对应的比特信息数选取可靠度最低的若干比特
信息进行硬判决和修正硬判决。
所述RS码译码方法中在计算每个RS码符号的可靠度时,由RS码符号包
含的比特的可靠度信息按加权计算方法得到。
所述RS码译码方法中对一个码块共可进行m次RS硬译码,且,每个RS
码块最大译码次数m,m大于等于1。
所述RS码译码方法中判断译码是否成功终止输入和译码的标志取决于伴
随式的计算结果。
一种RS码译码装置,其包括:
信息接收单元,用于接收信道输出的星座符号信息;
软解映射单元,用于对接收到的星座符号进行软解映射,得到可靠度信
息;
低可靠度选取单元,用于选取可靠度信息最低的若干信息;
硬判决单元,用于对可靠度信息进行硬判决,得到硬判决结果;
修正硬判决单元,用于修正上述硬判决结果;
译码输入控制单元,用于将可靠度高的硬判决值和低可靠度判决序列组
中的某一种硬判决值按原始顺序排列作为译码输入,待收到译码成功指示信
号后,终止输入;
RS硬译码器单元,用于对译码输入进行纠错,并进行伴随式计算,得到
译码成功指示;
RS译码输出单元,将成功译码的输出作为译码结果;相反,若经最大次
数后仍不能成功,则随意输出原始判决或任意一次译码结果。
所述的RS码译码装置,其RS硬译码器单元的个数可以是1个或者多个,
共对同一个信息最多执行达到系统性能需求的m次译码;若在小于m次时,译
码已成功,则终止输入和译码。
所述的RS码译码装置,其低可靠度选取单元前还包括:
码符号组成单元,用于将比特信息按发送顺序组成码符号信息;码符号
可靠度计算单元,用于根据比特的可靠度信息,按照某种计算方法得到每个
码符号的可靠度。
所述的RS码译码装置,其译码输入控制单元前还包括:
码符号组成单元,用于将直接按码块长度对应的全部比特信息数选取可
靠度最低的若干信息比特进行硬判决和修正硬判决后的比特判决序列组按发
送顺序组成码符号判决值。
所述的RS码译码装置,其对一个码符号共可进行m次RS硬译码,且,
每个RS码符号最大译码次数m。
所述的RS码译码装置,其计算每个RS码符号的可靠度时,由RS码符号
包含的比特的可靠度信息按加权计算方法得到。
本发明的有益效果是:本发明提出了一种基于软解映射的RS译码方法和
装置,该系统实现简单,可明显提高RS码的译码能力,纠掉出错大于RS码
硬译码本身纠错能力的码符号,明显提高系统的接收性能。比如码率为0.92
的(204,188)码,采用本发明的方法可以提高0.3-0.4dB的性能,且增加
的复杂度非常小,可以广泛应用到工程领域。
附图说明
通过以下对本发明的实施例结合其附图的描述,可以进一步理解其发明
的目的、具体结构特征和优点。其中,附图为:
图1是现有常用系统的RS硬译码方法流程示意图;
图2是本发明RS码的译码方法的流程示意图;
图3是本发明RS码的译码方法的另一实施例的流程示意图;
图4本发明RS码的译码装置的示意图;
图5本发明RS码的译码装置另一实施例的示意图。
具体实施方式
本发明提出了一种基于软解映射的RS译码方法和装置,该方法实现简单,
可明显提高RS码的译码能力,纠掉出错大于RS码硬译码本身纠错能力的码
符号,明显提高系统的接收性能。比如码率为0.92的(204,188)码,采用
本发明的方法可以提高0.3-0.4dB的性能,且增加的复杂度非常小。且本发
明应用于DVB_C和DVB_T等多种传输系统中,能明显提高RS码的译码能力,
提高接收系统的接收性能,达到更低的无误码的信噪比门限。
如图1-5所示:本发明的基于软解映射的RS码的译码方法包括如下步
骤:
首先,接收信道输出的星座符号信息,对星座符号信息按照星座映射方
式进行软解映射,得到每个比特的可靠度信息,而非直接做星座符号硬判决。
将所述比特按发送顺序组成n个RS码符号(n为码长,其中每个码符号对应q
个比特),然后计算每个码符号的可靠度,此可靠度由q个比特的可靠度信
息按某种加权计算方法得到;所述加权计算方法包括但不限于:取最小值或
者是取绝对值相加等。
继续的,找到每个RS码块(一个码块含有n个码符号,比如(204,188)
的码,则每个码块含有204个码符号。具有最低可靠度的若干RS码符号(比
如w个),这些被选中的RS码符号按照某种方法进行硬判决和修正判决,例
如,常用的修正判决的方法:chase算法或其他算法进行修正判决,修正判决
可以是翻转其可靠度最低的比特硬判值,或者翻转其可靠度最低和次低的比
特硬判值等。得到低可靠度符号判决序列组,包含m种输出组合;剩余的RS
码符号表示可靠度较高,按照比特硬判得到的符号硬判输出直接作为RS译码
器的部分输入A。
依次将上述低可靠度符号判决序列组中的m种组合中的一种加上可靠度
高的符号硬判输出A按照码块原始顺序输入RS译码器,按照传统的硬译码方
法进行译码。根据伴随式判断译码是否成功,至译码成功,终止输入,将成功
译码的输出作为该个码块译码结果。若经m次输入后,仍不能成功,则随意
输出原始判决或任意一次译码结果。
同理,执行上述基于软解映射的RS码译码方法的译码装置包括:
信道信息接收单元,用于接收信道输出的星座符号信息;
软解映射单元,用于按照星座映射方式对接收到的星座符号进行软解映
射,得到符号中每个比特的可靠度信息;
码符号组成单元,用于将比特信息按发送顺序组成码符号信息(对应q
个比特)或者将比特判决值按发送顺序组成码符号判决值
码符号可靠度计算单元,用于根据q个比特的可靠度信息,按照某种计算
方法得到每个码符号的可靠度;
低可靠度选取单元,用于选取整块码符号中可靠度最低的w个码符号;
高可靠度硬判决单元,用于对高可靠度的每个码符号中的比特可靠度信
息进行硬判决,得到高可靠度码符号判决序列;
低可靠度硬判决及修正判决单元,用于对于低可靠度的码符号进行硬判
决和修正判决,得到低可靠度码符号判决序列组;
译码输入控制单元,用于将可靠度高的码符号硬判和低可靠度码符号判
决序列组中的某一种硬判决值按原始顺序排列做为译码器输入,最多可得到
m种译码输入。待收到译码成功指示信号后,不再输入;
RS硬译码器单元,用于对译码输入进行纠错,并进行伴随式计算,得到
译码成功指示RS硬译码器单元可以是1个或者多个i,i小于m,其个数可
由需求最大译码次数m及码块结构及系统主频确定。若系统主频足够高,则
RS硬译码器单元可以是1个,这样不增加任何的实现成本。
RS译码输出单元,用于将译码成功的RS译码器输出传递给下级,若经m
次输入后,仍不能成功,则随意输出原始判决或任意一次译码结果。
下面参照附图具体介绍本发明的各种实施例,本发明应用于DVB-C和
DVB-T等多种传输系统中,能明显提高RS码的译码能力,提高接收系统的接
收性能,达到更低的无误码的信噪比门限。
请参阅图2,本发明提供了一种基于软解映射的RS码的译码方法,具体
包括以下步骤:
步骤1:接收信道输出的星座符号信息,对星座符号信息按照星座映射方
式进行软解映射,得到每个比特的可靠度信息。
这里的信道输出可以是均衡器的输出,将得到后的星座符号信息进行软
解映射,得到各个比特的可靠度信息,软解映射有多种算法和简化算法,如
最大对数似然比LLR算法及其简化算法等。现举例:若发射系统采用的星座
映射方式为16QAM,则每个星座符号信息会对应得到4个比特的软值,即可靠
度信息,可靠度信息归一化为[-1,1]区间内的值。比如,若利用LLR
算法得到的4个比特的可靠度信息分别为{0.1,0.7,-0.5,0},这里假设正
数表示发送比特为0,而负数表示发送比特为1,则0.1表示比特b1为发送0
的概率高于发送为1的概率,0.7表示比特b2为发送0的概率高于发送为1
的概率,且可靠度高于b1,-0.5表示比特b3为发送1的概率高于发送为0
的概率,且可靠度小于b2大于b1,0表示比特b4为发送0和发送1的概率
相同,其可靠度为最小值0。
步骤2:将比特按发送顺序组成RS码符号(每个RS码符号对应q个比特)
在得到一整个码块的所有比特可靠度后,将q个比特归为1个码符号,比如
DVB-C系统中的(204,188)码,,一个码块共含204个码符号,其中校验符
号占16个码符号,每个码符号包含8个比特,即q=8。
步骤3:按照q个比特的可靠度信息,计算每个码符号的可靠度。
这里的计算方法可以有多种,比如,取q个比特的可靠度信息中最小的值
作为码符号的可靠度。或者在一些特别的调制方式下,比如256QAM,当每个
星座映射符号本身就对应一个码符号时,可采用将q个比特的可靠度信息的
绝对值相加的方式。当然本发明不限于这2种方法,其它算法本领域技术人
员根据上述的表述皆可以容易想到,在此不再赘述。
步骤4:选取整块RS码码符号中可靠度最低的w个码符号。通常是首先
根据系统性能需求和实现主频及资源限制制定译码器最大译码次数m,然
后得到w的值,通常来说2n≥m≥1,m=2w,但m也可小于2w;
步骤5:硬判决和修正硬判决,得到高可靠度码符号的硬判决值和低可靠
度码符号判决序列组。
比如,步骤2提到的DVB_C系统中的(204,188)码,高可靠度符号为204-w
个,将这204-w个符号进行硬判决,得到硬判决序列{h1,…,h204-w},其中
hi(1≤i≤204-w)为例如{10001000}的硬判决值。
而对于w个可靠度低的码符号,利用chase算法或其他算法进行硬判决及
修正判决,修正判决可以是翻转其可靠度最低的比特硬判值,或者翻转其可
靠度最低和次低的比特硬判值等。比如,码符号对应q个比特的可靠度为{0.3,
0.5,0.99,-0.88,-0.1,0,0.05,-0.3},其硬判决输出为{00011001},
其修正判决可为{00011101}或者{00011111};每个码符号得到硬判决和1-2
个修正硬判决,最终从w个码符号的这些判决中,进行选择和组合,得到m组
硬判决序列等。
步骤6:依次将可靠度高的符号硬判如{h1,…,h204-w}和低可靠度符号判决序
列组中的其中一种硬判决值(1≤i≤m)按原始顺序排列做为译码器输
入,最多可得到m种译码输入。第一次输入为{h1,…,h204-w}和的排列,
第二次输入为{h1,…,h204-w}和的排列。
步骤7:用硬译码算法对译码输入进行纠错,常用的有BM算法,Euclid
算法等,同时进行伴随式计算,得到译码成功指示。
以Euclid算法为例,大致可分为如下步骤:
第一步由接收矢量r(x)求伴随多项式S(x);
第二步采用修正的Euclid算法(MEA)求出错误位置多项式σ(x)和错误
估值多项式ω(x);
第三步通过chien搜索求出错误位置并采用Forney算法由σ(x)和ω(x)得
到错误值;
第四步将通过fifo缓存后的接收矢量r(x)与错误值相减进行纠错,从而
得到译码后的码字c(x)。
译码成功指示通过伴随式系数是否全为0得到。
对于RS(n,k)码,k=n-2t,令接收码字为R(x)=rn-1xn-1+…+r1x+r0
伴随多项式S(x)=s0+s1x+…+s2t-1x2t-1
其系数si=((rn-1αi+rn-2)αi+…+r1)αi+r0 0≤i≤2t-1
步骤8:当在第K组输入时,译码指示成功,1≤K≤m,则表示该码块译
码成功,不再进行译码输入。直接将第K组输入的译码结果输出给下一级。
若经m次输入后,仍不能成功,则随意输出原始判决或任意一次译码结果。
参见图5所示,本发明实施例还提供一种RS码的译码装置,该装置包括:
信道信息接收单元31,用于接收信道输出的符号软信息;
软解映射单元32,用于按照星座映射方式对接收到的星座符号进行软解
映射,得到符号中每个比特的可靠度信息;
码符号组成单元33,将比特判决值按发送顺序组成码符号判决值;
码符号可靠度计算单元34,用于根据q个比特的可靠度信息,按照某种
计算方法得到每个码符号的可靠度;
低可靠度选取单元35,用于选取整块码符号中可靠度最低的w个码符号。
低可靠度硬判决及修正判决单元,用于对于低可靠度的码符号进行硬判
决和修正判决。
低可靠度符号判决序列组生成单元,得到低可靠度码符号判决序列组。
高可靠度硬判决单元36,用于对高可靠度的每个码符号中的比特可靠度
信息进行硬判决,得到高可靠度的符号硬判序列。
低可靠度硬判决及修正判决单元37,用于对于低可靠度的码符号进行硬
判决和修正判决,得到低可靠度符号判决序列组,共m组序列。
译码输入控制单元38,用于将可靠度高的符号硬判序列和低可靠度符号
判决序列组中的某一种硬判决值按原始顺序排列做为译码器输入,最多可得
到m种译码输入。该译码输入控制单元包含一个存储器。待收到译码成功指
示信号后,不再输入。
RS硬译码器单元39,用于对译码输入进行纠错,并进行伴随式计算,得
到译码成功指示。该RS硬译码器单元可以是1个或者多个i,i小于m,其
个数可由需求最大译码次数m及码块结构及系统主频确定。若系统主频足够
高,则RS硬译码器单元可以是1个,这样不增加任何的实现成本。
RS译码输出单元40,用于将译码成功的RS译码器输出传递给下级,若
经m次输入后,仍不能成功,则随意输出原始判决或任意一次译码结果。
请参阅图3、图5所示,本发明提供了另一实施例的一种基于软解映射的
RS码的译码方法及译码装置,与上述实施例相比差别在于:软解映射单元后
直接是低可靠度选取单元,而将码符号组成单元,移至译码输入控制单元38
的前面,省略了码符号可靠度计算单元。相应的在功能实现步骤方面也发生
了相应的变动,由前述实施例的:将所述比特按发送顺序组成若干RS码符号
(对应q个比特),计算每个码符号的可靠度,此可靠度由q个比特的可靠
度信息按某种加权计算方法得到;所述加权计算方法包括但不限于:取最小
值或者是绝对值相加等。继续的,找到每个RS码块中具有最低可靠度的若干
RS码符号w,这些被选中的RS码符号按照某种方法进行硬判决和修正判决,
得到低可靠度符号判决序列组,包含m种输出组合;剩余的RS码符号表示可
靠度较高,按照比特硬判得到的符号硬判输出直接作为RS译码器的部分输入
A。变更为:直接按码块长度对应的比特信息数选取可靠度最低的若干比特信
息进行硬判决和修正硬判决,得到高可靠度比特硬判决值和低可靠度比特判
决序列组,依次将可靠度高的比特硬判决和低可靠度比特判决序列组中的其
中一种判决值按原始码块顺序组成码符号判决值(每个符号对应q个比特)
并排列作为译码器单元的输入。
当然,上述的不同点,只是本发明方法的不同实现过程,其方法本身仍
然是一致的。由于技术的复杂性以及实现的多样性,类似于上述的步骤不同
方法实际相同的实现过程仍然不胜枚举,在此不再一一赘述,但是,在本方
法精神的宗旨下对本技术领域的普通技术人来说是显而易见的实现过程仍在
本专利的保护范围内。
上述优选实施例的描述使本领域的技术人员能制造和使用本发明。这些
实施例的各种修改对于本领域的技术人员来说是显而易见的,这里定义的一
般原理可以被应用到其他实施例中而不背离本发明的精神和范围。因此,本
发明并不限于这里示出的实施例,而要符合与这里揭示的原理和新颖特征一
致的最宽泛的范围。