CN102355331A - 一种通用多模式译码装置 - Google Patents
一种通用多模式译码装置 Download PDFInfo
- Publication number
- CN102355331A CN102355331A CN201110306891XA CN201110306891A CN102355331A CN 102355331 A CN102355331 A CN 102355331A CN 201110306891X A CN201110306891X A CN 201110306891XA CN 201110306891 A CN201110306891 A CN 201110306891A CN 102355331 A CN102355331 A CN 102355331A
- Authority
- CN
- China
- Prior art keywords
- decoding
- information
- address
- computing
- configuration
- 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.)
- Granted
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种通用多模式译码装置,包括:控制模块和运算集成模块;所述控制模块读入需要译码的信道信息,依据外部的配置地址和配置数据配置所述信道信息译码过程中所需的译码参数并依据所述译码参数生成译码运算地址和译码运算控制信息,并将所述需要译码的信道信息及所述译码运算地址和译码运算控制信息发送至所述运算集成模块;所述运算集成模块依据所述译码运算地址及所述译码运算控制信息对所述信道信息译码,并将译码结果反馈至所述控制模块,由所述控制模块将所述译码结果输出。本发明公开的通用多模式译码装置,通过配置不同纠错码的译码参数,使得运算器处于各种不同的译码运算模式,实现了同一装置用于不同纠错码的译码运算。
Description
技术领域
本申请涉及信道编解码领域,特别是涉及一种通用多模式译码装置。
背景技术
在数字通信系统中,为了提高数字信号传输的有效性,对数字信号进行信源编码,把数字信号转换成适合于在信道中传输的传输码后进行传输,在接收端通过对传输码进行抽样判决来恢复原数字信号。
然而,传输码在信道中传输时,由于受到信道加性噪声的干扰,传输码的码形将发生畸变,导致接收端发生错误判决,产生误码,为了减少误码的产生,需要将传输码进行纠错编码(即信道编码)后进行传输,纠错编码以后的输出为纠错码。
现在,各种不同的纠错码广泛应用于各种通信系统中,如BCH码、RS码、卷积码、Turbo码和LDPC码等。对于这些纠错码的译码运算,以卷积码、Turbo码和LDPC码为代表的软信息译码算法,以其优异的译码性能,得到人们的广泛青睐。
目前,卷积码的译码算法主要采用Viterbi译码(维特比译码)算法,Turbo码的译码算法主要是MAX-Log-MAP算法,LDPC码的译码算法主要采用和积算法。由于这些算法差异较大,因此通信系统中往往对卷积码、Turbo码和LDPC码各自采用一个不同的译码器进行译码,由于需要采用多个译码器,使得通信系统的设计变得复杂且实现困难。
发明内容
为解决上述技术问题,本申请实施例提供一种通用多模式译码装置,通过配置不同纠错码的译码参数,使得运算器处于各种不同的译码运算模式,实现了不同纠错码的译码运算。
技术方案如下:
一种通用多模式译码装置,包括:
控制模块和运算集成模块;
所述控制模块读入需要译码的信道信息,依据外部的配置地址和配置数据配置所述信道信息译码过程中所需的译码参数并依据所述译码参数生成译码运算地址和译码运算控制信息,并将所述需要译码的信道信息及所述译码运算地址和译码运算控制信息发送至所述运算集成模块;
所述运算集成模块依据所述译码运算地址及所述译码运算控制信息对所述信道信息译码,并将译码结果反馈至所述控制模块,由所述控制模块将所述译码结果输出。
上述的装置,优选的,所述控制模块包括:
输入子模块、配置子模块、运算控制子模块和输出子模块;
所述配置子模块用于依据外部的配置地址和配置数据配置译码参数;
所述输入子模块用于读入需要译码的信道信息,并依据所述译码参数为所述信道信息配置并行存储格式,并将所述信道信息依据所述并行存储格式存储为多位宽信道信息并行发送至所述运算集成模块;
所述运算控制子模块用于依据所述配置子模块配置的译码参数控制生成译码运算参数,并将所述译码运算参数转换为译码运算地址及译码运算控制信息,并将所述译码运算地址及所述运算控制信息发送至所述运算集成模块;
所述输出子模块用于接收所述译码结果,并依据所述译码结果的数据类型配置串行输出格式,然后串行输出所述译码结果。
上述的装置,优选的,所述运算控制子模块包括:
分层控制单元和直接地址生成单元;
所述分层控制单元用于依据所述配置子模块配置的译码参数控制生成译码运算参数;
所述直接地址生成单元用于将所述译码运算参数转换为译码运算地址及译码运算控制信息并发送至所述运算集成模块。
上述的装置,优选的,所述运算集成模块包括:
运算输入控制子模块、并行运算子模块和运算输出控制子模块;
所述运算输入控制子模块用于依据所述译码运算地址将所述多位宽信道信息拆分为信道信息与外信息,并发送至所述并行运算子模块,同时将所述译码运算控制信息及所述译码运算地址发送至所述并行运算子模块;
所述并行运算子模块用于依据所述译码运算地址、译码运算控制信息对所述外信息及所述信道信息进行迭代译码运算,并在译码运算结束时将译码后的信道信息和外信息及译码运算地址发送至所述运算输出控制子模块,并发送迭代指示信号至运算控制子模块启动所述分层控制单元;
所述运算输出控制子模块用于将所述并行运算子模块发送的信道信息和外信息合并为译码结果,并将所述译码结果依据所述译码运算地址发送至所述输出子模块。
上述的装置,优选的,所述并行运算子模块包括:
超高速并行卷积码运算器和高速通用运算器;
所述超高速并行卷积码运算器用于依据所述译码运算控制信息进行状态转移配置和状态数配置,并依据所述状态转移配置和状态数配置进行卷积码的超高速维特比译码运算;
所述高速通用运算器用于依据所述译码运算控制信息对不同类型的信道信息进行译码运算。
上述的装置,优选的,所述超高速并行卷积码运算器包括:
度量预处理单元、若干比较器、最小路径搜索单元和幸存码字单元;
所述度量预处理单元用于依据所述状态转移配置信息将信道信息转换成若干支路度量;
所述若干比较器用于将所述支路度量与当前状态转移度量进行比较,得到若干路状态转移度量和幸存双比特;
所述最小路径搜索单元用于依据状态数配置信息比较状态转移度量的最小值,得到与所述状态转移度量最小的路径信息相对应的终状态配置信息;
所述幸存码字单元用于依据所述状态转移量最小的路径信息选择与所述路径信息相对应的幸存双比特并输出。
上述的装置,优选的,所述高速通用运算器包括:
度量预处理单元和度量运算单元;
所述度量预处理单元用于依据状态转移信息将信道信息和外信息转换成支路度量和外信息度量;
所述度量运算单元用于依据所述译码运算地址选择不同的译码配置模式并在所述配置模式下依据所述译码运算控制信息应用所述支路度量和外信息度量进行相应的译码运算。
上述的装置,优选的,还包括:
存储模块,用于存储所述需要译码的信道信息、译码过程中产生的数据及译码结果。
上述的装置,优选的,所述存储模块包括:
输入控制器、存储单元和输出控制器;
所述输入控制器用于在信道信息输入时,选择信道信息地址和多位宽信道信息作为所述存储单元的输入地址和输入数据将所述多位宽信道信息发送至所述存储单元;否则选择译码运算地址和译码结果作为所述存储单元的输入地址和输入数据将所述译码结果发送给所述存储单元;
所述存储单元用于存储所述多位宽信道信息、译码过程中产生的数据和译码结果;
所述输出控制器用于在译码运算结束时,选择译码结果地址和译码预算数据作为所述存储单元的输出地址和输出数据将所述译码结果输出至所述译码结果地址;否则选择所述译码运算地址和所述多位宽信道信息作为所述存储单元的输出地址和输出数据将所述多位宽信道信息发送至所述运算输入控制子模块。
应用本申请实施例提供的通用多模式译码装置,通过配置单元配置并存储各种不同卷积码、Turbo码或LDPC码的译码参数,运算控制子模块依据所述译码参数生成译码运算控制信息,使得运算集成模块处于各种不同的译码模式,然后通过集成并行数据处理,实现超高速的卷积码译码;通过高速通用串行运算核的串行数据处理,使得高速通用串行运算核兼容不同编码类型的码长、码率、交织参数、校验矩阵等译码参数,并通用于各种不同参数的Viterbi译码、MAX-Log-MAP译码与LDPC码等不同类型编码的译码。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一提供的一种通用多模式译码装置的结构示意图;
图2为本申请实施例一提供的控制模块的结构示意图;
图3为本申请实施例一提供的输入子模块的结构示意图;
图4为本申请实施例一提供的运算控制子模块的结构示意图;
图5为本申请实施例一提供的输出子模块的结构示意图;
图6为本申请实施例一提供的运算集成模块的结构示意图;
图7为本申请实施例一提供的并行运算子模块的结构示意图;
图8为本申请实施例一提供的超高速并行卷积运算器的结构示意图;
图9为本申请实施例一提供的通用串行运算核的结构示意图;
图10为本申请实施例一提供的卷积码配置模式的通用串行运算核的结构示意图;
图11为本申请实施例一提供的Turbo码配置模式的通用串行运算核的结构示意图;
图12为本申请实施例一提供的LDPC码配置模式的通用串行运算核的结构示意图;
图13为本申请实施例三提供的又一种通用译码装置的结构示意图。
为了图示的简单和清楚,以上附图示出了结构的普通形式,并且为了避免不必要的模糊本发明,可以省略已知特征和技术的描述和细节。另外,附图中的单元不必要按照比例绘制。例如,可以相对于其他单元放大图中的一些单元的尺寸,从而帮助更好的理解本发明的实施例。不同附图中的相同标号表示相同的单元。
说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的单元,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示的或否则描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可以包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案。下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
实施例一
本申请实施例提供的一种通用多模式译码装置的结构示意图,如图1所示,包括:控制模块101和运算集成模块102;
控制模块101将需要译码的信道信息读入译码装置,所述信道信息有多种编码类型,包括卷积码、Turbo码和LDPC码等多种码型。同时,控制模块101根据外部的配置地址和配置数据配置所述信道信息译码过程中所需的译码参数并依据所述译码参数生成译码运算地址和译码运算控制信息,并将所述需要译码的信道信息及所述译码运算地址和译码运算控制信息发送至所述集成运算模块102;
具体的,所述控制模块101的结构示意图如图2所述,包括:
配置子模块201、输入子模块202、运算控制子模块203和输出子模块204;
配置子模块201根据外部的配置地址和配置数据实现译码码字信息(即译码参数)的配置,配置内容包括码的类型,即信道信息的编码类型;码长,即信道信息的编码长度;码率,即编码效率;码的特征值,包括交织参数和校验矩阵等特征值;以及运算并行度P(P≤32)等参数。
输入子模块202将信道信息输入,并按照信道信息的编码类型将所述信道信息配置成不同的并行存储格式。
具体的,输入子模块202的结构示意图如图3所示,包括:
输入寻址单元301、写寻址单元302和第一寄存器303;
输入寻址单元301向外部给出数据地址,将外部数据即信道信息串行读入到第一寄存器303中,其读入过程可以为:读入第一个数据,将所述数据存储到第一寄存器303的低位地址,假设为X0寄存器中,当读入第二个数据时,将第一个数据向下推移一位,即X0寄存器中存储第二个数据,X1寄存器中存储第一个数据,以此类推,每读入一个数据,第一寄存器303的数据都向下推移一位,X1=X0,X2=X1......Xp-1=Xp-2,即Xi+1=Xi。当读入P个数据后,输入子模块将输入的数据每P个一组,构成一个多位宽的数据输入到存储模块中,优选的,P值可以是P<=32的,那么多位宽的数据可以是256位宽(因为每个数据为8位的,所以32个数据供共8×32=256位)的数据;特别的,当P<32时,256位宽的数据的高位空。同时,写寻址单元302以递增的方式给出送往运算集成模块102的地址,并将所述P个数据并行输入到所述运算集成模块102。输入完成后向运算控制子模块203提交输入完成指示信号。
运算控制子模块203根据配置子模块201配置的译码参数控制生成译码运算参数,包括对全局参数的控制、运算时序流控制、运算参数设置的控制,并将所述译码运算参数转换为译码运算地址及译码运算控制信息,所述译码运算控制信息包括运算数据读写寻址、全局配置信息、控制配置信息、运算配置信息等配置信息,转换完成后将所述译码运算地址及所述运算控制信息发送至所述运算集成模块102,控制所述运算集成模块102实现译码运算。运算完成后向输出子模块204发送运算完成指示信号;
具体的,运算控制子模块203的结构示意图如图4所示,包括:分层控制单元401和直接地址生成单元402;
分层控制单元401依据配置子模块201配置的译码参数控制生成译码运算参数。分层控制单元包括四个层次的七个控制信号。四个层次分别为:分支地址层、窗内译码地址层、译码窗地址层和迭代次数地址层。
其中,分支地址用于标注窗中数据的不同成分,分为信道信息分支地址和外信息分支地址,具体的,可以通过为分支地址的赋以不同值表示窗中数据的各个不同成分,例如,在LDPC码中外信息分支地址为0,表示所有数据为同一成分;而在Turbo码中,信道信息分支地址位为3,表示是信息位,外信息分支地址为1表示外信息位。分支地址中的信道信息分支地址和外信息分支地址连续计数,二者以乒乓的方式工作,例如,可以先为信道信息分支地址赋值并计数,然后为外信息分支地址赋值并计数,之后又为信道信息赋值并计数,然后再为外信息分支地址赋值并计数,如此循环往复,直到译码运算完成是结束。
窗内译码地址表示窗中的数据序号,可以分为横向窗内译码地址和纵向窗内译码地址,而横向窗内译码地址还可以分为横向窗内A相译码地址和横向窗内B相译码地址。例如,在LDPC码译码时,横向窗内A相译码地址和横向窗内B相译码地址分别存储有信息块译码控制参数和外信息块译码控制参数,且纵向窗内译码地址为大块拆分的子块个数;在Turbo码译码时,横向窗内A相译码地址和横向窗内B相译码地址分别对应前、后向状态转移译码,且纵向窗内译码寄存器等于1。横向窗内译码地址和纵向窗内译码地址连续计数,二者以乒乓方式工作。
译码窗地址表示每次迭代的窗序号。例如,在LDPC码译码时,译码窗地址的计数结果对应行块数;在Turbo码译码时,译码窗地址的计数结果对应滑窗的个数。
迭代次数地址表示译码运算的迭代次数,在所述分支地址、窗内译码地址和译码窗地址依次完成一次操作时,迭代次数地址进行一次计数。
直接地址生成单元402将控制信号转换成实际译码直接需要的译码控制信息,包括全局配置信息、控制配置信息、运算配置信息等译码运算控制信息和译码运算地址。其中,全局配置信息在配置完成后直接生成,且固定不变,所以,此处的全局配置信息为所述配置子模块201所配置的译码参数;控制配置信息主要负责译码运算的时序控制;运算配置信息是运算集成模块102需要的运算参数,即编码的特征参数,包括交织参数和校验矩阵等运算参数;运算地址内包含各中编码的不同译码模式的运算器,例如,包括对应LDPC码模式的无交织器、对应LTE Turbo码模式的并行交织器生成器、对应其它Turbo模式的存储式交织。
输出子模块204用于在接收到运算完成指示信号后,接收运算控制模块102输出的译码结果,并依据所述译码结果的数据类型配置串行输出格式,然后串行输出所述译码结果。其操作过程为输入的逆过程。
具体的,输出子模块204的结构示意图如图5所示,包括:
读寻址单元501、输出寻址单元502和第二寄存器503;
读寻址单元501以递增的方式给出读译码结果的地址,当并行读入P个数据后,数据的输出过程为:将读入的数据即译码结果每P个一组,分P拍输出。具体的,先将第二寄存器503的低位x0输出,然后寄存器的数据向上推移一位,X0=X1,X1=X2......Xp-2=Xp-1,即Xi=Xi+1。同时,通过输出寻址单元502向外部给出数据的输出地址。
运算集成模块102依据所述译码运算地址及所述译码运算控制信息对所述信道信息译码,并将译码结果反馈至所述控制模块101,由所述控制模块101将所述译码结果输出。
具体的,运算集成模块102的结构示意图如图6所示,包括:运算输入控制子模块601、并行运算组子模块602和运算输出控制子模块603;
运算输入控制子模块601根据运算译码地址将所述多位宽信道信息拆分为信道信息与外信息,并发送至所述并行运算组子模块602,同时将所述译码运算控制信息及所述译码运算地址发送至所述并行运算子模块602;
并行运算组子模块602依据所述译码运算地址、译码运算控制信息对所述外信息及所述信道信息进行迭代译码运算,并在译码运算结束时将译码后的信道信息和外信息及译码运算地址发送至所述运算输出控制子模块,并发送迭代指示信号至运算控制子模块203,运算控制子模块203在接收到迭代指示信号时,根据输入子模块202提供的输入完成指示信号,启动分层控制单元401;
运算输出控制子模块603将所述并行运算子模块602发送的信道信息和外信息合并为译码结果,并将所述译码结果依据所述译码运算地址发送至所述输出子模块204。
具体的,并行运算子模块602的结构示意图如图7所示,包括:超高速并行卷积码运算器701和高速通用运算器702;
超高速并行卷积码运算器701依据所述译码运算控制信息进行状态转移配置和状态数配置,并依据所述状态转移配置和状态数配置进行卷积码的超高速维特比译码运算;
超高速并行卷积运算器701的结构示意图如图8所示,包括:第一度量预处理单元801、若干比较器802、最小路径搜索单元803和幸存码字单元804;
具体的,
第一度量预处理单元801在运算输入控制子模块601输入信道信息后,依据所述状态转移配置信息将信道信息转换成若干路支路度量ChanMetric。此后,若干比较器802分别将所述支路度量与当前状态转移度量StateMetric进行比较,得到若干路更新后的状态转移度量StateMetric和幸存双比特DCode=[D,S],其中D为译码幸存比特即幸存路径的判决值,S为状态转移指示比特,供最终幸存路径选择指示;最小路径搜索单元803依据状态数配置信息选择16/32/64/128/256路状态转移度量StateMetric并比较状态转移度量的最小值,得到与所述状态转移度量最小的路径信息相对应的终状态配置信息并输出,并记录状态转移度量最小的路径(即幸存路径)的幸存比特D和状态转移指示S。同时,幸存码字单元804将幸存的幸存双比特DCode经过外信息端口输出。
高速通用运算器702依据所述译码运算控制信息对不同类型的信道信息进行译码运算。包括多个通用串行运算核,可并行完成P路数据的译码运算,一个通用串行运算核完成一路数据的译码运算,且每一路数据串行输入到所述通用串行运算核,每一个通用串行预算核包括若干种配置模式,包括卷积码模式、Turbo码模式和LDPC码模式等,在不同的译码参数配置下可以完成不同编码的译码。
所述通用串行运算核的结构示意图如图9所示,包括:第二度量预处理单元901和度量运算单元902;
具体的,第二度量预处理单元901依据所述状态转移配置信息将信道信息和外信息转换成支路度量ChanMetric和外信息度量ExtMetric。而后,度量运算单元902依据所述译码运算地址选择不同的译码配置模式并在所述配置模式下依据所述译码运算控制信息应用所述支路度量和外信息度量进行相应的译码运算。
具体的,卷积码配置模式的通用串行运算核的结构示意图如图10中实线所示,在该模式下,第二度量预处理单元901依据状态转移配置信息将串行输入的信道信息和外信息转换成若干支路度量ChanMetric和相应的外信息度量ExtMetric。而后所述若干路支路度量和相应的外信息度量经过度量运算单元902中的第一比较器903比较后得到状态度量StaMetric。这些状态度量再次经过第一比较器904求得最小译码路径NewExtMetric和幸存路径的判决值D。最后,将判决值D和最小译码路径NewExtMetric合并成一个数据即译码结果,并发送至输出子模块204。
Turbo码配置模式的通用串行运算核的结构示意图如图11中实线所示,在该模式下,第二度量预处理单元901根据状态转移配置信息将串行输入的信道信息和外信息转换成支路度量ChanMetric和相应的外信息度量ExtMetric。而后,所述支路度量和相应的外信息度量经过第一比较器903比较后得到前向状态度量StaMetric,并保存在堆栈905中。然后运算器会再次接收到一路新的信道信息和外信息,并经过预处理单元得到另一组支路度量和外信息度量。这些支路度量和外信息度量再次经过第一比较器903求得后向状态度量NewStaMetric。此时前向度量和后向度量同步输出,经过第一比较器904求得新的外信息NewExtMetric。同时,原始外信度量ExtMetric和新的外信息度量NewExtMetric相加,即得到译码比特的判决值D。最后,判决值D和更新的外信息度量NewExtMetric合并成一个数据即译码结果,并发送至输出子模块204。
LDPC码配置模式的通用串行运算核的结构示意图如图12中实线所示,在该模式下,第二度量预处理单元901根据状态转移配置信息将串行输入的信道信息和外信息转换成支路度量ChanMetric和相应的外信息度量ExtMetric。而后,支路度量和外信息度量经过第一比较器903比较后得到中间状态度量StaMetric和最小值与次最小值求解及符号累加,并将中间状态度量StaMetric保存在堆栈905中。然后第一比较器903累次对此后的数据进行最小值和次最小值求解及符号累加比较,直到下一个数组有效;与此同时,中间状态度量StaMetric在的堆栈905中移动;当下一个数组有效时,第一比较器903的最小值和次最小值求解及符号累加结果存储到R寄存器906中。解压缩器907(DeCompress)将R寄存器906中的符号累加结果解压,得到更新的状态度量CurExtMetric,并与堆栈905同步输出中间状态度量StaMetric。最后,中间状态度量StaMetric与更新的状态度量CurExtMetric求和,得到新的外信息度量NewExtMetric。运算器输出最小值与次最小值求解及符号累加结果R和外信息度量NewExtMetric,传送至输出子模块204。
实施例二
在本申请实施例中,将详细说明超高速并行卷积码运算器的译码运算过程,以及高速通用串行运算核分别在卷积码配置模式、Turbo配置模式和LDPC码配置模式时的译码运算过程。
请参阅图8所示,其为本发明中超高速并行卷积运算器701的结构示意图。在运算时,超高速并行卷积码运算器701并行接收若干路信道信息ChanInfo=yi,b_k,(0≤b<B-1),yi,b_k表示第i行第b子行的第k个信道信息,每一个子行对应编码的一路输出,B为卷积码的编码输出的分支数。
超高速并行卷积运算器通过度量预处理单元将所述信道信息进行转换,并行地得到256个支路度量ChanMetric=Fi_k:
其中uk是状态转移表提供的状态转移输出信息位;xi,b_k是状态转移表提供的状态转移校验位,s′为分支度量在上一时刻的状态,s为分支度量在当前时刻的状态。
然后超高速并行卷积码运算器701通过256路比较器得到状态度量NewStaMetric=Ai_k(s):
这些状态度量再次经过最小路径搜索比较器求得最小译码路径终状态信息和幸存路径的双比特,双比特数量为状态数,可选值为16、32、64、128和256。这些幸存路径比特经过外信息端口输出至输出子模块204。
请参阅图10所示,其为本发明中卷积码配置模式的高速通用串行运算核的结构示意图。在卷积码配置模式下,每一个高速通用串行运算核串行地执行度量计算。
运算时,高速通用串行运算核串行读入信道信息ChanInfo=yi,b_k(0≤b<B-1)和外信息ExtInfo=Mi_k,并通过度量预处理单元得到支路度量ChanMetric=Fi_k和外信息度量ExtMetric=Mi_k:
其中uk和xi,b_k是状态转移表提供的状态转移输出信息位和校验位;yi,b_k表示第i行第b子行的第k个信道信息;Mi_k表示第i行的第k个外信息,每一个子行对应编码的一路输出。
然后通过第一比较器903得到状态度量NewStaMetric,其值记为Ai_k(s),计算方法如下:
这些状态度量再次经过第一比较器904求得最小译码路径NewExtMetric和幸存路径的判决值D。最后,判决值D和最小译码路径NewExtMetric合并成一个数据即译码结果,并发送至控制模块101。
请参阅图11所示,其为本发明中Turbo码配置模式的高速通用串行运算核的结构示意图。在该模式下,高速通用串行运算核串行时分地执行前向度量计算、后向度量计算和外信息计算。首先进行前向度量计算,运算时,高速通用串行运算核串行读入信道信息ChanInfo=yi,b_k(0≤b<B-1)与外信息ExtInfo=Mi_k,并通过度量预处理单元得到支路度量ChanMetric=Fi_k:
其中uk和xi,b_k分别表示状态转移表提供的状态转移输出信息位和校验位,yi,b_k与Mi_k分别表示第i行第b子行的第k个信道信息与第i行的第k个外信息,每一个子行对应编码的一路输出。如果是首次迭代,则将外信息度量ExtMetric=Mi_k初始化为:
然后通过第一比较器903得到前向状态度量StaMetric=Ai_k(s):
并将其保存在堆栈905中。随后进行后向状态度量计算和外信息计算。此时,根据信道信息ChanInfo=yi,b_k(0≤b<B-1)与外信息ExtInfo=Mi_k,高速通用串行运算核通过度量预处理单元得到支路度量ChanMetric=Fi_k,再通过第一比较器903得到后向状态度量NewStaMetric=Bi_k(s):
同时,堆栈905同步输出前向度量StaMetric=Ai_k(s),与当前的后向度量Bi_k(s)及外信息Mi_k一起输出,经过第一比较器904得到更新的外信息NewExtMetric=Mi k:
之后,依据所述更新的外信息NewExtMetric和原始外信息ExtMetric,得到译码判决值Di_k,其计算方法如下:
Di_k=(NewExtMetric+ExtMetric)>0?0:1
最后,判决值Di_k和更新的外信息Mi_k合并成一个数据即译码结果,并发送至输出子模块204。
请参阅图12所示,其为本发明中LDPC码配置模式的高速通用串行运算核的结构示意图。在该模式下,高速通用串行运算核串行级联地执行和运算与积运算,
Λ′i,j_k=Λj_k-Ri,j_k
Λj_k=Λ′i,j_k+Ri,j_k
其中Λj_k表示校验阵的第j个列块的第k个和信息;Ri,j_k表示校验阵的第i个行块第j个列块的第k个外信息。
每进行一次新的和积运算时,高速通用串行运算核串行读入和信息ChanInfo=Λj_k与外信息ExtInfo=Ri,j_k,直到一组信息均进入高速通用串行运算核,此后紧跟着输入的是进行下一次和积运算的数据。
在LDPC码配置模式时,度量预处理单元将信道信息和外信息输出为支路度量ChanMetric=Λi,j_k和外信息度量ExtMetric=Ri,j_k。运算器将Λi,j_k和Ri,j_k相减,得到中间状态度量StaMetrc=Λ′i,j_k,进入第一比较器903。每当输入一组数据的首个数据时,第一比较器903初始化,比较结果输出|Λ′i,j_k|的最小值和次最小值以及Λ′i,j_k的符号Si,j_k=(Λ′i,j_k>0)?0:1,而后累次对剩下的数据Λ′i,j_k进行最小值和次最小值求解及符号累加:∑jSi,j_k,即对同一行所有的列块的符号进行累加,直到下一组数据输入;与此同时,Λ′i,j_k在堆栈905中移动;当下一组数据输入时,将第一比较器903的符号累加结果存储到R寄存器906中。解压缩器907(DeCompress)将R寄存器906中的符号累加结果解压,得到更新的状态度量CurExtMetric=R′i,j_k,并与堆栈905同步输出中间状态度量StaMetrc=Λ′i,j_k。最后,Λ′i,j_k与R′i,j_k求和,得到新的和信息即新的外信息度量NewExtMetric=Λj_k。度量运算单元902将R寄存器906中的符号累加结果和外信息度量NewExtMetric=Λj_k作为输出,并传送至输出子模块204。
在LDPC码配置模式时,第一比较器904是线通的,不参与运算操作。
实施例三
为了优化上述实施例,本申请提供的通用多模式译码装置还可以包括:存储模块1301,参见图13所示,图13为本申请实施例提供的又一种通用译码装置的结构示意图,所示存储模块1301用于存储所述需要译码的信道信息、译码过程中产生的数据及译码结果。
具体的,存储模块1301包括:输入控制器13011、存储单元13012和输出控制器13013;
输入控制器13011在信道信息输入时,选择信道信息地址和多位宽信道信息作为所述存储单元13012的输入地址和输入数据将所述多位宽信道信息发送至所述存储单元13012;否则选择译码运算地址和译码结果作为所述存储单元13012的输入地址和输入数据将所述译码结果发送给所述存储单元13012;
存储单元13012用于存储所述多位宽信道信息、译码过程中产生的数据和译码结果;存储单元13012由输入控制器13011提供输入地址和输入数据,由输出控制器13013提供输出地址,并将需要输出的数据返回给输出控制器13013。
输出控制器13013用于在译码运算结束时,选择译码结果地址和译码运算数据作为所述存储单元的输出地址和输出数据将所述译码结果输出至控制模块101;否则选择所述译码运算地址和所述多位宽信道信息作为所述存储单元的输出地址和输出数据将所述多位宽信道信息发送至所述运算输入控制子模块601。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (9)
1.一种通用多模式译码装置,其特征在于,包括:
控制模块和运算集成模块;
所述控制模块读入需要译码的信道信息,依据外部的配置地址和配置数据配置所述信道信息译码过程中所需的译码参数并依据所述译码参数生成译码运算地址和译码运算控制信息,并将所述需要译码的信道信息及所述译码运算地址和译码运算控制信息发送至所述运算集成模块;
所述运算集成模块依据所述译码运算地址及所述译码运算控制信息对所述信道信息译码,并将译码结果反馈至所述控制模块,由所述控制模块将所述译码结果输出。
2.根据权利要求1所述的装置,其特征在于,所述控制模块包括:
输入子模块、配置子模块、运算控制子模块和输出子模块;
所述配置子模块用于依据外部的配置地址和配置数据配置译码参数;
所述输入子模块用于读入需要译码的信道信息,并依据所述译码参数为所述信道信息配置并行存储格式,并将所述信道信息依据所述并行存储格式存储为多位宽信道信息并行发送至所述运算集成模块;
所述运算控制子模块用于依据所述配置子模块配置的译码参数控制生成译码运算参数,并将所述译码运算参数转换为译码运算地址及译码运算控制信息,并将所述译码运算地址及所述运算控制信息发送至所述运算集成模块;
所述输出子模块用于接收所述译码结果,并依据所述译码结果的数据类型配置串行输出格式,然后串行输出所述译码结果。
3.根据权利要求2所述的装置,其特征在于,所述运算控制子模块包括:
分层控制单元和直接地址生成单元;
所述分层控制单元用于依据所述配置子模块配置的译码参数控制生成译码运算参数;
所述直接地址生成单元用于将所述译码运算参数转换为译码运算地址及译码运算控制信息并发送至所述运算集成模块。
4.根据权利要求1所述的装置,其特征在于,所述运算集成模块包括:
运算输入控制子模块、并行运算子模块和运算输出控制子模块;
所述运算输入控制子模块用于依据所述译码运算地址将所述多位宽信道信息拆分为信道信息与外信息,并发送至所述并行运算子模块,同时将所述译码运算控制信息及所述译码运算地址发送至所述并行运算子模块;
所述并行运算子模块用于依据所述译码运算地址、译码运算控制信息对所述外信息及所述信道信息进行迭代译码运算,并在译码运算结束时将译码后的信道信息和外信息及译码运算地址发送至所述运算输出控制子模块,并发送迭代指示信号至运算控制子模块启动所述分层控制单元;
所述运算输出控制子模块用于将所述并行运算子模块发送的信道信息和外信息合并为译码结果,并将所述译码结果依据所述译码运算地址发送至所述输出子模块。
5.根据权利要求4所述的装置,其特征在于,所述并行运算子模块包括:
超高速并行卷积码运算器和高速通用运算器;
所述超高速并行卷积码运算器用于依据所述译码运算控制信息进行状态转移配置和状态数配置,并依据所述状态转移配置和状态数配置进行卷积码的超高速维特比译码运算;
所述高速通用运算器用于依据所述译码运算控制信息对不同类型的信道信息进行译码运算。
6.根据权利要求5所述的装置,其特征在于,所述超高速并行卷积码运算器包括:
度量预处理单元、若干比较器、最小路径搜索单元和幸存码字单元;
所述度量预处理单元用于依据所述状态转移配置信息将信道信息转换成若干支路度量;
所述若干比较器用于将所述支路度量与当前状态转移度量进行比较,得到若干路状态转移度量和幸存双比特;
所述最小路径搜索单元用于依据状态数配置信息比较状态转移度量的最小值,得到与所述状态转移度量最小的路径信息相对应的终状态配置信息;
所述幸存码字单元用于依据所述状态转移量最小的路径信息选择与所述路径信息相对应的幸存双比特并输出。
7.根据权利要求5所述的装置,其特征在于,所述高速通用运算器包括:
度量预处理单元和度量运算单元;
所述度量预处理单元用于依据状态转移信息将信道信息和外信息转换成支路度量和外信息度量;
所述度量运算单元用于依据所述译码运算地址选择不同的译码配置模式并在所述配置模式下依据所述译码运算控制信息应用所述支路度量和外信息度量进行相应的译码运算。
8.根据权利要求1所述的通用多模式译码装置,其特征在于,还包括:存储模块,用于存储所述需要译码的信道信息、译码过程中产生的数据及译码结果。
9.根据权利要求8所述的装置,其特征在于,所述存储模块包括:
输入控制器、存储单元和输出控制器;
所述输入控制器用于在信道信息输入时,选择信道信息地址和多位宽信道信息作为所述存储单元的输入地址和输入数据将所述多位宽信道信息发送至所述存储单元;否则选择译码运算地址和译码结果作为所述存储单元的输入地址和输入数据将所述译码结果发送给所述存储单元;
所述存储单元用于存储所述多位宽信道信息、译码过程中产生的数据和译码结果;
所述输出控制器用于在译码运算结束时,选择译码结果地址和译码预算数据作为所述存储单元的输出地址和输出数据将所述译码结果输出至所述译码结果地址;否则选择所述译码运算地址和所述多位宽信道信息作为所述存储单元的输出地址和输出数据将所述多位宽信道信息发送至所述运算输入控制子模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110306891 CN102355331B (zh) | 2011-10-11 | 2011-10-11 | 一种通用多模式译码装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110306891 CN102355331B (zh) | 2011-10-11 | 2011-10-11 | 一种通用多模式译码装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102355331A true CN102355331A (zh) | 2012-02-15 |
CN102355331B CN102355331B (zh) | 2013-10-02 |
Family
ID=45578832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110306891 Active CN102355331B (zh) | 2011-10-11 | 2011-10-11 | 一种通用多模式译码装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102355331B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103427850A (zh) * | 2012-05-24 | 2013-12-04 | 中兴通讯股份有限公司 | 多模维特比解码装置及其解码方法 |
CN103905067A (zh) * | 2012-12-27 | 2014-07-02 | 中兴通讯股份有限公司 | 多模译码器实现方法及装置 |
CN104348511A (zh) * | 2013-08-09 | 2015-02-11 | 联想(北京)有限公司 | 一种射频电路及电子设备 |
CN104539294A (zh) * | 2014-12-26 | 2015-04-22 | 复旦大学 | 一种用于Turbo码和LDPC码译码器的地址生成器 |
CN105656491A (zh) * | 2015-12-29 | 2016-06-08 | 东南大学—无锡集成电路技术研究所 | 一种多码率二元qc-ldpc码译码器及译码方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5870427A (en) * | 1993-04-14 | 1999-02-09 | Qualcomm Incorporated | Method for multi-mode handoff using preliminary time alignment of a mobile station operating in analog mode |
EP1030456A2 (en) * | 1999-02-15 | 2000-08-23 | Nec Corporation | Error correction coding/decoding method and apparatus |
US20020178418A1 (en) * | 2001-03-22 | 2002-11-28 | Ramprashad Sean Anthony | Channel coding with unequal error protection for multi-mode source coded information |
CN101262231A (zh) * | 2008-04-25 | 2008-09-10 | 浙江大学 | 一种块状低密度校验码的译码方法及可重构多模式译码器 |
CN101894590A (zh) * | 2009-05-21 | 2010-11-24 | 成都市华为赛门铁克科技有限公司 | 存储数据纠错的编码和译码方法,装置以及存储数据纠错设备 |
-
2011
- 2011-10-11 CN CN 201110306891 patent/CN102355331B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5870427A (en) * | 1993-04-14 | 1999-02-09 | Qualcomm Incorporated | Method for multi-mode handoff using preliminary time alignment of a mobile station operating in analog mode |
EP1030456A2 (en) * | 1999-02-15 | 2000-08-23 | Nec Corporation | Error correction coding/decoding method and apparatus |
US20020178418A1 (en) * | 2001-03-22 | 2002-11-28 | Ramprashad Sean Anthony | Channel coding with unequal error protection for multi-mode source coded information |
CN101262231A (zh) * | 2008-04-25 | 2008-09-10 | 浙江大学 | 一种块状低密度校验码的译码方法及可重构多模式译码器 |
CN101894590A (zh) * | 2009-05-21 | 2010-11-24 | 成都市华为赛门铁克科技有限公司 | 存储数据纠错的编码和译码方法,装置以及存储数据纠错设备 |
Non-Patent Citations (1)
Title |
---|
NIKTASH,A.: "RECFEC:A Reconfigurable FEC Processor for Viterbi,Turbo,Reed-Solomon and LDPC Coding", 《WIRELESS COMMUNICATIONS AND NETWORKING CONFERENCE,2008,WCNC》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103427850A (zh) * | 2012-05-24 | 2013-12-04 | 中兴通讯股份有限公司 | 多模维特比解码装置及其解码方法 |
CN103427850B (zh) * | 2012-05-24 | 2017-04-05 | 深圳市中兴微电子技术有限公司 | 多模维特比解码装置及其解码方法 |
CN103905067A (zh) * | 2012-12-27 | 2014-07-02 | 中兴通讯股份有限公司 | 多模译码器实现方法及装置 |
WO2014101562A1 (zh) * | 2012-12-27 | 2014-07-03 | 中兴通讯股份有限公司 | 多模译码器实现方法及装置 |
US9374110B2 (en) | 2012-12-27 | 2016-06-21 | Zte Corporation | Multimode decoder implementation method and device |
CN103905067B (zh) * | 2012-12-27 | 2018-05-11 | 中兴通讯股份有限公司 | 多模译码器实现方法及装置 |
CN104348511A (zh) * | 2013-08-09 | 2015-02-11 | 联想(北京)有限公司 | 一种射频电路及电子设备 |
CN104348511B (zh) * | 2013-08-09 | 2016-09-28 | 联想(北京)有限公司 | 一种射频电路及电子设备 |
CN104539294A (zh) * | 2014-12-26 | 2015-04-22 | 复旦大学 | 一种用于Turbo码和LDPC码译码器的地址生成器 |
CN105656491A (zh) * | 2015-12-29 | 2016-06-08 | 东南大学—无锡集成电路技术研究所 | 一种多码率二元qc-ldpc码译码器及译码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102355331B (zh) | 2013-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101777924B (zh) | 一种Turbo码译码方法和装置 | |
CN103888148B (zh) | 一种动态阈值比特翻转的ldpc码硬判决译码方法 | |
CN101867379B (zh) | 一种循环冗余校验辅助的卷积码译码方法 | |
CN102355331B (zh) | 一种通用多模式译码装置 | |
CN102142928B (zh) | 交织、解交织外码编码输出码字的方法和交织、解交织器 | |
CN102017425B (zh) | 用于执行级联纠错的方法和系统 | |
CN100517984C (zh) | 用于移动通信系统的维特比/涡轮联合译码器 | |
CN102694625A (zh) | 一种循环冗余校验辅助的极化码译码方法 | |
CN102412847A (zh) | 用联合节点处理来解码低密度奇偶校验码的方法和设备 | |
CN101777926B (zh) | 一种Turbo乘积码的通用译码器及其方法 | |
CN101471674A (zh) | 低密度奇偶校验码译码方法及装置 | |
US8433975B2 (en) | Bitwise reliability indicators from survivor bits in Viterbi decoders | |
CN101997553A (zh) | 一种卷积码译码方法及装置 | |
CN100512020C (zh) | 一种译码方法及译码装置 | |
CN105164649A (zh) | 对存储在固态存储器中的数据进行解码 | |
CN103034556B (zh) | 用于奇偶共享数据编码的系统及方法 | |
CN104333435A (zh) | 迭代解映射译码装置 | |
CN103023603B (zh) | 基于ldpc校验矩阵的比特交织编码调制的实现方法 | |
CN102545914B (zh) | Bch编译码方法及装置 | |
CN202475439U (zh) | 一种基于可配置qc-ldpc编译码算法的硬件仿真验证平台 | |
CN101567696B (zh) | 一种参数可变的bch码编码器及译码器 | |
CN101764621B (zh) | 星载(8176,7156)ldpc编译码器中实现缩短码与子码兼容的方法 | |
CN109995383A (zh) | 译码方法、装置、存储介质和计算机程序产品 | |
KR101641147B1 (ko) | 인코딩 장치 | |
CN101510782B (zh) | 译码方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |