基于某Gardner位定时同步算法Word下载.docx
《基于某Gardner位定时同步算法Word下载.docx》由会员分享,可在线阅读,更多相关《基于某Gardner位定时同步算法Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
Gardner定时恢复算法就是通过改变输入信号的方式实现,利用内插滤波器恢复出信号的最大值再进行重采样,算法原理如图3-11所示。
图3-11 Gardner定时恢复算法原理
Fig.3-11 GardnerTimingRecoveryTheory
输入信号为离散信号x(mTs),采样率为Ts,符号周期为T,重采样时钟为Ti,这里的重采样时钟周期Ti=n*T(n为一小整数)。
Gardner定时恢复算法的基本思想就是,输入信号x(mTs)经过一个D/A器件和一个模拟滤波器h(t),将数字信号恢复为模拟信号y(t)进行重采样,得到同步的输出信号y(kTi)。
插值滤波器模型中包含了虚拟的D/A变换和模拟滤波器,但是只要具备下面三个条件,则内插完全可以通过数字方式实现。
1输入采样序列x(mTs)
2内插滤波器脉冲响应h(t)
3输入采样时间Ts和输出采样时间Ti
也就是说,图中的D/A以及模拟滤波器都可以通过设计数字内插滤波器的方式实现。
这里Ts和Ti为固定的两个变量,Ts/Ti不一定为整数,为表示出它们之间的变换过程,通过换算得到Ti和Ts的关系如公式(3-4)所示
(3-4)
mk为比值的整数部分,可看做一个基本指针,表示了本地重采样时钟Ti对采样率为Ts的输入信号的整数倍重采样时刻,而uk为比值的分数部分,指示了滤波器对输入信号的插值时刻。
一种典型的Gardner定时恢复算法结构框图如图3-12所示。
图3-12 Gardner定时恢复算法模型
Fig.3-12 GardnerTimingRecoveryModel
符号速率为T的模拟输入信号x(t)经过本地固定时钟周期Ts采样后变为离散信号x(mTs)(Ts与T满足奈奎斯特基本采样定律)。
经过插值滤波器得出的值送入定时误差检测器得出输入信号与本地时钟的相位误差τ(n),再通过一个环路滤波器滤除其中的噪声及高频成分,将得到的值e(n)送入数控振荡器计算出整数采样时刻mk和插值滤波器插值点位置uk从而得到定时输出y(kTi)。
从图3-12中可以看出一个完整的定时恢复算法主要由定时误差检测器、环路滤波器、数控振荡器和插值滤波器组成。
其中环路滤波器与前一章中载波同步算法的环路滤波器设计方法相同。
这里主要介绍其他模块的设计方法。
1.1.2 定时误差检测器
定时误差检测器采用一种非数据辅助的误差检测算法(Gardner定时误差检测算法),内插后的信号每个符号内需要两个重采样点,一个点对应信号的最佳采样点;
另一个为最佳采样点中间时刻的内插值。
定时误差计算公式为:
(3-5)
式中,τ(n)为定时误差检测值;
y(n)为信号的采样值;
n为第n个符号,输出信号的周期为Ti。
由(3-5)式可以看出,Gardner算法只需要每个符号周期内的两个采样值,因此取Ti=T/2即可满足算法要求。
定时误差检测算法示意图如图3-13所示。
图3-13 定时误差检测
Fig.3-13 TimingErrorDetecter
该算法具有明显的物理含义。
在没有定时误差时,如果有符号转换,则平均的中间采样点应该为零。
反之,中间采样点的值不为零,其大小取决于定时误差的大小,或者说中间采样点的值表示了定时误差的大小,但它不能表示定时误差的方向(超前或滞后)。
为了表示定时误差的方向,算法考虑中间采样点两边判决点的差值。
如果有符号转换,则该差值的符号就表示了定时误差的方向。
这样两者的乘积就完全确定了定时误差的大小和方向。
如果没有符号转换,则两边采样点的差为零,此时不能获取定时信息。
图3-13(a)中表示了当本地采样时钟与插值滤波器输出值同步时,定时误差检测器的采样值;
同步时,两个极值采样点均为最大值,中间采样点的值为0,这时环路滤波器的输出值为0表示本地时钟已经与信号同步。
(b)图中,表示本地时钟超前的情况,本地时钟超前,则在中间采样点的值为正,表示本地时钟比信号超前,需要内插滤波器向后插值。
(c)图中,表示本地时钟比信号滞后,滞后的结果是中间时刻采样点的值为负,需要内插滤波器向前进行插值处理。
1.1.3 NCO模块设计
对于数控振荡器NCO的设计,由于NCO只是用于计算插值点的有效位置,也就不需要采用在ROM表中预存输出波形的采样值。
可以根据输入信号来实时产生输出信号脉冲和差值点。
NCO计算原理如下图所示
图3-14 NCO原理图
Fig.3-14 NCOSchematicDiagram
NCO用于对以Ts为采样时钟的输入信号进行抽样。
因而NCO的工作时钟与输入信号的工作时钟一致也为Ts,而生成的重采样周期应该与输入信号的符号率同步为Ti。
每次NCO寄存器溢出一次则表示要执行一次重采样操作。
每次NCO寄存器过零点的时刻(mk+1)Ts便是内插滤波器进行一次运算的时刻(总是位于内插估计点位置的后一个Ts整点采样时刻)。
NCO寄存器深度为1,假设当前样点mkTs时刻NCO寄存器的值为η(mk),环路滤波器输出的控制字为W(mk),表示每次递减的步进为W(mk),用差分公式可表示为
当η(mk)<
W(mk)时,就表示下一个符号周期即将到来,NCO也将产生一次过零点,寄存器的值模1后的值设为下一个符号周期NCO的初始值。
从图3-14经过几何分析不难得出:
从而得到分数倍插值位置uk为:
通过精确的除法运算,就可以实时的得到分数间隔值uk,这样,内插滤波器的控制参数也就通过NCO完全提取出来。
1.1.4 插值滤波器设计
Gardner定时恢复算法中的插值滤波器主要作用就是通过输入信号x(mTs)与采样点mk与分数插值点uk来实时生成与本地时钟相位相同的信号。
插值滤波器输入信号x(mTs)与输出信号y(kTi)的关系可表示为:
(3-6)
式中,I1、I2决定插值滤波器的抽头系数,hI为插值滤波器的冲激响应。
mk、uk由数控振荡器(NCO)提供,mk决定内插器的整数倍插值位置,它以重采样时钟触发方式体现。
uk控制小数倍插值位置直接送给插值滤波器,控制插值点的位置。
输出的定时恢复信号的性能主要与插值滤波器的设计方式有很大的关系,下面就来具体分析插值滤波器的实现方法。
插值滤波器的实质是对信号经过低通滤波器后再重采样的过程。
考虑理想插值情况,根据Shannon定理,采用理想插值可以由带限的输入信号x(t)的抽样值x(mTs)精确得到x(t)在任意时刻的值,即
(3-7)
其中
(3-8)
它的频域表达式为
(3-9)
因而,内插后的序列x(kTi)可表示为:
(3-10)
由于理想的内插滤波器是非因果系统,它需要无穷多个信号样值点,物理上具有不可实现性。
因而,将理想插值滤波器的脉冲响应进行截断,并根据最优化准则逼近最佳性能。
内插滤波器可以通过不同的截断函数得出无穷多种内插函数,但都必须遵守线性相位的条件,即参与插值的采样点数为偶数。
常用的内插滤波器包括:
两点线性内插滤波器、立方内插滤波器、分段抛物线内插滤波器。
这里主要讨论立方插值滤波器的原理和实现结构
立方插值滤波器是多项式的插值滤波器的一种,它是基于4点样值的拉格朗日函数
(3-11)
这里
,这里N=4,那么N1=N/2=2,N2=N/2-1=-1从而得出立方插值滤波器的时域表达式为:
(3-12)
归一化令t=(i+u)Ts,则可得h(t)的系数Ci(u)为:
(3-13)
对多项式滤波器的实现结构,可采用Farrow结构实现[47]。
该结构不必实时计算抽头系数,只需要根据当前时偏u,经过如公式(3-13)的少量计算,就可以得到内插滤波器的系数实现内插。
表3-2给出了立方插值滤波器的系数表。
图3-15 立方插值滤波器Farrow结构实现框图
Fig.3-15 CubicInterpolationFilterFarrowRealizeStructure
表3-2 立方插值滤波器Farrow结构实现系数
Tab.4-1 CubicInterpolationFilterFarrowRealizeStructureCoefficient
il
1
2
3
-2
-1/6
1/6
-1
1/2
-1/2
-1/3
通过表3-2可以看出,Farrow结构的插值滤波器实现,每计算一个内插值只需要传送一个变量,即内插估计点值u,并通过简单的计算直接求出内插点的值,而不需要计算中间滤波器的系数(系数为固定值)。
图3-15给出了立方插值滤波器的Farrow结构实现框图。
1.1.5 Simulink算法仿真及性能分析
经过以上分析,在matlab中构建了一个BPSK信号的定时恢复模型,符号速率为2MHz,固定采样时钟为20MHz,插值滤波器采用线性插值算法,系统中加入的信噪比为30dB,0.0001的环路滤波器等效噪声带宽。
得到Gardner定时恢复算法的Simulink仿真图如图3-16所示。
图3-16 Gardner定时恢复算法Simulink仿真模型
Fig.3-16 GardnerTimingRecoverySimulinkSimulationModel
图中In2为信号输入,经过插值滤波器模块后,用原始的NCO生成的本地时钟进行采样和定时误差提取,再将误差值通过LF(环路滤波器模块)后,计算出小数插值点uk的值反馈回去控制插值滤波的小数插值点,改变输出信号的相位从而使经过插值滤波器后的输入信号的相位与本地时钟的相位相一致,达到同步的目的。
图3-17 同步前信号的星座图图3-18 同步后信号的星座图
Fig.3-17 PlanisphereBeforeSynchronization
Fig.3-18 PlanisphereAfterSynchronization
图3-19 定时恢复算法仿真结果
Fig.3-19 TimingRecoverySimulationResult
以一个BPSK信号为信号源,图3-17中显示了信号在未同步时信号的星座图,从图中可以看出未同步经过采样后的星座图左右来回摆动。
而经过位同步后的星座图如图3-18所示,图中采样出的两个点为两个稳定在±
0.6的两个点,这表示经过同步后的采样信号已经能够在极大极小值处实现采样。
位同步采样信号波形如图3-19所示,图中第一个波形为NCO生成的同步时钟,第二个波形为需要同步的BPSK信号,从第三个波形中可以看出,同步时钟对信号的采样值均能在极值点处实现采样,再经过一个简单的判决处理即可恢复出原始的二进制信号。
下面观察Gardner定时恢复算法中插值滤波器插值位置uk的变化情况,它直接反应了整个系统的同步情况。
由于uk为Ti/Ts的小数部分,而Ts/Ti有多种情况
①当Ti与Ts的比值为整数时,小数偏差uk收敛为稳定的常数,如图3-20(a)所示。
②当Ti与Ts的比值不成比例,且为一有理数时,小数偏差uk是周期性变化的,如图3-20(b)所示。
③当Ti与Ts的比值不成比例,却为一无理数时,小数偏差uk为非周期性变换的波形,如图3-20(c)所示。
a)b)c)
图3-20 uk输出波形
Fig.3-20 ukOutputWaveform
位同步算法的性能评价标准与载波同步的性能评价标准基本相同,分为相位误差、同步建立时间、同步保持时间以及同步带宽。
这里的相位误差主要是指由于输入信号的相位与本地时钟的相位不同,所以需要调整本地时钟的相位来达到与输入信号相位相一致的目的,从而实现同步。
不同的位同步算法的相位误差误差各不相同。
1.1.6 减小定时抖动的方法
Gardner定时恢算法在实现位同步后,小数插值点uk将稳定于一个固定的波形上。
实际的信号在加性高斯白噪声信道(AWGN)中传输,受信道噪声的影响,uk将沿着固定波形上下随机变化,这个变化一般被称为定时恢复环路的定时抖动。
若单靠环路滤波器滤除带外噪声来减少定时抖动,要求环路滤波器的等效噪声带宽减小,使环路的捕获时间将相应的增加[48-51]。
如何在不改变环路滤波器等效噪声的情况下,减小定时抖动是本文所要讨论的主要问题。
定时抖动主要是因为输入信号中叠加有噪声,如果能在环路中通过乘以一个很小的环路系数(小于1),其他参数不变,只改变环路中的噪声系数,那么就可以减小定时抖动。
从而,在相同的环路滤波器等效噪声带宽的条件下,减小了环路的定时抖动。
在定时恢复环路中,通过NCO中输入频率控制字的倒数ε与当前相位累加器的值η(mk)计算出小数插值点uk的输出计算式
(3-14)
存在噪声的情况下ε=ε+Δε+no,其中εo≈Ti/Ts表示存储于NCO内部的频率控制字初始值的倒数,Δε为经环路滤波器后的误差输出值,no为NCO的输入噪声,实现定时恢复后Δε=0,则ε=ε+no将ε带入(3-14)式有
(3-15)
式中,εoη(mk)是无噪声情况下uk的值noη(mk)为噪声项,也即引起定时抖动的原因。
如果能在不改变εoη(mk)的情况下,改变εoη(mk)的大小,就可以减小uk的定时抖动。
然而若减小η(mk)的值,则也会εoη(mk)相应的改变,这将影响定时恢复,所以只有减小no的值才能在不影响定时恢复的条件下减小定时抖动,如何在固定的输入信噪比条件下减小NCO的输入噪声是较小定时抖动的关键。
根据数控振荡器(NCO)中的小数间隔uk与NCO相位累加器的几何关系
(3-16)
式中,η(mk+1)示下一个时刻NCO相位累加器的值,将公式(3-15)带入公式(3-16)并化简可推导出NCO相位累加器值的计算式
(3-17)
由式(3-17)可以看出,NCO相位累加器的值是一个通过迭代算法计算出来的,根据迭代算法传递函数的计算方法可以得出第mk时刻相位累加值,即当前通过过零点产生uk时刻相位累加器的值为
(3-18)
η(0)为相位累加器初始时刻的值,由公式(3-18)可知,无噪声的情况下,η(mk)的值只与初始时刻相位累加器的值与累加的次数有关。
再将公式(3-18)带入公式(3-15)可以得出uk
(3-19)
通过对公式(3-19)进行分析可知,uk输出值的大小与NCO中相位累加器的初始值η(0)、频率控制字的倒数εo、迭代次数mk以及输入噪声大小有关。
当输入信号的符号速率T与本地时钟周期Ts确定后,εo为定值,η(0)是NCO初始化的值也为定值。
因而,要减小输出uk的定时抖动,可以想到通过减小输入NCO中噪声no的幅值来实现。
根据Gardner定时恢复算法的原理框图知道,Gardner定时误差检测后的信号经过环路滤波器输入NCO调整mk、uk的值,实现定时恢复。
无噪声条件下的符号同步后的定时误差检测器输出为0,环路滤波器输出也相应为0;
存在噪声时,环路滤波器的输出则为噪声信号,也即是引起定时抖动的来源。
如果我们能在环路滤波器输出后,NCO输入前加入一个小于1的环路系数。
那么,将环路滤波器的输出与之相乘,输入NCO中的噪声将会成倍的减小。
从而达到减小定时抖动的目的。
首先分析环路系数对uk的方差即定时抖动大小和实现定时恢复所需要的点数的影响。
如图3-21所示,由图中可以看出uk的定时抖动随着环路系数的增加而逐渐增大,但系统定时恢复点数却随着系数的增大逐渐减小。
综合定时抖动与定时恢复两个方面可以得出当环路系数在0.1~0.3之间时,定时抖动与定时恢复点数都能取到一个相应较小的值。
图3-21 环路系数与uk方差和定时恢复点数关系图
Fig.3-21 TheRelationshipBetweenLoopCoefficientandukVariance
因而,环路系数的选择并不是越小越好,由于在定时恢复阶段,环路滤波器输出的误差信号也与之相乘,将会影响NCO中mk、uk的调整速度,影响整个定时恢复的速度。
之后的仿真分析中选择添加0.1的环路系数。
图3-22、图3-23比较了没有添加环路系数和添加0.1的环路系数后环路滤波器的输出和uk的输出波形的收敛情况。
图3-22 未添加系数时uk输出波形图3-23 添加0.1系数时uk输出波形
Fig.3-22ukOutputWaveWithoutCoefficient
Fig.3-23ukOutputWaveWithCoefficient
在未添加环路系数和添加0.1的环路系数后,uk的输出波形收敛范围明显减小。
图3-22中uk输出波形的相位抖动较大范围在0.2左右。
而图3-23中所示为加了环路幅度增益控制后,uk输出波形的相位抖动范围有明显减小,抖动范围小于0.1。
说明在不改变环路滤波器等效噪声带宽的条件下,通过增加环路系数也可以达到减小定时抖动的效果。
为了进一步讨论环路增益控制单元对减小定时抖动的定量关系。
针对此定时恢复环路,采用蒙特卡罗法分析了在有无环路系数这两种情况中,仿真了输入信噪比对系统误码率和uk方差的影响,如图3-24、图3-25所示。
图3-24 误码率与输入信噪比关系图3-25 uk的方差与输出信噪比的关系
Fig.3-24TheBitErrorRateandInputSNRRelationshap
Fig.3-25ukVarianceandOutputSNRRelationship
未添加环路系数和添加0.1的环路系数后,系统的误码率有明显的减小。
随着输入信噪比的增加,误码率均有减小的趋势,但未添加增益的减小速度小于添加0.1的环路系数时的速度。
图3-25显示了uk的方差与输出信噪比的关系,通过对uk方差的分析,可准确的反应此时uk定时抖动的大小。
在信噪比为0dB时,添加和未添加系数的uk的抖动差异不大,但当信噪比增加,未添加环路系数的uk抖动变化不大,而添加环路系数的uk抖动呈线性减小,虽随着信噪比的增大有缓和的趋势,但总体上都远远小于未添加时的定时抖动。
但这样一来同步的建立时间将会延长,所以,同步的建立时间与定时误差是两个矛盾的方面。
若想要减小同步建立时间,就必须使环路滤波器的噪声带宽增大,而环路滤波器噪声带宽增加将会使定时抖动增加。
而若要减小定时抖动,则噪声带宽减小,将会增加同步建立时间。