利用栈重新排序进行顺序解码的制作方法

文档序号:14960164发布日期:2018-07-18 00:22阅读:272来源:国知局

本发明总体上涉及数字通信,并且具体地,涉及用于顺序地对接收到的数据信号进行解码的方法、系统以及计算机程序产品。

随着电子设备的惊人演进以及计算技术的出现,无线网络正在成为所有现代模式的通信的必要组件。对这样的通信系统的部署随之带来了要满足许多约束的挑战,这些约束一方面是关于诸如带宽之类的物理资源的缺乏,另一方面是关于实现支持服务要求的质量必需的编码操作和解码算法所要求的硬件复杂度成本。

如今不同的无线通信系统是可用的,例如,蜂窝网络和无线自组织网络,其适应使用单个或多个天线的单个或多个发射机/接收机(例如,mimo(多输入多输出)系统)。

除了低功耗和系统设备施加的存储器要求之外,这样的通信系统的主要挑战是复杂度成本。为了保证对实时且高吞吐量的应用的部署,期望的是编码操作和解码算法满足规定的计算复杂度,该计算复杂度对于给定的设备和应用而言是固定的。

已知诸如“最大似然”解码(也被称为“ml”解码)之类的解码方法用于对以任何传输方案的数字流进行解码。这样的解码方法提供了在最小化欧氏距离标准的情况下对最接近于观测到的已接收信号的向量的估计。这样的ml解码技术使用穷尽搜索并且提供最优性能。然而,它们要求随星座码书的尺寸或发射天线的数量变得更高而增加的高复杂度,由此使这样的技术不可能在实际系统中实现。

当考虑解码器复杂度时,已经提出了其它解码技术来恰当地对接收到的信号进行解码,例如,sphere解码器(e.viterbo和j.boutros的auniversallatticecodedecoderforfadingchannels.ieeetransactionsoninformationtheory,45(5):1639-1642,july1999)或者schnorr-euchner解码器(c.p.schnorr和m.euchner的latticebasisreduction:improvedpracticalalgorithmsandsolvingsubsetsumproblems.inmath.programming,181-191页,1993)。这些解码器的主要缺点在于当星座尺寸或天线的数量增加时其增加的复杂度。其它次优的低复杂度解码器(例如,zf、zf-dfe以及mmse)在实际的系统中实现但是呈现出有限的计算能力。

可应用于利用单个或多个用户和/或天线的线性通信系统中的其它解码算法包括令人非常感兴趣的点阵(lattice)顺序解码器。点阵顺序解码技术(也被称为“栈”解码技术)使用ml优化问题的树表示(解码树)以及树搜索来实现最优ml检测标准,这导致相对于穷尽搜索方法复杂度降低。在解码树中,从根节点到叶子节点的每条路径是可能的已发送信号。解码树中的节点对应于经解码的符号所取的不同值,并且从根节点到叶子节点的每条路径是可能的已发送信号。

根据由顺序解码器实现的搜索策略,展开的树节点被存储在全局栈中。在全局栈中,根据树节点的解码度量的递增次序对在解码过程期间展开的树节点进行存储和分类。

顺序解码器包括在以下中公开的诸如栈解码器之类的实现最佳优先树搜索的解码器:

-a.r.murugan,h.el-gamal,m.-o.damen以及g.caire的aunifiedframeworkfortreesearchdecoding:rediscoveringthesequentialdecoder.ieeetransactionsoninformationtheory,52(3):933–953,2006年3月;

-f.jelinek的fastsequentialdecodingalgorithmusingastack.ibmj.res.dev.,13(6):675–685,1969年11月。

使用最佳优先树搜索的另一类型的点阵顺序解码方法被称为fano解码方法,如在r.fano的aheuristicdiscussionofprobabilisticdecoding.ieeetransactionsoninformationtheory,9(2):64–74,1963年4月中公开的。

顺序解码器改进了总体解码复杂度。然而,对于增加的星座尺寸和高数量的天线,栈解码技术要求高计算复杂度。为了降低该复杂度,被称为球形边界栈解码器(sb栈)的另一解码技术已经在g.r.ben-othman,r.ouertani以及a.salah所著的题为“thesphericalboundstackdecoder”(inproceedingsofinternationalconferenceonwirelessandmobilecomputing,322-327页,2008年10月)的文章中提出。sb栈方法组合了栈搜索策略与球形解码器搜索区:解码器在以接收到的点为中心的球内搜索最接近的向量,实现栈解码策略。球形搜索区对每个检测到的符号施加搜索区间。在每个树层级处仅访问并展开属于这些区间的节点。

点阵顺序解码器已经强有力地将自身用作线性无线通信系统中的最优检测方案,将最优ml解码问题简化为对图形树中的具有最小权重度量的路径的搜索。然而,在面临大的星座尺寸(相当于每个数层级中有大量节点)和/或高维度解码树时,在树搜索阶段期间所访问的节点的数量(并且因此存储这些节点的栈的尺寸)增加并且可能超过由硬件要求针对给定目标应用和给定设备施加的可用栈尺寸。当通信信道较差时也可能超过栈尺寸,需要最慢的收敛时间和较长的解码过程来访问高数量的树节点,直至找到原始信息符号的期望估计为止。

在面临高维度星座和/或树层级时的栈尺寸的这种快速增长,以及在寻找图形中的最优路径中所产生的复杂度,对于实现用于受有限物理资源(例如,硬件要求所施加的有限栈尺寸)约束的实时且高吞吐量的应用的点阵顺序算法是显著的阻碍。

因此,需要实现栈管理的经改进的顺序解码系统、方法以及计算机程序产品。



技术实现要素:

为了解决这些以及其它问题,提供了一种用于顺序地对通过通信系统中的传输信道接收到的数据信号进行解码的解码器,接收到的数据信号携带已发送的符号,解码器包括符号估计单元,其被配置为根据存储在栈中的信息来确定经估计的符号,该经估计的符号表示接收到的信号所携带的已发送的符号,栈是通过迭代地展开包括多个节点的解码树中的选定的节点的子节点而被填充的,解码树的每个节点与接收到的数据信号中的符号的候选分量相对应,并且每个节点与预先确定的度量相关联,栈在每次迭代时被填充有所展开的子节点中的至少一些子节点,并且栈是按照与节点相关联的度量的递增的值被重新排序的,针对每次迭代的选定的节点与栈中的具有最低度量的节点相对应。解码器还包括栈重新排序激活监测单元,其被配置为监测至少一个栈重新排序激活条件,并且响应于栈重新排序激活条件被验证而使得符号估计单元进行以下操作:

