CN112953567A - Turbo编码方法和装置、电子设备和存储介质 - Google Patents

Turbo编码方法和装置、电子设备和存储介质 Download PDF

Info

Publication number
CN112953567A
CN112953567A CN202110090676.4A CN202110090676A CN112953567A CN 112953567 A CN112953567 A CN 112953567A CN 202110090676 A CN202110090676 A CN 202110090676A CN 112953567 A CN112953567 A CN 112953567A
Authority
CN
China
Prior art keywords
matrix
coding
divided
turbo
output
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.)
Pending
Application number
CN202110090676.4A
Other languages
English (en)
Inventor
刘大可
刘邵晗
薛萍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jixin Communication Technology Nanjing Co ltd
Original Assignee
Jixin Communication Technology Nanjing Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jixin Communication Technology Nanjing Co ltd filed Critical Jixin Communication Technology Nanjing Co ltd
Priority to CN202110090676.4A priority Critical patent/CN112953567A/zh
Publication of CN112953567A publication Critical patent/CN112953567A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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

Abstract

本发明提供一种Turbo编码方法和装置、电子设备和存储介质,其中所述方法包括:将Turbo编码器中的成员编码器的串行输出按bit流水的一维进行编码,并提取时刻信息,基于所述时刻信息,将所述成员编码器的串行输出转化成成员编码器的二维生成矩阵;基于生成多项式的特点,将所述二维生成矩阵转化为若干个分成矩阵;基于每个所述分成矩阵及其对应的预设查找表,对输入信息进行并行编码后输出;所述预设查找表为对应所述分成矩阵的所有相匹配的输入向量和输出向量所列的表。本发明经过有限且很少的步骤同时得出连续多个输入信息的编码结果,大大减小了功耗,缩短了编码时间,用存储资源换取编码速度的增大。

Description

