LTE信号的理解和解调

马克·巴伯里斯(Marc Barberis)和格雷厄姆·弗里兰(Graham Freeland)著,MathWorks

支持LTE的设备,如手机和平板电脑现在普遍存在,LTE与原始蜂窝市场以外的组织变得相关。LTE提供比3G技术更高的传输速度。但是,这种改进是以开发和实现复杂性的成本,部分原因是LTE物理层使用诸如多输入多输出(MIMO)和Turbo编码器等高级通信技术。

LTE信号的解调需要深入了解LTE信号的结构,以及从原始信号中提取信息的高级算法。标准、算法和概念的复杂性使得LTE产品的开发非常具有挑战性。分析捕捉到的LTE信号、验证LTE系统的内部实现以及生成LTE信号都是需要相当努力和仔细验证的任务,而且它们得益于一致的设计流程和环境。

本文将解释LTE信号是如何构造的,以及如何从信号中检索信息。然后,它提出了一个工作流,使用LTE系统工具箱™获取和解调LTE下行信号-从初始同步到提取LTE参数和数据。

LTE基带信号特性

LTE的设计目的是有效地传输数据包的信息,低延迟(几毫秒)。LTE基于OFDM调制,要求使用MIMO技术。LTE信号以10毫秒的帧组织。

LTE帧由10个1ms的子帧组成(图1)。

图1。LTE帧和子帧结构。

每个子帧由14个OFDM符号组成。子帧的结构通常表示为时间和频率的二维资源网格。图2显示了单个子帧的资源网格,该子帧由14个OFDM符号组成。网格包括72到1200个子载波。网格上的每个单元被称为a资源元素.一个资源块是一个12×7组资源元素。

图2。空资源网格和一个资源块。

当手机等LTE设备打开时,首先要检测LTE网络并连接到LTE网络。LTE可部署的带宽范围为1.4MHz ~ 20MHz(对应上文提到的72 ~ 1200个子运营商)。因此,LTE标准将手机连接到网络所需的所有信息放在最窄的带宽内,即在中间的72个子载波内。这些信息包括:

  • 主要同步信号和次要同步信号(PSS和SSS),这有助于确定帧时间和单元识别。这些信号每五帧出现一次。
  • 广播通道(BCH),承载主信息块(MIB)。MIB包含实际的cell带宽(1.4MHz ~ 20 MHZ)等信息。BCH每10个子帧发生一次。

图3显示了PSS、SSS和BCH在一帧的子帧0中的位置。

图3. 1.4MHz带宽的子帧0,显示BCH(红色),PSS(绿色)和SSS(蓝色)。

如前所述,每一个子帧包含14个OFDM符号。前几个符号表示控制区域。它们是为控制信息保留的,有效载荷数据进入剩下的符号。控制符号的数量因子帧而异,并由物理控制格式指示通道(PCFICH)发出信号。

该网络包括三个附加频道:

  • 物理混合指示通道(PHICH),用于以前发送到基站的数据的确认
  • 物理下行链路控制信道(PDCCH),它携带诸如电网的哪一部分被分配给特定的用户以及使用哪一种调制和编码方案等信息
  • 物理下行共享通道(PDSCH),承载流量数据

图4显示了具有3MHz带宽的子帧0的不同通道。标记为白色是特定于细胞的参考信号(CRS),其是用于相干解调的导频符号。

图4。子帧0网格具有3MHz带宽的所有通道和物理信号。

利用LTE系统工具箱在MATLAB中解调LTE信号

在这个例子中,我们将模拟手机打开时会发生什么。一个电话通常必须执行以下任务(图5):

  1. 在给定的LTE载波频率上获取信号。
  2. 根据PSS和SSS确定帧同步和小区识别(小区搜索程序)。
  3. 解码主信息块以获得带宽信息。

对于每一个子帧它需要解码,它必须做以下工作:

  1. 解码PCFICH以确定控制区域的大小。
  2. 定位控制信息(PDCCH),以便它能够解码相关数据(PDSCH)。
图5。获取和解调LTE信号所需的步骤。

在本例中,我们假设信号已被采集并存储在文件中。

确定帧同步和单元识别

单元格搜索包括两个步骤:

  1. 执行与三种可能的PSS的运行相关性,并检测三个相关器中的任何一个中的峰值。峰值的位置提供具有五个子帧的不确定性的帧定时,因为PSS存在于子帧0和子帧5中。
  2. 一旦检测到峰值,就与子帧0和5中的31个可能的SSS相关联,以找到两个可能的两个SS的组合中的一个。

这两个步骤的结果是单元识别号,在0到3 * 168-1 = 503之间的数字(在我们的示例中),以及帧定时。

使用lteCellSearch功能在LTE系统工具箱。lteCellSearch计算所有与可能的PSS和SSS的关联,并返回单元格ID和帧定时。

%在输入波形上执行小区搜索[NCellID,TimingOffset]=lteCellSearch(enb,波形);知道帧定时的%同步输入信号波形=波形(1+ TimingOffset:END);

图6显示了处理后的相关结果lteCellSearch功能确定输入信号的小区ID。

图6. CellID = 17的PSS / SSS的相关器输出的绝对值。

解码主信息块(确定带宽)

现在我们知道了帧定时和单元识别,我们可以对信号进行OFDM解调,提取OFDM网格值。然后,我们将能够根据基站传输的已知参考信号(CRS)进行信道估计1

为了完成OFDM调制,我们调用lteOFDMDemodulatelteDLChannelEstimateLTE系统工具箱中的功能:

