并行译码验证方法、装置、电子设备及存储介质

申请号 CN202311765496.7 申请日 2023-12-20 公开(公告)号 CN117938177A 公开(公告)日 2024-04-26
申请人 北京中电飞华通信有限公司; 发明人 陈奉洁; 宿晋; 刘庆波; 张新桥; 高建新; 李长水; 欧清海; 王新宇; 刘蓬泽; 李明泉; 王梓帆;
摘要 本 申请 提供一种并行译码验证方法、装置、 电子 设备及存储介质,所述方法包括接收多个初始字符串和每个初始字符串对应的第一散列值;按照比特位的顺序,依次对多个初始字符串中比特位相同的字符进行 抽取 ,将比特位相同的字符组合成一个目标字符串,以得到多个目标字符串;对每个目标字符串中的字符进行 迭代 译码,得到每个字符的译码值;基于全部目标字符串对应的译码值,计算每个初始字符串对应的第二散列值;响应于确定每个初始字符串对应的第一散列值和其对应的第二散列值都相同,确定全部初始字符串通过所述译码验证,解决了 现有技术 中对于多个字符串的译码验证效率低的技术问题,降低了对于多个字符串的译码验证的复杂度。
权利要求

1.一种并行译码验证方法,其特征在于,包括:
接收多个初始字符串和每个初始字符串对应的第一散列值;
按照比特位的顺序,依次对多个初始字符串中比特位相同的字符进行抽取,将比特位相同的字符组合成一个目标字符串,以得到多个目标字符串;
对每个目标字符串中的字符进行迭代译码,得到每个字符的译码值;
基于全部目标字符串对应的译码值,计算每个初始字符串对应的第二散列值;
响应于确定每个初始字符串对应的第一散列值和其对应的第二散列值都相同,确定全部初始字符串通过所述译码验证。
2.根据权利要求1所述的方法,其特征在于,所述对每个目标字符串中的字符进行迭代译码,得到每个字符的译码值,包括:
通过以下公式对所述字符进行迭代译码:
其中, 为经过l次迭代后的字符i传给预定校验矩阵中的校验节点j的译码值, 为经过l次迭代后的字符i传给预定校验矩阵中的校验节点j的译码值为1的概率, 为经过l次迭代后的字符i传给预定校验矩阵中的校验节点j的译码值为0的概率, 为未经过迭代的字符i传给预定校验矩阵中的校验节点j的初始译码值, 为经过l次迭代后预定校验矩阵中的校验节点j传给字符i的外部概率,Π表示连乘运算。
3.根据权利要求2所述的方法,其特征在于,还包括:
通过以下公式确定所述外部概率:
其中, 为经过l次迭代后预定校验矩阵中的校验节点j传给字符i的外部概率, 为前次迭代的译码值,Π表示连乘运算。
4.根据权利要求1所述的方法,其特征在于,所述基于全部目标字符串对应的译码值,计算每个初始字符串对应的第二散列值,包括:
确定所述初始字符串中的每个字符在目标字符串中对应的目标字符;
对所述初始字符串对应的全部目标字符关联的多个译码值进行硬判决,得到每个译码值的判决值;
基于多个判决值,计算所述初始字符串对应的第二散列值。
5.根据权利要求4所述的方法,其特征在于,所述基于多个判决值,计算所述初始字符串对应的第二散列值,包括:
通过以下公式计算所述第二散列值:
其中,a1至ak+n‑1为托普利兹矩阵中的参数元素,x1至xn为所述多个判决值,t1至tk为所述第二散列值,n为所述多个判决值的总数量,k为托普利兹矩阵中的参数元素的总行数。
6.根据权利要求1所述的方法,其特征在于,还包括:
响应于确定存在所述初始字符串对应的第一散列值和其对应的第二散列值不相同,确定所述初始字符串未通过所述译码验证,发出用于提示所述初始字符串未通过所述译码验证的信息。
7.根据权利要求1所述的方法,其特征在于,在对每个目标字符串中的字符进行迭代译码之前,所述方法包括:
对每个目标字符串中的字符进行初始化。
8.一种并行译码验证装置,其特征在于,包括:
接收模,被配置为接收多个初始字符串和每个初始字符串对应的第一散列值;
组合模块,被配置为按照比特位的顺序,依次对多个初始字符串中比特位相同的字符进行抽取,将比特位相同的字符组合成一个目标字符串,以得到多个目标字符串;
译码模块,被配置为对每个目标字符串中的字符进行迭代译码,得到每个字符的译码值;
计算模块,被配置为基于全部目标字符串对应的译码值,计算每个初始字符串对应的第二散列值;
确定模块,被配置为响应于确定每个初始字符串对应的第一散列值和其对应的第二散列值都相同,确定全部初始字符串通过所述译码验证。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任意一项所述的方法。
10.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,其特征在于,所述计算机指令用于使计算机执行权利要求1至7任一所述方法。

