在LTE体系中,当进行随机接入eNB(网络端)和UE端树立上行同步之后,因为无线信道环境的改动需求进行时域和频率的同步调整,所以需求一种算法来完结守时同步的功用。OFDM符号守时同步的意图是找到CP和FFT的开端方位。因符号守时同步产生错误解导致符号间搅扰,将影响到UE上行信道功用与容量。因而,功用杰出的同步办法关于OFDM体系非常重要[1,2]。符号守时算法有许多,首要有数据辅佐算法、非数据辅佐盲算法和依据循环前缀的算法[3,4]。前两种算法相关于依据循环前缀的算法,完结难度大,而依据循环前缀算法的核算量比较大。本文为了能更好地完结守时同步,用FPGA的思想来简化最大似然 (ML)估核算法,并在此基础上进行一些算法的改善,运用Xilinx的Virtex-5芯片[5]作为硬件渠道完结其算法,完结上行同步守时的功用,并应用到项目中。
适用状况:合适高斯白噪声多径式微或多普勒平移偏小的状况。
优缺点:算法简略,相对准确。但一同完结三个公式,关于硬件来说需求许多的乘法器,占用资源比较大,所需时刻也比较长。
计划2:直接选用滑动相关的办法,完结公式(1)。因为肯定能量对相关能量的影响是必定的,并且数据有很好的相关性。因而,经过相关能量的运算,运用开方运算比较巨细,能够找到相关能量最大值?酌(?兹)。
适用状况:信道环境和数据的相关性都特别好的状况下。
优缺点:算法简略、易完结,精准度和复杂度相关于计划1较小。但乘法器运用较多,完结所需求的时刻比较长,占用资源比较大。
优缺点:算法简略、易完结、运用乘法器很少,占用资源相对较小,但精准度低于计划1。
从FPGA的速度和面积的视点考虑,计划3比较合理,既占用很少的资源,也能较快地完结同步。
3 FPGA完结的处理流程
3.1 全体流程
全体规划流程图如图2所示。数据由中频经过接口,经过接纳和存储模块,进入乘法模块对360个数据操作,乘法器成果存储之后进入到求和模块,在求和模块中完结160个160点求和,经过开方和比较模块找到最大值max。
3.2 模块的解析
(1)接纳和寄存模块
数据从中频分I、Q两路数据输出,接纳模块选用2片32 bit寄存器组寄存。mem0[31:16]寄存0~159的实部,mem0[15:0]寄存0~159的虚部。mem1[31:16]寄存2 048~2 207的实部,mem1[15:0]寄存2 048~2 207的虚部。
(2)乘法模块
图2中,a对应的是0~159的实部,b对应的是0~159的虚部,c对应的是2 048~2 207的实部,d对应的是2 048~2 207的虚部。乘法模块完结了一个复数的相乘。一对共轭复数需求4个乘法器(a+bj)×(c-dj)=(ac+bd)+(bc-ad)j。因为需求320个复数对应相乘,为了更快地完结同步,一同又要考虑资源的状况,一次选用多少乘法器,需求依据后边的测验和评价状况做出挑选。在权衡资源与速度后,本规划一次运用20个乘法器。
(3)存储模块
存储模块的作用是把上一个模块数据相乘后的320数据存储起来。为了便利后边求和模块的取值,此处选用了4个RAM。图2中,Re1寄存乘法模块输出的0~159的实部,Re2寄存乘法模块输出的160~319的实部,Im1寄存乘法模块输出的0~159的虚部,Im2寄存乘法模块输出的160~319的虚部。对应的RAM 的输入和输出地址是依据程序中标志位来操控的,对应的RAM 的输入值与选用乘法器的个数有关,选用多个乘法器时输入值选用位拼接的方法存入输入端。当给出输出端地址时,读出的数据也是许多个数据的位拼接,对应取出需求的位数即可。
(4)求和模块
因为未选用滑动相关的计划,所以需求对得出的数据进行加减,才干完结滑动相关求和的进程。滑动次数为0及滑动次数为1时,乘法器的数据相乘部分有159个数据是重复相乘。所以能够选用sre=sum_re+re2[0]-re1[0]求和。其间,sre相关于滑动一次的实部数据和,sum_re是未滑动数据的实部和,re2[0]是第160个实部(已完结了ad+bc便是一个复数和对应的复数相乘后的实部), re1[0]是第0个实部(已完结了ad+bc是一个复数和对应的复数相乘后的虚部)。对应的虚部也是这样操作。实部和虚部别离需求完结160次,即:
(6)比较模块
比较由开方模块出来的max和temp出来的数据巨细,找出对应的方位max_position输出delete_cp信号,为后边数据送到CP、FFT模块做指示。
4 FPGA完结成果及剖析
图3是FPGA规划的仿真图,max_position是用ML算法找到的最大值,即为CP的开端方位值。delete_cp为标志位,是为了给后边数据输送到CP模块、FFT模块的开端标志。仿真程序中设置了同步的噪声为33个,max_position的值是33。仿真中,噪声设为恣意一个小于160的数X,max_position的值是X。阐明ML算法在数据相关性很好的状况下,能准确地完结同步。图4是衔接项目板子后,用Xilinx ISE10.1中的ChipScope Pro收集到的图样。ChipScope Pro首要是在板级调试进程中,调查FPGA芯片内部的信号。能够看出max_position的值是50,之所以和仿真图的值不相同,因为这个数据是实在的数据。依据ML算法,能够经过板级调试,成功地完结守时同步。图5是联机调试(FPGA、DSP与协议栈一同调试)顶用Agilent的示波器收集到的波形。B1总线值为50(即max_position的值)。数字线14中的信号代表delete_cp信号。能够看出,图5收集到的信号和图4的相同,证明在联机调试中,能够成功完结同步。从图3、4、5中调查到的现象看,计划3的规划能正确完结ML算法,能够准确地完结上行同步。
ML算法的程序现已过Xilinx ISE10.1[6]的编译、仿真验证、板级验证和联机验证。其成果和理论值共同,能够准确到LTE体系要求。该算法满意了硬件对算法的模块化、规则化的要求,因而,它能够充分发挥硬件的优势,运用硬件的资源和速度,然后完结硬件与算法相结合的一种优化计划。在FPGA规划中,使速度与面积达到了很好的平衡,首要体现在乘法模块。此外,在完结进程中采取了一次做20次乘法的计划,使整个同步的进程完结只需求1 000多个周期,时刻比较短,且占用资源很小(Slice LUT=7%)。因为该算法的FPGA完结在这个项意图联机调试中,功用安稳,所以该算法的FPGA完结现已应用到国家科技严重专项项目“TD-LTE无线终端综合测验外表”开发中。