Turbo编码方法和装置、电子设备和存储介质
技术领域
本发明涉及通信技术领域,尤其涉及一种Turbo编码方法及系统。
背景技术
无线通信相对有线通信而言,其数据传输的带宽资源有限,且传输信道环境较为恶劣。为提高数据传输效率,数据传输时通常需要对信道内的数据流进行编码,以降低误码率,进而增强信道可靠性。Turbo码在信道信噪比较低的高噪声环境下性能优越,还具有较强的抗衰落、抗干扰的能力。由于时变衰落信道以及干扰和噪声之类的原因,无线传输过程中无线信号的可靠性降低了。Turbo码将卷积码作为其成员码,并且引入了内交织器,以便降低相关性。Turbo码的性能理论上可以接近香农极限。
Turbo编码过程中,对输入信息比特进行分组编码,每个码组的编码输出比特不仅与该分组的信息比特有关,还与前面时刻的其他分组的信息比特有关。所以传统的处理方法是输入数据以比特流的形式,逐个比特输入,按照卷积编码器设定的处理规则输出。
Turbo编码处理的方式有多种,Turbo编码器的传统实现结构时采用单比特编码方式,一个时钟周期处理一个输入bite。为提高通信系统的吞吐量,目前通常采用以逻辑资源换速度的并行turbo编码,对并行的系统比特流进行并行编码,每一路并行使用各自的逻辑资源,资源成倍增加。
例如,专利CN200910151557.4提供了一种对数据进行并行编码处理的装置,包括:第一并行编码器,用于对从第一路输入的M位输入数据进行并行编码处理;内交织器,用于对从平行于第一路的第二路输入的M位输入数据进行内交织处理;以及第二并行编码器,用于接收经内交织处理的数据,并对经内交织处理的数据进行并行编码处理,其中,M=2m,m是大于0小于13的整数,并且,所述输入数据的总位数能够被M整除。以上方法通过时间扩展,导出连续M个时刻的编码公式,同时并行计算这M个时刻的编码公式。速度提升依赖于实现结构的并行路径数量,仅比传统方法提升M倍,M最大取值26,但是该方法需要的逻辑资源成倍增加,功耗也相应增加,不利于实现。
发明内容
本发明提供一种Turbo编码方法和装置、电子设备和存储介质,用以解决现有技术中存在的技术缺陷。
本发明提供一种Turbo编码方法,包括:
将Turbo编码器中的成员编码器的串行输出按bit流水的一维进行编码,并提取时刻信息,基于所述时刻信息,将所述成员编码器的串行输出转化成成员编码器的二维生成矩阵;
基于生成多项式的特点,将所述二维生成矩阵转化为若干个分成矩阵;
基于每个所述分成矩阵及其对应的预设查找表,对输入信息进行并行编码后输出;
所述预设查找表为对应所述分成矩阵的所有相匹配的输入向量和输出向量所列的表。
优选的是,所述的Turbo编码方法,其中,包括:分别对所述成员编码器的串行输出连续n个时刻的编码公式采用矩阵表示,其中,n为自然数,所述成员编码器的串行输出包括反馈部分的编码输出和正向部分的编码输出。
优选的是,所述的Turbo编码方法,其中,所述反馈部分的编码输出等于矩阵A(n+h)x(n+h)的逆乘以输入码,其中h为生成矩阵阶数。
优选的是,所述的Turbo编码方法,其中,所述正向部分的编码输出等于正向部分生成矩阵乘以所述反馈部分的编码输出,得到矩阵B(n+h)x(n+h),所述成员编码器的二维生成矩阵G(n+h)x(n+h)由矩阵B(n+h)x(n+h)乘以矩阵A(n+h)x(n+h)的逆得到。
优选的是,所述的Turbo编码方法,其中,所述基于生成多项式的特点,将所述二维生成矩阵转化为若干个分成矩阵包括:将二维生成矩阵的前h列为初值计算部分H0(n+h)×h分为上下两个分成矩阵,右侧加r-h列零元素得到
Figure BDA0002912550680000031
将后n列平均分成n/r个分成矩阵Hi(n+h)×r,每个分成矩阵Hi(n+h)×r再分为上下两个分成矩阵
Figure BDA0002912550680000032
得到
Figure BDA0002912550680000033
个r列的分成矩阵,其中,i小于等于n/r。
优选的是,所述的Turbo编码方法,其中,所述基于每个所述分成矩阵及其对应的预设查找表,对输入信息进行并行编码后输出之前还包括:将所述分成矩阵
Figure BDA00029125506800000310
后面添加
Figure BDA0002912550680000035
行0元素,得到
Figure BDA0002912550680000036
矩阵全部统一为
Figure BDA0002912550680000037
行r列的矩阵,编码输出dk~dk+n-1由计算G(n+h)x(n+h)乘以所述输入信息D2、D1、D0、0、ck~ck+n-1,转换为
Figure BDA0002912550680000038
Figure BDA0002912550680000039
行r列的生成矩阵对应乘以D2、D1、D0、0或ck+(i-1)×r~ck+i×r得到。
优选的是,所述的Turbo编码方法,其中,通过查找表计算矩阵运算,对应各个矩阵的查找表为Tablel、Table2至
Figure BDA0002912550680000041
将所述查找表配置给
Figure BDA0002912550680000042
Figure BDA0002912550680000043
的SRAM,每个SRAM结果对应于矩阵元素相应位置做异或,完成编码。
本发明提供了一种Turbo编码装置,其特征在于,包括:
二维生成矩阵确定模块,用于将Turbo编码器中的成员编码器的串行输出按bit流水的一维进行编码,并提取时刻信息,基于所述时刻信息,将所述成员编码器的串行输出转化成成员编码器的二维生成矩阵;
分成矩阵确定模块,用于基于生成多项式的特点,将所述二维生成矩阵转化为若干个分成矩阵;
并行编码模块,用于基于每个所述分成矩阵及其对应的预设查找表,对输入信息进行并行编码后输出;
所述预设查找表为对应所述分成矩阵的所有相匹配的输入向量和输出向量所列的表。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述Turbo编码方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述Turbo编码方法的步骤。
本发明把turbo的成员编码器串行按bit流水的一维计算,提取时刻信息后,转化成二维矩阵运算;同时根据生成多项式的特点,把大矩阵转化为很少的几个小矩阵;最后通过查找表形式快速并行进行turbo编码;同时考虑到硬件实现中要尽量减少逻辑和存储资源,根据生成矩阵的特性,用多个小规模查找表来实现大规模并行编码。经过有限且很少的步骤同时得出连续多个输入信息的编码结果,大大减小了功耗,缩短了编码时间,用存储资源换取编码速度的增大。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的Turbo编码方法的流程示意图之一;
图2是本发明提供的Turbo编码装置的结构示意图;
图3是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种Turbo编码方法,参见图1,包括:
S1:将Turbo编码器中的成员编码器的串行输出按bit流水的一维进行编码,并提取时刻信息,基于所述时刻信息,将所述成员编码器的串行输出转化成成员编码器的二维生成矩阵;
S2:基于生成多项式的特点,将所述二维生成矩阵转化为若干个分成矩阵;
S3:基于每个所述分成矩阵及其对应的预设查找表,对输入信息进行并行编码后输出;
所述预设查找表为对应所述分成矩阵的所有相匹配的输入向量和输出向量所列的表。
其中,已知一个二维矩阵,这个二位矩阵乘以一维向量(输入向量),一维向量的元素个数就是二维矩阵的列数,得到结果是元素个数为二位矩阵行数的一维向量(输出向量)。每个输入向量,对应一个结果输出向量,把所有匹配的输入向量和输出向量列成一个表,这个表就是预设查找表,把输入向量作为ram地址,输出向量作为ram的存储内容,预设查找表即可存储在ram里。
本发明把turbo的成员编码器串行按bit流水的一维计算,提取时刻信息后,转化成二维矩阵运算;同时根据生成多项式的特点,把大矩阵转化为很少的几个小矩阵;最后通过查找表形式快速并行进行turbo编码;同时考虑到硬件实现中要尽量减少逻辑和存储资源,根据生成矩阵的特性,用多个小规模查找表来实现大规模并行编码。经过有限且很少的步骤同时得出连续多个输入信息的编码结果。大大缩短了编码时间,用存储资源换取编码速度的增大。
进一步的,该方法包括:分别对所述成员编码器的串行输出连续n个时刻的编码公式采用矩阵表示,其中,n为自然数,所述成员编码器的串行输出包括反馈部分的编码输出和正向部分的编码输出。
所述反馈部分的编码输出等于矩阵A(n+h)x(n+h)的逆乘以输入码,其中h为生成矩阵阶数。反馈部分的编码结果只与当前输入和前h(h为生成矩阵阶数)时刻的编码输出有关,对于每一时刻的编码公式,输入ck+i等于k+i时刻开始往前的h+1个编码输出乘以反馈部分生成多项式的逆(g0mk+i+g1mk+i-1+…+ghmk+i-h),把这n个时刻的公式用矩阵表示出来,这里已知多项式的逆元,得到多项式逆元矩阵,为计算方便矩阵前面扩展h行初值部分,得到矩阵A(n+h)x(n+h),所以反馈部分编码输出等于矩阵A(n+h)x(n+h)的逆乘以输入码。
所述正向部分的编码输出等于正向部分生成矩阵乘以所述反馈部分的编码输出,得到矩阵B(n+h)x(n+h),所述成员编码器的二维生成矩阵G(n+h)x(n+h)由矩阵B(n+h)x(n+h)乘以矩阵A(n+h)x(n+h)的逆得到。正向部分的编码结果dk+i与当前输入mk+i及前h(h为生成矩阵阶数)时刻的输入mk+i-1,···,mk+i-h有关,用矩阵表示,编码结果dk等于正向部分生成矩阵Bnx(n+h)乘以反馈部分的编码输出mk。为计算方便矩阵后面扩展h行初值部分,得到矩阵B(n+h)x(n+h)
由矩阵B(n+h)x(n+h)乘以矩阵A(n+h)x(n+h)的逆,得到成员编码器的二维生成矩阵G(n+h)x(n+h)。G矩阵的前h列为初值计算部分H0(n+h)×h分为上下两个分成矩阵,右侧加r-h列零元素得到
Figure BDA0002912550680000071
将后n列平均分成n/r个矩阵Hi(n+h)×r,每个矩阵再为上下两部分
Figure BDA0002912550680000072
i小于等于n/r;因A和B矩阵的都是稀疏矩阵,计算后发现,
Figure BDA0002912550680000073
根据上面所得到
Figure BDA0002912550680000074
个r列的分成矩阵,将
Figure BDA00029125506800000711
后面添加
Figure BDA0002912550680000076
行0元素,得到
Figure BDA0002912550680000077
矩阵全部统一为
Figure BDA0002912550680000078
行r列的矩阵,编码输出dk~dk+n-1由计算G(n+h)x(n+h)乘以输入数据D2、D1、D0、0、ck~ck+n-1,转换为
Figure BDA0002912550680000079
Figure BDA00029125506800000710
行r列的分成矩阵对应乘以D2、D1、D0、0或ck+(i-1)×r~ck+i×r得到。
所述基于生成多项式的特点,将所述二维生成矩阵转化为若干个分成矩阵包括:将二维生成矩阵的前h列为初值计算部分H0(n+h)×h分为上下两个分成矩阵,右侧加r-h列零元素得到
Figure BDA0002912550680000081
将后n列平均分成n/r个分成矩阵Hi(n+h)×r,每个分成矩阵Hi(n+h)×r再分为上下两个分成矩阵
Figure BDA0002912550680000082
得到
Figure BDA0002912550680000083
个r列的分成矩阵,其中,i小于等于n/r。
所述基于每个所述分成矩阵及其对应的预设查找表,对输入信息进行并行编码后输出之前还包括:将所述分成矩阵
Figure BDA00029125506800000813
后面添加
Figure BDA0002912550680000085
行0元素,得到
Figure BDA0002912550680000086
矩阵全部统一为
Figure BDA0002912550680000087
行r列的矩阵,编码输出dk~dk+n-1由计算G(n+h)x(n+h)乘以所述输入信息D2、D1、D0、0、ck~ck+n-1,转换为
Figure BDA0002912550680000088
Figure BDA0002912550680000089
行r列的二维生成矩阵对应乘以D2、D1、D0、0或ck+(i-1)×r~ck+i×r得到。
通过查找表计算矩阵运算,对应各个矩阵的查找表为Table1、Table2至
Figure BDA00029125506800000810
将所述查找表配置给
Figure BDA00029125506800000811
Figure BDA00029125506800000812
的SRAM,每个SRAM结果对应于矩阵元素相应位置做异或,完成编码。应用时将输入的r bit状态信息作为SRAM地址查询便可获得设计输出,每个SRAM都等效于完成了一个小矩阵乘法,伽罗瓦域运算的相加与异或等效,每个查找表SRAM结果对应于矩阵元素相应位置做异或便可完成成员编码器运算。
具体的,Turbo编码器结构如下式1-1Turbo编码器,两个相同的成员编码器和一个交织器组成,其中成员编码器如下式1-2:
设寄存器中初始值分别为D2、D1、D0,输入为ck。下式1-3和下式1-4所示编码器可分解为如下两部分:
首先,我们对下式1-3所示的内容进行讨论,,设该部分输出为mk,易得:
mk=D0+D1+ck ck=D0+D1+mk
mk+1=D1+D2+ck+1 ck+1=D1+D2+mk+1
mk+2=D2+mk+ck+2 ck+2=D2+mk+mk+2
mk+3=mk+mk+1+ck+3 ck+3=mk+mk+1+mk+3
mk+4=mk+1+mk+2+ck+4 ck+4=mk+1+mk+2+mk+4
...................... .........................
mk+n=mk+n-3+mk+n-2+ck+n(1-1)→ck+n=mk+n-3+mk+n-2+mk+n(1-2)
由简单的矩阵乘法易得:
Figure BDA0002912550680000091
由(1-3)易得:
Figure BDA0002912550680000101
Figure BDA0002912550680000102
由于A是下三角矩阵且对角线元素均不为零,所以A矩阵可逆。故有:
[D0 D1 D2 mk mk+1 … mk+n]T=A-1×[D0 D1 D2 ck ck+1 … ck+n]T(1-5)
(1-5)中A只与上述结构有关,故(1-5)表明当上述结构已知时,上述结构可并行处理任意比特,输出为mk序列。
然后我们对下式1-4所示的部分进行讨论,输入为mk,输出为dk,易得:
dk=D0+D2+mk
dk+1=D1+mk+mk+1
dk+2=D2+mk+1+mk+2
dk+3=mk+mk+2+mk+3
dk+4=mk+1+mk+3+mk+4
..............................
dk+n=mk+n-3+mk+n-1+mk+n (1-6)
由简单的矩阵乘法易得:
Figure BDA0002912550680000111
故当上述部分结构已知时,上述部分可实现并行处理任意比特。综上所述,可得出结论:Turbo编码器的结构已知,可实现并行处理任意比特。
将(1-7)矩阵公式增加冗余部分可得公式(1-8):
Figure BDA0002912550680000112
Figure BDA0002912550680000113
其中04×60表示一个4行60列的全零矩阵,则有:
Figure BDA0002912550680000114
并行度为60时,(1-5)中n=59,(1-5)可以写为:
[D0 D1 D2 mk mk+1 … mk+59]T=A-1×[D0 D1 D2 ck ck+1 … ck+59]T(1-9)
将(1-9)代入(7-8)可得(1-10)如下:
Figure BDA0002912550680000121
Figure BDA0002912550680000122
将G按列分为:
Figure BDA0002912550680000123
其中H1~H16、R1~R8均为32×4的矩阵。0为32×4的全零矩阵。
将[D0 D1 D2 ck ck+1 ck+2 … ck+59]T按行分为1个3×1的矩阵和15个4×1的矩阵,根据矩阵的分解相乘原理(1-10)可写为以下形式:
Figure BDA0002912550680000124
注意到(1-11)最后的形式为F132×4×P14×1+F232×4×P24×1+F332×4×P34×1+…,接下来就是和第零章的对接,理解这23个矩阵相乘到23个SRAM的映射了,顺便也能获得相应的Table1、Table2、...Table23。
除此之外,注意到(1-11)第一个矩阵相乘并不满足形式F32×4×P4×1,故而进行如下操作:
设M1′32×4=[M132×3 032×1],M2′32×4=[M232×2 032×1],
使用M1’分别与[0 0 0 0]T、[0 0 0 1]T、[0 0 1 0]T、[0 0 1 1]T、[0 1 0 0]T、······、[1 1 1 1]T这16个线性无关列向量相乘并将结果转置顺序排列便可获得Table24。
使用M2’分别与[0 0 0 0]T、[0 0 0 1]T、[0 0 1 0]T、[0 0 1 1]T、[0 1 0 0]T、······、[1 1 1 1]T这16个线性无关列向量相乘并将结果转置顺序排列便可获得Table25。
这里需要指出:上述对M1和M2的操作等效于将
Figure BDA0002912550680000131
代入第零章,而同样可以注意到(1-10)的等号左边(输出)最后四位是mk+57、mk+58、mk+59、0,其中前三位分别对应下一次循环所使用的的前三个初始值,最后一位固定为0,而之后在7.3的架构可以发现mk+57、mk+58、mk+59、0进入了MUX并在除了第一轮之外均用来查询表Table24、Table25,也就是说实际使用时上面的D3=0为固值,而对M1和M2进行添加一列全零矩阵,这两点将保证
Figure BDA0002912550680000132
Figure BDA0002912550680000133
的结果完全一致。
将这25张表配置给25个16×32的SRAM,应用时将输入的4bit状态信息作为SRAM地址查询便可获得设计输出,每个SRAM都等效于完成了(1-11)中的一个矩阵乘法,伽罗瓦域运算的相加与异或等效,故只需将(1-11)中的相加项映射到相应的SRAM结果设计相应异或便可完成(1-11)的运算。计算过程见上式1-5,
MUX:在开始时选择初始值(标准中定义初始值固定为0)。否则,它将选择TXOR0模块的输出(最后四位比特)。
TXOR1:将输入的9个32比特数据进行异或,并将异或结果(32bit)输出
TXOR0:将输入的16个32比特数据进行异或,并将异或结果(32bit)的前28bit输出,后4bit输入MUX作为下次循环的初始值;
注:上式中每个LUT中有划分了8个区域用于表示8个SRAM,每个区域表有T1、......、T25表示该SRAM装配了Table1、......、Table25。“空”或者空白表示该SRAM没有装配任何表(此算法编码过程中不会使用到该SRAM区域)。
下面对本发明提供的Turbo编码装置进行描述,下文描述的Turbo编码装置与上文描述的Turbo编码方法可相互对应参照。
本发明实施例公开了一种Turbo编码装置,参见图2,包括:
二维生成矩阵确定模块10,用于将Turbo编码器中的成员编码器的串行输出按bit流水的一维进行编码,并提取时刻信息,基于所述时刻信息,将所述成员编码器的串行输出转化成成员编码器的二维生成矩阵;
分成矩阵确定模块20,用于基于生成多项式的特点,将所述二维生成矩阵转化为若干个分成矩阵;
并行编码模块30,用于基于每个所述分成矩阵及其对应的预设查找表,对输入信息进行并行编码后输出;
所述预设查找表为对应所述分成矩阵的所有相匹配的输入向量和输出向量所列的表。
图3示例了一种电子设备的实体结构示意图,该电子设备可以包括:处理器(processor)310、通信接口(Communications Interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行一种Turbo编码方法,该方法包括:
S1:将Turbo编码器中的成员编码器的串行输出按bit流水的一维进行编码,并提取时刻信息,基于所述时刻信息,将所述成员编码器的串行输出转化成成员编码器的二维生成矩阵;
S2:基于生成多项式的特点,将所述二维生成矩阵转化为若干个分成矩阵;
S3:基于每个所述分成矩阵及其对应的预设查找表,对输入信息进行并行编码后输出;
所述预设查找表为对应所述分成矩阵的所有相匹配的输入向量和输出向量所列的表。
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行一种Turbo编码方法,该方法包括:
S1:将Turbo编码器中的成员编码器的串行输出按bit流水的一维进行编码,并提取时刻信息,基于所述时刻信息,将所述成员编码器的串行输出转化成成员编码器的二维生成矩阵;
S2:基于生成多项式的特点,将所述二维生成矩阵转化为若干个分成矩阵;
S3:基于每个所述分成矩阵及其对应的预设查找表,对输入信息进行并行编码后输出;
所述预设查找表为对应所述分成矩阵的所有相匹配的输入向量和输出向量所列的表。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行一种Turbo编码方法,该方法包括:
S1:将Turbo编码器中的成员编码器的串行输出按bit流水的一维进行编码,并提取时刻信息,基于所述时刻信息,将所述成员编码器的串行输出转化成成员编码器的二维生成矩阵;
S2:基于生成多项式的特点,将所述二维生成矩阵转化为若干个分成矩阵;
S3:基于每个所述分成矩阵及其对应的预设查找表,对输入信息进行并行编码后输出;
所述预设查找表为对应所述分成矩阵的所有相匹配的输入向量和输出向量所列的表。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种Turbo编码方法,其特征在于,包括:
将Turbo编码器中的成员编码器的串行输出按bit流水的一维进行编码,并提取时刻信息,基于所述时刻信息,将所述成员编码器的串行输出转化成成员编码器的二维生成矩阵;
基于生成多项式的特点,将所述二维生成矩阵转化为若干个分成矩阵;
基于每个所述分成矩阵及其对应的预设查找表,对输入信息进行并行编码后输出;
所述预设查找表为对应所述分成矩阵的所有相匹配的输入向量和输出向量所列的表。
2.根据权利要求1所述的Turbo编码方法,其特征在于,包括:分别对所述成员编码器的串行输出连续n个时刻的编码公式采用矩阵表示,其中,n为自然数,所述成员编码器的串行输出包括反馈部分的编码输出和正向部分的编码输出。
3.根据权利要求2所述的Turbo编码方法,其特征在于,所述反馈部分的编码输出等于矩阵A(n+h)x(n+h)的逆乘以输入码,其中h为生成矩阵阶数。
4.根据权利要求3所述的Turbo编码方法,其特征在于,所述正向部分的编码输出等于正向部分生成矩阵乘以所述反馈部分的编码输出,得到矩阵B(n+h)x(n+h),所述成员编码器的二维生成矩阵G(n+h)x(n+h)由矩阵B(n+h)x(n+h)乘以矩阵A(n+h)x(n+h)的逆得到。
5.根据权利要求4所述的Turbo编码方法,其特征在于,所述基于生成多项式的特点,将所述二维生成矩阵转化为若干个分成矩阵包括:将二维生成矩阵的前h列为初值计算部分H0(n+h)×h分为上下两个分成矩阵,右侧加r-h列零元素得到
Figure FDA0002912550670000021
将后n列平均分成n/r个分成矩阵Hi(n+h)×r,每个分成矩阵Hi(n+h)×r再分为上下两个分成矩阵
Figure FDA0002912550670000022
得到
Figure FDA0002912550670000023
个r列的分成矩阵,其中,i小于等于n/r。
6.根据权利要求5所述的Turbo编码方法,其特征在于,所述基于每个所述分成矩阵及其对应的预设查找表,对输入信息进行并行编码后输出之前还包括:将所述分成矩阵
Figure FDA0002912550670000024
后面添加
Figure FDA0002912550670000025
行0元素,得到
Figure FDA0002912550670000026
矩阵全部统一为
Figure FDA0002912550670000027
行r列的矩阵,编码输出dk~dk+n-1由计算G(n+h)x(n+h)乘以所述输入信息D2、D1、D0、0、ck~ck+n-1,转换为
Figure FDA0002912550670000028
Figure FDA0002912550670000029
行r列的生成矩阵对应乘以D2、D1、D0、0或ck+(i-1)×r~ck+i×r得到。
7.根据权利要求1所述的Turbo编码方法,其特征在于,通过查找表计算矩阵运算,对应各个矩阵的查找表为Table1、Table2至
Figure FDA00029125506700000210
将所述查找表配置给
Figure FDA00029125506700000211
Figure FDA00029125506700000212
的SRAM,每个SRAM结果对应于矩阵元素相应位置做异或,完成编码。
8.一种Turbo编码装置,其特征在于,包括:
二维生成矩阵确定模块,用于将Turbo编码器中的成员编码器的串行输出按bit流水的一维进行编码,并提取时刻信息,基于所述时刻信息,将所述成员编码器的串行输出转化成成员编码器的二维生成矩阵;
分成矩阵确定模块,用于基于生成多项式的特点,将所述二维生成矩阵转化为若干个分成矩阵;
并行编码模块,用于基于每个所述分成矩阵及其对应的预设查找表,对输入信息进行并行编码后输出;
所述预设查找表为对应所述分成矩阵的所有相匹配的输入向量和输出向量所列的表。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述Turbo编码方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述Turbo编码方法的步骤。
CN202110090676.4A 2021-01-22 2021-01-22 Turbo编码方法和装置、电子设备和存储介质 Pending CN112953567A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110090676.4A CN112953567A (zh) 2021-01-22 2021-01-22 Turbo编码方法和装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110090676.4A CN112953567A (zh) 2021-01-22 2021-01-22 Turbo编码方法和装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN112953567A true CN112953567A (zh) 2021-06-11

Family

ID=76236007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110090676.4A Pending CN112953567A (zh) 2021-01-22 2021-01-22 Turbo编码方法和装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN112953567A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115134475A (zh) * 2022-08-31 2022-09-30 智联信通科技股份有限公司 一种衡器鉴重智能管理系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115134475A (zh) * 2022-08-31 2022-09-30 智联信通科技股份有限公司 一种衡器鉴重智能管理系统
CN115134475B (zh) * 2022-08-31 2022-11-08 智联信通科技股份有限公司 一种衡器鉴重智能管理系统

Similar Documents

Publication Publication Date Title
CN109379086B (zh) 低复杂度的码率兼容的5g ldpc编码方法和编码器
KR100502609B1 (ko) Ldpc 코드를 이용한 부호화기 및 부호화 방법
KR100808664B1 (ko) 패리티 검사행렬 저장 방법 및 이를 이용한 블록 저밀도패리티 검사 부호화 방법 및 장치
CN111162797B (zh) 一种速率兼容的5g ldpc码的编码装置及编码方法
CN101192833B (zh) 一种低密度校验码ldpc并行编码的装置及方法
CN109802687B (zh) 一种基于fpga的qc-ldpc码的高速码率兼容ldpc编码器
CN106998208B (zh) 一种可变长Polar码的码字构造方法
CN107124251B (zh) 一种基于任意内核的极化码编码方法
CN107786211A (zh) 一种ira‑qc‑ldpc码的代数结构获取方法、编码方法和编码器
CN112953567A (zh) Turbo编码方法和装置、电子设备和存储介质
CN106533452A (zh) 一种多进制ldpc编码方法及编码器
CN112364985A (zh) 一种基于分布式编码的卷积优化方法
CN111313910A (zh) 空间通信应用的低密度奇偶校验码编码器装置
KR101908389B1 (ko) 에러 정정 코딩 및 디코딩
CN114911455A (zh) 基于fpga的高速伪随机数生成方法及高速伪随机数生成器
CN112953563A (zh) 伽罗瓦域编码器中高速并行信号处理实现方法及装置
CN101141132A (zh) 一种准循环低密度奇偶校验码编码器和校验位生成方法
CN103236858A (zh) 基于循环左移的cmmb中准循环ldpc串行编码器
CN111181570A (zh) 基于fpga的编译码方法和装置
CN107592958B (zh) 不同码长下使用一个多比率指数表和一个扩展因子的多比率的ldpc编码和解码
KR20110070730A (ko) 효율적인 ldpc 고속 부호화 방법 및 이를 이용하는 장치
CN112953566A (zh) 咬尾卷积编码方法和装置、电子设备和存储介质
CN113472358B (zh) 一种基于准循环生成矩阵的高速并行编码器
CN106877882B (zh) 数据处理方法和装置
CN117097440B (zh) 一种以太网包crc校验方法

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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Liu Dake

Inventor after: Liu Shaohan

Inventor after: Xue Ping

Inventor before: Liu Dake

Inventor before: Liu Shaohan

Inventor before: Xue Ping