在多输入多输出系统中实现软判决的方法转让专利

申请号 : CN200610076617.7

文献号 : CN101060385B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵慧龙航郑侃王文博

申请人 : 大唐移动通信设备有限公司

摘要 :

本发明公开了一种在多输入多输出系统中实现软判决的方法,关键是,以接收矢量为中心确定一定半径的球,然后搜索所有落在球内的栅格点,确定落于所述球体内的所有幸存路径,将所有幸存路径所对应的栅格点的权值全部保留以用于计算软信息,实现软判决。本发明与现有技术相比,只应用了一个球体,且将该球体内的所有幸存路径所对应的栅格点的权值全部保留,以用于计算软信息。由于在选择幸存路径的过程中这些幸存路径所对应栅格点的权值已经被计算了出来,因而并没有给现有系统增加任何负担。而且,由于栅格点数量的增加,保证了软信息计算的准确性,因而在保证了系统性能的同时,降低了软判决的复杂度。

权利要求 :

1.一种实现软判决的方法,应用于多输入多输出系统中,其特征在于,该方法包括以下步骤:a、以接收矢量为中心确定初始半径C;

b、根据初始半径C所定义的球体,确定落于该球体内的所有幸存路径,得到包含所有幸存路径的幸存路径集合;

c、根据步骤b所述幸存路径集合计算软信息,进行软判决操作;

其中,步骤b所述确定半径为C的球体内所有幸存路径的步骤为:b1、令

其中,ρ=QHy=(ρ1,ρ2,...,ρNr)T,rii是上三角矩阵R中的元素值,是满足边界条件的第j根天线上符号的解;Nt为发射天线数;y是Nr×1的接收信号矢量,Nr为接收天线数,Nt≤Nr;其中,i=Nt,Nt-1……,1,i表示第i根天线;j为意义同i的变量;Q是酉矩阵;

b2、将步骤b1所述的Si带入第i层节点满足边界条件的公式,得到其中,Ci是第i层的搜索半径,且 Ei+1是第i+1层的权值;

所述边界条件的公式为:

b3、根据步骤b2得到半径为C的球体内所有的幸存路径,同时计算出每个幸存路径所对应的栅格点的权值。

2.根据权利要求1所述的方法,其特征在于,步骤a所述初始半径C根据噪声功率确定,具体方法为:2

C=2ασNr

2

其中,α是用于调整半径的经验系数,σ 为接收信号的噪声功率,Nr是接收天线的个数。

3.根据权利要求1所述的方法,其特征在于,所述步骤b2后还包括:b21将步骤b2所述 进行实虚部分解,得到不等式方程组所述步骤b3进一步为:根据步骤b21所述不等式方程组应用实数操作,得到半径为C的球体内所有的幸存路径,同时计算出每个幸存路径所对应的栅格点的权值。

4.根据权利要求1或3所述的方法,其特征在于,步骤c所述根据幸存路径集合计算软信息的方法为:根据所计算出的所有幸存路径对应的栅格点的权值计算软信息,进行软信息判决。

5.根据权利要求1所述的方法,其特征在于,如果幸存路径集合中所有幸存路径的某个比特取值都相同,则进一步包括:根据经验值扩大步骤a所述初始半径,再重新执行步骤b和步骤c。

说明书 :

在多输入多输出系统中实现软判决的方法

技术领域

[0001] 本发明涉及多输入多输出(MIMO)系统技术领域,特别是指一种在多输入多输出系统中获取软信息的方法。

背景技术

