OpenAirInterface项目解析 01 前言
无线通信没落了,通信专业已经沦为赛博土木了。写本系列文章不求热度,如果有人恰好对无线通信有兴趣,或者未来多少年后无线通信又翻红了,希望本系列文章能提供些帮助。
1. 写作动机
作者曾是一名无线通信专业研究生,研究生自然逃不掉写论文。很长时间以来通信专业的大部分论文都在自娱自乐:提出一个通信场景,构建一个优化问题,早些年通常用最优化的方法求解,判断数学模型是否为凸函数,如果是则这个模型太简单没法发到“好”期刊上,如果不是则拉格朗日对偶或放松约束或推导上下界,得到一系列华丽的求解过程。后来有了机器学习,用当下流行的机器学习模型求解便成了发论文的捷径,大家在各自的场景或模型中成为最强,显得十分草台。
事实上通信标准领域是相当规范的,LTE/NR、IEEE 802.11、DVB都是成熟先进的通信协议。标准化过程中各家公司进行大量的仿真,在会上进行充分的性能对比。标准定下来后,后续的算法优化便有了统一的benchmark,以此为基准进行学术研究才是行业推进的正路。很可惜作者在毕业前都没有系统地学习过一种无线通信标准,这也是通信专业高等教育的一大问题。
OAI恰好为研究5G/6G的研究生或从业者提供了一个很好的平台。高校如果能利用好OAI,不论是本科生的教学,还是研究生的学术研究,都能实实在在提升学生对5G系统的理解。虽然这只是一厢情愿的幻想,但这确实是作者的写作动机。
2. 项目介绍
“OpenAirInterface是一个开源的软件定义无线电(SDR)平台,主要用于5G和4G/LTE网络的研究与开发。它提供了从物理层到核心网的完整端到端实现,包括基站(eNB/gNB)、用户设备(UE)和核心网(EPC/5GC)组件。该项目由欧洲电信标准协会(ETSI)推动,旨在促进无线通信技术的创新、实验和标准化验证,广泛应用于学术界、工业界的研究原型和测试环境中。”以上来自AI总结。
OAI RAN侧代码主要由C语言开发,包含完整的物理层和协议栈功能,还提供了多种射频卡接口。OAI还提供了开源核心网OAI CN,与OAI RAN一起能够提供完整的蜂窝网络服务。这意味着用一台Linux主机+USRP B200不到5000块就能搭建一个私有5G基站,再烧一些SIM卡就组成了一套私有5G网络,成本相当低。因此国内外许多高校和企业基于OAI项目开发样机,更有一些低素质企业基于OAI开发产品售卖。
3. 同类型项目对比
OAI不是唯一的开源5G/4G项目,同类型竞品还有srsRAN和cuBB。srsRAN从srsLTE项目演进而来,比OAI出现更早,采用C++作为开发语言。cuBB是Nvidia AI-RAN项目,2025年完全开源,目的是在GPU进行RAN处理,以cuda作为开发语言。
cuBB只能跑在Nvidia GPU上,OAI和srsRAN支持x86和arm平台。srsRAN优化更好、更稳定,被指定为OCUDU的RAN框架,其稳定性足以作为小型商用基站使用。但由于其基于C++ 14开发,上手难度大,二次开发门槛高,因此OAI更受科研机构和企业青睐。OAI虽然bug较多,好在项目还在发展期,bug修复速度较快,并且新的feature开发进度迅速。项目包容度也不错,对intel加速卡、GPU译码都提供了一些接口。C语言代码比C++更直观,代码架构清晰,适合编程能力较弱的通信从业者。
4. 本系列介绍框架
作者研究生和工作都聚焦于物理层,因此本系列分享以物理层为主。后续学习高层有一些心得的话也会增加对高层内容的介绍。目前预期的文章框架如下。
| 序号 | 内容 | 链接 |
|---|---|---|
| 02 | 代码部署 | https://www.cnblogs.com/xiayuanupup/p/19751138 |
| 03 | 初始接入流程 | https://www.cnblogs.com/xiayuanupup/p/19752488 |
| 04 | SSB | |
| 05 | PDCCH | |
| 06 | PDSCH | |
| 07 | PRACH | |
| 08 | PUSCH | |
| 09 | PUCCH | |
| 10 | OAI系统时序 | |
| 11 | OAI多线程 | |
| 12 | 层间接口 |
如果您发现错误请在评论区指正,作者看到会向您表示感谢。有疑问也可以在评论区留言,作者看到会尽量解答。转载请注明出处。

浙公网安备 33010602011771号