0 引言

当前LTE-Advanced系统架构趋于扁平化,以往的帧定时同步方案已不再适合LTE-Advanced系统,因此,需要寻找一种新的帧定时同步实现方案。本文将该算法分成3个步骤:粗定时同步和小区组内ID号检测、精定时同步、帧同步和小区组ID号检测。由于定时同步需进行FFT运算以及相关运算,这样划分能够利用粗定时同步迅速地找到PSS的大致位置,缩小精定时同步的检测范围,很大程度上减少了精定时同步的计算量,并且加快帧定时同步过程的完成。

本文通过ASIC设计方案与传统的FPGA处理相比,得出ASIC设计更适合于对实时性和可靠性要求高的大规模复杂的信号处理系统,并且在面积和功耗上也有很大优势,可保证良好地适用于LTE_A用户终端。

1 相关算法研究

1.1 粗定时同步和小区组内ID号检测

粗定时同步是为了迅速地找到主同步信号(Primary Synchronization Signal,PSS)的大致位置并获得小区组内标识(Identity,ID)号

以便确定PSS的滑动范围,因此从减少计算量、方便实现等因素考虑,决定采用基于接收PSS对称性相关的粗定时同步方案[1]。

PSS在时频域均具有对称性,能够在接收端利用该特性检测PSS。该方案的具体步骤是:接收半帧的数据(假设这半帧的数据中含有一个完整的PSS),以第1个数据点为起点,依次取出长度为2 048的数据,用r(n)表示,并将r(n)分成两个部分。对这两部分数据做滑动相关运算,运算结果的最大值所在位置就是PSS的大致位置,如式(1)所示[2]:

其中,N表示相关窗长度,即半个OFDM符号长度,当降采样率设成1/16时,N取64。获得的PSS大致位置为:

对该粗定时同步方案进行Matlab仿真,设置的仿真条件为:高斯白噪声信道,信噪比为-10 dB,普通CP,定时偏移设为0,频偏设为2 000 Hz,发送信号中PSS采用的

为1。仿真图如图1所示。

从上图可看出,最大值的横坐标是2 333,通过换算得到在接收数据中的位置是35 280。PSS的实际位置为35 265,仿真结果与它差了15个点。由于进行了降采样处理,采样率为1/16,15个点的误差可以接受。

该方案在找到PSS的大致位置后,最大值所在的组所对应的即为接收PSS的根指数,通过u与

的一一对应关系[2],可以得到

的值。

1.2 精定时同步

为满足同步精度要求,需要在粗定时同步的基础上进行精定时同步来缩小查找范围。本文采用基于接收PSS与本地PSS相关的算法[3]进行精定时同步。首先,由粗定时同步得到的

在本地生成频域PSS,再通过快速傅里叶反变换运算(Inverse Fast Fourier Transform,IFFT)变换到时域上。然后在d的左右各64个点范围内,即[d×16-64,d×16+63],直接与降采样前的时域接收数据进行滑动相关,最大值所在的位置即精定时同步的位置。相关函数由下式所示[3]:

对精定时同步进行Matlab仿真,设置的仿真条件为:高斯白噪声信道,信噪比为-10 dB,普通CP,定时偏移设为0,频偏设为2 000 Hz,发送信号中PSS采用的

为1。仿真图如图2所示。

从上图可看出,最大值的横坐标是63,与实际的位置相符。

1.3 帧同步和小区组ID号检测

通过定时同步可以找到PSS的精确位置,但是不能判断当前接收数据属于前半帧还是后半帧(子帧0或者子帧5)[5]。因此需要通过检测辅同步信号(Second Synchronization Signal,SSS)来完成帧同步,并获得

。为了降低复杂度、减少计算量,决定采用解扰的办法获取SSS生成式[1]中的参数m0和m1,根据m0和m1与

的一一对应关系,得到小区ID组号。

常用的解扰检测算法有相干检测算法与非相干检测算法,本文采用相干检测算法[4]。此算法的原理如下:

