一种LT码的译码方法及其装置与流程

文档序号:14216681阅读:412来源:国知局

本发明涉及通信领域中的数据传输技术,尤其涉及一种lt码的译码方法及其装置。



背景技术:

数字喷泉(digitalfountain)码是于1998年首次提出的概念,它是基于删除信道的纠删码。数字喷泉码具有无码率和反馈信息少等优点,所以它可以适应多接收端,信道性能差等情况。无码率就是没有固定码率,具有信道性能自适应性,不同的接收端可自动匹配不同的信道性能。因此它在广播传输和深空通信中将会具有很大的优势。2002年,luby提出了第一种实用数字喷泉码——lt(lubytransform)码。

目前lt码的常规译码方法——置信传播(beliefpropagation—bp)译码方法,其译码过程如下:接收机将收到的信号经过常规的解调、解交织处理后,进行帧检测,将帧检测结果为错误的接收帧丢弃掉,而将帧检测正确的接收帧送入译码模块进行译码处理:对于度为1即只有一个原始帧参与编码的接收帧,其原始帧的值等于该接收帧,这样恢复出一个原始帧,接着将该原始帧与有此原始帧参与编码的接收帧进行异或处理,得到这些接收帧的更新值,从而将这些接收帧的度减1;重复以上操作直到无法找到度为1的接收帧,则译码结束。在上述译码过程中译码端需要在获取到k(k略大于源数据分组数量k)个正确的接收帧之后才开始进行bp译码运算,这就存在从开始获取接收帧到开始译码之间的一段延时。在上述译码过程中译码端每次都接收固定数量的接收帧之后才开始进行译码,也会造成一定的浪费,因为在很多情况下,少于k个接收帧已然能够恢复所有原始帧。因此,增大k在提高译码成功率的同时却增加了接收帧的冗余量,减小k则在降低接收帧冗余量的同时却降低了译码成功率,这样的译码方法显现出了极大地矛盾性,无法做到在降低接收帧冗余的前提下又可以保证译码的成功率。



技术实现要素:

本发明的目的在于克服上述现有技术的缺点,提供一种lt码的译码方法及用于lt码的译码装置,无需接收多个接收帧才能开始译码,实现每接收一个接收帧就进行一次译码,降低系统冗余量和译码延迟,提高系统稳定性和译码速度。

为解决上述技术问题,本发明采用了以下技术措施:

第一方面,本发明提供一种lt码的译码方法,其包括以下步骤:

获取一个接收帧。对所述接收帧进行一次译码。重复上述两个步骤,直至还原出所有原始帧。

作为进一步改进的,在获取一个接收帧之后,还包括:将所述接收帧按照度数、位置向量和编码值的数据格式堆入输入存储器中相应的存储空间中。

作为进一步改进的,所述对所述接收帧进行一次译码的步骤包括:判定所述度数是否为1,若为1,则查询度数为1的接收帧的所述位置向量指向的输出存储器中相应的存储空间是否为空。若为空,则将此接收帧的所述编码值存入所述输出存储器中相应的存储空间中。

作为进一步改进的,所述判定所述度数是否为1的步骤还包括:若所述度数大于1,则对获取到的接收帧进行消度处理。判定消度处理后的度数是否为1。若为1,则查询度数为1的接收帧的所述位置向量指向的输出存储器中相应的存储空间是否为空;若为空,则将此接收帧的所述编码值存入所述输出存储器中相应的存储空间中。

作为进一步改进的,所述查询度数为1的接收帧的所述位置向量指向的输出存储器中相应的存储空间是否为空的步骤还包括:若所述接收帧的所述位置向量指向的输出存储器中相应的存储空间不为空,则丢弃所述接收帧。

作为进一步改进的,在所述将此接收帧的所述编码值存入所述输出存储器中相应的存储空间中的步骤后:检测是否完成全部帧还原。若完成,则输出所有所述原始帧。若未完成,则查询位置向量表,所述位置向量表记录所有经所述消度处理后度数仍大于1的接收帧的位置向量信息。若此接收帧的位置向量存在于所述位置向量表中,则使用此接收帧对所述输入存储器中堆积的具有相同位置向量的接收帧进行一次异或处理。

