wiki:Tutorials/4G5G/openairinterface

Version 7 (modified by msherman, 4 years ago) ( diff )

This tutorial contains instructions for running the openairinterface eNB and UE on various platforms.

Prerequisites

  1. Two nodes, with appropriate hardware, within RF range
  2. Currently supported: USRP x310, USRP 2974, USRP b210
  3. Load the image omf-baseline-oai-1804.ndz onto both nodes
  4. Turn the nodes on
  5. If graphical display is desired, enable x11 tunneling to console and then to 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
    

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.