主题:利用OAI实现射频仿真
时间:2021年1月7日
作者:ybb
参考:https://gitlab.eurecom.fr/oai/openairinterface5g/-/blob/develop/doc/RUNMODEM.md
5G NR
新的功能特性通过CI之后会集成到develop分支
利用COTS UE搭成NSA进行测试
网络架构:EPC-eNB/gNB-COTS phone
利用OAI UE启动phy-test
phy-test:随机生成的payload
网络架构:OAI UE-OAI gNB
gNB侧添加phy-test的目的:
- 从配置文件读取RRC configuration
- 编码RRCConfiguration和RBconfig消息,将他们存储在二进制文件rbconfig.raw和reconfig.raw
- MAC用预配置的PDSCH和PUSCH(随机生成的payload)
nrUE侧添加phy-test的目的:
读取二进制文件rbconfig.raw和reconfig.raw,并处理读取的结果
(在不同的文件夹需要用–rrc_config_path指明这两个文件的路径,如果在不同的主机上就用SCP传过去吧)
启动OAI gNB的命令:
sudo RFSIMULATOR=server ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.conf --rfsim --phy-test --rfsimulator.options chanmod,saviq --rfsimulator.modelname AWGN -s -1 --parallel-config PARALLEL_SINGLE_THREAD -d
启动OAI nrUE的命令:
RFSIMULATOR=10.10.8.201 ./nr-uesoftmodem --rfsim --phy-test --rrc_config_path . -d --rfsimulator.options chanmod,saviq --rfsimulator.modelname AWGN -s -1
Notes:
- <TARGET_GNB_INTERFACE_ADDRESS> can be 127.0.0.1 if both gNB and nrUE executables run on the same host, OR the IP interface address of the remote host running the gNB executable, if the gNB and nrUE run onseparate hosts
- the --rrc_config_path parameter SHALL specify where the 2 RAW files
are located (rbconfig.raw and reconfig.raw).
If you are running on the same machine and launched the 2 executables (nr-softmodem and nr-uesoftmodem) from the same directory, nothing has to be done.
If you launched the 2 executables from 2 different folders, just point to the location where you launched the nr-softmodem:
sudo RFSIMULATOR=<TARGET_GNB_INTERFACE_ADDRESS> ./nr-uesoftmodem --rfsim --phy-test --rrc_config_path /the/path/where/you/launched/nr-softmodem
If you are not running on the same machine or launched the 2 executables from 2 different folders, you need to COPY the 2 raw files
scp usera@machineA:/the/path/where/you/launched/nr-softmodem/r*config.raw`
userb@machineB:/the/path/where/you/will/launch/nr-uesoftmodem/
Obviously this operation SHALL be done before launching the nr-uesoftmodem executable.
- to enable the noS1 mode --noS1 and --nokrnmod 1 options should be
added to the command line
In the UE, you can add -d option to get the softscope.
UE侧支持的参数:
--ue-fo-compensation: enables the frequency offset compenstation at the UE. This is useful when running over the air and/or without an external clock/time source
--usrp-args: this is the equivalend paramter of sdr_addrs field in the gNB config file and can be used to identify the USRP and set some basic paramters (like the clock source)
--clock-source: sets the clock-source (internal or external).
--time-source: sets the time-source (internal or external).
利用OAI UE启动noS1
noS1不是向phy-test那样随机的生成payload,在noS1我们可以用TUN接口注入或者接收用户面业务,只有接入网,
也可以用写好的IQ数据文件来测试收发特定的数据rfsimulator
利用OAI启动do-ra:
利用OAI启动IF(中频):