OFDM同步算法的FPGA实现*
2012-11-24曹宏徙宋学瑞
曹宏徙,宋学瑞,杨 滔
(中南大学 信息科学与工程学院,湖南 长沙 410075)
正交频分复用技术OFDM (OrthogonalFrequency Division Multiplxing)是一种特殊的多载波传输方式,具有抗多径能力强、频谱利用率高、适合高速数据传输等优点,因此已被广泛地应用于最新的无线通信系统中[1]。IEEE802.11a的无线局域网标准中也将OFDM调制技术确定为其物理层标准。然而,OFDM对同步错误非常敏感,尤其对载波频率偏移和相位噪声非常敏感,因此需要在时间和频率上进行同步,以使系统克服多普勒效应,从而获得良好的性能[2]。
本文的同步算法是基于IEEE802.11a的长训练序列和短训练序列,并通过FPGA来实现的。短训练序列的主要作用是进行信号检测、符号定时和粗频率偏差估计,它由l0个重复的短训练符号组成;长训练序列主要是通过滑动相关来获得精确的频率偏差估计和信道估计,由两个重复的长训练符号组成[3]。
1 OFDM系统模型[4]
OFDM系统框图如图1所示。
一个OFDM系统的基带信号可以表示为:
图1 OFDM系统框图
其中,S(k)表示在第 k个载波上调制的数据,N表示 IFFT的点数。接收端的接收信号可以表示为:
其中,θ为整数时间偏移量,ε为子载波间隔归一化的频率偏移量,w(n)表示高斯白噪声,功率为 σn2。
其中,h(m)表示信道冲激响应。
2 时间和频率算法原理
[3]中,定时估计函数 M(d)定义为:
其中,
由于该方法存在很大的平台区域,本文在SC算法的基础上进行符号同步以获得更好的定时同步。将接收的数据与本地短训练符号的共轭复数相乘并累加,可以得到相关系数为:
对于IEEE802.11a系统,Ds=16,它为短训练符号的周期长度。当|Ck|的峰值到来时,表示此时为一个短训练符号的结束。当|Ck|出现最后一个峰值时,表示短训练符号的结束或者长训练符号的开始。
粗频偏估计为:
为了提高载波同步的准确性,可以采取多次估计求平均:
得到粗频偏以后,对接收数据进行频偏补偿,即用接收到的数据乘 以 e-j2πε^nT。
同样,利用长训练序列可以估算出细频偏:
其中,DL=64,为长训练符号的长度。
3 硬件实现
3.1 帧同步实现
帧同步的RTL如图2所示。帧同步模块主要由数据缓存、主控制、延迟相关能量计算、相关窗口能量计算和帧搜索5部分组成。
数据缓存模块主要是通过移位寄存器实现,可调用Xilinx公司的RAM-based Shift Register IP Core。延时相关能量计算模块负责计算,硬件实现上经过延迟相关计算、相关累加计算和幅值简化计算。相关窗口能量计算模块负责计算,硬件实现上与延时相关模块类似。帧搜索模块主要完成数据分组起始位置的近似估计。
3.2 载波同步实现
(1)粗频偏估计以及补偿
在计算式(9)时,取 N=4,即首先利用 5个重复短训练符号进行延时相关计算,然后进行累加求和,接着将此结果送入角度估计模块得到4组角度偏差估计,最后求取4次角度偏差的平均值,从而得到较准确的角度偏差值。
载波频率同步模块的RTL如图3所示。整个模块分为数据分流、数据缓存、载波粗频偏估计、载波粗频偏补偿和数据联合输出。
相角估计采用CORDIC IP核,将其配置成arctan模式,即输入复数信号,输出其相位值。频偏补偿因子可由配置成sin&cos模式的CORDIC IP核完成。
(2)细频偏估计以及补偿
此模块与粗频偏估计以及补偿模块类似。
3.3 符号同步的实现
符号同步的RTL如图4所示。符号同步可以分为量化、匹配滤波和符号输出3部分。
图2 帧同步硬件实现框图
图3 载波同步硬件实现框图
图4 符号同步硬件实现框图
量化是为了简化硬件实现,由于负数乘法需要占用很多的器件资源,因此将接收到的信号量化为{1,-1},即大于0的量化为 1,小于0的量化为-1。匹配滤波模块主要负责寻找各个短训练符号的结束点。
4 仿真实验与性能分析
本文对各模块的设计均采用Verilog HDL语言,并在Xilinx公司的集成设计环境 ISE中完成各模块的RTL设计,选择Virtex5系列的XC5VFX70T FPGA作为目标器件。用 ModelSim SE 6.0d完成功能仿真以及后续的时序仿真,然后采用ISE中的XST完成综合过程。同步仿真结果如图5所示。第1、第2行分别为时钟信号和复位信号,第3、4行为信号的输入,第 5行为分组检测同步,第6行为短训练序列的粗频偏估计值,第7行为当peak_counter=9时判断为段训练符号的结束点,第8行为高电平时表示输出一个符号的有效时间,第9行为长训练序列的细频偏估计值,最后两行表示数据的输出。设计中采样频率为80 MHz,相位累加位宽为24 bit,则估计的载波频偏为:
与输入的325 kHz基本相符,剩余频偏产生的相位偏移可在频域中用导频来纠正。
本文提出了一种比较完整的针对IEEE802.11a的同步算法,并详细阐述了各模块的具体FPGA实现方法,不仅提高了同步的精度,而且在实现时考虑到了资源的节省并对算法进行了一些简化,满足了突发OFDM系统中基带处理的要求。
参考文献
[1]Xie Yongjun, Hu Xiaoyi, Xiao Jing, et al.Implementation of timing synchronization for OFDM underwater communication system on FPGA[C].ICASID,2009:568-570.
[2]GARCIA J,CUMPLIDO R.On the design of an FPGA based OFDM modulator for IEEE 802.11a[C].ICEEE and CIE, 2005:114-117.
[3]陈霞,章坚武.基于IEEE802.11a OFDM同步算法的FPGA 实现[J].无线电工程,2007,37(7):55-57.
[4]汪裕民.OFDM关键技术与应用[M].北京:机械工业出版社,2006.
[5]SCHMIDL T M,COX D C.Robust frequency and timing synchronization for OFDM [J].IEEE Transanctions on Communications,1997,45(12):1613-1621.