目前,基于软件无线电的数字接收机,其定时同步主要采用异步采样恢复,即采样时钟独立工作,通过估算定时误差,控制内插滤波器内插出最佳采样时刻的值。常用的定时误差估计算法主要有:迟早门算法、米勒-穆雷算法、Gardner算法。其中迟早门算法和米勒-穆雷算法都对载波相位敏感。Gardner算法[1]每个符号需要两个采样点,虽然计算量比米勒-穆雷算法稍大,但对载波频偏和相位不敏感,可提前独立于载波同步完成,降低了系统复杂度。
QAM调制方式特别是高阶QAM调制因其较高的频谱利用率得到了广泛应用,但是高阶QAM数字接收机算法的运算量也相对较大。随着FPGA芯片集成度的提高,现在可以在像Altera Cyclone3 这种低成本FPGA上实现较复杂的算法。本文针对128 QAM调制信号,设计了定时同步算法结构,并且用MATLAB做了仿真验证,最后在FPGA平台上实现了该算法。
1 定时同步结构设计
1.1 算法结构
定时同步结构如图1所示。该结构是基于Gardner算法[2]而设计的,包括用来进行符号采样的内插滤波器、定时误差检测器、环路滤波器、插值控制器。其中,内插滤波器从输入的非同步被测基带I/Q采样信号中恢复出发送的符号,而定时恢复环路用来控制内插滤波器的插值相位。定时误差检测器提取出当前采样相位误差,将其送入环路滤波器滤波后控制NCO的振荡频率。当被测信号等效采样无相偏时,环路进入稳定状态,此时NCO的振荡频率就等于实际被测信号的码率或码率的整数倍[3].下面只对定时同步的关键结构进行阐述。
1.2 插值滤波器
插值滤波器是符号定时同步的核心部分。高阶QAM对插值精度的要求非常高,传统的内插滤波器如线性内插、3次立方内插、带参数的4点分段拟合内插等已不能满足要求。插值滤波器的设计关键是插值函数的设计,由于多项式内插函数能够用Farrow结构实现,运算量较低,所以插值函数最好能够用多项式拟合实现。参考文献[4]给出了一种基于多项式插值滤波器的设计方法。这种多项式内插滤波器通过在通带和阻带上设置需要的幅度和加权系数,结合最优化算法和具体要求的频带特性,可以实现频域上的任意频响。
1.3 定时误差提取
传统Gardner算法是针对BPSK/QPSK调制信号提出的,不适用于高阶QAM这种多电平信号,必须对传统Gardner算法进行改进。改进Gardner算法的思路是改变其只对零点检测有效性的缺点,将中间值y((n-1/2)T+t)归零化即可[5].改进的定时误差提取公式为:
2 MATLAB仿真分析
仿真参数设置:128 QAM调制、升余弦滚降系数0.1、信噪比23 dB、定时延迟0.6个码元时间、载频124 MHz、采样率102.4 MHz,匹配滤波器为100阶。
从图2中可以看出,分数延迟收敛于0.6处,波动小于0.01,表明定时同步环路完全收敛。图3是定时同步收敛后的输出信号星座图,可以看出星座点非常集中,星座间隔清晰,信噪比由于匹配滤波器作用有了大幅度提高,能够很好地实现符号判决。