https://ww2.mathworks.cn/help/ltehdl/examples/lte-cell-search-and-mib-recovery.html
此示例显示如何设计针对HDL代码生成和硬件实现而优化的LTE单元搜索和MIB恢复系统。
该LTE小区搜索和MIB恢复接收器可用于从LTE System Toolbox TM生成的合成数据或从空中捕获的LTE波形中检测MIB信息。本例中设计的体系结构适用于SIB1解码,本例中未对其进行介绍。
LTE System Toolbox显示了Cell Search,MIB和SIB1 Recovery示例,可用于在MATLAB中对实时eNodeB信号进行同步,解调和解码。在硬件上运行示例以解码实时LTE信号是一项具有挑战性的任务。在硬件上对相同功能进行原型设计时,存在一些设计挑战。
架构和算法 LTE系统工具箱中的Cell Search,MIB和SIB1 Recovery示例使用LTE System Toolbox中提供的MATLAB功能实现。功能中使用的体系结构和算法非常适合软件模拟和验证。需要进行修改以使其对硬件友好。
上图显示了LTE System Toolbox中的Cell Search,MIB和SIB1 Recovery示例的系统框图。在解码MIB之前,用户设备(UE)不知道全系统带宽。主同步信号(PSS和SSS)和PBCH(包含MIB)都位于系统带宽的中心72个子载波(6个资源块)中,允许UE最初解调该中心区域。因此,LTE系统工具箱示例最初将带宽设置为6个资源块,并对1.92MHz的I / Q波形进行采样。在根据MIB信息确定带宽后,必须重新采样I / Q波形。
出于若干原因,不希望将相同的架构应用于硬件设计。首先,如果需要重新采样,则需要将数据存储在存储器中。其次,OFDM解调内的FFT操作将需要在对应于六个可能的LTE带宽的重采样期间计算具有六个不同帧长度的FFT。设计FFT以支持可变大小的帧长度是复杂且耗时的。为每个所需的数据长度部署一个FFT非常简单,但会消耗更多的硬件资源。
此外,LTE系统工具箱功能中使用的算法不适合硬件实现。例如,信道估计功能lteDLChannelEstimate
中使用的2-D插值方法不适用于硬件实现。定点算术的使用使得更难以实现原始算法的准确性。在针对硬件实现进行定位时,需要研究硬件友好的算法。
流数据 LTE系统工具箱功能仅支持基于帧的处理。在解码过程中,整个资源网格从一个函数传递到另一个函数。但是,由于I / O端口和内存空间有限,硬件实现需要流式采样。如何缓冲I / Q波形,必须存储多少数据以实现解码,以及如何在处理单元之间移动资源网格数据都是需要在硬件架构设计中解决的具有挑战性的问题。
Fixed Point LTE系统工具箱功能不支持定点数据类型。定点数据类型广泛用于硬件实现。选择适当的定点设置以实现精度和硬件资源之间的良好平衡是硬件设计的一个重要方面。决定定点设置时,必须进行数据范围分析。还应考虑由于定点计算导致的性能下降。
LTE小区搜索和MIB恢复示例的硬件架构图如下图所示。它旨在克服设计挑战
进行以下修改以确保高效的HDL代码生成:
HDL优化架构 I / Q波形采样频率为30.72MHz。该设计决策避免了重采样和可变大小FFT的要求。固定的2048点FFT足以进行OFDM解调。存储器读取控制器被设计为选择正确的子载波用于信道估计,MIB恢复和将来的解码。可扩展存储器管理方案被设计为存储一个LTE子帧数据,使得易于扩展到SIB1解码。HDL优化算法用于信道估计,卷积和CRC解码。
流输入和输出该模型使用带有控制信号的流数据接口来指示帧边界和每个样本的有效性。数据通过设计流式传输,数据控制器在解码期间在处理单元之间移动资源网格。
固定点在整个示例中使用定点计算,其中定点设置由数据范围分析确定。
此HDL小区搜索和MIB恢复示例使用以下配置对LTE信号进行解码:
LTEMIBRecoveryHDLExample模型的顶级结构如下图所示。该HDL LTE MIB恢复子系统是针对HDL代码生成。
所述LTEMIBRecovery_Init
.m之前运行模型以产生所述输入数据运行数据输入和触发信号重新开始。输入数据可以从可以合成LTE信号的文件或通过空中捕获的信号加载。或者,也可以使用LTE系统工具箱功能生成输入I / Q波形。要选择输入源,请更改.m中的loadfromfile
参数LTEMIBRecovery_Init
。
loadfromfile = false;
SamplingRate = 30.72e6;
simParams.Ts = 1/SamplingRate;
if loadfromfile
load('eNodeBWaveform.mat');
rx = resample(rxWaveform,SamplingRate,fs);
else
rx = generateDLRXWaveform(SamplingRate,'R.3',10,'Off',70.0,0.0,40,2);
end
所述的结构HDL LTE MIB恢复子系统如上所示。
LTE下行链路检测器执行频率和时间同步,PSS / SSS信号检测和OFDM解调。
LTE MIB解码器在检测到PSS之后存储子帧0,执行信道估计,均衡并恢复MIB信息。
所述MIB解析子系统收集并解释该24位MIB消息并显示以下四个解码参数:NDLRB,PHICHDuration,Ng,和NFrame。
LTE下行链路检测器
下行链路检测器在接收的采样流内搜索eNodeB信号,识别关键同步参数,并输出检测到的小区的非均衡下行链路资源网格数据。这包括:
频率恢复
主同步信号(PSS)检测
辅助同步信号(SSS)检测
OFDM解调(使用2048点FFT)
基于PSS和SSS检测结果的小区ID计算
有关LTE同步信号的结构和形成的详细信息,请参阅同步信号(PSS和SSS)。
示出了LTE下行链路检测器的结构。检测器的输入是以30.72 Msps采样的复杂16位数据。信号被分成两个信号处理数据路径; 一个在1.92 Msps,一个在30.72 Msps。
频率恢复和PSS检测在1.92 Msps数据路径上执行。使用1.92 Msps有两个原因。首先,在该阶段不知道小区带宽,因此假设1.4MHz的最小LTE带宽用于频率恢复。无论实际的小区带宽如何,该方法都有效。其次,PSS信号仅占用6个中央资源块(1.4MHz)。因此,PSS检测可以以1.92 Msps有效且高效地执行。
频率偏移也在30.72 Msps数据路径上校正(使用1.92 Msps数据路径的频率估计)。来自PSS检测的定时估计用于确定OFDM符号的位置。这允许从信号中提取每个OFDM符号的样本并传递到2048点FFT; 实际上执行OFDM解调。
最后,在频域中执行SSS检测,并与PSS一起使用以确定小区ID。SSS检测过程还产生SSS被解码的子帧号。该信息被馈送到最终输出屏蔽级,其开始在下一个无线电帧边界上输出资源网格数据。
在Simulink模型中,探测器分为两个子系统:频率定时PSS和OFDM Demod SSS,如下所示。除了复杂的dataIn输入,检测器还有一个布尔启动输入。将一个周期脉冲应用于开始输入会触发新的单元格搜索。
频率恢复,定时恢复和PSS检测
在频率定时PSS子系统内部,脉冲重新同步模块将启动信号重新采样为1.92 Msps 。当发生启动脉冲时,启动控制器子系统然后将unlockFreqRec信号置位15 ms(28800个采样@ 1.92 Msps),以便有足够的时间让频率估算器的内部滤波器稳定下来。然后解锁unlockFreqRec,将频率估计值锁定到其最后一个值。这意味着频率估计对于小区搜索过程的其余部分保持恒定,从而避免频率恢复过程引入相位噪声。
该PSS检测子系统处于复位状态,而频率估计是稳定,然后带出复位一次的频率估计被锁定。一旦检测 到 PSS,PSS检测检测到的输出就会断言一个1.92 Msps周期。该脉冲的定时对应于PSS之后的第一个时隙的第一个样本。这是子帧0的第二时隙或子帧5的第二时隙,但是此时不知道哪一个。在SSS检测期间解决了这种模糊性。该检测到的信号被上采样到30.72 MSP和用于触发OFDM符号时序块,其产生所述状态机FFTWin 用于提取每个OFDM符号的样本的信号。
该检测的输出频率定时PSS指示PSS已经检测和FFTWin将开始的某个时候在接下来的15毫秒标记OFDM符号。dataOut是30.72 Msps的频率校正时域数据。NCellID2指示检测到三种可能的PSS序列中的哪一种。
OFDM解调和SSS检测
OFDM Demod SSS子系统有四个输入。dataIn是频率校正的时域样本,为30.72 Msps; FFTWin是1比特控制信号,表示每个OFDM符号的FFT窗口; NCellID2是来自PSS检测的细胞ID的组成部分(细胞群内的位置); reset重置子系统,开始新的SSS搜索。
FFT操作被应用于输入数据以执行OFDM解调,从而导致不均衡的下行链路资源网格数据。在频域中执行SSS检测,允许完成物理层小区识别和无线电帧定时恢复。
在重置之后,OFDM解调SSS子系统假设它接收的第一个OFDM符号是包含SSS的子帧的第一个符号。子帧号在SSS中编码,因此对其进行解码允许确定实际子帧号(0或5)。SSS位于子帧的OFDM符号#5中,并占据中心62个子载波。因此,SSS检测块必须定位SSS子载波并提取它们的复数值。存储所接收的SSS序列并将其与每个可能的SSS候选进行比较。有336个SSS候选者,因为在无线电帧内有168个小区组和2个可能的SSS位置。
使用的比较度量是接收序列与候选序列的点积的大小。然而,在实践中使用幅度平方来简化HDL实现。通过选择最大化该度量的候选来解码SSS。该SSS检测子系统输出最后小区ID,以及指示SSS是否在子帧0或5检测出的1位值。
所述网格掩模生成子系统实现了的输出OFDM解调SSS通过生成子系统gridEn信号。该信号最初是错误的。一旦帧定时已经建立,网格掩码生成子系统就断言gridEn信号以在下一个无线帧开始时激活OFDM解调SSS子系统的输出。gridData是FFT的FFT移位输出,由gridValid输出限定。的子帧输出指示当前正在发送的哪个子帧进行。所述NCellID输出是检测到的小区的最后小区ID。
MIB解码器
LTE MIB解码器子系统的示意图如下所示。它包括三个子系统:资源网格存储器,信道估计和PBCH解码。
资源网格内存
资源网格存储器将OFDM解调数据存储到存储器中,并读出数据以进行信道估计和MIB解码。
存储器写入控制器使得能够将子帧0写入对应于14个OFDM符号的14个存储体中。每个存储体存储一个OFDM符号的2048个OFDM解调数据样本。写入完成后,将启用存储器读取控制器。首先,使能Chdata读取控制器来计算存储器读取地址以获取用于信道估计的资源网格,执行作为LTE系统工具箱功能的小区参考信号索引计算lteCellRSIndices
。然后,启用Eqdata读取控制器以计算存储器读取地址,以在MIB解码过程期间读取用于均衡的数据,执行PBCH索引计算作为LTE系统工具箱功能ltePBCHIndices
。
这两个读控制器设计为高效实现硬件。研究地址模式以找到避免操作的实现,包括setdiff
在LTE系统工具箱功能中应用的迭代模和操作。
存储体总是输出来自所有14个OFDM符号的数据。然而,并非所有数据都需要用于信道估计或均衡。该ChSelector和EqSelector子系统选择要处理从银行所需的数据。所述ReourceGridMemory子系统如下所示:
频道估算
Channel Estimation子系统中有两个子系统。cellRefGen使用Gold Sequence生成器生成参考信号。 chEst使用简单但硬件友好的信道估计算法执行信道估计。
如设计挑战部分所述,实现lteDLChannelEstimate函数中使用的二维插值算法需要大量资源。我们假设信道的低移动性并且实现了更加硬件友好的算法。在该示例中使用的算法在时隙上平均两个导频,然后在平均值之间线性插值。chEst子系统的输入在每个时钟周期是1乘4矢量,对应于来自OFDM符号0,4,7和11的OFDM解调信号.0和7以及4到11之间的导频被平均减少噪声对信道估计的影响。在两个平均值之间执行线性插值。
PBCH解码
PBCH解码通过均衡,QPSK解调,解扰,速率恢复和BCH解码来执行物理广播信道解码。为了简化解码复杂度,该示例假定每次解码尝试1个小区特定参考信号,而不是迭代ltePBCHDecode
LTE系统工具箱小区搜索,MIB和SIB1恢复中使用的所有1,2,4个小区特定参考信号。例。
通过不通过信道状态信息(CSI)缩放软比特来简化均衡。PBCH Controller
将均衡数据存储在存储器中以进行迭代卷积解码尝试。如果未检测到MIB并且解码尝试次数小于4,则控制器从存储器读取数据。在解扰和速率恢复之前,QPSK解调信号被上采样2。
BCH解码器使用LTE卷积解码器块然后是LTE CRC解码器块来量化速率恢复信息比特并解码。速率恢复数据右移6位,并且基于用于测试该示例的所有波形的离线范围分析,软判决位的数量被设置为4。CRC解码器块被配置为返回完整校验和失配值,其表示无线电网络临时标识符(RNTI)。RNTI值用于解码小区特定参考信号天线端口的数量。BCH控制器解释天线端口号并确定是否检测到MIB以及PBCH解码是否需要继续。如果天线端口号不为零,则检测到MIB。此示例旨在检测1个或2个天线端口。
本节分析可能影响此模型的单元搜索和MIB恢复性能的因素。
输入波形的质量
输入波形的质量是影响解码性能的重要因素。信噪比和信道衰减是决定信号质量的常见因素。对于空中信号,一个捕获的波形中可能存在多个小区,并且每个小区的质量可能不同。如果下行链路检测器选择弱小区,则可能无法恢复MIB信息。可以使用该CellQualitySearch
功能测量输入波形的质量。此功能以采样率检测输入波形中的LTE信元,并返回包含以下字段的每个LTE信元的结构:
FrequencyOffset:通过lteFrequencyOffsets
函数获得的频率偏移
NCellID:物理层小区标识
TimingOffset:输入波形中第一帧的定时偏移
RSRQdB:参考信号接收质量(RSRQ)值,以dB为单位,每TS 36.214第5.1.3节[ 1 ]
ReportedRSRQ:RSRQ测量报告(0到34之间的整数)每TS 36.133第9.1.7节[ 1 ]
将该CellQualitySearch
功能应用于使用在LTEMIBRecovery_Init
功能中配置的LTE系统工具箱生成的波形,将返回以下信息:
FrequencyOffset:68.1909
NCellID:10
TimingOffset:0
RSRQdB:-7.0116
ReportedRSRQ:25
ReportedRSRQ数字显示这是一个相对强烈的信号。此示例成功解码此信号中的MIB信息。
将该CellQualitySearch
函数应用于捕获的波形eNodeBWaveform
.mat将返回以下报告:
FrequencyOffset:536.8614
NCellID:76
TimingOffset:12709
RSRQdB:-5.5429
ReportedRSRQ:28
FrequencyOffset:536.8614
NCellID:160
TimingOffset:3108
RSRQdB:-18.5365
ReportedRSRQ:2
显然,捕获的波形中有两个单元。具有小区ID 76的那个具有比具有小区ID 160的那个更高的质量。
设计权衡有一些设计权衡会影响解码性能。
首先,信道估计算法。基于无信道移动或低信道移动性的假设,应用简单时间平均算法。它可能无法解码通过更多移动或衰落信道传输的波形。
其次,均衡数据的大小不由CSI加权以节省硬件资源。在决定用于卷积解码的软判决比特时,缺乏缩放可能将信道影响保持为因素。已经对用于测试该示例的所有波形进行了范围分析。执行缩放并且基于模拟期间的范围分析确定软判决比特。
最后,该模型假设1个特定于小区的参考信号用于解码以简化解码器复杂性。如果波形的真实小区特定参考端口号为2,则解码结果可能不正确。
有四个范围显示了单元格搜索和MIB恢复信息。该MIBRecovery范围总结了小区搜索和MIB恢复过程。一旦检测到主同步信号,就断言PSSDetected。在检测到PSS之后,搜索辅同步信号并执行OFDM解调。OFDM解调资源网格的有效性由gridValid指示。 subFrameNum示出解码从在所述第一子帧0中检测MIB由所指示的子帧0开始MIBDetected信号。
下面的DownlinkDetector示波器输出显示探测器内部的关键信号并演示其操作。在断言启动之后,允许频率估计器在其输出被锁定之前稳定15ms(参见freqEstHz图)。在模拟中大约20 ms,检测到PSS并且断言PSSDetected信号。同时,NCellID2信号变为活动状态。不久之后,FFTWindow信号开始指示接收信号内的OFDM符号的位置。然后执行SSS检测并完全确定帧定时。该gridValid信号变为活动状态,表示从下一个无线帧开始的OFDM符号的位置。此时子帧和NCellID信号也变为活动状态。
所述ResourceGridMemory范围显示读取和写入存储器时的控制信号。所述memoryWEnb信号是与表示存储器写入每个位14位整数允许对一个存储体。存储器写操作从存储体0开始,存储器Wnnb向左移位一位,以便在当前写操作完成后使下一存储体写入。该memoryWriteDone一旦所有的14个存储器组完成写操作信号有效。写入完成后,将启用读取操作。所述chEstDataValid信号指示被用于信道估计发送的数据的有效性。eqDataValid的断言 信号显示在MIB解码期间准备好进行均衡处理的数据。
在PBCH解码范围示出了PBCH解码过程中的关键信号。帧模4(nfmod4)值的增加表示迭代MIB恢复过程。在每次迭代期间,卷积解码比特被发送到CRC解码器以计算计算的校验和与接收的校验和之间的实际差异。如果校验和差异等于RNTI值,则检测到MIB并且迭代停止。否则,解码继续,直到检测到MIB或已经进行了4次尝试。信号crcErr显示实际的校验和差异。在该示例中,校验和差异在第4次解码尝试(nfmod4 == 3)处匹配RNTI值65535之一,指示特定于小区的参考信号(显示为cellRefP)为2.有效信号显示CRC的有效性。信息。当检测到MIB时,24位CRC消息包含MIB信息。
运行使用此示例中配置的LTE System Toolbox生成的合成波形,将解码以下MIB信息:
NDLRB(下行链路资源块的数量):50
PHICHDuration(PHICH持续时间)索引:0Ng(
HICH组乘数):
0NNrame(帧号):3
cellID(小区ID):10
CellrefP(小区参考端口):2
PHICHDuration值0表示PHICHDuration是“正常”(值1表示“扩展”)。类似地,Ng值0表示HICH组乘数值是“第六”。如果Ng指数分别为1,2或3,则另一个可能的值可以是“Half”,“One”或“Two”。
解码捕获的波形时,将解码以下MIB信息:
NDLRB(下行链路资源块的数量):25
PHICHDuration(PHICH持续时间)索引:0Ng(
HICH组乘数):
2NNrame(帧号):261
cellID(小区ID):76
CellrefP(小区参考端口):2
这意味着PHICHDuration为“Normal”且HICH组乘数值为“One”。基于使用CellSearchQuality
函数的信号质量分析,显然,该示例选取捕获的波形中的强单元并成功解码MIB信息。
将相同输入发送到LTE系统工具箱单元搜索,MIB和SIB1恢复示例将返回相同的MIB信息。
要生成此示例中引用的HDL代码,您必须具有HDL Coder™许可证。
您可以使用这些命令makehdl
并makehdltb
为HDL LTE MIB恢复中的子系统生成HDL代码和测试平台。由于此示例中的输入波形包含至少40个子帧以完成小区搜索和MIB恢复,因此测试平台生成需要很长时间。此示例配置为使用System Verilog DPI测试平台来加速测试平台生成。
HDL LTE MIB恢复子系统在Xilinx®Zynq®-7000 ZC706板上合成,合成结果如下表所示。小区搜索和MIB恢复示例运行在67.9MHz,在此示例中满足30.72MHz的所需采样频率。有关在硬件上对LTE算法进行原型设计的更多信息,请参阅文档。
1. 3GPP TS 36.214“物理层”
posted on 2018-08-29 17:31 sundaygeek 阅读(...) 评论(...) 编辑 收藏