针对LDPC码的改进的最小和解码器的制作方法

文档序号:17746801发布日期:2019-05-24 20:41阅读:492来源:国知局
针对LDPC码的改进的最小和解码器的制作方法

本申请要求于2017年10月12日递交的美国申请第15/782,807号的优先权,其要求于2016年10月13日递交的美国临时专利申请系列第62/407,768号的利益,其两者的全部内容以引用的方式并入本文中,如同在下文充分阐述了一样,以及用于全部适用的目的。

概括地说,本公开内容的某些方面涉及用于无线通信的方法和装置,以及具体地说,本公开内容的某些方面涉及用于对ldpc和turbo码的有效的、高性能解码的调整后的最小和解码器。实施例实现和提供创新的通信组件(例如,无线发射机和接收机),其提供支持turbo码和具有高性能的ldpc码两者的高执行ldpc解码器和统一的解码器。



背景技术:

无线通信系统被广泛部署以提供各种类型的通信内容,诸如语音、数据等。这些系统可以是能够通过共享可用的系统资源(例如,带宽和发射功率)来支持与多个用户的通信的多址系统。这种多址系统的示例包括长期演进(lte)系统、码分多址(cdma)系统、时分多址(tdma)系统、频分多址(fdma)系统、第三代合作伙伴计划(3gpp)长期演进(lte)系统、改进的长期演进(lte-a)系统和正交频分多址(ofdma)系统。

通常,无线多址通信系统可以同时支持针对多个无线节点的通信。各节点经由在前向链路和反向链路上的传输与一个或多个基站进行通信。前向链路(或下行链路)指的是从基站到节点的通信链路,以及反向链路(或上行链路)指的是从节点到基站的通信链路。通信链路可以是经由单输入单输出、多输入单输出或多输入多输出(mimo)系统来建立的。

在现代信息时代,二进制值(例如,一和零)用于表示和传送各种类型的信息,例如视频、音频、统计信息等。不幸的是,在对二进制数据的存储、传输和/或处理过程中,可能无意地引入错误;例如,一可能变成零,反之亦然。

通常,在数据传输的情况下,接收机在存在噪声或失真的情况下观察各接收的比特,以及仅获得对比特的值的指示。在这些情况下,观察的值被解释为“软”比特的来源。软比特指示对比特的值(例如,一或零)的优选估计连同对该估计的可靠性的某个指示。虽然错误的数量可能相对较低,但即使少量的错误或失真水平也可能导致数据是不能用的,或者在传输错误的情况下可能需要对数据的重新传输。

为了提供用以检查错误的机制,以及在一些情况下为了纠正错误,可以对二进制数据进行编码以引入精心地设计的冗余。对数据的单元的编码产生通常称为码字的东西。由于其冗余,码字将通常包括比从其产生码字的数据的输入单元更多的比特。

由编码器向发送的比特流添加冗余比特以创建码字。当接收或处理从发送的码字产生的信号时,如在信号中观察到的码字中包括的冗余信息可以用于识别和/或纠正在接收的信号中的错误或去除来自接收的信号的失真,以便恢复原始的数据单元。这种错误校验和/或纠正可以实现为解码过程的一部分。在不存在错误的情况下,或者在可纠正的错误或失真的情况下,解码可以用于从正在处理的源数据中恢复被编码的原始数据单元。在不可恢复的错误的情况下,解码过程可以产生关于原始数据不能完全地恢复的某个指示。对解码失败的这样的指示可以用于发起对数据的重传。

随着光纤线路增长地使用于数据通信以及数据可以从数据存储设备(例如,磁盘驱动器,磁带等)读取和向数据存储设备存储的速率增加,存在不仅针对对数据存储和传输容量的有效使用的增加的需求,还有针对以高速率对数据进行编码和解码的能力的需求。

虽然编码效率和高数据速率是重要的,但是针对用于在大范围的设备(例如,消费者设备)中使用要实用的编码和/或解码系统,重要的是编码器和/或解码器能够是以合理的成本来实现的。



技术实现要素:

本公开内容的系统、方法和设备均具有若干方面,其中没有单个方面单独地负责其期望的属性。在不限制如通过所附权利要求所表达的本公开内容的范围的情况下,现在将简要地论述一些特征。在考虑该论述之后,特别是在阅读标题为“具体实施方式”的章节之后,本领域技术人员将理解本公开内容的特征如何提供包括在无线网络中在接入点与站之间的改进的通信的优点。

通信系统通常需要以若干不同的速率来操作。保持实现方式尽可能简单以及为以不同的速率来编码和解码做准备的一个方式是使用可调整的低密度奇偶校验(ldpc)码。特别地,其可以通过对较低速率的码进行打孔来生成较高速率的ldpc码。

这些多址技术已被各种电信标准采用,以提供使得不同的无线设备能够在市区的、国家的、地区的甚至全球级进行通信的通用协议。新兴电信标准的示例是新无线电(nr)。nr是由第三代合作伙伴计划(3gpp)发布的lte移动标准(例如,5g无线电接入)的增强的集合。nr被设计为通过提高频谱效率、降低成本、改善服务、利用新频谱来更好地支持移动宽带互联网接入,以及与使用在下行链路(dl)和在上行链路(ul)上具有循环前缀(cp)的ofdma的其它开放标准更好地整合,以及支持波束成形、多输入多输出(mimo)天线技术和载波聚合。

随着对移动宽带接入的需求持续增加,存在针对在nr技术中的进一步的改进的需求。优选地,这些改进应该可应用于其它多址技术和采用这些技术的电信标准。针对改进的一个领域是可应用于nr的编码/解码的领域。例如,用于针对nr的高性能ldpc码的技术是合意的。

本公开内容的某些方面通常涉及用于例如通过使用调整后的最小和(adjms)算法用于低密度奇偶校验(ldpc)码的有效的、高性能解码的技术,其涉及对更新函数进行近似以及确定传出对数似然比(llr)的幅值,如在下文中更详细地描述的。根据某些方面,类似的技术考虑到针对用于解码turbo码和ldpc码两者的统一的解码器。

本公开内容的某些方面提供了用于无线通信的方法。该方法通常包括在无线信道上接收码字;在用于对码字进行解码的解码器的处理节点处接收与码字相关联的第一传入对数似然比(llr)和第二传入llr;至少部分地基于第一传入llr的幅值和第二传入llr的幅值,来对处理节点函数进行近似以及计算处理节点函数的输出;以及至少部分地基于处理节点函数的输出来对码字进行解码。

本公开内容的某些方面提供了用于无线通信的装置。该装置通常包括至少一个处理器,其被配置为在无线信道上接收码字;在用于对码字进行解码的解码器的处理节点处接收与码字相关联的第一传入对数似然比(llr)和第二传入llr;至少部分地基于第一传入llr的幅值和第二传入llr的幅值,来对处理节点函数进行近似以及计算处理节点函数的输出;以及至少部分地基于处理节点函数的输出来对码字进行解码。装置通常还包括与至少一个处理器耦合的存储器。

本公开内容的某些方面提供了用于无线通信的装置。该装置通常包括用于在无线信道上接收码字的单元;用于在用于对码字进行解码的解码器的处理节点处接收与码字相关联的第一传入对数似然比(llr)和第二传入llr的单元;用于至少部分地基于第一传入llr的幅值和第二传入llr的幅值,来对处理节点函数进行近似的单元以及计算处理节点函数的输出的单元;以及用于至少部分地基于处理节点函数的输出来对码字进行解码的单元。

本公开内容的某些方面提供了用于无线通信的非暂时性计算机可读介质。非暂时性计算机可读介质通常包括指令,所述指令当由至少一个处理器执行时配置至少一个处理器以在无线信道上接收码字;在用于对码字进行解码的解码器的处理节点处接收与码字相关联的第一传入对数似然比(llr)和第二传入llr;至少部分地基于第一传入llr的幅值和第二传入llr的幅值,来对处理节点函数进行近似以及计算处理节点函数的输出;以及至少部分地基于处理节点函数的输出来对码字进行解码。

结合附图回顾本发明的特定的、示例性实施例的以下描述时,本发明内容的其它方面、特征和实施例对于本领域普通技术人员而言将变得显而易见。虽然本发明的特征可以是相对于下文的某些实施例和附图来论述的,但是本发明的全部实施例可以包括在本文中论述的有利特征的一个或多个有利特征。换句话说,虽然可以将一个或多个实施例论述为具有某些有利特征,但是这样的特征中的一个或多个特征还可以是根据在本文中论述的发明的各种实施例来使用的。以类似的方式,虽然示例性实施例可以在下文中论述为设备、系统或方法实施例,但是应该理解的是,这样的示例性实施例可以是以各种设备、系统和方法来实现的。

附图说明

