一种咬尾卷积码的译码方法及译码器的制作方法

文档序号:7516709阅读:195来源:国知局
专利名称:一种咬尾卷积码的译码方法及译码器的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种咬尾卷积码的译码方法及译码器。
背景技术
数字通信系统中,纠正发射机和接收机之间由于信道干扰和噪声带来的差错,是 非常重要的任务。信道编码器通过人为增加冗余信息,使系统具有检错纠错的能力。全球移 动通讯系统(Global System for MobileCommunications,GSM)增强型数据速率(Enhanced Data Rate for GSMEvolution, EDGE)入网(GSM EDGE Radio Access Network, GERAN)演进过程中,始终关注这一问题,其中一种差错纠正的技术是使用卷积码对发送的 数据进行编码。卷积码使用寄存器来增加码元间的相关性,从而获得更高的编码增益。卷积码可 以用一个三元有序组(n,k,m)表示。其中,η是一个单位时间编码输出的比特数;k是信息 码元比特数,它表示一个单位时间输入至卷积码编码器的信息比特的个数;m表示卷积码 的编码寄存长度,它等于卷积码编码器的最大移位寄存器长度。编码约束长度N = m+1。如 图1所示,是(2,1,幻编码器框图,图中,D为移位寄存器, 为加法器,编码输入1个比特, 输出2个比特。其网格图如图2所示,2个寄存器0/1内容组合构成4个状态(即00、01、 10、11),图中,实线代表编码输入0时的状态转移,虚线代表编码输入1时的状态转移。卷积码的译码技术维特比算法(Viterbi Algorithm, VA)以网格图为基础,其译 码过程就是沿着网格图按照最大似然准则寻找出最佳译码序列。当-1代表二进制“1”,+1 代表二进制“0”时,即寻找与接收序列相关函数(累计度量)最大的序列。其中累积度量 的计算采用加比选方法,如图3所示,是维特比算法中加比选过程示意图,在时刻k+Ι,对指 向状态i两支路上的当前累积度量(即前一时刻(k)的旧累积度量加上当前分支度量)进 行比较,度量较大则作为幸存路径,记录相应的支路判决值。VA算法就是从某个(或所有) 状态开始进行度量累积,计算到最后时刻就得到所有状态的累积度量并记录相应的幸存路 径,从某特定结束状态就可根据幸存路径回溯而得到译码输出序列。卷积码最终状态有两种策略零尾法(zero termination)和咬尾法 (tailbiting)。零尾法将固定尾比特(通常用全0)添加到信息比特后面,保证编码器以特 定状态(通常即状态0)结束。因此回溯必然是从该状态开始,能比较容易和可靠地译码。 但附加的尾部降低了比特率,所以GERAN中,零尾法一般用于信息比特较多的数据分组。而 对于报文中包含重要信息、信息比特较少的头部,协议规范中使用咬尾卷积码来编码。咬尾 法通过在编码输出0时刻前预输入与结束状态相同的各比特,保证编码器的开始状态和结 束状态一致。因此咬尾卷积码译码器在回溯前所依据的结束状态对译码器而言是未知的。VA算法所占的时间和空间复杂度是咬尾卷积码译码器的主要花费。然而由于首末 状态未知,现有技术或者多次(一般大于两次)地执行VA算法,或者使用多倍重复输入序 列长度来进行更长的VA,大大增加了计算复杂度和存储器使用率。现有技术中通常根据咬尾卷积码首末状态一致的特征,把开始状态和结束状态一致作为译码成功的判定标志。但是,如果某次VA算法后得到的最大累积度量的结束状态 不是真实的结束状态,而其回溯后得到的错误的开始状态却仍有一定可能和该结束状态相 同,显然,这样得出的输出序列并不是正确的译码结果。

发明内容
本发明的目的之一是提供一种咬尾卷积码的译码方法及译码器,以减小译码花费 和复杂度;本发明实现简单。本发明提出了一种咬尾卷积码的译码方法,从所有状态开始,对待译码序列执行VA算法,得到所有状态的累积度量及幸存路 径;从所述累积度量中找出预设个数个较大的累积度量,并记录所述累积度量的结束 状态;根据所述幸存路径,按照累积度量从大到小的顺序,分别对所述记录的结束状态 进行回溯,得到相应的开始状态和输出序列;从所述得到的开始状态中选出参考状态;比较与所述参考状态对应的结束状态是否与所述参考状态相同,若是,则译码序 列等于所述结束状态回溯得到的输出序列;否则,从所述参考状态开始,再次对所述待译码 序列执行VA算法,得到新的所有状态的累积度量及幸存路径;根据所述幸存路径,以所述 参考状态作为结束状态进行回溯,得到的输出序列即为译码序列。优选地,上述从所有状态开始,对待译码序列执行VA算法前,首先将上述所有状 态的累积度量初始化为相同值。优选地,上述预设个数大于等于3。优选地,上述从得到的开始状态中选出参考状态步骤具体包括判断上述开始状态中是否有重复出现的开始状态,若是,则上述参考状态为重复 出现次数最多的开始状态,若所述重复出现次数最多的开始状态大于一个,则所述参考状 态为所述重复出现次数最多的开始状态中较早回溯得到的开始状态;否则,上述参考状态 为最大的累积度量的结束状态回溯得到的开始状态。优选地,上述再次对上述待译码序列执行VA算法前,还执行如下步骤将上述参考状态的累积度量初始化为0,将其余状态的累积度量初始化为相应累 积度量的数据格式表示的负最小值。本发明还提出了一种实现上述方法的译码器,包括VA算法模块、查找模块、回溯 模块、状态选择模块以及比较模块,上述VA算法模块,用于对待译码序列执行VA算法;上述查找模块,用于从所有状态的累积度量中找出预设个数个较大的累积度量, 并记录上述累积度量的结束状态;上述回溯模块,用于对结束状态进行回溯,得到输出序列;上述状态选择模块,用于确定参考状态;上述比较模块,用于比较与上述参考状态对应的结束状态是否与上述参考状态相 同,并根据比较结果确定译码序列。
5
优选地,上述VA算法模块,还用于初始化各状态的累积度量。优选地,上述查找模块包括选取子模块和记录子模块,上述选取子模块,用于从上述所有累积度量中找出预设个数个较大的累积度量;上述记录子模块,用于记录上述找出的累积度量的结束状态。优选地,上述状态选择模块包括判断子模块和参考状态确定子模块,上述判断子模块,用于判断所有开始状态中是否有重复出现的开始状态;上述参考状态确定子模块,用于根据上述判断子模块的判断结果,确定参考状态。优选地,上述比较模块包括状态对比子模块、译码序列确定子模块,上述状态对比子模块,用于比较与上述参考状态对应的结束状态是否与上述参考 状态相同;上述译码序列确定子模块,用于根据上述状态对比子模块的比较结果,确定译码 序列。与传统的方法相比,本发明最多仅需执行两次VA算法,且不需要扩展输入序列及 进行更长的VA,不仅简化了译码复杂度,减小了译码花费,并且具有不弱于甚至更强的译码 性能。本发明适合对通信系统中的咬尾卷积码进行译码,比如应用于GERAN系统中。


图1是卷积码编码器结构示意图;图2是卷积码编码网格图;图3是VA算法中加比选过程示意图;图4是本发明所述方法的优选实施例流程图;图5是译码误帧率(Frame Error Rate, FER)性能曲线对比图;图6是本发明所述译码器的第一实施例原理框图;图7是本发明所述译码器的第二实施例原理框图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施例方式下面结合附图和优选实施例,对本发明提出的咬尾卷积码的译码方法及译码器作 进一步的详细说明。如图4所示,是本发明所述方法优选实施例流程图,包括S401 将所有状态的累积度量初始化为相同值,即初始化所有状态的累积度量;上述相同值一般为0;S402 从所有状态开始,对待译码序列执行VA算法,得到所有状态的累积度量及
幸存路径;在译码开始时,因开始状态未知,故需要从所有状态开始。S403:从上述得到的累积度量中找出预设个数M个较大的累积度量,记录上述找 出的累积度量的结束状态;上述预设个数一般大于等于3 ;S404 根据幸存路径,按照累积度量从大到小的顺序,分别对上述各结束状态进行
6回溯,得到各自的开始状态和输出序列;因有M个结束状态,故本步骤得到M个开始状态;S405 从上述得到的开始状态中选出参考状态;本步骤通过如下方法实现S4051 判断上述得到的开始状态中是否有重复出现的开始状态,若是,则执行 S4052 ;否则,执行 S4053 ;S4052 令参考状态为重复出现次数最多的开始状态;若上述重复出现次数最多 的开始状态大于一个,则令参考状态为上述重复出现次数最多的开始状态中较早回溯得到 的开始状态;S4053 令参考状态为最大的累积度量的结束状态回溯得到的开始状态。S406 比较与上述参考状态对应的结束状态是否与上述参考状态相同,若是,则执 行S407 ;否则,执行S408 ;S407 令译码序列等于上述结束状态回溯得到的输出序列,译码结束;S408 将上述参考状态的累积度量初始化为0,其余状态(即除了上述参考状态以 外的所有状态)的累积度量初始化为相应累积度量的数据格式表示的负最小值;S409 从上述参考状态开始,再次对待译码序列执行VA算法,得到新的所有状态 的累积度量及幸存路径;S410 根据幸存路径,以上述参考状态作为结束状态进行回溯,得到输出序列;S411 令译码序列等于上述参考状态回溯得到的输出序列,译码结束。如图5所示,是使用本发明所述方法得到的译码FER性能曲线与使用现有技术得 到的译码FER曲线对比图;本实施例以GERAN系统中分组业务(假设该分组业务简称为 SCHM)头部使用(3,1,6)咬尾卷积码编码后,在信噪比(Signal to Noise Ratio, SNR)为 SNR的信道中传输后的待译码序列的译码FER性能曲线为例,对本发明所述方法及现有技 术的两种方法进行比较说明,图中,SCHM-Maxl曲线为现有技术中,从执行VA算法得到的累积度量中选取1个最大的 累积度量,对上述最大的累积度量的结束状态进行回溯得到输出序列,并以该输出序列为 最终译码序列情况下的译码FER性能曲线;SCHM-Max3曲线为现有技术中,从执行VA算法得到的累积度量中选取3个较大的 累积度量,依次对上述累积度量的结束状态进行回溯,得到当前结束状态的开始状态和输 出序列,比较上述开始状态与结束状态是否相同,若相同,则以当前结束状态回溯得到的输 出序列为最终的译码序列;若不同,则对下一个累积度量的开始状态进行回溯情况下的译 码FER性能曲线;SCHM-TrcE曲线为使用本发明所述方法得到的译码FER性能曲线;从图上可以看出,使用本发明所述方法的FER低于使用现有技术方法的FER。如图6所示,是本发明所述译码器的第一实施例原理框图,包括VA算法模块100、 查找模块200、回溯模块300、状态选择模块400以及比较模块500,VA算法模块100,用于初始化各状态的累积度量;用于对待译码序列执行VA算法, 得到所有状态的累积度量及幸存路径;本发明中,VA算法模块100会执行一次或者两次VA 算法,第一次从所有状态开始,第二次从上述参考状态开始。
查找模块200,用于从上述VA算法模块100得到的累积度量中找出预设个数M个 较大的累积度量,并记录找出的累积度量的结束状态;回溯模块300,用于根据上述VA算法模块100得到的幸存路径,对结束状态(包括 上述查找模块200记录的结束状态,以及参考状态作为结束状态时的结束状态)进行回溯, 得到相应结束状态的开始状态和输出序列;状态选择模块400,用于从上述回溯模块300得到的开始状态中选出参考状态;比较模块500,用于比较与上述参考状态对应的结束状态是否与上述参考状态相 同,并根据比较结果确定译码序列。如图7所示,是本发明所述译码器的第二实施例原理框图,本实施例与第一实施 例相同之处在于,均包括VA算法模块100、查找模块200、回溯模块300、状态选择模块400 以及比较模块500 ;不同之处在于查找模块200包括选取子模块201、记录子模块202 ;状态选择模块400包括判断 子模块401和参考状态确定子模块402 ;比较模块500包括状态对比子模块501、译码序列 确定子模块502,其中,选取子模块201,用于从上述VA算法模块100得到的所有累积度量中找出预设个 数M个较大的累积度量;记录子模块202,用于记录上述选取子模块201找出的累积度量的结束状态;判断子模块401,用于判断上述回溯模块300得到的所有开始状态中是否有重复 出现的开始状态;参考状态确定子模块402,用于根据判断子模块401的判断结果,确定参考状态, 即当上述回溯模块300得到的开始状态中有重复出现的开始状态时,令参考状态为重复 出现次数最多的开始状态;当上述回溯模块300得到的开始状态互不相同时,令参考状态 为最大的累积度量的结束状态回溯得到的开始状态;状态对比子模块501,用于比较与上述参考状态对应的结束状态是否与上述参考 状态相同;译码序列确定子模块502,用于根据状态对比子模块501的比较结果,生成译码序 列,即当参考状态对应的结束状态与上述参考状态相同时,令译码序列等于上述结束状态 回溯得到的输出序列;当参考状态对应的结束状态均与上述参考状态不相同时,令译码序 列等于从上述参考状态开始,对待译码序列再次执行VA算法,并以上述参考状态作为结束 状态进行回溯得到的输出序列。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发 明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技 术领域,均包括在本发明的专利保护范围内。
权利要求
1.一种咬尾卷积码的译码方法,其特征在于,所述方法为从所有状态开始,对待译码序列执行维特比(VA)算法,得到所有状态的累积度量及幸 存路径;从所述累积度量中找出预设个数个较大的累积度量,并记录所述累积度量的结束状态;根据所述幸存路径,按照累积度量从大到小的顺序,分别对所述记录的结束状态进行 回溯,得到相应的开始状态和输出序列;从所述得到的开始状态中选出参考状态;比较与所述参考状态对应的结束状态是否与所述参考状态相同,若是,则译码序列等 于所述结束状态回溯得到的输出序列;否则,从所述参考状态开始,再次对所述待译码序列 执行VA算法,得到新的所有状态的累积度量及幸存路径;根据所述幸存路径,以所述参考 状态作为结束状态进行回溯,得到的输出序列即为译码序列。
2.如权利要求1所述的咬尾卷积码的译码方法,其特征在于,所述从所有状态开始,对 待译码序列执行VA算法前,首先将所述所有状态的累积度量初始化为相同值。
3.如权利要求1所述的咬尾卷积码的译码方法,其特征在于,所述预设个数大于等于3。
4.如权利要求1所述的咬尾卷积码的译码方法,其特征在于,所述从得到的开始状态 中选出参考状态步骤具体包括判断所述得到的开始状态中是否有重复出现的开始状态,若是,则所述参考状态为重 复出现次数最多的开始状态,若所述重复出现次数最多的开始状态大于一个,则所述参考 状态为所述重复出现次数最多的开始状态中较早回溯得到的开始状态;否则,所述参考状 态为最大的累积度量的结束状态回溯得到的开始状态。
5.如权利要求1所述的咬尾卷积码的译码方法,其特征在于,所述从参考状态开始,再 次对所述待译码序列执行VA算法前,还执行如下步骤将所述参考状态的累积度量初始化为0,将其余状态的累积度量初始化为相应累积度 量的数据格式表示的负最小值。
6.一种译码器,其特征在于,包括VA算法模块、查找模块、回溯模块、状态选择模块以 及比较模块,所述VA算法模块,用于对待译码序列执行VA算法;所述查找模块,用于从所有状态的累积度量中找出预设个数个较大的累积度量,并记 录所述累积度量的结束状态;所述回溯模块,用于对结束状态进行回溯; 所述状态选择模块,用于确定参考状态;所述比较模块,用于比较与所述参考状态对应的结束状态是否与所述参考状态相同, 并根据比较结果确定译码序列。
7.如权利要求6所述的译码器,其特征在于,所述VA算法模块,还用于初始化各状态的累积度量。
8.如权利要求6所述的译码器,其特征在于,所述查找模块包括选取子模块和记录子 模块,所述选取子模块,用于从所述所有累积度量中找出预设个数个较大的累积度量; 所述记录子模块,用于记录所述找出的累积度量的结束状态。
9.如权利要求6所述的译码器,其特征在于,所述状态选择模块包括判断子模块和参 考状态确定子模块,所述判断子模块,用于判断所有开始状态中是否有重复出现的开始状态; 所述参考状态确定子模块,用于根据所述判断子模块的判断结果,确定参考状态。
10.如权利要求6、8或9所述的译码器,其特征在于,所述比较模块包括状态对比子模 块、译码序列确定子模块,所述状态对比子模块,用于比较与所述参考状态对应的结束状态是否与所述参考状态 相同;译码序列确定子模块,用于根据所述状态对比子模块的比较结果,确定译码序列。
全文摘要
本发明涉及一种咬尾卷积码的译码方法及译码器,上述方法对待译码序列执行维特比(VA)算法,从得到的累积度量中找出预设个数个累积度量,并对其结束状态进行回溯,从得到的开始状态中确定参考状态;通过比较上述参考状态对应的结束状态是否与上述参考状态相同,决定是直接得到译码序列,还是对上述待译码序列再次执行VA算法,之后通过回溯得到译码序列;所述译码器包括VA算法模块、查找模块、回溯模块、状态选择模块以及比较模块。本发明不仅简化了译码复杂度,减小了译码花费,具有更强的译码性能。
文档编号H03M13/41GK102142848SQ20101010652
公开日2011年8月3日 申请日期2010年1月28日 优先权日2010年1月28日
发明者黄东晓 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1