CN105049061B - 基于超前计算的高维基极化码译码器和极化码译码方法 - Google Patents

基于超前计算的高维基极化码译码器和极化码译码方法 Download PDF

Info

Publication number
CN105049061B
CN105049061B CN201510208465.0A CN201510208465A CN105049061B CN 105049061 B CN105049061 B CN 105049061B CN 201510208465 A CN201510208465 A CN 201510208465A CN 105049061 B CN105049061 B CN 105049061B
Authority
CN
China
Prior art keywords
input
selector
node
output
code
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
Application number
CN201510208465.0A
Other languages
English (en)
Other versions
CN105049061A (zh
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.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN201510208465.0A priority Critical patent/CN105049061B/zh
Publication of CN105049061A publication Critical patent/CN105049061A/zh
Application granted granted Critical
Publication of CN105049061B publication Critical patent/CN105049061B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03BASIC ELECTRONIC 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes

Abstract

本发明提出一种基于超前计算的高维基极化码译码器和极化码译码方法。包括:控制模块,用于向处理器模块发出控制信号,向内存单元发送地址信号;内存单元,用于根据所述地址信号向处理器模块发送输入数据;理器模块,包括多个节点处理器,每个节点处理器,用于根据控制信号,对内存模块发送来的K个输入数据执行极化码译码处理,其中利用高维基译码算法将极化码译码过程中的k级译码合并为一次迭代,其中k=log2K,而且在每一级的校验节点上基于超前计算方式计算全部可能输出结果以供后续译码过程选择,并且将译码结果发送到内存单元。

Description

基于超前计算的高维基极化码译码器和极化码译码方法
技术领域
[0001] 本发明属于信道编码技术领域,特别是一种基于超前计算的高维基极化码译码器 和极化码译码方法。
背景技术
[0002] 极化码(Polar Codes)是2009年由E.Arikan提出的一种被严格证明可以达到信道 容量的构造性的信道编码方法。图1是使用极化码译码的基本结构框图;图2是信道极化的 基本结构组成示意图。在进行极化编码之前,首先要对N = 2n个独立的二进制输入信道(或 先后N次反复使用同一个信道,即一个信道的N个可用时隙),再利用信道极化的基本单元对 二进制输入离散信道反复进行极化,上式中,η为自然数。最基本的信道极化操作是对两个 相同的未经极化的信道W:X—y进行单步极化;其中,X是信道输入符号的集合,对于二进制 输入信道,X的取值范围为{〇,l};y是信道输出符号的集合。如图2所示,该极化信道的输入 比特分别标记为UdPU2,这两个输入比特通过一个模二加法器输出得到X1,同时将1!2直接赋 值给X2,也即
Figure CN105049061BD00041
,式中㊉为模二加运算。把χθΡχ2分别送入未经极化信道W, 其输出为yi和y2。从该信道极化基本单元的输入(ui和U2)和两个信道的输出(yi和yi)看,原 本独立的两个未经极化的信道W被合并成一个两输入两输出的向量信道W2: X2^y2,其中,
Figure CN105049061BD00042
,运算
Figure CN105049061BD00043
为笛卡尔积。该向量信道包含两个子信道^
Figure CN105049061BD00044
(输入为Ul 输出为yi和y2)和
Figure CN105049061BD00045
(输入为U2输出为yi和y2),这两个子信道即是两个极化信道。经 过该单步极化过程,从信道容量上看
Figure CN105049061BD00046
,其 中I (·)表示求信道容量的函数。也就是说:单步极化后,在和容量保持不变的情况下,相比 原本未经极化的信道,极化后的信道容量发生了偏离:一个增加,一个减少。如果对两组已 经完成一次极化操作的信道,再在两组互相独立的转移概率相同的极化信道之间,分别进 行单步极化操作,该偏离会更加明显,这一组单步极化操作被称为第二层极化操作,而前一 组单步极化操作则称为第一层极化操作。每多做一层极化操作,需要的信道数就会比原先 多一倍。因此,对N = 2nf信道进行完全的极化,共需要η层极化操作,且每一层的极化操作 包括了N次单步极化操作。如不加特殊说明,“对N个信道进行极化操作”是指完全极化。
[0003] 理论上已证明,对接近无穷多个信道进行极化操作后,会出现一部分信道的容量 为1 (即通过其传输的比特肯定会被正确接收),其余信道容量为〇 (即完全无法在其上可靠 地传输比特)的现象,而容量为1的信道占全部信道的比例正好为原二进制输入离散信道的 容量。参见图3,介绍一个实用的信道极化装置的递归结构:长度N (对N个信道进行极化)的 信道极化装置可以用长度为Ν/2的信道极化装置作递归操作来表示,递归过程中的最小单 元(即当Ν = 2时)就是图2所示的基本单元。图3中的信道极化装置中有一个长度为N的比特 反转交织器,其功能是:先将输入端的十进制序号i按二进制表示为(b^W-2. . .bQ),其中,η = Iog2N,再将该二进制序列反序而得到(boh. . .bn-〇,最后重新按十进制表示成Ji1,并作为 输入序号i对应的输出序号。比特反转交织器的作用是将输入端序号为i的比特映射到序号 心处。根据编码速率0?)对N个信道进行极化,并选取其中容量最大的K个信道(或者等价地, 选取可靠性最高的K个信道;可靠性度量是采用密度进化(Density Evolution)工具或者计 算巴塔恰里亚(Bhattacharyya)参数得到的数值),以承载用于传输消息的比特,称该部分 比特为信息比特,并称该部分信道为信息信道(其中,
Figure CN105049061BD00051
为向下取整运 算),其余未被选中的信道则传输一个约定的比特序列,称其为固定比特序列,并称该部分 信道为固定信道(若信道对称则可简单地传输全零序列),从而形成一个从承载信息的K个 比特到最终送入信道的N个比特的映射关系,这样的一种映射关系即为极化码,码长(编码 后得到的二进制信号所包含的比特数)等于信道极化装置的长度N。由信息比特和固定比特 组成的、送入信道极化装置的二进制信号序列(m. . .UN)为编码码块,该编码码快的顺序与 其送入的极化信道的序号一致,即m送入时),其中序号i是1到N的自然数,坪f表示将N个信 道W极化后得到的序号为i的极化信道。编码码块经过信道极化装置后,得到的信号序列 (X1. . .XN),再通过N个独立信道W传输后,接收到的信号序列为(yi. . .yN)。译码器的任务就 是根据接收信号序列(yi.. .yN)得到发送比特序列(m.. .UN)的一组比特估计值
Figure CN105049061BD00052
。极 化码可以使用串行抵消译码方法:对编码码块中的每个比特按序号i顺序地从1到N依次进 行判决,还可以将串行抵消译码方法描述为一个码树上的搜索过程(参见图4所示的一个简 单范例)。串行抵消译码是在码树上逐步扩展,每次从两条候选路径中选择其中概率值相对 较大的一条,并在那一条路径的基础上继续进行下一步的路径扩展。
[0004] 串行抵消译码算法:参见图5 (图中以码长等于8为例),最右侧的(λ〇. . .λ7)为解调 之后得到的信道软信息值,最左侧的(L〇. . .L7)则为每一个码字对应的软信息值。图中每一 个圆都代表一个节点处理器,用于更新节点信息。节点上的序号代表该各个节点之间执行 的先后顺序。从第一个节点开始,各个节点按照序号被激活,同时,根据每个节点的输入和 节点更新算法,计算出相应的软信息值并送入下一个节点处理器。每一个节点在整个译码 过程中只被激活一次。对于校验节点(图中的白色节点)的软信息更新,为了简化硬件实现, 用最小和操作来近似计算所需的软信息值,具体计算公式为Lf = Sign (La) sign (Lb)min (I La ,|Lb|),其中,Lf为节点处理器输出值,LdPLb为节点处理器输入值;sign(·)表示求符号 操作,min(·)表示求括号内所有数的最小值操作,I · I表示求绝对值操作。对于变量节点, 计算公式为
Figure CN105049061BD00053
其中,Lg为节点处理器输出值,La和Lb为节点 处理器输入值;
Figure CN105049061BD00054
为译完码字的部分模二加的结果。
[0005] 对于串行抵消译码方法的改进,一方面是通过对计算码树中节点内部的操作进行 优化,比如简化串行抵消译码算法,该算法提出了将码树上的信息位和固定位分别进行合 并,省去了许多无需计算节点消耗的计算量。另一方面,在译码器的硬件实现上,不断有低 消耗高吞吐率的结构被提出。极化码译码的基本硬件译码器实现有蝶型、管道型、线型三种 基本结构。蝶形即对最基本的串行抵消译码器进行实现,码树上每一次计算都分配一个节 点计算器和寄存器。这种结构中,一共需要2N-2个节点寄存器和节点计算器。以码长等于8 为例,其基本结构与最基本的译码算法图(图5)相同,图中每个圆都代表一个处理器和相应 的寄存器。从图5中可以得到对于译码器的第i级,最多只有21个节点同时进行运算。据此, 管道型结构译码器将每一级中的剩余21个节点去除,在很大程度上节省了译码器的资源消 耗情况。该译码器虽然在译码时钟方面较蝶形译码器没有减少,但在译码器的资源利用率 上有较大的改进。由于在整个译码过程中,最多只有第η级需要N/2个节点处理器,所以译码 器可以继续改进,将所有的译码在一个线型排列的Ν/2个节点处理器中进行,称为线型译码 结构。这种译码器结构进一步减少了资源消耗,同时提升了译码器的资源利用率。
[0006] 当然,也有很多设计者考虑到吞吐率的重要性,利用大量的硬件资源以取得比较 可观的吞吐率,这也是当前极化码译码器设计的一个方向。超前计算和并行计算是这类译 码器中非常常见的提高吞吐率方法。超前计算方法是利用极化码变量节点的输出结果可变 性比较小来提高运算速度。根据前面提到的变量节点计算公式:
Figure CN105049061BD00061
,该 节点输出只取决于
Figure CN105049061BD00062
的大小,由于为二进制数,也就是说变量节点的输出最多只有两种
Figure CN105049061BD00063
可能。超前计算技术的主要思路则是提前将两种可能全部算好并储存在寄存器中,当氧得 到时直接从寄存器中选取出相应的结果即可,参见图6,利用这种方法的译码器虽然在吞吐 率上有较大改观,但是在变量节点上需要付出传统译码器多一倍的硬件资源。并行计算方 法则是利用极化码编码原理,将整个译码器拆分成两个并行计算的子译码器,从而将吞吐 率提高一倍。但相比传统的极化码译码器,这些译码器的硬件资源的增长也是巨大的。
[0007] 总之,现有技术的缺点是:当前的极化码译码器在吞吐率和硬件资源消耗上没有 一个比较好的折衷。因此,如何对这些译码器进行改进,设计出一种新的译码结构,让其在 吞吐率可观的情况下硬件资源消耗的增加也在可接受范围之内就成了业内人士关注的一 个重要课题。
发明内容
[0008] 有鉴于现有技术的缺点,本发明将高维基的思想运用到极化码译码器的设计中。 本发明实施方式提出一种基于超前计算的高维基极化码译码器和极化码译码方法,利用少 量硬件资源为代价,在译码器吞吐率上取得可观的改进。
[0009] 本发明实施方式的技术方案如下:
[0010] —种基于超前计算的高维基极化码译码器,包括:
[0011] 控制模块,用于向处理器模块发出控制信号,向内存单元发送地址信号;
[0012] 内存单元,用于根据所述地址信号向处理器模块发送输入数据;
[0013] 处理器模块,包括多个节点处理器,每个节点处理器获取的输入数据个数为Κ,输 出数据个数为1,其中K为高维基的维数;
[0014] 每个节点处理器,用于根据控制信号,对内存模块发送来的K个输入数据执行极化 码译码处理,其中利用高维基译码算法将极化码译码过程中的k级译码合并为一次迭代,其 中k = log2K,而且在每一级的校验节点上基于超前计算方式计算全部可能输出结果以供后 续译码过程选择,并且将译码结果发送到内存单元。
[0015] —种基于超前计算的高维基极化码译码方法,包括:
[0016] 控制模块向处理器模块发出控制信号,向内存单元发送地址信号;
[0017] 内存单元根据所述地址信号向处理器模块发送输入数据;处理器模块包括多个节 点处理器,每个节点处理器获取的输入数据个数为K,输出数据个数为1,其中K为高维基的 维数;
[0018] 每个节点处理器根据控制信号对内存模块发送来的K个输入数据执行极化码译码 处理,其中利用高维基译码算法将极化码译码过程中的k级译码合并为一次迭代,其中k = Iog2K,而且在每一级的校验节点上基于超前计算方式计算全部可能输出结果以供后续译 码过程选择,并且将译码结果发送到内存单元。
[0019] 从上述技术方案可以看出,本发明提供了一种高维基的极化码译码器设计。本发 明中的译码器结构是一种全新的译码结构,该结构利用少量硬件资源为代价,在译码器吞 吐率上取得可观的改进。同时,本发明操作简单,通用性好,具有较好的实用化前景。
附图说明
[0020] 图1是使用极化码译码的基本结构框图。
[0021] 图2是信道极化的基本结构组成示意图。
[0022] 图3是长度为N的信道极化装置的递归结构示意图,其中递归的最小单元(SPN=I 时)为图2所示的基本单元。
[0023] 图4是一个码长N = 4的极化码的码树示意图。图中指使了一条串行抵消译码得到 的路径,其对应的比特估计序列为(0110)。
[0024] 图5是一个码长N=S的极化码串行抵消译码算法实现图。
[0025] 图6是极化码超前计算方法的基本原理。
[0026] 图7是基二极化码向基四极化码转化过程的理论推导示意图。
[0027] 图8是基于超前计算的基四极化码译码器的实现架构图。
[0028] 图9是基于超前计算的高维基极化码译码器操作步骤流程图。
[0029] 图10是基于超前计算的高维基极化码译码器的实现架构图。
[0030] 图11是基于超前计算的基八极化码译码器中节点处理器的一种实现结构图。
[0031] 图12是基于超前计算的高维基极化码译码器的硬件设计概述图。
[0032] 图13是内存模块和处理器模块之间数据缓存器的硬件设计概述图。
[0033] 图14是基于超前计算的基四极化码译码器操作步骤流程图。
具体实施方式
[0034] 为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步 的详细描述。
[0035] 本发明提出一种基于超前计算的高维基极化码译码器,包括:控制模块,用于向处 理器模块发出控制信号,向内存单元发送地址信号;内存单元,用于根据所述地址信号向处 理器模块发送输入数据;处理器模块,包括多个节点处理器,每个节点处理器获取的输入数 据个数为K,输出数据个数为1,其中K为高维基的维数;每个节点处理器,用于根据控制信 号,对内存模块发送来的K个输入数据执行极化码译码处理,其中利用高维基译码算法将极 化码译码过程中的k级译码合并为一次迭代,其中k = log2K,而且在每一级的校验节点上基 于超前计算方式计算全部可能输出结果以供后续译码过程选择,并且将译码结果发送到内 存单元。
[0036] 在一个实施方式中,该高维基极化码译码器还包括:部分和更新模块,用于接收处 理器模块产生的译码结果,利用部分和更新算法更新部分和序列,并将更新后的部分和序 列返回给处理器模块。
[0037] 在一个实施方式中,该高维基极化码译码器还包括分别与处理器模块和内存单元 相连接的双缓存模块,用于在处理器模块的数据处理速度与内存单元的数据输出速度之间 达到匹配。
[0038] 在一个实施方式中,所述每个节点处理器,用于执行:
[0039] (1)、迭代译码过程:该过程包括:按照每个时钟周期所产生的所述控制信号和所 述地址信号,从内存单元中读取出需要进行处理的LLR值,从部分和更新模块中取出部分和 序列,将处理结果数据LLR值存入内存单元对应的区域,完成一级迭代过程;重复n/k次,完 成一次完整的迭代,以求出一个码字的估计LLR值,η为码长;
[0040] (2)、译码判决过程:将上述迭代译码过程得到的一个码字的估计LLR值进行硬判 决,得到对该码字的一个估计值,该估计值即为译码结果。
[0041] 在一个实施方式中,高维基极化码译码器优选为基四极化码译码;所述输入数据 为4个,分别为第一输入数据、第二输入数据、第三输入数据和第四输入数据;
[0042] 节点处理器包括第一级和第二级;
[0043] 第一级包括:第一选择器、第二选择器、第一校验节点、第一变量节点,第二校验节 点和第二变量节点、第三选择器和第四选择器,其中第一选择器的输入连接到第一输入数 据;第一选择器的输出连接第二校验节点的输入和第二变量节点的输入;第二选择器的输 入连接到第二输入数据,第二选择器的输出连接到第二校验节点的输入和第二变量节点的 输入;第一校验节点的输入连接到第三数据和第四数据;第一变量节点的输入连接到第三 数据和第四数据;第一校验节点的输出连接到第三选择器的输入;第一变量节点的输出连 接到第三选择器的输入;第二校验节点的输出连接到第四选择器的输入;第二变量节点的 输出连接到第四选择器的输入;
[0044] 第二级包括:第三校验节点、第五选择器、超前计算单元和第六选择器,其中第三 校验节点的输入连接到第三选择器的输出和第四选择器的输出;第六选择器的输入连接到 第五校验节点的输出和第五选择器的输出;超前计算单元的输入连接到第二选择器的输出 和第四选择器的输出;超前计算单元的输出连接到第五选择器的输入。
[0045] 在一个实施方式中,超前计算单元包括:连接到第二选择器的输出和第四选择器 的输出的第一加法变量节点;连接到第二选择器的输出和第四选择器的输出的第一减法变 量节点;与第一加法变量节点连接的第一寄存器;与第一减法变量节点连接的第二寄存器。
[0046] 本发明提供了一种基于超前计算的高维基极化码译码方法。该方法包括:在极化 码译码码树上,将两级或者更多级码树合并成一级(由于极化码的构造特性,只能将大小为 2的整数次幂的级数合并为一级进行计算),减少极化码译码迭代的次数;同时在每一级的 校验节点上利用超前计算方法以提高译码器整体吞吐率。在整体译码流程中,本发明所用 的架构是半并行译码架构。该方法的译码性能和传统的基二SC(Radix-2-SC,下简称R2-SC) 译码没有实质差别,下面参见图7和图8,以基四SC(Radix-4-SC,下简称R4-SC)译码方法为 例介绍高维基极化码译码算法(Radix-K-SC,下简称RK-SC。其中K为SC译码的维数,就是将 R2-SC译码的k级译码流程合并为一级,k= Iog2K)的理论依据:
[0047] 在极化码的译码过程中,可以将每一级上的节点分为校验节点和变量节点,分别 对应于图8中的校验处理器(F)和变量节点器(G)。在校验节点上对输入的两个对数似然比 (Log-Likelihood Ratio,简称LLR,在图中用L表示)进行的操作为Lf = sign (La) sign (Lb) min (I La|,I Lb|),简记为Lf = F (La,Lb);在变量节点上对输入的两个LLR进行的操作为
Figure CN105049061BD00091
,简记SLg = G(La,Lb)。将译码流程中两级合并成一级,就可 以得到一个如图8中左下角的节点处理单元结构。该节点处理单元有四个输入,分别记为 La,Lb,U,Ld。根据简单推导,可以求出基四极化码译码算法中迭代计算的公式:
Figure CN105049061BD00092
[0052] 如图7所示,公式中,L1, L2, L3, L4为节点处理单元的四种输出可能。这样一来,节点 处理器的种类也由R2-SC的变量处理器和校验处理器两种,变为了 R4-SC中L1,L2,L3,L4四 种。同样的每个节点处理单元的输入也从从R2-SC的2个变成了 4个。这里,我们定义1^和1^互 为对偶节点,同理L4也和L3互为对偶节点。同时,译码级数也将减少到原来的一半。
[0053] 仔细观察译码过程可以得到:在第一种节点(L1)得到输入信息值而被激活的时 候,由于第二种节点(L2)与第一种节点(L1)的操作在很大一部分程度上是相同的(即上述公 式中F(La,Lb),F(Lc,Ld)部分,图7中用虚线方框标记),我就利用前面提5猶超前计算方 法,在计算1^的同时,将第L2最外层的变量节点〇;)的两种输出可能结果全部算出并储存,等 到下一次需要计算L2节点输出时,只需通过选择器来选择已储存的两种输出中正确的一个 即可。同理,L3和L4的计算也如此。这就是基于超前计算的R4-SC译码算法。经过软件仿真统 计,超前计算R4-SC的译码性能和R2-SC完全一致,这和理论推导也是相符的,验证了超前计 算R4-SC的理论可实现性。
[0054] 根据上述理论可以设计出如图8所示的基四极化码的硬件框图,图中简要介绍了 每个节点处理单元的实现架构图。图中以码长N=16为例,设计了基四极化码的硬件结构 图。译码流程分为两级,每一个节点处理器都有4个输入和一个输出。左上角的Dec (Decide) 单元为硬判决单元,将译码器输出的比特似然比转化为判决结果(01比特)。左下角即基四 译码器每个节点处理单元的基本结构,其中表示译码过程中第i级第j个节点处理单元, 这些节点单元可由校验处理器和变量处理器组成。相对应的,Ri,j表示第i级第j个寄存器。F 为校验处理器,G为变量处理器;
Figure CN105049061BD00093
为部分和序列,con为控制信号,如果没有特殊说明,文中 所有配图都沿用这个表示方法。虚框内为超前计算的实现方法。两个+π的输入用于码长不 是4的整数幂卿码长为2的奇数次_的情况,需要在最后一级将输出补满。
[0055] 在硬件实现方面,申请人也设计了简单易懂、便于实现的硬件结构。下面参见图12 介绍高维基极化码译码器的算法实现图。高维基极化码译码器主要包括以下几个部分:
[0056] ⑴控制模块:
[0057] (11)控制模块主要功能:
[0058] 根据系统时钟和复位信号,在正常译码周期内(复位信号为0的情况下),每一个时 钟周期产生一组控制信号和一对地址信号,将控制信号传输给节点处理器模块,用于处理 器中运算选择;将这一对(两个)地址信号传输给内存模块,分别用于内存模块读取该时钟 内处理需要的LLR值和写入该时钟内处理完的的LLR值。
[0059] (12)模块的输入输出信号介绍:
[0060] 时钟信号(系统输入):译码器的总时钟信号,给译码器的计算打节拍的“节拍器”; 复位信号(系统输入):该信号有效时表示译码器终止译码,该模块所有输出信号为〇;控制 信号(输出至处理器模块):控制译码器译码流程,功能如下文;地址信号(输出至内存模 块):由控制信号产生的两个地址信号,分别为读地址和写地址,这两个地址信号用于控制 内存模块的数据读写。
[0061] (13)模块硬件结构和实现方法
[0062] 该模块的输入信号为系统时钟信号和复位信号,输出信号为控制信号和地址信 号。该模块的主要结构是一个有限状态机,每个时钟周期都会得到一组不同的控制信号。地 址信号可以由控制信号通过简单的逻辑组合单元处理得到。
[0063] (2)处理器模块:
[0064] (21)模块主要功能:在一个时钟周期内,根据控制模块产生的读地址信号在内存 模块中读取出的处理器模块需要的LLR值、从部分和模块中读取出部分和序列,根据控制模 块产生的控制信号决定如何对这些输入数据进行迭代计算;根据控制模块产生的写地址信 号将计算的结果输出给内存模块。
[0065] (22)模块的输入输出端口
[0066] 时钟信号(系统输入):译码器的总时钟信号,控制处理器模块每个时钟迭代计算 一次;复位信号(系统输入):该信号有效时表示译码器终止译码,该模块所有输出信号为〇; 控制信号(由控制模块输入):根据上述介绍的三个控制信号,可以得知当前译码状态所处 的层级、子信道和并行次数,从而得知应该对输入数据做何处理、是否需要对部分和进行更 新等。
[0067] 处理器输入LLR数据(由内存模块输入):内存模块提供的当前译码器需要进行处 理的数据;处理器输出LLR数据(输出至内存模块):处理器对输入数据进行相应处理之后, 需要将数据存入内存模块,用于后续迭代;译码结果(输出至部分和模块):译码结果需要输 出给部分和模块用于部分和更新;部分和序列(从部分和模块输入):部分和序列为处理器 模块中变量处理单元的输入。
[0068] (23)模块硬件结构和实现方法
[0069] 处理器模块式极化码译码器中比较容易实现的模块。节点处理器模块由P个并行 的相同的节点处理单元组成,每个节点处理单元中有校验处理器、变量处理器以及数据选 择器。节点处理器模块非常易于实现,变量处理器由加法器组成;校验处理器由比较器构 成。再加上选择器和必要的组合逻辑单元即可得到节点处理器模块,其内部的分布和布局 布线由图10和图8左下角的处理器内部结构图可得知。
[0070] (3)内存模块
[0071] (31)模块主要功能:内存模块用于储存迭代中产生的、后续迭代需要使用到的中 间数据。在每个时钟周期内,内存模块根据控制模块产生的读地址信号,将该周期处理器模 块需要的待处理数据从内存模块中读取出并输出至处理器模块;并根据写地址信号将该周 期内处理器处理完的数据写入内存模块,完成译码器中间变量储存的功能。
[0072] (32)模块输入输出信号
[0073] 时钟信号(系统输入):译码器的总时钟信号,控制内存模块每个时钟读写数据一 次;复位信号(系统输入):该信号有效时表示译码器终止译码,该模块所有输出信号为〇;地 址信号(控制模块输入):地址信号一共有两个:读地址信号和写地址信号,根据读地址信 号,内存模块取出相应的数据,送到内存单元的输出数据总线上;根据写地址数据和内存单 元输入数据总线上的输入,将这些数据存入内存模块对应区域以保存。
[0074] 内存模块输入数据(从处理器模块读入):这些数据是当前时钟周期处理器模块处 理完需要保存并用于后续迭代的数据,也就是该时钟周期的处理器输出数据。
[0075] 内存模块输出数据(输出至处理器模块):这些数据是当前时钟周期处理器模块需 要处理的数据,也就是该时钟周期的处理器输入数据。
[0076] (33)模块硬件结构和实现方法
[0077] 内存模块:该模块用8块随机存储器(block_ram)组成,每块block_ram对应节点处 理器模块中的一个子节点处理器模块,并负责对应子节点处理器模块的数据储存与读取。 每一块bl〇Ck_ram的数据深度为N/4 (N为码长),数据宽度为预先设定的译码器的量化比特 数Q。
[0078] ⑷部分和更新模块
[0079] (41)模块主要功能:每个时钟周期内,将处理器模块最终产生的一个码字的判决 结果接收,依据控制信号更新部分和序列,并将这个更新完的部分和序列返回给处理器模 块,以用于后续迭代计算中变量处理器计算使用。
[0080] (42)模块输入输出信号
[0081] 时钟信号(系统输入):只有在时钟上沿才能对部分和进行更新;复位信号(系统输 入):该信号有效时表示译码器终止译码,该模块所有输出信号为〇;控制信号(有控制模块 输入):根据控制信号决定是否需要对部分和进行更新,应该如何更新;部分和序列(输出至 处理器模块):用于处理器模块中的LLR迭代计算;译码结果(由处理器模块输入):用于部分 和更新。
[0082] (43)模块硬件结构和实现方法
[0083] 部分和更新子模块的实现比较简单,可由长度比较低的部分和更新方法递归得到 长度比较大的部分和更新方法。比如长度为256的部分和的更新模块可以由两个长度为128 的部分和更新模块构成,这也正是极化码编码器的构造,由于编码生成矩阵的相邻行有一 定的规律可循,可以用移位寄存器实现编码过程
[0084] (5)读取速率匹配设计——双缓存器(Buffer)结构。
[0085] 在基于高维基高维基极化码的硬件设计中有一个比较棘手的问题:b 1 〇 c k_r am的 读取速度为每个时钟周期只能读取一个数据,而处理器每个时钟周期需要处理的数据总数 为4P (以基4极化码算法为例)个,如果按照bl〇Ck_ram的读取速度,则在很大一部分时间之 内处理器模块中的节点处理器都是出于空闲状态,这样既浪费了资源又降低了吞吐率。所 以本发明中设计了 一组双Buf fer来使处理器处理数据的速度和内存单元输出的速度达到 匹配,下面结合图13介绍其主要设计方法:
[0086] 以目前主流的半并行极化码译码器(基4)设计来举例,假设处理器模块中节点处 理器的个数为P个,这样每一次全并行操作需要输入4P个LLR值,对一个缓存器(Buffer)来 讲是很难实现这么多数据同时进出的,所以本发明中我们设计了8组双Buffer结构(一共16 个Buffer,其中8个当前时钟周期的读写操作,8个用于下一个周期的读写操作,每8个节点 处理器共用一个Buffer,即每个Buffer里面存有4P/2 = P/2个LLR输入值)。我们设计双 Buffer的目的就是为了让某一时钟周期,处理器在处理一个Buffer中的数据并将其输出储 存到这个缓存器中的时候,另一个缓存器可以将上一个时钟周期处理完的数据读取并储存 到内存模块,同时将下一个时钟周期处理器需要的输入提前存入第二个缓存器,这样就省 去了读取、保存数据所消耗的实践。以下我们以第N和第N+1个时钟周期为例,简要介绍双 Buffer的操作原理。
[0087] 我们将一组双Buffer中的两个缓存器分别命名为X缓存器和Y缓存器。当第N个时 钟周期来临时,处理器读取上一个时钟周期已经储存在Y缓存器中的P/2个LLR值,于此同 时,内存模块根据地址信息先将X缓存器中第N-I个周期计算完的LLR值存入内存,并开始往 X缓存器中存储下一个时钟周期(N+1时钟周期)需要进行处理的P/2个LLR值;在第N个时钟 周期进行过程中,处理器单元迭代处理完的输出LLR值存入Y缓存器(覆盖原来存储在里面 的该时钟周期的输入LLR值)。当第N+1个时钟周期来临时,处理器模块读取X缓存器在第N个 时钟周期存储好的LLR值进行计算;同时内存模块读取Y缓存器中存储的第N个时钟周期的 输出结果存入内存单元,并往Y缓存器中存入第N+2个时钟周期需要计算的P/2个LLR值。如 此往复进行,直到译码结束。
[0088] 为了让高维基极化码译码器的译码原理和结构特点更加易懂,下面我们介绍如何 根据理论推导和基四极化码译码器来设计基八极化码译码器的硬件架构。基八极化码译 码,按照前面对高维基极化码的定义,顾名思义,就是将基二极化码译码过程中三级译码合 并为一级,每个节点处理器有8个LLR输入和1个LLR输出。由于每个节点处理单元中有3级极 化码译码,那么理论上可以再3级上都进行超前计算方法的实现。所以一共有3种基八实现 方法:只在处理单元内第3级用超前计算的基八译码器、在处理单元内第2、3级用超前计算 的基八译码器、处理单元内每一个变量处理器都用超前计算的基八译码器。当然,三种方法 所需要的硬件资源开销和所能达到的吞吐率也是不一样的。随着使用超前计算的级数的增 加,必然会引起硬件资源开销的增加。
[0089] 按照上面的推导方法,我们可以进一步将高维基极化码译码算法的维数提升至16 维甚至更高。按照上面的设计方法,基16极化码译码器的架构则可以有4种,它们之间的吞 吐率和硬件资源开销将各不相同,与基八译码器的三种架构类似,这四种译码器中吞吐率 较高的译码器硬件开销也相对较大。所以可以根据设计者的实际需要,在硬件资源开销和 吞吐率两个指标上采取合适的取舍,设计符合需要的高维基极化码译码算法。这也体现了 高维基极化码译码器设计的灵活性。
[0090] 与现有技术相比较,本发明方法的创新优点是:本发明通过将极化码译码中两级 或以上译码流程合并成一级,减少了译码过程中迭代的级数,优化了极化码译码的内部结 构。同时,将该译码方法和超前计算方法相结合,能在极化码译码器的吞吐率和硬件资源消 耗上有一个比较好的折衷。使得译码器在硬件资源消耗较小的代价下获得较大的吞吐率增 益。另外,本发明是对极化码译码器节点进行合并和优化,并不影响极化码的总体译码流 程,操作简单,实现方便,具有很好的通用性,该方法能与蝶型译码结构、管道型译码结构、 线型译码结构、并行译码结构以及极化码的列表串行抵消译码算法相结合以进一步改善译 码器性能。因此本发明适用于实际通信系统,具有很好的推广前景。
[0091] 本发明基于高维基的极化码译码方法的具体操作内容是:在对接收到的信息进行 串行抵消译码(SC译码)算法时,将接收信息分组,每K (K为2的整数次幂,也就是高维基的维 数)个信息值为一组,并将这些信息以组的形式送入SC译码器。在一次译码算法中每个处理 节点能将K个输入信息值进行相应计算得到一个输出信息值(这些信息值即为LLR值)。之后 将本级迭代的输出信息值每K个一组送入下一级(一次迭代中有Iog2NS迭代,N为码长)迭 代算法,直到最后得到一个最终的信息值,这个即为该次完整迭代得到的关于某一个码字 的对数似然比。将这个似然比进行硬判决,得到译码码字,并将这个判决码字重新送入译码 器参加部分和更新,准备进行下一次迭代。进过N次迭代之后,所有码字都已全部译码成功, 译码算法结束。
[0092] —、首先,结合图9和图10介绍基于超前计算的高维基(Radix-K)极化码的译码操 作步骤。
[0093] (11)步骤1,译码参数准备。确定用于译码的极化码码长N、采用的半并行译码器中 处理器模块的节点处理单元的个数P、选择的高维基译码算法的基数K和译码器的量化比特 数Q。根据P确定译码器中需要实现的节点处理单元的个数;根据N和K确定需要用与储存迭 代中生成的LLR值以及用于存储部分和序列的存储空间大小;Q决定了在译码器中将LLR值 量化成多少比特的二进制数。同时将从信道接收到的N个信道信息值储存在内存的相应位 置,用于送入译码算法。其中N、P和K都必须为自然数且为2的整数次幂,Q为自然数。
[0094] (12)步骤2,信道信息接收与储存(译码数据准备)。将编码完、经过仿真信道处理 得到的信道接收信息值存入译码器中内存模块的初始值部分,准备用于接下来的节点处理 器模块迭代使用。
[0095] (13)步骤3,迭代译码。该步骤的基本操作是:按照每个时钟周期控制模块产生的 控制信息和地址信息,从内存单元中读取出需要进行处理的输入数据(LLR值),从部分和模 块中取出部分和序列的相对应部分,送入处理器单元,经过处理器单元处理之后,将处理结 果数据(LLR值)存入内存单元对应的区域,完成一级迭代过程。重复操作这个过程n/k次,完 成一次完整的迭代,求出一个码字的估计LLR值。这部分内容主要在处理器模块内实现,用 到的中间数据(LLR值)从内存模块中读取,部分和值从部分和序列中读取。具体操作步骤如 下:
[0096] (131)由于当前译码器的类型为Radix-K极化码译码器,所以每个处理单元需要的 输入数据都是K个。根据控制模块产生的地址信息,从内存模块中取出对应的若干组LLR值 (每组为K个LLR,由于不同阶段极化码译码器并行处理数据的个数不同,所以这里最多需要 P组LLR值,最少需要1组LLR值)。
[0097] (132)取出数据之后,将这些LLR值送入处理器模块,根据控制模块产生的控制信 号对这P组LLR值图10相应的节点处理单元中迭代计算。
[0098] (133)保存处理完数据并决定译码器下一步骤,将处理器模块的输出结果根据控 制模块产生的地址信号存入内存模块的相应区域,用作后续迭代使用。此时需要对输出数 据的个数进行分类:如果输出数据大于K个,表明该码字的一次完整迭代还没有完成,则回 至IJ (131)继续该码字的下一级迭代;如果输出数据为1个,则执行(134);否则,如果输出数据 个数为为Io (〇<Io彡K/2,且Io为2的整数次幂)个,那么执行(135)。
[0099] (134)若步骤(133)中最终的输出只有1个,则说明需要译码的极化码码长为K的整 数次幂,那么该输出则为所需译码码字的LLR值,直接进入步骤4;
[0100] (135)若步骤(133)中最终的输出为Io (0<1〇彡K/2,且Io为2的整数次幂)个,则说 明需要译码的极化码码长为2的整数次幂但不是K的整数次幂,那么需要进行输入补齐操 作。如图10中左下角的节点处理单元中所示,将剩余的K-Io个输入用π替代,和(134)中得 到的Io个输出结果组成最后一级的K个输入,根据控制信号对K个输入值进行相应计算并最 终得到当前译码码字的LLR值,进入步骤4。
[0101] (14)步骤4:译码判决。将步骤3中得到的某一码字的LLR值送入判决单元进行硬判 决,得到对该子信道码字的一个估计值(即译码结果)。
[0102] (15)步骤5:部分和更新。处理器模块将步骤4得到的硬判决结果输出给部分和模 块,部分和模块根据控制信息,按照译码算法对储存在寄存器中的部分和序列进行更新。并 将更新完的部分和序列返回译码器,用于后续译码使用。
[0103] (16)步骤6,迭代译码。重复步骤3,并重复步骤3 — 6,对下一个码字进行迭代计算 并判决译码。如果所有码字都已得到判决结果,则译码算法结束。
[0104] 二、为了使本发明的架构特点和实施方式更加清晰,下面参照图8和图14,以待译 码码长为N的基四(Radix-4)极化码为例,介绍基于超前计算的基四极化码的译码步骤:
[0105] (21)步骤1,译码准备:确定用于译码的极化码码长N、采用的半并行译码器中节点 处理器的个数P、译码过程中量化比特数Q和选择的高维基译码算法的基数K = 4。根据P确定 译码器中需要设置的节点处理器的个数;根据N和K确定需要用与储存迭代中生成的LLR值 以及用于存储部分和序列的存储空间大小。同时将从信道接收到的N个信道信息值储存在 内存的相应位置,用于送入译码算法。其中N和P都必须为自然数且为2的整数次幂,Q为自然 数。
[0106] (22)步骤2,信道信息接收与储存:将编码完经过仿真信道得到的信道信息值存入 内存模块的初始值部分,准备用于接下来的译码器迭代使用。
[0107] (23)步骤3,迭代译码:按照每个时钟周期控制模块产生的控制信息和地址信息, 从内存单元中读取出需要进行处理的数据(LLR值),从部分和模块中取出部分和序列的相 对应部分,送入处理器单元,经过处理器单元处理之后,将处理结果数据(LLR值)存入内存 单元对应的区域,完成一级迭代过程。重复操作这个过程2次,完成一次码字的依次完整的 迭代,求出一个码字的估计LLR值。这部分内容主要在处理器模块内实现,用到的中间数据 (LLR值)从内存模块中读取,部分和值从部分和模块中读取。具体操作步骤如下:
[0108] (231)从内存模块中读取数据,由于当前译码器的类型为Radix-4极化码译码器, 所以每个处理单元需要的输入数据都是4个。根据地址信息,从内存模块中取出对应的若干 组LLR值(每组为4个LLR值,由于不同阶段极化码译码器并行处理数据的个数不同,所以这 里最多需要P组4个LLR值,最少需要1组4个数据)。
[0109] (232)取出数据之后,将这些LLR值送入处理器模块,根据控制模块产生的控制信 息对这4个输入值进行相对应的计算(具体4种不同的计算方法为发明内容中的4个公式)。
[0110] 如果当前节点SL1 (或者L3)节点,那么需要计算3个数值,SPL1节点的输出(或者L3 节点的输出)以及两个1^节点的输出域者两个L4节点的输出),得到3个处理器输出结果。
[0111] 如果当前节点SL2 (或者L4)节点,那么只需从相应的内存单元中根据部分和序列 选取正确的输出结果即可,此时处理器的输出结果为1个。
[0112] 步骤(232)均在处理器模块中的一个节点处理单元中完成。
[0113] (233)保存处理完数据并决定译码器下一步骤,将处理器模块中所有节点处理单 元处理完的之后的中间数值(每个节点处理单元都有1个或者3个)数根据控制模块产生的 控制信号存入内存模块的相应模块,用作后续迭代使用。此时需要对处理器模块输出数据 的个数进行分类:如果输出数据为4个,则表明该码字的一次完整迭代还没有完成,回到 (231)继续迭代;如果输出数据为1个,则表明该码字的一次完整迭代已经完成,执行(234); 否则,如果输出数据个数为2个,那么表明所处理的极化码码长不是四的整数次幂,那么执 行(235)。
[0114] (234)若(233)中最终的输出只有1个,则说明需要译码的极化码码长为4的整数次 幂,那么该输出则为所需译码码字的LLR值,直接进入步骤4;
[0115] (235)若(233)中最终的输出为2个,则说明需要译码的极化码码长为2的整数次幂 但不是4的整数次幂,那么需要对最后一级迭代的节点处理单元进行输入补齐操作。如图14 左下角的节点处理单元结构图所示,将剩余的2个输入用π替代,和(233)中得到的2个输出 结果一起组成最后一级的4个输入,根据节点位置对4个输入值进行相应计算并最终得到当 前译码码字的LLR值,进入步骤4。
[0116] (14)步骤4:译码判决。当一个码字的LLR值求出以后,将上一步骤中得到的某一码 字的LLR值送入判决单元进行硬判决,得到对该子信道码字的一个估计值(即该码字的译码 结果)。
[0117] (15)步骤5:部分和更新。处理器模块将硬判决的结果输出给部分和模块,部分和 模块根据控制信息,按照译码算法对部分和序列进行更新。并将这个部分和序列返回译码 器,用于后续译码使用。
[0118] (16)步骤6,迭代译码。重复步骤6,对下一个码字进行迭代计算并判决译码。如果 所有码字都已得到判决结果,则译码算法结束。
[0119] 本发明的实施方式已经进行了多次试验实验,下面以Κ = 4的基四译码器为例简要 介绍实施情况。软件仿真方面,与理论推算相同,基于超前计算的基四极化码译码(LR4-SC) 算法的译码性能和串行抵消(SC)算法的译码性能完全一致。硬件资源评估方面,LR4-SC译 码器在寄存器数量和校验处理器数量上和SC译码器基本相同,在变量处理器上,LR4-SC译 码器比SC译码器多33%,同时LR4-SC译码器在SC译码器的基础上提高了约33%的吞吐率。
[0120] 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在 本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护 范围之内。