将时域接收PSS通过FFT变换成频域PSS,用Rpss(k)表示,并生成本地频域PSS,用Tpss(k)表示。当信道的相干时间大于4个OFDM符号长度时,能够算出信道冲激响应的估计值:

其中,i=0,1,…,30,M表示分段相关时的分段数,NM表示每段中的数据长度,这里假设M=4。

2 ASIC设计与实现

2.1 结构说明

本文所设计的帧定时同步模块的硬件结构如图3所示,由4个部分组成:接口模块、存储器模块、控制模块和运算模块。

图3中,regif模块采用通用的ZSP总线接口,对模块相关功能所需参数进行设置,并能查询该模块的运行状态;mem模块实现ZSP总线和运算模块对存储器资源的读写,包含输入与输出存储器。

2.2 运算(core)模块

本模块主要分为FFT模块、产生本地PSS或SSS序列模块、最大值查找模块、PSS冲激响应计算模块和m0/m1估计模块。

2.2.1 FFT模块

本模块支持的运算点数分为128点、256点、512点、1 024点和2 048点。FFT运算完成后,找出最大值以及归一化因子并输出。同时采用八路并行的方式来设计。八路并行结构就是在并行迭代结构的基础上,把并行迭代结构中每一级的全并行改成八路并行,减少了并行单元的数量,从而降低芯片的面积[6]。

2.2.2 产生本地PSS或SSS序列模块

本模块能够根据不同的需要产生本地频域或时域同步序列。首先根据配置的小区ID组号和

小区组内ID号

,和PSS序列或者SSS序列生成公式,产生62点频域的PSS或SSS序列。

2.2.3 最大值查找模块

本模块能够查找到输入数据中的主峰值以及两个次主峰值,并能够查找到每个主峰值周围的3个辅助峰值。每个主峰值至少间隔128个点。以输入数据长度为2 048点为例,首先找出第1个点到第2 048个点的最大值和所在的位置并记录。然后,取当前峰值左右共128个(可配)长度位置之后开始读取,左右各读取18个(可配)数据进行对比,找出3个最大值作为辅峰值,记录这3个辅峰值的大小及位置。接下来,将该主峰值以及左右各128点数据清零,开始查找第二个主峰值,后续以此类推。

2.2.4 PSS冲击响应计算模块

本模块输入数据长度固定为128点,为接收到的时域PSS序列,每点数据虚实各占16 b。输入数据首先进行FFT运算,得到频域的128点PSS序列,并提取出其中的62点PSS序列。根据配置的小区组内ID号

和PSS序列生成公式,产生62点本地的频域PSS序列。将接收的PSS序列与本地PSS序列进行相关运算,得到PSS序列的冲激响应。此冲激响应信号为62点32 b数据,实部16 b,虚部16 b。

2.2.5 m0估计模块

本功能模块输入数据长度固定为128点,为接收到的时域SSS序列,每点数据大小为32 b,虚实各占16 b。输入数据进行FFT运算后,得到频域的128点从END状态跳转到IDLE状态。提取出其中的62点SSS序列,得到偶数位置上的数据Rsss(2k)。然后,根据配置的小区组内ID号M=m0-m1,生成解扰序列c0(k),对

进行解扰。

2.2.6 m1估计模块

2.3 控制模块

本文所设计的控制模块使用有限状态机(Finite Status Machine,FSM)来进行实现。控制模块的FSM跳转如图4所示。

(1)IDLE状态:模块未启动时均处于该状态,当模块的启动信号start有效时,从IDLE状态跳转到PARA状态。

(2)PARA状态:进入此状态后,并且para_en有效时,模块会从参数寄存器读取对应功能的参数配置值。当参数读取完成后,拉高para_finish信号,指示参数读取已经完成,从PARA状态跳转到PROC状态。

(3)PROC状态:进入此状态后,并且 meas_en有效时,进行模块具体功能的运算。当运算完成后,拉高proc_finish信号,指示运算已经完成,从PROC状态跳转到END状态。