-将与存储在栈中的每个节点相关联的度量减少一定量,

-按照经减少的度量的递增的值来对栈进行重新排序,以及

-从经重新排序的栈中移除一组节点,使得在经重新排序的栈中维持数量为n的节点,所维持的节点与经重新排序的栈中的具有最低度量的n个节点相对应。

符号估计单元可以被配置为通过将具有最低度量的节点放置在栈的顶部来对栈进行排序和重新排序,从栈中移除的节点与位于经重新排序的栈的底部部分的节点相对应,并且在经重新排序的栈中被维持的节点与位于经重新排序的栈的顶部部分的该一定数量的节点相对应。

符号估计单元可以被配置为根据接收到的信号与解码树的根节点和解码树的给定节点之间的路径之间的欧氏距离来确定与该节点相关联的度量。

在某些实施例中,至少一个栈重新排序激活条件可以包括用于触发解码方法的提早终止的终止条件。

终止条件可以包括与解码方法的当前计算复杂度有关的一个条件。

符号估计单元可以被配置为仅维持与经重新排序的栈中的具有最低度量的节点相对应的一个节点。

在一个实施例中,响应于对栈的重新排序,符号估计单元可以被配置为在每次后续迭代中,仅将与所展开的子节点之中的具有最低相应度量的节点相对应的一个节点存储在栈中。

在另一实施例中,至少一个栈重新排序激活条件可以包括栈尺寸相关的条件,该栈尺寸相关的条件与关于栈的最大尺寸被存储在栈中的节点的数量有关。

如果存储在栈中的节点的数量超过等于栈的最大尺寸(kmax)与预先定义的正值参数(p)之间的差的量,则栈尺寸相关的条件可以被验证。

在经重新排序的栈中被维持的节点的数量可以是栈的最大尺寸(kmax)与预先定义的正值参数(p)之间的差的函数。

被应用于减少与存储在栈中的给定节点相关联的度量的量可以是解码树中的节点(sk)的层级(k)的函数(g(k))。

被应用于与存储在栈中的给定节点相关联的度量的函数(g(k))可以是解码树中的节点(sk)的层级(k)的多项式函数。

被应用于与存储在栈中的给定节点相关联的度量的函数(g(k))可以是具有预先定义的斜率系数和截距系数的线性函数。

特别地,截距系数可以为空值,并且斜率系数可以为根据噪声等级确定的正值系数。

还提供了一种用于对经编码的数据信号进行接收和解码的接收机,该接收机包括根据之前的实施例中的任一个的用于对数据信号进行解码的解码器。

进一步提供了一种能够在无线通信网络中发送和接收数据的无线(移动或固定的)设备,其中,无线设备包括用于接收数据信号的之前的接收机。

本发明还提供了一种用于顺序地对通过通信系统中的传输信道接收到的数据信号进行解码的方法,接收到的数据信号携带已发送的符号,该方法包括根据存储在栈中的信息来确定经估计的符号,该经估计的符号表示接收到的信号所携带的已发送的符号,栈是通过迭代地展开包括多个节点的解码树中的选定的节点的子节点而被填充的,解码树的每个节点与接收到的数据信号中的符号的候选分量相对应,并且每个节点与预先确定的相应度量相关联,栈在每次迭代时被填充有所展开的子节点中的至少一些子节点,并且栈是按照与节点相关联的度量的递增的值被重新排序的,针对每次迭代的选定的节点与栈中的具有最低度量的节点相对应。该方法还包括监测至少一个栈重新排序激活条件,并且响应于栈重新排序激活条件被验证:

-将与存储在栈中的每个节点相关联的度量减少一定量,

-按照经减少的度量的递增的值来对栈进行重新排序,以及

-从经重新排序的栈中移除一组节点,使得在经重新排序的栈中维持一定数量的节点,所维持的节点与经重新排序的栈中的具有最低度量的节点相对应。

另外,提供了一种用于顺序地对通过通信系统中的传输信道接收到的数据信号进行解码的计算机程序产品,接收到的数据信号携带已发送的符号,经估计的符号是基于与解码树的节点中的每个节点相关联的权重度量而从该节点被确定的,该计算机程序产品包括:

非暂时性计算机可读存储介质;以及

存储在非暂时性计算机可读存储介质上的指令,该指令当由处理器执行时,使得处理器根据存储在栈中的信息来确定经估计的符号,该经估计的符号表示接收到的信号所携带的已发送的符号,栈是通过迭代地展开包括多个节点的解码树中的选定的节点的子节点而被填充的,解码树的每个节点与接收到的数据信号中的符号的候选分量相对应,并且每个节点与预先确定的相应度量相关联,栈在每次迭代时被填充有所展开的子节点中的至少一些子节点,并且栈是按照与节点相关联的度量的递增的值被重新排序的,针对每次迭代的选定的节点与栈中的具有最低度量的节点相对应。处理器还被使得监测至少一个栈重新排序激活条件,并且响应于栈重新排序激活条件被验证:

-将与存储在栈中的每个节点相关联的度量减少一定量,

-按照经减少的度量的递增的值来对栈进行重新排序,以及

-从经重新排序的栈中移除一组节点,使得在经重新排序的栈中维持一定数量的节点,所维持的节点与经重新排序的栈中的具有最低度量的节点相对应。

本发明的各种实施例允许以高效的方式对栈进行管理,由此导致关于规定的计算复杂度和可用的硬件资源被改进的解码器的操作。特别地,利用根据本发明的各种实施例的栈重新排序方法,栈填充可以适应于已知在任何收发机处可用的资源,并且适应于期望的收敛时间和/或解码复杂度。

在查阅附图和具体实施方式后,本发明的另外的优点对于本领域技术人员将变得清楚。旨在将任何附加的优点并入本文。

附图说明

并入本说明书并且构成本说明书的一部分的附图示出了本发明的各种实施例,并且与上面给出的本发明的总体描述和下面给出的实施例的具体实施方式一起用于解释本发明的实施例。

