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

文档序号:9330189阅读:来源:国知局
据上述理论可以设计出如图8所示的基四极化码的硬件框图,图中简要介绍 了每个节点处理单元的实现架构图。图中以码长N= 16为例,设计了基四极化码的硬 件结构图。译码流程分为两级,每一个节点处理器都有4个输入和一个输出。左上角的 Dec(Decide)单元为硬判决单元,将译码器输出的比特似然比转化为判决结果(01比特)。 左下角即基四译码器每个节点处理单元的基本结构,其中P 1^表示译码过程中第i级第j个 节点处理单元,这些节点单元可由校验处理器和变量处理器组成。相对应的,Rli j表示第i 级第j个寄存器。F为校验处理器,G为变量处理器;為为部分和序列,con为控制信号,如 果没有特殊说明,文中所有配图都沿用这个表示方法。虚框内为超前计算的实现方法。两 个+ 0的输入用于码长不是4的整数幂(即码长为2的奇数次幂)的情况,需要在最后一 级将输出补满。
[0055] 在硬件实现方面,申请人也设计了简单易懂、便于实现的硬件结构。下面参见图12 介绍高维基极化码译码器的算法实现图。高维基极化码译码器主要包括以下几个部分:
[0056] (1)控制模块:
[0057] (11)控制模块主要功能:
[0058] 根据系统时钟和复位信号,在正常译码周期内(复位信号为0的情况下),每一个 时钟周期产生一组控制信号和一对地址信号,将控制信号传输给节点处理器模块,用于处 理器中运算选择;将这一对(两个)地址信号传输给内存模块,分别用于内存模块读取该时 钟内处理需要的LLR值和写入该时钟内处理完的的LLR值。
[0059] (12)模块的输入输出信号介绍:
[0060] 时钟信号(系统输入):译码器的总时钟信号,给译码器的计算打节拍的"节拍 器";复位信号(系统输入):该信号有效时表示译码器终止译码,该模块所有输出信号为0; 控制信号(输出至处理器模块):控制译码器译码流程,功能如下文;地址信号(输出至内 存模块):由控制信号产生的两个地址信号,分别为读地址和写地址,这两个地址信号用于 控制内存模块的数据读写。
[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] (4)部分和更新模块
[0079] (41)模块主要功能:每个时钟周期内,将处理器模块最终产生的一个码字的判决 结果接收,依据控制信号更新部分和序列,并将这个更新完的部分和序列返回给处理器模 块,以用于后续迭代计算中变量处理器计算使用。
[0080] (42)模块输入输出信号
[0081] 时钟信号(系统输入):只有在时钟上沿才能对部分和进行更新;复位信号(系 统输入):该信号有效时表示译码器终止译码,该模块所有输出信号为〇;控制信号(有控 制模块输入):根据控制信号决定是否需要对部分和进行更新,应该如何更新;部分和序列 (输出至处理器模块):用于处理器模块中的LLR迭代计算;译码结果(由处理器模块输 入):用于部分和更新。
[0082] (43)模块硬件结构和实现方法
[0083] 部分和更新子模块的实现比较简单,可由长度比较低的部分和更新方法递归得到 长度比较大的部分和更新方法。比如长度为256的部分和的更新模块可以由两个长度为 128的部分和更新模块构成,这也正是极化码编码器的构造,由于编码生成矩阵的相邻行有 一定的规律可循,可以用移位寄存器实现编码过程
[0084] (5)读取速率匹配设计一一双缓存器(Buffer)结构。
[0085] 在基于高维基高维基极化码的硬件设计中有一个比较棘手的问题:block_ram的 读取速度为每个时钟周期只能读取一个数据,而处理器每个时钟周期需要处理的数据总数 为4P (以基4极化码算法为例)个,如果按照bl〇Ck_ram的读取速度,则在很大一部分时间 之内处理器模块中的节点处理器都是出于空闲状态,这样既浪费了资源又降低了吞吐率。 所以本发明中设计了一组双Buffer来使处理器处理数据的速度和内存单元输出的速度达 到匹配,下面结合图13介绍其主要设计方法:
[0086] 以目前主流的半并行极化码译码器(基4)设计来举例,假设处理器模块中节点处 理器的个数为P个,这样每一次全并行操作需要输入4P个LLR值,对一个缓存器(Buffer) 来讲是很难实现这么多数据同时进出的,所以本发明中我们设计了 8组双Buf fer结构(一 共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值。如此往复进行,直到译码结束。
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1