背景技术
数字通信系统,包括典型的无线移动通信系统和地面数字广播系统,其根本任务之一是实现数字信息的高效可靠传输。利用信道编码进行差错控制是实现这一根本任务的有效方法和手段。为了适应数字信息在常见模拟信道环境下的传输需求,信道编码技术通常需要与数字调制技术结合。信道编码与调制结合构成的编码调制系统,是数字通信系统发射端的子系统,也是其核心模块之一,对应的编码调制技术是数字通信系统的核心技术。与编码调制系统相对应,解调和信道解码的结合构成数字通信系统接收端的解调解码系统,对应的解调解码技术也是数字通信系统的核心技术。
低密度奇偶校验(Low-Density Parity-Check,LDPC)码通常由校验矩阵H进行描述,校验矩阵H的化零空间即LDPC码的码字空间,其主要特点是校验矩阵具有稀疏性。LDPC码不仅有逼近香农限的优异性能,而且解码复杂度较低,结构灵活,是近年来信道编码领域的研究热点,目前已广泛应用于深空通信、光纤通信、地面及卫星数字电视广播等领域。
LDPC(N,K)码具有(N-K)×N维的H矩阵,其中,N为码字长度(简称码长),K为信息位长度,N-K一般称作校验位长度,对应码率为K/N。H矩阵的每一行代表一个校验方程,在Tanner图中称为校验节点(CheckNode),共(N-K)个;每一列代表一个信息比特,在Tanner图中称为变量节点(Variable Node),共N个;H矩阵中的元素1表示其所在行的校验节点和所在列的变量节点之间的连接关系,在Tanner图中称为边(edge)。
图1表示传统的LDPC码编码调制及解调解码系统。如图1所示,在发射端,输入信息比特经LDPC编码得到编码比特,再经星座映射(即调制)得到输出符号,完成编码调制。在接收端,通常采用软入软出的星座解映射(即解调,后文简称解映射)和LDPC解码技术,此时,比特软信息通常以对数似然比(Logarithm Likelihood Ratio,LLR)表示。包含信道状态信息的接收符号,经解映射得到对应的待解码比特软信息,再经LDPC解码得到输出信息比特,完成解调解码。
LDPC码迭代解码过程通常可以视为两个分量码解码器的迭代解码过程,即内码为一组重复码(Repetition Code)、外码为一组奇偶校验码(Parity Check Code)的两个分量码解码器的级联,二者之间通过边的交织(edge interleaving)形成迭代解码结构,完成LDPC解码。重复码解码器一般又被称为变量节点解码器(Variable Node Decoder,VND),奇偶校验码解码器一般又被称为校验节点解码器(Check NodeDecoder,CND)。LDPC解码算法较多,目前应用比较广泛的是最小和算法(Min-Sum Algorithm)及其改进算法。最小和算法作为基于LLR软信息的置信度传播算法(Belief Propagation Algorithm)的一种近似简化算法,虽然在性能上有所损失,但是大大降低了硬件实现复杂度,因此十分适合工程实现。传统最小和解码算法的主要流程可简单表示为:
1)初始化
Zmn=Cn (1)
2)校验节点解码运算(Check Node Decoding Process,CNDP),
或称水平运算(Horizontal Process,HP)
3)变量节点解码运算(Variable Node Decoding Process,VNDP),
或称垂直运算(Vertical Process,VP)
4)解码校验判决
以上各式中,C
n是变量节点n的接收软信息,即变量节点n的初始对数似然比,通常由接收符号y
n和信道状态信息经过软解映射得到;L
mn是变量节点n传播到校验节点m的软信息;N(m)表示连接到校验节点m的全部变量节点的集合,N(m)\n表示N(m)去除变量节点n后的集合;Z
mn是校验节点m传播到变量节点n的软信息;M(n)表示连接到变量节点n的全部校验节点的集合,M(n)\m表示M(n)去除校验节点m后的集合;Z
n是变量节点n经本次迭代后的后验对数似然比,用于解码校验判决等;
是变量节点n所对应的比特n的解码结果。
根据2009年第10期的清华大学学报(自然科学版)中彭克武、牛迪民、宋健和杨知行公开的文献“面向中国DTTB标准的多码率LDPC解码器”中所述对传统解码算法流程的优化,解码校验判决的解码部分可与垂直运算合并,校验判决部分可与水平运算合并。
基于上述优化的解码算法,LDPC码解码器如图2所示,包括以下功能单元:
CND,又称水平运算单元(Horizontal Process Unit,HPU),对应校验节点m,完成(2)式的水平运算,得到Lmn;同时,完成解码校验并将结果反馈给控制单元;
VND,又称垂直运算单元(Vertical Process Unit,VPU),对应变量节点n,完成(3)式的垂直运算,得到Z
mn;同时,完成(4)式,得到Z
n的符号位,即解码结果码字
LRAM,校验节点外信息存储器,对应校验节点m,存储Lmn;
ZRAM,变量节点外信息存储器,对应变量节点n,存储Z
mn和
CRAM,接收软信息存储器,对应变量节点n,存储Cn;
控制单元,产生存储器读写地址,管理解码启动及结束。
一般来说,信道编码是针对无记忆信道设计和优化的,为了适应接收端的信道解码,提高编码调制系统的分集阶数(Diversity Order),最常见的手段是采用交织技术使得输入给星座解映射和信道解码单元的信息体现出近似无记忆特性。比特交织(Bit-Interleaving)是近年来编码调制系统中主要采用的一种交织技术。比特交织编码调制(Bit-Interleaved Coded Modulation,BICM)在加性高斯白噪声(Additive White Gaussian Noise,AWGN)信道下性能较网格编码调制(Trellis Coded Modulation,TCM)有所损失,但在衰落信道下有不俗的表现。接收端迭代解映射解码的BICM系统,即BICM-ID(BICMwith Iterative Demapping and Decoding)系统通过将解码输出的信息反馈回来作为解映射的先验信息,增大了先验信息条件下星座点之间的欧氏距离,从而在AWGN信道下获得了与TCM同样好的误码性能。但是,传统BICM-ID有较高的误码平台,这是因为即使所有反馈的比特信息都是无误的,系统的误码率依然由外码的特性(对于线性码,主要取决于码本中最小非零码重及其个数)和解映射时的Harmonic欧氏距离决定,而传统码字的最小非零码重通常较小且其对应的码字个数通常较多。
传统的BICM-ID系统的信道编码一般采用卷积码,由于卷积码差错控制能力较弱,近年来学术界普遍研究在BICM-ID系统中采用强信道编码,以获得更好的系统性能。由于LDPC码作为目前广泛使用的一种强信道编码,具有逼近香农限的良好性能,且具有高吞吐能力、低误码平台的优势,因此,其成为新型BICM-ID系统中信道编码的重要选项之一。图3表示了采用LDPC码的BICM-ID系统(简称BILCM-ID系统)。如图3所示,系统发射端由LDPC编码器、比特交织器和星座映射器串行级联组成。在发射端,输入信息比特经LDPC编码得到编码比特,再经比特交织得到交织比特,最后经星座映射得到输出符号,完成比特交织编码调制。在接收端,解映射器的输入不仅包括接收符号和信道状态信息,还包括LDPC解码器反馈的解码比特的外信息经比特软信息交织得到的解映射比特的先验信息;经解映射得到对应的解映射比特的外信息,再经比特软信息解交织得到解码比特的先验信息;最后经LDPC解码,如果解码成功,则得到输出信息比特,完成迭代解调解码,否则输出解码比特的外信息,再经比特软信息交织得到解映射比特的先验信息,继续与解映射进行迭代。其中,接收端的比特软信息解交织与发射端的比特交织对应;比特软信息交织与发射端的比特交织完全一致。
BILCM-ID系统接收端迭代解映射解码系统的传统架构,一般是将解映射视为内码解码器,LDPC解码器整体视为外码解码器,如图4所示,LDPC解码器仍然由VND和CND之间的迭代完成解码,在预设的最大迭代次数之内,若解码成功,则输出信息比特,否则输出解码比特外信息参与解映射的迭代。若预设的LDPC解码最大迭代次数为n1,解映射最大迭代次数为n2,则该迭代解映射解码系统完成LDPC码长度的一组比特的解码,LDPC解码总的最大迭代次数为n1×n2。在实际系统中,LDPC解码和解映射运算串行级联,一般LDPC解码器内部迭代数十次,才与解映射迭代一次。显然,这种传统的系统架构存在吞吐能力的瓶颈,同时总是存在运算单元闲置的情况,运算效率较低,不便于硬件实现。
由于LDPC码内部隐含比特交织,即校验节点和变量节点之间的边的交织,所以BILCM-ID不像传统BICM-ID那样依赖外部的比特交织器,外部比特交织可以简化甚至省略。因此有研究者提出将LDPC解码器内部的VND和CND分割开来,其中VND与解映射结合为内码解码器,CND被视为外码解码器,二者之间通过边的交织形成迭代解码结构,如图5所示。这种结构下,内外码解码器每进行一次迭代的同时,解映射与VND也进行了一次外信息传递。在解映射运算能力足够强的前提条件下,这种架构在吞吐能力上具有优势。但是,由于其对解映射的要求很高,解映射运算所需的运算资源或硬件资源会急剧增加,特别是对于高阶调制,系统实现的高复杂度成为一大难题。因此,如果解映射的运算能力不足,这种架构仍然存在吞吐能力的瓶颈。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:提供一种迭代解映射解码方法和系统,解决实际系统面临的运算效率较低、复杂度较高以及吞吐能力受限等问题,在大幅提高迭代解映射解码系统运算效率的同时,实现系统在多个运算单元复杂度与系统吞吐率之间的灵活折中。
(二)技术方案
为解决上述问题,一方面,本发明提供了一种迭代解映射解码方法,包括以下步骤:
S1:初始化控制单元和包括解映射器、变量节点解码器和校验节点解码器在内的各运算单元;
S2:解映射器达到启动条件时,控制单元启动解码流程;
S3:在控制单元的控制下运行解码流程,其中所有运算单元中至少部分运算单元并行地执行各自的运算;
S4:达到解码停止条件时,控制单元停止解码流程,输出解码结果码字。
优选地,所述控制单元控制运算资源在各运算单元之间的动态分配。
优选地,所述步骤S3中包括解映射器、变量节点解码器和校验节点解码器在内的各运算单元根据各自的输入并行地执行各自的运算。
优选地,所述步骤S3中所述变量节点解码器和校验节点解码器串行交替执行运算,并且所述解映射器的运算与所述变量节点解码器和校验节点解码器串行交替执行的运算并行地执行。
优选地,所述步骤S3中所述变量节点解码器和校验节点解码器并行地执行各自的运算,并且所述解映射器的运算与所述变量节点解码器和校验节点解码器并行执行的运算串行地执行。
优选地,所述步骤S3中所述解映射器的运算包括:由接收符号、信道状态信息和解映射先验信息运算得到解映射外信息,所述解映射外信息通过比特软信息解交织后作为第一解码先验信息送给所述变量节点解码器。
优选地,所述步骤S3中所述变量节点解码器的运算包括:由第一解码先验信息和第二解码先验信息运算得到第一解码外信息和第二解码外信息,所述第一解码外信息通过比特软信息交织后作为解映射先验信息送给所述解映射器,所述第二解码外信息通过边的解交织后作为第三解码先验信息送给所述校验节点解码器。
优选地,所述步骤S3中所述校验节点解码器的运算包括:由第三解码先验信息运算得到第三解码外信息,所述第三解码外信息通过边的交织后作为第二解码先验信息送给所述变量节点解码器。
另一方面,本发明还提供了一种迭代解映射解码系统,包括:
解映射器,与外部接收机前级模块、存储器和控制单元连接,用于在控制单元的控制下,结合从前级模块输入的信道状态信息和从存储器读出的解映射先验信息,对接收符号进行软解映射运算,得到解映射外信息,写入存储器;
变量节点解码器,与存储器和控制单元连接,用于在控制单元的控制下,对从存储器读出的第一解码先验信息和第二解码先验信息进行变量节点解码运算,得到第一解码外信息、第二解码外信息和解码结果码字写入存储器;
校验节点解码器,与存储器和控制单元连接,用于在控制单元的控制下,对从存储器读出的第三解码先验信息进行校验节点解码运算,得到第三解码外信息写入存储器;同时,完成解码校验,并将结果反馈给控制单元;
控制单元,用于控制各运算单元的启动和停止,产生存储器的读写控制信号和地址信号,控制解码流程的启动及结束,控制解码结果码字的输出;
存储器,用于在控制单元的控制下存储和输送对应的信息、完成比特软信息的交织和解交织、边的交织和解交织等功能;
其中,当达到解码结束条件时,解码结果码字可以从所述变量节点解码器、存储器和校验节点解码器三者中的任意一个单元输出。
优选地,所述存储器包括:
解映射外信息存储器,与解映射器、变量节点解码器和控制单元连接,用于存储从解映射器写入的解映射外信息,通过控制单元控制解映射外信息存储器的读写控制信号和地址信号,完成比特软信息解交织的功能,将所述解映射外信息完成所述比特软信息解交织后作为第一解码先验信息送至变量节点解码器;
第一解码外信息存储器,与解映射器、变量节点解码器和控制单元连接,用于存储从变量节点解码器写入的第一解码外信息,通过控制单元控制第一解码外信息存储器的读写控制信号和地址信号,完成比特软信息交织的功能,将所述第一解码外信息完成所述比特软信息交织后作为解映射先验信息送至解映射器;
第二解码外信息存储器,与变量节点解码器、校验节点解码器和控制单元连接,用于存储从变量节点解码器写入的第二解码外信息和解码结果码字,通过控制单元控制第二解码外信息存储器的读写控制信号和地址信号,完成边的解交织的功能,将所述第二解码外信息完成所述边的解交织后作为第三解码先验信息送至校验节点解码器,并将解码结果码字同时送至校验节点解码器;
第三解码外信息存储器,与变量节点解码器、校验节点解码器和控制单元连接,用于存储从校验节点解码器写入的第三解码外信息,通过控制单元控制第三解码外信息存储器的读写控制信号和地址信号,完成边的交织的功能,将所述第三解码外信息完成所述边的交织后作为第二解码先验信息送至变量节点解码器。
优选地,所述存储器包括:
解映射外信息存储器,与解映射器、变量节点解码器和控制单元连接,用于存储从解映射器写入的解映射外信息,通过控制单元控制解映射外信息存储器的读写控制信号和地址信号,完成比特软信息解交织的功能,将所述解映射外信息完成所述比特软信息解交织后作为第一解码先验信息送至变量节点解码器;
第一解码外信息存储器,与解映射器、变量节点解码器和控制单元连接,用于存储从变量节点解码器写入的第一解码外信息,通过控制单元控制第一解码外信息存储器的读写控制信号和地址信号,完成比特软信息交织的功能,将所述第一解码外信息完成所述比特软信息交织后作为解映射先验信息送至解映射器;
第二及第三解码外信息存储器,与变量节点解码器、校验节点解码器和控制单元连接,一方面,在变量节点解码器运算而校验节点解码器等待的周期段,用于存储从变量节点解码器写入的第二解码外信息和解码结果码字,通过控制单元控制第二及第三解码外信息存储器的读写控制信号和地址信号,完成边的解交织的功能,将所述第二解码外信息完成所述边的解交织后作为第三解码先验信息送至校验节点解码器,并将解码结果码字同时送至校验节点解码器;另一方面,在校验节点解码器运算而变量节点解码器等待的周期段,用于存储从校验节点解码器写入的第三解码外信息,通过控制单元控制第二及第三解码外信息存储器的读写控制信号和地址信号,完成边的交织的功能,将所述第三解码外信息完成所述边的交织后作为第二解码先验信息送至变量节点解码器。
再一方面,本发明还提供了一种独立解映射解码系统,包括:
解映射器,与外部接收机前级模块、存储器和控制单元连接,用于在控制单元的控制下,结合从前级模块输入的信道状态信息,对接收符号进行软解映射运算,得到解映射外信息,写入存储器;
变量节点解码器,与存储器和控制单元连接,用于在控制单元的控制下,对从存储器读出的第一解码先验信息和第二解码先验信息进行变量节点解码运算,得到第二解码外信息和解码结果码字写入存储器。
校验节点解码器,与存储器和控制单元连接,用于在控制单元的控制下,对从存储器读出的第三解码先验信息进行校验节点解码运算,得到第三解码外信息写入存储器;同时,完成解码校验,并将结果反馈给控制单元;
控制单元,用于控制各运算单元的启动和停止,产生存储器的读写控制信号和地址信号,控制解码流程的启动及结束,控制解码结果码字的输出;
存储器,用于在控制单元的控制下存储和输送对应的信息、完成比特软信息解交织、边的交织和解交织等功能;
其中,当达到解码结束条件时,解码结果码字可以从所述变量节点解码器、存储器和校验节点解码器三者中的任意一个单元输出。
优选地,所述存储器包括:
解映射外信息存储器,与解映射器、变量节点解码器和控制单元连接,用于存储从解映射器写入的解映射外信息,通过控制单元控制解映射外信息存储器的读写控制信号和地址信号,完成比特软信息解交织的功能,将所述解映射外信息完成所述比特软信息解交织后作为第一解码先验信息送至变量节点解码器;
第二解码外信息存储器,与变量节点解码器、校验节点解码器和控制单元连接,用于存储从变量节点解码器写入的第二解码外信息和解码结果码字,通过控制单元控制第二解码外信息存储器的读写控制信号和地址信号,完成边的解交织的功能,将所述第二解码外信息完成所述边的解交织后作为第三解码先验信息送至校验节点解码器,并将解码结果码字同时送至校验节点解码器;
第三解码外信息存储器,与变量节点解码器、校验节点解码器和控制单元连接,用于存储从校验节点解码器写入的第三解码外信息,通过控制单元控制第三解码外信息存储器的读写控制信号和地址信号,完成边的交织的功能,将所述第三解码外信息完成所述边的交织后作为第二解码先验信息送至变量节点解码器。
(三)有益效果
本发明的迭代解映射解码方法及系统,提供了各运算单元可并行运算、即时交互信息的灵活系统架构,并根据具体需求对运算资源灵活分配和协调,可有效解决实际系统面临的运算效率较低、复杂度较高以及吞吐能力受限等问题,在大幅提高迭代解映射解码系统运算效率的同时,实现系统在多个运算单元复杂度与系统吞吐率之间的灵活折中,为实际的迭代解映射解码系统的实现提供了具有优势的技术方案。
具体实施方式
下面结合附图及实施例对本发明进行详细说明如下。
下面以系统完成LDPC码长度的一组比特的解码为例对本发明进行说明。首先定义一个运算单元完成所有输出软信息的更新为该运算单元完成一次迭代,其中,所有输出软信息对应LDPC码的全部节点(变量节点或校验节点)。在本发明提出的迭代解映射解码方法中,运算单元完成一次迭代可以包括一次运算,也可以包括多次运算。如果一次迭代包括多次运算,则每一次运算中只有LDPC码的部分节点参与运算,只完成部分输出软信息的更新。
实施例一:
如图6所示,本实施例记载了一种面向LDPC码的迭代解映射解码方法,包括以下步骤:
S101:初始化控制单元和包括解映射器、变量节点解码器VND和校验节点解码器CND在内的各运算单元。
其中,初始化控制单元包括:设置整个解码流程以及各运算单元的启动条件和停止条件,设置各运算单元的状态控制模式。其中解映射器的启动条件包括但不限于解映射器开始输入接收符号和信道状态信息;变量节点解码器VND的启动条件包括但不限于变量节点解码器VND开始输入解映射器第一次运算后传递给变量节点解码器VND的第一解码先验信息;校验节点解码器CND的启动条件包括但不限于校验节点解码器CND开始输入变量节点解码器VND第一次运算后传递给校验节点解码器CND的第三解码先验信息;整个解码系统的停止条件包括但不限于变量节点解码器VND的解码结果码字校验成功,或者其中一个运算单元达到预设的最大迭代次数。各运算单元的状态控制模式包括但不限于运算资源在各运算单元之间的分配和协调,以及各运算单元的最大迭代次数、运算结果的输出,运算资源在各运算单元之间可以动态分配,即配置方式随时间可变。
初始化各运算单元包括:初始化各运算单元的输入先验信息为0、迭代次数为0。
S102:解映射器达到启动条件时,控制单元启动解码流程。
S103:在控制单元的控制下运行解码流程,其中所有运算单元中至少部分运算单元并行地执行各自的运算;在本实施例中,各运算单元全部并行地执行各自的运算,其中运算资源受控制单元分配和协调,三个运算单元不必同时启动或停止。
其中,所述解映射器的运算包括:由接收符号、信道状态信息和解映射先验信息运算得到解映射外信息,所述解映射外信息通过比特软信息解交织后作为第一解码先验信息送给所述变量节点解码器VND;
所述变量节点解码器VND的运算包括:由第一解码先验信息和第二解码先验信息运算得到第一解码外信息和第二解码外信息,所述第一解码外信息通过比特软信息交织后作为解映射先验信息送给所述解映射器,所述第二解码外信息通过边的解交织后作为第三解码先验信息送给所述校验节点解码器CND;
所述校验节点解码器CND的运算包括:由第三解码先验信息运算得到第三解码外信息,所述第三解码外信息通过边的交织后作为第二解码先验信息送给所述变量节点解码器VND。
其中,所述步骤S103中,在某些系统场景下若发射端省略比特交织(无交织是交织的一种特例),则此时接收端的比特软信息解交织和比特软信息交织也同时省略。
S104:达到解码停止条件时,控制单元停止解码流程,输出解码结果码字。
本实施例给出解映射器、变量节点解码器VND和校验节点解码器CND三个运算单元的若干种状态控制模式作为参考。设LDPC码H矩阵大小为M×N。假设现有运算资源固定,单位时间内的全部运算资源对应解映射器解出全部N个比特软信息的运算量(即对应1次完整的解映射迭代的运算量),或者对应变量节点解码器VND完成5N个变量节点解码运算的运算量(即对应5次完整的变量节点解码器VND解码迭代的运算量),或者对应校验节点解码器CND完成5M/4个校验节点解码运算的运算量(即对应1.25次完整的校验节点解码器CND解码迭代的运算量)。其中,相同运算资源所对应的变量节点解码器VND解码迭代次数最高是因为变量节点解码器VND解码运算相对于高阶软解映射运算和校验节点解码器CND解码运算最简单,运算复杂度最低。基于上述假设,可以按如下方式设置解映射器、变量节点解码器VND和校验节点解码器CND三个运算单元的状态控制模式:
(1)如图7所示,为解映射器配置50%的运算资源、为变量节点解码器VND配置10%的运算资源、为校验节点解码器CND配置40%的运算资源。按这种运算资源配置方式,解映射器、变量节点解码器VND和校验节点解码器CND在单位时间内各自完成了1/2次迭代,其迭代次数的比例即三个运算单元每一次运算结束时,其各自输出的软信息都更新了1/2。三个运算单元按此方式并行运算,直至达到解码停止条件。
(2)如图8所示,为解映射器配置20%的运算资源、为变量节点解码器VND配置20%的运算资源、为校验节点解码器CND配置60%的运算资源。按这种运算资源配置方式,解映射器、变量节点解码器VND和校验节点解码器CND在单位时间内分别完成了1/5次、1次和3/4次迭代,其迭代次数的比例
即变量节点解码器VND每一次运算结束时,其输出的软信息全部更新,而解映射器和校验节点解码器CND每一次运算结束时,其输出的软信息分别只更新了1/5和3/4。三个运算单元按此方式并行运算,直至达到解码停止条件。
上述两种状态控制模式均是保持解映射器、变量节点解码器VND和校验节点解码器CND三个运算单元利用各自所分配的运算资源并行运算,三个运算单元每一次运算开始时,其输入信息均已产生变化,故每一次运算都能使LDPC码的部分节点或全部节点更新信息,避免出现重复无用计算的情况。本发明提供的迭代解映射解码方法中对解映射器、变量节点解码器VND和校验节点解码器CND三个运算单元的总体的状态控制模式是使三个运算单元进行上述的并行运算。值得指出的是,本实施例中,三个运算单元可以采用并行运算与串行运算相结合的混合运算,动态的资源配置方式可以支持串行运算与并行运算相结合的状态控制模式,为系统提供更加丰富灵活的运行方式。
(3)如图9所示,为解映射器配置50%的运算资源、为变量节点解码器VND和校验节点解码器CND共同配置50%的运算资源。按这种运算资源配置方式,解映射器所配置的运算资源使其连续运算,而变量节点解码器VND和校验节点解码器CND二者串行运算,分别占用同一部分共用运算资源的不同运算时间。设置变量节点解码器VND运算占用共用运算资源1/5的时间,校验节点解码器CND运算占用共用运算资源4/5的时间,则解映射器完成一次迭代的同时(相当于2个单位时间),变量节点解码器VND和校验节点解码器CND串行运算,依次各完成一次迭代,其迭代次数的比例R=1∶1∶1,即解映射器输出的软信息全部更新一次的时间内,变量节点解码器VND和校验节点解码器CND输出的软信息依次全部更新了一次。三个运算单元按此方式混合运算(即并行和串行混合运算),直至达到解码停止条件。
本实施例基于简单的假设条件给出了解映射器、变量节点解码器VND和校验节点解码器CND三个运算单元的若干种状态控制模式作为参考。对于实际的系统,显然,不同的状态控制模式所提供的系统性能有所差异。实际系统的性能还与具体的LDPC码、调制方式(星座映射方式)、解映射算法、LDPC解码算法、各运算单元最大迭代次数等因素密切相关。
实施例二:
如图10所示,本实施例记载了一种与上述方法对应的迭代解映射解码系统,包括:
解映射器,与外部接收机前级模块(得到包含信道状态信息的接收符号,图10中未示出)、解映射外信息存储器ARAM、第一解码外信息存储器ERAM和控制单元连接,用于在控制单元的控制下,结合从前级模块输入的信道状态信息和从第一解码外信息存储器ERAM读出的解映射先验信息,对接收符号进行软解映射运算,得到解映射外信息,写入解映射外信息存储器ARAM;
解映射外信息存储器ARAM,与解映射器、变量节点解码器VND和控制单元连接,用于存储从解映射器写入的解映射外信息,通过控制单元控制其读写控制信号和地址信号,完成比特软信息解交织的功能,将所述解映射外信息完成所述比特软信息解交织后作为第一解码先验信息送至变量节点解码器VND;
第一解码外信息存储器ERAM,与解映射器、变量节点解码器VND和控制单元连接,用于存储从变量节点解码器VND写入的第一解码外信息,通过控制单元控制其读写控制信号和地址信号,完成比特软信息交织的功能,将所述第一解码外信息完成所述比特软信息交织后作为解映射先验信息送至解映射器;
变量节点解码器VND,与解映射外信息存储器ARAM、第一解码外信息存储器ERAM、第二解码外信息存储器ZRAM、第三解码外信息存储器LRAM和控制单元连接,用于在控制单元的控制下,对从解映射外信息存储器ARAM读出的第一解码先验信息和从第三解码外信息存储器LRAM读出的第二解码先验信息进行变量节点解码运算,得到第一解码外信息写入第一解码外信息存储器ERAM,得到第二解码外信息和解码结果码字
写入第二解码外信息存储器ZRAM;
第二解码外信息存储器ZRAM,与变量节点解码器VND、校验节点解码器CND和控制单元连接,用于存储从变量节点解码器VND写入的第二解码外信息和解码结果码字
通过控制单元控制其读写控制信号和地址信号,完成边的解交织的功能,将所述第二解码外信息完成所述边的解交织后作为第三解码先验信息送至校验节点解码器CND,并将解码结果码字
同时送至校验节点解码器CND;
第三解码外信息存储器LRAM,与变量节点解码器VND、校验节点解码器CND和控制单元连接,用于存储从校验节点解码器CND写入的第三解码外信息,通过控制单元控制其读写控制信号和地址信号,完成边的交织的功能,将所述第三解码外信息完成所述边的交织后作为第二解码先验信息送至变量节点解码器VND;
校验节点解码器CND,与第二解码外信息存储器ZRAM、第三解码外信息存储器LRAM和控制单元连接,用于在控制单元的控制下,对从第二解码外信息存储器ZRAM读出的第三解码先验信息进行校验节点解码运算,得到第三解码外信息写入第三解码外信息存储器LRAM;同时,完成解码校验
并将结果反馈给控制单元;
控制单元,控制各运算单元的启动和停止,产生各存储器的读写控制信号和地址信号,控制解码流程的启动及结束,控制解码结果码字
的输出;
其中,当达到解码结束条件时,解码结果码字
可以从所述变量节点解码器VND、第二解码外信息存储器ZRAM和校验节点解码器CND三者中的任意一个单元输出(图10中以
由变量节点解码器VND输出作为示例)。
实施例三:
从传统的LDPC迭代解码流程可以看出,校验节点解码器CND解码运算和变量节点解码器VND解码运算总是串行交替执行的,即在校验节点解码器CND(或变量节点解码器VND)的运算完成一次迭代(即更新全部节点软信息)之后,变量节点解码器VND(或校验节点解码器CND)再以所有已更新的输入信息进行运算。类似于实施例一中的第(3)种状态控制模式,本实施例作为实施例一的扩展,提供一种迭代解映射解码方法,特征为解映射器并行运算,其每次运算可以只完成部分迭代,而变量节点解码器VND和校验节点解码器CND二者串行交替运算,其每次运算均须完成一次完整的迭代。如图11所示,依照本实施方式的迭代解映射解码方法,包括以下步骤:
S201:初始化控制单元和包括解映射器、变量节点解码器VND和校验节点解码器CND在内的各运算单元。
其中,初始化控制单元包括:设置整个解码流程以及各运算单元的启动条件和停止条件,设置各运算单元的状态控制模式。其中解映射器的启动条件包括但不限于解映射器开始输入接收符号和信道状态信息;变量节点解码器VND的启动条件包括但不限于变量节点解码器VND开始输入解映射器第一次运算后传递给变量节点解码器VND的第一解码先验信息;校验节点解码器CND的启动条件包括但不限于校验节点解码器CND开始输入变量节点解码器VND第一次运算后传递给校验节点解码器CND的第三解码先验信息;整个解码系统的停止条件包括但不限于变量节点解码器VND的解码结果码字校验成功,或者其中一个运算单元达到预设的最大迭代次数。各运算单元的状态控制模式包括但不限于运算资源在各运算单元之间的分配和协调,以及各运算单元的最大迭代次数、运算结果的输出。
初始化各运算单元包括:初始化各运算单元的输入先验信息为0、迭代次数为0。
S202:解映射器达到启动条件时,控制单元启动解码流程。
S203:在控制单元的控制下运行解码流程,解映射器、变量节点解码器VND和校验节点解码器CND三者按照状态控制模式执行各自的运算,其中运算资源受控制单元分配和协调,三个运算单元不必同时启动或停止。
其中,所述解映射器、变量节点解码器VND和校验节点解码器CND三个运算单元的状态控制模式具体为,变量节点解码器VND和校验节点解码器CND串行交替运算,为其分配的运算资源支持其在一个单位时间内依次各完成一次迭代,解映射器与串行交替运算的变量节点解码器VND和校验节点解码器CND并行运算,为其分配的运算资源支持其在一个单位时间内完成x次迭代,其中0<x≤1。解映射器、变量节点解码器VND和校验节点解码器CND三者迭代次数的比例R=x∶1∶1。
所述解映射器的运算包括:由接收符号、信道状态信息和解映射先验信息运算得到解映射外信息,所述解映射外信息通过比特软信息解交织后作为第一解码先验信息送给变量节点解码器VND;
所述变量节点解码器VND的运算包括:由第一解码先验信息和第二解码先验信息运算得到第一解码外信息和第二解码外信息,所述第一解码外信息通过比特软信息交织后作为解映射先验信息送给解映射器,所述第二解码外信息通过边的解交织后作为第三解码先验信息送给校验节点解码器CND;
所述校验节点解码器CND的运算包括:由第三解码先验信息运算得到第三解码外信息,所述第三解码外信息通过边的交织后作为第二解码先验信息送给变量节点解码器VND。
其中,所述步骤S203中,在某些系统场景下若发射端省略比特交织(无交织是交织的一种特例),则此时接收端的比特软信息解交织和比特软信息交织也同时省略。
S204:达到解码停止条件时,控制单元停止解码流程,输出解码结果码字。
实施例四:
实施例三所述迭代解映射解码方法中,校验节点解码器CND解码运算和变量节点解码器VND解码运算串行交替执行,对应实施例二所述系统中,在完成校验节点解码器CND解码运算时,变量节点解码器VND处于等待状态,此时只需第三解码外信息存储器LRAM存储第三解码外信息,原第二解码外信息存储器ZRAM同地址完全空闲;而在完成变量节点解码器VND解码运算时,校验节点解码器CND处于等待状态,此时只需第二解码外信息存储器ZRAM存储第二解码外信息,原第三解码外信息存储器LRAM同地址完全空闲。因此,在实施例二所述系统的基础之上,可以通过复用统一的RAM来存储第二解码外信息或第三解码外信息,即定义第二及第三解码外信息存储器XRAM,用于取代原有的第二解码外信息存储器ZRAM和第三解码外信息存储器LRAM。通过第二及第三解码外信息存储器XRAM的复用,实现存储器的总容量大幅减少,从而显著节省存储器资源。
基于实施例三所述方法和实施例二所述系统,本发明同时提供了一种面向LDPC码的迭代解映射解码系统,作为实施例二的扩展,如图12所示,该系统包括:
解映射器,与外部接收机前级模块(得到包含信道状态信息的接收符号,图12中未示出)、解映射外信息存储器ARAM、第一解码外信息存储器ERAM和控制单元连接,用于在控制单元的控制下,结合从前级模块输入的信道状态信息和从第一解码外信息存储器ERAM读出的解映射先验信息,对接收符号进行软解映射运算,得到解映射外信息,写入解映射外信息存储器ARAM;
解映射外信息存储器ARAM,与解映射器、变量节点解码器VND和控制单元连接,用于存储从解映射器写入的解映射外信息,通过控制单元控制其读写控制信号和地址信号,完成比特软信息解交织的功能,将所述解映射外信息完成所述比特软信息解交织后作为第一解码先验信息送至变量节点解码器VND;
第一解码外信息存储器ERAM,与解映射器、变量节点解码器VND和控制单元连接,用于存储从变量节点解码器VND写入的第一解码外信息,通过控制单元控制其读写控制信号和地址信号,完成比特软信息交织的功能,将所述第一解码外信息完成所述比特软信息交织后作为解映射先验信息送至解映射器;
变量节点解码器VND,与解映射外信息存储器ARAM、第一解码外信息存储器ERAM、第二及第三解码外信息存储器XRAM和控制单元连接,用于在控制单元的控制下,对从解映射外信息存储器ARAM读出的第一解码先验信息和从第二及第三解码外信息存储器XRAM读出的第二解码先验信息进行变量节点解码运算,得到第一解码外信息写入第一解码外信息存储器ERAM,得到第二解码外信息和解码结果码字
写入第二及第三解码外信息存储器XRAM;
第二及第三解码外信息存储器XRAM,一方面,在变量节点解码器VND运算而校验节点解码器CND等待的周期段,用于存储从变量节点解码器VND写入的第二解码外信息和解码结果码字
通过控制单元控制其读写控制信号和地址信号,完成边的解交织的功能,将所述第二解码外信息完成所述边的解交织后作为第三解码先验信息送至校验节点解码器CND,并将解码结果码字
同时送至校验节点解码器CND;另一方面,在校验节点解码器CND运算而变量节点解码器VND等待的周期段,用于存储从校验节点解码器CND写入的第三解码外信息,通过控制单元控制其读写控制信号和地址信号,完成边的交织的功能,将所述第三解码外信息完成所述边的交织后作为第二解码先验信息送至变量节点解码器VND;
校验节点解码器CND,与第二及第三解码外信息存储器XRAM和控制单元连接,用于在控制单元的控制下,对从第二及第三解码外信息存储器XRAM读出的第三解码先验信息进行校验节点解码运算,得到第三解码外信息写入第二及第三解码外信息存储器XRAM;同时,完成解码校验
并将结果反馈给控制单元;
控制单元,控制各运算单元的启动和停止,产生各存储器的读写控制信号和地址信号,控制解码流程启动及结束,控制解码结果码字的输出;
其中,当达到解码结束条件时,解码结果码字
可以从所述变量节点解码器VND、第二及第三解码外信息存储器XRAM和校验节点解码器CND三者中的任意一个单元输出(图12中以
由变量节点解码器VND输出作为示例)。
实施例五
本发明中,独立解映射可以视为迭代解映射的特例,即解映射器只完成初始的一次迭代,其并不接收后级解码运算单元反馈回来的解映射先验信息,只对从前级模块接收到的包含信道状态信息的接收符号进行一次完整的解映射运算,将解出的LDPC码长度的全部比特软信息送给后级模块之后即停止工作,等待后级解码流程结束,并在接收到新一组包含信道状态信息的接收符号之后在控制单元的控制下重新启动。如此,前述解映射器、变量节点解码器VND和校验节点解码器CND三者并行运算的系统结构退化成变量节点解码器VND和校验节点解码器CND二者并行运算。如果忽略解映射器和比特软信息解交织,该结构实际上是一种新型高效的LDPC解码器结构。
如图13所示,作为实施例一的扩展,依照本实施方式的一种面向LDPC码的独立解映射解码方法,包括以下步骤:
S301:初始化控制单元和包括解映射器、变量节点解码器VND和校验节点解码器CND在内的各运算单元。
其中,初始化控制单元包括:设置整个解码流程以及各运算单元的启动条件和停止条件,设置各运算单元的状态控制模式。其中解映射器的启动条件包括但不限于解映射器开始输入接收符号和信道状态信息;变量节点解码器VND的启动条件包括但不限于变量节点解码器VND开始输入解映射器第一次运算后传递给变量节点解码器VND的第一解码先验信息;校验节点解码器CND的启动条件包括但不限于校验节点解码器CND开始输入变量节点解码器VND第一次运算后传递给校验节点解码器CND的第三解码先验信息;整个解码系统的停止条件包括但不限于变量节点解码器VND的解码结果码字校验成功,或者变量节点解码器VND和校验节点解码器CND其中之一达到预设的最大迭代次数。各运算单元的状态控制模式包括但不限于运算资源在各运算单元之间的分配和协调,以及变量节点解码器VND和校验节点解码器CND的最大迭代次数、运算结果的输出,运算资源在变量节点解码器VND和校验节点解码器CND之间可以动态分配,即配置方式随时间可变。
初始化各运算单元包括:初始化各运算单元的输入先验信息为0、迭代次数为0。
S302:解映射器达到启动条件时,控制单元启动解码流程。
S303:在控制单元的控制下运行解码流程,解映射器首先完成解映射运算,之后解映射运算停止,变量节点解码器VND和校验节点解码器CND二者并行执行各自运算,其运算资源受控制单元分配和协调。
其中,所述解映射器的运算包括:由接收符号和信道状态信息运算得到解映射外信息,所述解映射外信息通过比特软信息解交织后作为第一解码先验信息送给变量节点解码器VND;
所述变量节点解码器VND的运算包括:由第一解码先验信息和第二解码先验信息运算得到第二解码外信息,所述第二解码外信息通过边的解交织后作为第三解码先验信息送给校验节点解码器CND;
所述校验节点解码器CND的运算包括:由第三解码先验信息运算得到第三解码外信息,所述第三解码外信息通过边的交织后作为第二解码先验信息送给变量节点解码器VND。
其中,所述步骤S303中,在某些系统场景下若发射端省略比特交织(无交织是交织的一种特例),则此时接收端的比特软信息解交织也同时省略。
S304:达到解码停止条件时,控制单元停止解码流程,输出解码结果码字。
实施例六
基于实施例五所述方法和实施例二所述系统,本发明同时提供了一种面向LDPC码的独立解映射解码系统,作为实施例二的扩展,如图14所示,该系统包括:
解映射器,与外部接收机前级模块(得到包含信道状态信息的接收符号,图14中未示出)、解映射外信息存储器ARAM和控制单元连接,用于在控制单元的控制下,对从前级模块输入的包含信道状态信息的接收符号进行软解映射运算,得到解映射外信息,写入解映射外信息存储器ARAM;
解映射外信息存储器ARAM,与解映射器、变量节点解码器VND和控制单元连接,用于存储从解映射器写入的解映射外信息,通过控制单元控制其读写控制信号和地址信号,完成比特软信息解交织的功能,将所述解映射外信息完成所述比特软信息解交织后作为第一解码先验信息送至变量节点解码器VND;
变量节点解码器VND,与解映射外信息存储器ARAM、第二解码外信息存储器ZRAM、第三解码外信息存储器LRAM和控制单元连接,用于在控制单元的控制下,对从解映射外信息存储器ARAM读出的第一解码先验信息和从第三解码外信息存储器LRAM读出的第二解码先验信息进行变量节点解码运算,得到第二解码外信息和解码结果码字
写入第二解码外信息存储器ZRAM;
第二解码外信息存储器ZRAM,与变量节点解码器VND、校验节点解码器CND和控制单元连接,用于存储从变量节点解码器VND写入的第二解码外信息和解码结果码字
通过控制单元控制其读写控制信号和地址信号,完成边的解交织的功能,将所述第二解码外信息完成所述边的解交织后作为第三解码先验信息送至校验节点解码器CND,并将解码结果码字
同时送至校验节点解码器CND;
第三解码外信息存储器LRAM,与变量节点解码器VND、校验节点解码器CND和控制单元连接,用于存储从校验节点解码器CND写入的第三解码外信息,通过控制单元控制其读写控制信号和地址信号,完成边的交织的功能,将所述第三解码外信息完成所述边的交织后作为第二解码先验信息送至变量节点解码器VND;
校验节点解码器CND,与第二解码外信息存储器ZRAM、第三解码外信息存储器LRAM和控制单元连接,用于在控制单元的控制下,对从第二解码外信息存储器ZRAM读出的第三解码先验信息进行校验节点解码运算,得到第三解码外信息写入第三解码外信息存储器LRAM;同时,完成解码校验
并将结果反馈给控制单元;
控制单元,控制各运算单元的启动和停止,产生各存储器的读写控制信号和地址信号,控制解码流程启动及结束,控制解码结果码字的输出;
其中,当达到解码结束条件时,解码结果码字
可以从所述变量节点解码器VND、第二解码外信息存储器ZRAM和校验节点解码器CND三者中的任意一个单元输出(图14中以
由变量节点解码器VND输出作为示例)。
本发明的方法和系统在大幅提高迭代解映射解码系统运算效率的同时,实现系统在多个运算单元复杂度与系统吞吐率之间的灵活折中,为实际的迭代解映射解码系统的实现提供了具有优势的技术方案。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。