wiki:Tutorials/4G5G/openairinterface

Version 12 (modified by msherman, 5 years ago) ( diff )

This tutorial contains instructions for running the openairinterface eNB and UE on various platforms. It adapts the Eurecom tutorial at : https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/HowToConnectOAIENBWithOAIUEWithoutS1Interface for the ORBIT and COSMOS testbeds.

Prerequisites

  1. Two nodes, with appropriate hardware, within RF range
  2. Currently supported: USRP x310, USRP 2974, USRP b210
  3. Load the image tutorial-oai.ndz onto both nodes
  4. Turn the nodes on
  5. If graphical display is desired, enable x11 tunneling to console and then to nodes
  6. ssh to the nodes

On node 1

  1. run /opt/oaiscripts/build_oai.sh to build for the current hardware and kernel
  2. edit the file /opt/oaiscripts/run_enb.sh for the SDR in use, for example, set SDR IP addr and max gain
  3. run /opt/oaiscripts/run_enb.sh

Example script, change parameters as needed:

  • run_enb.sh:
    #! /bin/bash
    #sdr_addrs takes standard uhd arguments, such as:
    #"type=x300,addr=192.168.40.2"  #x310 over direct network
    #"type=x300,resource=rio0"      #x310 over pcie
    #"type=b210"                    #b210 over usb
    #values for RUs.[0] override config file, must be set per usrp type
    # -d enables xforms charts
    
    cd /opt/openairinterface5g
    source oaienv
    cd ./cmake_targets
    ./lte_build_oai/build/lte-softmodem \
    -O $OPENAIR_HOME/ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf \
    --nokrnmod 1 --noS1 --eNBs.[0].rrc_inactivity_threshold 0 \
    --RUs.[0].att_tx 40 --RUs.[0].att_rx 0 \
    --usrp-args "type=b200" \
    -d
    

On Node 2

  1. run /opt/oaiscripts/build_oai.sh to build for the current hardware and kernel
  2. edit the file /opt/oaiscripts/run_ue.sh for the SDR in use, for example, set SDR IP addr and max gain
  3. run /opt/oaiscripts/run_ue.sh

Example script, change parameters as needed:

  • run_ue.sh:
    #! /bin/bash
    #sdr_addrs takes standard uhd arguments, such as:
    #"type=x300,addr=192.168.40.2"  #x310 over direct network
    #"type=x300,resource=rio0"      #x310 over pcie
    #"type=b210"                    #b210 over usb
    #values for RUs.[0] override config file, must be set per usrp type
    # -d enables xforms charts
    
    cd /opt/openairinterface5g
    source oaienv
    cd ./cmake_targets/lte_build_oai/build
    ./lte-uesoftmodem \
    -C 2680000000 -r 25 \
    --ue-scan-carrier --nokrnmod 1 --noS1 \
    --ue-rxgain 120 --ue-txgain 30 --ue-max-power 0 \
    --ue-nb-ant-tx 1 --ue-nb-ant-rx 1 \
    --usrp-args "type=b200" \
    -d
    

Once Both nodes are running

  • if all is successfull, you shouuld see new interfaces on the two nodes, with addresses:
    • 10.0.1.1
    • 10.0.1.2
  • you should be able to run ping, iperf, and so on

Understanding xforms terms and plots

  • PBCH: physical broadcast channel
    • The PBCH carries part of the system information required for terminals to access the network
  • PUSCH: physical uplink control channel
  • PDCCH: physical downlink control channel
    • The PDCCH conveys control information, scheduling decisions for PDSCH reception, and for scheduling grants enabling transmission on the PUSCH.
  • PUSCH: physical uplink shared channel
  • PDSCH: physical downlink shared channel
    • The PDSCH carries user data and paging information to the terminal.

Calibration

  • physical attenuation
  • received signal at UE
  • received signal at eNB
  • pdsch constellation at UE
  • pdsch constellation at eNB

Expected Performance

This depends on a number of factors, including:

  • the total bandwidth (number of resource blocks)
    • 5mhz:25prb
    • 10mhz:50prb
    • 20mhz:100prb
  • p(d/u)sch modulation:
    • qpsk
    • 16qam
    • 64qam
    • 256qam
  • FDD vs TDD
  • number of MIMO channels
  • control vs data channel split

For the default config file in this tutorial, it's:

  • 1/1 non-mimo
  • FDD band 7
  • 5mhz/25PRB
  • up to 256qam, depending on signal
  • control / data split of (0.25/0.75?)
  • so you can expect up to 19mbps downlink at 64qam, and 25mbps downlink at 256qam

Specifics per domain

sb2.cosmos-lab.org

  1. set usrp address to "type=x3xx,resource=rio0"
  2. on eNB, set att_tx=70, att_rx=10
  3. use RFSWITCH service to set all switches to port 1 for antenna

sb2.orbit-lab.org

  1. set usrp address to "type=x3xx,addr=192.168.40.2"
  2. bring up usrp ethernet interface, set ip to 192.168.40.1/16

sb1.orbit-lab.org

  1. set usrp address to "type=b210"
  2. UE_rxgain: 120
  3. UE_txgain: 30
  4. UE_maxpower: 0
  5. eNB_att_tx: 40
  6. eNB_att_rx: 0

sb4.orbit-lab.org

  1. set usrp address to "type=b210"
  2. configure RF matrix for 60db of attenuation between eNB and UE node chosen
Note: See TracWiki for help on using the wiki.