作为进一步改进的,在所述度数的消度处理的步骤后,还包括:若消度后的度数不为1,则将消度后的接收帧堆入所述输入存储器中,并将接收帧的所述位置向量更新进所述位置向量表中。

作为进一步改进的,所述消度处理的步骤包括:使用所述原始帧对与所述原始帧具有相同位置向量的所述度数大于1的接收帧进行异或处理。

作为进一步改进的,所述检测是否完成全部帧还原的步骤包括:将一个所述接收帧的编码值存入所述输出存储器中相应的存储空间中时,通过计数器自增1计数。检测计数器的技术数值是否等于所述原始帧的帧数。相等则判定为完成全部帧还原,不相等则判定为未完成。

第二方面,本发明还提供一种用于lt码的译码装置,包括:接收单元、输入存储单元、度判定单元、输出存储单元、查询单元、消度单元、bp译码控制单元。

所述接收单元用于接收lt编码数据包,并从所述lt编码数据包中获取接收帧。

所述输入存储单元用于对所述接收帧按照度数、位置向量和编码值的数据格式进行存储。

所述度判定单元用于判定所述输入存储单元中存储的接收帧的度数大小。

所述输出存储单元用于存储还原出的原始帧。

所述查询单元用于查询度数为1的所述接收帧对应的所述输出存储单元中相应的存储单元是否为空以及查询位置向量表。

所述消度单元用于将度数不为1的所述接收帧的度数降为1。

所述译码控制单元用于控制对所述输入存储单元中的接收帧的消度和译码处理。

与现有技术相比较,本发明具有以下优点:

1、本发明的lt码的bp译码方法,每接收一个接收帧就进行一次译码处理,译码过程中不设定固定的接收帧接收数量,通过设置的所述计数器对译码完成情况进行记录,只要完成译码数即停止接收。相比较传统的bp译码方法,本发明能够实现在线译码,即能够实时接收并直接处理或者存储接收帧等待后续处理,对重复和错误的接收帧进行抛弃和删除,降低了接收帧的冗余量。

2、本发明通过接收帧度数判定和位置向量标记,完成了对接收时间上不同的前后接收帧的联系,实现不同接收时间的接收帧之间的消度运算和译码运算,本发明的lt码的译码过程,在每获取一个接收码字之后就对其进行相关的译码处理,无需再接收一定数量的接收帧才能实现时间同步的消度运算和译码运算,大大提高了系统译码速度。

附图说明

图1为本发明实施例提供的一种lt码的译码方法的流程图;

图2为常规bp译码方法的译码时长示意图;

图3为本发明实施例提供的一种lt码的译码方法的译码时长示意图;

图4为本发明实施例提供的译码方法的程序框图;

图5为本发明实施例提供的一种用于lt码的译码装置的示意图;

具体实施方式

为使本专利的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,下面结合附图与具体实施方式对本发明作进一步详细描述。

请参照图1和图2,图1为本发明实施例提供的一种lt码的译码方法的流程图,图2为常规bp译码方法的译码时长示意图。

请参照图1,本发明提供一种lt码的译码方法,包括以下步骤:

a1:获取一个接收帧;

a2:对所述接收帧进行一次译码;

a3:重复上述两个步骤,直至还原出所有原始帧。

请参照图2提供的常规bp译码方法,常规bp译码方法通过接收一定数量的帧信号才能开始进行译码,这主要是因为译码过程依赖前后帧信号之间的联系,而常规bp译码方法实现的方式是接收大量的帧信号之后,保证帧信号之间满足足量的联系关系,才能实现接收帧的消度译码,因此需要接收一定数量的接收帧才能开始译码和保证译码成功率,增加了译码延迟,经过多次接收译码过后,接收端存积了大量重复的接收帧,极大地增加了接收端的帧冗余量,增加了系统的负担。

如图2所示,常规的bp译码方法中需要先行获取接收码字1至接收码字k;在获取完所有的接收码字后,才开始进行处理接收码字1至接收码字k。加之接收帧的获取和接收帧的处理是具有时间顺序的前后关系的,需要在获取了一定的接收帧之后,才能开始处理接收帧,而且对接收帧的处理不具有选择性,即获取到的任何接收帧都进行处理,因此总的译码时间就是完成还原所有原始帧获取的接收帧获取时间的总和加上对这些接收帧进行处理的时间。在未对接收帧进行识别的情况下,每获取一批次一定数量的接收帧都有很大几率出现已经完成译码的重复的接收帧的出现,占用了一部分接收帧的获取时间和处理时间,因此是效率不高的,如图2所示其总的译码时间也很长。

