技术文章和通讯

LTE信号的理解和解调

Marc Barberis和Graham Freeland, MathWorks


支持LTE的设备,如手机和平板电脑,现在无处不在,LTE正在与原始蜂窝市场以外的组织相关。LTE提供比3G技术更高的传输速度。然而,这种改进是以开发和实现复杂性为代价的,部分原因是LTE物理层使用了先进的通信技术,如多输入多输出(MIMO)和涡轮编码器。

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

本文解释LTE信号是如何构造的,以及如何从信号中检索信息。然后介绍了一个使用LTE System Toolbox™来获取和解调LTE下行信号的工作流程——从初始同步到LTE参数和数据的提取。

LTE基带信号特性

LTE被设计成以低延迟(几毫秒)高效传输信息包。LTE基于OFDM调制,并要求使用MIMO技术。LTE信号以10毫秒的帧组织。

一个LTE帧依次由十个1ms子帧组成(图1)。

LTE_Signals_Fig1_w.jpg
图1。LTE帧和子帧结构。

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

LTE_Signals_Fig2_w.jpg
图2。空的资源网格和一个资源块。

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

  • 主要同步信号和次要同步信号(PSS和SSS),它们帮助确定帧定时和小区识别。这些信号每五个子帧出现一次。
  • 广播通道BCH (broadcast channel),承载主信息块MIB (Master Information Block)。MIB包含诸如实际小区带宽(在1.4MHz到20 MHZ之间)等信息。BCH每10个子帧出现一次。

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

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

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

该网络包括另外三个频道:

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

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

LTE_Signals_Fig4_w.jpg
图4。子帧0网格所有通道和物理信号为3MHz带宽。

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

在这个例子中,我们将模拟手机被打开时发生的情况。手机通常必须执行以下任务(图5):

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

对于它需要解码的每一个子帧,它必须执行以下操作:

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

在本例中,我们假设已获取信号并将其存储在文件中。

确定帧同步和小区识别

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

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

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

方法来完成这些步骤lteCellSearch功能在LTE系统工具箱。lteCellSearch计算所有与可能的PSS和SSS的相关性,并返回单元ID和帧定时。

在输入波形上执行单元格搜索[NCellID, timinggoffset] = lteCellSearch(enb,波形);同步输入信号知道帧定时波形=波形(1+ TimingOffset:end);

图6显示了在lteCellSearch函数确定输入信号的单元ID。

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

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

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

为了执行OFDM调制,我们调用lteOFDMDemodulate而且lteDLChannelEstimateLTE系统工具箱中的功能:

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

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

LTE_Signals_Fig7_w.jpg
图7。恢复的OFDM网格的绝对值。

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

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

从所有接收天线和信道估计的第一个%子帧中提取与PBCH对应的资源元素pbchIndices = ltePBCHIndices (enb);[pbchRx, pbchest] = lteExtractResources(...pbchIndices rxgrid (::, 1: L),命令(:,:,1:L:));%解码PBCH[bchBits, pbchSymbols, nfmod4, mib, enb.]CellRefP] = ltePBCHDecode (...enb, pbchRx, pbchest, nest);解析MIB位enb = lteMIB(mib, enb);

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

NDLRB: 50 ncelllid: 17 NSubframe: 0 CellRefP: 2 PHICHDuration:“正常”吴:“一个”NFrame: 404

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

获取系统信息

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

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

然而,在我们联系基站之前,我们需要对小区有更多的了解(包括该小区的运营商是否与我们有合同!)这些额外的信息片段包含在各种系统信息块(sib)中。现在我们将解调系统信息块类型1 (SIB1)。

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

基站使用无线电网络标识符(RNTI)对所有DCI消息进行加密,该标识符可以描述预期的接收方。所有用户都对SIB1感兴趣,它的已知RNTI为65535(称为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, pcfichest, nest);enb。CFI = lteCFIDecode (cfiBits);%得到CFI% PDCCH解调。PDCCH现在使用%类似于BCH和CFI接收的资源提取和解码函数进行解调和解码pdcchIndices = ltePDCCHIndices (enb);%获取PDCCH索引[pdcchRx, pdchhest] = lteExtractResources(pdcchIndices, rxgrid, hest);%解码PDCCH[dciBits, pdcchSymbols] = ltePDCCHDecode(enb, pdcchRx, pdcchest, nest);PDCCH盲搜索系统信息(SI)和DCI解码。LTE系统工具箱提供PDCCH的全盲搜索,以查找%具有指定RNTI的任何DCI消息,在本例中为SI-RNTI。pdcch =结构(“RNTI”, 65535);dci = ltePDCCHSearch(enb, pdcch, dciBits);在PDCCH中搜索DCI

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

LTE_Signals_Fig8_w.jpg
图8。收到PDCCH星座。

解码SIB1数据

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

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

pdschIndices = ltePDSCHIndices(enb, pdsch, pdsch. prbset);[pdschRx, pdschHest] = lteExtractResources(pdschIndices, rxgrid, hest);%解码PDSCHdlschBits = ltePDSCHDecode(enb, pdsch, pdschRx, pdschest, nest);%解码DL-SCH[sib1, crc] = lteDLSCHDecode(enb, pdsch, trblklen, dlschBits);

位向量sib1现在已经准备好从MATLAB导出到ASN.1解码器中,以解码系统信息块Type1消息。

总结

这个例子展示了如何使用LTE系统工具箱从实时LTE信号中提取系统信息。LTE系统工具箱支持信号的进一步处理,包括上行和TDD模式,测量,如EVM和ACLR,以及一致性测试。

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

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

发布于2015 - 92271v00

查看相关功能的文章

Baidu
map