- 一些基础
- 无线网(RAN)与核心网(CN)
- EPC、eNB、UE
- FAPI、nFAPI
- S1、noS1
- COTS
- SA与NSA
- P-GW、HSS、MME
- OAI编译安装使用
- srsLTE编译安装使用
无线网主要是做无线手机覆盖的,做信号覆盖这部分;
而核心网络是要连接全世界通讯网络进行数据的交换,所以核心网是最关键的,如果没有核心网,那你这个互联网也就无从谈起了
分别是LTE 协议的核心网(EPC,Evolved Packet Core)、基站(eNB)以及用户终端(UE)三部分
FAPI、nFAPInFAPI是FAPI接口的扩展。
在无线接入网中,FAPI接口是一种开放的MAC层与物理层的接口之一, 在该接口中,物理层与MAC层通常在一个物理实体中。
然后,随着网络功能虚拟化的出现,MAC层与PHY层可以不在一个物理实体中,并且一个MAC层可以携带多个PHY层,为了对应这种场景,FAPI对自身进行了扩展,扩展后的协议称为nFAPI。
在LTE系统中,S1接口是eNB与EPC的接口,noS1的意思就是只需要eNB,UE,不需要连接EPC;
但是对于noS1需要注意:
It can be used with simulators, or when using oai with true RF boards. Only the oai UE can be connected to the oai eNodeB in noS1 mode. 即 1.noS1既然能模拟,又能直接使用USRP; 2.但是只能OAI UE连接到eNBCOTS
commercial off-the-shelf (COTS) 即商用的现成的东西……
SA与NSANSA和SA是5G现行组网的两种主要方式。简单来讲,NSA((Non-Standalone)是融合现在4G基站和网络架构部署的5G网络。因此,其建设速度非常快,直接利用4G基站加装5G基站,即可实现5G网络覆盖。但由于架构使用的还是4G网络架构,导致5G网络的海量物联网接入和低时延特性无法发挥。
而SA(Standalone)组网被称为独立组网。说白了就是重新建设5G基站和后端5G网络,从而完全实现5G网络的所有特性和功能。但因为所有基站和基础设施都需要重新建设,所以建设成本相当的高。
区别:sa和nsa的区别
sa有5G核心网,而nsa没有5G核心网; 在sa组网下,5G网络独立于4G网络,5G与4G仅在核心网级互通,互连简单;在nsa组网下,5G与4G在接入网级互通,互连复杂; 在sa组网下,终端连接NR一种无线接入技术;nsa组网下,终端双连接LTE和NR两种无线接入技术;P-GW、HSS、MME
暂时参考:https://www.zhihu.com/question/503913098
OAI编译安装使用主要参考自:openairinterface5g文档
使用文档:OpenAirUsage
- 软硬件需求
SDR硬件: 本文使用USRP B210 CPU:通常需要intel的 系统:内核需要为低延迟,推荐发行版为ubuntu (本文使用ubuntu18.04LTS,内核从5.4.0被更换为:4.15.0-lowlatency) => For "newer tags" on the master branch (starting v1.0.0) and for the develop branch, we recommend Ubuntu 16.04 with low-latency kernel 4.4.0 or higher. See this section
- 安装低延迟内核
sudo apt-get install linux-image-lowlatency linux-headers-lowlatency sudo vim /etc/default/grub // 设置启动时手人工选择内核(修改下面两行) # GRUB_TIMEOUT_STYLE=hidden // 注释掉hidden选择,启动时方可手工选择 GRUB_TIMEOUT=30 开机启动时选择grub界面下的 advanced,然后选择低延迟内核
- 关闭电源管理功能(暂时放弃这步)
watch grep "cpu MHz" /proc/cpuinfo // 实时查看每个core的频率 sudo vim /etc/default/grub // 添加内核启动参数(下一行) GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_pstate=disable processor.max_cstate=1 intel_idle.max_cstate=0 idle=poll" // 主要是关闭c-state、p-state下省电的功能,避免电压、频率因省电而被调整 sudo vim /etc/modprobe.d/blacklist.conf //禁止加载intel电源管理的内核模块intel_powerclamp(在文件末添加下一行内容) blacklist intel_powerclamp sudo vim /sys/devices/system/cpu/smt/control // 将文件中的on 改为off => 临时关闭超线程 sudo apt-get install i7z // 查看实时频率以及电源管理功能 sudo i7z // 频率波动不应该超过2Hz,且电源状态只能为C0,不能为其他状态 => 否则后续使用会有影响
- 关闭CPU频率缩放(暂时放弃这步)
sudo apt-get install cpufrequtils sudo vim /etc/default/cpufrequtils // 添加下一行 GOVERNOR="performance" // 频率调节模式为满速运行,即使CPU负载低,频率也会较高 sudo update-rc.d ondemand disable // 永久关闭ondemand调频模式 sudo /etc/init.d/cpufrequtils restart // 重启使得performance模式生效 cpufreq-info // 这时应该每个core都处于performance模式(即处于最大频率)
- 编译安装
// LTE 编译安装 git clone https://gitlab.eurecom.fr/oai/openairinterface5g.git source oaienv cd cmake_targets/ ./build_oai -I -w USRP --eNB --UE // 开始编译, eNB即:lte-softmodem ; UE即:lte-uesoftmodem bug fix1:https://gist.github.com/2190472.git 无法访问 => 将cmake_targets/tools/build_helper中的该链接改为 https://gitee.com/konglinglong/oai-ssh.py.git bug fix2:目前只成功编译了lte-softmodem , UE编译报错较多, TODO // 注: 对于nr编译安装,应该看develop分支下的how to build 链接:https://gitlab.eurecom.fr/oai/openairinterface5g/-/blob/develop/doc/BUILD.md git clone https://gitlab.eurecom.fr/oai/openairinterface5g.git gti checkout develop // 5g 在develop分支,master分支是LTE的! ......
- 使用:商用手机连接eNB
参考:https://gitlab.eurecom.fr/oai/openairinterface5g/-/wikis/HowToConnectCOTSUEwithOAIeNBNewsrsLTE编译安装使用
参考官方文档:srsRAN 21.10 Documentation 即可



