Commit 4cb1b9ce authored by frtabu's avatar frtabu

update rf simulator doc, add lte usage doc

parent 777be281
...@@ -10,7 +10,7 @@ the main oai binaries, which are tested by the Continuous Integration process ar ...@@ -10,7 +10,7 @@ the main oai binaries, which are tested by the Continuous Integration process ar
- The LTE eNodeB: `lte-softmodem` - The LTE eNodeB: `lte-softmodem`
- The PHY simulators: `dlsim` and `ulsim` - The PHY simulators: `dlsim` and `ulsim`
The build system for OAI uses [cmake](https://cmake.org/) which is a common tool to -generate makefiles. The `build_oai` script is a wrapper using cmake, make and standard linux shell commands to ease the oai build and use . The file describing how to build the executables from source files is the [CMakeLists.txt](../cmake_targets/CMakeLists.txt), it is used as input by cmake to generate the makefiles. The build system for OAI uses [cmake](https://cmake.org/) which is a tool to generate makefiles. The `build_oai` script is a wrapper using cmake, make and standard linux shell commands to ease the oai build and use . The file describing how to build the executables from source files is the [CMakeLists.txt](../cmake_targets/CMakeLists.txt), it is used as input by cmake to generate the makefiles.
The oai softmodem supports many use cases, and new ones are regularly added. Most of them are accessible using the configuration file or the command line options and continuous effort is done to avoid introducing build options as it makes tests and usage more complicated than run-time options. The following functionalities, originally requiring a specific build are now accessible by configuration or command line options: The oai softmodem supports many use cases, and new ones are regularly added. Most of them are accessible using the configuration file or the command line options and continuous effort is done to avoid introducing build options as it makes tests and usage more complicated than run-time options. The following functionalities, originally requiring a specific build are now accessible by configuration or command line options:
...@@ -18,9 +18,12 @@ The oai softmodem supports many use cases, and new ones are regularly added. Mos ...@@ -18,9 +18,12 @@ The oai softmodem supports many use cases, and new ones are regularly added. Mos
- all simulators, with exception of PHY simulators, which are distinct executables. - all simulators, with exception of PHY simulators, which are distinct executables.
Calling the build_oai script with the -h option gives the list of all available options, but a process to simplify and check the requirements of all these options is ongoing. Check the table at the end of this page to know the status of `buid_oai` options which are not described hereafter. Calling the `build_oai` script with the -h option gives the list of all available options, but a process to simplify and check the requirements of all these options is on-going. Check the
[table]: BUILD.md "`build_oai` options"
at the end of this page to know the status of `buid_oai` options which are not described hereafter.
...@@ -54,7 +57,7 @@ After completing the build, the binaries are available in the `cmake_targets/lte ...@@ -54,7 +57,7 @@ After completing the build, the binaries are available in the `cmake_targets/lte
​ The telnet server can be built with the --build-telnet option, after building the softmodem or while building it. ​ The telnet server can be built with the --build-telnet option, after building the softmodem or while building it.
`./build_oai -I -w USRP --eNB --UE --build-telnet`srv `./build_oai -I -w USRP --eNB --UE --build-telnetsrv`
​ or ​ or
......
...@@ -4,7 +4,19 @@ After you have [built the softmodem executables](BUILD.md) you can go to the bui ...@@ -4,7 +4,19 @@ After you have [built the softmodem executables](BUILD.md) you can go to the bui
## rf simulator ## rf simulator
​ This is the easiest use-case to setup and test, you need two x86 PCs, 4 cores and 3GHz CPU should be enough The rf simulator is a oai device replacing the radio heads (for example the USRP device). It allows connecting the oai UE and the oai eNodeB through a network interface carrying the time-domain samples, getting rid of over the air unpredictable perturbations. This is the ideal tool to check signal processing algorithms implementation.
It is planned to enhance this simulator with the following functionalities:
- Support for multiple UE connections
- Support for multiple eNodeB for hand-over tests
- Spport for channel modeling
This is an easy use-case to setup and test, as no specific hardware is required. The [rfsimulator page](../targets/ARCH/rfsimulator/README.md ) contains the detailed documentation.
## l2 nfapi simulator
As for the rf simulator, no specific hardware is required. The [L2 nfapi simlator page](https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/l2-nfapi-simulator/l2-nfapi-simulator-w-S1-same-machine) contains the detailed documentation.
## Monolithic eNodeB with USRP radio head ## Monolithic eNodeB with USRP radio head
......
#General ## General
This is a RF simulator that allows to test OAI without a RF board. This is a RF simulator that allows to test OAI without a RF board.
It replaces a actual RF board driver. 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) 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 ## build
## From build_oai
You can build it the same way, and together with actual RF driver
Example: No specific build is required, use the [oai softmodem build procedure](../../../doc/BUILD.md)
```bash
./build_oai --ue-nas-use-tun --UE --eNB -w SIMU
```
It is also possible to build actual RF and use choose on each run:
```bash
./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 After any regular build, you can compile the driver
```bash ```bash
cd <the_compilation_dir_from_bouild_oai_script>/build cd <the_compilation_dir_from_bouild_oai_script>/build
...@@ -35,16 +23,30 @@ It should the set to "enb" in the eNB ...@@ -35,16 +23,30 @@ It should the set to "enb" in the eNB
## 4G case ## 4G case
For the UE, it should be set to the IP address of the eNB For the UE, it should be set to the IP address of the eNB
example: example:
```bash ```bash
sudo RFSIMULATOR=192.168.2.200 ./lte-uesoftmodem -C 2685000000 -r 50 sudo RFSIMULATOR=192.168.2.200 ./lte-uesoftmodem -C 2685000000 -r 50 --rfsim
``` ```
For the eNodeB, use a valid configuration file setup for USRP board tests and start the softmodem as usual, but adding the `--rfsim` option.
```bash
sudo RFSIMULATOR=enb ./lte-softmodem -O <config file> --rfsim
```
Except this, the UE and the eNB can be used as it the RF is real 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 If you reach 'RA not active' on UE, be careful to generate a valid SIM
```bash ```bash
$OPENAIR_DIR/targets/bin/conf2uedata -c $OPENAIR_DIR/openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf -o . $OPENAIR_DIR/targets/bin/conf2uedata -c $OPENAIR_DIR/openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf -o .
``` ```
This simulator can also be used with the `--noS1` option, in this case you must run the eNodeB and the UE on different PCs.
## 5G case ## 5G case
After regular build, add the simulation driver After regular build, add the simulation driver
(don't use ./build_oai -w SIMU until we merge 4G and 5G branches) (don't use ./build_oai -w SIMU until we merge 4G and 5G branches)
```bash ```bash
...@@ -62,7 +64,8 @@ sudo RFSIMULATOR=127.0.0.1 ./nr-uesoftmodem --numerology 1 -r 106 -C 3510000000 ...@@ -62,7 +64,8 @@ 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 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 In UE, you can add "-d" to get the softscope
#Caveacts ## Caveacts
Still issues in power control: txgain, rxgain are not used 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
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment