- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于CORDIC算法的OFDM 系统载波同步实现
0 引言
OFDM正交频分复用技术是一种特殊的多载波传输方案,它可以看作是一种调制技术,也可以看作是一种复用技术。OFDM正交频分复用技术具有许多其他无线通信技术所无法比拟的优越性,其中一个主要原因就在于它能很好的对抗频率选择性衰落或窄带干扰。同时,它也是一种并行技术,可通过将一个高速数据流分割成许多低速的数据流并在多个子载波上并行传输,从而实现数据的高速传输。
OFDM正交频分复用技术与一般的多载波传输技术的不同之处在于,该技术允许子载波频谱相互重叠,只要满足子载波间的相互正交就可以从混叠的子载波中分离出数据信息,从而使得频谱利用率大大提高。由此可见,OFDM正交频分复用技术对本来无线资源就十分贫乏的无线通信来说,是一种高效的传输技术。然而,OFDM系统对频率偏移又非常敏感,这是因为,频偏会破坏子载波间的正交性,并引入子信道间干扰(I-CD,从而导致各子信道不能正确解调。因此频偏估计算法的设计与实现是OFDM系统中的一个重要问题。
本文首先分析了残余频偏估计和校正的系统原理,然后重点介绍了双模CORDIC算法的原理与FPGA设计。最后给出了基于FPGA的整个系统实现方案。
1 OFDM系统与载波频偏对系统的影响
OFDM正交频分复用系统的结构如图1所示。在无线通信系统中,由于接收端和发送端的载波振荡器之间不可避免地存在着差异,同时由于移动信道中的多普勒频移和相位噪声的影响,使得接收机本地的载波和接收到的OFDM正交频分复用信号的载波之间不可避免的存在着偏差。事实上,与单载波系统相比,OFDM系统对载波频偏更加敏感。
图2所示是小数倍载波频率偏差对FFT之后各个子载波的影响。可见,小数部分频偏会使子载波间不再正交。从而发生能量泄漏并产生ICI,使系统性能急剧恶化。
2 载波频偏方案设计
本文介绍的设计方法采用的是Schmidl同步方案,其同步方案框图如图3所示,并在每一个OFDM数据帧前加入由重复的PN序列组成的OFDM训练符号。[p]
在接收端,通过对训练序列的延迟相关,可以得到如下公式:
然后对上式求相角,可以得到:
如果|ψ|的值能够保证小于π,那么,其频偏估计值为:
对于载波频率偏移的计算与补偿,一般需要实现的两个最重要的功能:第一是求相角的功能,第二是需要产生纠正频偏用的和函数。求相角函数的实现有许多可行的方法。其中最直观的就是通过复数虚部对实部的比值,也就是求反正切来得到角度值。这样就引入了除法运算,并且需要在RAM里建立一个反正切函数的查找表。另一种方法是使用CORDIC算法,该算法在多次迭代的情况下,只需要很少的硬件资源,但由于迭代计算的特点,所以会有几个时钟周期的时延。由于相角的计算在每一个帧到来时只需要计算一次,所以,这个很小的时延不会对系统的性能造成影响。由于采用查找表的方法计算反正切函数需要大量的RAM空间,所以,设计时可采用CORDIC算法来实现角度的计算。
3 CORDIC算法原理与FPGA实现
3.1 CORDIC算法
计算三角函数和其它一些硬件不易实现的函数,一般可使用查表法、多项式展开或近似的方法。这些方法均不能兼顾速度、精度、简单性等方面的要求。CORDIC算法则是为解决这种问题而产生的。它从算法本身人手,可将复杂的算法分解成一些在硬件中容易实现的基本算法,如加法、移位等,从而使这些算法在硬件上可以得到较好的实现。由于该算法是一种规则化的算法,它满足硬件对算法的模块化、规则化要求,因此,CORDIC算法是可以充分发挥硬件优势并利用硬件资源来实现硬件与算法相结合的一种优化方案。
3.2 用于频偏校正的CORDIC算法的旋转模式
假设直角坐标系内有一个向量a(xa,ya),逆时针旋转θ角度后得到另一个向量b(xb,yb),那么,这个过程可以表示为:
如果向量a(xa,ya)经过n次旋转才到达向量b(xb,yb),其中第i次旋转的角度为θi,那么,第i次旋转的表达式为:
CORDIC算法的旋转示意图如图4所示。图中,若取旋转的角度总和这里的Si={-1;+1}。其中Si=+1表示向量是逆时针旋转,Si=-1表示向量是顺时针旋转。式中:随着旋转次数的增加,该式将收敛为一个常数k:
如果暂时不考虑这个增益因子k,则有:
这就是CORDIC的迭代式,它只需要通过移位和相加就可以完成矢量的旋转。其向量a向向量b逼近的精度由迭代的次数决定,迭代的次数越多,逼近的精度越高。而引入变量z则表示进行i次旋转后与目标角度之差。这样,迭代n次所得到的最终结果为:
可以看出,此模式下,便可求出给定角度的三角函数值。[p]
3.3 用于频偏估计的CORDIC算法的向量模式
另外一种工作模式是向量工作模式,向量模式就是不断地使yi趋近于0。在向量模式下,CORDIC迭代n次得到的最终结果为:
可以看出,此模式下可以求出给定向量的模值和角度。
4 仿真结果
仿真设计中的CORDIC框图如图5所示。其中输入和输出的位宽均为可变的参数,并可根据系统的实际需要进行调整。输入和输出均为二进制有符号的补码形式。这里需要注意的是,z的取值范围为[-π,π],假设z的位宽为z_bits,则π=2z_bits-1,-π=-2z_bits-1。图6所示是其仿真波形图
5 结束语
本文介绍了OFDM中频偏估计和校正的基本原理,及频偏对OFDM系统的影响。重点介绍了CORDIC算法的两种模式在频率同步中的应用。并在FPGA中对系统进行了仿真验证,结果证明:本设计的数据位宽可以跟据系统对误差的要求来确定,并可根据实际项目的需求来设置。
射频工程师养成培训教程套装,助您快速成为一名优秀射频工程师...
天线设计工程师培训课程套装,资深专家授课,让天线设计不再难...
上一篇:基于FPGA的电动机微机保护实现方法
下一篇:单交叉路口半感应控制器设计