可以参照各方面来得到在上文中简要概述的更具体的描述,以便在其中可以详细地理解本公开内容的上述特征的方式,其中的一些方面是在附图中示出的。然而,附图仅示出了本公开内容的某些典型方面,以及由于描述可以承认其它同等有效的方面,所以不被认为是对其范围的限制。

图1根据本公开内容的某些方面示出了示例多址无线通信系统。

图2根据本公开内容的某些方面示出了基站和无线节点的方块图。

图3根据本公开内容的某些方面示出了可以在无线设备中利用的各种组件。

图4-4a根据本公开内容的某些方面示出了示例性低密度奇偶校验(ldpc)码的图形表示和矩阵表示。

图5根据本公开内容的某些方面用图形示出了对图4a的ldpc码的提升。

图6是针对准循环802.11ldpc码的矩阵的整体表示。

图7是根据本公开内容的某些方面示出打孔编码器的简化的方块图。

图8是根据本公开内容的某些方面示出解码器的简化的方块图。

图9根据本公开内容的某些方面示出了用于无线通信的示例操作。

为了促进理解,在可能的情况下,已经使用完全相同的参考编号来指定对附图而言共有的完全相同的元素。可以预期的是,在无特定的记载的情况下,在一个实施例中公开的元素可以有利地利用在其它实施例上。

具体实施方式

本公开内容的各方面提供了针对5g(新无线电接入技术)用于编码和解码的装置、方法、处理系统和计算机程序产品。5g可以指的是被配置为根据新的空中接口或固定的传输层来操作的无线电。5g可以包括以宽带宽(例如,超过80mhz)为目标的增强型移动宽带(embb),以高载波频率(例如,60ghz)为目标的毫米波(mmw),以非后向兼容mtc技术为目标的大规模mtc(mmtc)以及以超可靠低延时通信(urllc)为目标的关键任务。针对这些通用主题,考虑了不同的技术,诸如编码,低密度奇偶校验(ldpc)和极化。5g小区可以指的是根据新的空中接口或固定的传输层来操作的小区。5g节点b可以对应于一个或多个发送接收点(trp)。

turbo码和ldpc码两者通常是使用消息传递迭代解码器来解码的。bcjr解码器以及和积(sp)解码器是强大的低复杂度解码器。然而,针对turbo码的bcjr解码算法和针对ldpc码的sp解码算法需要某些相对复杂的函数的实现方式,以及因此在实践中是不容易实现的。这些解码器的许多近似是基于对这些操作的简单化的。bcjr/sp操作的传统近似导致大量的复杂性节省,但是代价是完全处于较低的速率的降低的性能。在本文中给出的技术解决了对bcjr/sp解码算法设计新的近似的挑战,其保留了传统可实现的近似的复杂性节省,但是针对非常广泛的操作点获得了非常接近bcjr/sp解码算法的性能。

例如,本公开内容的某些方面通常涉及用于例如通过使用调整后的最小和(adjms)算法,利用低密度奇偶校验(ldpc)码来进行高效、高性能的编码以及解码的技术。根据各方面,如在下文中更详细地描述的,在本文中给出的技术涉及对更新函数u进行近似,以及对传出对数似然比(llr)的幅值进行确定。根据某些方面,类似的技术还可以用于对turbo码进行解码。在下文中论述的方面和特征可以有时集中于解码技术,以及本领域技术人员将理解这些技术还可以应用于和实现于编码实现方式和场景。

在下文中参考附图更充分地描述了本公开内容的各个方面。然而,本公开内容可以是以许多不同的形式体现的,以及不应该被解释为限于遍及本公开内容给出的任何特定结构或功能。而是,提供这些方面以使本公开内容将是全面的和完整的,以及将把本公开内容的范围充分地传达给本领域技术人员。基于在本文中的教导,本领域技术人员应该理解,无论是独立于本公开内容的任何其它方面来实现的还是与本公开内容的任何其它方面组合来实现的,本公开内容的范围旨在覆盖在本文中公开的公开内容的任何方面。例如,使用在本文中阐述的任何数量的方面可以实现装置或者可以实践方法。另外,本公开内容的范围旨在覆盖这样的装置或方法,其是使用除了在本文中阐述的本公开内容的各个方面之外或不同于在本文中阐述的本公开内容的各个方面的其它结构、功能,或结构和功能来实践的。应当理解的是,在本文中公开的公开内容的任何方面可以是通过权利要求的一个或多个元素来体现的。在本文中使用的“示例性的”一词意指“用作示例,实例或说明”。在本文中描述为“示例性的”的任何方面不必要被解释为优选于其它方面或比其它方面有优势。

虽然各方面和实施例是在本申请中通过对一些示例的说明进行描述的,但是本领域技术人员将理解的是,额外的实现方式和用例可以发生在许多不同的布置和场景中。在本文中描述的创新可以是跨越许多不同的平台类型、设备、系统、形状、尺寸、包装布置来实现的。例如,实施例和/或用途可以经由集成芯片实施例和其它基于非模块组件的设备(例如,端用户设备、交通工具、通信设备、计算设备、工业设备、零售/购买设备、医疗设备、启用ai的设备等)来发生。虽然一些示例可以是或可以不是明确地针对用例或应用的,但是所描述的创新的各种各样的适用性可以发生。实现方式可以是频谱范围从芯片级或模块化组件到非模块化、非芯片级实现方式,以及进一步到聚合的、分布式的、或oem设备或将所描述的创新的一个或多个方面进行合并的系统。在一些实际设置中,将所描述的方面和特征进行合并的设备还可以必要地包括针对要求保护的和描述的实施例的实现方式和实践的额外的组件和特征。例如,对无线信号的发送和接收必要地包括用于模拟和数字目的的多个组件(例如,包括天线、rf链、功率放大器、调制器、缓冲器、处理器、交织器、加法器/求和器等等的硬件组件)。意图是在本文中描述的创新可以是在各种各样的设备、芯片级组件、系统、分布式布置、端用户设备等中进行实践的。

尽管在本文中描述了特定的方面,但是这些方面的许多变体和置换也落在本公开内容的范围内。尽管提及了优选方面的一些利益和优点,但是本公开内容的范围不旨在限于特定的利益、用途或目的。而是,本公开内容的各方面旨在广泛地可应用于不同的无线技术、系统配置、网络和传输协议,其中的一些是在附图中和在下文优选的方面的描述中通过示例的方式示出的。详细的描述和附图仅是对本公开内容的说明而不是限制,本公开内容的范围是由所附权利要求以及其等效物来限定的。

在本文中描述的技术可以用于各种无线通信网络,诸如长期演进(lte)、码分多址(cdma)网络、时分多址(tdma)网络、频分多址(fdma)网络、正交fdma(ofdma)网络、单载波fdma(sc-fdma)网络等。术语“网络”和“系统”通常可以相互交换地使用。cdma网络可以实现诸如通用陆地无线接入(utra)、cdma2000等的无线电技术。utra包括宽带-cdma(w-cdma)和低码片速率(lcr)。cdma2000覆盖is-2000、is-95和is-856标准。tdma网络可以实现诸如全球移动通信系统(gsm)的无线电技术。ofdma网络可以实现诸如nr(例如,5gra)、演进的utra(e-utra)、ieee802.11、ieee802.16、ieee802.20、闪速ofdm等的无线电技术。utra、e-utra和gsm是通用移动电信系统(umts)的一部分。长期演进(lte)是使用e-utra的umts的版本。在来自名为“第三代合作伙伴计划”(3gpp)的组织的文档中描述了utra、e-utra、gsm、umts和lte。在来自名为“第三代合作伙伴计划2”(3gpp2)的组织的文档中描述了cdma2000。nr是在与5g技术论坛(5gtf)协力的发展之下的新兴无线通信技术。这些通信网络是仅作为网络的示例来列出的,在其中可以应用在本公开内容中描述的技术;然而,本公开内容不限于在上文中描述的通信网络。

单载波频分多址(sc-fdma)是在发射机侧利用单载波调制和在接收机侧利用频域均衡的传输技术。sc-fdma具有与ofdma系统的那些类似的性能和本质上相同的整体复杂性。然而,sc-fdma信号由于其固有的单载波结构而具有较低的峰均功率比(papr)。sc-fdma引起了极大的关注,特别是在上行链路(ul)通信中,在其中较低的papr在发射功率效率方面极大地有益于无线节点。

接入点(“ap”)可以包括,实现为或称为节点b、无线网络控制器(“rnc”)、演进型节点b(enodeb(enb))、节点b(例如,5g节点b)、发送接收点(trp)、基站控制器(“bsc”)、基站收发站(“bts”)、基站(“bs”)、收发机功能(“tf”)、无线路由器、无线收发机、基本服务集(“bss”)、扩展服务集(“ess”)、无线基站(“rbs”)或某种其它术语。