Claims (10)

1. 一种基于超前计算的高维基极化码译码器,其特征在于,包括: 控制模块,用于向处理器模块发出控制信号,向内存单元发送地址信号; 内存单元,用于根据所述地址信号向处理器模块发送输入数据; 处理器模块,包括多个节点处理器,每个节点处理器获取的输入数据个数为K,输出数 据个数为1,其中K为高维基的维数; 每个节点处理器,用于根据控制信号,对内存单元发送来的K个输入数据执行极化码译 码处理,其中利用高维基译码算法将极化码译码过程中的k级译码合并为一次迭代,其中k = l〇g2K,而且在每一级的校验节点上基于超前计算方式计算全部可能输出结果以供后续 译码过程选择,并且将译码结果发送到内存单元。
2. 根据权利要求1所述的高维基极化码译码器,其特征在于,还包括: 部分和更新模块,用于接收处理器模块产生的译码结果,利用部分和更新算法更新部 分和序列,并将更新后的部分和序列返回给处理器模块。
3. 根据权利要求1所述的高维基极化码译码器,其特征在于,还包括分别与处理器模块 和内存单元相连接的双缓存模块,用于在处理器模块的数据处理速度与内存单元的数据输 出速度之间达到匹配。
4. 根据权利要求2所述的高维基极化码译码器,其特征在于,所述每个节点处理器,用 于执行: (1) 、迭代译码过程:该过程包括:按照每个时钟周期所产生的所述控制信号和所述地 址信号,从内存单元中读取出需要进行处理的LLR值,从部分和更新模块中取出部分和序 列,将处理结果数据LLR值存入内存单元对应的区域,完成一级迭代过程;重复n/k次,完成 一次完整的迭代,以求出一个码字的估计LLR值,η为码长; (2) 、译码判决过程:将上述迭代译码过程得到的一个码字的估计LLR值进行硬判决,得 到对该码字的一个估计值,该估计值即为译码结果。
5. 根据权利要求1所述的高维基极化码译码器,其特征在于,所述高维基极化码译码器 为基四极化码译码器;所述输入数据为4个,分别为第一输入数据、第二输入数据、第三输入 数据和第四输入数据; 所述节点处理器包括第一级和第二级; 第一级包括:第一选择器、第二选择器、第一校验节点、第一变量节点,第二校验节点和 第二变量节点、第三选择器和第四选择器,其中第一选择器的输入连接到第一输入数据;第 一选择器的输出连接第二校验节点的输入和第二变量节点的输入;第二选择器的输入连接 到第二输入数据,第二选择器的输出连接到第二校验节点的输入和第二变量节点的输入; 第一校验节点的输入连接到第三数据和第四数据;第一变量节点的输入连接到第三数据和 第四数据;第一校验节点的输出连接到第三选择器的输入;第一变量节点的输出连接到第 三选择器的输入;第二校验节点的输出连接到第四选择器的输入;第二变量节点的输出连 接到第四选择器的输入; 第二级包括:第三校验节点、第五选择器、超前计算单元和第六选择器,其中第三校验 节点的输入连接到第三选择器的输出和第四选择器的输出;第六选择器的输入连接到第五 校验节点的输出和第五选择器的输出;超前计算单元的输入连接到第二选择器的输出和第 四选择器的输出;超前计算单元的输出连接到第五选择器的输入。
6. 根据权利要求5所述的高维基极化码译码器,其特征在于,所述超前计算单元包括: 连接到第二选择器的输出和第四选择器的输出的第一加法变量节点; 连接到第二选择器的输出和第四选择器的输出的第一减法变量节点; 与第一加法变量节点连接的第一寄存器; 与第一减法变量节点连接的第二寄存器。
7. —种基于超前计算的高维基极化码译码方法,其特征在于,包括: 控制模块向处理器模块发出控制信号,向内存单元发送地址信号; 内存单元根据所述地址信号向处理器模块发送输入数据;处理器模块包括多个节点处 理器,每个节点处理器获取的输入数据个数为K,输出数据个数为1,其中K为高维基的维数; 每个节点处理器根据控制信号对内存单元发送来的K个输入数据执行极化码译码处 理,其中利用高维基译码算法将极化码译码过程中的k级译码合并为一次迭代,其中k = Iog2K,而且在每一级的校验节点上基于超前计算方式计算全部可能输出结果以供后续译 码过程选择,并且将译码结果发送到内存单元。
8. 根据权利要求7所述的方法,其特征在于,所述每个节点处理器,用于执行: (1) 、迭代译码过程:该过程包括:按照每个时钟周期所产生的所述控制信号和所述地 址信号,从内存单元中读取出需要进行处理的LLR值,从部分和更新模块中取出部分和序 列,将处理结果数据LLR值存入内存单元对应的区域,完成一级迭代过程;重复n/k次,完成 一次完整的迭代,以求出一个码字的估计LLR值,η为码长; (2) 、译码判决过程:将上述迭代译码过程得到的一个码字的估计LLR值进行硬判决,得 到对该码字的一个估计值,该估计值即为译码结果。
9. 根据权利要求7所述的方法,其特征在于,所述高维基极化码译码为基四极化码译 码;所述输入数据为4个,分别为第一输入数据、第二输入数据、第三输入数据和第四输入数 据; 所述节点处理器包括第一级和第二级; 第一级包括:第一选择器、第二选择器、第一校验节点、第一变量节点,第二校验节点和 第二变量节点、第三选择器和第四选择器,其中第一选择器的输入连接到第一输入数据;第 一选择器的输出连接第二校验节点的输入和第二变量节点的输入;第二选择器的输入连接 到第二输入数据,第二选择器的输出连接到第二校验节点的输入和第二变量节点的输入; 第一校验节点的输入连接到第三数据和第四数据;第一变量节点的输入连接到第三数据和 第四数据;第一校验节点的输出连接到第三选择器的输入;第一变量节点的输出连接到第 三选择器的输入;第二校验节点的输出连接到第四选择器的输入;第二变量节点的输出连 接到第四选择器的输入; 第二级包括:第三校验节点、第五选择器、超前计算单元和第六选择器,其中第三校验 节点的输入连接到第三选择器的输出和第四选择器的输出;第六选择器的输入连接到第五 校验节点的输出和第五选择器的输出;超前计算单元的输入连接到第二选择器的输出和第 四选择器的输出;超前计算单元的输出连接到第五选择器的输入。
10. 根据权利要求7所述的方法,其特征在于,该方法还包括: 接收处理器模块产生的译码结果,利用部分和更新算法更新部分和序列,并将更新后 的部分和序列返回给处理器模块。
CN201510208465.0A 2015-04-28 2015-04-28 基于超前计算的高维基极化码译码器和极化码译码方法 Active CN105049061B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510208465.0A CN105049061B (zh) 2015-04-28 2015-04-28 基于超前计算的高维基极化码译码器和极化码译码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510208465.0A CN105049061B (zh) 2015-04-28 2015-04-28 基于超前计算的高维基极化码译码器和极化码译码方法

