微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 基于叠加训练序列光OFDM系统帧同步算法FPGA实现

基于叠加训练序列光OFDM系统帧同步算法FPGA实现

时间:04-17 来源:互联网 点击:

采用长度为256的序列,将截取长度为512的接收信号进行镜像叠加处理,把长序列的乘积转化为短序列的乘积,降低了使用乘法器的次数,同时采用的训练序列比文献中的要短。因此,本文的同步算法在计算复杂度上比文献中的算法2和算法3更具优势。

4 帧同步算法的FPGA仿真实现
4.1 训练序列产生
训练序列产生(Training Sequence Generator,TSG)模块的硬件实现结构如图7所示。TSG采用频率为20 MHz时钟进行基带处理。从微处理器送出的控制信号ACK用来启动TSG模块的工作。与IM/DDO-OFDM符号长度N(N=64)保持一致,ACK信号持续拉高1 025个时钟,一共持续完成64个周期的训练序列输出,每个周期内有16个时域样值。其中,TSG模块输出数据采用8位带符号的二进制表示,后8个周期TSG模块输出数据与前8个周期输出的数据具有镜像对称关系。


经过综合、布局、布线后仿真,得出TSG工程文件的Modelsim仿真如图8所示。

每个TSG周期的16个时域样值存储在FPGA片内的ROM中。其中高8位为训练序列样值的实部,低8位为训练序列样值的虚部。由图8可知,当ACK信号为高时,Count16开始计数1 025个时钟,产生的地址信号控制ROM将存储的16个时域训练序列采样值读取,先重复m/2(m=8)个周期,形成训练序列的前半部分,再重复8个周期,形成训练序列的后半部分,最后组合成所需要的叠加训练序列。从输出部分可以看出,TSG_SY信号与TSG模块输出的训练序列实部和虚部样值保持同步。
4.2 训练序列叠加方式的FPGA实现
根据图1叠加训练序列IM/DDO-OFDM系统模型利用FPGA设计实现训练序列与光数据OFDM符号的叠加。在保持发射功率不变,分别对训练序列和光数据OFDM符号进行了功率分配。训练序列叠加(TSSP)模块主要端口说明:TSSP_CLK:工作时钟,频率为20 MHz;OOFDM_DIN:被叠加的光OFDM符号数据帧;TSG_DIN:训练序列实部或者虚部;POWER_CT:叠加功率分配控制,保持发射机功率不变;TSSP_ACK:高电平有效,控制OOFDM_DIN和TSG_DIN的输入;TSSP_DOUT:TSSP模块输出信号;TSSP_INDEX:叠加信号输出的坐标序号;TSSP_RDY:TSSP输出有效,与OOF DM_DIN信号同步。
经过综合、布局、布线后仿真,得出TSSP工程文件Modelsim仿真如图9所示,局部放大结果见图10。

从图9,图10可以看出,未叠加前,信号输出端TSSP_DOUT输出的是光OFDM符号数据,TSSP_RDY信号持续低电平;信号叠加时,TSSP_RDY信号持续高电平,信号输出端TSSP_DOUT输出的是经过功率控制后的叠加信号;叠加操作完成后,TSSP_RDY信号被拉低,信号输出端TSSP_DO UT输出的是光OFDM符号数据。叠加输出的信号TSSP_DOUT与输入的信号OOFDM_DIN和TSG_DIN持续的周期一致,且保持8个数据位长度。在输出部分,TSSP_INDEX输出训练序列与O-OFDM符号叠加后的数据坐标序号。

4.3 帧同步仿真实现及性能分析
帧同步模块的外部接主要端口说明:INEN同步的输入数据有效信号,与数据同步;BITINREC:处理后的接收信号;BITINTSG:本地训练序列;CORRLETAIONSUM:帧同步输出数据;INDEX:帧同步输出数据的坐标序号;OUTEN:帧同步后输出数据有效信号。
Modelsim仿真软件得到仿真结果如图11所示。CORRLETAIONSUM为接收信号经过处理得到的BITINREC与本地训练序列BITINTSG进行互相关运算的累加和,DOUTEN为帧同步后(即相关运算累加和值大于预设门限值),同步拉高。图12为帧同步归一化Matlab仿真图。从图11中可以看出,输出信号CORRLETAIONSUM与图12中的相关峰值归一化结果基本一致,验证了帧同步算法在FPGA上实现的可能。判断依据是在图11中有个DOUTEN信号和INDEX信号,其中DOUTEN信号表示的搜索到最大值时刻进行同步信号拉高处理,INDEX信号为帧同步相关后的坐标序号输出值。在DOUTEN信号输出电平拉高的时候,刚好INDEX信号的值为153,而相同参数下Matlab仿真的波形输出最大值的坐标也为153,当这两个值相等的时候,可以判断两个仿真波形输出是一致的。

5 结语
本文设计的重点和难点是叠加训练序列设计、FPGA平台的构建,研究了叠加训练序列光OFDM帧同步算法。并详细阐述了各模块的具体FPGA实现方法,提高了同步的精度。最终通过Matlab和Modelsim完成了目标算法的工程实现。验证了帧同步算法在FPGA上实现的可能,将逐步被应用于各种工程中。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top