主要内容

LTE HDL PBCH发射机

这个示例展示了如何实现LTE发射机多输入多输出(MIMO)设计,包括PSS、SSS、CRS和MIB,并针对HDL代码生成进行了优化。

介绍

本例中的模型生成3GPP TS 36.211指定的基带波形。该波形包括主同步信号(PSS)、次同步信号(SSS)、单元特定参考信号(CRS)和主信息块(MIB),用于通过多天线的物理广播信道(PBCH)传输。该模型支持NCell金宝appID和NDLRB的动态变化。MIMO发射机设计针对HDL代码生成进行了优化,当在FPGA上实现时,它可用于通过空气实时传输MIMO信号。MIMO设计有助于在LTE衰落信道存在的情况下进行解码。本例支持1、2或4个天线,金宝app并使用[]中指定的发送分集。1].

本例中提供的体系结构是可扩展的,并允许集成其他物理传输通道,如物理下行控制通道(PDCCH)、物理下行共享通道(PDSCH)、物理控制格式指示通道(PCFICH)和物理HARQ指示通道(PHICH)。

架构与配置

该图显示了LTE HDL发射器架构与PSS, SSS, CRS和PBCH传输链。

输入采样率假设为10.24 MHz。PSS、SSS、PBCH、CRS信号根据输入配置并行生成。PSS和SSS信号的单一流用于所有天线。通过层映射和预编码阶段,为多个天线生成多个PBCH数据流。每个天线与相应的LTE内存库相关联,其大小用于存储LTE数据样本的一个子帧。这些生成的数据流根据输出写入与生成的索引相对应的LTE内存库准备好了的信号LTE OFDM调制器.然后,从所有LTE存储库中并行读取数据,并在天线上同步调制和传输。的LTE OFDM调制器block使用2048点FFT来支持所有的NDLRBs。金宝app

本例中,发射机传输LTE MIMO信号,配置如下:

属性值________________ __________________双工模式FDD CellRefP 1/2/4带宽1.4 - 20mhz循环前缀正常/扩展初始子帧0初始帧0 Ng六次/半次/一次/两次PHICH持续时间正常/扩展

实例模型结构

的顶层结构ltehdlTransmitter模型如下所示。生成的HDL代码HDL LTE MIMO发射机子系统。

输入开始是触发脉冲信号的传输。您还可以配置其他参数,包括NDLRBNCellID循环前缀NgPHICH持续时间而且CellRefP在工作空间加载或打开后ltehdlTransmitter.slx模型。的ltehdlTransmitter_init.m脚本由模型自动执行InitFcn回调。属性中的各个块进行配置HDL LTE MIMO发射机子系统。类使用的默认发送器配置ltehdlTransmitter_init.m脚本:

enb。NDLRB = 6;%{6日,15日,25、50、75100}
enb。CyclicPrefix =“正常”%{“正常”、“扩展”}
enb。Ng =“六”%{“第六”、“一半”,“一个”,“两个”}
enb。PHICHDuration =“正常”%{“正常”、“扩展”}
enb。CellRefP = 4;% {1, 2, 4}
Tx_cellids = [390 89 501 231 500];%{0到503}
outate = 1;% {1,2}
TotalSubframes = 45;%{正整数}

可以更改此默认配置,为每个变量使用其他可能的值,如每行注释中所述。

HDL LTE MIMO发射机

的结构HDL LTE MIMO发射机子系统如下所示。的帧控制器控制子帧和帧索引。的输入采样器对输入进行采样NDLRB而且NCellID然后将值传播到后续的块。的PSS和SSS生成根据NDLRB和子帧索引生成PSS、SSS以及相应的内存地址。的MIB的一代block生成MIB的串行数据。的BCH编码而且PBCH编码器生成所有天线的PBCH信道和内存地址信息。的CellRS链为每个天线生成单元特定的参考信号和相应的地址。的读写逻辑从每个网格中写入和读取网格数据LTE存储器并提供相应的数据LTE OFDM调制器.的离散FIR滤波器HDL优化使用基于输入配置计算的系数对调制数据进行过滤。

帧控制器

该子系统假设输入采样率为10.24 MHz。它通过提供子帧和无线电帧边界来控制cellEnb信号到样本NCellID.它返回无线电帧和子帧索引。它还提供了syncStartbchStart,cellRSStart触发信号控制下游块。

