专利名称:迭代多用户检测方法中的收敛性检测方法
技术领域:
本发明涉及一种迭代多用户检测方法中的收敛性检测方法。具体的说,是涉及在码分多址系统的迭代多用户检测系统中的收敛性的检测方法。
背景技术:
在CDMA(码分多址)通讯系统中,由于多个用户的信号在同一空间区域内,在时域和频域上是重叠的,因此接收端能否正确分离多用户信号是系统设计过程中的关键,其中一个重要的影响因素是时变信道所造成的码间干扰(ISI)及其它用户的多址干扰(MAI)。传统的移动通讯系统中,接收系统将多址干扰等效为高斯噪声,从而将其它用户的有用信息丢弃了,使判决后误码较多。而多用户检测则是充分利用系统传输的有用信息和其它用户信息来检测单个用户的数据,达到最佳的判决效果,以提高系统性能和系统容量,降低远近效应对系统的影响,简化功率控制。
通过构造系统方程,一般多用户检测问题将变为求解Ax=b的线性方程组的问题,由于一般情况下该方程是超定方程,一般求其在最小范数意义的解。而迭代算法是求解这种这类数学问题的有效方法。迭代算法是有效实现多用户算法的常用算法。
迭代算法通过根据一定的准则,计算历次迭代解,如果算法能够收敛,则方程在经过充分多的迭代次数后,将收敛于方程解。在工程实现中,只要当方程在足够趋近方程解时,即可认为方程收敛,并退出迭代过程。
因此一个有效的迭代终止准则,并由此准则判断迭代收敛并终止迭代运算过程,是这类迭代算法的一个重要考虑的问题。
常见算法迭代检测规则为1.计算并检查残差e(n)=x(n)-x足够小,式中x为方程解,x(n)为方程第n次的迭代解;2.当残差e(n)已经足够小,或者降低速度足够慢的时候;
3.达到预先设定的最大的迭代次数;当上述的迭代终止准则满足时,则认为迭代条件满足退出迭代运算过程。
在理想的情况下,我们希望能够使e(n)=x(n)-x,降低到设定到设定的范围内。但是e(n)无法简单的直接计算出来。因此在实际系统中要根据系统的的实际情况选择具体的适用的终止准则。
发明内容
本发明所要解决的技术问题是提供一种迭代多用户检测方法中的收敛性检测方法,其能有效的检测出运算终止的条件是否满足,及时的终止迭代。
为实现上述目的,本发明提出多用户检测方法中的收敛性检测方法,其包含以下步骤步骤a、构造系统方程Ax=b,其中A为系统的相关矩阵,b为接受数据矢量;步骤b、设定初始迭代参数和计算初始猜测值;步骤c、启动迭代算法,获得方程的最新迭代解;步骤d、收敛性检测,判断有关的收敛条件是否满足;步骤e、如果收敛条件满足,则停止迭代,如果不满足则继续步骤c、步骤d的迭代过程;所述的步骤b包括如下步骤步骤b1、包括计算相对门限Stop_Tol,这个门限是根据系统的业务要求或者其他的条件得到,该值必须足够小;步骤b2、选择最大迭代次数Kmax;步骤b3、计算矩阵‖b‖即b矢量的模;步骤b4、计算终止条件所述的‖A‖;所述的步骤d的收敛性检测又包含以下的判断准则步骤d1、判断迭代次数是否已经达到步骤b中所设定的最大的迭代次数,如果已经达到最大的迭代次数,则收敛条件满足;并退出收敛条件判断;如果不满足该收敛条件则继续进行下面的收敛条件判断步骤d2、计算残量‖r(k)‖,如果迭代过程中尚未计算出残量r(k),则首先要计算r(k);
步骤d3、计算第k次迭代解的模‖x(k)‖;步骤d4、判断‖r(k)‖是否小于‖r(k)‖≤Stop_Tol*(‖A‖·‖x(k)+‖b‖),如果满足条件‖r(k)‖≤Stop_Tol*(‖A‖·‖x(k)‖+‖b‖),则收敛条件满足。
本发明的优点是1、可以快速的判断迭代是否收敛满足要求,当满足迭代条件的时候,迭代算法退出,这样可以节省运算资源。
2、同时由于在迭代之前,迭代终止的条件可以根据有关业务要求或者其他的条件实事先设定,这样迭代次数是可以根据具体的情况而控制的。
3、计算收敛性条件时,没有引入更多的计算复杂度,有利于方便的实现收敛性检测。
图1为本发明的收敛性检测方法的流程图;图2为本发明方法的计算初始迭代参数的流程图;图3为本发明方法的收敛条件判断的流程图。
具体实施例方式
以下根据图1-图3,说明本发明的一较佳实施方式。
步骤1、生成系统方程Ax=b;步骤2、设定初始迭代参数和选取计算初始猜测值;步骤3、进行收敛性检测,如果收敛条件满足,则不进行迭代运算,如果收敛条件不满足,则进行迭代求解;步骤4、启动迭代算法;步骤5、进行收敛性检测,如果收敛条件满足,则退出迭代运算,如果迭代条件不满足,则继续进行步骤4所述的迭代运算;如图2所示所述的步骤2包含以下步骤步骤21、包括计算相对门限Stop_Tol,这个门限是根据系统的业务要求或者其他的条件得到,该值必须足够小;步骤22、选择最大迭代次数Kmax;步骤23、计算矩阵‖b‖即b矢量的模;
步骤24、计算终止条件所述的‖A‖;如图3所示所述的步骤3及步骤5中的收敛性检测包含以下步骤步骤51、判断迭代次数是否已经达到步骤2中所设定的最大的迭代次数,如果已经达到最大的迭代次数,则收敛条件满足;并退出收敛条件判断;如果不满足该收敛条件则继续进行下面的收敛条件判断;由于尚未进行迭代在步骤3中这个步骤将被省略;步骤52、计算残量的模‖r(k)‖,如果尚未计算完残量r(k),则要首先计算r(k),步骤3中k=0;步骤53、计算第k次迭代解的模‖x(k)‖,步骤3中k=0;步骤54、判断‖r(k)‖是否不大于Stop_Tol*(‖A‖·‖x(k)‖+‖b‖),如果满足‖r(k)‖≤Stop_Tol*(‖A‖·‖x(k)‖+‖b‖),则收敛条件满足,步骤3中k=0。
权利要求
1.一种迭代多用户检测方法中的收敛性检测方法,其特征在于,包括如下步骤步骤a、构造系统方程Ax=b,其中A为系统的相关矩阵,b为接收数据矢量;步骤b、设定初始迭代参数和计算初始猜测值;步骤c、启动迭代算法,获得方程的最新迭代解;步骤d、收敛性检测,判断有关的收敛条件是否满足;步骤e、如果收敛条件满足,则停止迭代,如果不满足则继续步骤c、步骤d的迭代过程;所述的步骤b包括如下步骤步骤b1、包括计算相对门限Stop_Tol,这个门限是根据系统的业务要求或者其他的条件得到,该值必须足够小;步骤b2、选择最大迭代次数Kmax;步骤b3、计算矩阵‖b‖即b矢量的模;步骤b4、计算终止条件所述的‖A‖;所述的步骤d的收敛性检测又包含以下的判断准则步骤d1、判断迭代次数是否已经达到步骤b中所设定的最大的迭代次数,如果已经达到最大的迭代次数,则收敛条件满足;并退出收敛条件判断;如果不满足该收敛条件则继续进行下面的收敛条件判断步骤d2、计算残量‖r(k)‖,如果算法中尚未计算出残量r(k),则首先要计算r(k);步骤d3、计算第k次迭代解的模‖x(k)‖;步骤d4、判断‖r(k)‖是否不大于‖r(k)‖≤Stop_Tol*(‖A‖·‖x(k)‖+‖b‖),如果满足条件‖r(k)‖≤Stop_Tol*(‖A‖·‖x(k)‖+‖b‖),则收敛条件满足。
2.根据权利要求1所述的迭代多用户检测方法中的收敛性检测方法,其特征在于,所述的步骤b和步骤c之间还包括步骤f、收敛性检测,判断有关的迭代条件是否满足;如满足收敛性条件,则不进行迭代运算数直接退出。
3.根据权利要求2所述的迭代多用户检测方法中的收敛性检测方法,其特征在于,步骤f中所述的收敛检测包括如下步骤步骤d1、计算r(0),然后计算残量‖r(0)‖;步骤d2、计算初始猜测解的模‖x(0)‖;步骤d3、判断‖r(0)‖是否不大‖r(0)‖≤Stop_Tol*(‖A‖·‖x(0)‖+‖b‖),如果满足条件‖r(0)‖≤Stop_Tol*(‖A‖·‖x(0)‖+‖b‖),则收敛条件满足。
全文摘要
本发明提供一种迭代多用户检测方法中的收敛性检测方法,包括如下步骤1.根据有关系统获得系统方程;2.计算迭代终止判断所需的参数;3.启动迭代算法,获得方程的最新迭代解;4.收敛性检测,判断有关的收敛条件是否满足;5.如果收敛条件满足,则停止迭代,如果不满足则继续步骤3、步骤4的迭代过程。本发明可以快速的判断迭代是否收敛满足要求,当满足迭代条件的时候,迭代算法退出,这样可以节省运算资源;同时由于在迭代之前,迭代终止的条件可以根据有关业务要求或者其他的条件实事先设定,这样迭代次数是可以根据具体的情况而控制的;计算收敛性条件时,没有引入更多的计算复杂度,有利于方便的实现收敛性检测。
文档编号H03M13/00GK1780195SQ20041008424
公开日2006年5月31日 申请日期2004年11月17日 优先权日2004年11月17日
发明者王炳立, 李兴伟 申请人:凯明信息科技股份有限公司