CN112865815B - Turbo译码方法、装置、Turbo译码器和存储介质 - Google Patents
Turbo译码方法、装置、Turbo译码器和存储介质 Download PDFInfo
- Publication number
- CN112865815B CN112865815B CN201911171099.0A CN201911171099A CN112865815B CN 112865815 B CN112865815 B CN 112865815B CN 201911171099 A CN201911171099 A CN 201911171099A CN 112865815 B CN112865815 B CN 112865815B
- Authority
- CN
- China
- Prior art keywords
- decoding
- decoded
- data
- length
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 36
- 230000010365 information processing Effects 0.000 claims abstract description 16
- 230000003044 adaptive effect Effects 0.000 claims abstract description 13
- 238000004364 calculation method Methods 0.000 claims description 34
- 238000004590 computer program Methods 0.000 claims description 26
- 238000005303 weighing Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
- H03M13/296—Particular turbo code structure
- H03M13/2963—Turbo-block codes, i.e. turbo codes based on block codes, e.g. turbo decoding of product codes
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本申请涉及一种Turbo译码方法、装置、Turbo译码器和存储介质,该方法包括步骤:获取Turbo译码器接收的待译码数据,确定待译码数据的译码特征;确定与译码特征相适应的目标RAM;上述目标RAM存储有与译码特征相适应的预先配置的译码参数;通过目标RAM中存储的译码参数对待译码数据进行译码;译码参数包括:外交织器配置信息、内交织器和内解交织器配置信息、译码长度配置信息、译码信息处理配置信息和译码算法配置信息的至少一项;其中,译码特征包括:译码长度、译码码元速率以及译码多项式的中的至少一种。本申请提供的Turbo译码方法,能够同时实现对不同的码元速率、对不同译码长度、对不同多项式的Turbo译码支持,从而扩大了Turbo译码器的适用范围。
Description
技术领域
本申请涉及无线通信技术领域,特别是涉及一种Turbo译码方法、Turbo译码装置、Turbo译码器和计算机可读存储介质。
背景技术
随着无线通信技术领域的发展,Turbo译码器因优良的并行处理和极强的纠正误码能力而广泛应用于现代通信领域。Turbo码有一重要特点是其译码较为复杂,比常规的卷积码要复杂的多,这种复杂不仅在于其译码要采用迭代的过程,而且采用的算法本身也比较复杂。这些算法的关键是不但要能够对每比特进行译码,而且还要伴随着译码给出每比特译出的可靠性信息,有了这些信息,迭代才能进行下去。目前的Turbo译码器在芯片实现上通常都采用log-max算法,使得Turbo码的译码复杂度大大降低,更加适合于实际系统的运用。
然而,目前基于芯片开发的Turbo译码器,Turbo译码器的适用范围过小。
发明内容
基于此,有必要针对传统技术Turbo译码器的适用范围过小的技术问题,提供一种Turbo译码方法、Turbo译码装置、Turbo译码器和计算机可读存储介质。
一种Turbo译码方法,包括步骤:
获取Turbo译码器接收的待译码数据,确定所述待译码数据的译码特征;
确定与所述译码特征相适应的目标RAM;所述目标RAM存储有与所述译码特征相适应的预先配置的译码参数;
通过所述目标RAM中存储的所述译码参数对所述待译码数据进行译码;所述译码参数包括:外交织器配置信息、内交织器和内解交织器配置信息、译码长度配置信息、译码信息处理配置信息和译码算法配置信息的至少一项;;
其中,所述译码特征包括:译码长度、译码码元速率以及译码多项式的中的至少一种。
在一个实施例中,若所述译码特征包括译码长度,所述确定与所述译码特征相适应的目标RAM,包括:获取所述待译码数据的译码长度;所述译码长度包括编码长度以及译码后长度;确定与所述编码长度相适应的外交织器长度;确定与所述译码后长度相适应的内交织器长度;确定与所述待译码数据相适应的目标RAM,所述目标RAM需与外交织器长度和内交织器长度相适应。
在一个实施例中,若所述译码特征包括译码码元速率,所述确定与所述译码特征相适应的目标RAM,还包括:获取所述待译码数据的译码码元速率;确定与所述译码码元速率相适应的所述目标RAM。
在一个实施例中,所述确定与所述译码码元速率相适应的所述目标RAM,包括:获取所述待译码数据的有效信息排序规则和校验信息排序规则;根据所述有效信息排序规则和校验信息排序规则以及所述译码码元速率得到待译码数据位置解恢复表;根据所述待译码数据位置解恢复表确定与所述译码码元速率相适应的所述目标RAM。
在一个实施例中,若所述译码特征包括译码多项式,所述确定与所述译码特征相适应的目标RAM,还包括:获取所述待译码数据的译码多项式;根据所述译码多项式选择log-max算法中delta值、alpha值和beta值的计算公式;根据所述计算公式确定与所述译码多项式相适应的目标RAM。
在一个实施例中,Turbo译码方法,还包括:获取所述待译码数据对应的参数区间;根据预先设置的参数区间与重量化参数之间的对应关系,确定与所述待译码数据对应的重量化参数;根据所述重量化参数确定所述目标RAM。
在一个实施例中,所述通过目标RAM中存储的译码参数对待译码数据进行译码,包括:通过所述译码参数对所述待译码数据运用log-max算法迭代计算delta值、alpha值和beta值,并根据delta值、alpha值和beta值计算似然估计值llr;若迭代次数等于预先设定的迭代次数阈值,获取所述似然估计值llr;根据所述似然估计值llr的符号位输出与所述似然估计值llr对应的译码码元。
一种Turbo译码装置,包括:
译码特征确定模块,用于获取Turbo译码器接收的待译码数据,确定所述待译码数据的译码特征;
目标RAM确定模块,用于确定与所述译码特征相适应的目标RAM;所述目标RAM存储有与所述译码特征相适应的预先配置的译码参数;
译码模块,用于通过所述目标RAM中存储的所述译码参数对所述待译码数据进行译码;所述译码参数包括:外交织器配置信息、内交织器和内解交织器配置信息、译码长度配置信息、译码信息处理配置信息和译码算法配置信息的至少一项;
其中,所述译码特征包括:译码长度、译码码元速率以及译码多项式的中的至少一种。
一种Turbo译码器,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如下步骤:获取Turbo译码器接收的待译码数据,确定待译码数据的译码特征;确定与译码特征相适应的目标RAM;上述目标RAM存储有与译码特征相适应的预先配置的译码参数;通过目标RAM中存储的译码参数对待译码数据进行译码;译码参数包括:外交织器配置信息、内交织器和内解交织器配置信息、译码长度配置信息、译码信息处理配置信息和译码算法配置信息的至少一项;其中,译码特征包括:译码长度、译码码元速率以及译码多项式的中的至少一种。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:获取Turbo译码器接收的待译码数据,确定待译码数据的译码特征;确定与译码特征相适应的目标RAM;上述目标RAM存储有与译码特征相适应的预先配置的译码参数;通过目标RAM中存储的译码参数对待译码数据进行译码;译码参数包括:外交织器配置信息、内交织器和内解交织器配置信息、译码长度配置信息、译码信息处理配置信息和译码算法配置信息的至少一项;其中,译码特征包括:译码长度、译码码元速率以及译码多项式的中的至少一种。
上述Turbo译码方法、装置、Turbo译码器和存储介质,获取Turbo译码器接收的待译码数据,确定待译码数据的译码特征;确定与译码特征相适应的目标RAM;上述目标RAM存储有与译码特征相适应的预先配置的译码参数;通过目标RAM中存储的译码参数对待译码数据进行译码;译码参数包括:外交织器配置信息、内交织器和内解交织器配置信息、译码长度配置信息、译码信息处理配置信息和译码算法配置信息的至少一项;其中,译码特征包括:译码长度、译码码元速率以及译码多项式的中的至少一种。本申请提供的Turbo译码方法,能够同时实现对不同的码元速率、对不同译码长度、对不同多项式的Turbo译码支持,从而扩大了Turbo译码器的适用范围。
附图说明
图1为一个实施例中Turbo译码方法的应用场景图;
图2为一个实施例中Turbo译码方法的流程示意图;
图3为一个实施例中确定与译码特征相适应的目标RAM的流程示意图;
图4为一个实施例中确定与译码码元速率相适应的目标RAM的方法流程示意图;
图5为一个实施例中待译码数据位置解恢复表的结构示意图;
图6为一个实施例中确定与译码多项式相适应的目标RAM的流程示意图;
图7为一个实施例中编码器电路的结构示意图;
图8为一个实施例中通过译码参数对待译码数据进行译码的方法流程示意图;
图9为一个实施例中一次迭代计算的过程示意图;
图10为一个实施例中Turbo译码方法的流程示意图;
图11为一个应用实例中Turbo译码方法的流程示意图;
图12为一个实施例中内(解)交织表系数的排列示意图;
图13为一个实施例中Turbo译码装置的结构框图;
图14为一个实施例中Turbo译码器的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的Turbo译码方法,可以应用于如图1所示的应用场景中,图1为一个实施例中Turbo译码方法的应用场景图,其中,包括:控制单元101、译码单元102以及存储单元103,其中控制单元101可以是安装在Turbo译码器内的控制芯片,译码单元102主要用于对数据进行译码,存储单元103可以是各种寄存器,可以用于存储各种需要译码的数据以及用于译码的译码参数等。
在一个实施例中,提供了一种Turbo译码方法,参考图2,图2为一个实施例中Turbo译码方法的流程示意图,以该方法应用于图1中的Turbo译码器为例进行说明,该Turbo译码方法可以包括以下步骤:
步骤S201,获取Turbo译码器接收的待译码数据,确定所述待译码数据的译码特征。
其中,待译码数据指的是需要进行译码的数据,可存储于存储单元103中,待译码数据的译码特征可以包括:译码长度、译码码元速率以及译码多项式等。得到待译码数据后,Turbo译码器的控制单元101可根据接收得到的待译码数据,提取出待译码数据的译码长度、译码码元速率以及译码多项式等译码特征。
步骤S202,确定与译码特征相适应的目标RAM;上述目标RAM存储有与译码特征相适应的预先配置的译码参数;
步骤S203,通过上述目标RAM中存储的译码参数对待译码数据进行译码;译码参数包括:外交织器配置信息、内交织器和内解交织器配置信息、译码长度配置信息、译码信息处理配置信息和译码算法配置信息的至少一项。
其中,本申请提供的Turbo译码器中的存储单元103预先配置有多个RAM,每个RAM存储有不同译码参数,其中译码参数可以包括有:外交织器配置信息、内交织器和内解交织器配置信息、译码长度配置信息、译码信息处理配置信息和译码算法配置信息。对应于不同的待译码数据,可以选用不同的译码参数进行译码,具体地,在步骤S201确定了待译码数据的译码特征后,控制单元101可以根据待译码数据的译码特征确定与上述译码特征相适应的译码参数,从而确定与上述译码特征相适应的目标RAM。例如:可以根据待译码数据的译码长度,确定与上述译码长度相适应的外交织器配置信息、内交织器和内解交织器配置信息、译码长度配置信息等译码参数,从而确定预先配置有上述译码参数的目标RAM。
在得到与待译码数据的译码特征相适应的译码参数后,Turbo译码器可通过内置的译码单元102可根据上述目标RAM存储的译码参数使用log-max算法对待译码数据进行译码。
上述Turbo译码方法,获取Turbo译码器接收的待译码数据,确定待译码数据的译码特征;确定与译码特征相适应的目标RAM;上述目标RAM存储有与译码特征相适应的预先配置的译码参数;通过目标RAM中存储的译码参数对待译码数据进行译码;译码参数包括:外交织器配置信息、内交织器和内解交织器配置信息、译码长度配置信息、译码信息处理配置信息和译码算法配置信息的至少一项;其中,译码特征包括:译码长度、译码码元速率以及译码多项式的中的至少一种。本申请提供的Turbo译码方法,能够同时实现对不同的码元速率、对不同译码长度、对不同多项式的Turbo译码支持,从而扩大了Turbo译码器的适用范围。
在一个实施例中,参考图3,图3为一个实施例中确定与译码特征相适应的目标RAM的流程示意图,若译码特征包括译码长度,步骤S202具体包括以下步骤:
步骤S301,获取待译码数据的译码长度;上述译码长度包括编码长度以及译码后长度。
具体地,Turbo译码器的控制单元101在可以根据接收到的待译码数据,提取出待译码数据的译码长度,其中,译码长度可以包括编码长度,即译码前长度,以及译码后长度。
步骤S302,确定与所述编码长度相适应的外交织器长度。
其中,编码长度主要影响从外交织器的读数据长度,因此不同的译码长度对应的外交织器参数是不一样的,控制单元101可以根据待译码数据选择与之相适应的外交织器长度参数。
步骤S303,确定与译码后长度相适应的内交织器长度。
其中,译码后长度主要影响从内交织器和内解交织器读数据长度,也影响从具体数据待译码数据取数长度,因此不同的译码长度对应的内交织器以及内解交织器参数都是不一样的,控制单元101可根据待译码数据的译码后长度选择与之相适应的内交织器参数和内解交织器参数。另外,为了支持多种译码长度,配置RAM的时候可以适当增加RAM的宽度以及深度,其中,RAM的深度应该是最大需要支持的译码长度+卷尾深度,RAM的宽度应该是考虑多种译码种类的宽度。
步骤S304,确定与待译码数据相适应的目标RAM,目标RAM需与外交织器长度和内交织器长度相适应。
具体地,在步骤S302以及步骤S303得到外交织器长度和内交织器长度之后,控制单元101可确定预先配置有上述外交织器长度和内交织器长度的目标RAM,以实现对不同译码长度的多种待译码数据的译码。
上述实施例通过预先配置的外交织器配置信息、内交织器和内解交织器配置信息、译码长度配置信息,实现了Turbo译码器对不同译码长度的待译码数据的支持,从而扩大了Turbo译码器的适用范围。
在一个实施例中,若译码特征包括译码码元速率,步骤S202可以包括如下步骤:获取待译码数据的译码码元速率;确定与译码码元速率相适应的所述目标RAM。
进一步地,确定与译码码元速率相适应的所述目标RAM可以包括如下步骤,如图4所示,图4为一个实施例中确定与译码码元速率相适应的目标RAM的方法流程示意图,该方法可以包括如下步骤:
步骤S401,获取待译码数据的有效信息排序规则和校验信息排序规则;
步骤S402,根据有效信息排序规则和校验信息排序规则以及译码码元速率得到待译码数据位置解恢复表;
步骤S403,根据待译码数据位置解恢复表确定与译码码元速率相适应的目标RAM。
其中,待译码数据是由有效信息以及校验信息按照某种规律组合而成,待译码数据的译码码元速率,译码码元速率有效信息占有效信息与检验信息总和的比值,控制单元101可以根据有效信息排序规则和校验信息排序规则以及译码码元速率得到待译码数据位置解恢复表,并根据上述解恢复表确定与上述译码码元速率相适应的目标RAM。
以译码码元速率类型为1/3为例进行说明,假如待译码数据M_SIG的有效信息x和校验信息y1,y2,是按照{x,y1,y2}的顺序排序,可以根据如下步骤确定目标RAM:
步骤1:缓存所有的待译码数据M_SIG;
步骤2:根据编码协议提供的有效信息和校验信息排序方法制作待译码数据位置解恢复表,并通过软件配置到地址RAM,地址RAM指示每一个M_SIG有效信息对应所在的解恢复RAM位置;如图5所示,例如:M11对应的位置为2_4,表示解恢复时,M11存放到第二个RAM,第四个位置;
步骤3:将M_SIG每一个有效数据按照地址RAM表的映射方法重新分配到多个RAM中,x_ram表示原始信息,y1_ram表示原始校验信息,y2_ram表示交织校验信息;
步骤4:当所有的M_SIG数据都分配完毕,完成数据解恢复。
上述实施例可以根据不同的码元速率,选择对应的解恢复方法,又因为不同的解恢复方法需要不同的译码信息处理配置信息,本申请可以根据不同的译码信息处理配置信息确定目标RAM,从而实现了对多种译码码元速率的待译码数据的译码,进一步扩大了Turbo译码器的适用范围。
在一个实施例中,参考图6,图6为一个实施例中确定与译码多项式相适应的目标RAM的流程示意图,若译码特征包括译码多项式,步骤S202还可以包括如下步骤:
步骤S601,获取所述待译码数据的译码多项式。
其中,译码多项式包括前反馈多项式以及后反馈多项式,具体地,可以通过待译码数据的译码多项式得到编码器的电路图,通过编码器的电路图可得到待译码数据的前反馈多项式以及后反馈多项式。
以译码多项式:g=[1 0 1 1;1 1 0 1]为例,根据译码多项式画出的编码器电路图如图7所示,图7为一个实施例中编码器电路的结构示意图,根据图7可以直观得到,上述待译码数据的前反馈多项式为:1+D+D3,后反馈多项式为:1+D2+D3。
步骤S602,根据译码多项式选择log-max算法中delta值、alpha值和beta值的计算公式。
具体地,可以通过遍历所有的delta值计算的组合、alpha值计算的组合、beta值计算的组合,然后用多路选择器进行选择,使得delta值的计算公式满足前反馈多项式,alpha值和beta值的计算公式满足后反馈多项式。
步骤S603,根据计算公式确定与译码多项式相适应的目标RAM。
其中,RAM中预先配置有多种译码算法配置信息,分别对应于多种log-max算法中delta值、alpha值和beta值的计算公式,可以根据上述计算公式,确定与上述待译码数据的译码多项式相适应的目标RAM。
上述实施例通过预先配置的多种译码算法配置信息,实现了对多种译码多项式的待译码数据的支持,进一步扩大了Turbo译码器的适用范围。
在一个实施例中,配置目标RAM还包括:获取待译码数据对应的参数区间;根据预先设置的参数区间与重量化参数之间的对应关系,确定与待译码数据对应的重量化参数;根据重量化参数确定目标RAM。
具体地,重量化参数指的是重新量化的参数,用于将大范围的数据集中在小区间范围内。例如,预先设置的参数区间可以包括(0,10)、(10,100)以及(100,1000),其中参数区间(0,10)对应的重量化参数为1,参数区间(10,100)对应的重量化参数为2,参数区间(100,1000)对应的重量化参数为3,不同的RAM中分别预先配置有不同的重量化参数。在使用时,控制单元101首先获取待译码数据的参数区间,例如,若待译码数据为500,那么此时对应的参数区间为(0,100),此时对应的重量化参数为3,那么则将预先配置有重量化参数等于3的RAM作为目标RAM。
在一个实施例中,步骤S203具体包括如下步骤,如图8所示,图8为一个实施例中通过目标RAM中存储的译码参数对待译码数据进行译码的方法流程示意图,具体包括如下步骤:
步骤S801,通过译码参数对待译码数据运用log-max算法迭代计算delta值、alpha值和beta值,并根据delta值、alpha值和beta值计算似然估计值llr。
其中,似然估计值llr是通过delta值、alpha值和beta值计算得出,并作为下一次迭代过程中计算delta值、alpha值和beta值的输入,具体地,一次迭代计算的过程如图9所示,图9为一个实施例中一次迭代计算的过程示意图,如图9所示,第一次计算的delta值、alpha值和beta值是通过上述译码参数得出,再根据上述delta值、alpha值和beta值得到似然估计值llr,同时本次得到的似然估计值llr又作为下一次计算delta值、alpha值和beta值的输入的一部分,得到下一次的delta值、alpha值和beta值,再根据delta值、alpha值和beta值得到似然估计值llr,作为一次迭代计算过程。
步骤S802,若迭代次数等于预先设定的迭代次数阈值,获取似然估计值llr。
重复步骤S801的计算过程,直到迭代次数达到预先设定的迭代次数阈值,将最后一次迭代计算得到的似然估计值llr作为最后输出的似然估计值llr。由于当迭代的次数到一定次数后,译码性能不再会有有效地提升,因此,迭代次数的阈值可以根据Turbo译码的需要进行配置,以节省译码花费的时间。
步骤S803,根据所述似然估计值llr的符号位输出与似然估计值llr对应的译码码元。
具体地,最后一次迭代计算得到的似然估计值llr可以作为译码后数据的评判标准,若得到的似然估计值llr大于0,那么此时输出的译码码元为+1,若似然估计值llr小于0,那么此时输出的译码码元为-1,因此,可以根据似然估计值llr的符号位输出与似然估计值llr对应的译码码元。
在一个实施例中,还提供了一种Turbo译码方法,如图10所示,图10为一个实施例中Turbo译码方法的流程示意图,该Turbo译码方法可以包括如下步骤:
步骤S1001,获取Turbo译码器接收的待译码数据,确定待译码数据的译码特征;
步骤S1002,获取待译码数据的译码长度;译码长度包括编码长度以及译码后长度;
步骤S1003,确定与编码长度相适应的外交织器长度;确定与译码后长度相适应的内交织器长度;
步骤S1004,获取待译码数据的译码码元速率与有效信息排序规则和校验信息排序规则;
步骤S1005,根据有效信息排序规则和校验信息排序规则以及译码码元速率得到待译码数据位置解恢复表;
步骤S1006,获取待译码数据的译码多项式;
步骤S1007,根据译码多项式选择log-max算法中delta值、alpha值和beta值的计算公式;
步骤S1008,根据外交织器长度和内交织器长度、待译码数据位置解恢复表以及计算公式确定目标RAM;
步骤S1009,从目标RAM中提取出译码参数;
步骤S1010,通过译码参数对待译码数据运用log-max算法迭代计算delta值、alpha值和beta值,并根据delta值、alpha值和beta值计算似然估计值llr;
步骤S1011,若迭代次数等于预先设定的迭代次数阈值,获取似然估计值llr;
步骤S1012,根据似然估计值llr的符号位输出与似然估计值llr对应的译码码元。
以下提供一个应用实例来展示本申请提供的Turbo译码方法,如图11所示,图11为一个应用实例中Turbo译码方法的流程示意图,具体包括如下步骤:
步骤1,软件配置译码器的外交织表、内交织表、译码长度,译码类型,beta、alpha、delta的计算选择配置。
具体地,可以包括如下三个方面分别实现可控制译码长度的支持、实现可控制译码码元速率的支持以及实现对不同多项式的支持:
(1)实现可控制译码长度的支持;
外交织器需要配置为RAM,RAM的深度影响Turbo的译码长度,RAM的宽度影响可同时兼容的译码类型;内解交织器和内交织器,都由可读写RAM控制,RAM的深度应该是最大需要支持的译码长度+卷尾深度,RAM的宽度应该是考虑多种译码种类的宽度,如图12所示。
(2)实现可控制译码码元速率的支持;
提前设计好具体需要支持的码元速率类型,至少能支持最常用的码元速率类型(1/4,1/3,1/2,2/3,3/4),将对应的译码前数据分配到对应的RAM,也就是数据解恢复;根据具体的多项式种类,原始信息X_RAM,多项式1编码信息Y1_RAM,交织编码信息Y2_RAM,多项式2编码信息Z1_RAM,交织编码信息Z2_RAM……以此类推需要支持多种多项式,就需要对应的RAM表,做好充分的预留可以防止后面如果出现其它码元速率,导致译码器不支持;RAM设置的长度大小为译码长度和卷尾长度之和,宽度需要根据实际情况需要设定。
(3)实现对不同多项式的支持;
遍历所有的delta值计算的组合、alpha值计算的组合、beta值计算的组合,然后用多路选择器进行选择;将多路选择器都用软件可控制设置,这样不同的多项式,只需要通过软件就能够实现;多项式的最高次幂n直接影响计算的维度(2^n),前反馈影响delta值,后反馈影响alpha和beta值计算。
步骤2,待译码数据缓存进RAM保存。
步骤3,调用外交织器解交织数据并且将数据根据译码种类解恢复,缓存进对应的译码前RAM。
步骤4,启动开始译码,计算delta值,alpha值,beta值,似然估计值llr。
步骤5,多次迭代计算,迭代计算delta值,alpha值,beta值,llr值。
步骤6,最后迭代计算的llr值为译码的数据,根据符号位输出对应的译码码元。
在一个实施例中,提供了一种Turbo译码装置,参考图13,图13为一个实施例中Turbo译码装置的结构框图,该Turbo译码装置可以包括:
译码特征确定模块1301,用于获取Turbo译码器接收的待译码数据,确定待译码数据的译码特征;
目标RAM确定模块1302,用于确定与译码特征相适应的目标RAM;目标RAM存储有与译码特征相适应的预先配置的译码参数;
译码模块1303,用于通过目标RAM中存储的译码参数对待译码数据进行译码;译码参数包括:外交织器配置信息、内交织器和内解交织器配置信息、译码长度配置信息、译码信息处理配置信息和译码算法配置信息的至少一项;
其中,译码特征包括:译码长度、译码码元速率以及译码多项式的中的至少一种。
在一个实施例中,目标RAM确定模块1302,进一步用于获取待译码数据的译码长度;译码长度包括编码长度以及译码后长度;确定与编码长度相适应的外交织器长度;确定与译码后长度相适应的内交织器长度;确定与待译码数据相适应的目标RAM,目标RAM需与外交织器长度和内交织器长度相适应。
在一个实施例中,目标RAM确定模块1302,进一步用于获取待译码数据的译码码元速率;获取待译码数据的有效信息排序规则和校验信息排序规则;根据有效信息排序规则和校验信息排序规则以及译码码元速率得到待译码数据位置解恢复表;根据待译码数据位置解恢复表确定与译码码元速率相适应的目标RAM。
在一个实施例中,目标RAM确定模块1302,进一步用于获取待译码数据的译码多项式;根据译码多项式选择log-max算法中delta值、alpha值和beta值的计算公式;根据计算公式确定与译码多项式相适应的目标RAM。
在一个实施例中,Turbo译码装置还包括:重量化模块,用于获取待译码数据对应的参数区间;根据预先设置的参数区间与重量化参数之间的对应关系,确定与待译码数据对应的重量化参数;根据重量化参数确定目标RAM。
在一个实施例中,译码模块1303,进一步用于通过译码参数对待译码数据运用log-max算法迭代计算delta值、alpha值和beta值,并根据delta值、alpha值和beta值计算似然估计值llr;若迭代次数等于预先设定的迭代次数阈值,获取似然估计值llr;根据似然估计值llr的符号位输出与似然估计值llr对应的译码码元。
本申请的Turbo译码装置与本申请的Turbo译码方法一一对应,关于Turbo译码装置的具体限定可以参见上文中对于Turbo译码方法的限定,在上述Turbo译码方法的实施例阐述的技术特征及其有益效果均适用于Turbo译码装置的实施例中,在此不再赘述。上述Turbo译码装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于Turbo译码器中的处理器中,也可以以软件形式存储于Turbo译码器中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种Turbo译码器,其内部结构图可以如图14所示,图14为一个实施例中Turbo译码器的内部结构图。该Turbo译码器包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该Turbo译码器的处理器用于提供计算和控制能力。该Turbo译码器的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该Turbo译码器的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种Turbo译码方法。该Turbo译码器的显示屏可以是液晶显示屏或者电子墨水显示屏,该Turbo译码器的输入装置可以是显示屏上覆盖的触摸层,也可以是Turbo译码器外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的Turbo译码器的限定,具体的Turbo译码器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种Turbo译码器,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取Turbo译码器接收的待译码数据,确定待译码数据的译码特征;确定与译码特征相适应的目标RAM;上述目标RAM存储有与译码特征相适应的预先配置的译码参数;通过目标RAM中存储的译码参数对待译码数据进行译码;译码参数包括:外交织器配置信息、内交织器和内解交织器配置信息、译码长度配置信息、译码信息处理配置信息和译码算法配置信息的至少一项;其中,译码特征包括:译码长度、译码码元速率以及译码多项式的中的至少一种。
在一个实施例中,处理器执行计算机程序时进一步实现以下步骤:获取待译码数据的译码长度;译码长度包括编码长度以及译码后长度;确定与编码长度相适应的外交织器长度;确定与译码后长度相适应的内交织器长度;确定与待译码数据相适应的目标RAM,目标RAM需与外交织器长度和内交织器长度相适应。
在一个实施例中,处理器执行计算机程序时进一步实现以下步骤:获取待译码数据的译码码元速率;获取待译码数据的有效信息排序规则和校验信息排序规则;根据有效信息排序规则和校验信息排序规则以及译码码元速率得到待译码数据位置解恢复表;根据待译码数据位置解恢复表确定与译码码元速率相适应的目标RAM。
在一个实施例中,处理器执行计算机程序时进一步实现以下步骤:获取待译码数据的译码多项式;根据译码多项式选择log-max算法中delta值、alpha值和beta值的计算公式;根据计算公式确定与译码多项式相适应的目标RAM。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取待译码数据对应的参数区间;根据预先设置的参数区间与重量化参数之间的对应关系,确定与待译码数据对应的重量化参数;根据重量化参数确定目标RAM。
在一个实施例中,处理器执行计算机程序时进一步实现以下步骤:通过译码参数对待译码数据运用log-max算法迭代计算delta值、alpha值和beta值,并根据delta值、alpha值和beta值计算似然估计值llr;若迭代次数等于预先设定的迭代次数阈值,获取似然估计值llr;根据似然估计值llr的符号位输出与似然估计值llr对应的译码码元。
上述Turbo译码器,通过所述处理器上运行的计算机程序,能够同时实现对不同的码元速率、对不同译码长度、对不同多项式的Turbo译码支持,从而扩大了Turbo译码器的适用范围。
本领域普通技术人员可以理解实现如上任一项实施例所述的Turbo译码方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
据此,在一个实施例中提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取Turbo译码器接收的待译码数据,确定待译码数据的译码特征;确定与译码特征相适应的目标RAM;上述目标RAM存储有与译码特征相适应的预先配置的译码参数;通过目标RAM中存储的译码参数对待译码数据进行译码;译码参数包括:外交织器配置信息、内交织器和内解交织器配置信息、译码长度配置信息、译码信息处理配置信息和译码算法配置信息的至少一项;其中,译码特征包括:译码长度、译码码元速率以及译码多项式的中的至少一种。
在一个实施例中,计算机程序被处理器执行时进一步实现以下步骤:获取待译码数据的译码长度;译码长度包括编码长度以及译码后长度;确定与编码长度相适应的外交织器长度;确定与译码后长度相适应的内交织器长度;确定与待译码数据相适应的目标RAM,目标RAM需与外交织器长度和内交织器长度相适应。
在一个实施例中,计算机程序被处理器执行时进一步实现以下步骤:获取待译码数据的译码码元速率;获取待译码数据的有效信息排序规则和校验信息排序规则;根据有效信息排序规则和校验信息排序规则以及译码码元速率得到待译码数据位置解恢复表;根据待译码数据位置解恢复表确定与译码码元速率相适应的目标RAM。
在一个实施例中,计算机程序被处理器执行时进一步实现以下步骤:获取待译码数据的译码多项式;根据译码多项式选择log-max算法中delta值、alpha值和beta值的计算公式;根据计算公式确定与译码多项式相适应的目标RAM。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取待译码数据对应的参数区间;根据预先设置的参数区间与重量化参数之间的对应关系,确定与待译码数据对应的重量化参数;根据重量化参数确定目标RAM。
在一个实施例中,计算机程序被处理器执行时进一步实现以下步骤:通过译码参数对待译码数据运用log-max算法迭代计算delta值、alpha值和beta值,并根据delta值、alpha值和beta值计算似然估计值llr;若迭代次数等于预先设定的迭代次数阈值,获取似然估计值llr;根据似然估计值llr的符号位输出与似然估计值llr对应的译码码元。
上述计算机可读存储介质,通过其存储的计算机程序,能够同时实现对不同的码元速率、对不同译码长度、对不同多项式的Turbo译码支持,从而扩大了Turbo译码器的适用范围。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种Turbo译码方法,其特征在于,包括步骤:
获取Turbo译码器接收的待译码数据,确定所述待译码数据的译码特征;
确定与所述译码特征相适应的目标RAM;所述目标RAM存储有与所述译码特征相适应的预先配置的译码参数;若所述译码特征包括译码码元速率,所述确定与所述译码特征相适应的目标RAM,还包括:获取所述待译码数据的译码码元速率;获取所述待译码数据的有效信息排序规则和校验信息排序规则;根据所述有效信息排序规则和校验信息排序规则以及所述译码码元速率得到待译码数据位置解恢复表;根据所述待译码数据位置解恢复表确定与所述译码码元速率相适应的所述目标RAM;
通过所述目标RAM中存储的所述译码参数对所述待译码数据进行译码;所述译码参数包括:外交织器配置信息、内交织器和内解交织器配置信息、译码长度配置信息、译码信息处理配置信息和译码算法配置信息的至少一项;
其中,所述译码特征包括:译码长度、译码码元速率以及译码多项式的中的至少一种。
2.根据权利要求1所述的方法,其特征在于,若所述译码特征包括译码长度,所述确定与所述译码特征相适应的目标RAM,包括:
获取所述待译码数据的译码长度;所述译码长度包括编码长度以及译码后长度;
确定与所述编码长度相适应的外交织器长度;
确定与所述译码后长度相适应的内交织器长度;
确定与所述待译码数据相适应的目标RAM,所述目标RAM需与外交织器长度和内交织器长度相适应。
3.根据权利要求1所述的方法,其特征在于,若所述译码特征包括译码多项式,所述确定与所述译码特征相适应的目标RAM,还包括:
获取所述待译码数据的译码多项式;
根据所述译码多项式选择log-max算法中delta值、alpha值和beta值的计算公式;
根据所述计算公式确定与所述译码多项式相适应的目标RAM。
4.根据权利要求1所述的方法,其特征在于,还包括:
获取所述待译码数据对应的参数区间;
根据预先设置的参数区间与重量化参数之间的对应关系,确定与所述待译码数据对应的重量化参数;
根据所述重量化参数确定所述目标RAM。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述通过目标RAM中存储的译码参数对待译码数据进行译码,包括:
通过所述译码参数对所述待译码数据运用log-max算法迭代计算delta值、alpha值和beta值,并根据delta值、alpha值和beta值计算似然估计值llr;
若迭代次数等于预先设定的迭代次数阈值,获取所述似然估计值llr;
根据所述似然估计值llr的符号位输出与所述似然估计值llr对应的译码码元。
6.一种Turbo译码装置,其特征在于,包括:
译码特征确定模块,用于获取Turbo译码器接收的待译码数据,确定所述待译码数据的译码特征;
目标RAM确定模块,用于确定与所述译码特征相适应的目标RAM;所述目标RAM存储有与所述译码特征相适应的预先配置的译码参数;若所述译码特征包括译码码元速率,目标RAM确定模块,进一步用于获取所述待译码数据的译码码元速率;获取所述待译码数据的有效信息排序规则和校验信息排序规则;根据所述有效信息排序规则和校验信息排序规则以及所述译码码元速率得到待译码数据位置解恢复表;根据所述待译码数据位置解恢复表确定与所述译码码元速率相适应的所述目标RAM;
译码模块,用于通过所述目标RAM中存储的所述译码参数对所述待译码数据进行译码;所述译码参数包括:外交织器配置信息、内交织器和内解交织器配置信息、译码长度配置信息、译码信息处理配置信息和译码算法配置信息的至少一项;
其中,所述译码特征包括:译码长度、译码码元速率以及译码多项式的中的至少一种。
7.根据权利要求6所述的装置,其特征在于,若所述译码特征包括译码长度,目标RAM确定模块,进一步用于获取所述待译码数据的译码长度;所述译码长度包括编码长度以及译码后长度;确定与所述编码长度相适应的外交织器长度;确定与所述译码后长度相适应的内交织器长度;确定与所述待译码数据相适应的目标RAM,所述目标RAM需与外交织器长度和内交织器长度相适应。
8.根据权利要求6所述的装置,其特征在于,若所述译码特征包括译码多项式,目标RAM确定模块,进一步用于获取所述待译码数据的译码多项式;根据所述译码多项式选择log-max算法中delta值、alpha值和beta值的计算公式;根据所述计算公式确定与所述译码多项式相适应的目标RAM。
9.一种Turbo译码器,包括处理器和存储器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911171099.0A CN112865815B (zh) | 2019-11-26 | 2019-11-26 | Turbo译码方法、装置、Turbo译码器和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911171099.0A CN112865815B (zh) | 2019-11-26 | 2019-11-26 | Turbo译码方法、装置、Turbo译码器和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112865815A CN112865815A (zh) | 2021-05-28 |
CN112865815B true CN112865815B (zh) | 2024-01-02 |
Family
ID=75984801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911171099.0A Active CN112865815B (zh) | 2019-11-26 | 2019-11-26 | Turbo译码方法、装置、Turbo译码器和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112865815B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101060339A (zh) * | 2006-04-20 | 2007-10-24 | 北京信威通信技术股份有限公司 | 一种在SCDMA系统中实现Turbo编译码方案的装置和方法 |
CN101350626A (zh) * | 2007-07-20 | 2009-01-21 | 大唐移动通信设备有限公司 | 一种Turbo码编码装置及方法 |
CN101499805A (zh) * | 2008-01-31 | 2009-08-05 | 华为技术有限公司 | 一种编码、解码方法以及编码、解码装置 |
CN101753153A (zh) * | 2008-12-04 | 2010-06-23 | 大唐移动通信设备有限公司 | 一种Turbo码编码器、译码器及编码、译码方法 |
CN102231632A (zh) * | 2011-05-26 | 2011-11-02 | 大唐移动通信设备有限公司 | Turbo编码/ Turbo译码方法及装置 |
CN104579369A (zh) * | 2014-12-18 | 2015-04-29 | 中国科学院自动化研究所 | 一种Turbo迭代译码方法和译码装置 |
CN105162475A (zh) * | 2015-08-19 | 2015-12-16 | 中国人民解放军海军工程大学 | 一种基于fpga的参数化多标准高吞吐率译码器 |
WO2018090629A1 (zh) * | 2016-11-21 | 2018-05-24 | 深圳市中兴微电子技术有限公司 | 一种解交织解速率匹配的方法、装置及计算机存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6925592B2 (en) * | 2001-05-10 | 2005-08-02 | Hitachi, Ltd. | Turbo decoder, turbo encoder and radio base station with turbo decoder and turbo encoder |
JP3624874B2 (ja) * | 2001-11-19 | 2005-03-02 | 日本電気株式会社 | インターリービング順序発生器、インターリーバ、ターボエンコーダ、及びターボデコーダ |
CN103905067B (zh) * | 2012-12-27 | 2018-05-11 | 中兴通讯股份有限公司 | 多模译码器实现方法及装置 |
-
2019
- 2019-11-26 CN CN201911171099.0A patent/CN112865815B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101060339A (zh) * | 2006-04-20 | 2007-10-24 | 北京信威通信技术股份有限公司 | 一种在SCDMA系统中实现Turbo编译码方案的装置和方法 |
CN101350626A (zh) * | 2007-07-20 | 2009-01-21 | 大唐移动通信设备有限公司 | 一种Turbo码编码装置及方法 |
CN101499805A (zh) * | 2008-01-31 | 2009-08-05 | 华为技术有限公司 | 一种编码、解码方法以及编码、解码装置 |
CN101753153A (zh) * | 2008-12-04 | 2010-06-23 | 大唐移动通信设备有限公司 | 一种Turbo码编码器、译码器及编码、译码方法 |
CN102231632A (zh) * | 2011-05-26 | 2011-11-02 | 大唐移动通信设备有限公司 | Turbo编码/ Turbo译码方法及装置 |
CN104579369A (zh) * | 2014-12-18 | 2015-04-29 | 中国科学院自动化研究所 | 一种Turbo迭代译码方法和译码装置 |
CN105162475A (zh) * | 2015-08-19 | 2015-12-16 | 中国人民解放军海军工程大学 | 一种基于fpga的参数化多标准高吞吐率译码器 |
WO2018090629A1 (zh) * | 2016-11-21 | 2018-05-24 | 深圳市中兴微电子技术有限公司 | 一种解交织解速率匹配的方法、装置及计算机存储介质 |
Non-Patent Citations (1)
Title |
---|
LET系统中信道编码的研究及Turbo码的FPGA实现;赵晓刚;《中国硕士学位论文全文数据库信息科技辑》;第I136-218页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112865815A (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7409606B2 (en) | Method and system for interleaving in a parallel turbo decoder | |
US20150143194A1 (en) | Reduced complexity non-binary ldpc decoding algorithm | |
JP2006148937A (ja) | 統合ノード処理を用いる低密度パリティ検査符号の復号方法及び装置 | |
RU2571597C2 (ru) | Способ и устройство для декодирования турбокода | |
JP2019057812A (ja) | メモリシステム | |
CN110572164B (zh) | Ldpc译码方法、装置、计算机设备及存储介质 | |
Prescher et al. | A parametrizable low-power high-throughput turbo-decoder | |
CN112865815B (zh) | Turbo译码方法、装置、Turbo译码器和存储介质 | |
US20110087949A1 (en) | Reconfigurable turbo interleavers for multiple standards | |
JP4554366B2 (ja) | データウィンドウを使用してデータを復号化するための方法 | |
US8869009B2 (en) | Read commands specifying error performance | |
JP4244700B2 (ja) | ターボ復号器及びそれに用いるダイナミック復号方法 | |
JP7429223B2 (ja) | ターボ積符号の復号方法、装置、デコーダー及びコンピュータ記憶媒体 | |
JP2009246474A (ja) | ターボデコーダ | |
CN108959977B (zh) | 一种适用于sram puf的软硬混合解码方法 | |
US8468410B2 (en) | Address generation apparatus and method for quadratic permutation polynomial interleaver | |
CN114598419B (zh) | 交织器、解交织器、及其执行的方法 | |
CN101931415B (zh) | 编码装置及方法、译码装置及方法和纠错系统 | |
CN101336517A (zh) | 用于在移动通信系统中控制交织器/去交织器存储器的设备和方法 | |
EP4072023A1 (en) | Decoding method, decoder, and decoding device | |
US9866240B2 (en) | Map algorithm-based turbo decoding method and apparatus, and computer storage medium | |
CN103916141B (zh) | Turbo码译码方法及装置 | |
CN110011670A (zh) | 基于ssd数据保护的ldpc译码方法和装置 | |
CN107302371B (zh) | 一种turbo码译码系统及译码方法 | |
JP5567216B2 (ja) | 反復ターボ復号器における反復を停止するための方法及び反復ターボ復号器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |