在接收器中验证数据完整性的制作方法

文档序号:32009867发布日期:2022-11-02 17:18阅读:31来源:国知局

1.本公开一般涉及数据完整性的领域。它更特别涉及在无线通信网络中的接收器中验证数据完整性。


背景技术:

2.为了在接收器中验证数据完整性,常使用循环冗余校验crc来检测通过无线通信网络中潜在不可靠的信道(诸如无线电信道)传送的消息中的错误。
3.crc常在专用硬件中实现,但是也可在处理器上的软件中实现。
4.硬件和/或软件实现的crc的缺陷是处理量随着消息长度而增加,并且就处理时间和招致的开销而言致使处理低效。
5.因此,需要用于在接收器中验证数据完整性的备选办法。


技术实现要素:

6.应该强调,术语“包括/包含”当在本说明书中使用时,用来指定所陈述特征、整数、步骤或组件的存在,但是并不排除一个或多个其它特征、整数、步骤、组件或其组的存在或添加。如本文中所使用,除非上下文另外清楚地指示,否则单数形式“一”、“某一”和“该”意在也包含复数形式。
7.一般而言,当在本文中提及布置时,要将布置理解为物理产品;例如,设备。物理产品可包括一个或多个部分,诸如采取一个或多个控制器、一个或多个处理器等等的形式的控制电路。
8.一些实施例的目的是解决或减轻、缓和、或者消除上述或其它缺陷中的至少一些缺陷。
9.根据第一方面,这通过用于在无线通信网络中的接收器中验证数据完整性的方法来实现。
10.该方法包括:接收数据消息,其中,数据消息包括数据元素组和校验和;以及基于部分校验子向量计算完整校验子向量,其中,通过将奇偶校验矩阵的部分与接收的数据消息的对应部分相乘来并行计算部分校验子向量。
11.该方法进一步包括:确定完整校验子向量的所有向量元素都是零;以及验证接收的数据消息当完整校验子向量的所有向量元素都是零时是正确的,否则是不正确的。
12.在一些实施例中,该方法进一步包括:将奇偶校验矩阵划分成列组,并且将每个列组与数据消息的对应部分相关联;通过将每个列组与其数据消息的对应部分相乘来并行计算部分校验子向量;以及将计算的部分校验子向量求和得到完整校验子向量。
13.在一些实施例中,该方法进一步包括:将奇偶校验矩阵划分成非重叠矩阵元素组,并且将每个非重叠矩阵元素组与数据消息的对应部分相关联;通过将每个非重叠矩阵元素组与其数据消息的对应部分相乘来并行计算部分校验子向量;以及将计算的部分校验子向量求和得到完整校验子向量。
14.在一些实施例中,该方法进一步包括:将奇偶校验矩阵划分成来自列组的非重叠矩阵元素组,并且将每个非重叠矩阵元素组与数据消息的对应部分相关联;通过将来自列组的每个非重叠矩阵元素组与其数据消息的对应部分相乘来并行计算部分校验子向量;以及将计算的部分校验子向量求和得到完整校验子向量。
15.在一些实施例中,奇偶校验矩阵与校验和多项式相关联,从校验和多项式计算奇偶校验矩阵。
16.在一些实施例中,校验和是基于数据元素组并且被附加到数据消息中的数据元素组以形成码字。
17.在一些实施例中,接收的数据消息已经被传送器计算并传送到接收器。
18.在一些实施例中,校验和是以下的一项或多项:循环冗余校验crc和块码校验和。
19.在一些实施例中,包括全零向量元素的完整校验子向量指示匹配的校验和和/或无错误的数据元素组。
20.在一些实施例中,奇偶校验矩阵被预先计算并且被存储在接收器的存储器中和/或接收器可访问的远程存储器中。
21.在一些实施例中,奇偶校验矩阵是二元矩阵。
22.在一些实施例中,奇偶校验矩阵包括行,这些行是彼此的移位版本。
23.在一些实施例中,给定数据消息的部分,通过首先从存储器中读取奇偶校验矩阵的预先计算的部分并且初始化部分校验子向量来计算对应的部分校验子。
24.在一些实施例中,逐一访问数据消息的部分的位,并且当遇到一时,将奇偶校验矩阵的位的第一集合添加到部分校验子向量。
25.在一些实施例中,逐一访问数据消息的部分的位,并且当遇到零时,将部分校验子向量保持不变。
26.在一些实施例中,其中,奇偶校验矩阵中的每个被访问的列是前一列的移位版本,其中,当已访问数据消息的部分和奇偶校验矩阵的部分的每个位时,仅移入一个新的位。
27.在一些实施例中,将一个或多个用于执行的软件线程和/或处理元件指配给奇偶校验矩阵的一个或多个部分与数据消息的对应部分,以并行计算部分校验子向量。
28.第二方面是包括非暂时性计算机可读介质的计算机程序产品,非暂时性计算机可读介质上具有包括程序指令的计算机程序。计算机程序可加载到数据处理单元中并且被配置为:当计算机程序由数据处理单元运行时,导致根据第一方面的方法的执行。
29.第三方面是用于在无线通信网络中的接收器中验证数据完整性的设备。
30.该设备包括控制器,控制器被配置为导致:接收数据消息,其中,数据消息包括数据元素组和校验和;以及基于部分校验子向量计算完整校验子向量,其中,通过将奇偶校验矩阵的部分与接收的数据消息的对应部分相乘来并行计算部分校验子向量。
31.控制器被进一步配置为导致:确定完整校验子向量的所有向量元素都是零;以及验证接收的数据消息当完整校验子向量的所有向量元素都是零时是正确的,否则是不正确的。
32.在一些实施例中,控制器被进一步配置为导致:将奇偶校验矩阵划分成列组,并且将每个列组与数据消息的对应部分相关联;通过将每个列组与其数据消息的对应部分相乘来并行计算部分校验子向量;以及将计算的部分校验子向量求和得到完整校验子向量。
33.在一些实施例中,控制器被进一步配置为导致:将奇偶校验矩阵划分成非重叠矩阵元素组,并且将每个非重叠矩阵元素组与数据消息的对应部分相关联;通过将每个非重叠矩阵元素组与其数据消息的对应部分相乘来并行计算部分校验子向量;以及将计算的部分校验子向量求和得到完整校验子向量。
34.在一些实施例中,控制器被进一步配置为导致:将奇偶校验矩阵划分成来自列组的非重叠矩阵元素组,并且将每个非重叠矩阵元素组与数据消息的对应部分相关联;通过将来自列组的每个非重叠矩阵元素组与其数据消息的对应部分相乘来并行计算部分校验子向量;以及将计算的部分校验子向量求和得到完整校验子向量。
35.在一些实施例中,奇偶校验矩阵与校验和多项式相关联,从校验和多项式计算奇偶校验矩阵。
36.在一些实施例中,校验和是基于数据元素组并且被附加到数据消息中的数据元素组以形成码字。
37.在一些实施例中,接收的数据消息已经被传送器计算并传送到接收器。
38.在一些实施例中,校验和是以下的一项或多项:循环冗余校验crc和块码校验和。
39.在一些实施例中,包括全零向量元素的完整校验子向量指示匹配的校验和和/或无错误的数据元素组。
40.在一些实施例中,奇偶校验矩阵被预先计算并且被存储在接收器的存储器中和/或接收器可访问的远程存储器中。
41.在一些实施例中,奇偶校验矩阵是二元矩阵。
42.在一些实施例中,奇偶校验矩阵包括行,这些行是彼此的移位版本。
43.在一些实施例中,控制器被进一步配置为导致:给定数据消息的部分,通过从存储器中读取奇偶校验矩阵的预先计算的部分并且初始化部分校验子向量来计算对应的部分校验子。
44.在一些实施例中,控制器被进一步配置为导致:逐一访问数据消息的部分的位,并且当遇到一时,将奇偶校验矩阵的位的第一集合添加到部分校验子向量。
45.在一些实施例中,控制器被进一步配置为导致:逐一访问数据消息的部分的位,并且当遇到零时,将部分校验子向量保持不变。
46.在一些实施例中,控制器被进一步配置为导致:当已访问数据消息的部分的每个位时,将奇偶校验矩阵的行移位。
47.在一些实施例中,将一个或多个用于执行的软件线程和/或处理元件指配给奇偶校验矩阵的一个或多个部分与数据消息的对应部分,以并行计算部分校验子向量。
48.在一些实施例中,设备在操作上能连接到具有一个或多个并行处理元件的通用硬件,并行处理元件被配置为处理并行化的计算。
49.在一些实施例中,一个或多个并行处理元件中的每个并行处理元件被配置为:通过将奇偶校验矩阵的部分与数据消息的对应部分相乘来并行计算部分校验子向量中的相应一个或多个部分校验子向量。
50.在一些实施例中,在接收器中和/或在云环境中包括具有一个或多个并行处理元件的通用硬件。
51.在一些实施例中,通用硬件包括图形处理单元gpu。
52.第四方面是无线通信网络中的接收器,所述接收器包括根据第三方面的设备。
53.在一些实施例中,接收器被配置为接收数据并且验证数据的完整性。
54.上述方面中的任一个可附加地具有与如上文针对其它方面中的任一个所说明的各种特征中的任何特征相同或对应的特征。
55.一些实施例的优点是:提供了用于在接收器中验证数据完整性的备选办法。
56.一些实施例的另一优点是:与根据现有技术办法可能的情况相比,操作的并行化就处理时间和招致的开销而言提高了处理效率。
57.一些实施例的又一优点是:操作的并行化使硬件中的处理元件能够独立地且以彼此不同的时序来处理操作。
58.一些实施例的又一优点是:与根据现有技术办法可能的情况相比,操作的并行化就利用硬件中的可用资源而言使得能够更高效实现。
59.应该注意,即使本文在接收器中验证数据完整性的上下文中描述实施例,一些实施例也可在其它上下文中同样适用和/或有益。
附图说明
60.进一步的目的、特征和优点将从以下参考附图对实施例的详细描述中呈现。附图不一定按比例绘制,而是重点放在示出示例实施例。
61.图1是示出根据一些实施例的示例方法步骤的流程图;图2a是示出根据一些实施例的示例操作的示意框图;图2b是示出根据一些实施例的示例操作的示意框图;图2c是示出根据一些实施例的示例操作的示意框图;图3a是示出根据一些实施例的示例操作的示意框图;图3b是示出根据一些实施例的奇偶校验矩阵的示例部分的示意图;图3c是示出根据一些实施例的数据消息的示例部分和奇偶校验矩阵的示例部分的示意图;图4是示出根据一些实施例的示例设备的示意框图;以及图5是示出根据一些实施例的示例计算机可读介质的示意图。
具体实施方式
62.如上文已提及,应该强调,术语“包括/包含”当在本说明书中使用时,用来指定所陈述特征、整数、步骤或组件的存在,但是并不排除一个或多个其它特征、整数、步骤、组件或其组的存在或添加。如本文中所使用,除非上下文另外清楚地指示,否则单数形式“一”、“某一”和“该”意在也包含复数形式。
63.下面将参考附图更全面地描述和举例说明本公开的实施例。然而,本文中公开的解决方案能够以许多不同的形式来实现,并且不应被解释为仅限于本文中阐述的实施例。
64.如上文所提及,硬件和/或软件实现的crc的缺陷是处理量随着消息长度而增加,并且就处理时间和招致的开销而言致使处理低效。
65.在下文中,将提出实施例,其中描述了用于在接收器中验证数据完整性的备选办法。
66.如本文中所描述,通用硬件通常包括包含一个或多个并行处理元件的硬件,一个或多个并行处理元件被配置为处理并行化的操作,其中,一个或多个处理元件进一步包括用于处理这些操作的本地数据存储器。
67.如本文中所描述,操作通常包括矩阵和向量操作,其中,操作可包括矩阵相乘和矩阵积的计算,并且向量操作可包括矩阵积的求和。
68.如本文中所描述,校验和通常包括循环冗余校验crc和/或块码校验和。
69.通常使用某种移位寄存器技术,通常以串行方式来实现crc。在更新移位寄存器的同时分段地处理数据消息。最后,移位寄存器状态形成要被附加的校验和。按其最基本的形式,数据消息一次被处理一位,但是也可一起处理若干相继位,例如8位或32位。
70.也可通过将数据消息拆分成多个子序列并且为每个子序列计算临时crc来使crc计算并行化。然后,对每个临时crc应用相对复杂的线性函数,并且通过使用xor加法将结果相加来得到最终的crc。
71.因为处理量随着消息长度而增加,所以处理时间对于长消息就会长。这对于软件实现尤其如此。因此,这使得在通用处理器上实现crc是成问题的。
72.因为并行化是基于针对每个子序列的串行计算,所以最后对于所有子序列需要执行的复杂功能增加了额外的计算负担,并且因此难以在包括一个或多个处理元件的现代硬件上高效地计算crc。
73.应该注意,即使本文在无线通信网络中的接收器中验证数据完整性的上下文中描述实施例,其中接收器可在操作上能连接到具有被配置为处理并行化的计算的一个或多个并行处理元件的通用硬件,一些实施例也可在其中用校验和来验证所接收消息的数据完整性的其它上下文中同样适用和/或有益。
74.还应该注意,即使本文在具有被配置为处理并行化的计算的一个或多个并行处理元件的通用硬件的上下文中描述实施例,一些实施例也可在其中一个或多个处理元件中的每个处理元件被配置为串行处理一组计算的其它上下文中同样适用和/或有益。
75.此外应该注意,即使本文在将计算的部分校验子向量求和得到完整校验子向量的上下文中描述实施例,一些实施例也可在其它上下文(其中,在一个或多个并行处理元件中的一个并行处理元件中所计算的计算的部分校验子向量中的两个或更多个部分校验子向量也在该一个并行处理元件中被求和,并且其中,求和的两个或更多个计算的部分校验子向量形成求和得到完整校验子向量的那些计算的部分校验子向量的子集)中同样适用和/或有益。
76.图1是示出根据一些实施例的示例方法100的方法步骤的流程图。方法100用于在无线通信网络中的接收器中验证数据完整性。因此,方法100可例如由图4的设备400和/或控制器410来执行;所有这些稍后将在本文中描述。
77.方法100包括以下步骤。
78.在步骤101中,接收数据消息,其中,数据消息包括数据元素组和校验和(参考图2a至2c)。
79.备选地或附加地,数据元素组可包括数据元素的序列。
80.在一些实施例中,接收的数据消息已经被传送器计算并传送到接收器。
81.例如,接收该消息的接收器可被包括在移动通信装置中并且在无线通信网络中操
作。
82.在一些实施例中,校验和是基于数据元素组并且被附加到数据消息中的数据元素组以形成码字(参考图2a)。
83.在一些实施例中,校验和是以下的一项或多项:循环冗余校验crc和块码校验和。
84.如上文所提及,校验和(例如crc)通常用于检测通过潜在不可靠的信道(诸如无线电信道)传送的消息中的错误。例如,5g nr标准在空中接口中使用若干不同的crc;在3gpp ts 38.212第5.1节中描述了这些内容。
85.如上文所提及,crc是一种校验和,其中,校验和的原理是:对传送器来说,基于数据元素组计算序列、即校验和,并且将它附加到包括该数据元素组的数据消息(参考图2a)。
86.接收器则执行相同的计算,并且校验(即验证)该校验和匹配,在该情况下,数据消息被宣告无错误。如果该校验和不匹配,则非匹配的校验和指示了数据消息包含错误并且通常被丢弃。
87.接收器能够通过基于接收的数据消息计算crc来模仿传送器,然后将该crc与所附加的crc序列比较。校验crc的另一种方式是在(包括crc的)整个数据消息上运行相同的crc计算算法。在这种情况下,计算的值应该是零。
88.crc是一种线性块码,其中,所传送的包括校验和的数据消息被视为码字。另外,crc通常被应用于二元序列,并且因此成为二元线性块码。crc也可用在基于较大字符表的数据消息上。
89.在数学上用长多项式除法来定义crc。除数多项式是基于数据消息,并且被除数是固定的多项式(crc多项式)。丢弃商,并且从余数得出作为结果的crc序列。
90.在步骤102中,基于部分校验子向量计算完整校验子向量,其中,通过将奇偶校验矩阵的部分与接收的数据消息的对应部分相乘来并行计算部分校验子向量(参考图3a至3c)。
91.在一些实施例中,奇偶校验矩阵与校验和多项式(例如crc多项式)相关联,从校验和多项式计算奇偶校验矩阵。
92.在一些实施例中,奇偶校验矩阵是二元矩阵。
93.在一些实施例中,奇偶校验矩阵包括行,这些行是彼此的移位版本。
94.备选地或附加地,这种形式的奇偶校验矩阵(即,行是彼此的移位版本)仅需要将一行存储在存储器中,因此减小了所需要的存储器大小以及读取操作的数量。
95.在一些实施例中,其中,奇偶校验矩阵中的每个被访问的列是前一列的移位版本,其中,当已访问数据消息的部分和奇偶校验矩阵的部分的每个位时,仅移入一个新的位。
96.备选地或附加地,可从线性反馈移位寄存器生成奇偶校验矩阵的行,线性反馈移位寄存器的反馈多项式与定义crc的多项式相同(或者相反)。
97.在一些实施例中,逐一访问数据消息的部分的位,并且当遇到一时,将奇偶校验矩阵的位的第一集合添加到部分校验子向量。
98.在一些实施例中,逐一访问数据消息的部分的位,并且当遇到零时,将部分校验子向量保持不变。
99.备选地或附加地,完整校验子向量被计算为所计算的部分校验子向量的总和(参考图3a至3c)。
100.备选地或附加地,完整校验子向量指示接收的数据消息的数据完整性。
101.在一些实施例中,包括全零向量元素的完整校验子向量指示匹配的校验和和/或无错误的数据元素组。
102.在一些实施例中,奇偶校验矩阵被预先计算并且被存储在接收器的存储器中和/或接收器可访问的远程存储器中。
103.在一些实施例中,给定数据消息的部分,通过首先从存储器中读取奇偶校验矩阵的预先计算的部分并且初始化部分校验子向量来计算对应的部分校验子。
104.在一些实施例中,将一个或多个用于执行的软件线程和/或处理元件指配给奇偶校验矩阵的一个或多个部分与数据消息的对应部分,以并行计算部分校验子向量。
105.在可选的步骤102a-1中,在一些实施例中,将奇偶校验矩阵划分成列组,并且将每个列组与数据消息的对应部分相关联(参考图3a至3c)。
106.在可选的步骤102b-1中,在一些实施例中,通过将每个列组与其数据消息的对应部分相乘来并行计算部分校验子向量(参考图3a至3c)。
107.在可选的步骤102a-2中,在一些实施例中,将奇偶校验矩阵划分成非重叠矩阵元素组,并且将每个非重叠矩阵元素组与数据消息的对应部分相关联(参考图3a至3c)。
108.备选地或附加地,可丢弃全零矩阵元素组,因为它们的部分校验子向量将是零,并且不会对总和有贡献(参考步骤102c)。
109.在可选的步骤102b-2中,在一些实施例中,通过将每个非重叠矩阵元素组与其数据消息的对应部分相乘来并行计算部分校验子向量(参考图3a至3c)。
110.在可选的步骤102a-3中,在一些实施例中,将奇偶校验矩阵划分成来自列组的非重叠矩阵元素组,并且将每个非重叠矩阵元素组与数据消息的对应部分相关联(参考图3a至3c)。
111.备选地或附加地,可丢弃全零矩阵元素组,因为它们的部分校验子向量将是零并且不会对总和有贡献(参考步骤102c)。
112.在可选的步骤102b-3中,在一些实施例中,通过将来自列组的每个非重叠矩阵元素组与其数据消息的对应部分相乘来并行计算部分校验子向量(参考图3a至3c)。
113.在可选的步骤102c中,在一些实施例中,将计算的部分校验子向量求和得到完整校验子向量(参考图3a)。
114.例如,通过让每个并行处理元件接连计算10个部分校验子向量,实现可以使用仅100个并行处理元件来计算1000个部分校验子向量。每个并行处理元件可以接着计算其10个部分校验子向量的总和。因此,可认为是由100个并行处理元件并行计算100个部分校验子向量,每个并行处理元件通过在一些部分上迭代来计算其部分校验子向量。
115.备选地或附加地,或者通过在一个或多个并行处理元件中计算部分校验子向量的子集的总和、然后将子集的总和求和得到完整校验子向量,或者通过计算由一个或多个并行处理元件所计算的部分校验子向量的总和而得到完整校验子向量,可计算部分校验子向量的总和。
116.在步骤103中,第一种可能性是,完整校验子向量的所有向量元素被确定是零,即,完整校验子向量是零向量(出自步骤103的“是”路径)。
117.在步骤103中,第二种可能性是,完整校验子向量的向量元素中的一个或多个向量
元素被确定是非零,即,完整校验子向量是非零向量(出自步骤103的“否”路径)。
118.在步骤104(未示出)中,验证接收的数据消息是正确的还是不正确的。
119.在步骤104a中,当完整校验子向量的所有向量元素都是零(即,零向量)时,验证接收的数据消息是正确的(出自步骤103的“是”路径)。
120.在步骤104b中,当完整校验子向量的向量元素中的一个或多个向量元素是非零(即,非零向量)时,验证接收的数据消息是不正确的(出自步骤103的“否”路径)。
121.图1的上述步骤中的任何步骤可附加地具有与下文针对图2至5所说明的各种特征中的任何特征相同或对应的特征。
122.图2a是示出根据一些实施例的示例操作的示意框图。在传送器中执行图200a的操作,其中,这些操作使得能够在无线通信网络中的接收器中验证数据完整性。因此,图200a的操作可例如被配置为执行图1的方法步骤中的一个或多个方法步骤。
123.图2a示出包括校验和序列(crc(l位))的数据消息,校验和序列是基于数据元素组,即,数据序列(消息(k位)),被附加到进一步包括该数据元素组的数据消息。
124.图2a进一步示出crc计算,其中,提供数据元素组的逐块或逐位输入,并且将计算的crc输出并附加到数据消息。
125.图2b是示出根据一些实施例的示例操作的示意框图。图200b的操作用于在无线通信网络中的接收器中验证数据完整性。因此,图200b的操作可例如被配置为执行图1的方法步骤中的一个或多个方法步骤。
126.图2b示出包括crc的接收的数据消息(n=k+l位),其中,计算crc以用于验证数据完整性,并且其中,提供包括crc的接收的数据消息的逐块或逐位输入作为给计算的输入,并且输出向量(l位)以验证该向量包括全零向量元素。
127.图2c是示出根据一些实施例的示例操作的示意框图。图200c的操作用于在无线通信网络中的接收器中验证数据完整性。因此,图200c的操作可例如被配置为执行图1的方法步骤中的一个或多个方法步骤。
128.图2c示出包括crc的接收的数据消息(n位)和校验和相关联的奇偶校验矩阵(l
×
n),其中,接收的数据消息和校验和相关联的奇偶校验矩阵以矩阵-向量乘法相乘,并且输出向量(l位)以验证该向量包括全零向量元素。
129.图3a是示出根据一些实施例的示例操作的示意框图。图300a的操作用于在无线通信网络中的接收器中验证数据完整性。因此,图300a的操作可例如被配置为执行图1的方法步骤中的一个或多个方法步骤。
130.图3a示出基于部分校验子向量计算完整校验子向量,其中,通过将奇偶校验矩阵的部分与接收的数据消息的对应部分(即,接收的序列的部分)相乘(mult)来并行计算部分校验子向量,并且将计算的部分校验子向量求和(sum)得到完整校验子向量。
131.图3a进一步示出:确定完整校验子向量的所有向量元素都是零(校验是否为零),并且验证接收的数据消息当完整校验子向量的所有向量元素都是零时是正确的,否则是不正确的。
132.如本文中所描述,矩阵操作可被应用在任意大小的矩阵上,该任意大小仅被关联到一个或多个处理元件的本地数据存储器的大小所限制。为了使处理更高效和尽可能高地利用一个或多个处理元件,将矩阵拆分成若干部分来处理。
133.任何二元线性块码都能够由奇偶校验矩阵(通常表示为h)来定义。h是l
×
n二元矩阵,其中l是所添加的冗余位的数量,n是码字的长度,并且k=n-l是数据消息的长度。长度为n的二元序列当且仅当它满足矩阵方程时是码字(指示crc是正确的)。crc是其中冗余位是所计算的crc的二元线性块码的特例。因此,l是crc的长度。
134.奇偶校验矩阵不是唯一的:如果a是非奇异l
×
l矩阵,则ah和h是用于相同代码的奇偶校验矩阵。
135.因此,可以通过计算长度为l的校验子向量并且校验它是全零来执行校验crc。因为所有元素都是二元的,所以矩阵乘法可通过逻辑and(即,二元乘法)和逻辑xor(即,二元加法)来实现。这使软件实现和硬件实现都成为可能。
136.可采取不同方式使计算并行化,以下第1至3项描述不同的计算:1. 并行计算的不同部分,校验每个部分是零。这提供最多l路并行化。
137.2. 将序列分成m部分(m≤n)并且计算对应部分总和,然后将这些部分总和一起求和得到。这提供最多n路并行化。求和可以在树中部分并行完成,在校验之前,需要log m个最终步骤。每个部分可以是的子序列,或者它可以是来自的任意分段的元素集合。
138.3. 第1项和第2项的组合,提供最多l
×
n路并行化。
139.因为l通常是固定的小的数(通常l≤32),而n可以在几千的数量级,所以上面第2项本身常可以提供足够的并行化。
140.然后假设h的元素是,使得每行是上面行向左移位一步。这意味着,对于长度为n的序列,它需要仅存储n+l-1个预先计算的奇偶校验位(或者,通过不存储第一行中l-1个起始零而仅存储n个所述奇偶校验位)。
141.校验子向量可写为(模-2)总和,其中是h的第j列。给定这里的假设,会得到会得到。注意,这个总和的每一项或者是全零向量(当cj=0时),或者是q序列的子序列(当cj=1时)。
142.给定子序列,可通过首先从存储器中读取预先计算的奇偶校验序列并且将初始化成全零向量来计算对应的部分校验子初始化成全零向量来计算对应的部分校验子。然后,逐一访问位cb、c
b+1
等:当遇到“一”时,将奇偶校验序列的前l位添加到;当遇到“零”时,保持不变。在访问每一位之后,奇偶校验序列向左移位一步。
143.给定一些处理元件,即一个或多个核,可以为每个核指配的一个或几个子序列以计算出部分校验子总和。对于每个这样的子序列,可以使用上述方法。如果核被指配多个子序列,则它可以简单地在那些子序列上迭代,并且将部分校验子加起来。当这些核已经完成它们的计算时,它们的结果可以被加在一起而得到最终的总和,该总和是整体校验子。
144.图3b是示出根据一些实施例的奇偶校验矩阵的示例部分的示意图。
145.图3b示出划分的奇偶校验矩阵,该矩阵包括对应于其部分的元素,矩阵的这些部分可与数据消息的对应部分(例如数据序列元素的子集)相乘。
146.图3b进一步示出划分的奇偶校验矩阵的部分,包括以下的一项或多项:非连续部
分、跨行列子集的部分、非矩形部分、以及仅有零元素的部分(其可被跳过)。
147.图3c是示出根据一些实施例的数据消息的示例部分和奇偶校验矩阵的示例部分的示意图。
148.图3c示出奇偶校验矩阵,其中,奇偶校验矩阵被划分,并且其中,划分的矩阵部分对应于数据消息的部分,即包括与划分的矩阵部分相关联的元素的数据序列的子集。
149.图3c进一步示出部分校验子向量,即部分校验子,其中,通过将划分的矩阵部分与数据消息的对应部分(即,包括与划分的矩阵部分相关联的元素的数据序列的子集)相乘来计算部分校验子向量。
150.应该注意,部分校验子向量的计算是并行执行的,并且可由包括一个或多个处理元件的硬件(例如gpu)执行,其中,一个或多个处理元件被配置为并行执行计算。
151.包括一个或多个处理元件的硬件因而被配置为使处理时间最小化,并且通过将一个或多个处理元件用于并行计算,这些计算将是时序独立的。
152.图4是示出根据一些实施例的示例设备400的示意框图。设备400用于在无线通信网络中的接收器中验证数据完整性。因此,设备400和/或控制器410可例如被配置为执行图1的方法步骤中的一个或多个方法步骤,和/或本文中另外描述的任何步骤中的一个或多个步骤。
153.设备400包括控制器410(例如装置控制电路),控制器410被配置为导致:接收数据消息,其中,数据消息包括数据元素组和校验和;以及基于部分校验子向量计算完整校验子向量,其中,通过将奇偶校验矩阵的部分与接收的数据消息的对应部分相乘来并行计算部分校验子向量。
154.控制器410被进一步配置为导致:确定完整校验子向量的所有向量元素都是零;以及验证接收的数据消息当完整校验子向量的所有向量元素都是零时是正确的,否则是不正确的。
155.如上文所提及,设备400包括控制器(cntr;例如,控制电路或控制模块)410,控制器410又可包括(或者以其它方式关联;例如,连接或能连接到)接收器401,例如接收电路或接收模块,接收器401被配置为接收数据消息,其中,数据消息包括数据元素组和校验和(与图1的步骤101相比)。
156.控制器410进一步包括(或者以其它方式关联;例如,连接或能连接到)计算机402,例如计算电路或计算模块,计算机402被配置为基于部分校验子向量计算完整校验子向量,其中,通过将奇偶校验矩阵的部分与接收的数据消息的对应部分相乘来并行计算部分校验子向量(与图1的步骤102相比)。
157.控制器410进一步包括(或者以其它方式关联;例如,连接或能连接到)确定器403,例如确定电路或确定模块,确定器403被配置为确定完整校验子向量的所有向量元素都是零(与图1的步骤103相比)。
158.控制器410进一步包括(或者以其它方式关联;例如,连接或能连接到)验证器404a和404b,例如验证电路或验证模块,验证器404a和404b被配置为验证接收的数据消息当完整校验子向量的所有向量元素都是零时是正确的(与图1的步骤104a相比),否则是不正确的(与图1的步骤104b相比)。
159.在一些实施例中,控制器410进一步包括(或者以其它方式关联;例如,连接或能连
接到):划分器402a-1,例如划分电路或划分模块,划分器402a-1被配置为将奇偶校验矩阵划分成列组,并且将每个列组与数据消息的对应部分相关联(与图1的步骤102a-1相比);以及计算机402b-1,例如计算电路或计算模块,计算机402b-1被配置为通过将每个列组与其数据消息的对应部分相乘来并行计算部分校验子向量(与图1的步骤102b-1相比)。
160.在一些实施例中,控制器410进一步包括(或者以其它方式关联;例如,连接或能连接到):划分器402a-2,例如划分电路或划分模块,划分器402a-2被配置为将奇偶校验矩阵划分成非重叠矩阵元素组,并且将每个非重叠矩阵元素组与数据消息的对应部分相关联(与图1的步骤102a-2相比);以及计算机402b-2,例如计算电路或计算模块,计算机402b-2被配置为通过将每个非重叠矩阵元素组与其数据消息的对应部分相乘来并行计算部分校验子向量(与图1的步骤102b-2相比)。
161.在一些实施例中,控制器410进一步包括(或者以其它方式关联;例如,连接或能连接到):划分器402a-3,例如划分电路或划分模块,划分器402a-3被配置为将奇偶校验矩阵划分成来自列组的非重叠矩阵元素组,并且将每个非重叠矩阵元素组与数据消息的对应部分相关联(与图1的步骤102a-3相比);以及计算机402b-3,例如计算电路或计算模块,计算机402b-3被配置为通过将来自列组的每个非重叠矩阵元素组与其数据消息的对应部分相乘来并行计算部分校验子向量(与图1的步骤102b-3相比)。
162.在一些实施例中,控制器410进一步包括(或者以其它方式关联;例如,连接或能连接到)求和器402c,例如求和电路或求和模块,求和器402c被配置为将计算的部分校验子向量求和得到完整校验子向量(与图1的步骤102c相比)。
163.在一些实施例中,该设备在操作上能连接到具有一个或多个并行处理元件的通用硬件,并行处理元件被配置为处理并行化的计算。
164.在一些实施例中,一个或多个并行处理元件中的每个并行处理元件被配置为:通过将奇偶校验矩阵的部分与数据消息的对应部分相乘来并行计算部分校验子向量中的相应一个或多个部分校验子向量。
165.在一些实施例中,在接收器中和/或在云环境中包括具有一个或多个并行处理元件的通用硬件。
166.在一些实施例中,通用硬件包括图形处理单元gpu。
167.在一些实施例中,设备400可进一步可选地包括(或者以其它方式关联;例如,连接或能连接到)收发器tx/rx 420,例如收发电路或收发模块,收发器tx/rx 420被配置为例如根据在无线通信网络中的接收器中数据完整性的验证来发送和接收无线电信号。
168.一般而言,当在本文中提及布置时,要将布置理解为物理产品;例如,设备。物理产品可包括一个或多个部分,诸如采取一个或多个控制器、一个或多个处理器等等的形式的控制电路。
169.所描述的实施例及其等效物可在软件或硬件或其组合中实现。这些实施例可由通用电路来执行。通用电路的示例包括:数字信号处理器(dsp)、中央处理单元(cpu)、图形处理单元(gpu)、协处理器单元、现场可编程门阵列(fpga)和其它可编程硬件。备选地或附加地,实施例可由诸如专用集成电路(asic)之类的专用电路来执行。通用电路和/或专用电路可例如与诸如无线通信装置之类的设备相关联或者被包括在该设备中。
170.实施例可出现在电子设备(诸如无线通信装置)内,电子设备包括根据本文中所描
述的实施例中的任何实施例的布置、电路和/或逻辑。备选地或附加地,电子设备(诸如无线通信装置)可被配置为执行根据本文中所描述的实施例中的任何实施例的方法。
171.根据一些实施例,计算机程序产品包括计算机可读介质,诸如例如通用串行总线(usb)存储器、插入卡、嵌入式驱动器或者只读存储器(rom)。
172.图5示出采取致密盘(cd)rom 500的形式的示例计算机可读介质。计算机可读介质具有存储在其上的计算机程序,计算机程序包括程序指令。计算机程序可加载到数据处理器(proc)520中,数据处理器(proc)520可例如被包括在无线通信装置510中。当被加载到数据处理器中时,计算机程序可被存储在与数据处理器相关联或包含于其中的存储器(mem)530中。
173.在一些实施例中,计算机程序可在被加载到数据处理单元中并由其运行时,导致根据例如图1的方法步骤和/或本文中另外描述的任何步骤中的一个或多个步骤的执行。
174.在一些实施例中,计算机程序可在被加载到数据处理单元中并由其运行时,导致根据例如图2a至2c和/或图3a的操作和/或本文中另外描述的任何操作中的一个或多个操作的执行。
175.一般而言,除非清楚地给出和/或从使用术语的上下文中暗示了不同含义,否则本文中所使用的所有术语要根据它们在相关技术领域中的普通含义来解释。
176.本文中已经参考了各种实施例。然而,本领域技术人员会认识到对所描述的实施例的许多变更,这些变更仍会落入权利要求的范围内。
177.例如,本文中所描述的方法实施例通过以某种顺序执行的步骤公开了示例方法。然而,要认识到,这些事件序列可能以另一种顺序发生而不背离权利要求的范围。此外,即使一些方法步骤已经被描述为按顺序执行,它们也可被并行执行。因此,除非一步骤被明确地描述为在另一步骤之后或之前和/或在暗示了一步骤必须在另一步骤之后或之前的情况下,否则本文中公开的任何方法的步骤不一定要以所公开的确切顺序来执行。
178.同样地,应该注意,在实施例的描述中,将功能块划分成特定单元决不是意在限制。相反,这些划分仅仅是示例。本文中描述为一个单元的功能块可被拆分成两个或更多个单元。此外,本文中描述为被实现为两个或更多个单元的功能块可被合并成更少的(例如单个)单元。
179.在任何适当之处,本文中所公开的实施例中的任何实施例的任何特征可被应用于任何其它实施例。同样,这些实施例中的任何实施例的任何优点可适用于任何其它实施例,反之亦然。
180.因此,应该理解,所描述的实施例的细节仅仅是为了说明性目的而提出的示例,并且意在将落入权利要求的范围内的所有变更都涵盖于其中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1