图1示意性地表示实现解码方法的示例性通信系统;

图2是描述根据某些实施例的栈重新排序方法的流程图;

图3是描述根据某些实施例的使用栈重新排序来进行提早解码终止的顺序解码方法的流程图;

图4是描述根据某些实施例的使用栈重新排序来监测栈尺寸的顺序解码方法的流程图;

图5是示出取决于信噪比(snr)的在4×4mimo通信系统中利用根据某些实施例的解码器获得的符号错误率的图;

图6是示出取决于信噪比(snr)的在4×4mimo通信系统中利用根据某些实施例的解码器获得的平均总体复杂度的图;以及

图7示意性地示出了根据某些实施例的解码器的示例性硬件架构。

具体实施方式

本发明的实施例提供了用于对通过通信信道接收到的数据信号进行顺序解码的方法和装置,这对用于存储候选点阵点的栈的尺寸进行了优化。顺序解码方法递归地将包括多个节点(该多个节点表示接收到的数据信号中的符号的可能分量)的解码树中的节点展开,并且将选定的一组展开的节点存储在栈中,每个节点与相应的度量(也被称为“权重度量”、“成本”、或“权重”)相关联地被存储在栈中。针对所考虑的数据信号,节点的度量表示由数值定义的概率。

根据本发明的一个方面,提供了在解码器的操作期间可以触发的栈重新排序方法。栈重新排序方法的每次迭代从与存储在当前栈中的节点sk相关联的度量中的至少一些度量中减去选定的量(在后文中也被称为“度量减少量”)。作为结果,偏向具有高层级k(因此定位在靠近叶子节点处)的节点。然后,对当前栈进行重新排序,并且树中的最高级的节点到达栈的顶部。取决于本发明的应用,解码器可以基于经重新排序的栈来进行顺序解码的新的迭代。在对栈进行重新排序之后的解码步骤的每次迭代中,可以常规地对度量进行计算,而不减少度量。然而,在某些实施例中,可以执行每个后续的迭代,以使得仅在栈中维持最低的度量节点。

栈重新排序方法可以执行一次或者迭代若干次,这取决于本发明的应用。

相应地对栈的填充进行管理并且使其适应于所要求的解码复杂度和收敛时间。例如,当需要加快解码过程时,可以定义度量减少量以便使树中的最高级的节点具有最小的度量并且较快地到达栈的顶部,实现解码方法的快速收敛。应用于减少存储在栈中的节点sk的度量的度量减少量可以针对每个节点sk而不同。度量减少量可以取决于一个或多个参数,例如,与对应于量被应用于的度量的节点sk有关的参数。

例如,响应于对要求终止解码器的终止警报的激活,可以将栈重新排序方法应用于在对所接收的信号进行解码期间对栈进行重新排序。在这样的实施例中,栈重新排序方法通过偏向最高级的节点来实现解码器的提早终止。

可替代地,可以将本发明应用于管理栈的尺寸并且防止栈达到临界尺寸。在本发明的这样的应用中,可以在解码过程期间应用若干次栈重新排序方法。

如本文中所使用的,解码树(也被称为“搜索树”或“逻辑树”)是解码树数据结构,其表示与诸如2qqam的星座相对应的接收到的信号的星座点。搜索树包括多个节点,每个节点包括整数值,其表示接收到的数据信号(可以根据实值表示法来表示接收到的数据信号)中的符号的分量。在以下描述中,术语“节点”或“节点值”类似地用于指示接收到的数据信号中的符号的分量。树的第一节点被称为根节点。不具有任何子节点(子节点也被称为“后继节点”)的节点被称为“叶子”节点并且对应于树中的最低层级。每个节点具有至多一个父亲节点,父亲节点在树中位于其上方。根节点作为树中的最高的节点,其不具有任何父亲节点。给定节点的深度(或者维度)指示从该给定节点向上至解码树的根节点的路径的长度。可以从根节点到达解码树的所有节点。从根节点到叶子节点的每条路径因此表示可能的已发送信号。解码树中的节点表示符号si的不同的可能值,其中,si表示已发送信息向量的实部分量和虚部分量,i表示范围从n到1的整数。叶子节点指示深度为n的节点。根据本文中所使用的记号,节点sk的子节点由分量sk-1指示,并且树中的深度为i的路径由长度为(n-i+1)的向量s(i)=(sn,sn-1,…si)指示。

顺序解码算法是基于树搜索的解码算法,其基于ml优化问题的树表示(由解码树表示)以及基于根据最佳优先策略的树搜索。这样的顺序解码算法使用栈或者列表来存储最佳候选点阵点(虽然可以使用等效的数据结构,但是出于示例说明的目的,将参照“栈”来进行以下描述)。

顺序解码技术考虑针对解码树中的每个展开的节点而确定的度量。在展开的节点中选定的每个节点(候选点阵点的分量)与经计算的度量相关联地存储在栈中。度量一般根据接收到的信号与符号向量之间的欧氏距离来确定,该符号向量由根节点与当前节点之间的路径来表示。

可以将本发明实现在无线通信系统中以用于检测点阵向量。通信系统至少包括用于通过通信信道同时发送多个信息符号的发射机,并且至少包括用于接收由发射机以独立信号的形式发送的信息符号中的一个或多个的接收机。

可以将本发明的实施例集成在接收机中,例如,用于对mimo(多输入多输出)信道中传输的数据进行解码或者对多个用户进行检测。

可以将本发明实现在无线通信系统中以用于检测信息点。通信系统至少包括用于通过通信信道同时发送多个信息符号的发射机,并且至少包括用于接收由(多个)发射机以独立信号的形式发送的符号中的一个或多个的接收机。通信信道可以是任何线性awgn(加性高斯白噪声)信道或者多路径信道。通信系统可以使用任何多址技术,例如,时分多址、频分多址、码分多址以及空分多址。此外,通信系统可以使用单载波或多载波调制格式,例如,ofdm(正交频分复用)或fbmc(滤波器组多载波)。

可以将本发明的实施例集成在接收机中,例如,用于对根据任何mimo(多输入多输出)配置在mimo信道中传输的数据进行解码或者对多个用户进行检测。