接入终端(“at”)可以包括,实现为或被称为接入终端、订户站、订户单元、移动站、远程站、远程终端、用户终端、用户代理、用户装置、用户设备(ue)、用户站、无线节点或某种其它术语。在一些实现方式中,接入终端可以包括移动电话、智能电话、无绳电话、会话发起协议(“sip”)电话、无线本地环路(“wll”)站、个人数字助理(“pda”)、平板电脑、上网笔记本、智能笔记本、超级笔记本、具有无线连接能力的手持设备、站(“sta”)、或连接到无线调制解调器的某种其它合适的处理设备。相应地,在本文中教导的一个或多个方面可以合并到电话(例如,蜂窝电话、智能电话)、计算机(例如,台式机)、便携式通信设备、便携式计算设备(例如,笔记本电脑、个人数据助理、平板电脑、上网笔记本、智能笔记本、超级笔记本)、医疗设备或装备、生物识别传感器/设备、娱乐设备(例如,音乐或视频设备,或卫星无线单元)、车辆组件或传感器、智能仪表/传感器、工业制造装备、全球定位系统设备、或被配置为经由无线或有线介质进行通信的任何其它合适的设备。在一些方面中,节点是无线节点。例如,无线节点可以经由有线通信链路或无线通信链路提供针对网络(例如,诸如互联网或蜂窝网络的广域网)的连接或到网络的连接。

虽然各方面可以是在本文中使用通常与3g和/或4g无线技术相关联的术语进行描述的,但是本公开内容的各方面可以应用于其它基于世代的通信系统,诸如包括nr技术的5g以及以后的系统。

示例无线通信系统

图1示出了在其中可以执行本公开内容的各方面的示例通信网络100。例如,诸如无线节点116或节点b102的发送设备(例如,其可以是发送接收点(trp)或5g节点b)可以基于低密度奇偶校验(ldpc)码来对信息比特集合进行编码以产生码字,ldpc码是通过具有第一数量的变量节点和第二数量的校验节点的矩阵来定义的。诸如无线节点116或节点b102(例如,其可以是发送接收点(trp)或5g节点b)的接收设备可以接收码字,以及对码字执行解码以恢复信息比特的原始集合。在一些情况下,解码可以是根据在下文中更详细地描述的调整后的最小和算法来执行的。

节点b102(例如,trp或5g节点b)可以包括多个天线组,一组包括天线104和天线106,另一组包括天线108和天线110,以及附加组包括天线112和天线114。在图1中,针对各天线组仅示出了两个天线,然而可以针对各天线组使用更多或更少的天线。无线节点116可以与天线112和天线114相通信,其中天线112和天线114在前向链路120上向无线节点116发送信息,以及在反向链路118上从无线节点116接收信息。无线节点122可以与天线106和108相通信,其中天线106和108在前向链路126上向无线节点122发送信息,以及在反向链路124上从无线节点122接收信息。节点b102还可以与其它无线节点相通信,所述其它无线节点可以是例如万物互联(ioe)设备。ioe设备136可以与节点b102的一个或多个其它天线相通信,其中天线在前向链路140上向ioe设备136发送信息,以及在反向链路138上从ioe设备136接收信息。ioe设备142可以与节点b102的一个或多个其它天线相通信,其中天线在前向链路146上向ioe设备142发送信息,以及在反向链路144上从ioe设备142接收信息。在频分双工(fdd)系统中,通信链路118、120、124、126、138、140、144和146可以使用不同的频率用于通信。例如,前向链路120可以使用与反向链路118所使用的频率不同的频率,以及前向链路140可以使用与反向链路138所使用的频率不同的频率。

各组天线和/或在其中其被设计用于通信的区域通常称为节点b的扇区。在本公开内容的一个方面中,各天线组可以被设计为向在由节点b102覆盖的区域的扇区中的无线节点进行传送。

无线节点130可以与节点b102相通信,其中来自节点b102的天线在前向链路132上向无线节点130发送信息,以及在反向链路134上从无线节点130接收信息。

在前向链路120和126上的通信中,bs102的发射天线可以利用波束成形,以便改进针对不同无线节点116、122、136和142的前向链路的信噪比。另外,使用波束成形以通过其覆盖向随机散布的无线节点进行发送的节点b,对在邻近小区中的无线节点造成的干扰要小于节点b通过单个天线向其全部无线节点进行发送的造成的干扰。

虽然在本文中描述的示例的各方面可以是与lte技术相关联的,但是在诸如nr的其它无线通信系统的情况下,本公开内容的各方面也可以是可适用。nr可以在上行链路和下行链路上利用具有cp的ofdm,以及包括针对使用tdd的半双工操作的支持。可以支持100mhz的单个分量载波带宽。nr资源块可以横跨在0.1毫秒的持续时间内具有75khz的子载波带宽的12个子载波。各无线帧可以包括具有长度为10毫秒的50个子帧。因此,各子帧可以具有0.2毫秒的长度。各子帧可以指示用于数据传输的链路方向(即,dl或ul),以及针对各子帧的链路方向可以是动态地切换的。各子帧可以包括dl/ul数据以及dl/ul控制数据。可以支持波束成形,以及波束方向可以是动态地配置的。还可以支持具有预编码的mimo传输。在dl中的mimo配置可以支持具有多层dl传输的多达8个发射天线,其中多层dl传输每ue多达8个流和每ue多达2个流。可以支持具有每ue多达2个流的多层传输。对多个小区的聚合可以是利用多达8个服务小区来支持的。或者,nr可以支持除了基于ofdm之外的不同的空中接口。nr网络可以包括诸如中央单元或分布式单元的实体。

图2示出了在多输入多输出(mimo)系统中的发射机系统210(例如,还称为基站)和接收机系统250(例如,还称为无线节点)的一方面的方块图。系统210和接收机系统250中的每一者具有用以既进行发送又进行接收的能力。发射机系统210或接收机系统250是进行发送,进行接收还是同时进行发送和接收取决于应用。在发射机系统210处,针对多个数据流的业务数据是从数据源212提供给发送(tx)数据处理器214的。

在本公开内容的一个方面中,各数据流可以是在各自的发射天线上进行发送的。tx数据处理器214基于针对各数据流选择的特定编码方案来对针对该数据流的业务数据进行格式化、编码和交织,以提供经编码的数据。根据在本文中描述的各方面,编码方案可以使用ldpc码和/或turbo码。

可以使用ofdm技术将针对各数据流的经编码的数据与导频数据进行复用。导频数据是典型的以已知方式处理的已知数据模式,以及可以在接收机系统处使用来估计信道响应。然后,针对各数据流的复用的导频和经编码的数据是基于针对该数据流选择的特定调制方案(例如,bpsk、qspk、m-psk或m-qam)来进行调制(例如,符号映射)的,以提供调制符号。针对各数据流的数据速率、编码和调制可以是通过由处理器230执行的指令来确定的。存储器232可以存储用于发射机系统210的数据和软件/固件。

然后将针对全部数据流的调制符号提供给txmimo处理器220,所述txmimo处理器220可以进一步处理调制符号(例如,用于ofdm)。然后,txmimo处理器220向nt个发射机(tmtr)222a至222t提供nt个调制符号流。在本公开内容的某些方面,txmimo处理器220将波束成形权重应用于数据流的符号以及应用于从其对符号进行发送的天线。

各发射机222接收和处理各自的符号流以提供一个或多个模拟信号,以及进一步调节(例如,放大、滤波和上变频)模拟信号以提供适用于在mimo信道上的传输的经调制的信号。然后,来自发射机222a至222t的nt个经调制的信号是分别从nt个天线224a至224t发送的。

在接收机系统250处,发送的经调制的信号可以是由nr个天线252a至252r接收的,以及来自各天线252的接收的信号可以提供给各自的接收机(rcvr)254a至254r。各接收机254可以调节(例如,滤波、放大和下变频)各自的接收的信号,对调节的信号进行数字化以提供样本,以及进一步处理样本以提供相应的“接收的”符号流。

然后,rx数据处理器260基于特定的接收机处理技术来接收和处理来自nr个接收机254的nr个接收的符号流,以提供nt个“检测到的”符号流。然后,rx数据处理器260对各检测到的符号流进行解调、解交织和解码,以恢复针对数据流的业务数据。根据某些方面,rx数据处理器260可以例如通过使用在下文中更详细地描述的调整后的最小和算法,使用在本文中描述的技术来对检测到的符号执行解码。在一些情况下,由rx数据处理器260进行的处理可以是与由在发射机系统210处的txmimo处理器220和tx数据处理器214执行的处理互补的。

处理器270周期性地确定使用哪个预编码矩阵。处理器270形成包括矩阵索引部分和秩值部分的反向链路消息。存储器272可以存储用于接收器系统250的数据和软件/固件。反向链路消息可以包括关于通信链路和/或接收的数据流的各种类型的信息。然后,反向链路消息由tx数据处理器238进行处理,由调制器280进行调制,由发射机254a至254r进行调节,以及发送回发射机系统210,其中所述tx数据处理器238还从数据源236接收针对多个数据流的业务数据。