PSS & SSS生成

该子系统根据输入信息为LTE内存库生成主同步信号(PSS)、次同步信号(SSS)和各自的写地址NDLRB而且NCellIDsyncStart触发PSS和SSS的生成。PSS和SSS在资源网格中占据相同的两个OFDM符号的62个子载波[1].该子系统同时生成信号及其对应的地址,使PSS和SSS的单一流可以同时写入每个天线对应的所有LTE内存库。

PSS序列由频域Zadoff-Chu序列生成[1].Zadoff-Chu根序列索引依赖于NCellID2,它是从NCellID.有三个可能的ncelllid2值,所以所有可能的PSS序列都被预先计算并存储在PSS_LUT

  • PSS_generation:确定NCellID2并从中读取相应的PSS序列PSS_LUT按顺序。

  • PSS_indices:计算将PSS数据写入LTE memory Bank所需的内存地址。该子系统相当于LTE Toolbox™功能ltePSSIndices

SSS序列是两个31位长度的二进制序列的交叉拼接。串接序列用PSS给出的置乱序列置乱。这些序列的组合在子帧0和子帧5之间不同[1].指标m0和m1来源于物理层细胞标识组NCellID1 [1].这些索引和序列s(n)、c(n)和z(n)被计算并存储在m0_LUTm1_LUTS_LUTC_LUT,Z_LUT分别。

  • SSS_generation:根据值计算m0和m1NCellID并根据子帧索引计算序列s(n)、c(n)和z(n)所需的索引。生成SSS序列,如[1].

  • SSS_indices:计算SSS数据写入LTE memory Bank所需的内存地址。该子系统相当于LTE Toolbox™功能lteSSSIndices

BCH编码

BCH (Broadcast Channel)协议对到达块的MIB信息进行处理,每个传输时间间隔(TTI)为40ms,最多处理一个传输块。该块实现以下编码步骤。

  • CRC编码:整个传输块用于计算在[]中指定的多项式的CRC校验位。2].然后奇偶校验位被追加到传输块。追加后,CRC位根据传输配置进行置乱。的LTE CRC编码器属性设置的CRC掩码ltehdlTransmitter_init.m脚本根据输入配置。

  • 信道编码:LTE卷积编码器块使用约束长度为7、多项式的咬尾卷积码对信息位进行编码$$ g_0 = 133, g_1 = 171, g_2 = 165 $$八进制。由于编码器的编码率为1/3,编码的位随后使用a进行序列化Serializer1D(高密度脂蛋白编码器)块和控制信号重采样到30.72 MHz (3 * 10.24 MHz)。

  • 速率匹配:编码的位是交错的,然后使用交错地址选择特定长度的位[2].对于广播通道,由于MIB的长度是固定的,所以会预先计算出交叉的读写地址,并存储在wr_addrLUT而且rd_addrLUT分别。一旦所有序列化的编码位都被写入RAM的交错地址,这些位就会使用交错读地址被读回来。

PBCH编码器

物理广播通道按以下步骤处理编码的位。

  • 加扰:来自的编码位BCH编码与细胞特定的序列使用LTE金序列发生器块。序列在每个无线电帧中用NCellID初始化($$ n_f $$)完成$ n_f mod 4 = 0 $$.生成的单元格特定序列与输入编码位混淆。

  • 正交相移编码映射: PBCH信道指定的调制方案为QPSK [1].的LTE符号调制器块生成复值QPSK调制符号。

  • 层映射:为层映射定义了三个子系统。这些子系统被放置在一个可变子系统中。根据输入配置中使用的天线数量enb。CellRefP,ltehdlTransmitter_init.m脚本在变体子系统中选择三个子系统中的一个。这层映射Block根据所使用的天线数量将输入流样本分离为1、2或4个序列。输入流输出,不需要对单个天线进行任何处理。对于多个天线,此块为每个天线生成有效信号。对于每个输入样本,只有一个有效信号是高的。

  • 预编码:该块还使用不同的子系统来根据发射机配置中的天线数量不同地处理输入样本。为enb。CellRefP设置为1时,输入将输出而不进行任何处理。为enb。CellRefP设为4(或2),则每处理四个(或两个)连续样本X0, X1, X2, X3(或X0, X1),在四个(或两个)时间瞬间内生成四个(或两个)样本的四个(或2)流。

