srsLTE源码分析 UE_02 代码中的类

      上一篇中,介绍了srsLTE 中的一些关键的线程,本篇会从宏观的角度来理解一下srsLTE UE代码中的一些关键的类的实现,这对后面的代码的阅读会有很大的帮助。在讲解这些类之前,先来看一下LTE协议栈的两张架构图。

LTE协议栈下行架构

LTE协议栈上行架构

      从上下行的架构图中,可以看出上下行有些共同之处,分层上来看,它们都有RRC、PDCP、RLC、MAC、和物理层(UE还有一个NAS层,用来和核心网进行信令交互)。

       当然,它们的区别也还是很明显的,主要体现在MAC层和物理层。在LTE中,下行的物理信道多一些,主要包括:PSS、SSS、PBCH、CRS、PDCCH、PCFICH、PHICH、PDSCH、PMCH。上行主要包括,PRACH、PUCCH、PUSCH、SRS。本篇先简单的来介绍一下协议栈中的一些基本概念,详细的内容在后续的代码解读中会再重点介绍。

PSS、SSS:

     主辅同步信道,UE通过这两个信道来进行下行同步,和基站取得空口时隙的对齐。

PBCH:

     物理广播信道,主要用来广播MIB,主要包含SFN、带宽、PHICH等信息。

CRS:

     小区参考信号,主要用来辅助PDSCH的解调,UE上报的CQI也是通过CRS信号进行测量的。

PCFICH:

     该信道主要用来指示PDCCH的占用的符号数。

PHICH:

     用来对UE发送的PUSCH数据进行反馈确认。

PDCCH:

     物理下行控制信道,主要通过不同的DCI格式来只是UE去解调下行数据,或者指示UE发送上行数据。

PDSCH:

     物理数据共享信道,主要用来承载UE的下行数据,SIB公共的信息也会再该信道发送。

PRACH:

   随机接入信道,UE在PRACH信道中随机选择资源发送随机接入的MSG1,PRACH的相关时频资源在SIB2中指定,也就是说UE至少要解到SIB2才能发起随机接入流程。

PUCCH:

     物理上行控制信道,主要用来让UE反馈CQI、RI、PMI、ACK等信息,UE采用什么时频资源来发送相关信息,是有基站在接入过程中动态分配的,PUCCH资源的分配也是基站的一项重要任务。

PUSCH

     物理上行共享信道,UE需要发送的业务数据在该信道中发送,当然,UE在什么位置?用什么MCS?这些都是基站通过PDCCH信道(DCI0格式)来通知UE的。

SRS:

       该信道也是由基站分配不同的资源给UE,UE可以发送SRS,基站进行测量,可以完成上行频选调度的功能。

        总的来说,信道和信道,实际上是一组时频资源的组合,它们使用不同的编码调制方式,它们的解调性能也是不一样的,在LTE协议栈的开发中,对不同的信道进行仿真,是一项很关键的任务。LTE基站的一部分任务是需要对这些资源进行合理的分配和使用。

     关于NAS、RRC、PDCP、RLC、MAC这些协议层的概念将放在后面的章节再详细介绍。下面先来看一下srsLTE UE代码中的一些关键的类,整体的了解这些类,对后续的代码阅读有很大的帮助。

     代码中的最大的类是class ue这个类,它是最顶层的类,它包含了gw、stack、phy、radio这些类。C++的最基本的特性之一就是面向对象,它可以更好的帮助编程人员进行模块化思考。一个类仅完成一个特定的任务,下图就可以比较好的看出这点。基本上每个协议层都有对应的类,这对于保持代码的逻辑清晰是非常有帮助的。

srsLTE UE代码中的关键类

        这里暂不会展开讲解这个类的具体实现,这个过程是非常冗长的,还是在后续的模块讲解中再逐一介绍。下一篇,我们将重点关注一下,这些类之间的接口是如果定义和实现的。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值