这个例子展示了如何设计一个LTE MIB恢复系统,优化了HDL代码生成和硬件实现。
本示例中提供的模型可用于从LTE下行链路信号定位和解码MIB。它建立在LTE HDL细胞搜索例如,增加MIB解码的处理阶段。MIB (Master Information Block)消息在物理广播通道(Physical Broadcast Channel, PBCH)中传输,携带重要的系统信息:
下行链路资源块(NDLRB)的数量,指示系统带宽
系统机架号(SFN)
物理HARQ指示灯通道配置
该设计针对HDL代码生成进行了优化,并且该体系结构是可扩展的,允许添加额外的处理阶段,例如PCFICH、PDCCH和PDSCH的索引和解码(参见LTE HDL SIB1恢复)。此设计可使用硬件-软件协同设计和硬件支持包在SoC平台上实现。请参阅金宝app在soc上部署LTE HDL参考应用.
为了解码MIB消息,本示例执行以下操作:
小区搜索与OFDM解调
缓冲网格数据
信道估计与均衡
PBCH索引-在网格内定位PBCH
PBCH Decoding—对PBCH、BCH、MIB进行解码
小区搜索和OFDM解调
对接收数据进行LTE信号检测、定时频率同步、OFDM解调。这将生成网格数据,并提供关于接收波形的子帧号和单元ID的信息。该MIB消息始终以子帧0的形式携带,celllid用于确定信道估计中cell-specific reference signals (CRS)的位置,并用于初始化PBCH Decoder的解码序列。
缓冲网格数据
由于MIB消息始终在下行链路信号的子帧0中携带,因此子帧0被缓冲在存储器组中。在子帧被写入存储器组的同时,使用cellID计算CRS的位置,并且CRS被发送到信道估计器。
信道估计
然后将接收电网的CRS与期望值进行比较,并计算相位偏移量。每个CRS的信道估计是跨时间平均的,并使用线性插值来估计不包含CRS的子载波的信道。子帧的信道估计用于从网格内存中读取数据时的数据均衡。
PBCH索引
PBCH总是被分配到子帧0的中央6个资源块(RBs),在第二个槽的前4个OFDM符号中。它占据了该区域内的所有资源要素(REs),不包括分配给CRS的位置。利用cellID计算CRS的位置,然后计算PBCH所占用的CRS地址(共240个位置),并从网格存储库中检索数据。
PBCH译码
当PBCH数据从网格存储库中读取时,使用信道估计对其进行均衡。对240个均衡的PBCH符号进行缓冲,并对一个PBCH传输块内的MIB的4个可能版本分别进行PBCH和BCH解码。每一个版本都需要不同的解码序列,因此必须对每一个进行解码、解调、速率恢复、卷积解码和CRC校验。如果成功解码,CRC值给出了cellRefP值——发送天线的数量,MIB位可以被解析来给出系统参数。
LTE HDL Cell Search和MIB Recovery实现的架构如下图所示。
接收机的输入是基带I/Q数据,采样频率为30.72 Msps。OFDM解调使用2048点FFT,足以解码所有支持的LTE带宽。金宝app资源网格缓冲区能够存储LTE数据的一个子帧。一旦接收器与单元同步,OFDM解调器的数据就写入网格缓冲区。然后PBCH索引块生成携带PBCH的资源元素的索引。在通过PBCH解码器之前,这些资源元素被从网格缓冲区中读出并均衡。该体系结构被设计为可扩展和可伸缩的,以便可以根据需要插入额外的通道索引和解码功能。例如,可以将其扩展为执行SIB1恢复,如LTE HDL SIB1恢复的例子。
最高级的ltehdlMIBRecovery模型如下所示。的HDL代码可以生成HDL LTE MIB恢复子系统。
的ltehdlMIBRecovery_init.m
脚本由模型的InitFcn
回调。该脚本生成dataIn和startIn刺激信号以及初始化模型所需的任何常数。输入数据可以从文件加载,例如,该文件是从空中捕获的LTE信号。有关从空中捕获LTE信号的信息,请参阅LTE接收机使用模拟设备AD9361/AD9364(Xilinx Zynq-Based Radio金宝app通信工具箱支持包).或者,可以使用LTE工具箱功能合成LTE波形。要选择输入源,请更改loadfromfile
参数在ltehdlMIBRecovery_init.m
.
采样率=30.72e6;simParams.Ts=1/取样栅;
loadfromfile = true;
如果loadfromfileload(“eNodeBWaveform.mat”);dataIn =重新取样(rxWaveform SamplingRate, fs);其他的数据输入=hGenerateDLRXWaveform();终止
它的结构HDL LTE MIB恢复子系统如下图所示。的下行同步解调块进行频率和时间同步、PSS/SSS信号检测和OFDM解调。的MIB解码器子系统缓冲传入数据的子帧0,执行信道估计,并尝试解码PBCH以恢复MIB信息。
下行同步解调
的下行同步解调子系统以30.72msps的速率接收I/Q数据,并输出非均衡的下行链路资源网格数据ltehdlDownlinkSyncDemod模型参考,实现以下功能:
频率恢复
主同步信号(PSS)检测
二次同步信号(SSS)检测
定时恢复,基于PSS和SSS信号
OFDM解调(使用2048点FFT)
Cell ID计算,基于PSS和SSS检测结果
操作ltehdlDownlinkSyncDemod将在中进行更详细的描述LTE HDL细胞搜索的例子。
MIB解码器
的MIB解码器子系统如下图所示。它由四个子系统组成:PBCH索引,资源网格内存,信道均衡,PBCH解码器. 操作顺序如下:
的cellDetected断言输入,准备子系统接收和处理数据。
OFDM数据被流进MIB解码器子帧0存储在资源网格内存.
的信道均衡子系统计算子帧0的信道估计
的PBCH索引块开始生成PBCH资源元素索引。
然后将这些资源元素从资源网格内存并由信道均衡块。
最后将均衡后的PBCH数据通过PBCH解码器块,然后提取MIB。
资源网格内存
的资源网格内存块包含一个内存组,用于控制网格内存组的读写逻辑,以及用于定位和输出CRS的逻辑。内存组容量是在最大支持的LTE带宽(20MHz)下的一个子帧解调OFDM数据。金宝app
的内存库写入控制器负责将数据的子帧写入内存组。的writeSubframe输入允许适当的子帧的写控制器;子帧0在本例中。的LTE内存条包含尺寸为14 x 2048 x 16位复数值的RAM;即14个ODFM符号,每个包含2048个复数值。的rsOutputGen子系统计算单元参考符号的位置,从写入网格内存的数据中提取这些符号,并通过网格数据输出信号。
的网格数据输出端口携带CRS信号,从rsOutputGen,当数据写入网格内存时(网格写入输出端口为低)并从LTE内存条当对网格内存的写入完成时(网格写入输出端口高)。
PBCH索引
的PBCH索引块计算从网格内存缓冲区中检索PBCH所需的内存地址。这相当于LTE工具箱ltePBCHIndices
从网格内存中检索的数据随后被均衡并传递给PBCH解码器用于处理。PBCH索引子系统在子帧0的数据写入网格内存后变为活动状态,如网格写入的输出资源网格内存子系统。PBCH在子帧0的第二个时隙中的前4个符号中总是长度为240个符号,以中间子载波为中心。
信道估计与均衡
的信道均衡块包含三个主要的子系统。cellRefGen使用金序列发生器生成细胞特定参考信号(CRS)符号。胸部使用简单、硬件友好的信道估计算法,在假设两个发射天线的情况下执行信道估计。TxDivDecode使用信道估计值执行发射分集解码以均衡接收数据的相位。
信道估计器假设发射机使用两个天线,为每个天线生成信道估计。对于每个天线,信道估计器使用以下算法为子帧的每个子载波生成单个复数信道估计:
通过将接收到的值与预期的符号值(由cellRefGen).
对这些信道估计进行平均(在子帧的持续时间内),为每个包含CRS符号的子载波生成单个复数信道估计。
使用线性插值估计不包含CRS符号的子载波的信道。
用于信道估计的简单时间平均算法假设信道迁移率低。因此,信道估计可能没有足够的质量来解码通过快速衰落信道传输的波形。该算法还避免了在计算每个信道估计时使用除法运算。这意味着接收信号的振幅将不会被校正,这适用于QPSK应用,但不适用于QAM,在QAM中需要精确的振幅校正以实现可靠的解码。
一旦信道估计为每个发射天线计算,它们被用于均衡网格数据当它从资源网格内存.TxDivDecode对发送分集执行预编码的逆运算(如TS 36.211第6.3.4.3节所述[1])并产生一个均衡的输出信号,然后将其传递给PBCH解码器.
PBCH解码器
的PBCH解码器执行QPSK解调、解编、速率恢复和BCH解码。然后使用MIB解释功能块。这些操作相当于ltePBCHDecode
和lteMIB
LTE工具箱中的函数。
的PBCH控制器
将均衡数据存储在内存中,以进行迭代卷积解码尝试。解码MIB的4次尝试对应于每个PBCH传输块的4次重复MIB数据。
BCH译码器
的BCH译码器将软决策量化,然后使用LTE卷积译码器和LTE CRC译码器块。在卷积解码器的输入处,软决定的推荐字长为4位。然而,BCH译码器块接收20位软决定作为输入。因此,软比特标度单位块动态地缩放数据,以便它利用4位软决策的全动态范围。CRC解码器块被配置为返回完整的校验和不匹配值。一旦根据允许的值进行了检查,CRC掩码将提供cellRefP;发射机的蜂窝特定参考信号天线端口的数目。如果CRC校验和与接受的值不匹配,则MIB没有成功解码,PBCH控制器决定是否发起另一次解码尝试。
当MIB成功解码后,MIB解释子系统提取并输出消息的字段。
输入波形的质量是影响译码性能的一个重要因素。影响信号质量的常见因素有多径传播条件、信道衰减和其他小区的干扰。输入波形的质量可以用细胞质量搜索
函数。该函数检测输入波形中的LTE单元,并返回每个LTE单元包含以下字段的结构:
应用细胞质量搜索
函数到捕获的波形eNodeBWaveform.mat
中使用的ltehdlMIBRecovery_init.m
返回以下报告:
FrequencyOffset: 536.8614 NCellID: 76 timmingoffset: 12709 RSRQdB: -5.3654 ReportedRSRQ: 29
FrequencyOffset: 536.8614 NCellID: 160 timmingoffset: 3108 RSRQdB: -18.1206 ReportedRSRQ: 3
在捕获的波形中有两个单元格,一个单元格ID为76,另一个单元格ID为160。NCellID = 76的细胞的ReportedRSRQ要高得多,说明它是一个更强的信号。在本例中,Simulink模型对NCel金宝applID = 76的MIB进行解码。
下面的范围显示了本示例的关键控制信号。在上断言一个脉冲后开始启动cell搜索进程的信号。单元格的成功检测由cellDetected信号。当cellDetected信号被断言NCellID和TDD模式信号被激活,表明cell ID号以及cell使用的是TDD(1)还是FDD(0)。当cell被检测到之后,OFDM解调器会等待下一帧的子帧0开始输出网格数据,因此会有一个间隙cellDetected将变高,并输出网格数据,如gridDataValid信号。当gridDataValid首先是断言subFrameNum将为零,并将为后续子帧递增。模拟将在屏幕上停止MIBDetected或mibError信号被断言。
一旦检测到MIBNDLRB,PHICH,Ng,nFrame,CellRefP信号都变得活跃,表明细胞的关键参数。这些参数显示在模型中,因为当模拟停止时它们是静态值。
在对捕获的波形进行解码时,会对以下MIB信息进行解码:
NCellID (Cell ID): 76 TDDMode (0 = FDD, 1 = TDD): 0 NDLRB(下行资源块数):25 PHICH (PHICH持续时间)index: 0 Ng (HICH组倍数):2 NFrame(帧数):262 CellRefP(细胞特异性参考信号):2
说明该cell使用的双工模式为FDD, MIB解码帧号为262,PHICH持续时间为Normal, HICH组乘数为1。
要为本例生成HDL代码,您必须具有HDL编码器™ 许可证。使用makehdl
和makehdltb
命令生成HDL代码和HDL测试台HDL LTE MIB恢复子系统。由于本例中的输入波形包含至少40个子帧来完成单元查找和MIB恢复,因此生成测试台的时间较长。
的HDL LTE MIB恢复子系统在Xilinx®Zynq®-7000 ZC706评估板上合成。驿站和路线资源利用结果如下表所示。该设计满足140 MHz时钟频率的定时要求。
资源使用_______________ _____ Slice register 51582 Slice LUTs 29859 RAMB18 38 RAMB36 39 DSP48 134
频率估计算法针对存在连续LTE信号的场景进行了优化。算法性能随着信号在时域中的稀疏性而降低,例如在具有低下行链路与上行链路比率的TDD模式配置中。这种退化会降低后续处理阶段检测和解码信号的能力。
有关更多信息,请参阅基于硬件的无线通信算法原型.
3GPP TS 26.211《物理通道和调制》
3GPP TS 36.214“物理层”
3GPP TS 36.133“支持无线资源管理的要求”金宝app