[0002] 在多输入多输出(MIMO)理论中,多根发射和接收天线能够大幅度的提高系统的容量,因而在B3G/4G无线通信系统的研究中成为一个热点。贝尔实验室分层空时结构(BLAST)就是针对强散射、平坦衰落无线信道的一种著名的传输方案。最大似然比(ML)是最优的检测准则,但是它的复杂度随着发送天线数和调制阶数指数的增长而增长。次优的线性检测算法采用迫零算法(ZF)或最小均方误差(MMSE)准则,复杂度比较低。但是这两种算法不能获得满接收分集增益,性能大大劣于ML。因此,很多文章提出了低代价性能较优的检测算法,比如球形译码(SD)检测算法。这种算法的复杂度是发送天线数的三次方函数,同时也能保持与ML检测相同的性能。
[0003] 传统的单天线链路都是二维的星座图,但是对于MIMO系统,发射矢量所对应的是Nt Mc一个2 维的超空间,包含了2 ×Nt个星座点,其中,Nt为发射天线数,Mc是调制阶数,由于整个空间中这些星座点组成了立体的栅格,所以也称之为栅格点。SD算法首先把搜索范围限制为这个超空间中的球体,再通过一些搜索方案来寻找满足最大似然条件的最优解。
这样避免了ML所需要的穷举搜索。有很多文章在SD算法的预处理操作和搜索策略上做了研究以通过最少的访问尽快的找到离接收矢量最近的星座点。这里介绍一种基于分支定界(BNB)搜索策略的球形译码算法。
[0004] 假设平坦不相关的MIMO信道,信号模型是
[0005] y=Hx+n (1)
[0006] 式(1)中的y是Nr×1的接收信号矢量,Nr为接收天线数;H是Nr×Nt维的信道Mc矩阵,且Nt≤Nr,x是一个有Nt个符号的发射矢量,每一个符号都取自大小为2 的星座
2
图X;n是高斯白噪声矢量,其均值为0,协方差矩阵是σINr,其中协方差矩阵中的INr代表
2
Nr×Nr的单位阵,σ 为接收信号的噪声功率。
[0007] 满足最大似然条件的最优解是: 也就是说,该等式左边的 即为最优解,等式右边即为所需要满足的条件。
[0008] 对H做QR分解得到:H=Q·R。由于Q是酉矩阵,R是上三角矩阵,则最优解的条件可以改写为:
[0009]
[0010] 其中ρ=QHy=(ρ1,ρ2,...,ρNr)T。因为R是上三角矩阵,所有可能的符号矢量可以用倒置树的结构来表示,如图1所示的Nt=2,采用QPSK的系统,其搜索树第一层就表示 的四种可能性,第二层的节点表示基于第一层不同的选择之后所有 的可能性。树中的每一条路径表征一个序列 和相应的权值Ei,其中,i=Nt,Nt-1……,1,i表示第i根天线。每一个可能的符号矢量即最优解 对应着一条从根节点到树的最后一层的路径,其有一个权值,这个权值也就是(2)式所表示的条件——衡量了候选栅格点到接收矢量的距离。
[0011] 由于是 首先被检测,所以以降序排列,因而Ei+1首先被计算出,根据Ei+1才能算出Ei。
[0012]
[0013] 式(3)中j为意义同i的变量,rii是上三角矩阵R中的元素值,其余变量的含义与前述相同。
[0014] 因为式(3)中的第二项对于同一层的所有节点是一样的,因而在比较同层节点权值时这项可以被省略。所以对应着路径 的第i层的节点,它的权值Ei可以被重写为
[0015]
[0016] 为了能够迅速找到距离接收矢量最近的点,根据边界条件
[0017]
[0018] 找到待计算权值的栅格点。其中,式(5)中的Ci是第i层的搜索半径,且C是初始半径。
[0019] 这样就形成了一棵节点上都带有权值的树,如图2所示。根据深度优先搜索策略能够最快的进入到下一层,而所需要的解就在最下一层。在找到最下层一个小于当前搜索半径的点之后,搜索半径被缩小为当前解的权值,也就形成了新的边界条件,继续回到上一层进行搜索直到找到一个位于最下一层权值最小的点。
[0020] 在经过同层节点排序之后,如果父节点拥有较小的权值,那么其子节点有很大的概率比其他子节点的权值小,因而这一方法能最快有效的找到最优解。如图2中所示,权值为2.0的节点由于比其同父节点的左侧节点权值高,它就不会被访问到,而权值为2.5和1.3的节点都大于此时的半径1.2而不会被访问。这里由于同层内权值的排序和可缩小的搜索半径避免了很多不必要节点的访问,因而大大节约了检测的复杂度。如此,便应用分支定界(BNB)搜索的方式找到了离接收矢量最近的星座点。
[0021] 当信道转移矩阵是一个归一化的单位矩阵I时,不管噪声多强,寻找到的从根节点到第一个位于底层节点的路径正是具有最小权值的解。即,在最后一层只有一条幸存路径(它的权值比当前半径小,每个幸存路径对应着一个栅格点)。当信道矩阵的条件数(矩阵的最大奇异值比最小奇异值,这一物理量可以衡量多维星座各维被伸缩的程度)上升时,幸存路径数也上升。如图2所示,有三条幸存路径。在有信道编码的系统中,就可以利用得到的M条幸存路径和相应的权值来生成比特的软信息,以用来作为Turbo译码器的输入。
[0022] 第i根发射天线的第b个比特的软比特权值 被定义为:
[0023]
[0024]
[0025] 其中 是z的概率密度函数,E(i,b),v是第i根天线第b个比特取值为“v”的幸存路径的权值,v的取值为-1或1。
[0026] 但是这种分支定界的搜索策略决定了其所能保留下来的幸存路径个数没有保障,在信道条件数较低时,幸存路径个数会很少,这样非常有可能所有路径上第i根天线第b个比特都取了相同的值,那么式(6)中的两项中就会有一项没有取值。这是所有限制搜索空间的检测算法都可能出现的情况。而在ML检测中,因为所有的栅格点都要被访问,总有一半的路径的这个比特取+1,另一半路径的这个比特取-1,因此不会出现没有取值的情况。
[0027] 为了解决幸存路径个数过少的问题,在“Soft-input soft-output lattice spheredecoder for linear channels”(Joseph Boutros,Nicolas Gresset etc.GLOBECOM,2003,pp:1583-1587)中给出了一种软判决的方法,具体为:
[0028] 首先,采用分支定界算法寻找最优解,即离接收向量y最近的栅格点也即图3中带有斜线的点。图3(a)中虚线球的半径在球形译码算法之前已通过概率确定。
[0029] 其次,以上述最优解为中心,即以离接收向量y最近的栅格点为中心,搜索并保留一定半径内的所有栅格点作为幸存路径,正如图3(b)所示。图3(b)的实线球半径可以调整幸存路径的数目。为了得到较可靠的软信息,根据信道矩阵来调整实线球半径的大小,以保证足够幸存路径的个数。
[0030] 最后,获得了由分支定界解和它的六个邻居共同组成的幸存路径集合,参见图3(b),根据该幸存路径集合生成软信息,实现软判决。
[0031] 如果出现所有幸存路径的某个比特都取相同值的情况,就扩大第二阶段的半径,即扩大图3(b)的实线球半径再次搜索,直到获得合适的幸存路径集合,生成软信息为止。
[0032] 由于上述软判决方法是通过两个球体来确定搜索的区域的,因而可将其称为“double-SD”。
[0033] 上述double-SD有一个很大的缺陷,即当接收矢量y位于栅格集合空间之外且较远时,根据分支定界搜索找到的与y最近的解的邻居们并不一定也距离y最近,这样会导致软信息产生很大的误差,进而使软判决不准确。参见图4,图4中的A点是分支定界的解,在以A为中心一定半径的球体内搜索A的邻居,得到图中的点B、C和D,它们与A组成了幸存路径集合,根据公式(6)来计算发射矢量Nt·Mc个比特的软信息。但可以发现求某个比特取与A相反取值的路径的最小权值时,这一最小值并不是真正的最小值。因为位于实线球体之外的点E明显比C和D距离y更近,也就是说它的权值更小。
[0034] 当信道条件数较大时,发生这种现象的概率就会很大。因为栅格集合在超空间的每一维度上的伸缩程度差异很大,虽然A距离y最近,但落于以A为中心的球体内的栅格点和落于以y为中心的球体内的栅格点就会有很大的差别。虽然为了改善性能通过扩大以A为中心的球体的半径,可以把点E也包括进来,但这样同时也会囊括进一些不必要的栅格点,这种扩张半径再搜索,以及计算不必要栅格点权值的操作都会使得计算软信息的复杂度增加,从而也增加了软判决的复杂度。

发明内容

[0035] 有鉴于此,本发明的目的在于提供一种在多输入多输出系统中实现软判决的方法,既可以准确获取软信息保证系统性能,又可以降低实现复杂度。
[0036] 为达到上述目的,本发明的技术方案是这样实现的:
[0037] 一种实现软判决的方法,应用于多输入多输出系统中,该方法包括以下步骤:
[0038] a、以接收矢量为中心确定初始半径C;
[0039] b、根据初始半径C所定义的球体,确定落于该球体内的所有幸存路径,得到包含所有幸存路径的幸存路径集合;
[0040] c、根据步骤b所述幸存路径集合计算软信息,进行软判决操作。
[0041] 其中,步骤b所述确定半径为C的球体内所有幸存路径的步骤为:
[0042] b1、令H T
[0043] 其中,ρ=Qy=(ρ1,ρ2,...,ρNr),rii是上三角矩阵R中的元素值,是满足边界条件的第j根天线上符号的解;Nt为发射天线数;y是Nr×1的接收信号矢量,Nr为接收天线数,Nt≤Nr;其中,i=Nt,Nt-1……,1,i表示第i根天线;j为意义同i的变量;Q是酉矩阵;
[0044] b2、将步骤b1所述的Si带入第i层节点满足边界条件的公式,得到[0045]
[0046] 其中,Ci是第i层的搜索半径,且 Ei+1是第i+1层的权值;
[0047] 所述边界条件的公式为:
[0048] b3、根据步骤b2得到半径为C的球体内所有的幸存路径,同时计算出每个幸存路径所对应的栅格点的权值。
[0049] 较佳地,步骤a所述初始半径C根据噪声功率确定,具体方法为:
[0050] C=2ασ2Nr
[0051] 其中,α是用于调整半径的经验系数,σ2为接收信号的噪声功率,Nr是接收天线的个数。
[0052] 较佳地,所述步骤b2后还包括:
[0053] b21将步骤b2所述 进行实虚部分解,得到不等式方程组
[0054]
[0055] 所述步骤b3进一步为:根据步骤b21所述不等式方程组应用实数操作,得到半径为C的球体内所有的幸存路径,同时计算出每个幸存路径所对应的栅格点的权值。
[0056] 较佳地,步骤c所述根据幸存路径集合计算软信息的方法为:
[0057] 根据所计算出的所有幸存路径对应的栅格点的权值计算软信息,进行软信息判决。
[0058] 较佳地,如果幸存路径集合中所有幸存路径的某个比特取值都相同,则进一步包括:根据经验值扩大步骤a所述初始半径,再重新执行步骤b和步骤c。
[0059] 本发明的关键是,以接收矢量为中心确定一定半径的球,用于限定搜索区域,然后,搜索所有落在球内的栅格点,确定落于初始半径所定义的球体内的所有幸存路径,将所有幸存路径所对应的栅格点的权值全部保留下来用于计算软信息,实现软判决。本发明与现有技术相比,只应用了一个球体,而且将该球体内的所有幸存路径所对应的栅格点的权值全部保留,以用于计算软信息。由于在计算幸存路径的过程中这些幸存路径所对应栅格点的权值已经被计算了出来,因而,并没有给现有系统增加任何负担。而且,由于栅格点数量的增加,保证了软信息计算的准确性,因而在保证了系统性能的同时,降低了软判决的复杂度。

