基于PN序列帧的同步分析及FPGA实现
扫描二维码
随时随地手机看文章
摘要:阐述了一种导频叠加的OFDM同步方法,利用具有良好的自相关性PN序列实现时偏和频偏估计。在多径信道条件下,通过Matlab仿真能较好地实现同步。然后利用Altera公司的芯片在QuartusⅡ8.0工具平台上实现了OFDM同步的硬件设计,最后进行了电路仿真。
关键词:正交频分复用;同步;现场可编程门阵列;仿真
0 引言
目前正交频分复用(Orthogonal Frequency Division Multiplering,OFDM)技术已经成为第四代移动通信研究的热点,同时OFDM同步又是OFDM的关键技术,研究OFDM同步技术的目的就是为了防止码间干扰和载波干扰。当前OFDM同步的算法是根据OFDM原理提出的基于数据符号方法,它的优点是捕获快、精度高,适合分组数据通信,具体的实现是在分组数据包的包头加一个专门用来做定时、频偏的OFDM块。基于数据符号算法又可以分为两类:基于训练符号(导频码)的方法和基于循环前缀(circle prefix,CP)的方法,其中基于PN序列同步算法又是基于训练符号的一种。
1 基于PN序列的帧、符号定时与频偏估计同步算法
文献提出了一种导频叠加的方法,即导频和OFDM符号相加,利用导频符号的相关性实现定时和频偏估计。由于PN序列具有良好的自相关性,可以用PN序列作为导频符号。
图1显示了PN序列的加入方法。同步被分为两步:帧同步和符号同步。若干个OFDM符号组成一帧,在每帧的前面插入若干个相同的短符号(训练符号)用于帧定时和粗频偏估计。在每个OFDM符号上叠加一段与符号长度相同的PN序列来实现符号定时和精确的频偏估计。由于PN序列不是直接插入在信息数据之间,因此节省了系统带宽,但为了提高同步的效果,PN序列的能量就不能太小,否则会被噪声和有用信号淹没,所以这种导频叠加方法是以增加发射功率为代价的。
以符号同步为例对算法进行分析,忽略CP的长度,则接收信号可表示为:
式(1)中c(n)表示PN序列,d(n)是数据序列,n(n)代表AWGN,εf是归一化频偏。若表示发送信号的平均功率,ρ代表功率分配系数,则PN序列和数据序列的功率比近似为,对于帧同步而言,由于符号中没有数据序列,所以ρ=1。接收信号和接收端的PN序列求相关得:
由于PN序列和AWGN以及d(n)的相关性很小,所以上式中的最后两项可以近似为0,从第一项可以看出,当PN序列和包含在每个符号中的PN序列求相关后在符号的边界处会出现峰值,该峰值可用来实现符号或帧定时。为了实现频偏估计还必须对相关值移位相乘,即:
式(4)中λ[n,0]表示符号起点的估计值,K表示PN序列的长度,一般而言PN序列的长度和符号的长度一致,但如果在一个符号内叠加k=N/K个相同的PN序列就可以得到更大的频偏估计范围,频偏估计范围可表示为:
图2显示了该算法的系统实现框图。接收信号与已知的PN序列求相关,PN序列的长度假设为N,然后将求相关后的值存储在长度为N+1的寄存器内,求其共轭值,并与后N位的值相乘。
在多径信道下,用该算法也能较好地实现帧同步。这是由于用于帧同步的符号中没有包括数据符号,不会对PN序列产生干扰;PN序列良好的自相关性使得用于帧起点判决的峰值非常尖锐,PN序列越长相关性越好,峰值的能量越大,抗AWGN的能力越强。
2 算法FPGA实现
FPGA实现框图如图3所示,数据序列通过读写寄存器与已知事先存储的PN序列进行相关运算,读写寄存器是双端的128×16位RAM,PN序列参考IEEE802.11a长训练符号同步序列(N=52),这里采用128个采样点,即
PN={1,1,-1,-1,1,1,-1,1,-1,1,1,1,1,1,1,-1,……1,1,1,1}
这128位相关性极强的一系列数据,按地址位编辑成后缀为*mif文件,一旦上电启动就写入ROM中,读地址在读取RAM的数据时同时也就能依次读出ROM数据,然后做两者的相关运算,两路信号经过相关运算送到下一级求其共轭,共轭结果与后来的输入延时128位的复数数据再一一相乘,然后进入求移位相关峰的最大值模块。若连续出现若干个最大峰值,Controler的标志位置高,表明系统可以进行解调处理或者FFT。另外,系统的使能和清零信号也由Controler产生。
PN序列和包含在每个符号中的PN序列求相关后在符号的边界处会出现第一次峰值,再经过和延时的数据相乘后出现更大的峰值,这个峰值进入移位相关峰的最大值模块中,连续出现的峰值就能确定符号同步,虚部与实部比值得出的相位角数值可以查对应的表从而得到频偏估计值,提供频率补偿的参考值。在实际的运用中选取长的PN序列能获得精确的同步,但是这太浪费带宽和发射功率,所以在选取一定长度的训练符时既妻考虑同步的精确度也要考虑系统成本。经过QuartusⅡ8.0工具的设计、编译、综合等一系列步骤细同步系统融合成一块整体模块,如图4所示。
图5是截取部分的仿真波形,clk输入时钟周期是0.10ns,从系统执行运算13.45ns开始到26.25 ns正好是128个时钟周期,所以此间的comp输出相关峰幅度的最大值即是数据解调的临界点,ar8是对应输出相关峰频偏的数值。该电路的工作频率为206.10MHz。
3 结论
上述FPGA实现的是基于数据符号的OFDM系统同步算法,采用Altera公司的芯片EP1S25F102015进行试验仿真,该芯片有逻辑单元25 660个,存储模块单元1 944 576个,DSP模块单元80个,I/O输出引脚707个,其中使用的芯片资源使用情况如表1。
基于PN序列帧同步算法实现的FPGA使用了最少的芯片资源,因此时钟频率相当快达到了206.10 MHz。尽管这样,由于有部分序列帧和数据是重叠在一起的,因此在跟踪到同步的时候解调时,提取在PN序列重叠的那部分数据有一定的难度,它具备时偏和频偏估计,可以应用于无线通信系统中。综合算法设计占用芯片资源以及相关情况的分析,算法在FPGA中的实现是可行的和可靠的,充分发挥了FPGA芯片集成密度大、速度快、功耗低、通用性好、适应性强和重复编程的特点。通常可编程逻辑芯片都能提供大容量逻辑单元和存储单元,因此芯片预留资源都是比较有富余的,考虑信号处理的实性行和可靠性就是我们关注的重点,当然成本也是我们考虑的一个因素,与此同时我们也要考虑电路的设计复杂程度,因为它也要影响数据处理的速度。