论文部分内容阅读
在通信领域需要信号处理应用都可以归结为求解线性最小二乘(Least Squares,LS)问题;这些应用包括系统辨识,信号检测,自适应天线阵列等。实际上,求解线性LS问题等同于求解线性方程组。最大似然算法可以取得线性方程最优解,但是面对复杂系统,它的运算量非常高的,实际操作性低。因此很多研究者设计低复杂度的次优算法,而这些次优算法求解线性方程时通常需要矩阵求逆操作。直接求逆需要O(N~3)(N是系统规模大小)个操作数。二分坐标下降(Dichotomous Coordinate Descent,DCD)算法不需要乘法/除法操作,可以高效率地求解线性方程,非常适合硬件实施。在众多的DCD类算法中,我们主要研究Cyclic和Leading DCD算法的改进和应用。Cyclic DCD算法适合于解决需要大量迭代更新次数的系统方程。如果需要解决的问题的结果是具有稀疏性的情况,例如多径信道估计或者是多用户检测中有些用户长期不活动。对于这种系统方程求解所需要的迭代更新次数比较少的情况,Leading DCD算法比Cyclic DCD收敛速度快。递推最小二乘算法(Recursive Least Square,RLS)在众多自适应算法中以收敛速度快而闻名,是自适应系统辨识算法的首选,但是它的每个样本都需要O(N~2)个操作数(N是滤波器的阶数)。当N数值很大时,RLS算法的复杂度将非常高。因此,非常需要降低典型的RLS算法每个样本所需要的操作数。在时变系统中,当固定遗忘因子λ较大时,RLS算法稳定误差小,但是收敛速度慢。当λ较小时,RLS收敛速度快,但是稳定误差较大。我们将Leading DCD迭代融入到RLS算法当中,将自适应RLS算法转换成求解滤波器权重的正则方程组,用DCD迭代求解正则方程,从而降低了每个样本所需要的运算量。另外,针对时变系统,不需要额外附加参数的估计的前提下,我们通过计算系统噪声功率实时更新遗忘因子,因此提出了一种改进型基于DCD迭代的可变遗忘因子RLS算(VFF-DCD-ERLS)。数据结果显示,所提出的VFF-DCD-ERLS算法比RLS、DCD-ERLS和DCD-SRLS算法的收敛速度快,稳态误差低。即使系统噪声能量突然变化时,所提出的VFF-DCD-ERLS算法仍然可以保证快速收敛,低稳态误差,体现了强鲁棒性。DCD算法计算线性系统方程组所需要的复杂度通常取决于系统规模,结果稀疏性以及系统矩阵条件数。当稀疏系统并且系统矩阵是小条件数时,Leading DCD算法可以提供快速收敛。当系统矩阵是大条件数,并且结果不是强稀疏即结果中非零个数大于总元素个数的1/8时,Cyclic DCD算法比Leading DCD算法稳定误差低,但是在开始的几次迭代中,Leading DCD比Cyclic DCD算法的收敛速度低。因此我们考虑合并Leading DCD和Cyclic DCD算法,提出了Leading-Cyclic DCD算法。Leading-Cyclic DCD算法分为两步:首先,Leading DCD算法用较少的迭代次数获得结果;然后,Cyclic DCD算法将Leading DCD的输出作为初始输入用大量更新迭代次数获取更精确的软输出结果。数据结果表明所提出的Leading-Cyclic DCD算法在系统矩阵是大条件数(>100)且稀疏度γ>1/8的系统中,比Leading DCD算法和Cyclic DCD算法收敛速度快,稳定误差低。