一种多输入多输出系统的信号检测方法和装置技术领域
本发明涉及无线通信系统的信号检测技术,尤其涉及一种多输入多输出
(MIMO)系统的信号检测方法和装置。
背景技术
MIMO技术已经成为新一代无线通信系统的关键技术之一。MIMO系统在
发射端和接收端均采用多个天线,多个数据流在相同时间和频带被发送和接收。
与传统的单输入单输出(SISO)系统相比,MIMO系统接收端接收到的是在时
间上和频带上均相互重叠的多路信号,因此MIMO系统的信号检测复杂度远高
于SISO系统的信号检测。
MIMO系统的信号检测可以采用最大似然检测(ML)方法,但由于最大似
然检测需要遍历所有可能的发射向量,其复杂度与调制阶数和发射天线数的乘
积成指数关系,在调制阶数和发射天线数较大的情况下,由于其复杂度太高,
在实际系统中基本无法采用。为了在保持最大似然算法的性能的同时降低计算
复杂度,很多学者提出了一些改进的算法,其中包括球形译码算法、K-Best算
法等。
球形译码算法是一种基于深度优先的树搜索算法,基本思想是,只在接收
到的信号y周围半径为d的超球内对所有节点进行搜索,以此来减小计算复杂
度。
球形译码的复杂度与初始球半径呈指数式关系,合理的初始球半径选取对
于降低球形译码的复杂度具有重要意义,过大的初始球半径会导致过大的运算
复杂度,而过小的初始球半径又可能导致搜索失败。
K-Best算法也是一种基于树搜索的MIMO检测算法,不同的是,K-Best
算法是一种基于宽度优先的树搜索算法。K-Best算法在每一层的搜索中,只保
留K个节点,在这K个节点中继续搜索。在有些文献中,K-Best算法也称为M
算法。
现有技术中,MIMO系统模型如图1所示,发射天线数为M,接收天线数
为N,用公式(1)表示为:
y=Hs+n (1)
其中,y=[y1,y2,…,yN]T表示N×1维接收信号向量,s=[s1,s2,…,sM]T表示M×1维
发送信号向量,n=[n1,n2,…,nN]T表示N×1维接收端噪声向量,H为N×M维的信
道增益矩阵。
采用最大似然方法可以得到公式(2):
s ML = arg min s ∈ Ω M | | y - H · s | | 2 - - - ( 2 ) ]]>
对H作QR分解得到式(3):
H = [ Q 1 , Q 2 ] R O - - - ( 3 ) ]]>
其中,Q=|Q1,Q2]为N×N维的酉矩阵,Q1的维数为N×M,Q2的维数为
N×(N-M),R为M×M维的上三角矩阵,O为(N-M)×M维的零矩阵。
由于Q为酉矩阵,可以得到式(4):
| | y - H · s | | 2 = | | Q 1 H · y - R · s | | 2 + | | Q 2 H · y | | 2 - - - ( 4 ) ]]>
定义由式(4)得到式(5):
球形译码算法只在接收信号y周围半径为d的超球内对所有节点进行搜索,
得到相应格点,即||y-H·s||2≤d2,代入(5)式,定义d′2=d2-C,可以得到式(6):
|y′M-rM,MsM|2+|y′M-1-rM-1,MsM-rM-1,M-1sM-1|2+...≤d′2 (6)
由|y′M-rM,MsM|2≤d′2可以求得节点sM的可能取值,把所有可能的节点sM代入
|y′M-rM,MsM|2+|y′M-1-rM-1,MsM-rM-1,M-1sM-1|2≤d′2,可以求得节点sM-1的可能取值,以
此类推,一直到达第1层,得到节点s1的可能取值;上述搜索到的节点序列sM~s1
的组合作为相应的球形译码获得的格点。
球形译码的初始搜索半径d可以通过噪声方差来计算,如下式(7)所示:
d2=α·n·σ2(7)
其中α为初始搜索半径系数,n为两倍发射天线数,σ2为噪声方差。
在这个球内至少能找到一个星座点的概率为:
∫ 0 αn / 2 λ n / 2 - 1 Γ ( n / 2 ) e - λ dλ = 1 - ϵ - - - ( 8 ) ]]>
其中,Γ为伽玛函数,λ为积分变量。
例如,当α=1.0,n=8时,概率1-ε为0.5665;当α=2.0,n=8时,概率1-ε
为0.9576。
K-Best算法基于宽度优先的搜索,在每层选择一定数目的节点,每层节点
的数目可以不同,然后再进行路径扩展。例如,在第M层,选择使得|y′M-rM,MsM|2
最小的KM个sM,由这些sM可以生成KM·Ω个节点,Ω为星座的大小,在KM·Ω个
节点中,选择KM-1个使得|y′M-rM,MsM|2+|y′M-1-rM-1,MsM-rM-1,M-1sM-1|2最小的sM-1,以
此类推,一直到达第1层。
球形译码算法能够获得与最大似然检测方法一样的性能,但球形译码算法
的复杂度受信噪比的影响较大,在低信噪比的情况下,球形译码的复杂度将会
很高。
K-Best算法相对于最大似然检测方法是一种次优的方法,其复杂度只与每
层保留的节点数量有关,不受信噪比的影响。
在进行信号检测时,如何结合球形译码算法和K-Best算法的特点,使信号
检测的复杂度和准确性兼顾,成为需要解决的问题。
发明内容
有鉴于此,本发明的主要目的在于提供一种多输入多输出系统的信号检测
方法和装置,可以实现在不同的信噪比的情况下,采用合适的检测算法来实现
MIMO系统的信号检测。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供的一种多输入多输出系统的信号检测方法,该方法包括:
设定信噪比阈值;
获取当前信道的信噪比,当信噪比大于所述信噪比阈值时,采用球形译码
算法进行信号检测;当信噪比不大于所述信噪比阈值时,采用K-Best算法进行
信号检测。
上述方案中,所述设定信噪比阈值,具体为:对当前信道在各个信噪比条
件下,统计得到球形译码算法与K-Best算法的运算次数,以球形译码算法的运
算次数超过并最接近K-Best算法的运算次数时的信噪比作为信噪比阈值。
上述方案中,所述采用球形译码算法进行信号检测,具体为:设定初始搜
索半径以及最大搜索半径;按照检测半径进行球形译码算法的信号检测,在检
测成功时,结束流程;在检测不成功时,增大检测半径,并判断增大后的半径
是否大于最大搜索半径,在大于时,采用K-Best算法进行信号检测;否则,按
照增大后的检测半径进行球形译码算法的信号检测。
上述方案中,所述采用球形译码算法进行信号检测,具体为:采用相对最
大似然检测次优的算法得到一个次优解,将所述次优解与接收信号向量的距离
作为初始搜索半径进行球形译码算法的信号检测。
上述方案中,在设定初始搜索半径以及最大搜索半径时,该方法进一步包
括:设定最大搜索节点数,在所述按照检测半径进行球形译码算法的信号检测
时,进行搜索访问到的节点数的判断,当搜索访问到的节点数达到设定的最大
搜索节点数时,输出与接收信号向量最近的格点作为检测结果;当搜索访问到
的节点数达到设定的最大搜索节点数、且仍没有搜索到格点时,采用K-Best算
法进行信号检测。
本发明提供的一种多输入多输出系统的信号检测装置,该装置包括:信噪
比阈值模块、信噪比模块、比较模块、K-Best算法模块、球形译码算法模块;
其中,
信噪比阈值模块,用于设定信噪比阈值;
信噪比模块,用于获取当前信道的信噪比;
比较模块,用于当信噪比大于信噪比阈值时,通知球形译码算法模块;当
信噪比不大于信噪比阈值时,通知K-Best算法模块;
K-Best算法模块,用于采用K-Best算法进行信号检测;
球形译码算法模块,用于采用球形译码算法进行信号检测。
上述方案中,所述球形译码算法模块采用球形译码算法进行信号检测,具
体为:所述球形译码算法模块设定初始搜索半径以及最大搜索半径;按照检测
半径进行球形译码算法的信号检测,在检测成功时,结束操作;在检测不成功
时,增大检测半径,并判断增大后的半径是否大于最大搜索半径,在大于时,
通知K-Best算法模块;否则,按照增大后的检测半径进行球形译码算法的信号
检测。
上述方案中,所述球形译码算法模块,进一步用于采用相对最大似然检测
次优的算法得到一个次优解,将所述次优解与接收信号向量的距离作为初始搜
索半径。
上述方案中,所述球形译码算法模块在检测成功时,输出最大似然解作为
检测结果;或者,除了输出最大似然解以外,还输出距离最大似然解最近的多
个解,得到发送比特的软信息。
上述方案中,所述球形译码算法模块,还用于设定最大搜索节点数;在按
照检测半径进行球形译码算法的信号检测时,进行搜索访问到的节点数的判断,
当搜索访问到的节点数达到设定的最大搜索节点数时,输出与接收信号向量最
近的格点作为检测结果;当搜索访问到的节点数达到设定的最大搜索节点数、
且仍没有搜索到格点时,通知K-Best算法模块。
本发明提供的一种MIMO系统的信号检测方法和装置,设定信噪比阈值;
获取当前信道的信噪比,当信噪比大于所述信噪比阈值时,采用球形译码算法
进行信号的检测;当信噪比不大于所述信噪比阈值时,采用K-Best算法进行信
号的检测;如此,可以实现在不同的信噪比的情况下,采用合适的检测算法来
实现MIMO系统的信号检测。
附图说明
图1为MIMO系统模型示意图;
图2为本发明实现一种MIMO系统的信号检测方法流程的示意图;
图3为本发明实现一种MIMO系统的信号检测装置结构的示意图;
图4为实施例一实现一种MIMO系统的信号检测方法流程的示意图;
图5为实施例二实现一种MIMO系统的信号检测方法流程的示意图。
具体实施方式
现有技术中,在进行信号检测时只采用上述的一种算法,这样导致在信噪
比的大小不同时,信号检测的复杂度和准确性不能兼顾。如:在信噪比小于某
一值时,采用球形译码算法的运算次数将远远大于K-Best算法的运算次数,为
信号检测在增加准确性的同时却增加了很大的复杂度;而在信噪比大于某一值
时,采用K-Best算法的运算次数将远远大于球形译码算法的运算次数,会为信
号检测在降低准确性的同时增加了很大的复杂度。
本发明的基本思想是:设定信噪比阈值;获取当前信道的信噪比,当信噪
比大于所述信噪比阈值时,采用球形译码算法进行信号检测;当信噪比不大于
所述信噪比阈值时,采用K-Best算法进行信号检测。
本发明实现一种MIMO系统的信号检测方法,如图2所示,该方法包括以
下几个步骤:
步骤201:设定信噪比阈值;
具体的,对当前信道在各个信噪比条件下,统计得到球形译码算法与K-Best
算法的运算次数,以球形译码算法的运算次数超过并最接近K-Best算法的运算
次数时的信噪比作为信噪比阈值;
进一步的,本步骤中,在设定信噪比阈值后,根据检测过程中信道的条件,
仍可对信噪比阈值进行自适应调整。
步骤202:获取当前信道的信噪比,判断所述信噪比是否大于信噪比阈值,
如果不大于,则执行步骤206;如果大于,则执行步骤203;
本步骤所述信噪比的获取方法为现有技术,这里不再赘述。
步骤203:设定球形译码算法的初始搜索半径以及最大搜索半径;
本步骤中,所述初始搜索半径可以由式(7)得到;也可以采用相对最大似
然检测次优的算法得到一个次优解,将所述次优解与接收信号向量y的距离作
为初始搜索半径,如下式所示:
d = | | y - H · s ^ | | ]]>
此时在半径d内至少存在一个格点,所以不需要设定最大搜索半径,所述
相对最大似然检测次优的算法包括:K-Best算法、迫零算法、最小均方误差算
法等;
所述最大搜索半径也可以通过下式得到:
d2=β·n·σ2
其中,β为最大半径系数,n为两倍发射天线数,σ2为噪声方差,且满足
β≥α。
进一步的,本步骤还包括设定最大搜索节点数;
步骤204:按照检测半径进行球形译码算法的信号检测,在检测成功时,
结束流程;在检测不成功时,执行步骤205;
本步骤中,在第一次进行球形译码算法的信号检测时,所述检测半径为设
定的初始搜索半径。
进一步的,所述在检测成功时,由球形译码算法输出的检测结果可以采用
硬判决的方法,即输出最大似然解作为检测结果;也可以采用软输出的方法,
即除了输出最大似然解以外,还输出距离最大似然解最近的若干个解,利用这
些解计算发送比特的软信息。
进一步的,如果在步骤203中设定了最大搜索节点数,则所述按照检测半
径进行球形译码算法的信号检测时,进行搜索访问到的节点数的判断,当搜索
访问到的节点数达到设定的最大搜索节点数时,输出与接收信号向量最近的格
点作为检测结果,结束流程;当搜索访问到的节点数达到设定的最大搜索节点
数、且仍没有得到格点时,执行步骤206。
步骤205:增大检测半径,并判断增大后的半径是否大于最大搜索半径,
在大于时,执行步骤206;否则,执行步骤204;
本步骤中,所述增大检测的半径的方法,可以是在初始搜索半径和最大搜
索半径之间线性增大、也可以是通过折半的方法增大半径,即增大后的半径取
当前半径与最大搜索半径的中间值,等等。
步骤206:采用K-Best算法进行信号检测,结束流程;
本步骤进一步包括:由于K-Best算法输出的检测结果不一定是最大似然解,
通常得到的是最大似然解附近的解,为了进一步提高K-Best算法检测的性能,
可以采用软输出的方法,即在采用K-Best算法检测到达第一层的时候,输出最
优的K个解进行比特软信息的计算,所述K为自然数。
为了实现上述方法,本发明还提供了一种MIMO系统的信号检测装置,如
图3所示,该装置包括:信噪比阈值模块31、信噪比模块32、比较模块33、
K-Best算法模块34、球形译码算法模块35;其中,
信噪比阈值模块31,用于设定信噪比阈值;
具体的,所述信噪比阈值模块31对当前信道在各个信噪比条件下,统计得
到球形译码算法与K-Best算法的运算次数,以球形译码算法的运算次数超过并
最接近K-Best算法的运算次数时的信噪比作为信噪比阈值;
信噪比模块32,用于获取当前信道的信噪比;
比较模块33,用于当信噪比大于信噪比阈值时,通知球形译码算法模块35;
当信噪比不大于信噪比阈值时,通知K-Best算法模块34;
K-Best算法模块34,用于采用K-Best算法进行信号检测;
所述K-Best算法模块34,进一步用于在采用K-Best算法检测到达第一层
的时候,输出最优的K个解进行比特软信息的计算,所述K为自然数。
球形译码算法模块35,用于采用球形译码算法进行信号检测;
具体的,所述球形译码算法模块35设定初始搜索半径以及最大搜索半径;
按照检测半径进行球形译码算法的信号检测,在检测成功时,结束操作;在检
测不成功时,增大检测半径,并判断增大后的半径是否大于最大搜索半径,在
大于时,通知K-Best算法模块34;否则,按照增大后的检测半径进行球形译码
算法的信号检测。其中,在第一次进行球形译码算法的信号检测时,所述检测
半径为初始搜索半径。
进一步的,所述球形译码算法模块35设定初始搜索半径时,采用相对最大
似然检测次优的算法得到一个次优解,将所述次优解与接收信号向量的距离作
为初始搜索半径后,球形译码算法模块35不需要再设定最大搜索半径;
进一步的,所述球形译码算法模块35在检测成功时,输出的检测结果可以
采用硬判决的方法,即输出最大似然解作为检测结果;也可以采用软输出的方
法,即除了输出最大似然解以外,还输出距离最大似然解最近的若干个解,利
用这些解得到发送比特的软信息;
进一步的,所述球形译码算法模块35,还用于设定最大搜索节点数;在按
照检测半径进行球形译码算法的信号检测时,进行搜索访问到的节点数的判断,
当搜索访问到的节点数达到设定的最大搜索节点数时,输出与接收信号向量最
近的格点作为检测结果,结束操作;当搜索访问到的节点数达到设定的最大搜
索节点数、且仍没有得到格点时,通知K-Best算法模块34。
下面结合具体实施例详细说明本发明的方法的实现过程和原理。
实施例一:采用次优解与接收信号向量y的距离作为球形译码的初始搜索
半径,本发明实现一种MIMO系统的信号检测方法,如图4所示,该方法包括
以下几个步骤:
步骤401:设定信噪比阈值;
具体的,对当前信道在各个信噪比条件下,统计得到球形译码算法与K-Best
算法的运算次数,以球形译码算法的运算次数超过并最接近K-Best算法的运算
次数时的信噪比作为信噪比阈值;
步骤402:获取当前信道的信噪比,判断所述信噪比是否大于信噪比阈值,
如果不大于,则执行步骤405;如果大于,则执行步骤403;
步骤403:设定球形译码算法的初始搜索半径;
具体的,采用相对最大似然检测次优的算法得到一个次优解,将所述次优
解与接收信号向量y的距离作为初始搜索半径,如下式所示:
d = | | y - H · s ^ | | ]]>
所述相对最大似然检测次优的算法包括:K-Best算法、迫零算法、最小均
方误差算法等。
步骤404:按照初始搜索半径进行球形译码算法的接收信号的检测,结束
流程;
本步骤中,由球形译码算法输出的检测结果可以采用硬判决的方法,即输
出最大似然解作为检测结果;也可以采用软输出的方法,即除了输出最大似然
解以外,还输出距离最大似然解最近的若干个解,利用这些解计算发送比特的
软信息。
步骤405:采用K-Best算法进行接收信号的检测,结束流程;
本步骤进一步包括:由于K-Best算法输出的检测结果不一定是最大似然解,
通常得到的是最大似然解附近的解,为了进一步提高K-Best算法检测的性能,
可以采用软输出的方法,即在采用K-Best算法检测到达第一层的时候,输出最
优的K个解进行比特软信息的计算,所述K为自然数。
实施例二:设定球形译码算法中最大搜索节点数,本发明实现一种MIMO
系统的信号检测方法,如图5所示,该方法包括以下几个步骤:
步骤501:设定信噪比阈值;
具体的,对当前信道在各个信噪比条件下,统计得到球形译码算法与K-Best
算法的运算次数,以球形译码算法的运算次数超过并最接近K-Best算法的运算
次数时的信噪比作为信噪比阈值。
步骤502:获取当前信道的信噪比,判断所述信噪比是否大于信噪比阈值,
如果不大于,则执行步骤507;如果大于,则执行步骤503;
步骤503:设定球形译码算法的初始搜索半径以及最大搜索节点数;
步骤504:按照设定的初始搜索半径和最大搜索节点数进行球形译码算法
的接收信号的检测;
步骤505:当搜索访问到的节点数达到设定的最大搜索节点数时,判断是
否得到格点;若得到,则执行步骤506;否则,执行步骤507;
步骤506:输出与接收信号向量最近的格点作为检测结果,结束流程;
步骤507:采用K-Best算法进行接收信号的检测,结束流程;
本步骤进一步包括:由于K-Best算法输出的检测结果不一定是最大似然解,
通常得到的是最大似然解附近的解,为了进一步提高K-Best算法检测的性能,
可以采用软输出的方法,即在采用K-Best算法检测到达第一层的时候,输出最
优的K个解进行比特软信息的计算,所述K为自然数。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范
围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应
包含在本发明的保护范围之内。