一些基础
无线网(RAN)与核心网(CN)
无线网 主要是做无线手机覆盖的,做信号覆盖这部分; 而核心网 络是要连接全世界通讯网络进行数据的交换,所以核心网是最关键的,如果没有核心网,那你这个互联网也就无从谈起了
EPC、eNB、UE
分别是LTE 协议的核心网(EPC,Evolved Packet Core)、基站(eNB)以及用户终端(UE)三部分
FAPI、nFAPI
nFAPI是FAPI接口的扩展。 在无线接入网中,FAPI接口是一种开放的MAC层与物理层的接口之一, 在该接口中,物理层与MAC层通常在一个物理实体中。 然后,随着网络功能虚拟化的出现,MAC层与PHY层可以不在一个物理实体中,并且一个MAC层可以携带多个PHY层,为了对应这种场景,FAPI对自身进行了扩展,扩展后的协议称为nFAPI。
S1、noS1
在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连接到eNB
COTS
commercial off-the-shelf (COTS) 即商用的现成的东西……
SA与NSA
NSA和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,不能为其他状态 => 否则后续使用会有影响
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的!
......
参考:https://gitlab.eurecom.fr/oai/openairinterface5g/-/wikis/HowToConnectCOTSUEwithOAIeNBNew
srsLTE编译安装使用
参考官方文档:srsRAN 21.10 Documentation 即可
|