APP下载

OFDM系统符号同步的FPGA设计与实现

2010-06-07陈恩庆杨守义

电视技术 2010年9期
关键词:限值峰值运算

牛 堃,陈恩庆,杨守义

(郑州大学 信息工程学院,河南 郑州 450001)

1 引言

近年来,随着DSP和FPGA技术的发展,OFDM技术广泛应用于数字音频广播(DAB)、非对称数字用户环线 (ADSL)以及基于IEEE802.11a标准的无线局域网 (WLAN)等领域。相对于传统单载波传输系统,OFDM系统对载波频偏和定时误差的敏感程度很高,如果同步未能达到一定的要求,将造成系统性能的急剧下降[1-2]。通常的符号同步算法在硬件实现时,往往需要占用较多资源,对芯片性能要求较高。

笔者介绍了一种采用短训练符号的符号定时方法,并进行了硬件结构的设计与简化,在一定信噪比条件下达到了同步性能与资源占用之间的平衡,最后在FPGA中进行了仿真与验证。

2 符号同步算法基本原理

IEEE802.11a标准[3]规定了物理层数据单元(PPDU)的帧结构,也就是基带调制处理器所要生成的数据结构,如图1所示。

帧头部分包括训练符号和SIGNAL符号。训练符号包括10个周期重复的短训练序列(STS)t1~t10和 2个周期重复的长训练序列(LTS)T1~T2,STS 的符号间隔为正常OFDM符号间隔的1/4,LTS的符号间隔与正常OFDM符号相同。SIGNAL符号中包含后续数据的调制类型、编码数据和数据长度等接收机需要的信息。

本文的符号同步算法是基于IEEE802.11a标准的短训练符号来实现的,首先接收机在空闲时要不断检测接收信号的能量,以判断是否有数据帧到达,如果到达,开始进行接收信号与短训练符号的互相关运算,寻找峰值位置,最终完成符号定时。

帧检测采用滑动窗信号能量检测的方法,计算滑动窗口R中接收信号的能量,滑动窗口长度取短训练符号长度D,其公式为

如图2所示,当没有数据帧出现时,得到的R(n)为噪声的能量,值通常比较小,一旦有数据帧到达,窗口中信号能量会迅速跃升,达到一个数值平台。因此,如果R(n)幅值超过了预设的门限值就开始进行下一步的相关运算。SNR为信噪比。

由于IEEE802.11a协议中设计的训练符号对于发射机和接收机来说都是已知的,将接收数据与本地短训练符号S(i)的共轭进行相乘累加,即得到互相关系数

式中:D=16,即每个短训练符号的样值个数。接收信号与训练符号具有很好的相关特性,当 C(n)有峰值出现时,表示这个样值点为一个短训练符号的结束点,图2中10个峰值点就是每个短训练符号的结束位置。

3 符号同步算法的简化

本地短训练符号和接收到数据的实部虚部均为带符号位的8位二进制数,进行能量计算和互相关计算时将占用FPGA中较多的乘法器资源。显然,这样所需的硬件资源开销非常大,如果要在单片FPGA中实现整个OFDM解调会比较困难,而且会影响系统的运行速度。因此有必要在硬件实现时对算法做一些改进,对接收数据和本地短训练符号进行二阶量化得到d[n]=P[r(n)],其中 P 为复数量化函数,公式如下

经过量化处理后,需要复数乘法处理的数据就只能取 1+j,1-j,-1+j,-1-j,结果也只有 16 种可能,这时可将结果储存在程序中,将输入作为查找地址,这样就避免了乘法器的使用,经过累加就可以得到互相关系数C(n)和能量 R(n)。

接下来要进行互相关系数C(n)幅值的计算,这涉及到乘法操作及开方运算,硬件实现起来十分困难。通常可以计算互相关系数C(n)的实部和虚部的绝对值之和,近似其幅值,计算公式如下

图3针对简化后的硬件实现结构在Matlab中进行了仿真,对比图2峰值位置仍然有较好的识别性,门限值大小也根据图3选取,这样也就避免了前两步近似计算结果对同步效果的影响。

4 符号同步的FPGA实现

4.1 硬件组成结构

整个符号同步模块的硬件组成结构如图4所示,它主要由量化模块、延时单元、加法器、移位寄存器、取模模块和判决器组成。

接收到复数信号的实部虚部,各取其符号位进行量化后,第一路直接进行乘法运算,根据式(2)的递推方法,运算结果及其延时输入到减法器,把减法器的输出进行累加得到滑动窗口内信号能量,经过取模后与门限值(由图3分析,为便于二进制表示,门限值设为0.75)进行比较,输出的结果作为后续互相关模块的使能信号;另外一路数据直接延时16个时钟周期后与本地量化后的训练符号进行互相关运算(如果不进行延时,在判定数据帧到达后计算互相关系数时,因为第1个短训练符号没有完整参与运算,导致第1个峰值不明显,容易误判),然后对取模后的结果进行峰值检测(由图3分析,为便于二进制表示,门限值设为1.25),得到10个峰值后输出同步信号。

4.2 仿真结果分析

采用Verilog HDL语言进行符号同步模块的硬件设计,并在ISE9.2i集成设计环境中配合ModelSim SE 6.2b进行仿真,仿真结果如图5所示。

其中,CLK为 20 MHz的时钟信号,Data_re和Data_im分别为送入同步模块进行计算的实部和虚部数据,Frame_flag为帧检测信号,用于判断是否有数据帧到达接收机,Peak_flag为峰值位置标志信号,可以产生最终的同步信号。在Frame_flag信号为高电平期间,互相关系数有10个峰值位置,这也符合Matlab中的仿真结果。

表1是选用Xilinx公司Spartan3系列的xc3s1000-4ft256芯片进行仿真实现的资源占用情况,逻辑单元使用率为14%,系统最高工作频率为60.942 MHz。

表1 FPGA中的资源占用情况

5 小结

笔者对基于IEEE802.11a协议的OFDM符号同步算法的硬件实现结构进行了简化,在Matlab中对简化结构前后的算法分别进行了仿真分析,确保了简化的可行性,最后完成了在FPGA中的硬件电路设计。最终的结果表明该算法在降低了硬件资源占用的条件下,仍然能够达到较为理想的符号同步效果,并且提高了芯片运行速度。这样就便于将解调模块集成在单芯片中,或者是使用较低端的芯片实现同步功能。

[1]史治国,洪少华,陈抗生.基于XILINX FPGA的OFDM通信系统基带设计[M].杭州:浙江大学出版社,2009.

[2]谢英浩,李绍荣.一种优化的OFDM符号定时与频偏估计算法及其 FPGA 实现[J].通信技术,2008,41(12):4-6.

[3]陈霞,章坚武.基于IEEE802.11a OFDM同步算法的FPGA实现[J].无线电工程,2007,37(7):55-57.

猜你喜欢

限值峰值运算
“四单”联动打造适龄儿童队前教育峰值体验
重视运算与推理,解决数列求和题
有趣的运算
“整式的乘法与因式分解”知识归纳
辽宁省辽河流域石油炼制排放限值的制定
宽占空比峰值电流型准PWM/PFM混合控制
基于峰值反馈的电流型PFM控制方法
中美炼钢行业污染物排放限值研究
蓄电池SOC限值下的微电网协调控制策略研究
环境保护部解读新发布的大气污染物特别排放限值