Changes between Initial Version and Version 1 of Tutorials/4G5G/srslte


Ignore:
Timestamp:
Jul 16, 2020, 6:24:21 PM (4 years ago)
Author:
stojadin
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Tutorials/4G5G/srslte

    v1 v1  
     1[[Include(WikiToC)]]
     2
     3This tutorial contains instructions for running the openairinterface eNB and UE on various platforms.
     4It adapts the Eurecom tutorial at : https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/HowToConnectOAIENBWithOAIUEWithoutS1Interface
     5for the ORBIT and COSMOS testbeds.
     6
     7== Prerequisites ==
     81. Two nodes, with appropriate hardware, within RF range
     91. Currently supported: USRP x310, USRP 2974, USRP b210
     101. Load the image {{{tutorial-oai.ndz}}} onto both nodes
     111. Turn the nodes on
     121. If graphical display is desired, enable x11 tunneling to console and then to nodes
     131. ssh to the nodes
     14
     15== On node 1 ==
     161. run /opt/oaiscripts/build_oai.sh to build for the current hardware and kernel
     171. edit the file /opt/oaiscripts/run_enb.sh for the SDR in use, for example, set SDR IP addr and max gain
     181. run /opt/oaiscripts/run_enb.sh
     19
     20
     21Example script, change parameters as needed:
     22* run_enb.sh:
     23{{{#!shell
     24#! /bin/bash
     25#sdr_addrs takes standard uhd arguments, such as:
     26#"type=x300,addr=192.168.40.2"  #x310 over direct network
     27#"type=x300,resource=rio0"      #x310 over pcie
     28#"type=b210"                    #b210 over usb
     29#values for RUs.[0] override config file, must be set per usrp type
     30# -d enables xforms charts
     31
     32cd /opt/openairinterface5g
     33source oaienv
     34cd ./cmake_targets
     35./lte_build_oai/build/lte-softmodem \
     36-O $OPENAIR_HOME/ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf \
     37--nokrnmod 1 --noS1 --eNBs.[0].rrc_inactivity_threshold 0 \
     38--RUs.[0].att_tx 40 --RUs.[0].att_rx 0 \
     39--usrp-args "type=b200" \
     40-d
     41}}}
     42
     43== On Node 2 ==
     441. run /opt/oaiscripts/build_oai.sh to build for the current hardware and kernel
     451. edit the file /opt/oaiscripts/run_ue.sh for the SDR in use, for example, set SDR IP addr and max gain
     461. run /opt/oaiscripts/run_ue.sh
     47
     48Example script, change parameters as needed:
     49* run_ue.sh:
     50{{{#!shell
     51#! /bin/bash
     52#sdr_addrs takes standard uhd arguments, such as:
     53#"type=x300,addr=192.168.40.2"  #x310 over direct network
     54#"type=x300,resource=rio0"      #x310 over pcie
     55#"type=b210"                    #b210 over usb
     56#values for RUs.[0] override config file, must be set per usrp type
     57# -d enables xforms charts
     58
     59cd /opt/openairinterface5g
     60source oaienv
     61cd ./cmake_targets/lte_build_oai/build
     62./lte-uesoftmodem \
     63-C 2680000000 -r 25 \
     64--ue-scan-carrier --nokrnmod 1 --noS1 \
     65--ue-rxgain 120 --ue-txgain 30 --ue-max-power 0 \
     66--ue-nb-ant-tx 1 --ue-nb-ant-rx 1 \
     67--usrp-args "type=b200" \
     68-d
     69}}}
     70
     71== Once Both nodes are running ==
     72* if all is successfull, you shouuld see new interfaces on the two nodes, with addresses:
     73  * 10.0.1.1
     74  * 10.0.1.2
     75* you should be able to run ping, iperf, and so on
     76
     77
     78== Understanding xforms terms and plots ==
     79* Explanations from:
     80  * https://www.mathworks.com/help/lte/physical-channels.html
     81
     82* PBCH: physical broadcast channel
     83  * The PBCH carries part of the system information required for terminals to access the network
     84* PUSCH: physical uplink control channel
     85* PDCCH: physical downlink control channel
     86  * The PDCCH conveys control information, scheduling decisions for PDSCH reception, and for scheduling grants enabling transmission on the PUSCH.
     87* PUSCH: physical uplink shared channel
     88* PDSCH: physical downlink shared channel
     89  * The PDSCH carries user data and paging information to the terminal.
     90
     91== Calibration ==
     92* physical attenuation
     93* received signal at UE
     94* received signal at eNB
     95* pdsch constellation at UE
     96* pdsch constellation at eNB
     97
     98== Expected Performance ==
     99This depends on a number of factors, including:
     100* the total bandwidth (number of resource blocks)
     101  * 5mhz:25prb
     102  * 10mhz:50prb
     103  * 20mhz:100prb
     104* p(d/u)sch modulation:
     105  * qpsk
     106  * 16qam
     107  * 64qam
     108  * 256qam
     109* FDD vs TDD
     110* number of MIMO channels
     111* control vs data channel split
     112
     113For the default config file in this tutorial, it's:
     114* 1/1 non-mimo
     115* FDD band 7
     116* 5mhz/25PRB
     117* up to 256qam, depending on signal
     118* control / data split of (0.25/0.75?)
     119* so you can expect up to 19mbps downlink at 64qam, and 25mbps downlink at 256qam
     120
     121
     122== Specifics per domain ==
     123=== sb2.cosmos-lab.org ===
     1241. set usrp address to "type=x3xx,resource=rio0"
     1251. on eNB, set att_tx=70, att_rx=10
     1261. use RFSWITCH service to set all switches to port 1 for antenna
     127
     128=== sb2.orbit-lab.org ===
     1291. set usrp address to "type=x3xx,addr=192.168.40.2"
     1301. bring up usrp ethernet interface, set ip to 192.168.40.1/16
     131
     132=== sb1.orbit-lab.org ===
     1331. set usrp address to "type=b210"
     1341. UE_rxgain: 120
     1351. UE_txgain: 30
     1361. UE_maxpower: 0
     1371. eNB_att_tx: 40
     1381. eNB_att_rx: 0
     139
     140
     141=== sb4.orbit-lab.org ===
     1421. set usrp address to "type=b210"
     1431. configure RF matrix for 60db of attenuation between eNB and UE node chosen