当应用于mimo解码时,对于单个用户或多个用户检测,接受到的信号或信道输出的维度取决于发射机处的信号空间的维度、发射(tx)天线的数量(nt)和/或接收(rx)天线的数量(nr)。

无线网络环境可以包括多个基站(也被称为“节点”或“接入点”或“小区”,这取决于本发明的应用上下文),每个基站包括发射机和接收机,该发射机和接收机包括一个或多个天线。每个站可以通过无线连接与其它站进行通信。

参考图2,使用发射机与接收机之间的示例性无线通信系统100,其中mimo传输实现传输中的stbc(空间时间分组码)码来分发通过信道的各种自由度调制的符号。根据无线通信系统,站的每个发射机2可以与另一站的接收机3交换数据。无线网络100可以依赖于集中式架构(提供控制器来控制基站的操作)或者分散式架构(基站可以直接与彼此进行通信)。用户终端(例如,无线设备、蜂窝电话、个人数字助理等)可以与前向链路或反向链路上的一个或多个基站进行通信。用户终端可以是固定的或者移动的。

mimo配置可以是对称的,在这种情况下,mimo配置包括与接收天线的数量(nr)相同数量(nt)的发射天线。可替代地,mimo配置可以是非对称的,在这种情况下,发射天线的数量(nt)与接收天线的数量(nr)不同(特别地,接收端处的数量nr高于发射端处的数量nt,以避免秩亏(rankdeficiency))。

发射机2可以通过噪声mimo信道将信号发送到接收机3。特别地,可以将数据发射机2集成在基站中。发射机2可以包括例如:

-信道编码器20,用于提供卷积码;

-调制器21(例如,qam调制器),用于递送符号;

-空间/时间编码器22,用于递送码字;

-nt个发送天线23,每个发送天线与ofdm调制器相关联。

发射机2使用由信道编码器20提供的卷积码对接收作为输入的二进制信号进行编码。然后由调制器21根据调制方案(例如,正交幅度调制nqam)对信号进行调制。调制器21还可以实现生成复数符号的调制方案,每个复数符号属于一组符号si。然后由空间时间编码器22对由此得到的已调制符号进行编码以形成码字stbc,例如,golden码(“thegoldencode:a2x2full-ratespace-timecodewithnon-vanishingdeterminants”,j.-c.belfiore,g.rekaya,e.viterbo,ieeetransactionsoninformationtheory,51卷第4期,1432-1436页,2005年4月)。stbc码可以基于维度为nt*t的复数矩阵,其中,nt指示发送天线的数量而t是stbc码的时间长度,或者stbc码可以基于空间复用(已调制符号被直接发送到发送天线)。

由此生成的码字从时域转换至频域并且分布在nt个发送天线中。每个专用的信号然后由相应的ofdm调制器进行调制,并且可选地在滤波、频移以及放大之后通过对应的发送天线23发送。

还可以将接收机3集成在基站中。接收机3可以被配置为接收无线信道中的由发射机2发送的信号y。信道可以是有噪声的(例如,受到衰减的具有加性高斯白噪声(awgn)的信道)。由于多路径和/或多普勒效应(由于发射机与接收机具有非零的相对速度),由发射机2发送的信号可能另外受回波影响。

在一个示例性实施例中,接收机3可以包括:

-nr个接收天线33,用于接收信号y,每个接收天线与相应的ofdm解调器相关联;ofdm解调器(nr个解调器)被配置为对在每个接收天线处观测到的所接收的信号进行解调,并且递送已解调信号。频率/时间转换器可以用于执行在传输中实现的时间/频率转换的反向操作,并且用于在频域中递送信号;

-空间/时间解码器30,其被配置为递送已解码信号;

-解调器31,其被配置为执行与解码相关联的解调。

空间时间解码器30可以包括初始估计单元,例如,次优解码器300(其可以为线性或者非线性的解码器),其用于使用诸如zf-dfe技术之类的次优检测技术根据接收到的信号来提供对所发送的信号的初始估计(也被称为“次优信号估计”)。空间时间解码器30还包括根据发明的实施例的基于树搜索的解码器310,其被配置为使用由信号初始估计单元提供的对原始信号的初始估计(例如,zf-dfe估计)来对接收到的信号进行解码。解码器310包括符号估计单元311,其被配置为根据存储在栈中的信息来确定经估计的符号,该经估计的符号表示接收到的信号所携带的已发送的符号;并且解码器310包括栈重新排序激活监测单元313,其被配置为监测用于触发栈的重新排序的至少一个栈重新排序激活条件。

应该注意的是,接收机3实现对传输中所实现的处理的反向处理。因此,如果在传输中实现单载波调制而不是多载波调制,则nr个ofdm解调器由对应的单载波解调器替换。

本领域技术人员将容易理解本发明的各种实施例不限于特定的应用。该新的解码器的示例性应用包括而不限于多用户通信系统,能够以无线标准(例如,wifi(ieee802.11n)、蜂窝wimax(ieee802.16e)、协作式wimax(ieee802.16j)、长期演进(lte)、高级lte、正在进行标准化的5g、以及光通信)实现的配置中的mimo解码。

在本发明向多天线系统(mimo)的一个应用中,对多天线系统接收到的信号进行解码,该多天线系统具有使用空间复用的nt个发射天线和nr个接收天线,被接收作为复数值向量的数据信号yc等于:

yc=hcsc+wc(1)

在公式(1)中,hc、sc和wc分别指示信道矩阵h、表示所发送的数据信号的向量s以及噪声向量w的复数值。然后,可以将接收到的数据信号yc变换成实值表示,例如,根据公式(2):

在公式(2)中,分别表示复数值向量的实部和虚部。

等效的信道输出然后可以被写作:

y=hs+w(3)

在其中使用长度为t的空间时间码的实施例中,信道输出可以以与公式(1)相同的形式写出,其中等效的信道矩阵heq由下式给出:

heq=hcφ(4)

在公式(4)中,对应于底层码的编码矩阵。为了易于呈现,并且假设未编码方案和已编码方案产生相同的实值点阵表示,将参照空间复用以及nt=nr且n=2nt的对称情况进行以下描述。

根据在(3)中得到的等效系统,接收到的信号可以被视为由h生成并且受到噪声向量w干扰的点阵中的点。

