主要内容

LTE HDL细胞搜索

这个例子展示了如何设计一个LTE手机搜索和选择系统优化了HDL代码生成和硬件实现。

介绍

手机搜索和选择的第一步是由用户设备(UE)试图获得一个LTE网络。手机搜索和选择过程涉及到检测候选人eNodeB然后选择一个同步信号。这包括确定选择eNodeB物理层细胞身份(细胞ID)和双工模式。此外,问题获得频率和时间同步在这个过程。一旦这个过程已经完成,问题可以解调OFDM信号通过细胞,恢复其主信息块(MIB)。MIB复苏模型与HDL代码生成功能,而重用细胞这里显示搜索和选择功能,提出了LTE HDL MIB复苏

的功能在目前的例子是基于细胞LTE工具箱的搜索功能手机搜索、MIB和SIB1复苏(LTE工具箱)。然而,该算法优化了HDL代码生成。LTE工具箱是广泛用于目前的发展的例子。这里描述的高密度脂蛋白模型执行以下功能:

  • 频率恢复

  • 中小学同步信号检测

  • OFDM解调

高密度脂蛋白中的频率恢复算法模型只能正确的偏移量少于+ -7.5 khz。大频率偏移复苏大于+ -7.5 khz驾驶是可能的输入和输出与外部监控控制器。示威的大型频率偏移校正可以在找到LTE MIB复苏和细胞使用模拟设备AD9361 / AD9364扫描仪(Xilinx Zynq-Based无线电通信工万博1manbetx具箱支持包)的例子。

一旦模型完成细胞搜索和选择过程,它输出细胞ID,双工模式和unequalized资源网格细胞的。这个功能如下所示。模型支持下行信号与1万博1manbetx5 kHz副载波间距和正常循环前缀长度。频分双工(FDD)和时分双工(TDD)方式都支持。万博1manbetx双工模式是自动检测。

LTE标准提供了两种物理信号帮助细胞搜索过程。这些是主要的同步信号(PSS)和二级同步信号(SSS)。更多信息请参考附录A LTE下行同步信号。

示例结构

模型由5文件:

  • ltehdlCellSearch.slx:这是模型的顶层,充当一个试验台ltehdlDownlinkSyncDemod.slx

  • ltehdlDownlinkSyncDemod.slx:细胞模型参考实现搜索、同步和OFDM解调功能。

  • ltehdlCellSearch_init.m:MATLAB®脚本生成刺激。

  • ltehdlCellSearch_analyze.m分析:MATLAB脚本输出和显示块的仿真。

  • ltehdlCellSearchTools.m:MATLAB类包含helper方法分析和策划的结果。

请注意:ltehdlDownlinkSyncDemod.slx没有出现在工作目录的例子是共享与其他例子。MATLAB的文件路径,可以通过输入打开ltehdlDownlinkSyncDemod在MATLAB命令行。

模型架构

手机搜索和选择子系统的结构如下所示。输入是复杂的16位数据取样30.72议员。信号传递给两个信号处理数据路径;一个在1.92议员和一个30.72议员。执行频率恢复和PSS检测1.92议员数据路径。使用这个采样率有两个原因。首先,细胞带宽不知道在这个阶段,因此最小的LTE带宽频率为1.4 MHz假定复苏。这种方法不管实际工作细胞带宽。第二,PSS和瑞士只占6个中央资源块(1.4兆赫)。因此,检测可以有效地执行1.92议员和资源共享技术可以用来优化硬件实现。

下面的步骤描述了接收机操作。

  1. 频率估计的块估计频率偏移量在10毫秒的时间。

  2. 频率校正块然后激活在1.92议员和30.72议员样本流。

  3. PSS检测频率估计后立即开始阶段已经完成。

  4. SSS检测开始当PSS检测检测到一个有效的PSS的信号。如果找到一个有效的瑞士,这意味着一个有效检测到细胞和双工模式目前所知。

  5. 细胞ID和帧起始位置计算。

  6. 在下一个帧边界,接收机开始从30.72议员样本中提取OFDM符号流。每个符号通过2048点FFT进行OFDM解调。

附录B细胞提供更多详细信息搜索和选择算法中使用这个例子。

手机搜索模型模型万博1manbetx

的顶层ltehdlCellSearch.slx如下所示。这个模型的引用ltehdlDownlinkSyncDemod.slxltehdlCellSearch_init.m叫的InitFcn回调,ltehdlCellSearch_analyze.m叫的StopFcn回调。该模型使用一个停止水槽终止仿真时(我)subframeNum输出是5或(ii)cellSearchDone是断言真正的也没有检测到细胞。HDL代码可以生成的手机搜索高密度脂蛋白子系统。

手机搜索高密度脂蛋白子系统主要是一个包装器ltehdlDownlinkSyncDemod模型。它包含一个模型块(下行同步解调),引用ltehdlDownlinkSyncDemod.slx和一个诊断到工作区所有的诊断输出子系统,日志。使用的诊断输出ltehdlCellSearch_analyze.m生成块显示的内部操作。

下行同步和解调模型参考

ltehdlDownlinkSyncDemod模型参考实现所有细胞的搜索、同步和OFDM解调功能。附录B细胞细节搜索和选择算法实现这个模型。的顶层ltehdlDownlinkSyncDemod匹配早些时候提出的体系结构。

模型的输入:

  • dataIn:复杂的签署了16位数据输入的基带信号。

  • validIn:布尔值,指示是否dataIn是有效的。

  • 开始:布尔。维护这个输入真正的在任何时候一个周期启动细胞搜索。这被称为start命令。

模型输出:

  • NCellID:9-bit细胞检测eNodeB的ID。

  • TDDMode:布尔值,指示的双模式检测单元:FDD,真正的TDD。

  • timingOffset:19-bit定时偏移量。显示第一个示例的样本的数量进入接收机第一个示例的第一个完整的框架,从0到307199。

  • 频率:14-bit签署了频率偏移估计。这个输出乘以15 e3 / 2 ^ 14为了转换为赫兹所示LTEHDLCellSearch模型。

  • cellDetected:布尔,这表明一个细胞被发现。

  • cellSearchDone:布尔,表明细胞搜索完成。如果找到一个细胞,cellDetectedcellSearchDone将断言真正的在同一时间。如果没有发现,细胞cellDetected仍将是cellSearchDone将断言真正的在100 ms的start命令。所花费的时间cellSearchDone要断言取决于有多少次检测PSS和瑞士。详细信息,请参阅附录B。

  • subframeNum:4比特无符号整数。表明,子帧正在传递的gridData港口,从0到9。

  • gridData:16位数据解调资源网格。

  • gridValid:布尔值,指示是否gridData是有效的。

  • 诊断:总线信号,携带各种诊断输出。

ltehdlDownlinkSyncDemod使用两个无线HDL工具箱™示例函数在初始化期间:ltehdlDefineReceiverBusesltehdlDownlinkSyncDemodConstantsltehdlDefineReceiverBuses与其他无线共享HDL工具箱的例子,定义了一组仿真软件的公交车。万博1manbetx这个函数被调用InitFcnltehdlDownlinkSyncDemod。只有detectorDiagnosticsBus这里使用的输出函数。总线对象存储在工作区底部,使其既可ltehdlDownlinkSyncDemodltehdlCellSearch模型。

[~,~,~,~,detectorDiagnosticsBus] = ltehdlDefineReceiverBuses ();

模型依赖于预先计算的常量和查找表存储在一个称为结构cellDetectorConfig。这个结构是生成的ltehdlDownlinkSyncDemodConstants功能,只有在使用ltehdlDownlinkSyncDemod模型参考。因此,在模型中定义工作空间而不是基本工作空间。使用Model Explorer视图模型空间,它包含以下初始化代码。

cellDetectorConfig = ltehdlDownlinkSyncDemodConstants (30.72 e6);

的内部结构ltehdlDownlinkSyncDemod显示。

