System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及但不限于计算机领域,尤其涉及一种数据译码方法、装置、设备及存储介质。
技术介绍
1、在数据的存储、传输等处理过程中,受限于存储器以及通信过程中的各种因素,不可能保证存储器读写数据完全正确或者传输后的数据完全正确。例如,存储器的工艺能力以及使用环境的影响,导致数据读写过程会产生误码;又如,通信过程中,信道质量不佳,会导致传输数据中产生误码。因此,在这些场景中,数据译码过程中的校验及纠错是保证数据读写以及传输后能够正常使用的重要步骤。
2、然而,随着存储器以及通信信道的数据量越来越大,数据校验以及纠错的译码复杂度也越来越高。
技术实现思路
1、有鉴于此,本申请实施例至少提供一种数据译码方法、装置、设备及存储介质。
2、本申请实施例的技术方案是这样实现的:
3、一方面,本申请实施例提供一种数据译码方法,所述方法包括:
4、获取基于ldpc(low density parity check code,低密度奇偶较验码)编码后的原始带噪数据;
5、根据所述原始带噪数据确定校验矩阵;
6、根据所述校验矩阵,对所述原始带噪数据进行一次或多次ldpc译码操作,得到迭代矩阵;其中,所述迭代矩阵由所述校验矩阵经过所述ldpc译码操作更新后得到;所述迭代矩阵中各元素的数值用于表示所述元素的可信度;
7、在每次所述ldpc译码操作中,根据所述迭代矩阵中各元素的数值,确定所述校验矩阵对应的二分图中不可靠变量节点的个
8、响应于所述一次或多次ldpc译码操作中,所述不可靠变量节点的个数满足预设的提前终止条件,则停止译码。
9、在上述实施例中,通过统计不可靠变量节点的个数以及译码次数来提前终止译码,可以有效降低译码复杂度,提升译码效率。
10、在一些实施例中,所述响应于所述一次或多次ldpc译码操作中,所述不可靠变量节点的个数满足预设的提前终止条件,则停止译码,包括:
11、响应于所述ldpc译码操作的次数大于或等于预设的第一阈值,且所述不可靠变量节点的个数大于或等于预设的第一数量阈值,则停止译码。
12、在上述实施例中,通过对译码次数以及不可靠变量节点的个数设定阈值,两者达到阈值时停止译码,可以十分简便的实现提前终止,从而降低译码复杂度。
13、在一些实施例中,所述方法还包括:
14、确定所述原始带噪数据的信噪比区间;
15、根据所述信噪比区间,确定对应的所述第一阈值。
16、在上述实施例中,基于信噪比区间设定译码次数的第一阈值,从而可以针对不同信噪比区间的情况下采用不同的处理,灵活提升译码效率。
17、在一些实施例中,所述响应于所述一次或多次ldpc译码操作中,所述不可靠变量节点的个数满足预设的提前终止条件,则停止译码,包括:
18、响应于在预定次数内的所述ldpc译码操作对应的所述不可靠变量节点的个数大于或等于第二数量阈值,计算所述不可靠变量节点的数量变化量;
19、响应于所述数量变化量小于预设的第二阈值,则确定进入失效状态,则停止译码。
20、在上述实施例中,通过统计在预定次数内的不可靠变量节点数量的变化量,确定进入失效状态进而提前终止译码,从而减少失效状态下不必要的译码处理。
21、在一些实施例中,所述响应于所述数量变化量小于预设的第二阈值,则确定进入失效状态,则停止译码,包括:
22、确定当前ldpc译码操作的所述不可靠变量节点与上一次ldpc译码操作的所述不可靠变量节点的数量差值;
23、响应于所述当前ldpc译码操作的不可靠变量节点的个数大于或等于预设的第二数量阈值,且所述数量差值小于所述第二阈值,则对预设的失效标识的数值加1;其中,所述失效标识的初始值为0;
24、响应于所述数量差值大于所述第二阈值,则将所述失效标识置为0;
25、响应于所述失效标识的数值大于或等于预设的第三阈值,则确定进入失效状态,并停止译码。
26、在上述实施例中,利用对预设的失效标识的数值的计数,确定是否进入失效状态,操作简便,不需要复杂的数据处理。
27、在一些实施例中,所述响应于所述一次或多次ldpc译码操作中,所述不可靠变量节点的个数满足预设的提前终止条件,则停止译码,包括:
28、响应于所述不可靠变量节点的个数大于或等于预设的第三数量阈值,则停止译码。
29、在上述实施例中,直接通过不可靠变量节点的个数的第三数量阈值直接确定是否停止译码,减少由于不可靠变量节点个数过大导致的不必要的译码处理。
30、在一些实施例中,所述方法还包括:
31、根据所述迭代矩阵确定译码数据;
32、响应于所述不可靠变量节点的个数小于或等于第四数量阈值,根据所述校验矩阵和所述译码数据,确定是否校验成功;
33、响应于校验成功,则输出所述译码数据,并停止译码。在上述实施例中,利用ldpc译码算法中更新后的校验矩阵进行校验,并确定纠错后的数据,可以提升数据准确性。
34、在一些实施例中,所述方法还包括:
35、响应于所述译码次数大于或等于预设的最大译码次数,则停止译码。
36、在上述实施例中,通过设定的最大译码次数作为的停止译码条件,减少过多的译码运算导致的资源浪费。
37、在一些实施例中,所述方法应用于存储器;所述获取基于ldpc编码后的原始带噪数据包括:
38、读取所述存储器中存储的基于ldpc编码后的所述原始带噪数据。
39、在上述实施例中,将上述方法应用于存储器中,对数据进行ldpc编码后存储,并通过ldpc译码处理进行校验、纠错和译码,从而提升存储器数据读写的准确性。
40、另一方面,本申请实施例提供一种数据译码装置,所述装置包括:
41、获取模块,用于获取基于ldpc编码后的原始带噪数据;
42、第一确定模块,用于根据所述原始带噪数据确定校验矩阵;
43、更新模块,用于根据所述校验矩阵,对所述原始带噪数据进行一次或多次ldpc译码操作,得到迭代矩阵;其中,所述迭代矩阵由所述校验矩阵经过所述ldpc译码操作更新后得到;所述迭代矩阵中各元素的数值用于表示所述元素的可信度;
44、第二确定模块,用于在每次所述ldpc译码操作中,根据所述迭代矩阵中各元素的数值,确定所述校验矩阵对应的二分图中不可靠变量节点的个数;
45、提前终止模块,用于响应于所述一次或多次ldpc译码操作中,所述不可靠变量节点的个数满足预设的提前终止条件,则停止译码。
46、在一些实施例中,所述提前终止模块,包括:
47、第一终止子模块,用于响应所述ldpc译码操作的次数大于或等于预设的第一阈值,且所述不可靠变量节点的个数大于或等本文档来自技高网...
【技术保护点】
1.一种数据译码方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述响应于所述一次或多次LDPC译码操作中,所述不可靠变量节点的个数满足预设的提前终止条件,则停止译码,包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述响应于所述一次或多次LDPC译码操作中,所述不可靠变量节点的个数满足预设的提前终止条件,则停止译码,包括:
5.根据权利要求4所述的方法,其特征在于,所述响应于所述数量变化量小于预设的第二阈值,则确定进入失效状态,则停止译码,包括:
6.根据权利要求1所述的方法,其特征在于,所述响应于所述一次或多次LDPC译码操作中,所述不可靠变量节点的个数满足预设的提前终止条件,则停止译码,包括:
7.根据权利要求1至6任一所述的方法,其特征在于,所述方法还包括:
8.根据权利要求1至6任一所述的方法,其特征在于,所述方法应用于存储器;所述获取基于LDPC编码后的原始带噪数据包括:
9.一种数据
10.一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至8任一项所述方法中的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至8任一项所述方法中的步骤。
...【技术特征摘要】
1.一种数据译码方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述响应于所述一次或多次ldpc译码操作中,所述不可靠变量节点的个数满足预设的提前终止条件,则停止译码,包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述响应于所述一次或多次ldpc译码操作中,所述不可靠变量节点的个数满足预设的提前终止条件,则停止译码,包括:
5.根据权利要求4所述的方法,其特征在于,所述响应于所述数量变化量小于预设的第二阈值,则确定进入失效状态,则停止译码,包括:
6.根据权利要求1所述的方法,其特征在于,所述响应于所述一次或多次ldpc...
【专利技术属性】
技术研发人员:刘文龙,冷祥纶,王海生,占惠花,蒋常龙,
申请(专利权)人:上海阵量智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。