多 滨,罗俊松,贾 勇,钟晓玲,郭 勇
(成都理工大学信息科学与技术学院 成都 610059)
无线通信信号处理领域中实时高精度的频率估计对全数字解调器的解码具有十分重要的理论和实用价值。在众多频率估计算法中,快速傅里叶变换法是经典谱估计理论中的重要算法和理论基础,尤其适用于确定性长信号的谱估计,具有算法复杂度低、计算量小、易于硬件实现的特点,但需要对信号实现整周期采样,否则会导致严重的频率泄露和栅栏效应,应用受到了极大的限制[1]。子空间分解类算法源于现代空间谱估计理论,一般分为两类:一类是噪声子空间类算法,典型代表为多重信号分类法(multiple signal classification,MUSIC)[2];另一类是信号子空间类算法,典型代表为旋转不变技术估计信号参数法(ESPRIT)[3]。求根MUSIC(RMUSIC)算法则是用求多项式根的方法避免了传统MUSIC算法的谱峰搜索过程,极大地降低了计算复杂度,具有更高的频率分辨率,但在极低的信噪比(signal to noise ratios,SNR)下,该算法估计精度略有不足[4-5]。ESPRIT算法作为信号子空间类算法也同样具有较高的估计精度,通过两次特征值分解就可以直接估计出接收信号的频率,但计算量相对较大[6-10]。
目前,结合法作为提高频率估计精度和降低硬件实现复杂度的有效方法得到了广泛的关注。文献[11]首先提出了一种将FFT和FFT结合的算法(本文称为F-F算法),提高了频率估计精度,降低了计算量。文献[12]将FFT和MUSIC相结合(本文称为F-M算法),用于间谐波的频率估计,不仅解决了FFT算法的频率泄露和栅栏效应问题,同时避免了耗时的谱峰搜索过程。文献[13]将ESPRIT和RMUSIC(本文称为E-RM算法)联合,可用于解决数字解调器的频率估计问题,通过计算复数矩阵向量的乘积,在一定程度上降低了计算复杂度,并保持较高的频率估计精度。
高精度和实时性要求的矛盾一直都是频率估计在高速全数字解调器中应用的瓶颈。因此,研究一种既保证高精度,又满足低计算量的频率估计算法,具有重要的应用前景。本文深入研究了基于子空间分解类算法、F-F、F-M和E-RM算法的实现特点,并针对上述技术的频率估计精度仍有不足和计算量仍较高的问题,分别提出了将RMUSIC与FFT结合(本文称为 R-F算法)和将ESPRIT与FFT结合(本文称为E-F算法)的频率估计算法,通过对信号频率的预估计,再利用加窗插值FFT算法在已确定的细化域内完成精估计。针对这两种算法在高低SNR下的不同性能,本文还提出了一种具有可选结构的RF-or-EF算法,通过事先设定的SNR阈值,能够自适应地选择R-F算法或E-F算法进行频率估计,满足各种SNR条件下的频率估计需求。仿真结果表明,本文所提出的算法具有频率估计精度高、实时性强、计算量小的特点,不会产生频谱泄露,优于现有的频率估计算法。
基于相关矩阵特征分解的信号频率估计是现代信号频率估计的重要内容,其中典型的代表有RMUSIC法和ESPRIT法。
假设由K个复正弦波组成的信号为:
定义接收信号向量为r(n)=[r(n),r(n−1),···,r(n−M+1)]T,则有:
式中,
式中,n=1,2,···,L,L为样本采样点数;表示矩阵复共轭转置。
由于aH(ωk)(k=1,2,···,K)与Ez正交,故可定义:
式中,zk=ejωk(k=1,2,···,K)是方程的根。根据求得的根即直接估计出信号频率,其估计的频率误差比MUSIC算法小,精度更高[14-15]。
ESPRIT算法是另一种基于子空间思想的信号频率估计算法,即利用信号子空间的旋转不变性求解出信号的特征参数。
假设解调器接收到的信号仍为式(2)所示向量。定义随机过程并分别定义向量y(n)和矩阵 Φ 为:
式中,旋转算子 Φ 满足 ΦHΦ=ΦΦH=I,I是秩为M的单位阵。因此,由式(2)和式(6)可得:
由于s(n+1)=Φs(n),所以式(8)可以表示为:
接收向量的自相关矩阵为:
对Rrr进行特征分解,得到Rrr的最小特征值λmin=λM=σ2(λ1≥ λ2≥···≥ λM),由 式(10)和 式(11),定义如下矩阵对 {Crr,Crv}:
若存在标量 λ和非零向量u,使得方程:
成立,则这样的标量 λ称为矩阵对 {Crr,Crv}的广义特征值[7]。当矩阵Crr−λCrv是奇异时,该方程中的向量u有非零解,即行列式满足:
故求解式(15)可以得到矩阵对 {Crr,Crv}的广义特征值为
从上一节介绍可知,RMUSIC算法具有很高的频率分辨率,且不需要搜索整个谱峰,但在低信噪比时分辨力还不够。而FFT算法实现复杂度低、硬件易于实现,但对于信号非整周期采样,则应用受到限制[16]。
基于上述问题,首先提出R-F高精度频率估计算法,具体步骤如下:
1)根据L个样本观测值r(0),r(1),···,r(L−1),确定接收信号表达式;
4)确定M-K个噪声子空间的特征向量;
5)求解式(5),得到接收信号频率的初步估计值;
6)确定细化域。执行完步骤5)后,可以初步获得信号频率的粗略估计。因为真实频率就在很小的范围内,如果只在一个很小的区域内搜索,无疑会大大缩短搜索过程。由于RMUSIC算法精度相对较高,可以减小搜索范围,降低了算法计算量,增强了实时性。因此,确定FFT算法的估计范围为:
7)执行加窗FFT算法进行精估计,通过频率细分在已经确定的狭小的区域内寻找谱峰位置。在搜索范围S1上用FFT算法进行如下计算,确定待估频率,其表达式为:
式中,x(n)和X(f)分别代表信号的采样序列及其相应的变换系数;fs为采样频率。本文在FFT算法的基础上,选取频率检测精度较高、频谱泄漏抑制效果好且计算量较小的Hanning窗对信号进行截断,由文献[1]可知,信号x(n)经过加Hanning窗截断后得到的序列为:
式中,wH(n)=0.5−0.5cos(2πn/N),n=0,1,2,···,N−1为所加Hanning窗,N为采样点数。R-F算法实现时的程序设计流程如图1所示。
由于Hanning窗函数的旁瓣衰减较大,通过对信号x(n)进行采样截断,能够克服各频谱之间所产生的干扰,从而大幅度减小栅栏效应和频谱泄漏,不仅降低了频率估计的计算量,还可较精确地估计出各种频率信号的频率。
可以任意设定细化域分辨率R3,但只有当R3选取恰当时,才能同时保证频率估计的高精确性和低计算量。因此,S1范围较大时,R3值可以取得较小,以降低计算量;S1范围较小时,R3值可以设置得大一些,以提高估计精度,且具体的取值,需折中处理,取决于实际的需求。
R-F算法将频率预估计和精估计分析过程有机地结合在一起,经过预估计后,确定了细化域,大幅度缩短了搜索频率的过程,并通过加窗技术,滤除了其他频率分量和高斯白噪声,提高了频率估计精度和频域稳定性,降低了计算量。
为了进一步降低实现复杂度,并充分利用ESPRIT算法在低信噪比条件下频率分辨率较高的特点[17],结合计算量较小的FFT算法,本节提出了第二种高精度频率估计算法,即E-F算法。
与R-F算法类似,E-F高精度频率估计算法具体步骤如下:
1)根据L个样本观测值r(0),r(1),···,r(L−1),确定接收信号表达式;
6)确定FFT算法的估计范围为:
7)执行加Hanning窗FFT算法,确定最终频率估计值。
在实际工程系统中,噪声是无法避免的,因此必须分别考虑本文所提出的方法在不同SNR环境中的估计精度问题。基于R-F和E-F算法,提出一种EF-or-RF选择性频率估计算法,分别解决不同SNR下的高精度频率估计问题。从前文可知,RMUSIC算法和ESPRIT算法分别在高SNR和低SNR条件下频率分辨率较高。因此,该算法的基本思想是在接收到信号r(t)后,首先进行SNR判定,用SNR的先验知识决策选择E-F或R-F算法。频域估计法是信噪比估计算法中的一种经典算法,通过对接收信号采样,能够在频域中对信噪比进行直接估计[18]。然后,在SNR判定模块中设置一个阈值,定义此阈值为T,如果SNR小于该阈值,则选择R-F算法进行频率估计,反之选择E-F算法。具体操作为设置一个标签F,如果SNR>T,则F=0,表明选择R-F算法;否则,F=1,表示选择E-F算法。对于阈值T的选择,如果T值较低,则导致大部分的判定都会趋向选择E-F算法,那么在高SNR时,频率估计性能精度不够;而如果T值较高,则有可能在低SNR时更倾向于选择R-F算法而没有选择E-F算法,故导致低SNR频率估计精度不足。因此,该方法是将R-F算法与E-F算法有机地结合在一起,既满足高SNR高精度频率估计需求又能满足低SNR高精度频率估计需求,实现结构框图如图2所示。因SNR判定模块中的频域估计算法计算量相对较少,复杂度较低,有较高的估计精度,故图2算法结构并不会引入额外的计算复杂度。
本节主要通过MATLAB仿真软件模拟不同SNR的无线信道环境,验证数字解调器采用不同频率估计算法对接收信号估计的精度。仿真参数设置如表1所示。
表1 仿真参数设置
为了进一步确定R-F算法和E-F算法的精度,以及EF-or-RF选择性高精度频率估计算法的可行性,下面分别在SNR高、低两种环境中将已有的几种频率估计算法与本文提出的算法进行比较,如表2和表3所示。
表2 SNR=-5 dB时,频率估计值和估计误差性能比较
表2中,由于噪声功率非常大,传统的FFT算法和MUSIC算法都无法准确地估计出f1和f2,频率估计的精度不高,但ESPRIT算法的频率估计误差相对较低,这证实了相对于其他传统的频率估计算法,ESPRIT算法在低SNR下仍具有较好的频率估计精度[18]。此外,相比于F-F和F-M算法,本文提出的R-F算法和E-F算法的估计精度更高,对于低SNR时的噪声都有良好的抑制效果,对频率的估计精度可达到小数点后2位,且E-F算法的估计误差低于R-F算法。
表3 SNR=25 dB时,频率估计值和估计误差性能比较
从表3中可以看出,由于计算点数不够,FFT算法和MUSIC算法并不会随着SNR的增加而提高估计精度。在高SNR条件下,RMUSIC算法和ESPRIT算法的估计误差非常接近,且R-F与E-F两种算法对频率估计都非常理想,高于F-F算法和F-M算法的估计精度,但R-F算法的估计精度更高,几乎可以达到小数点后4位的精度。
基于以上仿真结果可知,尽管R-F和E-F两种算法都作了相似程度的细化域估计,但由于RMUSIC算法和ESPRIT算法的不同,导致它们对噪声的敏感程度也不尽相同。在高SNR时,R-F算法的优势非常明显,故可以直接应用R-F算法就可基本达到小数点后4位的精度。但在低SNR的恶劣环境中,E-F算法的频率估计性能优于R-F算法,具有较强的抗造能力。
本节主要比较本文提出的R-F和E-F算法与F-M算法[12]和E-RM算法[13]在不同SNR条件下估计频率f1的根均方误差(root mean square error,RMSE)、计算复杂度和仿真处理时间。RMSE常被用来描述频率估计算法的性能,计算方法如下[19]:
式中,N是独立进行蒙特卡洛仿真的次数;是对f1第i次仿真频率的估计值;f1是频率的真实值。具体仿真参数仍如表1所示。
图3描述了随着SNR的变化,以上4种算法的RMSE性能。仿真结果表明,RMSE性能随着SNR的增加而不断降低,说明这几种算法都对噪声比较敏感,频率估计精度也都会随着SNR的增加而得到改善。从图3还可以看出,本文提出的R-F和E-F算法的RMSE性能都明显优于F-M算法,并且E-F算法在低SNR下略优于R-F算法,而R-F算法在高SNR下占据明显的优势。此外,通过与E-RM算法比较可以看出,在中低SNR下,E-RM提供了与R-F和E-F算法相近的性能,但在高SNR下,R-F算法的性能更好,原因是在细化域利用加窗FFT算法进行二次频率搜索,可以获得更加准确的频率估计值。
在实际应用当中,频率估计算法的精度是影响性能的重要因素,但算法的计算复杂度也同样重要。一般来说,FFT算法的复杂度为O(LlogB),其中B为可重叠窗函数的个数[20-21]。MUSIC算法和ESPRIT算法的复杂度分别为O(M2P+M2L)和O(M3+M2L)[22]。MUSIC算法需要频谱搜索,且当估计频率数P>M时,比ESPRIT算法复杂度更高,而RMUSIC算法仅需要通过子空间分解来估计频率,不需要频谱搜索,其复杂度仅为O(M2L)。所以,F-M、R-F、E-F和E-RM这4种算法的复杂度分别为O(LlogB)+O(M2P+M2L)、O(LlogB)+O(M3+M2L)、O(LlogB)+O(M2L)和O(M3+M2L)+O(M2L)。从4种算法的复杂度比较可以看出,E-RM算法的复杂度最高,RF算法的复杂度最低。E-F算法更适用于M值较小和所需估计频率数较大的情况。
表4给出了F-M算法、R-F算法、E-F算法和E-RM算法在不同的M值和SNR=10 dB时,估计频率f1所需处理时间的比较。从表4可以看出,虽然增加M值也会在一定程度上提高频率的估计精度,但各算法也会因为矩阵维度的增大而明显增加计算量。在相同的M值和较小的P值条件下,本文提出的R-F的仿真耗时均小于F-M和E-RM算法,尤其是在M值较大时,差异更加明显。尽管在中低SNR下E-RM算法的性能略优于E-F和R-F算法,但是本文提出的算法消耗更少的时间,计算更加有效,满足实时性要求。
表4 不同算法耗时比较
本文提出的R-F和E-F算法能够更快速更准确地估计出两个甚至多个信号的频率,实现高精度频率估计。在此基础上,通过R-F和E-F算法选择性结合的设置,既能满足高SNR高精度频率估计的需求,又能满足低SNR高精度频率估计需求,适用于各种SNR条件下的全数字接收机高精度频率估计。
本文结合子空间分解类算法的特点,提出了R-F算法、E-F算法和RF-or-EF算法,解决了高速全数字解调器对频率估计算法的高精度和实时性需求。首先由RMUSIC算法或ESPRIT算法对频率进行预估计,再根据预估计值确定细化域,最后基于加窗FFT算法的思想进行精估计。通过缩小的细化域,减少了频率估计的计算量,算法流程精简,易于硬件实现。此外,通过R-F和E-F算法的选择性结构,可以满足不同信噪比条件下的高精度频率估计需求。仿真结果表明,本文提出的算法能够精确地估计出接收信号的频率,与已有的频率估计算法相比,具有更高的频率估计精度,更低的计算时间,在低信噪比下也能相对准确的估计出信号频率,抗噪性能强。