附图说明

[0060] 图1是球形译码中Nt=2,Mc=2时所用的搜索树;
[0061] 图2是在一棵带有权值的树中进行BNB搜索的示意图;
[0062] 图3(a)是用于寻找最优BNB解的double-SD搜索第一阶段;
[0063] 图3(b)是用于搜索BNB解的邻居的double-SD搜索第二阶段;
[0064] 图4是用于指示double-SD算法在信道条件数较大时所存在的问题的示意图;
[0065] 图5是应用本发明的实现软判决的流程示意图;
[0066] 图6是double-SD和direct-SD两种算法的复杂度和BER性能在不同Eb/N0时的综合对比图;
[0067] 图7是double-SD和direct-SD两种算法在相同性能时的复杂度对比图。

具体实施方式

[0068] 下面结合附图对本发明做进一步的详细说明。
[0069] 本发明的思路是:首先以接收矢量为中心确定一定半径的球,用于限定搜索区域,然后,搜索所有落在球内的栅格点,确定落于初始半径所定义的球体内的所有幸存路径,将所有幸存路径所对应的栅格点的权值全部保留下来用于计算软信息。在此,将本发明的方法称为“direct SD”。
[0070] 图5所示为应用本发明的流程示意图。
[0071] 步骤501,以接收矢量为中心确定初始半径C。在确定初始半径C时,既可以根据噪声功率确定初始半径C,也可以根据现有的任何方法确定初始半径C。
[0072] 如果根据噪声功率确定初始半径C,则可以应用式(7)所述方式:
[0073] C=2ασ2Nr (7)
[0074] 其中,α是用于调整半径的经验系数,σ2为协方差矩阵中的接收信号的噪声功率,Nr是接收天线的个数。
[0075] 步骤502,根据初始半径C所定义的球体,确定落于该球体内的所有幸存路径,得到包含所有幸存路径的幸存路径集合。
[0076] 计算半径为C的球体内所有幸存路径的步骤为:
[0077] 01)令 其中,ρ=QHy=(ρ1,ρ2,...,ρNr)T,rii是上三角矩阵R中的元素值,是已保留的满足边界条件(5)的第j根天线上符号的解;
[0078] 02)将步骤01)所述的Si带入第i层节点边界条件的公式,即前述式(5)得到[0079]
[0080] 其中,Ci是第i层的搜索半径,且 Ei+1是第i+1层的权值;
[0081] 03)根据式(8)得到半径为C的球体内所有幸存路径。
[0082] 虽然根据式(8)已经能够获得幸存路径,但为了能够减少步骤03)的计算复杂度,进一步将式(8)进行实虚部分解,得到不等式方程组
[0083]
[0084] 根据式(9)所述不等式方程组应用实数进行操作,可以很容易地得到半径为C的球体内所有幸存路径,此处仅涉及数学变换,不再进行过多阐述。
[0085] 上述在获得幸存路径的同时,这些幸存路径所对应栅格点的权值也同时被计算了出来,具体计算过程同现有技术。
[0086] 步骤503,根据步骤502所述幸存路径集合计算软信息,进行软判决操作。具体计算方法为:
[0087] 根据已计算出的幸存路径所对应的栅格点权值进行软信息判决。此计算软信息的方法与现有技术相同,不再详细赘述。
[0088] 如果幸存路径集合中所有幸存路径的某个比特取值都相同,则可以根据经验值扩大步骤501所述的初始半径,再重新执行步骤502和步骤503。在仿真测试中,经验值取1.2倍,即扩大后的初始半径C′=1.2C。但是,出现这种情况的概率非常小,而且相比double-SD中小得多。
[0089] 可见,本发明的direct SD与现有技术相比,只应用了一个球体,而且将该球体内的所有幸存路径所对应的栅格点的权值全部保留,以用于计算软信息。由于在搜索幸存路径的过程中这些幸存路径所对应栅格点的权值已经被计算了出来,因而,并没有给现有系统增加任何负担。而且,由于所保留的栅格点数量的增加,保证了软信息计算的准确性。
[0090] 为了对上述方案性能进行评估,搭建了Matlab仿真平台对其进行了仿真测试。在发端400个数据比特串并变换分成4个数据流,每个数据流经过独立的编码速率为1/2的Turbo编码后,进行16QAM调制,然后从4根天线上发送出去。经历了块衰落信道后,被4根接收天线接收,然后进行SD检测,出来的四个数据流分别进行独立的Turbo译码,最后并串变换为一个比特流,并与发射数据进行比较,统计误比特率(BER)。2
[0091] 在图6中,圆圈符号上边的数字表示double-SD第二阶段搜索半径的平方,用R 表示。三角符号下边的数字表示direct-SD算法公式(6)中控制搜索阈半径的参数α。带有圆圈符号的线条表示对double-SD的测试结果,带有黑三角符合的线条表示对direct-SD的测试结果。图6中的横轴坐标表示检测模块中的平均浮点操作运算数(FLOPS)。这里用这一指标来衡量一个算法的复杂度,FLOPS统计了算法中浮点数的加减乘除的操作次数。左纵坐标是BER,右纵坐标表示Eb/N0,每个Eb/N0对应图中相同维度的两条曲线。在这样一张图中就可以综合的衡量一个算法的计算复杂度与判决性能,位于左下角的点表示该算法BER性能好且算法复杂度低。判决复杂度与Eb/N0有关,低Eb/N0时复杂度高这是球形译码的共同特点。两种判决都会随着包纳幸存路径的球体半径的增大而使复杂度增大,但性能会趋于同一个稳定值,因为两种球形译码都会收敛于ML检测的性能,不过direct SD会在复杂度较低的时候就已经达到性能收敛。从图6中每两组曲线上都抽取性能稳定时的点,将它们的复杂度列于图7中,图7的横坐标是Eb/N0,纵坐标是FLOPS。从图7中可以更明显的看出复杂度随Eb/N0变化的趋势。而在每一个Eb/N0处,direct-SD所需要的复杂度几乎都是double-SD的一半。
[0092] 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。