Giter Club home page Giter Club logo

openairinterface5g's Introduction

Note:

  • This oai has applied the patches provided by Open-cells, including patches for EPC and basic-simulators
  • The ansic eNB(openairinterface) and EPC(openair-cn) are different versions, the 2 versions are conflict.

Compiler first the eNB with:

(if you have installed ans1c during the installation of epc, run this uniquely for eNB's ans1c version:

tools/build_helper install_asn1c_from_source )

#source oaienv #./cmake_targets/build_oai --eNB -x -w USRP -t ETHERNET --> auto run eNB script auto_start_enb

then apply the patch for EPC

cd opencell-mods git apply

Then reinstall & compiler EPC

hss ... mme ... spgw ..

The gateway should be reconfigured in SPGW in this file "/usr/local/etc/oai/spgw.conf" change the gateway as your NIC --> auto run EPC script

II Basic simulator Find the README here: targets/ARCH/tcp_bridge/README.tcp_bridge_oai PS. do not need to " cd ../common/utils/T/tracer; make", which is for debug As we used the version of Opencells, we do not configure for export ENODEB=1, but

eg., UE, connecting with eNB IP export TCPBRIDGE=127.0.0.1

  1. Replace the "tcp_bridge_oai.c" file by the patch provided by Opencells:

./targets/ARCH/tcp_bridge/tcp_bridge_oai.c

Compile & install basic-simulator with dependencies:

./build_aoi --basic-simulator -I

This will generate 2 different projects for simulators, one for eNB, one for UE, under: cmake_targets/basic_simulator

for UE simulator: The UE conf file is here:

cp ../../../openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf ~ --> remember to configure it for the UE in EPC's database (eg. ) and then use conf2uedata to compile new sim carte, eg (run this under the .../cmake_targets/basic_simulator/ue ):

../../../targets/bin/conf2uedata -c ~/ue_systemX.conf -o . export TCPBRIDGE= sudo -E ./lte-uesoftmodem -C 2680000000 -r 25

for eNB simultator:

export TCPBRIDGE=eNB cd cmake_targets/basic_simulator/enb (this one changes the link which connects with eNB program) sudo -E ./lte-softmodem -O ../../../conf/enb.band7.tm1.25PRB.usrpb210.conf

install librdkafka

$git clone https://github.com/edenhill/librdkafka.git ./congirue ./make sudo make install

install libjsmn

$git clone https://github.com/kikos-kikikos/jsmn.git ./make sudo make install

metrics list:

  • The metrics started by "m_" is generated by agent for easing the monitoring.

eNodeB metrics:

m_enb_id* /*eNodeB Id */
m_timestamp_nano //timestamp
ue_nums //ue counter

UE metrics:

m_id;  //UE id generated by monitoring agent
crnti;               ///user id (rnti) of connected UEs
rrc_status;          // rrc status
harq_pid;            // harq pid
harq_round;          // harq rounf
rbs_used;            // total available number of PRBs for a new transmission
rbs_used_retx;       // total available number of PRBs for a retransmission
ncce_used;           // total nccc used for a new transmission: num control channel element
ncce_used_retx;      // total avilable nccc for a retransmission: num control channel element
dlsch_mcs1;          // mcs1 before the rate adaptaion
dlsch_mcs2;          /// Target mcs2 after rate-adaptation
TBS;                 //  current TBS with mcs2
total_rbs_used;      //  total rb used for a new transmission
total_rbs_used_retx; //  total rb used for retransmission
num_pdu_tx;          // TX num pkt
num_bytes_tx;        // TX num bytes
num_retransmission;  // num retransmission / harq
num_mac_sdu_tx;      // Number of received MAC SDU
sdu_length_tx;       // Length of SDU Got from LC DL
dlsch_bitrate;
total_dlsch_bitrate;
overhead_bytes;       /// headers+ CE +  padding bytes for a MAC PDU
total_overhead_bytes; /// headers+ CE +  padding bytes for a MAC PDU
avg_overhead_bytes;   /// headers+ CE +  padding bytes for a MAC PDU
total_sdu_bytes;      // MAC multiplexed payload
total_pdu_bytes;      // total MAC pdu bytes
total_num_pdus;       // total num pdu
Po_PUCCH_dBm;         // RX PUCCH1a/b power (dBm)
Po_PUCCH_update;      /// Indicator that Po_PUCCH has been updated by PHY
UL_rssi;              /// Uplink measured RSSI
ulsch_mcs1;           /// preassigned mcs after rate adaptation
ulsch_mcs2;           /// adjusted mcs
avg_pdu_idt;          /// estimated average pdu inter-departure time
avg_pdu_ps;           /// estimated average pdu size
aggregated_pdu_size;
aggregated_pdu_arrival;
ulsch_TBS; ///  uplink transport block size
total_ulsch_TBS;
num_retransmission_rx; ///  total rb used for a new uplink transmission
rbs_used_rx;           ///  total rb used for a new uplink transmission
rbs_used_retx_rx;      ///  total rb used for a new uplink retransmission
total_rbs_used_rx;     ///  total rb used for a new uplink transmission
normalized_rx_power;   /// normalized rx power
target_rx_power;       /// target rx power
num_pdu_rx;            /// num rx pdu
num_bytes_rx;          /// num bytes rx
num_errors_rx;         /// errors
overhead_bytes_rx;
total_overhead_bytes_rx; /// headers+ CE +  padding bytes for a MAC PDU
avg_overhead_bytes_rx;   /// headers+ CE +  padding bytes for a MAC PDU
ulsch_bitrate;
total_ulsch_bitrate;
pdu_bytes_rx;        ///  MAC pdu bytes
total_pdu_bytes_rx;  /// total MAC pdu bytes
total_num_pdus_rx;   /// total num pdutotal_num_errors_rx; /// num of error pdus
num_mac_sdu_rx;      // Number of error PDUS
sdu_length_rx;       // Length of SDU Got from LC UL - Size array can be refined
cqi_received;     // indicator that CQI was received on PUSCH when requested
dl_cqi;

openairinterface5g's People

Watchers

 avatar

Forkers

chenzhongfang

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.