当要求极好的检测时,接收机实现ml解码器,其在给出信道输出和信道矩阵的情况下,尝试根据h和y中给出的数据来确定原始发送的符号向量的估计根据错误概率的最小化,使得:

在公式5中,有限子集表示从其中切割信息符号的调制字母表。在ml检测下的错误概率的最小化等效于由下式给出的最小化问题:

假定其中在接收机处h完全已知(例如,使用诸如最小二乘估计器之类的估计技术来估计的)的相干系统,可以根据公式6的最小化问题针对h生成的n维点阵中的最接近的向量对最优ml检测进行求解。

因此,ml解码器选择在接收到的向量y与假设的消息hs之间产生最小欧氏距离的符号向量s。ml解码器表示所选择的星座内的候选向量s上的离散优化问题。在系统有较高星座和较高维度(天线的数量)的情况下,以穷尽方式对ml解决方案进行搜索一般要求很高的复杂度。

实现树搜索策略的顺序解码器使用解码树结构来搜索最接近于接收到的向量的点阵点。在将信号传输至这样的顺序解码器之前,可以使用信道矩阵的qr分解来执行预解码,使得h=qr,其中q指示正交矩阵,而r指示上三角矩阵。给定q的正交,可以以下面的形式将公式(4)重写为:

然后,ml解码问题等于对等效系统求解,由下式给出:

因此,r的三角结构将对最接近的点的搜索简化为顺序树搜索。树中的节点表示符号si的不同的可能值。符号si(i=1,…,n)表示已发送信息向量sc的实部分量和虚部分量。树分支表示两个连续的节点(si+1,si)。

现在参考图2,呈现了描述根据某些实施例的可以由接收机3执行的栈重新排序方法的流程图。

对已接收信号的顺序解码通过以下操作来填充栈:针对栈中的选定的每个顶部节点,递归地展开子节点(解码过程以树中的作为顶部节点的根节点开始);在展开的子节点中选择一组子节点sk;并且在从栈中移除顶部节点之后,与选定的节点的相应度量fk(sk)相关联(并且可能与其它节点数据相关联)地将选定的节点添加到栈中。然后按照节点sk的度量的递增次序对栈进行重新排序,使得具有最低度量的节点被放置在栈的顶部(因此,栈的底部节点对应于具有最高度量的节点)。针对栈中的新的顶部节点重复该过程,直至到达叶子为止。因此,具有最低度量的节点每次通过其子节点来延伸。

响应于对至少一个栈重新排序激活条件的验证(步骤200),可以在顺序解码期间一次或多次应用重新排序方法。

响应于对栈重新排序激活条件的验证(步骤200),针对存储在栈中的节点中的至少一些节点,在步骤201中通过从度量fk(sk)中减去量来对与节点相关联的度量fk(sk)进行修改。在特定的实施例中,将减少应用于与栈中的所有节点相关联的度量。在后文中参照应用于栈的所有节点的度量减少而进行对本发明的某些实施例的以下描述。

下式给出了在步骤201中的度量减少之后所获得的经修改的度量wk(sk):

在步骤203中,然后按新近修改的度量的递增次序对栈进行重新排序(将具有最低度量的节点布置在顶部)。

在步骤204中,维持新近重新排序的栈的节点中的至少一些节点(将其它节点移除)。

作为结果,剩余的解码偏向具有最高层级的节点(因此定位在靠近叶子节点处)。因此,在新近重新排序的栈中,树中的最高级的节点在栈的顶部部分。

在正在进行对接收到的信号的解码期间,对栈的每个后续存取将因此使用新近重新排序的栈。

在一个实施例中,用于减少栈中的节点的度量的量可以是正在被处理的树的当前层级k的正值函数g(k)(因此层级k是被展开的节点sk的层级)。

引入正值函数g(k)来对栈的节点进行重新排序因此使解码方法控制栈的填充成为可能并且使解码方法适应于所要求的解码复杂度和收敛时间。

在某些实施例中,可以仅执行重新排序步骤200-203的一次迭代。可替代地,可以执行重新排序步骤200-203的若干次迭代,以使得在解码期间可以对栈进行若干次重新排序。

即使不限于这样的应用,重新排序方法也可以用于解码过程的提早终止。例如,在其中通信信道包括深衰减以使得可能需要较长的解码过程来提供最优检测的情形中可能要求终止解码。因此可能需要较高的计算复杂度,但是有时这样的复杂度可能由于有限的硬件资源(算术逻辑单元、集成电路上的硅面积等)而并不可用。因此,在这样的情形中,为了使用可用的有限资源来保证吞吐量,可能需要牺牲最优检测。作为结果,根据解码终止过程,解码方法必须提前结束并且应当返回紧急的解。在常规方法(例如,仅可应用于球形解码器或schnorr-euchner(se)解码器的剪切方法)中,通过一旦触发终止警报就停止解码并将球内实际访问的点作为输出进行返回来终止解码方法。

根据适用于顺序解码器但提供次优性能的另一现有的终止方法,使用如在a.salah的lowcomplexitydecodingschemesformimosystems,inphddissertation,2010(zf-dfestandsforzero-forcingdecisionfeedbackequalization)中提出的zf-dfe终止技术来实现终止。根据该zf-dfe终止方法,当满足终止约束时,解码算法通过在每个树层级处仅访问栈顶部的当前节点的最佳子节点直至到达叶子节点为止来执行zf-dfe终止。

图3中示出了本发明的某些实施例向提早终止的应用。图3是描述适合响应于终止警报的激活而提早终止的可以由接收机3执行的顺序解码方法的流程图。

接收到的数据信号对应于由与信道矩阵h相关联的传输信道运输的已发送数据信号。

搜索树(在后文中也被称为“解码树”)可以通过在如上面描述的预解码阶段中对信道矩阵h进行qr分解(h=qr)以及通过将接收到的信号乘以qt来生成,其中,qt表示正交矩阵,而r表示解码等效系统中的生成矩阵。给定矩阵r的上三角结构,通过基于解码树的生成执行树搜索来求解ml优化问题。还可以对空的栈或列表进行初始化。

在步骤300中,选择根节点作为当前节点,并且将对(根,0)添加到栈的顶部位置处。

在步骤301中,将表示第一符号x1的所有概率的根节点的子节点(或后代节点)展开。具体地,针对正在处理的当前节点,可以通过投射到根据qr分解产生的矩阵r的第i层上来确定所有子节点或选定的一组子节点。