Publications (2)

Publication Number Publication Date
CN105049061A CN105049061A (zh) 2015-11-11
CN105049061B true CN105049061B (zh) 2018-06-01

Family

ID=54455298

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510208465.0A Active CN105049061B (zh) 2015-04-28 2015-04-28 基于超前计算的高维基极化码译码器和极化码译码方法

Country Status (1)

Country Link
CN (1) CN105049061B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105356891B (zh) * 2015-11-26 2018-11-27 中国地质大学(武汉) 一种高资源利用率的极性译码批处理方法
CN105515590B (zh) * 2015-12-09 2019-01-25 东南大学 一种有效低复杂度串行抵消列表极化码译码方法
WO2018027669A1 (en) * 2016-08-10 2018-02-15 Qualcomm Incorporated Rate matching for block encoder
US10447435B2 (en) * 2016-08-19 2019-10-15 Huawei Technologies Co., Ltd. Reduced-stage polar decoding
US10153787B2 (en) * 2016-09-20 2018-12-11 Samsung Electronics Co., Ltd Apparatus and method for parallelized successive cancellation decoding and successive cancellation list decoding of polar codes
US10985871B2 (en) * 2017-02-24 2021-04-20 Huawei Technologies Co., Ltd. Method to generate ordered sequence for polar codes
CN108574556B (zh) * 2017-03-10 2020-11-17 华为技术有限公司 一种Polar码的速率匹配方法及装置
US10651973B2 (en) 2017-03-22 2020-05-12 Huawei Technologies Co., Ltd. Method and apparatus for error-correction encoding using a polar code
CN108683479B (zh) 2017-03-25 2019-08-13 华为技术有限公司 一种速率匹配的方法和装置
CN107911124B (zh) * 2017-11-29 2021-04-02 哈尔滨工业大学 一种非递归的sc译码部分和确定方法及装置
CN110912567A (zh) * 2018-09-14 2020-03-24 华为技术有限公司 极化码的译码方法及设备
CN110516332B (zh) * 2019-08-15 2021-06-11 浪潮电子信息产业股份有限公司 并行计算结果的过滤方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102122966A (zh) * 2011-04-15 2011-07-13 北京邮电大学 基于信道极化的交错结构重复码的编码器及其编译码方法
CN102164025A (zh) * 2011-04-15 2011-08-24 北京邮电大学 基于重复编码和信道极化的编码器及其编译码方法
CN102694625A (zh) * 2012-06-15 2012-09-26 北京邮电大学 一种循环冗余校验辅助的极化码译码方法
CN104079370A (zh) * 2013-03-27 2014-10-01 华为技术有限公司 信道编译码方法及装置
CN104079382A (zh) * 2014-07-25 2014-10-01 北京邮电大学 一种基于概率计算的极化码译码器和极化码译码方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4650386B2 (ja) * 2006-09-29 2011-03-16 沖電気工業株式会社 個人認証システム及び個人認証方法
DE102010054168B4 (de) * 2010-12-12 2017-09-07 Chronos Vision Gmbh Verfahren, Vorrichtung und Programm zur Bestimmung der torsionalen Komponente der Augenposition

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102122966A (zh) * 2011-04-15 2011-07-13 北京邮电大学 基于信道极化的交错结构重复码的编码器及其编译码方法
CN102164025A (zh) * 2011-04-15 2011-08-24 北京邮电大学 基于重复编码和信道极化的编码器及其编译码方法
CN102694625A (zh) * 2012-06-15 2012-09-26 北京邮电大学 一种循环冗余校验辅助的极化码译码方法
CN104079370A (zh) * 2013-03-27 2014-10-01 华为技术有限公司 信道编译码方法及装置
CN104079382A (zh) * 2014-07-25 2014-10-01 北京邮电大学 一种基于概率计算的极化码译码器和极化码译码方法