请参照图1和图3,本发明提供的lt码的译码方法,即实现接收一个接收帧就进行一次译码,引入前后帧信号关系标记机制,无需在接收一定数量的接收帧后才开始对接收帧进行处理。反之,本发明可以实现每接收一个接收帧就根据帧信号的情况进行译码或标记,在接收帧信号的同时同步实现译码,提高了译码效率,降低了译码延迟。还实现了识别抛弃重复和无用帧信号,降低了系统的冗余量,极大地降低了系统负担。

如图3所示,与图2中的常规bp译码方法的译码时长对比,本方法中,在获取到一个接收码字1后就对其进行处理,在处理的同时,也在获取下一个接收帧(接收码字2),其获取接收帧和处理接收帧的过程在时间顺序上的间隔只相差获取一个接收帧的时间,因此其获取接收帧的时间和处理接收帧的时间只存在获取一个接收帧的时间间隔,获取接收帧和处理接收帧两个动作在后续获取接收帧的过程中是同步的,因此,总译码时长等于获取第一个接收帧的时长与完成原始帧还原的所有接收帧处理的时间之和。本方法接收端引入了接收帧识别机制,对重复获取的接收帧进行识别抛弃删除,不进行处理操作,节约了处理时间,提高了译码效率,如图3所示其总的译码时间大大缩短。

第一实施例:

请参照图4,图4为本发明的译码方法的程序框图,本发明的具体实施程序如下:

s1,信号接收预处理:接收机接收到发射机发送的帧信号,进行解调、校验和接收帧提取后,送入下一步骤。

发送机将源数据经lt编码加入crc校验和帧识别号交织到载波发送到接收机。

接收机从载波中解调出lt编码数据包。并经crc验证和帧识别号提取出接收帧。

s2,接收帧的存放:对经过s1获取的接收帧按照度数、位置向量和编码值的数据格式堆入输入存储器中相应的存储空间中,进入下一步骤。

获取到的接收帧与码元位置具有对应关系,当接收帧与一个码元位置唯一对应时,它的度数即为1,当接收帧与多个码元位置对应时,对应几个位置则它的度数即为对应位置的数量。度数表示的即为接收帧对应码元位置的可能性。位置向量是对码元位置的标记,接收帧对应几个码元位置,就有几个位置向量,位置向量表示接收帧可能对应的码元位置的名称标记。编码值是0或1,每个接收帧都具有0或1的编码值,0或1的编码值是数字通信中基本的逻辑单位。

s3,接收帧的度数判定:对所述输入存储器中存放的接收帧的度数进行判定,度数为1,则转至步骤s4;度数大于1,则转至步骤s5。

关于接收帧的度数判定可以通过位置向量的数量确定,例如,当一个接收帧具有一个位置向量时即表示该接收帧的度数为1,当一个接收帧具有两个位置向量时即表示该接收帧的度数为2。

s4,度数为1的接收帧的处理和输出:查询度数为1的接收帧的位置向量指向的输出存储器中相应的存储空间是否为空,不为空则丢弃此接收帧并转至步骤s2,为空则将此接收帧的编码值存入所述输出存储器中相应的存储空间中,使译码计数器自增1并同时检查译码计数器的值是否等于发送端发送的原帧数k,若相等则跳转至步骤s8,不相等则查询位置向量表,若此接收帧的位置向量存在于位置向量表中,则转至步骤s7,若不存则转至步骤s2。

位置向量表的作用是对接收到的所有未消度完成的接收帧的位置向量进行标记,位置向量表在译码过程中会逐渐标记出所有的位置向量信息,用于判断输出存储器中已经还原出的原始帧是否能够帮助所有未消度完成的接收帧的进行消度,即查询度数为1的输出存储器中已经还原出的原始帧的位置向量是否存在于位置向量表中,若存在于位置向量表中表示此度数为1的接收帧能够对未消度完成的接收帧进行一次消度,若不存在则继续获取接收帧,并等待位置向量表更新。