针对每个展开的子节点,在步骤302中,根据接收到的信号与根节点和所考虑的节点之间的路径之间的欧氏距离来计算子节点的度量fi(si)。

当已经处理了所有子节点时,在步骤303中,将布置在栈的顶部的节点从栈中移除。在步骤300至302的第一次迭代中,顶部节点是根节点。

在步骤305中,将所有子节点或者一组子节点(在步骤304中选择的)插入栈中。将每个子节点si与在步骤302中根据任一个fi(si)确定的其相应度量一起添加到栈中。还可以将附加的数据与每个子节点相关联地插入栈中,例如,路径和/或子节点的维度。

在步骤306中,根据与节点相关联的度量的递增次序来对栈中的节点进行布置。

在步骤307中,选择栈的顶部节点stop作为当前节点以便将其子节点展开。

在步骤308中,确定选定的节点是否为叶子节点。如果选定的节点为叶子节点(即,不具有子节点),则在步骤309中终止该方法。解码器然后可以返回对符号向量的估计。

否则,在步骤310中,将选定的节点设置为当前节点,并且可以针对新近选定的节点(其表示栈中具有最低度量的节点)重复步骤300至310,以生成解码树的下一层级j处的子节点,其中j包括在n-1至1之间。下一被处理的层级j取决于在栈中选定的顶部节点。

因此,步骤300至310的每次迭代(对应于对当前节点的处理)提供了存储在栈中的根节点与新的叶子节点之间的路径。

可以根据存储在栈中的节点信息并且特别地当这样的信息可用时存储在栈中的路径,对接收到的信号进行估计。例如,如果应用符号估计(硬决定),则树的构建实现了步骤300至310的单次迭代,使得能够确定与已发送数据信号的硬估计相对应的单个路径。可替代地,如果可以应用概率估计(软决定),则解码方法可以递送以对数似然比(llr)值形式的软输出信息。在该情况中,可以执行对步骤300至310的若干次迭代。每次迭代提供从根节点至叶子节点的不同路径(表示候选点阵点)。这些不同的路径(表示候选点阵点)然后可以与它们的路径一起被存储在辅助栈中。可以基于这些路径来确定信息信号的概率估计。

并行地,接收机3监测至少一个终止警报(步骤312)。终止警报被配置为当终止警报被激活时,施加解码过程的提早终止。解码器可以开始顺序解码,如关于步骤300至310所描述的,但是响应于对终止警报的触发,解码的提早终止可以通过按根据图2的步骤200-203的步骤对栈进行重新排序来实现,以便使得能够终止解码方法同时返回对接收到的信号的估计。可以取决于许多条件来将终止警报激活,例如,与计算复杂度c(其表示所有之前解码步骤中使用的乘法运算的数量)有关的条件、与处理时间有关的条件、与栈的尺寸有关的条件等。例如,如果计算复杂度c达到规定的阈值cth或规定阈值的一部分,则可以触发终止警报。

如果检测到终止警报已经被激活(步骤313),则对栈进行重新排序以施加解码的提前终止。更具体地,如果检测到终止警报(步骤313),则在步骤314中根据关于图2(步骤200-203)所描述的重新排序方法来对栈进行重新排序。更具体地,通过度量减少函数来减少栈中节点的度量,使得经修改的度量wk(sk)由公式(9)来给出:

wk(sk)=fk(sk)-g(k)

然后按照经修改的度量wk(sk)的递增的值(其中将最低度量放置在栈的顶部)对栈进行重新排序,并且移除栈的顶部节点。

将使用新近重新排序的栈来执行在解码方法的剩余期间所需的对栈的每个存取——例如,在步骤303中移除顶部节点、在步骤305中存储节点、或者在步骤306中对节点排序、或者在步骤307中选择顶部节点。应该注意的是,如果在执行根据步骤303、304、305以及306的对栈的存取时警报被触发,则可以仅当完成步骤303、304、305以及306的操作时才触发栈重新排序。

在某些实施例中,可以通过针对步骤300至310的每个迭代仅维持栈中的最低度量节点来进行解码过程(如同zf-dfe的终止)。

这包括在步骤315中仅在经重新排序的栈中维持顶部节点同时从经重新排序的栈中移除其它节点。然后在步骤316中,选择新近重新排序的栈的唯一节点(对应于最低度量节点的顶部节点)作为用于解码方法的下一次迭代的当前节点。

然后解码方法进行针对新近选定的节点的步骤300至310的迭代,但不是在步骤304至306中对所有子节点进行存储,而是仅将最低度量节点存储在栈中,直到到达叶子节点为止。在图2的示例中,添加用虚线标记的新步骤317,以仅维持栈中的最低度量节点。

因此,在每次后续迭代处,直至解码终止,栈将仅包括一个节点。

在每次将栈的重新排序激活时,解码方法可以使用相同的栈重新排序函数g(),或者可以针对对栈重新排序函数的不同调用来改变栈重新排序函数g()以优化解码。

在步骤301中根据包括在从根节点sn到当前节点si的路径中的树中的节点的权重度量来确定与子节点(si)相关联的度量fi(si)。

根据公式(10),在树的层级j处的节点的权重度量可以被确定为表示接收到的信号的向量的第j个分量与向量(sn…sj)之间的欧氏距离,向量(sn…sj)包括树中的j层级处的从根节点sn到当前节点sj的节点值:

公式(10)的权重度量表示针对分支(sj+1;sj)的度量。由于矩阵r的三角结构,对候选点阵点的搜索从分量sn开始。应该注意的是,节点sj的累积权重w(sj)表示路径s(j)的度量(树中的包括在从根节点sn到节点sj的路径s(j)中的节点的权重度量wj(sj)的总和)。因此,根据其等于形成路径的不同节点的所有权重的总和。使用该定义,公式(8)的ml度量最小化等效于对树中的具有最少累积权重的路径的搜索。

基于公式(10)中提供的定义,由栈重新排序方法确定的经修改的度量等于:

在某些实施例中,度量减少函数g(k)可以是以下形式的线性函数:

g(k)=αk+λ(12)

在公式(12)中,α指示斜率系数α,同时指示截距系数λ。

特别地,函数g(k)可以是积性函数(λ=0):