大量毁灭过滤器子系统重新取样输入数据从30.72到1.92(苏格兰议会议员。它由中投公司大批杀害,中投公司获得赔偿,中投下垂补偿,临时取消。过滤器链的目的是有一群延迟等于整数样品在1.92议员的数量。的瞬时切除块删除初始瞬态由于这群延迟从示例流。这是很重要的,因为帧定时偏移测量1.92议员流,然后使用恢复时间30.72议员流。删除大量毁灭过滤器链的初始瞬态简化了逻辑转让计时信息。

FrequencyEstimation子系统采用循环前缀来估计输入信号的频率偏移。的CyclicPrefixCorrelator不断地传入信号的自相关措施的滞后8 128名样本的样本时间窗口。它提高了测量使用7-tap OFDM-symbol间隔平均滤波器。结果是大小和相位的转换Rect2Polar子系统。每10毫秒,AngleAtMaximum子系统选择相关性最强的峰,记录其相位角,将它转换为频率估计。该算法适用于FDD和TDD模式,包括每一帧的配置,只有一小部分分配给下行。附录B提供了更多关于如何使用循环前缀的信息来估计频率偏移量。

同步信号搜索子系统实现了PSS和SSS检测。时间在这部分的设计是至关重要的,因为SSS搜索器使用框架的计时信息PSS搜索器识别SSS搜索位置。的PSS搜索器提供了一个validOut使用信号流同步器块延迟输入流,赔偿PSS搜索器管道延迟。同步的输入流PSS搜索器输出的简化了设计SSS搜索器

PSS搜索器是由两个子系统:相关器最大峰值搜索器。在一起,这些子系统实现PSS附录B中描述的搜索算法。

相关器子系统包含一个匹配滤波器的三种PSS序列,和一组子系统来确定阈值。应用于阈值下限来防止小信号触发假警报。PSS相关器和阈值生成逻辑有不同的管道延误,因此,一个流的同步器是用来重新调整他们的输出。

一旦细胞搜索正在进行中SSS搜索器不断地将样本存储在一个循环的缓冲区中。一旦检测到PSS,它继续样品加载到缓冲区,直到SSS搜索已经达到和存储位置。PSS的SSS搜索位置计算时机提供的信息PSSEndTimingOffset信号。接下来,FDD位置样品从缓冲区读取,通过128点FFT,马克斯SSS可能性子系统计算相关指标和阈值。相同的操作则应用于TDD位置样本。的马克斯SSS可能性子系统选择最大相关性指标超过阈值,并确定双工模式和框架时机。最后,计算帧定时偏移。

初始化和分析脚本

初始化脚本

ltehdlCellSearch_init.m叫的InitFcn回调的ltehdlCellSearch.slx。刺激可以从文件加载包含捕获停播波形,或与LTE工具箱生成。

% ltehdlCellSearch模型初始化脚本%生成ltehdlCellSearch所需的工作空间变量模型。SamplingRate = 30.72 e6;simParams。Ts = 1 / SamplingRate;%选择从文件加载停播捕获的波形,%或生成一个测试波形与LTE工具箱。loadfromfile = true;如果loadfromfile%负载停播波形捕获。负载(“eNodeBWaveform.mat”);dataIn =重新取样(rxWaveform SamplingRate, fs);其他的%与LTE工具箱生成一个测试波形。dataIn = hGenerateDLRXWaveform ();结束%范围内信号电平范围1 + 1。dataIn = 0.95 * dataIn / max (abs (dataIn));% 1子帧开始到波形(任意选择)。startIn = false(长度(dataIn), 1);startIn (1 e - 3 * SamplingRate) = true;%配置PSS和瑞士的尝试PSSAttempts = 2;SSSAttempts = 4;%确定停止时间。simParams。stopTime = ((dataIn) 1)长度/ SamplingRate;

分析脚本

ltehdlCellSearch_analyze.m叫的StopFcn回调的ltehdlCellSearch.slx。这个脚本严重依赖ltehdlCellSearchTools.m分析模型输出和显示的情节。

% ltehdlCellSearch模型分析脚本%后处理模型输出和生成的阴谋。%检查是否存在任何仿真输出分析。如果存在(“出”,“var”)& & ~ isempty (out.PSSDetected)%后处理提取关键细胞模型的输出参数,% diganostics和信号。[信号,报告]= ltehdlCellSearchTools.processOutput (dataIn, startIn);%绘制结果ltehdlCellSearchTools.figure (“输入波形和搜索阶段”);clf;ltehdlCellSearchTools.plotSearchStates(信号,报告);ltehdlCellSearchTools.figure (频率估计的);clf;ltehdlCellSearchTools.plotFrequencyEstimate(信号,报告);ltehdlCellSearchTools.figure (“PSS搜索”);clf;ltehdlCellSearchTools.plotPSSCorrelation(信号,报告);ltehdlCellSearchTools.figure (“SSS搜索”);ltehdlCellSearchTools.plotSSSCorrelation(信号,报告);结束

分析工具类

这个类包含分析和绘图模型输出的辅助函数。指ltehdlCellSearchTools.m为更多的信息。

模拟输出和分析

执行仿真,使用run按钮ltehdlCellSearch模型。万博1manbetx仿真软件会自动调用ltehdlCellSearch_initltehdlCellSearch_analyze通过InitFcnStopFcn回调。请注意,它将需要一段时间来构建的ltehdlDownlinkSyncDemod在首次运行模型参考。输出的模拟生成两种主要类型:(i)显示块在顶层ltehdlCellSearch框图显示关键的检测参数,和(2)四个情节是仿真结束时生成的。

NCellID,TDDMode,timingOffset,频率,cellDetected,cellSearchDone输出都有关联显示块。它们的值如下所示的一个模拟使用捕获的停播波形(eNodeBWaveform.mat)刺激。

输入波形和搜索阶段图显示:

  • 输入波形的幅度和时间。

  • 期间发生频率估计的时间窗口。

  • 为每个尝试PSS搜索窗口(在这种情况下)和PSS检测到的位置。

  • TDD的SSS搜索窗口和FDD尝试(一个在这种情况下),并检测到瑞士的位置。

频率估计图显示的输出频率估计量和时间。最后10 ms的频率估计时间窗口,频率估计是加载到寄存器,用于正确的频率偏移量。这个值也显示在图。

细胞ID是由两部分组成,NCellID1NCellID2,在那里NCellID1是瑞士序列号,NCellID2是PSS序列号(见附录A)。PSS搜索图显示所有三个PSS相关器输出,PSS阈值。PSS检测大约17女士到PSS # 1的波形,因此NCellID2 = 1

SSS搜索情节展示了成功的SSS的相关指标检测的尝试,和瑞士阈值。正如前面所讨论的那样,SSS检测算法决定了半双工模式框架的位置,以及细胞ID。因此,4 * 168 = 672相关指标计算在每个尝试。相关指标如下所示顺序沿着x轴:

  • FDD1:指标在瑞士的FDD位置序列对应于第一帧的一半

  • FDD2:指标在瑞士的FDD位置序列对应的第二任丈夫一半框架

  • TDD1:指标在瑞士的TDD位置序列对应于第一帧的一半

  • TDD2:指标在瑞士的TDD位置序列对应的第二任丈夫一半框架

SSS中检测出瑞士的FDD位置序列对应于第一帧的一半。SSS序列号是25NCellID1 = 25。最后一个细胞因此ID:

NCellID = 3 * NCellID1 + NCellID2 = 76。

HDL代码生成和验证

生成这个例子中你必须有一个高密度脂蛋白HDL代码编码器™许可证。使用makehdlmakehdltb命令来生成和一个高密度脂蛋白testbench HDL代码手机搜索高密度脂蛋白子系统。注意,testbench代可以花一段时间由于生成测试向量的长度。

手机搜索高密度脂蛋白子系统合成在Xilinx®Zynq®-7000 ZC706评估板。这个职位地点和路线资源利用率结果如下表所示。设计了计时的时钟频率200 MHz。

资源使用售予_____片寄存器26274片附近地区15740 RAMB18 25 RAMB36 9 DSP48 88

附录A - LTE下行同步信号

LTE提供了两个物理信号帮助细胞搜索和同步过程。这些是主要的同步信号(PSS)和二级同步信号(SSS)。

的细胞ID eNodeB编码PSS和瑞士。双工模式,循环前缀长度,和帧时间内从他们的位置可以确定接收到的信号。PSS和SSS传播每一帧的两倍。可能有3 PSS序列,和eNodeB传递相同的PSS每半框架。对于每个PSS,可能有168年瑞士序列框架的上半年和下半年168种不同的可能的SSS序列的帧。这意味着一次瑞士已经检测到,接收方知道如果它是在第一或第二帧的一半。PSS和SSS序列取决于细胞ID,因此,可能有3 * 168 = 504细胞ID。细胞ID

NCellID = 3 * NCellID1 + NCellID2

NCellID2哪里PSS序列号从0到2,和NCellID1 SSS序列号从0到167。PSS的每个实例占用的中央62副载波OFDM符号,也是瑞士的每个实例。正常循环前缀模式PSS的位置和SSS信号如下所示:

  • FDD模式:PSS子帧的象征6 0,瑞士的象征5子帧0

  • TDD模式:PSS的象征2子帧1,SSS象征13子帧的0

有14个符号在每个子帧,编号从0到13。因此,在FDD模式下,PSS传播一个OFDM符号在瑞士之后,而在TDD模式下PSS传播三个OFDM符号后,瑞士。这种差异在相对时间允许接收器区分这两种双工模式。PSS的位置和瑞士在FDD广播帧和TDD模式如下例所示。

更多细节见同步信号(PSS和SSS)(LTE工具箱)

附录B -细胞搜索和选择算法

本部分描述使用的算法模型来检测eNodeB信号。算法是为了应对现实世界条件如频率补偿、噪声和干扰,信噪比变化的PSS和瑞士。检测eNodeB在这种情况下,示例使用三个技巧:

  1. 频率恢复之前应用PSS和SSS检测。

  2. 动态阈值用于验证PSS和瑞士相关指标和假警报的可能性最小化。

  3. 多努力检测PSS和瑞士;例如,如果没有相关的指标为一个特定的实例瑞士超过阈值,探测器将等待半帧和再试一次,到一个预定义的尝试。

频率恢复

执行频率恢复利用接收信号的时域结构。在LTE(与其他基于OFDM的系统),每个包含一个象征有用的部分和一个循环前缀(CP)。CP是由复制一小部分的结束标志,将开始的象征。这可以利用接收机通过接收到的信号相乘的延迟版本本身的复共轭,然后整合在CP时间,延迟的时间是有用的部分。实际上,接收到的信号是阐述延迟版本的本身。积分器的输出的大小山峰在边界标志。在这些峰值信号的相角与频率偏移量。本示例中使用这种方法,并结合额外平均来估计频率偏移量。该算法可以检测频率偏移量从-7.5千赫至+ 7.5 kHz。

PSS检测

PSS检测是由不断cross-correlating所有三种可能的PSS的接收信号序列在时域。此外,信号的能量计算跨度内的相关器在每个时间步,然后生成一个阈值。PSS检测算法的目的是挑选最强的细胞通过选择PSS的最大相关性度量在10毫秒的时间窗。下面的伪代码描述了搜索算法:

初始化前10 ms的搜索窗口的位置
k = 1 - 4 (PSS尝试)
找到相关水平超过阈值,如果任何相关水平超过阈值找到那些的最大相关性水平超过阈值的PSS发现:打破循环,开始SSS搜索其他PSS没有检测到:移动搜索窗口下10 ms期末结束

SSS检测

一旦PSS坐落,探测器可以缩小SSS的位置两种可能的位置;一个用于FDD, TDD。瑞士相关指标在频域计算,通过评估的内积序列。下面的算法用于搜索和选择一个瑞士序列。

初始化SSS搜索窗
k = 1到8 (SSS尝试)
每双工模式(FDD, TDD)提取128点搜索窗口当前双工模式计算FFT和提取SSS副载波计算相关指标对SSS序列对应于1日半帧计算相关指标对SSS序列对应于下半年帧计算信号能源阈值
丢弃相关指标不超过阈值,如果任何指标超过了阈值选择从幸存的最大相关性度量指标SSS发现:打破循环,进入下一个处理阶段其他SSS没有检测到:移动SSS搜索窗口后半帧结束
结束

手机搜索插图

细胞搜索算法如下所示的一个场景,PSS和瑞士每2试图检测到有效信号。图中还显示了频率恢复阶段。最初,接收者没有接收到的信号帧时间的知识。在仿真软件模型万博1manbetx(硬件),开始输入用于触发检测过程。接收方首先测量频率偏移,这需要10 ms。接下来,第一个10 ms PSS搜索。在这种情况下,没有发现PSS,因此第二个PSS搜索开始。这一次检测到PSS。第一个瑞士搜索发生略低于10 ms检测PSS的位置后,避免了需要缓冲大量的数据,并使算法硬件友好。如图所示,瑞士也在这种情况下需要两个的尝试。从检测到瑞士的位置,接收方知道双工模型(FDD)和帧时间。

引用

1。3 gpp TS 36.214“物理层”

相关的话题