在发射机系统210处,来自接收机系统250的经调制的信号由天线224进行接收,由接收机222进行调节,由解调器240进行解调,以及由rx数据处理器242进行处理,以提取由接收机系统250发送的保留链路消息。然后,处理器230确定哪个预编码矩阵要用来确定波束成形权重,以及然后处理提取的消息。

无线节点250的处理器270、rx数据处理器260、tx数据处理器238或其它处理器/元件中的任何一者或其组合,和/或接入点210的处理器230,txmimo处理器220、tx数据处理器中的214、rx数据处理器242或其它处理器/元件中的任何一者或其组合,可以被配置为根据在下文中论述的本公开内容的某些方面来执行针对无连接接入的过程。在一方面中,处理器270、rx数据处理器260和tx数据处理器238中的至少一者可以被配置为执行在存储器272中存储的用于执行针对在本文中描述的无连接接入的随机接入信道(rach)过程的算法。在另一方面中,处理器230、txmimo处理器220、tx数据处理器214和rx数据处理器242中的至少一者可以被配置为执行在存储器232中存储的用于执行在本文中描述的无连接接入的rach过程的算法。

图3示出了可以在无线设备302中利用的各种组件,所述无线设备302可以是在图1中示出的通信网络100中采用的。无线设备302是可以被配置为实现在本文中描述的各种方法的设备的示例。无线设备302可以是节点b102(例如,trp)或无线节点(例如,无线节点116、122、130或iot设备136或142)中的任何无线节点。例如,无线设备302可以被配置为执行在图9中描述的操作900,以及在本文中描述的其它操作。

无线设备302可以包括控制无线设备302的操作的处理器304。处理器304还可以称为中央处理单元(cpu)。可以包括只读存储器(rom)和随机存取存储器(ram)两者的存储器306向处理器304提供指令和数据。存储器306的一部分还可以包括非易失性随机存取存储器(nvram)。处理器304基于在存储器306内存储的程序指令来典型地执行逻辑和算术运算。在存储器306中的指令可以是可执行的以实现在本文中描述的方法,例如,以允许ue在无连接接入期间有效地发送数据。处理器304的一些非限制性示例可以包括枭龙处理器,专用集成电路(asic),可编程逻辑等。

无线设备302还可以包括壳体308,所述壳体308可以包括发射机310和接收机312以允许对在无线设备302与远程位置之间的数据的发送和接收。发射机310和接收机312可以组合成收发机314。单个或多个发射天线316可以附着到壳体308以及电力地耦合到收发机314。无线设备302还可以包括(未示出)多个发射机、多个接收机和多个收发机。无线设备302还可以包括无线电池充电设备。

无线设备302还可以包括信号检测器318,所述信号检测器318可以用于试图检测和量化由收发机314接收的信号的电平。信号检测器318可以检测如总能量、每符号每子载波能量、功率谱密度和其它信号的这样的信号。无线设备302还可以包括用于在处理信号时使用的数字信号处理器(dsp)320。

此外,无线设备还可以包括用于在对用于传输的信号进行编码时使用的编码器322和用于在对接收的信号进行解码时使用的解码器324。根据某些方面,解码器324可以根据在本文中给出的某些方面来执行解码(例如,通过实现在图9中所示的操作900)。

无线设备302的各种组件可以通过总线系统326耦合在一起,所述总线系统326可以包括除了数据总线之外的电源总线、控制信号总线和状态信号总线。根据在下文中论述的本公开内容的各方面,处理器304可以被配置为存取在存储器306中存储的指令以执行无连接接入。

示例纠错编码

许多通信系统使用纠错码。具体地说,纠错码通过在数据流中引入冗余来针对在这些系统中信息传递的固有不可靠性进行补偿。低密度奇偶校验(ldpc)码是使用迭代编码系统的特定类型的纠错码。特别是,加拉格尔(gallager)码是常规的ldpc码的早期示例。ldpc码是线性块码,在其中其奇偶校验矩阵h的大多数元素被设置为“0”。

ldpc码可以是通过二分图(通常称为“tanner图”)来表示的,其中变量节点的集合对应于码字的比特(例如,信息比特或系统的比特),以及校验节点的集合对应于定义代码的奇偶校验约束的集合。在图中的边将变量节点连接到校验节点。因此,图的节点被分成两个独特的集合,变量节点和校验节点,利用边连接两个不同类型的节点。

通过复制二分基础图(g)来创建提升图,所述基础图还可以称为次数是z的原模图。如果变量节点和校验节点是通过在图中的“边(edge)”(即连接变量节点和校验节点的线)连接的,则它们可以视为“邻居”。另外,针对二分基础图(g)的各边(e),将置换应用于边(e)的z个副本以互相连接g的z个副本。如果且仅如果对于各校验节点来说,与全部相邻变量节点相关联的比特总和对二取模为零(即,其包括偶数个1),则具有与变量节点序列一对一关联的比特序列是有效的码字。如果使用的置换是循环的,则作为结果的ldpc码可以是准循环(qc)的。

图4-4a根据本公开内容的某些方面示出了的示例性ldpc码的图形和矩阵表示。例如,图4示出了用于表示示例性ldpc码的二分图400。二分图400包括连接到(通过正方形表示的)4个校验节点420的(通过圆形表示的)5个变量节点410的集合。在图400中的边将变量节点410连接到校验节点420(通过将变量节点410连接到校验节点420的线表示的)。该图包括通过|e|=12条边连接的|v|=5个变量节点和|c|=4个校验节点。

二分图可以是通过简化的相邻矩阵来表示的,其还可以称为奇偶校验矩阵。图4a示出了二分图400的矩阵表示400a。矩阵表示400a包括奇偶校验矩阵h和码字向量x,其中x1-x5表示码字x的比特。奇偶校验矩阵h用于确定接收的信号是否被正常解码。奇偶校验矩阵h具有对应于j个校验节点的c行和对应于i个变量节点(即,解调的符号)的v列,其中行表示等式,列表示码字的比特。在图4a中,矩阵h具有4行和5列,分别对应于4个校验节点和5个变量节点。如果第j个校验节点通过边连接到第i个变量节点,即,两个节点是邻居,则在奇偶校验矩阵h的第i列中和第j行中存在“1”。也就是说,第i行和第j列的交叉点包含在其中边连接相应顶点的“1”和在其中没有边的“0”。如果且仅如果hx=0(例如,针对各约束节点,如果与约束(经由其与变量节点的关联)相邻的比特总和对二取模为零,即,其包括偶数个一),则码字向量x表示有效的码字。因此,如果码字是正确地接收的,则hx=0(对2取模)。当经编码的接收的信号和奇偶校验矩阵h的乘积变为“0”时,这表示没有错误发生。奇偶校验矩阵是c行乘v列的二进制矩阵。行代表等式,以及列代表在码字中的数字。

解调的符号或变量节点的数量是ldpc码长度。在行(列)中的非零元素的数量被定义为行(列)权重dc(dv)。

节点的度指的是连接到该节点的边的数量。该特征是在图4a中所示的h矩阵中示出的,其中对于变量节点410而言易发生的边的数量等于在相应列中的1的数量,以及被称为变量节点的度d(v)。类似地,与校验节点420连接的边的数量等于在相应行中的一的数量,以及被称为校验节点度d(c)。

正则图或代码是针对其而言全部变量节点具有相同的度j,以及全部约束节点具有相同的度k的图或代码。在这种情况下,我们说代码是(j,k)正则码。另一方面,非正则码具有不同的度的约束节点和/或变量节点。例如,一些变量节点可以是度4的,其它变量节点可以是度3的,以及其它变量节点仍可以是度2的。

“提升(lifting)”使得ldpc码能够是使用并行编码和/或并行解码实现方式来实现的,同时还降低了通常与大型ldpc码相关联的复杂度。提升帮助实现对ldpc解码器的有效并行化,同时仍具有相对紧凑的描述。更具体地,提升是用于从较小的基础代码的多个副本中生成相对大型的ldpc码的技术。例如,提升的ldpc码可以是通过以下方式来生成的:产生基础图(例如,原模图)的z个并行副本,以及然后通过对基础图的各副本的边束的置换来对并行副本进行互相连接。基础图定义代码的(宏)结构,以及包括多个(k个)信息比特列和多个(n个)代码比特列。基础图提升多个(z个)导致在kz个最终块长度。

因此,可以通过“复制和置换”操作来获得较大的图,其中制作和连接基础图的多个副本以形成单个提升的图。针对多个副本,置换和连接单个基础图的副本集合的相似边,以形成比基础图大z倍的连通图。

图5用图形示出了制作图4的图的三个副本的效果。可以通过对副本之中的相似边进行置换来互相连接三个副本。如果置换被限制为循环置换,则作为结果的图对应于具有提升z=3的准循环ldpc。制作三个副本的原始图在本文中称为基础图。为了获得不同大小的衍生图,我们可以将“复制和置换”操作应用于基础图。

通过利用zxz矩阵替换在基础奇偶校验矩阵中的各条目,可以根据基础图的奇偶校验矩阵来构造提升图的相应奇偶校验矩阵。0条目(没有基础边的那些条目)是利用0矩阵来替换的,以及1条目(指示基础边)是利用zxz置换矩阵来替换的。在循环的提升的情况下,置换是循环的置换。

循环地提升的ldpc码还可以被解释为在取模xz+1的二进制多项式的环上的代码。在该解释中,二进制多项式(x)=b0+b1x+b2x2+...+bz-1xz-1可以是与在基础图中的各变量节点相关联的。二进制向量(b0,b1,b2,...,bz-1)对应于关联到在提升图中的z个相应的变量节点的比特,即,单个基础变量节点的z个副本。通过将相应的二进制多项式乘以xk来实现通过二进制向量的k进行的循环置换,其中乘法取模xz+1。在基础图中的度d奇偶校验可以被解释为在相邻二进制多项式b1(x),...,bd(x)上的线性约束,所述多项式写为其中值k1,...,kd是关联到相应的边的循环的提升值。

该作为结果的等式等效于在循环地提升的tanner图中与在基础图中的单个相关联的奇偶校验相对应的z个奇偶校验。因此,可以使用针对基础图的矩阵来表示针对提升图的奇偶校验矩阵,在其中1条目是利用形式xk的单项式来替换的,以及0条目被提升为0,但是现在0被解释为二进制多项式取模xz+1为0。这样的矩阵可以通过给出值k代替xk来写入。在这种情况下,0多项式有时表示为-1,以及有时表示为另一个字符,以便将其与x0区分。

典型地,奇偶校验矩阵的方子矩阵表示代码的奇偶比特。补充的列对应于信息比特,所述信息比特在编码时被设置为等于要编码的信息比特。编码可以是通过求解在前文提及的方子矩阵中的变量来实现的,以便满足奇偶校验等式。奇偶校验矩阵h可以被划分为两个部分m和n,其中m是方形部分。因此,编码减少以求解mc=s=nd,其中c和d包括x。在准循环的代码或循环地提升的代码的情况下,在上文中的代数可以被解释为在取模xz+1的二进制多项式的环上。在是准循环的802.11ldpc码的情况下,编码子矩阵m具有如在图6中示出的整数表示。

可以对接收的ldpc码字进行解码以产生原始码字的重建版本。在不存在错误的情况下,或者在可纠正错误的情况下,可以使用解码来恢复被编码的原始数据单元。解码器可以使用冗余比特来检测和纠正比特错误。ldpc解码器通常通过以下各项来进行操作:迭代地执行本地计算,以及通过沿着边在二分图400内交换消息来传递那些结果,以及通过基于传入消息在节点处执行计算来更新这些消息。这些步骤通常可以重复若干次,以及可以称为消息传递步骤。例如,在图400中的各变量节点410最初可以被提供具有“软比特”(例如,用于表示码字的接收比特),所述软比特指示对如通过来自通信信道的观察所确定的相关联的比特值的估计。使用这些软比特,ldpc解码器可以通过从存储器迭代地读取更新的消息或其某部分以及将更新的消息或其某部分写入回存储器来更新消息。更新操作典型地是基于相应的ldpc码的奇偶校验约束的。在针对提升的ldpc码的实现方式中,在相似边上的消息通常是并行处理的。

被设计用于高速应用的ldpc码通常使用具有大型提升因子和相对小型的基础图的准循环结构,以支持在编码和解码操作中的高并行性。具有较高码率(例如,消息长度与码字长度的比率)的ldpc码倾向于具有相对较少的奇偶校验。如果基础奇偶校验的数量小于变量节点的度(例如,连接到变量节点的边的数量),则在基础图中,该变量节点通过两个或更多个边(例如,变量节点可以具有“双边”)来连接到基础奇偶校验中的至少一个基础奇偶校验。或者,如果基础奇偶校验的数量小于变量节点的度(例如,连接到变量节点的边的数量),则在基础图中,该变量节点通过两个或更多个边来连接到基础奇偶校验中的至少一个基础奇偶校验。出于并行的硬件实现方式的目的,具有通过两个或更多个边连接的基础变量节点和基本校验节点通常是不期望的。例如,这样的双边可能导致向相同存储器位置的多个并发读取和写入操作,这继而可能产生数据相干性问题。在单个并行奇偶校验更新期间,在基础ldpc码中的双边可以两次触发相同的软比特值存储器位置的并行读取。因此,典型地需要附加电路来将写回存储器的软比特值进行组合,以便适当地合并两者的更新。然而,消除在ldpc码中的双边有助于避免该额外的复杂性。

基于循环提升的ldpc码设计可以被解释为在多项式取模的环上的代码可以是取模xz+1的二进制多项式,其中z是提升大小(例如,在准循环代码中的循环的大小)。因此,对这样的代码进行编码通常可以被解释为在该环中的代数运算。

在标准的非正则ldpc码全体(度分布)的定义中,在tanner图表示中的全部的边可以是统计地可互相交换的。换句话说,存在边的单个统计等效等级。例如,提升的ldpc码的更详细的论述内容可以在由tomrichardson和ruedigerurbanke于2008年3月17日出版的标题为“moderncodingtheory(现代编码理论)”的书中找到。对于多边ldpc码,多个等效等级的边是可能的。虽然在标准的非正则ldpc全体定义中,在图中的节点(变量和约束两者)是通过其的度(即,其连接到的边的数量)来指定的,但是在多边类型设置中,边度是向量;其指定独立地连接到来自各边等效等级(类型)的节点的边的数量。多边类型全体包括有限数量的边类型。约束节点的度类型是(非负)整数的向量;该向量的第i个条目记录连接到这样的节点的第i个类型的套接字的数量。该向量可以称为边度。变量节点的度类型具有两个部分,尽管其可以被视为(非负)整数的向量。第一部分与接收的分布有关,以及将被称为接收的度,以及第二部分指定边度。边度发挥着与针对约束节点所起作用相同的作用。边是随着其对相同类型的套接字进行配对而被类型化的。套接字必须与相似类型的套接字配对的这个约束,表征多边类型概念。在多边类型描述中,不同的节点类型可以具有不同的接收的分布(例如,相关联的比特可以经过不同的信道)。

图7是根据本公开内容的某些方面示出编码器的简化方块图。图7示出了射频(rf)调制解调器704的一部分,其可以被配置为提供用于无线传输的(例如,使用诸如ldpc,turbo码,极化码等的编码方案)编码的消息。在一示例中,在基站(例如,bs102)(或在反向路径上的ue120)中的编码器706(例如,ldpc编码器或turbo码编码器)接收用于传输的消息702。消息702可以包含指向接收设备的数据和/或编码的语音或其它内容。编码器706使用合适的调制和编码方案(mcs)对消息进行编码,所述mcs典型地是基于由bs102或另一网络实体定义的配置来选择的。然后可以将编码的比特流708(例如,代表编码的消息702)提供给映射器710以产生rf信号716用于通过天线718的传输,所述映射器710生成通过tx链714调制、放大和以其它方式处理的tx符号712的序列。

图8是根据本公开内容的某些方面示出解码器的简化方块图。图8示出了rf调制解调器810的一部分,其可以被配置为对包括编码的消息的无线地发送的信号(例如,使用在本文中给出的技术)进行接收和解码。在各种示例中,接收信号的调制解调器810可以存在于接入终端处,在基站处,或在用于执行所描述的功能的任何其它合适的装置或单元处。天线802向接入终端(例如,ue120)提供rf信号716(即,在图7中产生的rf信号)。rx链806对rf信号716进行处理和解调,以及可以向解映射器812提供一系列的解调的符号808,所述解映射器812在比特流814中产生通常表示为对应于编码的消息的对数似然比(llr)的一系列先验概率。

然后,解码器816可以用于对来自比特流814的m比特信息串进行解码,所述比特流814是已经使用诸如ldpc码和/或turbo码的编码方案进行编码的。解码器816可以包括极化解码器、ldpc解码器、turbo码解码器、维特比解码器、代数解码器、蝶形解码器或另外合适的解码器。在一个示例中,ldpc解码器和/或turbo码解码器采用(诸如和积(sp)解码算法和/或最小和(ms)解码算法的)消息传递算法,来对比特流814进行解码。消息传递算法通过沿着二分图的边在校验节点与变量节点之间传递消息来进行操作。当解码成功时,解码器816可以将比特流814(例如,一系列llr)转换为对应于消息702的消息818。在一些情况下,例如,低密度奇偶校验(ldpc)码和turbo码的解码效率和延时可以通过使用在下文中更详细地描述的调整后的最小和算法来进行改进。在一些情况下,例如,解码器816可以被配置为通过实现如在图9中示出的操作900来对码字进行解码。