g(k)=αk(13)

在某些实施例中,度量减少函数(公式12或13)的系数参数α可以是正实数值。可以取决于解码方法的期望收敛时间和/或复杂度来选择系数参数α的值。特别地,已经确定系数参数α的值与收敛时间速度成正比并且与解码方法的复杂度成反比。因此,如果要求快速的收敛时间和低复杂度,则可以选择大的系数参数α的值。

可以选择系数参数α的值是snr相关的。特别地,可以根据加性信道噪声等级来定义系数参数α的值,举例来说例如,根据公式14,:

在公式(14)中,α2指示mimo信道加性噪声的方差。

可替代地,度量减少函数g(k)可以为k的多项式函数。

在本发明的另一实施例中,栈重新排序步骤可以用于管理栈的尺寸。事实上,在顺序解码器的实际实现方式中,记下在解码过程期间所访问的节点的栈由于有限的硬件资源而经常具有固定的尺寸。针对所有mimo系统配置和星座尺寸采用固定的尺寸可以引起解码过程中的次优性,特别是在面临较差的信道实现时。可能发生展开的节点(在步骤301中生成的)的数量超过栈的尺寸,而栈的尺寸受到k个节点的约束。对该问题的现有解决方案是对解码器进行配置,使得当超过尺寸时仅一直保持栈中的顶部的k个节点同时清除具有最高度量的节点。然而,该方法不提供ml性能。

图4示出了使用根据某些实施例的栈重新排序方法的本发明向栈尺寸管理的示例性应用。出于示例说明的目的,在后文中关于使用sb栈算法的顺序解码器对该应用进行描述。特别地,图4示出了描述根据某些实施例的实现栈尺寸管理并且可以由接收机3执行的顺序解码方法的流程图。

在如关于图3所描述的通过对信道矩阵h的qr分解(h=qr)来生成解码树的预解码阶段之后开始进行对接收到的信号的解码。

步骤400至410类似于步骤300至310。然而,步骤404包括选择半径为cs的球形中的一组子节点(球形约束以不等式表达)。这涉及仅访问具有包括在区间ii=[binf,i;bsup,i]中的值的节点,其中,binf,i和bsup,i取决于球形半径被存储在栈中。针对表示要被解码的信号中的符号的分量的每个节点来确定区间。具体地,可以通过以下边界来定义针对每个检测到的符号si的搜索区间ii,使得binf,i≤si≤bsup,i:

其中:

pii=rii2其中i=1,…,n

其中j=i+1,…,n

只有当子节点的节点值包括在搜索区间中时,才如此在步骤404中选择每个子节点作为候选点阵点的分量。因此,在解码过程期间访问的节点的数量则取决于针对每个符号si的区间ii,搜索区间的边界取决于球形半径cs。

并行地,接收机3关于栈的最大尺寸kmax监测栈的填充。解码器可以如关于步骤400至410所描述的开始顺序解码,并且响应于当对搜索空间内的子节点进行延伸时栈的尺寸超过量kmax–p(步骤412),其中p指示控制参数,使得p大于或等于零。在一个实施例中,控制参数p可以等于零。当检测到与栈的最大尺寸kmax有关的条件时,在步骤413中应用如关于图2(步骤220-203)所描述的重新排序方法:解码器引入度量减少函数g(k),重新计算栈中的所有节点的度量,使得对于在层级k处的节点sk,其经修改的度量wk(sk)由公式9给出:

然后按照新推导的度量wk(sk)的递增的值对经修改的栈进行重新排序(图2的步骤203)。

在步骤414中,通过移除处于经重新排序的栈底部的选定的或预先确定的数量的节点来释放栈的一部分。

每次检测到与栈的尺寸kmax有关的条件(步骤412)时,对步骤413和414进行迭代。在某些实施例中,参数p在整个解码过程期间可以是固定的。可替代地,参数p可以针对步骤413和414的每次新的迭代进行更新。

使用根据本发明的实施例的栈重新排序方法,偏向树中最高级的节点,并且对栈进行重新排序,使得顶部节点具有最小度量并且最接近于叶子节点的层级。在选择一组顶部节点并且移除多个超出的节点的步骤(414)之后,解码器可以使用权重度量的未减少的计算wk(sk)=fk(sk)(如在步骤301中确定的)继续进行树搜索。应该注意的是,可以静态或动态地选择或者取决于各种参数来预先确定在栈中维持的节点的数量。

无论何时栈超过其尺寸限制,可以根据步骤412-414将栈重新排序方法应用一次或若干次。在对接收到的信号进行解码期间,可以针对栈重新排序方法的每个应用选择相同或不同的函数g(k)。

即使不限于这样的应用,该实施例也特别地适用于具有小尺寸的栈,重新排序步骤允许获得最佳复杂度/性能折衷。

图5和图6分别示出了在使用空间复用和16-qam调制并且平均超过105信道实现的4×4mimo通信系统(nt=4且nr=4)中利用根据某些实施例的解码方法的仿真获得的作为snr(db)的函数的符号错误率(ser)以及总计算,该解码方法实现了用于解码的提早终止的栈重新排序方法。

在图5和图6中,示出了两条曲线50和52,曲线50对应于常规zf-dfe终止解决方案,并且曲线52对应于根据本发明的某些实施例的提早终止。图5和图6中的曲线52对应于使用g(k)=αk(其中,α=2)积性类型的度量减少函数的栈重新排序方法。

当触发终止警报以通知解码过程即将结束时,解码器对存储在栈中的节点的度量进行重新计算,对其进行重新记录,并且退出为zf-dfe终止模式,如以上关于图3所描述的。示出了错误率性能的图5显示虽然根据某些实施例的重新排序技术(曲线52)可能在重新计算节点的度量中引入次优性,但是其提供了与不进行栈重新排序的常规zf-dfe终止方法(曲线50)相同的错误性能。图6示出了栈重新排序方法在应用于提早终止时的主要优点在于其要求较低的总体解码复杂度并且由此比常规方法快的收敛时间。

图7表示本发明的sb栈实施例中的接收机3的空间/时间解码器30的示例性架构。如所示的,空间/时间解码器30可以包括以下元件,其通过数据和地址总线64链接在一起:

-微处理器61(或cpu),例如,其为数字信号处理器(dsp);

-非易失性存储器62(或rom、只读存储器)

-随机存取存储器ram63;

-用于接收来自时间/频率转换器的输入信号的接口65;

-用于将经解码的数据发送至解调器31的接口66。

非易失性rom存储器62可以包括例如:

-寄存器“prog”620;

-度量减少函数g(k)的系数621,当确定地对这样的系数进行设置时(例如,这样的系数在函数g(k)是线性类型时可以包括斜率系数α和截距系数λ,或者在函数g(k)是多项式类型时可以包括多项式系数);

-与栈重新排序激活条件622有关的参数,例如:

·本发明的栈尺寸管理应用中的栈的最大尺寸kmax和控制参数p,和/或

●与本发明的终止应用中的终止警报有关的阈值。

用于实现根据本发明的该实施例的方法的算法可以被存储在程序620中。cpu处理器41可以被配置为将程序620下载至ram存储器并且运行对应的指令。特别地,cpu包括用于确定经估计的符号的指令,经估计的符号表示接收到的信号所携带的已发送的符号,经估计的符号通过递归地将解码树的当前节点展开而被确定,树的节点对应于所述接收到的数据信号中的符号的可能的分量,树中的每个节点与相应的度量相关联,所述当前节点对应于栈中的具有最高度量的节点,并且通过将所展开的节点中的至少一些节点存储在所述栈中,每个节点与其相应的度量相关联地被存储在栈中,并且在从栈中移除当前节点之后按照与栈中的每个节点相关联的度量的递增的值对栈进行排序。

cpu还包括用于监测至少一个栈重新排序激活条件的指令,并且响应于栈重新排序激活条件被验证,将与栈中的每个子节点相关联的度量减少选定的或预先确定的量,按照经减少的度量的递增的值来对栈进行重新排序,并且维持经重新排序的栈的节点中的至少一些节点,利用如此重新排序的栈,解码继续进行。

ram存储器63可以包括:

-寄存器prog630中的由微处理器61运行并且以空间时间解码器30的活动模式下载的程序;

-寄存器631中的输入数据;

-与寄存器632中的节点有关的数据;

-寄存器634中的似然概率或者llr。

针对解码树的节点,存储在寄存器632中的数据可以包括与该节点相关联的度量参数(从根节点到所述节点的路径和/或树中的深度)。

更一般地,本文中所描述的解码技术可以通过各种手段来实现。例如,这些技术可以以硬件、软件或其组合来实现。对于硬件实现方式,解码器的处理元件可以例如根据纯硬件配置(例如,在具有对应存储器的一个或多个fpga、asic或vlsi集成电路中)或者根据使用vlsi和dsp两者的配置来实现。

虽然已经通过各种示例的描述示出了本发明的实施例,并且虽然以相当的细节对这些实施例进行了描述,但是申请人的意图并非是将所附权利要求的范围限定或以任何方式限制于这样的细节。特别地,本发明并不限于特定类型的顺序解码器。更一般地,本发明可以应用于使用最佳优先树搜索来搜索候选点阵向量的任何顺序解码器,例如,栈解码器、fano解码器、实现m算法的解码器、sb栈以及z字形(zigzag)栈解码器,如在专利申请epn°14306517.5中所描述的。类似于sb栈解码器,z字形解码器使用栈,但是不同于在球中搜索候选点阵点,z字形解码算法在步骤301中生成至多三个子节点,包括:根据表示接收到的数据信号的向量而确定的当前节点的参考子节点,通过从参考节点的值中减去正整数参数而确定的第一邻近子节点,以及通过将正整数参数加上参考子节点的值而确定的第二邻近子节点。在步骤304中,在三个子节点之中对子节点进行选择。然后可以类似于sb栈解码器将选定的子节点与其相应的度量一起存储在栈中,然后按照节点度量的递增次序对栈进行重新排序。将由此获得的栈的顶部节点选为新的当前节点来对递归搜索操作进行迭代。

此外,虽然已经出于示例说明的目的关于度量减少量的某些示例并且特别是关于其中是树中的节点sk的层级k的函数的这样的量的某些示例对本发明进行了描述,但是应该理解本发明不限于这样的示例。

另外,本发明不限于以上所描述的提早终止和栈管理应用。

此外,本发明的各种实施例不限于特定类型的检测,并且应用于硬检测和软检测两者。

此外,虽然已经关于涉及单对发射机/接收机的无线mimo系统对本发明的一些实施例进行了描述,但是应该注意本发明不限于这样的应用。可以将本发明集成在以下任何接收机设备中:其在特征在于对信道输出的线性表示的任何线性通信系统中操作。通信系统可以是有线的、无线的或者基于光纤的容纳单个或多个用户、使用单个或多个天线以及单载波或多载波通信技术。例如,可以将本发明集成在被实现在无线分布式mimo系统中的接收机设备中。分布式mimo例如可以在应用在3g、4g、lte以及未来5g标准中的蜂窝通信中使用。例如在自组织网络(无线传感器网络、机器对机器通信、物联网等)中所应用的协作式通信也是分布式mimo系统的示例。除了无线网络之外,可以将本发明集成在光接收机设备中,该光接收机设备被实现在诸如极分复用-ofdm(pdm-ofdm)系统之类的基于光纤的通信系统中。

此外,本发明不限于通信设备并且可以集成在信号处理设备中,例如,在如音频交叠和音频控制的音频应用中使用的有限脉冲响应(fir)的电子滤波器。因此,一些实施例可以用于在给定m阶的fir滤波器的输出序列的情况下确定对输入序列的估计。

在另一应用中,根据本发明的一些实施例的方法、设备以及计算机程序产品可以在以下中实现:全球导航卫星系统(gnss),例如,irnss、beidou、glonass、galileo;gps,例如至少包括用于使用例如载波相位测量来估计位置参数的gps接收机。

此外,根据本发明的一些实施例的方法、设备以及计算机程序产品可以实现在用于确定私有秘密值的估计的密码系统中,在密码算法中使用该估计来在数据或消息的存储、处理或传送期间对其进行加密/解密。在基于点阵的密码应用中,数据/消息以点阵点的形式被加密。根据本发明的一些实施例可以有利地执行对这样加密的数据的解密,实现以降低的复杂度对秘密值进行成功恢复的高概率。

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