此示例演示如何设计针对HDL代码生成和硬件实现进行优化的LTE MIB恢复系统。
本例中给出的模型可用于定位和解码LTE下行信号中的MIB。它建立在LTE HDL细胞搜索例如,增加MIB解码的处理阶段。MIB (Master Information Block)消息在物理广播通道(Physical Broadcast Channel, PBCH)中传输,携带重要的系统信息:
Number of Downlink Resource Blocks (NDLRB),表示系统带宽
系统帧号(SFN)
物理HARQ指示灯通道配置
该设计针对HDL代码生成进行了优化,并且体系结构是可扩展的,允许添加额外的处理阶段,如PCFICH、PDCCH和PDSCH的索引和解码(参见LTE HDL SIB1恢复).该设计可在SoC平台上通过软硬件协同设计和硬件支持包实现。万博1manbetx看到在SOC上部署LTE HDL参考应用程序.
为了解码MIB消息,本示例执行以下操作:
小区搜索和OFDM解调
缓冲网格数据
信道估计和均衡
PBCH索引-在网格内定位PBCH
PBCH解码-解码PBCH、BCH和MIB
小区搜索与OFDM解调
对接收到的数据执行LTE信号检测、定时和频率同步以及OFDM解调。这产生网格数据并提供关于接收波形的子帧编号和小区ID的信息。MIB消息始终在子帧0中携带,并且小区id用于确定用于信道估计的小区特定参考信号(CRS)的位置,以及用于初始化用于PBCH解码器的解扰序列。
缓冲网格数据
由于MIB消息总是在下行信号的子帧0中携带,所以子帧0被缓冲在内存库中。在将子帧写入存储库的同时,利用cellID计算CRS的位置,并将CRS发送到信道估计器。
信道估计
然后将接收电网的CRS与期望值进行比较,并计算相位偏移量。每个CRS的信道估计是跨时间平均的,并使用线性插值来估计不包含CRS的子载波的信道。子帧的信道估计用于从网格内存中读取数据时的数据均衡。
PBCH索引
PBCH总是分配给第2时隙的前4个OFDM符号内的子帧0的中心6个资源块(RBs)。它占用该区域内的所有资源元素(REs),不包括分配给CRS的位置。使用cellID计算CRS的位置,然后可以计算PBCH占用的REs的地址(总共240个位置),并从网格内存库检索数据。
PBCH解码
当从网格存储器组读取PBCH数据时,使用信道估计对其进行均衡。缓冲240个经均衡的PBCH码元,并且对PBCH传输块内的MIB的4个可能版本中的每一个尝试PBCH和BCH解码。每个版本都需要不同的解扰序列,因此必须对每个版本尝试解扰、解调、速率恢复、卷积解码和CRC检查。如果解码成功,CRC值给出cellRefP值——发射天线的数量,可以解析MIB位以给出系统参数。
LTE HDL小区搜索和MIB恢复实现的架构如下图所示。
接收机的输入是基带I/Q数据,以30.72 Msps采样。2048点FFT用于OFDM解调,足以解码所有支持的LTE带宽。资源网格缓冲区能够存储LTE数据的一个子帧。一旦接收机与小区同步,来自OFDM解调器的数据将写入网格缓冲区。PBCH索引块然后生成承载PBCH的资源元素的索引。这些资源元素在通过PBCH解码器之万博1manbetx前从网格缓冲区中读取并进行均衡。该体系结构设计为可扩展和可伸缩的,以便额外的信道索引和解码功能可以根据需要插入ns。例如,可以将其扩展以执行SIB1恢复,如中所示LTE HDL SIB1恢复的例子。
最高层ltehdlMIBRecovery模型如下所示。可以为HDL LTE MIB恢复子系统。
这个ltehdlMIBRecovery_init.m
脚本由模型自动执行InitFcn
此脚本生成达坦和startIn刺激信号以及初始化模型所需的任何常量。输入数据可以从文件中加载,对于本例来说,文件是在空中捕获的LTE信号。有关从空中捕获LTE信号的信息,请参阅使用模拟设备AD9361/AD9364的LTE接收机(基于Xilinx Zynq的无线电通信工具箱支万博1manbetx持包). 或者,可以使用LTE工具箱功能合成LTE波形。要选择输入源,请更改loadfromfile
参数ltehdlMIBRecovery_init.m
.
SamplingRate = 30.72 e6;simParams。Ts = 1 / SamplingRate;
loadfromfile = true;
如果loadfromfile负载(“eNodeBWaveform.mat”);dataIn =重新取样(rxWaveform SamplingRate, fs);其他的dataIn = hGenerateDLRXWaveform ();结束
结构HDL LTE MIB恢复子系统如下所示下行同步解调器模块执行频率和时间同步、PSS/SSS信号检测和OFDM解调。这个MIB译码器子系统缓冲输入数据的0子帧,进行信道估计,并尝试解码PBCH以恢复MIB信息。
下行同步与解调
这个下行同步解调器子系统以30.72 Msps的速度接收I/Q数据,输出不均衡的下行资源网格数据。它是ltehdlDownlinkSyncDemod模型参考,实现以下功能:
频率恢复
主同步信号(PSS)检测
二次同步信号(SSS)检测
基于PSS和SSS信号的定时恢复
OFDM解调(使用2048点FFT)
基于PSS和SSS检测结果计算小区ID
操作ltehdlDownlinkSyncDemod在LTE HDL细胞搜索的例子。
MIB译码器
这个MIB译码器子系统如下所示。它由四个子系统组成:PBCH索引,资源网格内存,信道均衡,PBCH译码器.操作顺序如下:
这个细胞检测断言输入,为子系统接收和处理数据做准备。
OFDM数据被流进MIB译码器子系统,子帧0存储在资源网格内存.
这个信道均衡子系统为子帧0计算信道估计
这个PBCH索引块开始生成PBCH资源元素索引。
然后,这些资源元素将从资源网格内存和相等的信道均衡块
最后,均衡后的PBCH数据被传送到PBCH译码器块,提取MIB。
资源网格内存
这个资源网格内存块包含一个内存库、控制网格内存库读写的逻辑以及定位和输出CRS的逻辑。存储器组容量是在最大支持的LTE带宽(20MHz)下解调的OFDM数据的一个子帧。万博1manbetx
这个MemoryBank写控制器负责将数据的子帧写入内存库写子帧输入允许适当的子帧的写控制器;子帧0在本例中。这个LTE内存条包含尺寸为14 x 2048 x 16位复数值的RAM;即14个ODFM符号,每个包含2048个复数值。这个rsOutputGen子系统计算单元参考符号的位置,从写入网格内存的数据中提取这些符号,并通过网格数据输出信号。
这个网格数据输出端口携带CRS信号,来自rsOutputGen,当数据被写入网格内存时(gridWriteDone输出端口低),并从LTE内存条当对网格内存的写入完成时(gridWriteDone输出端口高)。
PBCH索引
这个PBCH索引块计算从网格内存缓冲区检索PBCH所需的内存地址。这相当于LTE工具箱ltePBCHIndices
函数。然后,从网格内存中检索的数据被均衡并传递给PBCH译码器进行处理。子帧0的数据被写入网格内存后,PBCH索引子系统就开始活动了gridWriteDone输出资源网格内存子系统。PBCH总长度为240个符号,以中间子载波为中心,位于子帧0的第二槽位的前4个符号中。
信道估计和均衡
这个信道均衡块包含三个主要子系统。cellRefGen使用金序列发生器生成细胞特定参考信号(CRS)符号。胸部使用简单、硬件友好的信道估计算法,在假设两个发射天线的情况下执行信道估计。TxDivDecode使用信道估计执行发送分集译码以均衡接收数据的相位。
信道估计器假设发射机使用两个天线,为每个天线生成信道估计。对于每个天线,信道估计器使用以下算法为子帧的每个子载波生成单个复数信道估计:
通过将接收到的值与预期的符号值(由cellRefGen).
跨时间平均这些信道估计(在子帧的持续时间内),以便为包含CRS符号的每个子载波生成单个复数信道估计。
使用线性插值估计不包含CRS符号的子载波的信道。
用于信道估计的简单时间平均算法假设信道迁移率低。因此,信道估计可能没有足够的质量来解码通过快速衰落信道传输的波形。该算法还避免了在计算每个信道估计时使用除法运算。这意味着接收信号的振幅将不会被校正,这适用于QPSK应用,但不适用于QAM,在QAM中需要精确的振幅校正以实现可靠的解码。
一旦为每个发射天线计算了信道估计,它们就被用于均衡信道网格数据当它从资源网格内存.TxDivDecode执行发射分集预编码的反向(如TS 36.211第6.3.4.3节中的说明[1.),并产生一个均衡的输出信号,然后将该信号传递给PBCH译码器.
PBCH译码器
这个PBCH译码器执行QPSK解调、解扰、速率恢复和BCH解码。然后,它使用MIB的解释功能块。这些操作相当于LTEPBCDECODE
和lteMIB
功能在LTE工具箱。
这个PBCH控制器
将均衡数据存储在内存中,用于迭代卷积解码尝试。在解码MIB时进行的4次尝试对应于每个PBCH传输块的MIB数据的4次重复。
BCH译码器
这个BCH译码器量化软决策,然后使用LTE卷积解码器和LTE CRC译码器阻碍。卷积解码器输入端的软判决建议字长为4位。但是,BCH译码器块接收20位软决定作为输入。因此,softBitScalingUnit块动态缩放数据,以便它利用4位软决策的整个动态范围。CRC解码器块被配置为返回完整校验和不匹配值。CRC掩码一旦根据允许的值进行检查,就会提供cellRefP; 发射机上特定于小区的参考信号天线端口数。如果CRC校验和与接受值之一不匹配,则MIB未成功解码,PBCH控制器决定是否启动另一次解码尝试。
当MIB成功解码后,MIB的解释子系统提取并输出消息的字段。
输入波形的质量是影响解码性能的一个重要因素。影响信号质量的常见因素是多径传播条件、信道衰减和来自其他小区的干扰。输入波形的质量可以使用cellQualitySearch
作用此函数检测输入波形中的LTE小区,并返回每个LTE小区包含以下字段的结构:
应用cellQualitySearch
函数对捕获的波形eNodeBWaveform.mat
用于ltehdlMIBRecovery_init.m
返回以下报告:
频率偏移量:536.8614 NCellID:76定时偏移量:12709 RSRQdB:-5.3654报告的RSQ:29
频率偏移量:536.8614 NCellID:160定时偏移量:3108 RSRQdB:-18.1206报告的RSQ:3
捕获的波形中有两个单元,一个单元ID为76,另一个单元ID为160。NCellID=76的细胞具有更高的REPORTEDSRQ,表明它是一个更强的信号。在本例中,Simulink模型对NCellID=76的MIB进行解码。万博1manbetx
下面的范围显示了本示例的键控制信号。当一个脉冲被断言开始启动单元格搜索过程的信号。单元格的成功检测由细胞检测信号当细胞检测信号被断言为NCellID和TDDMode信号被激活,表明cell ID号以及cell使用的是TDD(1)还是FDD(0)。当cell被检测到之后,OFDM解调器会等待下一帧的子帧0开始输出网格数据,因此会有一个间隙细胞检测走高,网格数据输出,如gridDataValid信号。当gridDataValid是第一个断言subFrameNum将为零,并将为后续子帧增加。模拟在MIBDetected或mibError正在断言的信号。
一旦检测到MIB,则NDLRB,PHICH,Ng,nFrame,CellRefP信号都变得活跃,表明细胞的关键参数。这些参数显示在模型中,因为当模拟停止时它们是静态值。
在对捕获的波形进行解码时,会对以下MIB信息进行解码:
NCellID(小区ID):76 TDDMode(0=FDD,1=TDD):0 NDLRB(下行链路资源块的数量):25 PHICH(PHICH持续时间)索引:0 Ng(HICH组乘法器):2 NF帧(帧编号):262 CellRefP(小区特定参考信号):2
说明该cell使用的双工模式为FDD, MIB解码帧号为262,PHICH持续时间为Normal, HICH组乘数为1。
要为本示例生成HDL代码,您必须拥有HDL Coder™许可证。使用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《支持无线电资源管理的要求》万博1manbetx