OpenAirInterface 5G Training Florian Kaltenberger & Raymond Knopp Newcom# Summer School on Waveforms and Network Architectures for the IoT in 5G 15.9.2015, Eurecom, France Outline OpenAirInterface Overview – Features – Use cases – The OpenAirInterface 5G Software Alliance OpenAirInterface Software Architecture – Signal acquisition and transmission – Functional blocks and Interfaces – Some example procedures and data flows Lab sessions – – – – – – – – 15/09/2015 Scenario Installation Run eNB, connect UE, run iperf to measure TP Analyze the output of logs, scope, and VCD plots Analyze the spectrum usage using spectrum analyzer Modify scheduler Transmit secondary waveform Measure TP again OpenAir5GLab 2 OPENAIRINTERFACE OVERVIEW 15/09/2015 OpenAir5GLab 3 What is Openairinterface? Open-source software-based implementation of 4G LTE (Rel 10) – Spanning the full protocol stack of 3GPP standard E-UTRAN (eNB, partial UE) EPC (MME, S+P-GW, HSS) – Realtime RF and scalable emulation platforms – Targets EURECOM and National Instruments HW platforms (others in development) Objectives – Bring academia closer to complex real-world systems – Open-source tools to ensure a common R&D and prototyping framework for rapid proof-of-concept designs Other use cases – – – – – Interoperability with 3rd party components (UE, eNB, EPC) Matlab/Octave tools for non real-time experimentation Real-time channel sounding (EMOS) 802.11p Modem Unitary simulations 15/09/2015 OpenAir5GLab 4 Use cases of OAI I Classical 3GPP setup: – OAI EPC + OAI eNB <--> COTS UE – Commercial/3rd party EPC + OAI eNB <-->COTS UE – OAI EPC + Commercial/3rd party eNB <--> COTS UE 15/09/2015 OpenAir5GLab 5 Use cases of OAI II Non-3GPP setup: – OAI eNB <--> OAI UE 15/09/2015 OpenAir5GLab 6 Use cases of OAI III Simulation/Emulation (oaisim) – OAI eNB <--> OAI UE – OAI EPC + OAI eNB <--> OAI UE – Comercial/3rd party EPC + OAI eNB <--> OAI UE Unitary simulators – – – – – – – DLSCH simulator dlsim ULSCH simulator ulsim PUCCH simulator pucchsim PRACH simulator prachsim PDCCH simulator pdcchsim PBCH simulator pbchsim eMBMS simulator mbmssim Other uses – EMOS (real-time channel sounding) – octave (simple experimentation) 15/09/2015 OpenAir5GLab 7 OpenAirInterface Features IP packets AT commands MME Application Linux IP stack NAS RRC eNB Application RRC S1-MME NAS X2AP S1-U S1-MME S+P-GW Application S11 Abstraction S6a/Diameter GTP-U PDCP PDCP RLC RLC IP IP MAC MAC Ethernet Ethernet PHY PHY UEs SCTP UDP eNBs S1-U SCTP UDP MME + S+P-GW 3GPP layers Linux stack Control Plane Data Plane, IP packet Implements 4G LTE Rel10 Access Stratum (eNB & UE) and EPC (MME, S+P-GW, HSS) All the stack (incl. PHY) runs entirely on a PC in real-time operating system (RTAI, Xenomai, low-latency kernel) Works with ExpressMIMO (Eurecom) and USRP (Ettus/National Instruments) More detailed feature list here: https://twiki.eurecom.fr/twiki/bin/view/OpenAirInterface/OpenAirFeatures 15/09/2015 SGi OpenAir5GLab 8 Key Ingredients (How does OAI work) 1. Real-time extensions to Linux OS – – Today we rely on the lowlatency kernel provided by Ubuntu (since Ubuntu 14.04) In earlier Ubuntu versions RTAI was used 2. Real-time data acquisition to/from PC – – ExpressMIMO uses DMA to transfer signals in and out of PC memory without hogging CPU -> very efficient USRP transfers data over USB and therefore requires extra CPU time for (de-)packetization of signals 3. Highly optimized DSP routines running on Intel GPP – – – Exploiting vector processing (SIMD) 64-bit MMX 128-bit SSE2/3/4 256-bit AVX2 OAI features fastest FFT and Turbo decoder of its kind 4. Multi-threaded parallel processing 15/09/2015 OpenAir5GLab 9 Collaborative Web Tools www.openairinterface.org – New website will soon be released OpenAirInterface SVN Repositories – Core development is available through our SVN repository http://svn.eurecom.fr/openair4G/trunk – In transition to gitlab: https://gitlab.eurecom.fr/oai/openairinterface5g OpenAirInterface TWIKI – A TWIKI site for quick access by partners to our development via a collaborative HOW-TO – https://twiki.eurecom.fr/twiki/bin/view/OpenAirInterface/WebHome Mailing list – openair4G-devel@lists.eurecom.fr – Anyone can subscribe (send an email to sympa@lists.eurecom.fr with the subject "subscribe openair4G-devel firstname lastname“) 15/09/2015 OpenAir5GLab 10 5G THE OPENAIRINTERFACE 5G SOFTWARE ALLIANCE 15/09/2015 OpenAir5GLab 11 Next Steps for OAI Ensure a path 4G5G through open-source policy – Work with new carrier candidates now, short packet low-latency carriers, contention-based access – VRAN, MEC architectures – Rapidly-deployable EPC/eNB (with LTE or other backhaul) Become a reference implementation of Rel 13/14 5G Serious contributors from outside Eurecom “ready to use” for anybody on commodity hardware (PCs + National Instruments) More global adoption for innovation and research (Vendor labs, University Labs, etc.) common tool between industrial and academic research Business adoption in test market (Keysight) 15/09/2015 OpenAir5GLab 12 The OpenAirInterface Software Alliance Cellular systems are expected to converge from a proprietary and expensive HW/SW platforms towards an open SW platforms over commodity HW – Happened already for cloud service – Happened already for handsets – Happened already for 2G To foster the innovation in wireless world, there is a need for an open cellular ecosystem for 4G towards 5G 15/09/2015 OpenAir5GLab 13 Goals Make trusted environment – Contributors and users need to secure themselves – Clear open source rules – Any individual person or non-profit organization can become a member for free – Membership conditions for companies Increase quality & simplify access – Simple and well described binary build procedures for all the LTE components – Friendly to various RF systems (RRH, SmallCell, etc.) – Anybody can build a fully open-source 4G network comprising a couple of eNBs + EPC for less than 10K€ and 1 human week of effort 15/09/2015 OpenAir5GLab 14 Industrial Users Alcatel-Lucent Bell Labs (Paris, New Jersey, Stuttgart) – – – – – ChinaMobile CRAN Project (Beijing) – – – – Support for porting OAI software to Ettus USRP platforms (B210, X310) Roadmap for integration on PXIe high-end industrial platforms Air-Lynx (SME, Paris) – Building demonstrator with OAI software for CloudRAN proof-of-concept, live real-time deployment, 20 MHz TD-LTE OAI software on commodity computing equipmen t (IBM x86 servers) + commercial remote radio-heads Keysight China (ex Agilent): interop testing for China Mobile CRAN IBM China : parallelization architectures for China Mobile CRAN National Instruments / Ettus Research – – Running OAI systems (OAI eNB interconnected with ALU in-house EPC development) Contributions to core access-stratum software Integration with in-house CPRI-based solutions and commercial RRH VRAN Architectures 5G-waveforms (soon) Rapidly (and less rapidly)-deployable eNB/EPC Currently evaluating EURECOM HW and OAI eNB/EPC/UE for public-safety applications Software has been analyzed independently by Intel for maturity in CloudRAN context. 15/09/2015 OpenAir5GLab 15 Current status “Fonds de dotation” officially created Ongoing discussions with first round of strategic members First official board meeting expected in autumn License switch from GPLv3 to a “modified Apache” licensed ongoing – Will allow non-contaminating interfacing with proprietary HW and SW – Will allow contributions from industry that are patented 15/09/2015 OpenAir5GLab 16 OPENAIRINTERFACE HARDWARE AND SOFTWARE 15/09/2015 OpenAir5GLab 17 Hardware Targets for Openair4G ExpressMIMO2 – – – – Eurecom board, designed and maintained by EURECOM 1.5/5/10/20 MHz, FDD/TDD 4 channels (4x4 MIMO or 4 SISO Component Carriers) Total aggregate bandwidth: full duplex 64Msps (Corresponds to 4x5MHz, 2x10MHz, or 1x 20MHz full duplex) USRP B210/X300 – Commercial Ettus/National Instruments boards Platforms under development – – – – 15/09/2015 PXIe (National Instruments) Nutaq Novena + Myriad RF (Lime Microsystems) Blade RF (nuand) OpenAir5GLab 18 Express MIMO 2 RF RX (4 way) RF TX (4 way) PCI Express (1 or 4 way) Spartan 6 LX150T 12V from ATX power supply 4xLMS6002D RF ASICs GPIO for external RF control 250 MHz – 3.8 GHz 15/09/2015 OpenAir5GLab 19 Express MIMO 2 • Integrated baseband/RF PCI Express board for x86based software defined radio • Xilinx Spartan 6 FPGA • 4 RF chains based on LIME LMS6002D Semiconductor zero-IF RF chipsets • • • • • Carrier frequencies: 300 MHz – 3.8 GHz Bandwidth: 20MHz FDD or TDD operation ~10 dBm output power LTE RF compliance (UE, small-cell eNB) • Status: • more than 60 cards currently fabricated • used by many research institutes (academic and industrial) 15/09/2015 OpenAir5GLab 20 USRP B210 Designed by ETTUS (now part of NI) Analog Devices AD9361 RFIC Dual Channel Transceiver (70 MHz - 6GHz) Full duplex, MIMO (2 Tx & 2 Rx) operation with up to 56 MHz of real-time bandwidth (61.44MS/s quadrature) – Slightly less in our experiments Data acquisition over USB3 15/09/2015 OpenAir5GLab 21 Comparison USRP B210 ExpressMIMO2 Data acquisition USB: requires extra processing power PCI using DMA: no overhead for CPU MIMO and bandwidth capabilities 2x1 MIMO 20MHz or 2x2 MIMO 10MHz 4x4 MIMO 5 MHz, 2x2 MIMO 10Mhz, SISO 20MHz RF performance More sophisticated RF cleanup Simple RF calibration Frequency range 70MHz – 6GHz 300 MHz – 3.8GHz Price €1,130.00 EUR ~€2,000.00 EUR Duplexing FDD FDD or TDD Output power 10dBm 0dBm @ 2.6GHz 10dBm @ 700MHz Noise figure <8dB 10-15dB 15/09/2015 OpenAir5GLab 22 OAI software architecture 15/09/2015 OpenAir5GLab 23 L1/L2 block OAI follows 3GPP LTE architecture – Good knowledge of LTE is prerequisite to understand OAI Each block has its own data structure and functions Interfaces between most blocks are implemented as function calls Following interfaces are implemented using the Intertask Interface (ITTI) framework – RRC ↔ PDCP, – RRC ↔ S1AP, – PDCP ↔ S1AP L1/L2 thread instantiated multiple times – For each TX/RX subframe 15/09/2015 OpenAir5GLab 24 Master thread architecture (ExpressMIMO) ExpressMIMO (LEON) targets/ARCH/EXMIMO/ DEFS/pcie_interface.h Kernel Space PCIexpress lte-softmodem.c Linux driver (openair_rf.ko) targets/ARCH/EXMIMO/DRIVER/eurecom User Space L1/L2 thread 0 Master eNB thread (synchronization) C API targets/ARCH/EXMIMO/ USERSPACE/LIB Using real-time Linux extension (RTAI, Xenomai, lowlatency kernel) Octave API … L1/L2 thread N-1 Octave targets/ARCH/EXMIMO/USERSPACE/OCTAVE 15/09/2015 OpenAir5GLab 25 Master thread architecture (USRP) USRP lte-softmodem.c User Space L1/L2 thread 0 USB Master eNB thread (synchronization) C API UHD 15/09/2015 targets/ARCH/USRP/ USERSPACE/LIB Using real-time Linux extension (RTAI, Xenomai, lowlatency kernel) OpenAir5GLab … L1/L2 thread N-1 26 Example of real-time execution Include vcd plot here 15/09/2015 OpenAir5GLab 27 4G/5G co-existance experiments LAB SESSION 15/09/2015 OpenAir5GLab 28 Lab Scenario and Goal Experimentally study the impact of 5G waveforms on legacy 4G systems (replicating work in [1]) eNB1 Inter-eNB interference eNB2 5G TDD DL: OFDM UL: GFDM/ UFMC LTE FDD DL: OFDMA UL: SC-FDMA Frequency 1 Frequency 2 UE1 UE1 Co-channel interference reduction UEx Uses spectrum holes in UL (through sensing or pre-allocated) Kaltenberger, F.; Knopp, R.; Danneberg, M. & Festag, A. Experimental Analysis and Simulative Validation of Dynamic Spectrum Access for Coexistence of 4G and Future 5G Systems European Conference on Networks and Communications (EuCnC 2015), 2015 15/09/2015 OpenAir5GLab 29 Lab Setup (option 1) 4G system: OpenAirInterface software radio and USRP 5G system: emulated using a signal generator eNB+EPC (OAI) eNB2 Spectrum Analyzer 5G TDD DL: OFDM UL: GFDM/ UFMC LTE FDD DL: OFDMA UL: SC-FDMA UEx Signal generator Frequency 1 Frequency 2 15/09/2015 OpenAir5GLab 30 Lab Setup (option 2) 4G system: OpenAirInterface software radio and USRP 5G system: emulated using a signal generator eNB+EPC (OAI) eNB2 Spectrum Analyzer 5G TDD DL: OFDM UL: GFDM/ UFMC LTE FDD DL: OFDMA UL: SC-FDMA 5G UE (OAI) Frequency 1 Frequency 2 15/09/2015 OpenAir5GLab 31 Outline OpenAirInterface Overview – Features – Use cases – The OpenAirInterface 5G Software Alliance OpenAirInterface Software Architecture – Signal acquisition and transmission – Functional blocks and Interfaces – Some example procedures and data flows Lab sessions – – – – – – – – 15/09/2015 Scenario, setup and goals Installation of OpenAirInterface Run eNB, connect UE, run iperf to measure throughput Analyze the output of logs, scope, and VCD plots Analyze the spectrum usage using spectrum analyzer Analyze and modify eNB scheduler Generate and transmit secondary waveform Measure impact of secondary waveform on throughput of primary system OpenAir5GLab 32 Useful information Lab PC – login = computer name – Password = “linux” If not already installed in ~/openairinterface5G – Get source from our gitlab server as described in https://twiki.eurecom.fr/twiki/bin/view/OpenAirInterface/GetSourc es Switch to branch and update – cd openairinterface5g – git checkout feature-23-ufmc – git pull – This branch is the same as the master but with some additional (but unfinished) features for UFMC 15/09/2015 OpenAir5GLab 33 OpenAirInterface5G directories cmake_targets – New directory for building all the targets – Contains “mother” build_oai script targets – Hardware specific code (drivers, tools, etc) – lte-softmodem, oaisim openair1 – Basic DSP routines for implementing subset of LTE specifications under x86 (36.211, 36.212, 36.213 3GPP specifications) – Channel simulation, sounding and PHY abstraction software, openair2 – MAC/RLC/PDCP/RRC openair3 – Pretty much unused openair-cn – EPC related parts of the eNB: S1AP, X2AP 15/09/2015 OpenAir5GLab 34 Compiling and running Initialize environment variables – cd openairinterface5g – source oaienv Compile lte-softmodem – cd cmake_targets – ./build_oai –w USRP –-eNB –x -V This creates – ~/openairinterface5g/targets/bin/lte-softmodem.Rel10 Configuration files – targets/PROJECTS/GENERIC-LTE-EPC/CONF/ – Open enb.band7.tm1.50PRB.usrpb210.conf and change o downlink_frequency=2660000000 o mme_ip_address=192.168.12.171 o S1-MME and S1-U interfaces should be the ones of your PC Run using – sudo ./lte-softmodem.Rel10 –O <file.conf> -d –V Start the UE! 15/09/2015 OpenAir5GLab 35 Debug tools Spectrum Analyzer (UL and DL) – Logs – – Analyze real-time behavior gtkwave -a ~/openairinterface5g/targets/RT/USER/eNB_usrp.gtk Wireshark – – eNB measurements (noise, signal power, etc) UE feedback (CQI, etc.) UL and DL HARQ statistics VCD file – – signals in time and frequency domain Constellation plots of PUSCH, PUCCH Stats window – – – Verbosity can be adjusted in config file Shows L2/L3 events PHY scope – – Shows RF performance and signal integrity To analyze messages over S1 interface Can also analyze MAC, RLC, PDCP, RRC if enables (see twiki for details) Iperf/speedtest – 15/09/2015 Shows throughout for UDP and IP OpenAir5GLab 36 Back to our scenario… Transmit secondary waveform in unused UL resources Make sure the scheduler does not schedule them 15/09/2015 OpenAir5GLab 37 The OAI UL scheduler Check function schedule_ulsch_rnti in file openair2/LAYER2/MAC/eNB_scheduler_ulsch.c – Scheduler will always start scheduling at RB1 (RB0 and RB24 are reserved for PUCCH) – Scheduler can only schedule N = 2a3b5c RBs per UE – for 5MHz: Nmax = 20; for 10MHz: Nmax = 48 – for 5MHz, RBs 21,22,23 are free as long as there is only 1 UE connected – for 10MHz, we need to reduce Nmax to 45 to keep RBs 46,47,48 free – modify line 821 of eNB_scheduler_ulsch.c accordingly – use this space for secondary waveform 15/09/2015 OpenAir5GLab 38 Secondary waveforms OFDM, GFDM: – may be generated with GFDMlib provided by TU-Dresden [1] SCFDMA, UFMC: – may be generated with OpenAirInterface, branch feature-23ufmc – UFMC is still in a very early development and only signal generation will work – Signals can be generated either offline with ufmcsim or in realtime with lte-softmodem – Folder also contains tool to convert to file for signal generator (mat2wv) – Build ufmcsim using ./build_oai --phy_simulators – Run using ./ufmcsim -a -s 12 -n 1 -m 9 -B 50 -r 3 -f 0 -u [1] https://cloudstore.zih.tu-dresden.de/public.php?service=files&t=4073588ff321c26cabf8137c6bc9a61a 15/09/2015 OpenAir5GLab 39 First experiment: signal generator For the first experiment we will use pre-generated waveforms – Can be downloaded from http://www.eurecom.fr/~kaltenbe/5glab – Source can be found at https://gitlab.eurecom.fr/florian.kaltenberger/5glab Load the waveforms in the signal generator Run a speedtest (or similar) on the UE Adjust signal power until degradation can be seen Take screenshots of the UL spectrum Measure throughput as a function of TX power of secondary waveform 15/09/2015 OpenAir5GLab 40 Second experiment: Use OAI UE Compile lte-softmodem without S1 interface – full integration with UE NAS not yet available – ./build_oai –w USRP --eNB –x -V --noS1 This creates – targets/bin/lte-softmodem-nos1.Rel10 UE is also launched using lte-softmodem – . init_nas_nos1 UE – ./lte-softmodem-nos1-Rel10 –U –C 2660000000 -r50 -d -V --ue-scan-carrier --ue-txgain 90 --ue-rxgain 110 --no-L2-connect – This will make the UE synchronize to the eNB but UE will not try to connect – Add option -u to make the UE transmit UFMC signal Repeat the same procedure as in experiment 1! 15/09/2015 OpenAir5GLab 41