说明书全文

并行译码验证方法、装置、电子设备及存储介质

技术领域

[0001] 本申请涉及数据处理技术领域,尤其涉及一种并行译码验证方法、装置、电子设备及存储介质。

背景技术

[0002] 通信的最终目的就是将发送端的数据原样的传输到接收端,数据需要以电信号的形式传输,所以发送端需要对数据进行编码,得到数据对应的字符串。但是,在字符串由发送端传输到接收端的过程中,由于存在损耗与噪声,使得字符串中的字符出现丢失,且还有可能存在窃听者,导致字符串被篡改,发送端需对接收的字符串进行译码验证,以确保接收端译码后得到的数据与发送端发送的数据一致。
[0003] 现有技术中,针对字符串进行译码验证时,在迭代译码的过程中,字符串中的字符每迭代一次就要计算一次校验子,并判定是否译码成功。但是,校验子表示概率值,即使通过校验子的验证,判定验证成功,最终也需要对字符串进行再次验证。在每次迭代过程中,计算校验子并根据该校验子进行判定需要一定的时间,导致对字符串的译码验证效率低。发明内容
[0004] 有鉴于此,本申请的目的在于提出一种并行译码验证方法、装置、电子设备及存储介质,以克服现有技术中全部或部分不足。
[0005] 基于上述目的,本申请提供了一种并行译码验证方法,包括:接收多个初始字符串和每个初始字符串对应的第一散列值;按照比特位的顺序,依次对多个初始字符串中比特位相同的字符进行抽取,将比特位相同的字符组合成一个目标字符串,以得到多个目标字符串;对每个目标字符串中的字符进行迭代译码,得到每个字符的译码值;基于全部目标字符串对应的译码值,计算每个初始字符串对应的第二散列值;响应于确定每个初始字符串对应的第一散列值和其对应的第二散列值都相同,确定全部初始字符串通过所述译码验证。
[0006] 可选地,所述对每个目标字符串中的字符进行迭代译码,得到每个字符的译码值,包括:通过以下公式对所述字符进行迭代译码: 其中, 为经过l次迭代后的字符i传给预定校验矩阵中的校验节点j的译码值, 为经过l次迭代后的字符i传给预定校验矩阵中的校验节点j的译码值为1的概率, 为经过l次迭代后的字符i传给预定校验矩阵中的校验节点j的译码值为0的概率, 为未经过迭代的字符i传给预定校验矩阵中的校验节点j的初始译码值, 为经过l次迭代后预定校验矩阵中的校验节点j传给字符i的外部概率,Π表示连乘运算。
[0007] 可选地,还包括:通过以下公式确定所述外部概率: 其中, 为经过l次迭代后预定校验矩阵中的校验节点j传给字符i的外部概率, 为前次迭代的译码值,Π表示连乘运算。
[0008] 可选地,所述基于全部目标字符串对应的译码值,计算每个初始字符串对应的第二散列值,包括:确定所述初始字符串中的每个字符在目标字符串中对应的目标字符;对所述初始字符串对应的全部目标字符关联的多个译码值进行硬判决,得到每个译码值的判决值;基于多个判决值,计算所述初始字符串对应的第二散列值。
[0009] 可选地,所述基于多个判决值,计算所述初始字符串对应的第二散列值,包括:通过以下公式计算所述第二散列值: 其中,a1至ak+n‑1为托普利兹矩阵中的参数元素,x1至xn为所述多个判决值,t1至tk为所述第二散列值,n为所述多个判决值的总数量,k为托普利兹矩阵中的参数元素的总行数。
[0010] 可选地,还包括:响应于确定存在所述初始字符串对应的第一散列值和其对应的第二散列值不相同,确定所述初始字符串未通过所述译码验证,发出用于提示所述初始字符串未通过所述译码验证的信息。
[0011] 可选地,在对每个目标字符串中的字符进行迭代译码之前,所述方法包括:对每个目标字符串中的字符进行初始化。
[0012] 基于同一发明构思,本申请还提供了一种并行译码验证装置,包括:接收模,被配置为接收多个初始字符串和每个初始字符串对应的第一散列值;组合模块,被配置为按照比特位的顺序,依次对多个初始字符串中比特位相同的字符进行抽取,将比特位相同的字符组合成一个目标字符串,以得到多个目标字符串;译码模块,被配置为对每个目标字符串中的字符进行迭代译码,得到每个字符的译码值;计算模块,被配置为基于全部目标字符串对应的译码值,计算每个初始字符串对应的第二散列值;确定模块,被配置为响应于确定每个初始字符串对应的第一散列值和其对应的第二散列值都相同,确定全部初始字符串通过所述译码验证。
[0013] 基于同一发明构思,本申请还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可由所述处理器执行的计算机程序,所述处理器在执行所述计算机程序时实现如上所述的方法。
[0014] 基于同一发明构思,本申请还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行如上所述的方法。
[0015] 从上面所述可以看出,本申请提供的并行译码验证方法、装置、电子设备及存储介质,所述方法包括接收多个初始字符串和每个初始字符串对应的第一散列值。按照比特位的顺序,依次对多个初始字符串中比特位相同的字符进行抽取,将比特位相同的字符组合成一个目标字符串,以得到多个目标字符串,减少了对于比特位对应的字符的访问时间,进而提升了对于目标字符串的译码验证效率。对每个目标字符串中的字符进行迭代译码,得到每个字符的译码值,既提高了迭代译码的效率,也降低了译码的复杂度。基于全部目标字符串对应的译码值,计算每个初始字符串对应的第二散列值,达到对初始字符串进行准确验证的目的。响应于确定每个初始字符串对应的第一散列值和其对应的第二散列值都相同,确定全部初始字符串通过所述译码验证,极大程度的降低了验证复杂度,进而提高了对全部字符串的译码验证效率。附图说明
[0016] 为了更清楚地说明本申请或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017] 图1为本申请实施例的并行译码验证方法的流程示意图;
[0018] 图2为本申请实施例的并行译码验证装置的结构示意图;
[0019] 图3为本申请实施例电子设备硬件结构示意图。

