基于定点DSP的软件锁相环的设计和实现
算法描述中的中断周期就是环呼采样时间间隔。
中断发生后,第一步读取基带同相项数据和正交项数据
I_baseband=I(n)=Acosθe (1)
Q_baseband=Q(n_=Asinθe (2)
A是基带信号幅度,θe是相位误差。第二步计算硬判决的同相数据乘以相位误差。
d(n)=sign(I_baseband)×θe (3)
其中硬判决函数如式(4),
以及θe≈sinθe. (5)
由式(1)和(2)得:
由式(3)、(5)和(6)得:
即把同相数据硬判决后结果乘以正交项数据后再乘以归一化因子K_norm。K_norm初始值由I_baseband和Q_baseband的初始值决定,
由于定时恢复环路和AGC(自动增益控制)环路的作用,K_norm在解调过程中近似保持恒定。第三步更新环路中间变量s_pll(n),
s_pll(n)=C2×d(n)+s_pll(n) (9)
第五步设置NCO载波频率f(n),
f(n)=Δf(n)+f0 (10)
fo是固定的NCO中心频率。至此,一次完整的SPLL计算完成。
在第三步和第四步计算中,环路滤波器系数Cl,C2可以通过环路采样时间间隔T(或者环路更新时间间隔)、环路自由频率ωn及环路阻尼系数ξ确定,如下两式:
C1=(1/K0Kd)(8ξωnT)(4+4ωnT+(ωnT) 2 (11)
C2=1/K0Kd(4(ωnT)2/(4+4ξωnT+(ωnT )2 (12)
Kd为相位检测器的增益,由于在实现软件锁相环时,基带信号的同相和正交分量都经过归一化处理,故Kd=1;K0为数控振荡器的增益,K0=2πT。T为调制数据速率的倒数(1/76800),ξ一般
《基于定点DSP的软件锁相环的设计和实现(第2页)》