s5,度数大于1的接收帧的处理:对获取到的接收帧进行消度处理,消度处理之后,若度数降为1,则转至步骤s4;若度数不为1,则转至步骤s6。

对度数大于1的接收帧的消度处理即通过输出存储器中存储的具有相同位置向量的原始帧与该度数大于1的接收帧进行一次异或运算,并更新该度数大于1的接收帧的编码值,相应的度数减1。消度过后对度数进行再次判定。

s6,度数不为1的接收帧的存放:将消度后的接收帧堆入所述输入存储器中,并将消度后的接收帧的位置向量更新进所述位置向量表,转至步骤s2。

更新位置向量表的作用是将所有输出存器中存储的原始帧未对度数大于1的接收帧进行消度的位置向量信息进行标记,达到对获取度数大于1的接收帧消度的目的。

s7,译码处理:对所述输入存储器中堆积的接收帧进行一次消度处理,跳转至步骤s2。

使用已经确定的原始帧对输入存储器中堆积的尚未确定的度数大于1的接收帧进行消度处理。

s8,译码结果输出:将经过上述步骤获得的,存储在所述输出存储器中的原始帧输出。

消度处理是指将输出存储器中存储的原始帧与和原始帧具有相同位置向量的度数大于1的接收帧进行异或处理,对这些接收帧的编码值进行更新,从而将这些接收帧的度减1,在原始帧不断更新下,实现对具有相同位置向量的度数大于1的接收帧进一步的度数消减,直到度数减为1后,实现完全消度,还原出一个原始帧。

更具体的,本发明提供以下示例:

假设需要确定一个五位数据编码,则e、d、c、b、a依次代表第五位到第一位码元位置,也表示位置向量。

现获取第一个接收帧,输入存储器中为:位置向量为a、e,度数为2,编码值为1,则判定度数为2,因为是第一个接收帧所以无法进行消度,对此接收帧的位置向量更新入位置向量表,则位置向量表中为a、e。计数器为0。

现获取第二个接收帧,输入存储器中为:位置向量为c、e,度数为2,编码值为0,则判定度数为2,第一个接收帧度数为2无法完成对此接收帧进行消度,对此接收帧的位置向量更新入位置向量表,则位置向量表中为a、c、e。计数器为0。

现获取第三个接收帧,输入存储器中为:位置向量为a,度数为1,编码值为1,则判定度数为1,查询输出存储器中a位置处为空则将编码值1存入a存储空间,确定a码元位置的编码值为1,计数器为1。查询位置向量表中存在a,则对具有相同位置向量的第一个接收帧和第二个接收帧进行一次消度处理,第一个接收帧的编码值更新为0,度数消减为1,位置向量为e;第二个接收帧的编码值更新为1,度数消减为2,位置向量为c、e。位置向量表为a、c、e。

第一个接收帧的度数减为1,位置向量为e,编码值为0,查询输出存储器中e位置处为空则将编码值0存入e存储空间,确定e码元位置的编码值为0,计数器为2。查询位置向量表中存在e,则对具有相同位置向量的第二接收帧进行一次消度处理,第二个接收帧的编码值更新为1,度数消减为1,位置向量为c,位置向量表为a、c、e。第二个接收帧的度数减为1,位置向量为c,编码值为1,查询输出存储器中c位置处为空则将编码值1存入c存储空间,确定c码元位置的编码值为1,计数器为3。查询位置向量表中存在c,则对输入存储器中具有相同位置向量的度数大于1的接收帧进行一次消度处理。

现获取第四个接收帧,输入存储器中为:位置向量为b、c、d,度数为3,编码值为0,则判定度数为3,位置向量中存在c,因位置向量表中为a、c、e,与码元位置c的位置向量相同,则使用码元位置c的编码值对第四个接收帧进行一次消度。第四个接收帧编码值更新为1,位置向量为b、d,度数为2,无法继续消度,则更新位置向量表为a、b、c、d、e。计数器为3。

现获取第五个接收帧,输入存储器中为:位置向量为a、d,度数为2,编码值为1,则判定度数为2,位置向量中存在a,因位置向量表中为a、b、c、d、e,与码元位置a的位置向量相同,则使用码元位置a的编码值对第五个接收帧进行一次消度。第五个接收帧编码值更新为0,位置向量为d,度数为1。