示例调整后的最小和解码器

当与和积(sp)解码算法相结合时,ldpc码是用于低复杂性纠错编码的强大系统。ldpc码已经用于诸如802.11n、802.11ad、wimax、atsc等的许多标准,以及是在下一代蜂窝技术(例如,5g)中替代turbo码的强大候选者。turbo码是在3g和4g蜂窝系统以及在其它应用中使用的。例如,如在上文中描述的,turbo码和ldpc码两者是典型地使用消息传递迭代解码器来进行解码的。

另外,如在上文中论述的,ldpc码通常是使用tanner图来定义的:例如,如在图4a中示出的包括变量节点和校验节点的二分图。诸如和积(sp)解码器的消息传递迭代解码器通过沿着图的边在校验节点与变量节点之间传递消息,以及利用在节点处执行的计算来进行操作,以确定传出消息。

由sp解码器在对ldpc码进行解码时使用的sp解码算法是消息传递算法,所述消息传递算法可以是最好地按照对数似然比(llr)来解释的。例如,在ldpc二分图的变量节点侧(例如,变量节点410),可以简单地将传出消息计算为在变量节点410处的传入llr的总和,其典型地包括来自信道观察的llr。在二分图的校验节点侧(例如,校验节点420),传入llr是如下文中来处理的。

现在本公开内容的各方面将更详细地描述用于ldpc码的sp算法。消息(例如,对数似然比(llr))可以是通过针对从校验节点到变量节点的消息的mc2v和通过针对从变量节点到校验节点的消息(例如,llr)的mv2c来表示的。考虑具有d个边的变量节点。对于各边,到校验节点的j=1,...,d个消息可以给出为:

在解码过程的最开始,解码器可以针对每个边来设置mc2v=0。

根据各方面,在校验节点处使用记号和幅值表示来代表消息可能是更方便的。因此,对于消息m,使mp∈gf[2]表示消息的“奇偶(parity)”,即,如果m≥0则mp=0,以及如果m<0则mp=1。另外,使mr∈r+表示m的幅值。因此,我们有在校验节点处,针对mp和mr的更新是分开的。例如,针对度d的校验节点,我们有,

其中,加法是在gf[2](例如,二进制字段)之上的,以及

(例如,其代表sp校验幅值更新)。其中加法是在r+之上的。根据各方面,函数g可以是通过g(x)=ln(coth(x/2))来定义的。

应该注意的是,g可以是其自身的逆,其意指针对全部x∈r+,g-1(x)=g(x)。明显的是,采用该方法来表示置信度传播,主要的计算难点是实现函数g以及其的逆。要注意全部其它操作将是低复杂性的。

根据各方面,ms算法可以被理解为sp算法的较低的复杂度变体。例如,校验sp更新可以被替换为ms校验幅值更新:

根据各方面,ms算法通常可能执行得没有sp算法好。然而,ms算法实现起来更简单以及具有更低的复杂度。例如,其从实现方式角度提供的一个显著优点是来自校验节点的传出消息的集合具有至多两个不同的幅值。实际上可以看出,ms校验幅值更新等式仅给出两个可能的值作为j的函数,在集合中的最小值或第二最小值。

在turbo码的情况下存在相应的解码器,其主要操作(例如,bcjr解码算法)可以是在表示构成卷积码的格构上执行的。在理想条件下,bcjr算法计算最大后验概率(map)以及与在turbo码中的消息比特相关联的外赋llr。map和外赋llr可以是在构成卷积码的不同示例之间交换的,以及bcjr算法可以是以迭代方式进行重复的。

在一些情况下,用于turbo码的bcjr解码算法和用于ldpc码的sp解码算法可能需要某些相对复杂的操作的实现方式。这些解码算法的许多近似可以是基于这些操作的简化形式。例如,在本文中给出的各方面提供了新的、高性能的算法,其改进了针对ldpc码的sp校验节点幅值更新的近似,其具有针对bcjr算法需要的重新使用关键操作的额外优点。因此,除了针对ldpc解码器提供更好的性能之外,在本文中提出的算法指示了开发支持turbo码和具有高性能的ldpc码两者的统一的解码器的有效方法。

例如,让我们再次集中于针对在sp解码算法的ldpc码的校验节点幅值更新。为了简化记号,使表示为lj以及表示为lj。如果我们定义两个幅角(argument)函数u(a,b),如则校验节点幅值更新可以以嵌套的方式定义为:

li=u(ld,...,u(li+1,u(li-1,...,u(l3,u(l1,l2)))))

该嵌套的校验节点幅值更新与记号更新一起定义在校验节点侧的完整sp解码器操作。然而,即使操作在数学上呈现得简单,但因为其涉及通过在上文的u(a,b)给出的非线性算子,其在sp解码器的硬件实现方式中呈现出显著的挑战。

在turbo码的情况下存在与u相关的函数,其作为采用形式f(a,b)=ln(ea+eb)的bcjr算法的一部分,需要对针对在格构中的状态的后验概率执行更新操作。对于turbo码,存在近似和简化,其对应于在ldpc情况下的ms算法,在其中f(a,b)被替换为max(a,b)。将该操作代入bcjr到作为结果的turbo解码器称为最大对数映射解码器。

针对ldpc校验节点更新,让我们将集合称为传入llrmag,以及将集合称为传出llrmag。如在上文中提及的,跟随ms解码器的定义,在ms解码器中的传出llrmag仅采用至多两个不同的值。一个值是全部的传入llrmag的最小值,以及另一个是第二最小的传入llrmag(在下文中称为“第二最小值”)。根据某些方面,第二最小值是在具有传入最小llrmag的边上的传出llrmag,以及全部其它传出消息的llrmag是最小传入llrmag。根据各方面,这使得以非常紧凑的方式(ms解码器的主要优点)存储来自校验节点的传出消息的集合d成为可能。除了传出记号之外,与存储如针对sp解码器将会需要的d个传出llr相比,仅存储两个传出llrmag和指向携带最小传入llrmag的边的索引就足够了。在许多ldpc实现方式中可以利用该压缩来显著减少实现解码器所需要的存储器的数量。

根据某些方面,针对相同的传入llrmag,在ms解码器中的传出llrmag可以大于在sp解码器中的llrmag。对于非常大的图,sp算法可能具有接近最佳的性能(例如,与使用最大后验(map)解码器相比),而ms算法通常具有较差的性能。例如,已经观察到,针对非常大的图,ms解码器可以在诸如1/5的低码率下将性能降低多达1db。然而,通过修改ms算法以更接近地模仿sp算法,可以将该性能损失降低到一定程度。例如,可以修改/调整ms算法以包括偏移ms(oms)或归一化的ms(nms),其中由ms算法给出的传出llrmag是通过减去小的偏移(例如,利用oms)或通过缩放(乘以)小于1的参数(例如,利用nms)来进行缩减的。

调整后的最小和算法

根据某些方面,可以通过优化偏移/归一化值以取决于各种参数(诸如码率、校验节点度、迭代次数等)来改善oms和nms两者的性能。根据各方面,为了尽可能地实现接近sp的性能,对于ms的偏移或校正而言取决于其它(非最小或第二最小)传入llrmag可能是合意的。因此,即使可以使用仅两个传出幅值,但是其值可以取决于传入llrmag以更接近地近似sp。例如,在一些情况下,sp传出llrmag可以用于具有最小传入llrmag的边,以及来自与全部传入llrmag的校验总和相对应的sp的值可以用于全部其它的边。如在下文中描述的,可以实现对该技术的一些改进。

假设u的近似使用最小操作,ms算法的另一解释可以是使用最大和第二最大(例如,在真正最大值之后的下一个最大的最大值)传出llr幅值。实际上,在ms算法中,最大传出幅值是传入幅值的第二最小值,以及第二最大传出幅值是传入最小幅值,其相当于通过最小操作在sp算法中对u进行近似。根据某些方面,改进ms算法的一个选项可以是如使用正确的函数u进行计算的这两个值(最大传出和第二最大传出)。例如,这将意指根据sp算法来计算传出幅值,但是然后利用第二最大幅值来替换小于第二最大幅值(例如,第二最大值)的全部幅值。然而,要注意的是,如在ms解码器中,除最大值之外的全部传出幅值是相等的,因此在ms解码器处需要相同的存储复杂度。因此,可以使用除了是替代值的第二最大值之外的传出幅值中的任何传出幅值来同等地应用该类比。