(4)END状态:进入此状态后,表明外部配置的功能任务已经完成,拉高cell_finish信号,从END状态跳转到IDLE状态。

3 实验部分

3.1 仿真验证

3.1.1 m0值估计功能仿真结果

从图5可以看出,本次仿真没有使能中断,因此只能不断读取中断标志寄存器的值,直到中断标志寄存器置位,才能判断该模块运行已经结束,然后再从存储器中读取输出数据,并比较输出数据的正确性。对比结果表明,该功能能够达到预期的目标。

3.1.2 m1值估计功能仿真结果

从图6可以看出,在运行m1值估计功能之前,首先运行了存储器清零功能。在模块完成了存储器清零功能之后,将需要进行m1值估计的输入数据存入存储器中,然后对参数寄存器和控制寄存器进行配置,并启动模块工作。模块运行结束后,正常产生中断信号。仿真结束后的数据对比表明,该功能能够达到预期的目标。

3.2 逻辑综合

本文采用了Design Compiler综合工具对所设计模块进行逻辑综合,它能够将RTL代码转换成门级网表,并且产生相应的延时文件。

从图7和图8能得出:本设计综合后的逻辑面积是1 302 392.271 666 μm2,总功率是51.291 1 mW。

4 结论

实验表明,本文设计的实现方案能够快速准确实现定时同步、帧同步和小区ID号检测等功能,经过验证、综合后,本设计可作为一个成熟的IP核,并可移植到含有帧定时同步功能的ASIC芯片中。

参考文献

[1] ZHANG Z,LIU J,LONG K.Low-complexity cell search with fast PSS identification in LTE[J].Vehicular Technology,IEEE Transactions on,2012,61(4):1719-1729.

[2] 张德民,朱翔,李小文.LTE系统中小区搜索定时同步的FPGA设计[J].电子技术应用,2013,39(9).

[3] SHENG Y,LUO X.Algorithm study on cell search in LTE[J].Communications Technology,2009(3):035.

[4] PARK H G,KIM I K,KIM Y S.Efficient coherent neigh-bour cell search for synchronous 3GPP LTE system[J].Electronics Letters,2008,44(21):1267-1268.

[5] 3GPP TS 36.211 v11.0.0.Evolved universal terrestrial radio access(E-UTRA);physical channels and modulation (Release 11)[S].2013:108-111.

[6] 李杰.低功耗可扩展FFT专用集成电路的设计[D].长沙:湖南大学,2011:20-53.

td lte pss同步matlab仿真,一种LTE-A帧定时同步算法的AISC设计与实现相关推荐

  1. td lte pss同步matlab仿真,TD-LTE系统小区搜索PSS定时同步的研究

    随着移动互联网的发展,终端用户对于数据业务的需求呈爆炸式的增长,为了满足用户对移动无线宽带的需求,TD-LTE网络成为移动互联网的重要解决方案.在TD-LTE系统中,小区搜索是无线链路的关键步骤,是用 ...

  2. Matlab 仿真——直流电机速度控制(4)通过根轨迹法进行控制器设计

    Matlab 仿真--直流电机速度控制(4)通过根轨迹法进行控制器设计 1. 受控对象与设计要求 受控对象 %motor parameter J = 0.01; b = 0.1; K = 0.01; ...

  3. 搜matlab代码的网站,LTE小区搜索matlab仿真

    [实例简介] LTE小区搜索过程的matlab仿真,比较详细,内容不错 [实例截图] [核心代码] 35738649matlab └── matlab ├── Bc.m ├── CellSearch. ...

  4. 定时同步 matlab仿真,高阶QAM定时同步的MATLAB仿真及其FPGA实现

    目前,基于软件无线电的数字接收机,其定时同步主要采用异步采样恢复,即采样时钟独立工作,通过估算定时误差,控制内插滤波器内插出最佳采样时刻的值.常用的定时误差估计算法主要有:迟早门算法.米勒-穆雷算法. ...

  5. 基于gardner环的定时同步matlab仿真

    目录 1.算法概述 2.仿真效果 3.MATLAB仿真源码 1.算法概述 在系统设计中Gardner锁相环位于Costas载波同步锁相环之后,主要由四部分组成:内插器.时钟误差提取模块.环路滤波器以及 ...

  6. 粗同步 符号同步 matlab,OFDM系统在衰落信道中帧同步算法研究(毕业论文)

    <OFDM系统在衰落信道中帧同步算法研究(毕业论文)>由会员分享,可在线阅读,更多相关<OFDM系统在衰落信道中帧同步算法研究(毕业论文)(5页珍藏版)>请在人人文库网上搜索. ...

  7. m基于深度学习的LTE信号检测算法matlab仿真

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 随着射频设计者快速投入到支持长期演进( LTE )手机无线标准的新产品的开发过程中,理解LTE的测试 ...

  8. 一次调频二次调频matlab仿真,一种改进型VSG二次调频控制器及控制方法与流程

    本发明属于调频逆变器领域,应用于孤岛运行的微电网中,具体来讲为一种改进型VSG二次调频控制器及控制方法. 背景技术: 微电网一般由多台逆变器和负荷组成,仿照同步发电机的原理,微电网内的每台VSG也需要 ...

  9. 分布式电源matlab仿真,三种分布式电源的建模与仿真

    摘要:随着环境污染和能源短缺问题的日益严重,以及传统的大容量集中式供电的缺陷,分布式发电技术受到越来越多人的关注.分布式发电以其独特的优势成为了新能源发电行业中一种极具发展潜力的能源利用方式,合理的开 ...

最新文章

  1. [050] 微信公众平台开发入门视频教程已公布
  2. 子数组的最大累加和问题
  3. C#字符串、字节数组和内存流间的相互转换 - IT浪潮之巅
  4. Hibernate在配置表映射文件时cascade的类型及意义
  5. 类和对象编程(九):类的静态成员
  6. mysql 客户端乱码_mysql客户端中文乱码
  7. JAVA项目案例详解带代码
  8. VS2017 Ankhsvn不可用
  9. 你知道 FW 工程师 是做什么的吗?
  10. java 标准偏差函数std_如何使用JAVA计算标准差
  11. SCC4-设置系统是否可编辑状态(后台配置)
  12. OC 技术 获取设备的UDID添加到开发者账号(视频)
  13. Ubuntu 20.04 搭建 Fisco-BCOS 2.8.0 区块链系统
  14. 别收藏 Excel 函数大全了!北大硕博生为帮助女朋友,开发了个 ChatExcel,一键处理表格...
  15. Android Studio代理设置(SDK下载代理设置)
  16. 数据存储设备的发展历史
  17. js replace() 使用
  18. 利用地球同步卫星在一个1Mbps的信道上发送长度为1000位的帧,该信道的传播延时为27Frames of 1000 bits are sent over a 1-Mbps channel using
  19. 【深入UCSC Genome Brower】写在前面
  20. 【密码专栏】动手计算双线性对(下)

热门文章

  1. C# webBrowser 自动登录淘宝 模拟点击输入 模拟点击无ID 无name的html元素按钮
  2. 安卓手机游戏的识别码设计思路
  3. 基于PP-ShiTu的珍稀动物识别
  4. imagenet2012数据集||迅雷下载
  5. 记一次不成功的QQ音乐地址获取流程
  6. Picgo + Gitee + Github 搭建免费图库, Typora 自动上传图片
  7. 描述小米手机前期营销活动的内容,分析其策略的合理性以及带来的市场绩效。...
  8. 霍尼韦尔系统服务器冗余切换,霍尼韦尔PKS系统在聚酯装置的成功应用
  9. Qt实现炫酷启动图-动态进度条
  10. Python类调用类的实例方法的方式