%执行OFDM解调,包括循环前缀去除rxgrid = lteofdm解调器(enb,波形);%估计中间6个RBs的渠道[ChannelEst, noiseEst] = lteDLChannelEstimate(enb,cec,rxgrid);

图7为OFDM解调后的网格图。信号因传输障碍和噪声而严重受损。

图7。OFDM网格恢复后的绝对值。

我们现在必须计算MIB映射到的网格位置,解调该信息,解码MIB,并解释二进制字段的内容。

我们可以用四个MATLAB完成所有这些任务®命令:

%提取与所有接收天线的第一%子帧对应于PBCH的资源元素和信道估计pbchIndices = ltePBCHIndices (enb);[pbchRx, pbchHest] = lteExtractResources(...pbchindices,rxgrid(:,1:l,:),hest(:,1:l,:,:));%解码PBCH[bchBits, pbchSymbols, nfmod4, mib, enb.]CellRefP] = ltePBCHDecode (...enb, pbchRx, pbchest, nest);%parse mib bitsenb = lteMIB(mib, enb);

与enb相比,包含基站(或eNodeB)参数的结构如下:

nlrb: 50 NCellID: 17 NSubframe: 0 CellRefP: 2 PHICHDuration:“正常”ng:“一个”nframe:404

因此,我们知道单元带宽是50个资源块(NDLRB),或10MHz。除了这个值之外,我们还从MIB中获得了更多的信息,包括天线数量(2个)、帧号(404)和PHICH配置(本文未涉及)。

获取系统信息

此时,我们已经确定了一些关键参数:

  • 细胞的身份
  • 帧时序
  • 细胞带宽
  • 单元天线数
  • PHICH配置

然而,在我们联系基站之前,我们需要更多地了解单元格(包括此单元格的运算符是否是我们与其合同的人!)。这些附加信息包括在各种系统信息块(SIB)中。我们现在将解调系统信息块Type1(SIB1)。

虽然SIB1是在固定时间内传输的,但是携带SIB1的PDSCH的资源分配是动态的。它在PDCCH上携带的相关下行链路控制信息(DCI)消息中表示。

基站使用具有预期接收者特征的无线网络标识符(RNTI)对所有DCI消息进行加密。所有用户都对SIB1感兴趣,它有一个已知的65535的RNTI(称为SI-RNTI或系统信息RNTI)。这使得所有终端(包括未关联的终端)都能够查找和解码SIB1。

解码SIB1控制信息

识别PDCCH非常具有挑战性,因为与BCH不同,PDCCH具有复杂的结构:PDCCH携带可变长度的DCI消息,这些消息可以从PDCCH空间的不同位置开始。

由于这个原因,一旦我们提取了所有与PDCCH相对应的符号,我们必须执行盲搜索,以寻找将由SI-RNTI进行置乱的DCI消息。

LTE系统工具箱包含我们需要的功能,包括执行PDCCH空间盲目搜索的功能。下面的代码显示了我们如何解码PCFICH以确定控制区域的大小,然后提取PDCCH,对SI-RNTI的PDCCH空间进行盲目搜索,并解码SIB1。

%解码PCFICHcfibits = ltepcfichdecode(eNB,pcfichrx,pcfichhest,巢);eNB.CFI = LTECFIDECODE(CFIBITS);%获得CFI.%pdcch解调。现在使用%类似的资源提取和解码功能来解调和解码PDCCH,并将用于BCH和CFI接收所示%的解码功能解码和解码pdcchIndices = ltePDCCHIndices (enb);%获取PDCCH索引[pdcchrx,pdcchhest] = lteextractresources(pdcchindices,rxgrid,hest);%解码PDCCH[dciBits, pdcchSymbols] = ltePDCCHDecode(enb, pdcchRx, pdcchest, nest);%PDCCH系统信息盲搜索(SI)和DCI解码。%LTE系统工具箱提供对PDCCH的全盲搜索,以查找%具有指定RNTI(在本例中为SI-RNTI)的任何DCI消息。pdcch = struct(“RNTI”, 65535);dci = ltePDCCHSearch(enb, pdcch, dciBits);%在pcch中搜索DCI

图8示出了与PDCCH对应的星座。用QPSK方案调制控制信息。

图8.收到PDCCH星座。

解码SIB1数据

现在我们已经解码了与SIB1相关联的控制信息,我们可以检索和解码实际的SIB1数据。

我们对DCI消息进行解析,给出相应的携带SIB1的PDSCH的配置,并对PDSCH进行解调。接收到的位被DL-SCH解码以产生SIB1位:

pdschindices = ltepdschindices(eNB,pdsch,pdsch.prbset);[pdschrx,pdschhest] = lteextractresources(pdschindices,rxgrid,hest);%解码PDSCH.dlschBits = ltePDSCHDecode(enb, pdsch, pdschRx, pdschHest, nest); / / / / / /%解码DL-SCH[sib1, crc] = lteDLSCHDecode(enb, pdsch, trblklen, dlschBits);

位矢量SIB1现在准备从MATLAB导出到ASN.1解码器中以解码系统信息块Type1消息。

总结

此示例显示了LTE系统工具箱如何用于从直播LTE信号中提取系统信息。LTE系统工具箱支持进一步处理信号,包万博1manbetx括上行链路和TDD模式,诸如EVM和ACLR的测量以及符合测试。

您可以使用LTE系统工具箱来执行链路级别和性能模拟,验证您自己的LTE实现,生成和分析LTE波形,或者,正如我们在这里所示,通过将MATLAB连接到测试和测量仪器来解调合成或实时信号。

1在LTE中,基站也被称为eNodeB。

发布2015年 - 92271V00


查看相关功能的文章