OAI 5G-NR gNB源码架构分析涉及对开源项目Open Air Interface (OAI)中的5G-NR无线网关基站(gNB)源代码的详细解读。OAI项目旨在为研究和教学提供一个开放源代码的5G通信系统实现。gNB作为5G网络的核心组件之一,负责与用户设备(UE)进行无线通信,实现物理层及更上层的功能。本分析主要关注gNB支持的特性范围、当前开源项目进展、源码的代码框架以及主要函数和过程。 在特性范围方面,当前OAI gNB支持多种配置,如TDD工作模式、正常CP(循环前缀)长度、30kHz子载波间隔、40MHz到100MHz的信道带宽、单波束天线端口、14个OFDM符号的时隙格式,以及LDPC和polar的编码方式。 关于当前开源项目进展,项目包含了一些bug的EN-DC(E-UTRAN - NR Dual Connectivity)功能,而SA(独立部署)模式下的RRC(无线资源控制)、SDAP(服务数据适配协议)、N2和N3接口尚在开发中,随机接入调试也在进行,特别是Msg2的解析尚未成功。 在gNB源码主框架方面,代码由多个模块组成,每个模块负责不同的功能。如Main主进程负责解析命令行参数、系统配置文件、初始化各子层、线程、射频phy层及RU单元配置等。gNB_app_task负责初始化gNB主要数据结构和接口、处理核心网消息和超时消息等。rrc_gnb_task专责RRC配置消息处理、随机接入消息处理、测量处理和系统消息处理。sctp_eNB_task处理NG口连接和F1AP控制面消息。ru_thread则负责上下行流程处理。 重要函数和过程中,Main()函数通过get_options()解析命令行参数来配置系统,netlink_init()初始化网络接口,init_pdcp()初始化PDCP层。create_gNB_tasks()函数创建主要线程,包括gNB管理线程、传输网接口线程和RRC处理线程等。RRC子层处理线程通过itti_create_task()函数来创建,并负责处理系统消息、随机接入相关消息等。 整个架构分析表明,OAI 5G-NR gNB源码是一个模块化设计,各模块之间通过接口通信,具有清晰的任务划分和流程控制,为5G通信系统的开发和研究提供了重要的实践基础和实验环境。随着项目继续演进,将逐步完善各项功能,增强与5G设备和网络的互操作性。
2025-10-26 00:25:31 861KB
1
Freecli 5G是用于测试和实验free5gc的交互式cli实用程序。 特征 订户:以一种时尚的方式管理free5gc的订户 5G gNB:模拟5G gNB:UE的注册,PDU会话请求,提供Linux级别的GTP封装,允许向/从UPF发送和接收实际流量,QoS DSCP标记 QoS:将DSCP PHB应用于数据包 NF:管理CN网络功能并与数据库进行交互 阅读以获取有关CLI和每个模块的更多文档 避免任何混乱 尽管此项目使用free5gc库,但它不是正式的free5gc项目的一部分。 我已经开发出它来简化我的5G部署/实验,并认为共享它真是太好了。 欢迎所有贡献! 致谢 感谢free5gc团队的努力,他们的lib和他们的开源5G核心网络
2021-09-06 09:23:57 1.49MB 5g free5gc gnb Go
1
5G名号:NR,gNB,en-gNB,ng-eNB,EN-DC,NE-DC,NGEN-DC,NG-RAN...pdf
2021-05-07 19:01:47 1.64MB 5G
1
OAI gNB侧源码解析。主要包括:源码整体架构分析,并配有程序时序交互图;以及重要函数过程的相关描述,重要接口的描述。
2021-04-12 11:16:21 937KB OAI gNB 源码解析
1
OAI 源码解析图.pdf
2021-02-08 21:02:25 86KB OAI gNB
1