一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多标准低密度奇偶校验解码器的制作方法

2022-06-11 21:28:39 来源:中国专利 TAG:


1.本公开大体上涉及数据通信中的错误校正,且更具体地涉及低密度奇偶校验(“ldpc”)解码器,所述ldpc解码器处理以奇偶校验矩阵为特征的代码以用于校正信道错误,而不管数据遵循的工业标准。


背景技术:

2.现代无线装置通常包括编码器和解码器的组合,所述编码器和解码器采用各种纠错译码技术来处理与形成于发射器与接收器之间的通信信道相关联的噪声、干扰等。例如,接收器可应用解码器来确定接收到的信号在发射之后是否损坏,并校正检测到的任何错误。低密度奇偶校验(“ldpc”)码是多种纠错码中的一者。然而,ldpc编码器和解码器通常根据多种不同的行业或技术标准来通信,这需要针对每种标准使用不同的硬件,所述硬件会消耗计算机芯片上的宝贵空间。
3.另外,需要芯片的额外硅面积来容纳多个解码器,具体而言例如校验节点更新(cnu)处理器和变量节点更新(vnu)处理器的各种处理器,所述解码器并行操作以满足不断增加的系统吞吐量要求。这样做时,数据依赖性和ram访问冲突可能会限制ldpc解码器中的并行cnu和vnu的数目。例如,cnu处理奇偶校验矩阵上的行,所述行的结果由vnu处理。此处,直到cnu已完成其对整个前一行的处理,vnu才能处理特定的行和列。


技术实现要素:

4.如应了解,如所公开的实施例包括至少以下实施例。在一个实施例中,一种无线接收装置包括低密度奇偶校验(ldpc)解码电路,所述ldpc解码电路包括:循环移位器(310),所述循环移位器(310)被构造和布置成同时处理针对不同无线通信标准配置的奇偶校验矩阵的多个码字,包括执行所述多个码字的循环移位操作以与解码器的一个或多个必需校验节点对齐;以及所述循环移位器的输出处的逻辑电路(312、313、314),所述逻辑电路(312、313、314)被构造和布置成用于大于所述奇偶校验矩阵的矩阵且包括由于针对较大矩阵的构造和布置而具有多余硬件的组件,以对较小奇偶校验矩阵的所述多个码字进行解码从而输出到所述一个或多个必需校验节点。
5.所述无线接收装置的替代实施例包括以下特征中的一者或其任何组合。
6.所述多余硬件包括重新用于对所述多个码字进行解码的数据路径、随机存取存储器和触发器存储装置中的一个或多个。
7.所述ldpc解码电路另外包括至少一个校验节点更新(cnu)处理器和至少一个变量节点更新(vnu)处理器,所述至少一个cnu处理器包括所述循环移位器并且所述至少一个vnu处理器接收所述逻辑电路的在每一时钟周期对所述奇偶校验矩阵的子矩阵进行操作的输出。
8.所述逻辑电路包括在所述奇偶校验矩阵的行中标识第一最小值和第二最小值的最小数据发生器单元,其中cnu处理器包括存储器,所述cnu处理器在为所述奇偶校验矩阵
的每一列更新所述存储器时存储所述行的当前最小值,其中存储最小值的副本,并且其中vnu处理器处理所述最小值的存储副本以处理先前由所述至少一个cnu处理器完成的所述行。
9.所述存储器保存由所述至少一个cnu处理器处理的所述奇偶校验矩阵的两行或更多行的最小值。
10.所述存储器包括一个或多个触发器电路。
11.所述循环移位器一次使所述cnu处理器的一行结果移位且分别存储来自两行的结果,并且其中所述vnu处理器处理来自两行结果的所述奇偶校验矩阵的子矩阵。
12.所述循环移位器同时使所述多个码字移位。
13.所述循环移位器一次使所述奇偶校验矩阵的一组所述多个码字向右移位预定数目个位置,以接收并处理所述奇偶校验矩阵的下一组多个码字。
14.在另一实施例中,一种无线装置的低密度奇偶校验(ldpc)解码电路包括:变量节点更新(vnu)处理器;校验节点更新(cnu)处理器;以及矩阵处理系统,包括:专用存储器设备,所述专用存储器设备存储由所述cnu处理器生成的cnu数据的至少第一行和第二行的由所述cnu处理器生成的结果;以及解码处理器,所述解码处理器处理cnu的所述至少第一行和所述第二行的所述结果以输出到所述vnu处理器。
15.所述ldpc解码电路的替代实施例包括以下特征中的一者或其任何组合。所述vnu处理器、所述cnu处理器和所述矩阵处理系统中的至少一个包括被构造和布置成用于处理比包括cnu数据的行的矩阵大的矩阵的额外电路,其中所述额外电路同时处理cnu数据的第一行和第二行的多个码字。所述多余硬件包括重新用于对所述多个码字进行解码的数据路径、随机存取存储器和触发器存储装置中的一个或多个。
16.所述矩阵处理系统另外包括移位器,所述移位器接收在每一时钟周期对子矩阵进行操作的输出。所述移位器一次使一行移位,所述专用存储器设备存储来自所述第一行和所述第二行的两个结果,并且其中所述vnu处理器处理来自两行结果的所述奇偶校验矩阵的子矩阵。所述循环移位器一次使所述奇偶校验矩阵的一组所述多个码字向右移位预定数目个位置,以接收并处理所述奇偶校验矩阵的下一组多个码字。所述ldpc解码电路另外包括在所述第一行和所述第二行中标识第一最小值和第二最小值的最小数据发生器单元,其中所述cnu处理器在为奇偶校验矩阵的每一列更新存储器时存储所述行的当前最小值,其中存储最小值的副本,并且其中所述vnu处理器处理所述最小值的存储副本以处理先前由至少一个cnu处理器完成的所述行。
17.所述存储器包括一个或多个触发器电路。
18.在另一实施例中,一种低密度奇偶校验(ldpc)解码器的操作方法,包括:由循环移位器同时处理针对不同无线通信标准配置的奇偶校验矩阵的多个码字,包括:执行所述多个码字的循环移位操作以与一个或多个必需校验节点对齐;由被构造和布置成用于比所述奇偶校验矩阵更大的矩阵的所述ldpc解码器的多余硬件处理所述多个码字,包括:对所述奇偶校验矩阵的所述多个码字进行解码以输出到所述一个或多个必需校验节点;存储包括所述多个码字的两行或更多行的结果;以及由变量节点更新(vnu)处理器处理来自存储的两行或更多行的所述结果的所述奇偶校验矩阵。
19.所述方法的替代实施例包括以下特征中的一者或其任何组合。执行所述循环移位
操作包括一次使cnu处理器的对应于所述多个码字的一行结果移位,存储两行所述结果的所述结果,以及由所述vnu处理器处理来自两行结果的所述奇偶校验矩阵的子矩阵。
20.执行循环移位,同时使所述多个码字向右移位预定数目个位置以接收并处理所述奇偶校验矩阵的下一组多个码字。
附图说明
21.本发明通过举例示出且不受附图的限制,在附图中,类似标记指示类似元件。为了简单和清晰起见而示出图中的元件,并且这些元件不一定按比例绘制。
22.图1是其中实践本发明概念的实施例的系统的框图,所述系统包括用于交换并处理使用ldpc码进行编码的信号的无线收发器。
23.图2是根据一些实施例的多标准ldpc解码器的框图。
24.图3是根据一些实施例的图2的ldpc解码器的矩阵处理系统的示意图。
25.图4是根据一些实施例的在循环移位器的操作期间的数据布置的视图。
26.图5是根据其它实施例的在循环移位器的操作期间的数据布置的视图。
27.图6是示出根据一些实施例的多标准ldpc解码器的操作方法的流程图。
28.图7是根据一些实施例的多标准ldpc解码器的框图。
29.图8是示出根据一些实施例的多标准ldpc解码器的操作方法的流程图。
30.图9示出了根据一些实施例的奇偶校验矩阵的图形表示。
具体实施方式
31.准循环低密度奇偶校验(“qc-ldpc”)码是用于数字和/或无线通信处理等各种应用的一类纠错ldpc码,其中包括5g和/或其它无线通信处理器的计算机芯片支持一些或所有当前全球蜂窝标准,例如5g等。ldpc解码器通常实施校验节点更新(cnu)处理器、变量节点更新(vnu)处理器和用于在vnu与cnu之间传送消息的共享存储器结构的组合。然而,尽管存在芯片的物理约束,例如消耗芯片硅面积的处理器数目,但希望增加ldpc解码器的吞吐量,所述增加是尤其希望的以便解码器执行多标准ldpc处理。
32.简单来说,纠错解码器架构的实施例可适应数据吞吐量的增加,与需要大量cnu和vnu以实现相同或类似的希望吞吐量的常规技术相比,所述纠错解码器架构需要更少的包括编码器和解码器组合的消耗硅的ldpc编码解码器。纠错解码器架构重新使用数据路径、ram、触发器存储装置和/或被构造成用于大矩阵的其它逻辑电路来同时对子矩阵的多个较小码字进行解码。在一些实施例中,lpdc解码器是迭代纠错解码器,其包括用于处理可能的最大奇偶校验矩阵的校验节点和变量节点的大规模并行网络。ldpc解码器包括用以容纳此矩阵的硬件组件。然而,在常规配置中,由于解码器被配置成处理可能的最大矩阵,因此在处理较小矩阵时解码器的一些硬件组件未被使用,从而导致效率低下。本发明的ldpc解码器的一些实施例更高效,这是因为所述ldpc解码器一次处理多个码块——包括使用此额外硬件,且可因此处理由于遵循不同标准(例如,各种不同的无线通信标准)而大小不一的矩阵。其它实施例包括循环移位器,所述循环移位器被构造和布置成通过容纳来自不同矩阵或子矩阵的多个码字来寻址ram中的任何未使用的数据路径,而不管所述不同矩阵或所述子矩阵遵循的标准。
33.在一些实施例中,解码器利用能够处理较大单个码字子块的硬件组件来处理具有小子块ldpc码的多个码块。如先前所提及,可一次处理多个子矩阵。这样做时,将由cnu产生的结果保存在存储器中,从而允许vnu处理来自两行或更多行的任何子矩阵。因此,需要占据较少面积的ldpc解码器来满足原本将需要较大数目的ldpc解码器的吞吐量要求。一些常规架构需要使cnu的数目加倍以增加吞吐量。另一方面,本发明的ldpc解码器的一些实施例使cnu的输出存储装置加倍但不使cnu的数据路径加倍。这一特性为一次处理一个子矩阵但存储额外行(例如,两行)cnu结果(不同于cnu消息)以便vnu可以处理来自两行cnu结果的任何子矩阵,并且这样做时减少了ram访问争用并有助于数据依赖性。例如,vnu和cnu可在每一时钟周期对子矩阵进行操作。这样做时,所述vnu和cnu需要数据输入和用以存储其输出数据的存储器位置。此数据存储在嵌入硅芯片中的ram中。每位使用最小硅面积的ram每个时钟周期仅允许单次读取或写入访问,被称作单端口ram。如果多个处理单元需要在同一周期内访问ram,则可能会出现争用。这可通过要求一些请求单元等待来解决,但会减少吞吐量。为了解决vnu和cnu争用问题,本发明概念的实施例使用允许在同一周期内读取和写入的ram。此种类型的ram仅稍大于单端口ram,因为它不会重复读取或写入硬件。此处的挑战在于使用多个vnu和cnu可能会加剧争用问题的风险,这是因为cnu和vnu需要每一周期数据。
34.并且,由于用于存储额外行cnu结果的cnu输出存储装置,因此在给vnu的操作重排序时提供了更大的灵活性而不需要重复消耗面积的cnu。例如,cnu在一行中找到第1最小值和第2最小值。cnu在为其处理的每一列更新存储器时存储所述行的当前最小值。在cnu完成整个行之后,其会将最小值转存为最小值的保存副本。vnu接着使用此保存副本来处理先前由cnu完成的行。
35.在一些实施例中,前述处理遵循一组预定规则。各列必须如下交替地进行处理:cnu-vnu-cnu-vnu,以此类推。直到vnu更新同一列,cnu才能再次处理所述同一列。由于将存在ram争用,因此cnu和vnu无法在同一周期内处理同一列。直到vnu使用保存的最小值完成处理,cnu才能更新其保存的最小值。直到cnu已完成处理行,vnu才能开始处理行。考虑图9所示的行4的cnu处理。此处,cnu在所述行中仅具有三个非空白条目,指示cnu将在3个周期内完成。然而,由于常规实施方案仅保存单行的值,且由于上述规则,因此直到vnu完成行3所述cnu才能根据行3更新其保存的最小值。这是因为vnu仍在使用所述保存的最小值。vnu将需要19个(非空白数量)周期来处理行3。这意味着cnu将空闲16个周期(19-3)。这将减少吞吐量且需要更多硬件解码器来适应所需数据速率。
36.根据本发明概念的一些实施例的解码器保存2(或更多)行的最小值。再次参考图9,这允许cnu在处理行4之后更新其最小值且继续处理行5。另外,由于关于cnu和vnu进行的交替处理的上述规则,给行5中的cnu操作重新排序以处理行4中有空白的列。例如,cnu将跳过列0和列1,并且从列3、列12开始,以此类推。
37.参考图1,无线发射装置102和无线接收装置104经由统称为通信路径、信道或链路的一个或多个发射信道110交换数据。如先前所描述,发射信道110可能易受噪声、干扰等影响,所述噪声、干扰等可能会引起无线接收装置104接收到的数据中的错误。在一些实施例中,无线发射装置102和无线接收装置104遵循不同的技术标准。例如,无线接收装置104可根据不同的无线联网标准(包括但不限于5g新无线电(nr)、ieee 802.11ad等)对消息或相
关数据进行解码。在一些实施例中,无线发射装置102和/或无线接收装置104在各种工业、商业和消费型应用(例如,数字联网装置)中实施为芯片上系统(soc)或其它集成电路。
38.为了对从无线接收装置104接收到的信号进行检测、解调和/或解码且为了校正在接收到的数据中标识的错误,在一些实施例中,无线接收装置104包括i/o端口122、ldpc解码器124、处理器126和存储器128。无线接收装置104的一些或所有元件——例如ldpc解码器124——可实施于专用集成电路(“asic”)、soc或现场可编程门阵列(“fpga”)中,但不限于此。其它实施例包括无线接收装置104的组件,例如实施为由处理器126执行的软件编程的ldpc解码器124。无线接收装置104的一些实施例包括ldpc解码器124和/或图1的实施为软件和其它电子电路的组合的其它组件。
39.i/o端口122适用于检测来自发射器102的发射信道110的信号。i/o端口122可以包括用于从发射器102接收已编码信号的任何合适的协议。由i/o端口122检测到的已编码信号被提供到ldpc解码器124。ldpc解码器124被构造和布置成检测并校正引入到发射信道110上的错误。在一些实施例中,ldpc解码器124根据一种或多种不同的技术标准(例如,本文描述的5g新无线电(nr)、ieee 802.11ad等,但不限于此)计算ldpc码。
40.处理器126可以是用于执行存储在存储器128中的代码的任何合适的计算机处理器,并且被构造和布置成处理呈已编码消息(例如,后验对数似然比(llr)消息)形式的接收到的数据。存储器128可以是用于计算机相关数据和/或编程的任何合适类型的存储装置,可以是例如但不限于随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)等。
41.图2是图1的多标准ldpc解码器124的框图。多标准ldpc解码器124设置在硅上,例如作为包括单独硬件或与软件组合的硬件的系统。
42.在一些实施例中,ldpc解码器124执行迭代纠错功能,这需要用于处理奇偶校验矩阵的节点的并行网络。每次解码迭代包括:更新呈由ram 202从发射信道110接收到的消息的形式的数据,并且在vnu处理器204与cnu处理器206的节点之间交换数据。在一些实施例中,每次迭代更新一次变量节点和校验节点。具有预定位值的消息可以来自通信信道110的后验对数似然比(llr)值的形式表示,所述消息在变量节点204与校验节点206之间交换。
43.如先前所描述,ldpc解码器124被构造和布置成根据多种不同的技术标准对ldpc码进行解码。qc-ldpc码可由例如具有低密度的奇偶校验矩阵实施,其中大多数条目为0值,如图9所示。然而,由于一些矩阵遵循各种标准,因此它们可具有与其它矩阵不同的布置、配置、大小等。根据一些实施例的ldpc解码器124的特征在于,无论矩阵的大小如何,都可处理遵循不同行业标准的ldpc码。ldpc解码器124能够处理在不同行业标准中使用的ldpc码,这提高了解码器124的效率,是因为解码器124的未用于处理特定矩阵的硬件元件仍可同时处理不同矩阵的多个码块,由此减少满足吞吐量要求所需的解码器数目,这是因为需要单个编码器或ldpc解码器124来处理块码,更具体地说ldpc码或使用奇偶校验矩阵的一类纠错码,即使根据一种行业或技术标准的矩阵可能不同于根据不同行业或技术标准的另一矩阵。奇偶校验矩阵包括多个子矩阵,每一子矩阵具有预定大小(zc)。ldpc解码器124一次处理一个子矩阵。不同于改变子矩阵zc的值以控制错误校正量的常规ldpc系统,在一些实施例中,ldpc解码器124适应子矩阵zc的较大值以对不同标准进行解码,并且一次处理ldpc码的多个码块以改进吞吐量,而不管标准是否使用不同的矩阵。
44.如解码架构中众所周知的,ldpc码字的每个位对应于奇偶校验矩阵的列,并且矩阵的每一行对应于单个奇偶校验。奇偶校验矩阵中具有值“1”的每个位由对应的变量节点(即,vnu的列)与校验节点(即,cnu的行)之间的边沿表示。奇偶校验矩阵的每个子矩阵中的每一行/列需要用于处理行/列中的数据的ram数据路径。如本文中所描述,当ldpc解码器124处理小于预定子矩阵zc的子矩阵大小时,额外数据路径用于同时对不同的码字进行解码。如本文中所描述,校验节点信号解码处理器206可包括被构造和布置成处理ram中的任何未使用数据路径的循环移位器310(参见图3)。参考图5,限定ldpc解码器数据路径中的每个llr。图4示出了用于较大子矩阵zc的移位器400。硬件在图4中执行的操作是使整个结构向右移位,然后将右半部分截断为zc llr。在图5中,整个结构向右移位,并且提取zc llr的每隔一组的数据。
45.在操作期间,无线发射装置102的ldpc编码器将用于冗余的一个或多个奇偶校验位添加到每个码字,由此修改消息以包括纠错码字并且准许ldpc解码器124验证码字的有效性。在一些实施例中,解码器124依赖于奇偶校验位以基于例如在信道上从编码器接收到的已调制信号的样本来标识最可能的已编码位序列。在一些实施例中,编码器和/或解码器的调制器和解调器提供对经由发射信道110接收到的信号的另外处理。
46.再次参考图2,ldpc解码器124包括一个或多个存储器装置,例如ram 202,所述ram 202被构造和布置成从通信信道接直接或间接(经由例如调制器等中间电子装置)从ldpc解码器124收输入数据并且存储一个或多个码字以供矩阵处理系统208进行后续处理。尽管未示出,但ram 202包括多个存储器,每个存储器的大小和布置取决于最大子矩阵大小、所需吞吐量等。在一些实施例中,ram 202可以是图1的接收器104的存储器128的一部分。
47.ldpc解码器124的循环移位器310或相关组合逻辑电路被构造和布置成支持不同的循环ldpc子矩阵,具体而言任何大小的循环移位,高达介于大子矩阵单个码字与小子矩阵多个码字之间的范围的预定义最大子矩阵大小。移位器310例如经由中间多路复用器304从ram 202接收消息,并且分发与其由矩阵处理系统208管理的必需校验节点对齐的消息,具体而言码字等。在一些实施例中,循环移位器310在一个或多个vnu 204与cnu 206之间交换数据位。因此,在vnu 204与cnu206之间交换消息的循环移位器310允许ldpc解码器124利用不同的子矩阵支持不同的ldpc码。
48.在一些实施例中,多个寄存器或类似者(未示出)被构造和布置成对用于预定数目个管线阶段的输入数据码字位执行分层-ldpc解码操作,由此进一步有助于高解码吞吐量。
49.矩阵处理系统208包括多个逻辑电路,每个逻辑电路用于提供不同码字的独立数据路径,且用于同时或几乎同时地对不同码字进行解码。因此,具体而言包括专用移位器310的矩阵处理系统208可处理对应于遵循不同标准的ldpc码的多个码块。
50.图3是根据一些实施例的矩阵处理系统208的示意图。如图所示,矩阵处理系统208可包括但不限于第一存储器302、第二存储器303、至少一个多路复用器304和至少一个移位器310。在一些实施例中,矩阵处理系统208可包括相对于图2示出和描述的vnu处理器204和/或cnu处理器206的一个或多个硬件元件。
51.在一些实施例中,第一存储器302是存储变量节点的后验消息(例如,图2的vnu处理器204的已编码位)的ram等。利用已编码位的对应的先验(信道)可靠值初始化所述消息。本发明概念的重要特征在于第一存储器302可将多个ldpc码块的数据位同时或几乎同时输
出到多路复用器304等。在解码过程中,多路复用器304在解码过程的迭代的时钟周期内接收llr值。信道值、llr消息等可以准许循环移位器310移位适当量的方式以块或码字的形式到达多路复用器304。
52.再次参考循环移位器310,移位器310被构造和布置成处理各种大小的码字,而不管奇偶校验矩阵或其子矩阵。这样做时,例如在移位器310的输出处的其它解码器硬件不需要对应的修改,且可因此不管工业标准如何都同等地应用。在一些实施例中,第二存储器303也被称作分支度量ram或校验ram。第二存储器303被构造和布置成将llr值从可包括定标器316的vnu的输出,输出到cnu 206的输入。作为从cnu输出的llr的临时ram 317的输出,例如绝对值计算器312之前的减法器311的输出,符号发生器313到临时ram 317的输入的输出,用于由vnu进行后续处理。
53.例如,再次参考图4,在一些实施例中,循环移位器310处理单个码字400。码字400可根据例如5g蜂窝标准的特定行业标准实施。移位器310可接收并处理各种不同长度的码字400。在一些实施例中,移位器310所应用的移位量取决于正被解码的码字400的大小。例如,循环移位器310实施为使两个输入数据移位,例如使码字401和输入数据副本402移位。当向右发生移位时,输入数据401的一些或所有位可以被丢弃或删除。然而,副本数据402在从移位器310输出之后可用于另外的处理。例如,八位循环右移位器可如下操作:b(n)对应于llr(字节)n。在移位之前,提供的是数据b(7)、b(6)、b(5)、b(4)、b(3)、b(2)、b(1)和b(0)。在右移位b(0)、b(7)、b(6)、b(5)、b(4)、b(3)、b(2)和b(1)之后,在一些实施例中,待由循环移位器310应用的右移位可使用多个管线阶段应用于输入信号。
54.现参考图5,在一些实施例中,循环移位器310一次接收并处理多个码字。此处,移位器310的操作方式与处理单个码字时的不同之处仅在于多个输入数据501、503、505的副本502、504、506,即在右移位操作等之后需要多个码字、多个截断。例如,一个或多个位的右移位会引起最右边的最低有效位被截断。然而,存在复制输入数据以供校验节点信号解码处理器206输出和后续处理。因此,移位器310可以无需执行多个ldpc码字的循环移位原本所需的重复硬件。
55.在另一例子中,如图3和5所示,移位器310可实施为提供具有zc=8的单个代码块的循环移位,其中b(n)对应于llr(字节)n。起始数据包括b(7)、b(6)、b(5)、b(4)、b(3)、b(2)、b(1)、b(0)。数据复制如下:b(7)、b(6)、b(5)、b(4)、b(3)、b(2)、b(1)、b(0)、b(7)、b(6)、b(5)、b(4)、b(3)、b(2)、b(1)、b(0)。随后,数据向右逻辑移位如下:b(0)、b(7)、b(6)、b(5)、b(4)、b(3)、b(2)、b(1)、b(0)、b(7)、b(6)、b(5)、b(4)、b(3)、b(2)、b(1)。然后,数据截断回八个元素,如下所示:b(0)、b(7)、b(6)、b(5)、b(4)、b(3)、b(2)、b(1)。
56.如先前所提及,移位器310将呈来自第一存储器302的待路由形式的接收到的多个条带的已移位码字位输出到正确的校验节点信号解码处理器206。由于移位器310的上述特征,因此校验节点信号解码处理器206的硬件组件不需要对于不同行业标准的ldpc码字唯一的修改。例如,可针对子矩阵zc中的每一行提供每个数据路径。如图3所示,在矩阵处理系统208的校验节点信号解码处理器206部分处生成子矩阵zc的多个副本。在此例子中,系统208的此位置处的总线宽度为8
×
zc位,这是因为每个llr为8位且有zc个llr。
57.在一些实施例中,校验节点信号解码处理器206包括接收并处理移位器310和第二存储器303的消息数据输出的减法器311,所述第二存储器303存储来自同一层的校验节点
消息等。因此,减去从移位器310输出的llr值。减法器311被构造和布置成从正处理的列删除贡献,其中使用再现处理器318的加法器(未示出)更新所述贡献然后将其加回。
58.在一些实施例中,用于提供一个或多个cnu的校验节点信号解码处理器206还包括绝对值计算器312、符号发生器313和最小数据发生器单元314。vnu处理器320可包括临时ram 317的输出处的触发器电路(未示出)、定标器316和再现处理器318,它们是众所周知的ldpc组件,因此为简洁起见省略其功能和结构的描述。
59.图6是示出根据一些实施例的用于无线通信的方法600的流程图。方法600的一些或所有步骤可在无线接收装置(例如,图1-5的接收器104)中执行。因此,当描述方法600时,参考图1-5的无线接收装置104的元件。
60.在框602,ldpc解码器124接收多个ldpc码字。如关于图1所描述,可从经由发射信道110提供的信号接收所述多个码字。因此,接收到的码字可能会由于与发射信道110相关联的干扰、噪声或其它物理现象而损坏。作为llr消息等的一部分的接收到的码字可包括有效负载数据和奇偶校验数据,例如有效负载数据和奇偶校验位,但不限于此。这样做时,ldpc编码器(未示出)可将奇偶校验位添加到每个码字,其中解码器124基于码字的接收到的样本找到最可能的已编码序列。
61.如本文中所描述,ldpc码使用包括较小子矩阵的组合的大奇偶校验矩阵。如图3所示且在框604,由解码器124一次处理一个子矩阵(zc)。每个子矩阵(zc)是正方形矩阵,即行的数目与列的数目相同。当处理子矩阵时,移位器120使其内容(例如,包括一个或多个码字的行或列)向右移位预定数目个位置,以接收并处理矩阵的下一组码字。在一些实施例中,移位器120一次使多个码字移位(例如,参见图5)。
62.在框606,在一些实施例中,确定当前子矩阵大小是否小于最大子矩阵大小。在其它实施例中,并非每一子矩阵都需要确定或不针对每一子矩阵进行确定,且所述确定由静态模式位控制。例如,在配置中,使得遵循其中一次处理多个码字的802.11ad协议模式或其中一次处理一个码字的5g协议模式。
63.例如ldpc解码器124的解码电路的硬件组件被构造和布置成接收并处理最大大小的子矩阵。然而,当处理较小矩阵时,ldpc解码器124的一些硬件可能未被使用,这是低效的。如在本文中的一些例子中所论述,例如总线布线、ram和移位器310的元件的宽度可为8zc位。当子矩阵zc大于所需子矩阵时,会浪费那些额外的位。并且,在标记为xzc的虚线框中存在硬件的zc个副本。当zc大于其所需大小时,不使用那些额外的副本。然而,在框608,当包括移位器120时原本将不用于处理较小矩阵的多余硬件可使用多余硬件一次处理多个代码块。否则,在框610,由移位器120处理较大的子矩阵单个码字。框608与610之间的主要差别在于移位器120执行的复制模式和截断功能。
64.图7是根据一些实施例的多标准ldpc解码器700的框图。如图所示,ldpc解码器700可包括但不限于一个或多个cnu处理器706、矩阵处理系统708和一个或多个vnu处理器714。图7示出了cnu处理器706的输出存储装置而非cnu处理器706的数据路径数目的增加。这通过一次处理一个子矩阵但存储多个cnu结果来实现,这允许vnu714处理来自cnu处理器706处理的奇偶校验矩阵的两行或更多行的任何子矩阵,从而使得减少ram访问争用并改进数据依赖性。
65.在一些实施例中,矩阵处理系统708包括移位器720、存储器722和解码处理器725。
移位器720类似于图1-6中所描述的移位器310,因此为了简洁,省略重复的细节。尽管未示出,但移位器720、存储器722和解码处理器725中的一个或多个的一些或所有元件或其部分可以是cnu处理器706和/或vnu处理器714的一部分。
66.在操作期间,cnu处理器706一次处理例如5g-nr奇偶校验矩阵的子矩阵的一行,但其它标准的其它矩阵可能同样适用。在已处理行之后,第1最小值、第2最小值和第1最小值的位置经由解码处理器725输出到vnu 714。在此例子中,第1最小值、第2最小值和第1最小值的位置可以由图3的最小数据发生器单元314和/或其它众所周知的ldpc组件处理,以用于尽可能快地将消息从例如图3所示的ram 302的存储器路由到预定处理单元。可能类似于图3的cnu 206的逻辑电路且至少包括最小数据发生器单元314的逻辑电路在特定行中标识第1最小值和第2最小值。例如在存储器722处,cnu 706在为其处理的每一列更新存储器722时存储行的当前最小值。在cnu完成整个行之后,其将最小值转存为最小值的保存副本。vnu 714接着使用此保存副本来处理cnu先前完成的行。
67.vnu 714仅被配置成处理已由cnu处理器706完成的行。在一些实施例中,专用存储器722被构造和布置成存储来自cnu处理器706完成的两行的结果。在一些实施例中,专用存储器722包括多个触发器电路等。在其它实施例中,专用存储器722被构造和布置成存储来自cnu处理器706完成的多余两行(例如,三行)的结果。存储器722对额外行cnu结果的存储实现关于给vnu 714重新排序的额外灵活性,例如准许vnu 714处理来自存储在专用存储器722处的两行cnu结果的任何子矩阵。这不同于其中需要多个cnu以便处理器可处理整个cnu而非单独cnu结果的常规技术。尽管专用存储器722示出为解码处理器725的一部分,但其它实施例可包括专用存储器722作为cnu处理器706的一部分。尽管专用存储器722需要额外的硅面积,具体而言用于存储额外的一行或多行cnu结果,但与不存在专用存储器722相比此配置提供额外吞吐量,这又将需要额外的解码器核心且因此需要比专用存储器或类似吞吐量能力所需的硅面积大得多的硅面积。vnu 714的灵活性还减少了ram访问争用并减少了数据依赖性。例如,如上文所描述,由于处理数据的方式,对额外行cnu结果的存储实现更大的灵活性。
68.图8是示出根据一些实施例的多标准ldpc解码器的操作的方法800的流程图。方法800的一些或所有步骤可在无线接收装置(例如,图7的接收器104)中执行。因此,当描述方法700时,参考图7的多标准ldpc解码器700的元件。
69.在框802,cnu处理器706处理奇偶校验矩阵的一行,一次处理一个子矩阵。
70.在框804,将cnu处理器706处理的两行的结果存储在专用存储器720处。
71.在框806,vpu 714处理来自cnu处理器706处理的两行的子矩阵,例如图9所示。
72.图9示出了根据一些实施例的奇偶校验矩阵的图形表示。在此例子中,矩阵有68列和46行,但为简洁起见示出矩阵的相关部分。每个条目都可由正方形子矩阵代替。空白条目对应于所有0s子矩阵。具有值的条目对应于已移位单位矩阵且相应地进行了处理。矩阵中的值确定数据移位的程度。cnu处理器706处理矩阵的一行,一次处理一个子矩阵。例如,如图所示,cnu处理器706可以从值为307的zc
×
zc子矩阵开始。未处理空白条目。在cnu处理器706处理行之后,第1最小值、第2最小值和第1最小值的位置输出到vnu 714,所述vnu 714仅处理cnu处理器706完成的行。由于存储器存储两行的结果,因此提供给vnu 714重新排序时的额外灵活性以及额外吞吐量。
73.虽然本文中参考具体实施例描述了本发明,但是可以在不脱离如所附权利要求书中所阐述的本发明的范围的情况下进行各种修改和改变。因此,说明书和图式应视为说明性而非具有限制性意义,并且预期所有此类修改都包括在本发明的范围内。并不意图将本文中关于具体实施例所描述的任何优势、优点或针对问题的解决方案理解为任何或所有权利要求的关键、必需或必不可少的特征或元素。
74.除非另有陈述,否则例如“第一”和“第二”等术语用于任意地区别此类术语所描述的元素。因此,这些术语不一定意图指示此类元件时间上的优先级或其它优先级。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献