然而,可以通过根据sp替代使用最小传出幅值来实现性能改进。在该算法中,如果解码器根据sp来计算输出幅值,则最大传出幅值保持其值,以及全部其它传出幅值可以是被替换为最小传出sp幅值。在多种多样的情况下,这提供了与sp非常接近的性能。

然而,该技术的一个遗留问题是,函数u仍然有些难以计算。因此,本公开内容的各方面提出了基于上文的思想的新的解码器,在其中两个消息是使用于全部的传出消息的。此外,本公开内容的各方面提出了(例如,在处理节点处实现的)函数u(a,b)的新的、高度精确的近似,其可以作为新校验节点更新的组件中的一个组件来使用。此外,函数u(a,b)的新近似允许解码器被用于ldpc和turbo码两者。

图9示出了用于无线通信的(例如,用于对码字进行解码的)示例操作900。根据某些方面,操作900可以由在通信设备(例如,无线设备302)中的解码器(例如,解码器816)来执行的,所述通信设备诸如基站(例如,enb102)和/或用户设备(例如,无线节点116和/或接收机系统250)。

操作900在902处开始在无线信道上接收码字。在904处,无线通信设备在用于对码字进行解码的解码器的处理节点处接收与码字相关联的第一传入对数似然比(llr)和第二传入llr。在906处,无线通信设备至少部分地基于第一传入llr的幅值和第二传入llr的幅值,来对处理节点函数进行近似以及计算处理节点函数的输出。在908处,无线通信设备至少部分地基于处理节点函数的输出来对码字进行解码。另外,虽然未示出,但是在一些情况下,操作900还可以包括将近似处理节点函数应用于两个传入llr,以生成传入llr幅值。进一步地,在其它情况下,操作900还可以包括将近似处理节点函数应用于两个传入llr以生成处理节点函数的输出,以及然后在输入是先前的输出和第三传入llr等的情况下再次递归地应用近似处理节点函数。进一步地,操作900可以包括使用近似处理节点函数来存储如针对全部处理节点计算的输出的最大值和最小值(或第二最大值)。

在开发函数u(a,b)的近似之前,本公开内容的各方面将首先论述在函数f(a,b)的turbo解码器实现方式中经常使用的技术。在turbo解码器中使用的函数f(a,b)是基于恒等式f(a,b)=ln(ea+eb)=max(a,b)+ln(1+e-|a-b|)的。函数f(x)=ln(1+e-x)从ln(2)快速地衰减,以及可以是通过使用查找表和一些额外的简单逻辑来在turbo解码器上方便地实现的。从实现方式的角度来看,函数f(a,b)的这种形式减少了复杂性,这是因为两个幅角函数f可以大量地减少为对如f(a,b)=ln(ea+eb)=max(a,b)+f(|a-b|)的单个幅角函数f的评估。

本公开内容的各方面现在将描述用于提出的调整后的最小和(adjms)解码算法的函数u(a,b)的近似。首先,回想sp解码器校验节点更新函数。例如,给定一对llrmag,a和b,在sp解码器中的校验节点更新一般可以写为:

其中函数g(a,b)可以被认为是对最小llrmag,min(a,b),的修正项。通常,函数g(a,b)不能简化为单个幅角的函数,但是可以进行对单个幅角的良好近似。例如,对于不太小的x(例如大于1)来说,则函数很接近2e-x

因此,获得对于sp校验节点更新u(a,b)的相当好的近似是可能的,其使用近似g(a,b)≈f(|a-b|)来获得

其中‘+’运算是通过如果x>0则x+=x以及如果x≤0则x+=0来给出的。根据某些方面,当a和b相当大时和当|a-b|也较大时,该近似是相当好的;然而,当a和b两者是相对小的时准确度较低,这经常可是当在较低的snr下进行发送时出现的情况。

根据某些方面,当使用g(a,b)的该近似来对在sp解码器中的u(a,b)进行近似时,针对高速率代码的作为结果的损耗通常很小,其中llrmag值通常较高,以及针对低速率代码的情况稍微较差,其中llrmag值通常较小。类似地,诸如oms和nms的标准的类ms解码器典型地针对高速率代码也执行得相当好,但针对低速率代码则不太好。因此,与以低码率的sp解码器相比,先前提及的类ms解码器倾向于显著地表现不佳。

根据某些方面,u函数的显著地更好的近似可以是通过使m=min(a,b)来获得的以及采取形式:

要注意的是,的该近似涉及单个幅角的两个函数h和f,更复杂一些。

根据各方面,基本更新函数u(a,b)的近似在两个传入llrmag上可以计算如下。首先,可以计算a和b的最小值(例如,min(a,b)),通过m表示。然后,从m中减去如在下文中计算的数量。例如,取两个传入llrmag的差的绝对值,|a-b|,以及对其应用修正项。修正项包括具有应用于m的单个幅角的函数h。最后,如在上文中示出的,函数f应用于先前计算的数量并且从m中减去。

根据各方面,函数h(x)可以定义为lncoth(x)或-ln(1-e-2x),或在其之间的某个值。根据各方面,可以表明的是,通过将h定义为h(x)=ln(coth(x)),在两个传入llr上在真正的sp更新u(a,b)与近似的更新之间的误差一致地以0.03作为上限,其中在实际情况中传入llrmag的近似是较大的。

根据各方面,提出的单个幅角的函数h和f可以是在一些情况下使用两个查找表来实现的,一个用于函数h,以及一个用于函数f。根据各方面,函数h快速地衰减,因此对于足够大的m的值,h可以被设置为0。典型地,用于h的查找表可以显著地小于(例如,一半)用于f的查找表,以及因此,函数h表示在复杂性中的相对小的增加。

例如,当使用以log(2.0)/4.0的量化来量化的adjms解码器时,用于f的查找表可以通过[4,3,3,2,2,2,1,1,1,1,0,0,0,0,0,0]给出,以及用于h的查找表可以通过[15,10,6,4,3,2,1,1]给出。然后,两个传入llrmaga和b可以是通过整数值a′和b′来表示的,其中解释a=a’log(2.0)/4和b=b’log(2.0)/4。根据各方面,然后可以通过在位置min(a’,b’)处读取h查找表来获得h(min(a,b))的对应整数表示,表示为h’(min(a’,b’)),其中如果min(a’,b’)>7,则我们取h(min(a,b))=0以及函数f(|a-b|+h(m))可以是通过查找在位置|a’-b’|+h’(min(a’,b’))的值来进行评估的,其中h’(min(a’,b’))是在先前的查找表步骤中计算的。

调整后的最小和解码算法的第二组件涉及确定哪两个幅值要用于llrmag。如在上文中描述的,通过使用如通过sp来确定的最大和最小输出llr幅值可以获得良好的解码性能(例如,对应于spllrmag最大值的传出消息可以设置为llrmag最大值,以及全部其它传出llrmag可以设置为等于sp传出llr最小值)。因此,本公开内容的各方面提出使用在上文给出的u的近似(例如,)来对最大传出llr幅值和最小传出llr幅值进行近似。

例如,假设度至少为2的校验节点,全部的校验节点幅值更新算法采用以下递归形式。首先,可以定义内部幅值a、b和r。幅值a和b分别设置为在前两个传入消息中的最小幅值和最大幅值,以及r可以设置为无穷大+。然后,对于各随后的传入幅值c(在前两个之后),采取以下步骤。

·设置t=c.

·如果c<a,则设置a=c且t=a.

·如果c>b,则设置b=c且t=b.

·更新其中是在上文中给出的

根据各方面,在最小传入边(在其上幅值a是传入的)上给出的传出llrmag可以是由给出的。进一步地,在其它边上给出的传出幅值是通过在没有的应用的情况下记录可以使用多达三个消息来确定a、b和r,可以获得的应用数量中的一些减少。该减少针对以两个周期而不是以一个周期来计算近似的实现方式是有用的。如在上文中描述的,幅值更新涉及r的递归更新,其中下一次更新取决于当前更新。在各时钟周期中处理一个传入消息的实现方式中,能够在一个时钟周期中执行包括评估的更新可能是合意的,但是在某些情况下这可能是不可行的。如果需要两个时钟周期,则在处理中可能需要一些延迟,但是实现方式可以采用不需要针对各传入消息来进行计算的事实。

根据某些方面,通过对如在上文中描述的函数u进行近似,调整后的最小和解码算法可以用于ldpc和turbo码两者,例如,通过使用不同的输入值。例如,对于turbo解码,可以通过使用以针对幅值a和幅值b(llrmag或移位的对数概率)的|a-b|的形式的输入来对函数f进行近似,以及对于ldpc解码,可以通过使用以|a-b|-h(min(a,b))的形式的输入来对函数u进行近似。