第五个接收帧的度数减为1,位置向量为d,编码值为0,查询输出存储器中d位置处为空,则将编码值0存入d存储空间,确定d码元位置的编码值为0,计数器为4。查询位置向量表中存在d,则对具有相同位置向量的第四个接收帧进行一次消度。第四个接收帧编码值更新为1,位置向量为b,度数为1。

第四个接收帧的度数减为1,位置向量为b,编码值为1,查询输出存储器中b位置处为空,则将编码值1存入b存储空间,确定b码元位置的编码值为1,计数器为5。计数器计数值5等于发送端五位数据编码的位数,结束译码,输出所有原始帧。

输出原始帧为00111,对应位数为edcba。

本发明将获取的接收帧在接收端进行处理和标记,处理的方式是将接收帧按照度数、位置向量和编码值的数据格式进行存储,后续步骤是对存储的接收帧的度数进行识别,并通过识别存储的接收帧的位置向量来对前后接收时间不同的接收帧进行联系,完成消度处理。通过这样的译码方法,前序时间内已经完成译码并存储的原始帧,通过位置向量识别与后续时间接收的接收帧完成消度处理,不再需要等待接收一定数量的接收帧才开始完成消度处理,降低了译码延迟。对于重复接收的接收帧也通过对输出存储器的对应存储单元的占用情况查询完成了删除抛弃,不再无选择性地占用接收方的内存,极大地减少了接收帧的冗余量,减轻了接收端系统的负担。

第二实施例:

本发明第二实施例提供一种用于lt码的译码装置:

请参照图5,包括接收单元、输入存储单元、度判定单元、输出存储单元、查询单元、消度单元、bp译码控制单元。

接收单元用于接收lt编码数据包,并从所述lt编码数据包中获取接收帧。

输入存储单元用于对所述接收帧按照度数、位置向量和编码值的数据格式进行存储。

度判定单元用于判定所述输入存储单元中存储的接收帧的度数大小。

输出存储单元用于存储还原出的原始帧。

查询单元用于查询度数为1的所述接收帧对应的所述输出存储单元中相应的存储单元是否为空以及查询位置向量表。

消度单元用于将度数不为1的所述接收帧的度数降为1。

译码控制单元用于控制对所述输入存储单元中的接收帧的消度和译码处理。

接收单元接收来自信号发送端不间断发送来的lt编码数据包,每接收一个lt编码数据包,获取一个接收帧,并将接收帧发送到输入存储单元按照度数、位置向量和编码值的数据格式进行存储。

度判定单元对输入存储单元中存储的接收帧的度数进行判断,将接收帧的度数信息发送给查询单元和控制译码控制单元。

查询单元对根据接收帧的度数信息进行查询操作,查询度数为1的接收帧对应的输出存储单元中的存储空间的空余情况。位置向量表位于查询单元中,查询输出存储单元中存储的度数为1的接收帧的位置向量是否存在于位置向量表中。以及查询度数不为1的位置向量是否与输出存储单元中的原始帧的位置向量相同。

根据查询单元的查询结果,控制译码控制单元对所述输入存储单元中的接收帧的译码处理。如查询度数为1的接收帧对应的输出存储单元的存储空间的空余情况为空,则译码控制单元进行一次译码操作,即将接收帧的编码值存入输出存储单元中对应的存储空间中,如不为空,则译码控制单元控制抹除输入存储单元中相应的接收帧。如查询度数为1的接收帧的位置向量存在于位置向量表,则译码控制单元控制消度单元对位置向量相同的原始帧和输入存储单元中度数不为1的接收帧进行消度处理,对消度结果为1的接收帧进一步进行译码操作,将对消度结果为1的接收帧的编码值存入输出存储单元中对应的存储空间中。对消度结果不为1的不进行译码,等待接收更多接收帧完成对度数不为1的接收帧的消度和译码。译码控制单元记录译码次数,译码次数用于记录译码的操作的次数,即表示还原出的原始帧的数量,用于判断原始帧的还原情况。

输出存储单元对存储的原始帧进行检测,当还原出的原始帧与发送端发送的源数据的数据帧数相同时停止获取接收帧,并输出所有还原出的原始帧,完成对发送端发送的数据的还原。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1