Files
openairinterface5g/targets/ARCH/rfsimulator
..
2019-02-10 21:01:54 +01:00
2019-04-23 12:24:20 +02:00

#General This is a RF simulator that allows to test OAI without a RF board. It replaces a actual RF board driver.

As much as possible, it works like a RF board, but not in realtime: it can run faster than realtime if there is enough CPU or slower (it is CPU bound instead of real time RF sampling bound)

#build

From build_oai

You can build it the same way, and together with actual RF driver

Example:

./build_oai --ue-nas-use-tun --UE --eNB -w SIMU

It is also possible to build actual RF and use choose on each run:

./build_oai --ue-nas-use-tun --UE --eNB -w USRP --rfsimulator

Will build both the eNB (lte-softmodem) and the UE (lte-uesoftmodem) We recommend to use the option --ue-nas-use-tun that is much simpler to use than the OAI kernel driver.

Add the rfsimulator after initial build

After any regular build, you can compile the driver

cd <the_compilation_dir_from_bouild_oai_script>/build
make rfsimulator

Then, you can use it freely

Usage

Setting the env variable RFSIMULATOR enables the RF board simulator It should the set to "enb" in the eNB

4G case

For the UE, it should be set to the IP address of the eNB example:

sudo RFSIMULATOR=192.168.2.200 ./lte-uesoftmodem -C 2685000000 -r 50 

Except this, the UE and the eNB can be used as it the RF is real

If you reach 'RA not active' on UE, be careful to generate a valid SIM

$OPENAIR_DIR/targets/bin/conf2uedata -c $OPENAIR_DIR/openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf -o .

5G case

After regular build, add the simulation driver (don't use ./build_oai -w SIMU until we merge 4G and 5G branches)

cd ran_build/build
make rfsimulator

Launch gNB in one window

sudo RFSIMULATOR=enb ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.conf --parallel-config PARALLEL_SINGLE_THREAD

Launch UE in another window

sudo RFSIMULATOR=127.0.0.1 ./nr-uesoftmodem --numerology 1 -r 106 -C 3510000000 

Of course, set the gNB machine IP address if the UE and the gNB are not on the same machine In UE, you can add "-d" to get the softscope

#Caveacts Still issues in power control: txgain, rxgain are not used

no S1 mode is currently broken, so we were not able to test the simulator in noS1 mode