理解和解调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毫秒的帧组织。

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

图1。LTE帧和子帧结构。

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

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

当打开诸如电话的LTE设备时,首先必须检测并连接到LTE网络。LTE可以部署的带宽范围为1.4MHz至20MHz(对应于上述72到1200个子载波)。因此,LTE标准将手机连接到网络中的最窄带宽中的所有信息放在中间72个子载波中。此信息包括:

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

图3显示了帧的子帧0内的PS,SSS和BCH的放置。

图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,pbchhhest] = lteextractresources(......pbchindices,rxgrid(:,1:l,:),hest(:,1:l,:,:));%解码PBCH[bchBits, pbchSymbols, nfmod4, mib, enb.]CellRefP] = ltePBCHDecode (......eNB,pbchrx,pbchhest,巢);%parse mib bitsenb = lteMIB(mib, enb);

和eNB,包括基站(或eNodeB)参数的结构如下:

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

结果,我们知道单元带宽是50个资源块(NDLRB)或10MHz。除此值之外,我们还获得了来自MIB的进一步信息,包括天线(两个),帧号(404)和PHICH配置(本文未涵盖)的数量。

获取系统信息

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

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

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

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

基站使用具有特征的无线电网络标识符(RNTI)来加密所有DCI消息。SIB1对所有用户感兴趣,它具有65535的已知RNTI(称为Si-RNTI或系统信息RNTI)。这使所有UE都能够寻找和解码SIB1。

解码SIB1控制信息

识别PDCCH是非常具有挑战性的,因为与BCH不同,PDCCH具有复杂的结构:PDCCH承载可变长度的可变数量的DCI消息,该可变长度可以从PDCCH空间内的各个位置开始。

出于这个原因,一旦我们提取了与PDCCH对应的所有符号,我们必须执行盲目的搜索,就可以用SI-RNTI扰乱的DCI消息。

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

%解码pcfich.cfibits = 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的任何DCI消息,在这种情况下是SI-RNTI。pdcch = struct('rnti',65535);DCI = LTEPDCCHSearch(eNB,PDCCH,DRIBITS);对于DCI%搜索PDCCH

图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,DLSCHITS);

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

概括

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

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

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

发布2015年 - 92271V00

查看相关功能的文章