所示子系统为[中指定的4个天线生成输出序列1].

  • 内存:中存储与初始无线电帧的物理广播信道对应的复杂调制符号PBCH_RAM.对于四个连续的无线电帧,在物理广播信道上传输的比特数对于普通循环前缀为1920,对于扩展循环前缀为1728。读写控制器控制读写地址$ n_f mod 4 $,因为广播信道(BCH)的周期性为40毫秒。

  • PBCH索引:计算将PBCH数据写入LTE memory Bank所需的内存地址。的PBCH_indices子系统相当于LTE工具箱™功能ltePBCHIndices

CellRS链

细胞特定的参考序列是伪随机序列的复杂调制值,定义于[1].伪随机序列发生器初始化$$ c_{init} $$在每个OFDM符号的开头,如[1].

  • CellRS_generation:输入cellRSStart触发CRS信号的产生。由于CRS在单个子帧中有6个OFDM符号可用(天线端口0和端口1中有4个OFDM符号,天线端口2和端口3中有2个OFDM符号),因此该分系统计算一个6元$$ c_{init} $$每个子帧的向量。的LTE金序列发生器Block使用vector初始化$$ c_{init} $$表示多个通道,并提供六种不同的单元特定伪随机序列。写控制器控制这些序列写入六个内存库CellRS_RAM.它也会返回rd_en,可以将数据从CellRS_RAM.读控制器控制CRS数据的读取。如果使用4个天线,则读取6个OFDM符号;如果使用1个或2个天线,则仅读取4个OFDM符号。它返回rd_bank而且rd_valid信号为六/四个OFDM符号选择一个适当的符号。然后将序列映射到复杂的QPSK调制符号。

  • CellRS_indices:这个子系统计算每个地址LTE存储器要求写入CRS数据。它相当于LTE Toolbox™功能lteCellRSIndices

读写逻辑

读写逻辑子系统包含一个写选择器,读选择器,四个LTE内存库,每个LTE内存库都有一个网格库选择。LTE内存库存储容量是支持的最大LTE带宽(20 MHz)下复杂调制符号的一个子帧。金宝app每个LTE内存库可存储14 × 2048 × 16位复值,即14个OFDM符号,每个OFDM符号包含2048个复值。

写选择器将数据的子帧写入内存库。PSS和SSS占据中心子载波。所有天线都使用单一的PSS和SSS数据流。PBCH数据由每个天线端口对应的多个流组成。生成的CRS数据根据为每个数据生成的四个地址映射到网格LTE存储器CellRS_indices块。写入选择器首先将PSS和SSS同时写入所有LTE内存库中的相应位置。然后将PBCH数据和CRS数据写入相应的LTE内存银行并返回rd_enb表示写操作已经完成。

Read Selector从每个样本中读取样本LTE存储器基于rd_enb而且准备好了从LTE OFDM调制器块。每个LTE内存库返回一个14个元素的向量,对应于一个子载波。的网格银行选择从14元矢量中选取合适的样本,形成每个天线的资源网格输出。

由于本例的范围仅限于PSS、SSS、CRS和PBCH传输,因此在将新数据写入内存之前,所有LTE内存银行都将在每个子帧的开始处被擦除。

OFDM调制与滤波

LTE内存库中的网格数据是使用ofdm调制的LTE OFDM调制器块,输出数据采样率参数设置为“匹配输出数据采样率到NDLRB”。对调制数据进行过滤离散FIR滤波器HDL优化(DSP系统工具箱)块,其系数以对应于NDLRB的采样率产生。不同的子系统根据天线数量来控制OFDM调制器和FIR滤波器的数量,从而降低了单天线使用时的资源利用率。

验证与结果

运行模拟之后,ltehdlTransmitter_PostSim.m脚本自动执行StopFcn模型的回调。在本例中,通过以下方法验证发射机输出:

模型发射信号验证:

该模型中的发射机输出信号与使用LTE Toolbox™功能生成的参考发射机信号进行交叉验证,该参考发射机信号由每个天线的以下两个子图生成。

  1. 第一个子图显示过滤数据的功率谱密度(PSD)输出。结果与使用LTE Toolbox™生成的参考输出信号的PSD进行比较。这个比较显示了两个信号的等价性。图中显示的传输带宽为BW = 1.4MHz。

  2. 第二个子图显示了传输波形的绝对值。结果绘制在使用LTE Toolbox™生成的参考发射机信号的绝对值之上。该图还显示了通过HDL实现获得的样本与参考信号之间的差异。这个比较显示了两个发射机信号之间的最小误差。

Cell搜索和MIB解码结果:

发射器输出信号的有效样本存储到工作空间变量中txSamples.这些样本通过LTE衰落信道来创建接收器输入信号,rxSamples.的lteFadingChannel(LTE工具箱)函数模拟LTE衰落信道。

本例使用以下通道配置:

chcfg。NRxAnts = 1;chcfg。MIMOCorrelation =“媒介”;chcfg。NormalizeTxAnts =“上”;chcfg。DelayProfile =“环保署”%{“了”,“环保署”}仅当延迟配置文件未设置时,以下模型配置才存在% to 'off'。chcfg。DopplerFreq = 5;chcfg。SamplingRate = 30.72e6;chcfg。InitTime = 0;chcfg。NTerms = 16;chcfg。ModelType =“GMEDS”;chcfg。NormalizePathGains =“上”;chcfg。InitPhase =“随机”;chcfg。种子= 1;

若要创建无褪色通道,请设置chcfg。DelayProfile去“离开”ltehdlTransmitter_PostSim.m脚本。

此通道配置与默认配置一起工作enb结构中的更改,并且仅支持金宝appenb。PHICHDuration而且enb。Ng字段。

下图显示了单元格搜索和MIB解码通道输出的结果,rxSamples,使用LTE工具箱™功能。这些图验证了发射机性能,并将HDL发射机实现与中定义的输入配置进行了比较tx_cellids而且enb

  • Cell Search后的NCellID:显示在衰落信道输出上执行的LTE Cell搜索结果。

  • MIB解码后的Cell-wide设置:显示MIB解码后的字段-对衰落通道输出执行的NDLRB、Ng、PHICH duration和System Frame Number (SFN)。

示例模型不支持快速加速模式下的模拟。金宝app

单元格搜索验证和MIB恢复示例

您可以验证LTE HDL PBCH发射机实例,将其连接到LTE HDL MIB恢复示例模型,并检查发送器的输出被正确解码。要使发射器模型与接收器模型兼容,请对发射器进行以下更改:

  • 设置outRate= 2(默认值1),然后运行模型。这将设置每个的输出速率LTE OFDM调制器并生成与每个天线相关的fir滤波器系数。

  • 设置enb。CellRefP= 2(默认值4),然后运行模型。

  • 使用相同的NCellID用于传输中的所有无线电帧。即设置tx_cellids到0-503范围内的标量值。

该图显示了HDL LTE MIMO发射机而且HDL LTE MIB恢复子系统连接在一起。最后给出了模型的仿真结果。显示块显示接收端从报文的输出解码的CellID和MIB字段(NDLRB, Ng, PHICH duration和System Frame Number (SFN))HDL LTE MIMO发射机子系统。

您也可以在不使用信道的情况下验证设计,方法是终止来自第二天线的输出,并使用来自第一天线的输出绕过信道系统。

HDL代码生成

要为本例检查和生成HDL,您必须拥有HDL Coder™许可证。使用makehdl而且makehdltb命令生成HDL代码和测试台架HDL LTE MIMO发射机子系统。因为本例中的stopTime依赖于TotalSubframes,测试台架的生成时间取决于TotalSubframes

HDL LTE MIMO发射机子系统在Xilinx®Zynq®-7000 ZC706评估板上合成。哨所和路线资源利用结果如下表所示。

没有资源。天线数量= 1天线数量= 2= 4使用的天线  ____________________ ________________________ ________________________ ________________________ 片寄存器附近地区11984 22220 42861 12788 23839 45787片RAMB36 41 82 164 RAMB18 11 21 41 DSP 49 93 177 Max。频率(MHz) 210.08 206.39 204.75

参考文献

  1. 3GPP TS 36.211“物理通道和调制”。

  2. 3GPP TS 36.212“多路复用和信道编码”。

相关的话题