一种卫星信号载波频率精确估计算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2012年2月1日第35卷第3期
现代电子技术
Modern Electronics Techniq
ueFeb.2012
Vol.35No.3
一种卫星信号载波频率精确估计算法
黄富彪,何兵哲
(中国空间技术研究院西安分院,陕西西安 710000
)摘 要:针对卫星载波频率高精度估计问题,阐述了现有的频率估计实时处理方法,结合类Rife频率修正算法,并考虑卫星信号特点,给出了适用于数字方法实现的卫星信号载波频率高精度估计算法流程。对其进行了仿真实现,其结果表明,该算法能有效提高卫星信号载频估计精度。
关键词:载频估计;FFT;CZT;Rife算法
中图分类号:TN911-34 文献标识码:A 文章编号:1004-373X(2012)03-0129-
03A carrier frequency
accurate estimation algorithm for satellite signalHUANG Fu-biao,HE Bing
-zhe(Xi’an Branch,China Academy
of Space Technology,Xi’an 710000,China)Abstract:Aiming at the satellite signal carrier frequency high-precision estimation,the existing real-time frequency esti-mation methods are presented.Combing with Rife like frequency modificatory algorithm and considering the characteristics ofsatellite signal,the algorithm flow chat which is suitable for satellite signal carrier frequency high-precision estimation is pro-posed.Simulation result shows that it can improve the frequency estimation accuracy
effectively.Keywords:carrier frequency
estimation;FFT;CZT;Rife algorithm收稿日期:2011-08-
220 引 言
航天测控任务中,利用飞行器和观测站之间相对运动引起的载频信号多普勒频移可计算出飞行器的径向速度,
从而获知飞行器的运行姿态。相关数据经过进一步处理后,又能用于精确定轨和地面定位,载频估计精
度的要求甚至会达到毫赫兹量级[1]
。因此,对载频的精
确估计有着十分重要的意义。
虽然利用Music算法、AR模型算法以及最大似然估计算法等现代谱估计的方法可以对正弦信号频率进行精确估计,但由于算法复杂,计算量大,因而限制了其在具有实时性要求的卫星信号中的应用。得益于数字信号处理技术的发展,基于离散傅里叶变换(DFT)的直接谱估计法在卫星信号处理中得到了广泛的应用。如何在保证实时性的前提下进一步提高载频估计精度已成为研究的重点。1 信号频率估计的基本方法
快速傅里叶变换(FFT)是DFT的一种快速有效算法,在工程实践中得到了普遍的应用。实际中基于DFT的直接谱估计算法也都是采用了快速傅里叶变换
来处理的,以减小运算量,提高处理速度。1.1 常规FFT方法
如果对N点数据进行FFT运算,将同时在频域得到N个结果。如果采样频率是fs,k0为谱线幅值最大值
点,取其中最大谱线值X(k0)对应频率^f0=k0fs
/N,则^f0为频率估计值,频率分辨率为fs/N。显然,当实际信号频率接近FFT频率分辨率的整数倍频率点时,估计出的频率性能较好。否则,由于FFT“栅栏”效应引起频谱泄露,估计出的误差将会很大。在采样率保持不变时,为了减小频率抽样间隔,提高频率分辨率,只能增加抽样点数,这将使运算量大为增加。FFT法可对信号进行实时处理,
是一种最常规的频谱分析手段。1.2 CZT法[2
]
常规的FFT变换实质是在z平面的单位圆周上对z变换进行N点等间隔抽样,而线性调频z变换(Chirp-z变换,CZT)却可对z平面上的单位圆进行局部抽样,即在有限的频率范围内进行频谱分析。CZT的定义式如下,对已知的时间序列x(n)(0≤
n≤N-1
),其z变换为:X(z)=
∑N-1
n=0
x(
n)z-
n(1
) 如前所述,
常规的FFT变换是在z平面的单位圆周上进行N点均匀取样,
为使z可在z平面上沿更一
般路径取值,令z的取值样点:
zk=AW-k, k=0,1,2,…,M-1(2)式中:M表示复频谱的点数,取值可以不等于N;A和W是任意复数,即:A=A0ejθ0,W=W0e-jφ0,其中,A决定谱分析起始点z0的位置;W0的值决定谱分析路径的盘旋趋势;φ0表示相邻分析点之间的夹角。如果W0<1,表示随着k增大,分析点以φ0为步长向外盘旋,而W0>1时,向内盘旋。
对CZT的计算过程,一般是将其转化为线性卷积,再利用FFT来计算。CZT算法的关键在于频谱范围的选定,合适的频谱范围保证了频谱估计的正确性,在相对窄的频谱范围内做同等点数的CZT计算时得到的分辨率相对提高,测频精度也就相应提高。从CZT的定义来看,一旦确定了频谱估计范围,只要M值取得足够大,估计的频率值似乎就能达到足够理想的精度。但实际上,它的分辨率还受到数据长度、信号截取方式等的限制[3]。
1.3 ZFFT细化方法
基于复调制频移的频谱细化分析法,即Zoom-FFT(ZFFT)法也是一种有效的分析方法。FFT只能分析从零频开始的一个低通频带,且频带越窄分辨率越高,ZFFT的原理就是利用复调制技术将感兴趣的那段频谱移到零频附近,再进行常规的FFT运算。相较于CZT法,ZFFT所需的原始数据会比较长,在某些场合如瞬态过程将不再适用。
2 卫星信号频率估计算法
卫星在轨运动中会存在较大的多普勒频移,因而使载频的估计范围比较大。如果采用常规FFT进行载频估计,在FFT点数受制于硬件条件,分析点数有限的情况下,估计精度并不高。如果采用CZT算法,则由于载频动态范围大,无法恰当地选择频谱估计范围,估计精度也不理想。因而,可考虑先采用常规FFT粗估,缩小频谱估计范围,再利用CZT进行进一步的细化,以达到精确估计卫星信号载频的目的。
另外,考虑到FFT“栅栏”效应,信号的实际频率通常位于FFT主瓣内两条最大谱线之间,因而可借助次大谱线与最大谱线的幅度比值来估计信号的实际频率在两条谱线之间的位置,即基于FFT幅度比值的频率插值方法,也称Rife算法。
下面介绍一种基于CZT的改进Rife算法[4]。该算法采用类似Rife法对CZT算法估计出的频率进行进一步的修正。
设待估信号序列为:
x[n]=A0cos(Ω0n+φ0)+r[n], 0≤n≤N-1
(3)式中:A0和φ0分别为正弦信号的幅度和初相位;Ω0=
2πf0/fs,f0为待估信号频率,fs为信号的采样率;n为采样点数;r[n]为实随机高斯白噪声,方差为δ2r。
CZT参数设置如下:A=ej f12π/fs,W=exp[j(f2-f1)2π/(Mfs)],fw=f2-f1。式中:f1<f0<f2,即关于待估频率所处频率范围的先验知识。M为CZT变
换的点数,可任意选定。
设k0为谱线幅值最大值点,频率分辨率Δf=
fw/M,频率粗估值为f1+k0Δf,则以k0为中心,正弦信号的CZT线谱模型为:
X(k)CZT=
A0
2
Nexp jφ0-π(k-δ)
N
M
fw
f
[]
{}s·
sin[π(k-δ)(N/M)(fw/fs)]
π(k-δ)(N/M)(fw/fs)
+R(k)CZT(4)式中:k为偏离k0谱线的序号值;δ为正弦信号真实频率与粗估频率间的差值大于Δf的倍数;δ∈
[-0.5,0.5];R(k)
CZT
为r[n]的CZT谱,也是一个高斯白噪声过程。显然正弦信号频率:
f0=f1+(k0+δ)Δf(5) 由线谱模型,仿照Rife幅度比插值方法,在不考虑噪声的理想情况下,由泰勒公式,略去高次项可得:
A±1=X(±1)CZT/X(0)CZT ≈
1-(1/3!)[π(±1-δ)(N/W)(fw/fs)]2
1-(1/3!)[πδ(N/M)(fw/fs)]2
(6)式中·代表CZT相应谱线的幅值。
由上式可得δ的估计式:
^δ=±1-1-(1-A±1)(1-C+CA±1
槡)
1-A±1
(7)式中:C=3!/[π(N/W)(fw/fs)]2。当X(-1)CZT/X(1)CZT<1时,上述两式中的“±”取正号,否则取负号。
综合以上分析,可得到卫星信号载频精确估计的过程如下:首先对采样所得数字信号进行N点FFT分析,判断出待测频率的FFT主瓣位置,缩小频率估计范围;再在主瓣范围内进行M点CZT细化,以获取更高精度的频率估计值;最后,采用类Rife算法进行进一步的修正,得到最终载频估计值。整个算法流程如图1所示。
采用FFT与CZT联合测频算法,再经类Rife算法修正后,在相同的运算量下,载频估计精度将远高于常规FFT估计算法。对于常规FFT算法,考虑到每一级蝶形运算需进行N/2次复数乘运算(N为FFT点数)。因此,为了获得fs/(N·M)的分辨率,需进行
(N·M/2)log
2
(N·M)次复数乘运算。采用FFT和CZT综合估计算法后,可先进行N点的FFT运算,再进行M点的CZT运算,则需要进行(N/2)log N+
0
3
1现代电子技术2012年第35卷