Also Published As

Publication number Publication date
CN105049061A (zh) 2015-11-11

Similar Documents

Publication Publication Date Title
CN105049061B (zh) 基于超前计算的高维基极化码译码器和极化码译码方法
CN104079382B (zh) 一种基于概率计算的极化码译码器和极化码译码方法
CN101782893B (zh) 可重构数据处理平台
CN107807819A (zh) 一种支持离散数据表示的用于执行人工神经网络正向运算的装置及方法
Yoo et al. Partially parallel encoder architecture for long polar codes
CN105975251B (zh) 一种基于粗粒度可重构架构的des算法轮迭代系统及迭代方法
CN105912501B (zh) 一种基于大规模粗粒度可重构处理器的sm4-128加密算法实现方法及系统
CN104617959B (zh) 一种基于通用处理器的ldpc编译码方法
Berhault et al. Hardware implementation of a soft cancellation decoder for polar codes
Pandita et al. Design and implementation of a Viterbi decoder using FPGAs
CN102064835B (zh) 适用于准循环ldpc译码的译码器
CN104158549A (zh) 一种极性码译码方法及译码装置
CN112307421A (zh) 一种基4频率抽取快速傅里叶变换处理器
CN101478313B (zh) 一种ldpc译码器的最小值计算装置及其构造方法
Ercan et al. Operation merging for hardware implementations of fast polar decoders
EP0918292A2 (en) Minimum and maximum value searching method
CN110620587A (zh) 基于不同数据类型传输的极化码bp译码单元
CN109274460A (zh) 一种多比特并行结构串行抵消译码方法和装置
Roy Breakup Algorithm for Switching Circuit Simplifications
WO2017113507A1 (zh) 一种集合译码方法和集合译码器
Xing et al. A four-bank memory design of optimized semi-parallel polar decoder
Zhang et al. Low-latency SC decoder architectures for polar codes
CN101741399A (zh) 卷积码Viterbi译码器中的级联加比选单元及其数据处理方法
CN101091157B (zh) 用于处理数字数据的数字处理器和方法
CN106508094B (zh) 一种低复杂度的低密度奇偶校验码译码方法及译码器装置

Legal Events

Date Code Title Description
PB01 Publication
C06 Publication
SE01 Entry into force of request for substantive examination
C10 Entry into substantive examination
GR01 Patent grant
GR01 Patent grant