具体实施方式

[0020] 为使本申请的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请进一步详细说明。
[0021] 需要说明的是,除非另外定义,本申请实施例使用的技术术语或者科学术语应当为本申请所属领域内具有一般技能的人士所理解的通常意义。本申请实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
[0022] 如背景技术部分所述,通信的最终目的就是将发送端的数据原样的传输到接收端,数据需要以电信号的形式传输,所以发送端需要对数据进行编码,得到数据对应的字符串。但是,在字符串由发送端传输到接收端的过程中,由于存在损耗与噪声,使得字符串中的字符出现丢失,且还有可能存在窃听者,导致字符串被篡改,发送端需对接收的字符串进行译码验证,以确保接收端译码后得到的数据与发送端发送的数据一致。
[0023] 现有技术中,针对字符串进行译码验证时,在迭代译码的过程中,字符串中的字符每迭代一次就要计算一次校验子,并判定是否译码成功。但是,校验子表示概率值,即使通过校验子的验证,最终也需要对字符串利用散列值进行再次验证,导致对字符串的译码验证效率低。且校验子的计算需要确保字符串中的字符处于初始顺序,但是,对于多字符串的并行译码,维持字符串的初始顺序会使得访问字符串中的不同比特位的字符所需的时间相对长,进而也导致对字符串的译码验证效率低。
[0024] 有鉴于此,本申请实施例提出了一种并行译码验证方法,参考图1,包括以下步骤:
[0025] 步骤101,接收多个初始字符串和每个初始字符串对应的第一散列值。
[0026] 在该步骤中,在通信过程中,发送端向接收端发送多个初始字符串,其中,初始字符串为发送端将待发送数据进行编码得到的电信号。但是由于在通信过程中初始字符串中的字符可能丢失或者被篡改,因此,接收端需要对初始字符串进行译码验证。同时,为了确保初始字符串的安全性,还需通过散列函数对初始字符串进行加密,得到该初始字符串对应的第一散列值。需要说明的是,散列函数将任意长度的字符串转换为固定长度的字符串,这个固定长度的字符串即为第一散列值,其中,第一散列值是一段数据唯一的、紧凑的数据表示形式。如果只更改字符串中的一个字符,也会导致字符串的第一散列值发生变化,因此,利用字符串的第一散列值可以检验初始字符串的完整性。
[0027] 步骤102,按照比特位的顺序,依次对多个初始字符串中比特位相同的字符进行抽取,将比特位相同的字符组合成一个目标字符串,以得到多个目标字符串。
[0028] 在该步骤中,对于字符串中的比特位,连续地址的访问速率要大大低于不连续数据地址的访问速率。因此,为了提高对于初始字符串中的比特位对应的字符的访问速率,将多个初始字符串中的字符进行重新排列组合后,再同时进行并行译码。为了使得对于不连续数据地址的访问速率进一步提升,本申请对多个初始字符串中比特位相同的字符进行抽取,将比特位相同的字符组合成一个目标字符串示例性的,假设多个初始字符串中包括第一初始字符串,第二初始字符串...第N初始字符串,每个初始字符串中的字符数量相同,将第一初始字符串中的第一个比特位对应的字符进行抽取,将第二初始字符串中的第一个比特位对应的字符进行抽取...以及将第N个初始字符串中的第一个比特位对应的字符,得到目标字符串。将第一初始字符串中的第二个比特位对应的字符进行抽取,将第二初始字符串中的第二个比特位对应的字符进行抽取...以及将第N个初始字符串中的第二个比特位对应的字符,得到另一个目标字符串。在将多个初始字符串中的字符按比特位顺序进行重新组合时,只需顺序访问初始字符串中的比特位对应的字符,无需重复访问比特位对应的字符,既使得目标字符串中的字符具有一定规律性,也使得目标字符串中的比特位不具有连续性,减少了对于比特位对应的字符的访问时间,进而提升了对于目标字符串的译码验证效率。
[0029] 步骤103,对每个目标字符串中的字符进行迭代译码,得到每个字符的译码值。
[0030] 在该步骤中,通过对字符进行多次迭代后译码,更能充分的挖掘出字符中的潜在信息,在多次迭代后得到字符的译码值,既提高了迭代译码的效率,也降低了译码的复杂度。需要说明的是,本申请在迭代译码过程中,一次迭代完成以后,直接开始下一次的迭代运算,直到达到最大迭代次数,无需计算校验子,只需经过迭代译码后得到字符的译码值,既提高了迭代译码的效率,也减少了译码的复杂度。
[0031] 步骤104,基于全部目标字符串对应的译码值,计算每个初始字符串对应的第二散列值。
[0032] 在该步骤中,由于接收端还接收到了发送端发送的第一散列值,第一散列值为通过散列函数将字符串进行转化得到的。假设初始字符串中的字符在传输过程中发生了改变,通过散列函数将发生字符改变的字符串进行转化所得到的散列值必然与第一散列值不同。因此,需通过全部译码值,计算接收端接收的初始字符串的第二散列值,达到对初始字符串进行准确验证的目的。
[0033] 步骤105,响应于确定每个初始字符串对应的第一散列值和其对应的第二散列值都相同,确定全部初始字符串通过所述译码验证。
[0034] 在该步骤中,在每个初始字符串对应的第一散列值和其对应的第二散列值都相同的情况下,说明全部初始字符串中的字符在传输过程中都没有出现丢失或者被篡改。因此,能够确定全部字符串通过译码验证。对于多码字并行译码过程,校验子的计算以及通过该校验子进行比对的复杂度是极高的,而本申请省略校验子计算以及上述比对过程,极大程度的降低了验证复杂度,进而提高了对全部字符串的译码验证效率。
[0035] 通过上述方案,接收多个初始字符串和每个初始字符串对应的第一散列值。按照比特位的顺序,依次对多个初始字符串中比特位相同的字符进行抽取,将比特位相同的字符组合成一个目标字符串,以得到多个目标字符串,减少了对于比特位对应的字符的访问时间,进而提升了对于目标字符串的译码验证效率。对每个目标字符串中的字符进行迭代译码,得到每个字符的译码值,既提高了迭代译码的效率,也降低了译码的复杂度。基于全部目标字符串对应的译码值,计算每个初始字符串对应的第二散列值,达到对初始字符串进行准确验证的目的。响应于确定每个初始字符串对应的第一散列值和其对应的第二散列值都相同,确定全部初始字符串通过所述译码验证,极大程度的降低了验证复杂度,进而提高了对全部字符串的译码验证效率。
[0036] 在一些实施例中,所述对每个目标字符串中的字符进行迭代译码,得到每个字符的译码值,包括:通过以下公式对所述字符进行迭代译码: 其中, 为经过l次迭代后的字符i传给预定校验矩阵中的校验节点j的译码值, 为经过l次迭代后的字符i传给预定校验矩阵中的校验节点j的译码值为1的概率, 为经过l次迭代后的字符i传给预定校验矩阵中的校验节点j的译码值为0的概率, 为未经过迭代的字符i传给预定校验矩阵中的校验节点j的初始译码值, 为经过l次迭代后预定校验矩阵中的校验节点j传给字符i的外部概率,Π表示连乘运算。
[0037] 在本实施例中,预定校验矩阵为根据历史经验确定的矩阵,具有准确确定译码值的作用。在每次迭代中,通过预定校验矩阵中的校验节点对每次迭代后得到的字符的译码值进行修正,以使得每次迭代中的译码值更为精准。初始译码值需与经过连乘后的外部概率相乘,其中,外部概率为在预定比特位以及其他信息具有独立分布的情况下,校验节点所满足的概率。将字符通过公式进行数据化处理得到译码值,达到了精确确定译码值的目的。需要说明的是,本实施例中的总迭代次数可以按需提前预设,预设的规则可以为:既使得确定的译码值准确,又使得字符的迭代速度快。
[0038] 在一些实施例中,还包括:通过以下公式确定所述外部概率: 其中, 为经过l次迭代后预定校验矩阵中的校验节点j传给字符i的外部概率, 为前次迭代的译码值,Π表示连乘运算。
[0039] 在本实施例中,在本轮迭代中,外部概率通过前次迭代的译码值确定,前次迭代对应的译码值对于外部概率具有修正作用,使得外部概率向准确校验概率方向靠拢,得到校验节点所满足的概率。通过外部概率,能够对初始译码值进行修正,以使得经过总迭代次数迭代后确定的译码值最为接近真实值。
[0040] 在一些实施例中,所述基于全部目标字符串对应的译码值,计算每个初始字符串对应的第二散列值,包括:确定所述初始字符串中的每个字符在目标字符串中对应的目标字符;对所述初始字符串对应的全部目标字符关联的多个译码值进行硬判决,得到每个译码值的判决值;基于多个判决值,计算所述初始字符串对应的第二散列值。
[0041] 在本实施例中,每个目标字符串中包括每个初始字符串中比特位相同的字符,因此,能够确定初始字符串中的每个字符在目标字符串中对应的目标字符,进而能够获知初始字符串中的每个字符对应的译码值。对初始字符串中的译码值进行硬判决,其中,硬判决是通过设定限值来进行判决,将译码值转换成二进制,其中,译码值大于0的判决值为1,译码值小于0的判决值为0。通过多个判决值,计算初始字符串对应的第二散列值,由于确定译码值的速率得到了提升,进而使得确定判决值以及第二散列值的效率也得到提升。
[0042] 在一些实施例中,所述基于多个判决值,计算所述初始字符串对应的第二散列值,包括:通过以下公式计算所述第二散列值: 其中,a1至ak+n‑1为托普利兹矩阵中的参数元素,x1至xn为所述多个判决值,t1至tk为所述第二散列值,n为所述多个判决值的总数量,k为托普利兹矩阵中的参数元素的总行数。
[0043] 在本实施例中,将硬判决后的所有判决值保存,随机获取一个通用的散列函数,将判决值与散列函数中的参数元素相乘,得到一组第二散列值。上述通用散列函数可采用托普利兹矩阵,其特点为除第一行第一列外,其他数据均重复,因此只需确定第一行和第一列数据即可,能够快速确定该矩阵中的参数元素,也有助于提升确定第二散列值的效率。
[0044] 在一些实施例中,还包括:响应于确定存在所述初始字符串对应的第一散列值和其对应的第二散列值不相同,确定所述初始字符串未通过所述译码验证,发出用于提示所述初始字符串未通过所述译码验证的信息。
[0045] 在本实施例中,在初始字符串对应的第一散列值和其对应的第二散列值不同的情况下,说明初始字符串中的字符在传输过程中出现丢失和/或被篡改,以至于初始字符串中的字符发生改变。通过发生字符改变的初始字符串计算的第二散列值与发送端发送的第一散列值不同。因此,确定初始字符串未通过译码验证,发出用于提示初始字符串未通过译码验证的信息。相关人员根据上述消息,可以重新获取该字符串,并对该字符串进行译码验证,确保了发送端接收的数据的准确性。
[0046] 在一些实施例中,在对每个目标字符串中的字符进行迭代译码之前,所述方法包括:对每个目标字符串中的字符进行初始化。
[0047] 在本实施例中,根据预定校验矩阵,对每个目标字符串中的字符进行初始化,以达到对上述字符进行初始赋值的目的。通过以下公式对字符进行初始化: 其中,为未经过迭代的字符i传给预定校验矩阵中的校验节点j的初始译码值,即为初始化后的字符, 为未经过迭代的字符i传给预定校验矩阵中的校验节点j的译码值为1的概率,为未经过迭代的字符i传给预定校验矩阵中的校验节点j的译码值为0的概率, 以
及 为根据历史经验确定的预定值。
[0048] 需要说明的是,本申请实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
[0049] 需要说明的是,上述对本申请的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0050] 基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种并行译码验证装置。
[0051] 参考图2,所述并行译码验证装置,包括:
[0052] 接收模块10,被配置为接收多个初始字符串和每个初始字符串对应的第一散列值。
[0053] 组合模块20,被配置为按照比特位的顺序,依次对多个初始字符串中比特位相同的字符进行抽取,将比特位相同的字符组合成一个目标字符串,以得到多个目标字符串。
[0054] 译码模块30,被配置为对每个目标字符串中的字符进行迭代译码,得到每个字符的译码值。
[0055] 计算模块40,被配置为基于全部目标字符串对应的译码值,计算每个初始字符串对应的第二散列值。
[0056] 确定模块50,被配置为响应于确定每个初始字符串对应的第一散列值和其对应的第二散列值都相同,确定全部初始字符串通过所述译码验证。
[0057] 通过上述装置,接收多个初始字符串和每个初始字符串对应的第一散列值。按照比特位的顺序,依次对多个初始字符串中比特位相同的字符进行抽取,将比特位相同的字符组合成一个目标字符串,以得到多个目标字符串,减少了对于比特位对应的字符的访问时间,进而提升了对于目标字符串的译码验证效率。对每个目标字符串中的字符进行迭代译码,得到每个字符的译码值,既提高了迭代译码的效率,也降低了译码的复杂度。基于全部目标字符串对应的译码值,计算每个初始字符串对应的第二散列值,达到对初始字符串进行准确验证的目的。响应于确定每个初始字符串对应的第一散列值和其对应的第二散列值都相同,确定全部初始字符串通过所述译码验证,极大程度的降低了验证复杂度,进而提高了对全部字符串的译码验证效率。
[0058] 在一些实施例中,所述译码模块30,还被配置为通过以下公式对所述字符进行迭代译码: 其中, 为经过l次迭代后的字符i传给预定校验矩阵中的校验节点j的译码值, 为经过l次迭代后的字符i传给预定校验矩阵中的校验节点j的译码值为1的概率, 为经过l次迭代后的字符i传给预定校验矩阵中的校验节点j的译码值为0的概率, 为未经过迭代的字符i传给预定校验矩阵中的校验节点j的初始译码值, 为经过l次迭代后预定校验矩阵中的校验节点j传给字符i的外部概率,Π表示连乘运算。
[0059] 在一些实施例中,所述译码模块30,还被配置为通过以下公式确定所述外部概率:其中, 为经过l次迭代后预定校验矩阵中的校验节点j传给字符i的外
部概率, 为前次迭代的译码值,Π表示连乘运算。
[0060] 在一些实施例中,所述计算模块40,还被配置为确定所述初始字符串中的每个字符在目标字符串中对应的目标字符;对所述初始字符串对应的全部目标字符关联的多个译码值进行硬判决,得到每个译码值的判决值;基于多个判决值,计算所述初始字符串对应的第二散列值。
[0061] 在一些实施例中,所述计算模块40,还被配置为通过以下公式计算所述第二散列值: 其中,a1至ak+n‑1为托普利兹矩阵中的参数元素,x1至xn为所述多个判决值,t1至tk为所述第二散列值,n为所述多个判决值的总数量,k为托普利兹矩阵中的参数元素的总行数。
[0062] 在一些实施例中,还包括提示模块,所述提示模块被配置为响应于确定存在所述初始字符串对应的第一散列值和其对应的第二散列值不相同,确定所述初始字符串未通过所述译码验证,发出用于提示所述初始字符串未通过所述译码验证的信息。
[0063] 在一些实施例中,还包括初始化模块,所述初始化模块被配置为在对每个目标字符串中的字符进行迭代译码之前,对每个目标字符串中的字符进行初始化。
[0064] 为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
[0065] 上述实施例的装置用于实现前述任一实施例中相应的并行译码验证方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0066] 基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一实施例所述的并行译码验证方法。
[0067] 图3示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
[0068] 处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
[0069] 存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
[0070] 输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入/输出模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘鼠标触摸屏、麦克、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
[0071] 通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
[0072] 总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
[0073] 需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
[0074] 上述实施例的电子设备用于实现前述任一实施例中相应的并行译码验证方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0075] 基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的并行译码验证方法。
[0076] 本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD‑ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
[0077] 上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的并行译码验证方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0078] 所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
[0079] 另外,为简化说明和讨论,并且为了不会使本申请实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本申请实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本申请实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本申请的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本申请实施例。因此,这些描述应被认为是说明性的而不是限制性的。
[0080] 尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
[0081] 本申请实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。
QQ群二维码
意见反馈