在本文中公开的方法包括用于实现描述的方法的一个或多个步骤或动作。在不背离权利要求的范围的情况下,方法步骤和/或动作可以是互相交换的。换句话说,除非指定了步骤或动作的特定的顺序,否则在不背离权利要求的范围的情况下可以修改特定步骤和/或动作的顺序和/或使用。

如在本文中使用的,术语“确定”包含各种各样的动作。例如,“确定”可以包括运算、计算、处理、推导、研究、查找(例如,在表格、数据库或另外的数据结构中查找)、断定等。另外,“确定”可以包括接收(例如,接收信息),存取(例如,对在存储器中的数据进行存取)等。另外,“确定”可以包括解析、选择、挑选、建立等。

在一些情况下,设备可以具有用以输出帧的接口用于传输,而不是实际地发送帧。例如,处理器可以经由总线接口向rf前端输出帧用于传输。类似地,设备可以具有用以获得从另一设备接收的帧的接口,而不是实际地接收帧。例如,处理器可以经由总线接口从rf前端获得(或接收)帧用于传输。

在上文中描述的方法的各种操作可以是由能够执行相应功能的任何合适的单元来执行的。单元可以包括各种硬件和/或软件组件和/或模块,包括但不限于电路、专用集成电路(asic)或处理器。通常,在存在图中示出的操作的地方,那些操作可以具有带有相似编号的相对应的配对物功能模块组件。

例如,用于编码的单元可以包括一个或多个处理器,诸如在图2中示出的基站210的tx数据处理器214、txmimo处理器220和/或处理器270;在图2中示出的无线节点250的tx数据处理器238、调制器280和/或处理器270;在图3中示出的无线设备302的发射机310,dsp320和/或处理器304;和/或在图6中示出的编码器600的编码器602。

用于解码的单元可以包括一个或多个处理器,诸如在图2中示出的基站210的rx数据处理器242和/或处理器230;在图2中示出的无线节点250的rx数据处理器260和/或处理器270;在图3中示出的无线设备302的接收机312、dsp320和/或处理器304;和/或在图6中示出的解码器800的解码器816。

用于发送的单元包括发射机,其可以包括在图2中示出的基站210的tx数据处理器214、txmimo处理器220、收发机222a-222t和/或天线224a-224t;在图2中示出的无线节点250的tx数据处理器238、调制器280、收发机252a-252r和/或天线252a-252r;在图3中示出的无线设备302的发射机310和/或天线316;和/或在图7中示出的编码器700的tx链714和天线718。

用于接收的单元包括接收机,其可以包括在图2中示出的基站210的rx数据处理器242、解调器240、收发机222a-222t和/或天线224a-224t;在图2中示出的无线节点250的rx数据处理器260、收发机252a-252r和/或天线252a-252r;在图3中示出的无线设备302的接收机312和/或天线316;和/或在图8中示出的解码器800的rf链804和天线802。

用于近似的单元、用于应用的单元、用于确定的单元、用于设置的单元和/或用于计算的单元可以包括一个或多个处理器,诸如在图2中示出的基站210的rx数据处理器242和/或处理器230;在图2中示出的无线节点250的rx数据处理器260和/或处理器270;在图3中示出的无线设备302的接收机312、dsp320和/或处理器304;和/或在图6中示出的解码器800的解码器816。

结合本公开内容描述的各种说明性的逻辑方块、模块和电路可以是利用被设计为执行在本文中描述的功能的通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑器件(pld)、分立门或晶体管逻辑,分立硬件组件或其任何组合来实现或执行的。通用处理器可以是微处理器,但是在替代方案中,处理器可以是任何商业可得的处理器、控制器、微控制器或状态机。处理器还可以实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器、一个或多个微处理器与dsp内核的结合,或任何其它这样的配置。

如果以硬件来实现,则示例硬件配置可以包括在无线节点中的处理系统。处理系统可以是利用总线架构来实现的。总线可以包括任何数量的互相连接的总线和桥接器,这取决于处理系统的特定应用和总体设计约束。总线可以将各种电路链接在一起,所述各种电路包括处理器、机器可读介质和总线接口。总线接口可以用于经由总线将除了别的之外的网络适配器连接到处理系统。网络适配器可以用于实现phy层的信号处理功能。在无线节点的情况下(见图1),用户接口(例如,键盘,显示器,鼠标,操纵杆等)也可以连接到总线。总线还可以链接各种其它电路,所述各种其它电路诸如时序源,外围设备,稳压器,功率管理电路等,其是在本领域中众所周知的,以及因此将不进行任何进一步的描述。处理器可以是利用一个或多个通用和/或专用处理器来实现的。示例包括微处理器、微控制器、dsp处理器和可以执行软件的其它电路。本领域技术人员将认识到,如何最好地实现针对处理系统所描述的功能,取决于特定应用和施加在整个系统上的总体设计约束。

如果以软件来实现,则可以将这些功能作为一个或多个指令或代码存储在计算机可读介质上或在其上进行发送。无论是称为软件、固件、中间件、微代码、硬件描述语言还是其它,软件应该被广泛地解释为意指指令、数据或其任何组合。计算机可读介质包括计算机存储介质和通信介质两者,所述通信介质包括促进将计算机程序从一个地方传送到另一个地方的任何介质。处理器可以负责管理总线和通用处理,包括对存储在机器可读存储介质上的软件模块的执行。计算机可读存储介质可以耦合到处理器,以使处理器可以从存储介质读取信息和向存储介质写入信息。在替代方案中,存储介质可以是处理器的组成部分。举例而言,机器可读介质可以包括传输线、通过数据调制的载波、和/或具有存储在其上的指令的与无线节点分开的计算机可读存储介质,其全部可以是由处理器通过总线接口来存取的。替代地或另外,机器可读介质或其任何部分可以集成到处理器中,诸如可以具有高速缓存和/或通用寄存器文件的情况。举例而言,机器可读存储介质的示例可以包括ram(随机存取存储器)、闪存、rom(只读存储器)、prom(可编程只读存储器)、eprom(可擦除可编程只读存储器)、eeprom(电可擦除可编程只读存储器)、寄存器、磁盘、光盘、硬盘驱动器或任何其它合适的存储介质,或其任何组合。机器可读介质可以是体现在计算机程序产品中的。

软件模块可以包括单个指令或许多指令,以及可以分布在若干个不同的代码段上、在不同的程序之中以及跨越多个存储介质。计算机可读介质可以包括多个软件模块。软件模块包括当由诸如处理器的装置执行时使得处理系统执行各种功能的指令。软件模块可以包括发送模块和接收模块。各软件模块可以存在于单个存储设备中,或者是跨越多个存储设备来分布的。举例而言,当触发事件发生时,可以将软件模块从硬盘驱动器加载到ram中。在对软件模块的执行期间,处理器可以将指令中的一些指令加载到高速缓存中以提高存取速度。然后可以将一个或多个高速缓存行加载到通用寄存器文件中用于由处理器来执行。当参考在下文中的软件模块的功能时,将要理解的是,当执行来自该软件模块的指令时,这样的功能是由处理器来实现的。

另外,任何连接适当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字用户线(dsl)或诸如红外线(ir)、无线电和微波的无线技术从网站、服务器或其它远程源进行发送的,则同轴电缆、光纤电缆、双绞线、dsl或诸如红外线、无线电和微波的无线技术是包含在介质的定义中的。如在本文中使用的,磁盘和光盘包括压缩光盘(cd),激光光盘,光盘,数字通用光盘(dvd),软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则利用激光来光学地复制数据。因此,在一些方面中,计算机可读介质可以包括非暂时性计算机可读介质(例如,有形介质)。另外,针对其它方面计算机可读介质可以包括暂时性计算机可读介质(例如,信号)。在上文中的组合也应包括在计算机可读介质的范围内。

因此,某些方面可以包括用于执行在本文中给出的操作的计算机程序产品。例如,这样的计算机程序产品可以包括具有存储(和/或编码)在其上的指令的计算机可读介质,该指令是由一个或多个处理器可执行的以执行在本文中描述的操作。

进一步地,应当认识到,如果适用的话,用于执行在本文中描述的方法和技术的模块和/或其它合适的单元可以是由无线节点和/或基站下载和/或以其它方式获得的。例如,这样的设备可以耦合到服务器以促进对用于执行在本文中描述的方法的单元的传送。或者,可以经由存储单元(例如,ram,rom,诸如压缩光盘(cd)或软盘等物理存储介质)提供在本文中描述的各种方法,以使无线节点和/或基站可以在将存储单元耦合到设备或将存储单元提供给设备时获得各种方法。此外,可以利用用于将在本文中描述的方法和技术提供给设备的任何其它合适的技术。

应该理解的是,权利要求不限于在上文中示出的精确配置和组件。在不背离权利要求的范围的情况下,可以对在上文中描述的方法和装置的布置、操作和细节做出各种修改,改变和变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1