一种Hadamard_LDPC译码方法及译码器装置
万方数据知识服务平台
应用市场
我的应用
会员HOT
万方专利
×

点击收藏,不怕下次找不到~

@万方数据
会员HOT

专利专题

一种Hadamard_LDPC译码方法及译码器装置

引用
本发明公开了一种Hadamard_LDPC译码方法及译码器装置,属于无线通信领域,包括步骤:采用Max‑Log‑MAP准则,提供一种分层归一化Hadamard‑LDPC译码方案,该方案基于量化位数hbit均匀量化,对Hadamard_LDPC码的传统符号最大概率译码算法中复杂度较高的校验信息计算过程进行简化。本发明的译码器具备在低信噪比环境下可逼近香农限的性能,并且复杂度低、硬件开销小、收敛速度快,适用于低信噪比环境下无线数据传输。

发明专利

CN202311651359.0

2023-12-04

CN117674858A

2024-03-08

H03M13/11(2006.01)

中国电子科技集团公司第十研究所

肖磊;杜俊逸;赵晓航

610000 四川省成都市金牛区茶店子东街48号

成都九鼎天元知识产权代理有限公司

周浩杰

四川;51

1.一种Hadamard_LDPC译码方法,其特征在于,包括: S1,初始化:将输入的hbit信道软信息数据Lch写入信道软信息输入单元LLR_RAM中,所述信道软信息输入单元LLR_RAM包括缓存器1和缓存器2,采用乒乓机制先将数据以hbit串行写入缓存器1,并从缓存器1以h×Zbit并行读出,然后将其写入判决信息存储单元VN_RAM中,至此完成用输入的软信息数据Lch对变量信息Lv进行初始化处理,即Lv=Lch,然后将下一帧输入数据串行写入缓存器2中,同时将校验消息存储单位CN_RAM初始化为全零,即Lcv=0,并设定译码控制单元中迭代层数layer=0、迭代次数iter=0和最大迭代次数max_iter=MAX_ITER; S2,变量节点消息更新:待判决信息存储单元VN_RAM写满数据后,译码控制单元中利用迭代层数/次数控制单元控制迭代层数layer设为1、迭代次数iter设为1,译码控制单元中利用层处理顺序存储单元H_RAM将当前迭代层数作为读地址,输出校验矩阵每行非负值所在列索引值,VN_RAM将H_RAM输出数据作为读地址,输出校验矩阵行重dc个变量信息,送至循环移位单元进行同等位数循环左移,并将左移结果依次传到消息更新单元1~Z中,Z为循环移位因子,消息更新单元将移位后的变量信息与CN_RAM输出进行相减,完成变量节点消息更新,即 其中,l、k分别为当前迭代层数和迭代次数; S3,校验节点消息更新:消息更新单元中的变量消息排序单元根据最新的变量节点信息及信道输入的Hadamard校验节点信息进行顺序调整,产生的数据送至消息更新单元中的校验节点消息更新单元,校验节点消息更新单元根据Max_Log_MAP准则,按下面公式进行校验节点更新: 其中,a为归一化因子; S4,信道信息更新:利用更新后的校验节点消息与变量节点消息进行相加,完成信道信息更新: 将更新后的信道信息数据存储至信道信息存储单元VN_RAM中,译码控制单元中迭代层数/次数控制单元控制迭代层数layer加1,重复上述步骤,利用更新后的信道信息对下一层校验节点进行更新,直到所有层的消息都更新完毕,则完成一次迭代,迭代次数iter加1,继续重复上述步骤,待iter=MAX_ITER,结束译码过程; S5,判决译码:从VN_RAM中读出数据进行判决,即为译码输出。 2.一种Hadamard_LDPC译码器装置,其特征在于,包括: 信道软信息输入单元LLR_RAM、Hadamard校验信息存储单元H_RAM、判决信息存储单元VN_RAM、译码控制单元、循环移位单元、消息更新单元和译码判决单元;所述信道软信息输入单元LLR_RAM包括缓存器1和缓存器2;所述译码控制单元包括迭代层数/次数控制单元和层处理顺序存储单元;所述循环移位单元包括循环移位系数存储器、循环移位器1和循环移位器2;所述消息更新单元包括变量消息更新单元、校验消息更新单元、校验消息存储单元CN_RAM和信道信息更新单元; 初始化时信道输入数据写入信道软信息输入单元LLR_RAM中的缓存器1中,然后从缓存器1读出,将其写入判决信息存储单元VN_RAM中,然后将下一帧输入数据串行写入缓存器2中,同时将校验消息存储单位CN_RAM初始化为全零,并设定译码控制单元中迭代层数layer=0、迭代次数iter=0和最大迭代次数max_iter=MAX_ITER; 变量节点消息更新时,待判决信息存储单元VN_RAM写满数据后,译码控制单元中利用迭代层数/次数控制单元控制迭代层数layer设为1、迭代次数iter设为1,译码控制单元中利用层处理顺序存储单元H_RAM将当前迭代层数作为读地址,输出校验矩阵每行非负值所在列索引值,VN_RAM将H_RAM输出数据作为读地址,输出校验矩阵行重dc个变量信息,送至循环移位单元进行同等位数循环左移,并将左移结果依次传到消息更新单元中,消息更新单元将移位后的变量信息与CN_RAM输出进行相减,完成变量节点消息更新; 校验节点消息更新时,消息更新单元中的变量消息排序单元根据最新的变量节点信息及信道输入的Hadamard校验节点信息进行顺序调整,产生的数据送至消息更新单元中的校验节点消息更新单元,校验节点消息更新单元根据Max_Log_MAP准则进行校验节点更新; 信道信息更新时,利用更新后的校验节点消息与变量节点消息进行相加,完成信道信息更新;将更新后的信道信息数据存储至信道信息存储单元VN_RAM中,译码控制单元中迭代层数/次数控制单元控制迭代层数layer加1,利用更新后的信道信息对下一层校验节点进行更新,直到所有层的消息都更新完毕,则完成一次迭代,迭代次数iter加1,待iter=MAX_ITER,结束译码过程;判决译码时,从VN_RAM中读出数据进行判决,即为译码输出。 3.根据权利要求2所述的Hadamard_LDPC译码器装置,其特征在于,所述消息更新单元的数量为1~Z个,Z为循环移位因子,分层译码时按校验矩阵H的循环移位因子Z分为多层,每层包含Z行,且在同一层校验节点集中,任意两个校验节点相连的变量节点都是不同的,即H矩阵同一层中每列最多只有一个非负元素;在一层更新过程中,消息更新单元1~Z并行工作,循环移位单位输出的h×Zbit数据分离为Z个hbit数据,分别送至消息更新单元1~Z中完成变量节点消息更新和校验节点消息更新。 4.根据权利要求2所述的Hadamard_LDPC译码器装置,其特征在于,所述变量消息更新单元,用于更新变量节点消息,变量节点更新子单元共有dc个变量消息输入,采用流水线处理结构,具体为:第一级流水线将输入的移位后的数据进行延迟,并从CN_RAM输出上一次更新的dc个校验节点消息;第二级流水线将所述CN_RAM输出值与延迟后的移位数据进行求差运算,得到更新的dc个变量节点消息。 5.根据权利要求2所述的Hadamard_LDPC译码器装置,其特征在于,所述校验消息更新单元,用于更新校验节点消息,根据选择的Hadamard矩阵阶数r,校验节点更新子单元共有dc个变量消息和2r-dc个Hadamard校验消息输入,首先按特定顺序将2r个输入数据进行排序,然后利用r层蝶形FHT和DFHT处理架构,通过加减、比较处理,得到更新的dc个校验节点消息。 6.根据权利要求2所述的Hadamard_LDPC译码器装置,其特征在于,所述循环移位系数存储单元只对校验矩阵中每行非负值进行存储,采用ROM存储器实现,将校验矩阵中每行的非负值组合成一个数据,ROM存储器深度设置为13;与循环移位系数存储形式一致,校验矩阵层处理顺序存储单元也仅对每行非负值所在的列索引进行存储。 7.根据权利要求2所述的Hadamard_LDPC译码器装置,其特征在于,所述循环移位单元采用384位寄存器桶形循环移位结构。 8.根据权利要求2所述的Hadamard_LDPC译码器装置,其特征在于,所述循环移位器1用于调整输入到消息更新单元的变量节点判决消息的顺序,所述循环移位器2用于调整消息更新单元输出信息的顺序并将其传输到判决信息存储单元中等待下一次读取,两者实现相反操作,循环移位器1移位值为shift,循环移位器2移位值为Z-shift。 9.根据权利要求2所述的Hadamard_LDPC译码器装置,其特征在于,所述校验消息更新单元,包括4层蝶形FHT和4层蝶形DFHT处理单元,采用流水处理结构,共有16个数据输入,6个数据输出,处理运算仅包含加减、比较运算; 其中,对蝶形FHT处理单元进行改进优化具体包括:首先将16个将输入数据Data_in1~16按奇、偶顺序分组,依次送入第一层进行加法和减法处理,第一层仅需1个加法器和1个减法器,消耗1个时钟周期,并将加法器、减法器输出进行延时,待前两组数据计算完成后,开始使能第二层,第二层使用2个加法器和2个减法器,并将加法器、减法器输出进行延时;依次类推,直至完成4层蝶形计算; 其中,对DFHT蝶形结构进行改进优化具体包括:分为四层处理,Max(a,b)与Min(a,b)子模块对输入的a和b进行比较,输出两者中的最大值和最小值,Max(a,-b)与Min(a,-b)子模块对输入的a和-b进行比较,输出两者中的最大值和最小值;DFHT第一层计算将FHT输出的16个数据按(1,2)、(3,4)、(5,6)、(7,8)、(9,10)、(11,12)、(13,14)、(15,16)分组分别经过Max(a,b)、Min(a,b)、Max(a,-b)、Min(a,-b)处理,得到32个输出数据;DFHT第二层计算将上层的32个数据按序均分为4组,每组按(1,5)、(2,6)、(3,7)、(4,8)、(1,6)、(2,5)、(3,8)、(4,7)的顺序经过Max(a,b)、Min(a,b)、Max(a,b)、Min(a,b)、Max(a,-b)、Min(a,-b)、Max(a,-b)、Min(a,-b)处理,得到32个输出数据;DFHT第三层计算将上层的32个数据按序均分为2组,每组按(1,9)、(2,10)、(3,11)、(4,12)、(5,13)、(6,14)、(1,10)、(2,9)、(7,16)、(8,15)的顺序经过Max(a,b)、Min(a,b)、Max(a,b)、Min(a,b)、Max(a,b)、Min(a,b)、Max(a,-b)、Min(a,-b)、Max(a,-b)、Min(a,-b)处理,得到20个输出数据;DFHT第四层计算将上层的20个数据按(1,11)、(2,12)、(3,13)、(4,14)、(5,15)、(6,16)、(7,17)、(8,18)、(1,12)、(2,11)、(9,20)、(10,19)的顺序经过Max(a,b)、Min(a,b)、Max(a,b)、Min(a,b)、Max(a,b)、Min(a,b)、Max(a,b)、Min(a,b)、Max(a,-b)、Min(a,-b)、Max(a,-b)、Min(a,-b)处理,得到12个输出数据;最后将12个数据按顺序相加得到6个输出,即为更新的校验消息。 10.根据权利要求2所述的Hadamard_LDPC译码器装置,其特征在于,所述译码控制单元采用状态机方式,状态转移共含初试状态、第一次迭代、迭代更新、译码判决四种状态;状态机默认进入初试状态,当输入信道信息数据有效时,状态机从初试状态进入第一次迭代状态,此时判断数据长度是否达到缓存区深度,若达到,则转移至迭代更新状态,否则退回至初试状态,迭代更新状态判断迭代次数是否满足设置的最大迭代次数,若满足最大迭代次数,则结束迭代,进入译码判决状态,否则继续迭代,译码判决完成,译码输出,完成译码,重回初试状态等待下一帧数据。
相关文献
评论
法律状态详情>>
相关作者
相关机构