61
OpenAirInterface Overview and Lab Session 1

OpenAirInterface Overview and Lab Session 1. Provides open-source (hardware and software) wireless technology platforms –target

Embed Size (px)

Citation preview

Page 1: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

OpenAirInterface Overview and

Lab Session 1

Page 2: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

www.openairinterface.org

Provides open-source (hardware and software) wireless technology platforms

– target innovation in air-interface technologies through experimentation

We rely on the help of– Publicly-funded research initiatives (ANR,ICT,CELTIC)– Direct contracts with industrial partners– Widespread collaboration with a network of partners using open-

source development and tools LINUX/RTAI based SW development for PCs LEON3/GRLIB-based HW and eCos/MutexH-based SW

development for FPGA targets LINUX networking environment

– Experimental Licenses from ARCEP (French Regulator) for medium-power outdoor network deployments

1.9 GHz TDD, 5 MHz channel bandwidth 2.6 GHz FDD (two channels), 20 MHz channel bandwidth 800 MHz FDD (two channels) : 10 MHz channel bandwidth

OpenAir4G Tutorial (openair1, Feb 2012)

Page 3: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

OpenAirInterface Development AreasOpenAirInterface Development Areas

OPENAIR1: Baseband/PHYAdvanced PHY (LTE), Propagation Measurement and

Modelling, Sensing and Localization Techniques, PHY Modeling Tools

OPENAIR0: Wireless Embedded System Design Agile RF design, Reconfigurable High-end Transceiver

Architectures, FPGA prototyping, Simulation Methodologies, Software development tools, low-power chip design

Cognitive Technologies Wideband RF,

Agile Spectrum Management, Interference Management and Control,Distributed/

Collaborative techniques, Spectrum Sensing,

Cognitive and Flexible Radio Architectures,

Ambient Networking

OPENAIR2: Medium-Access ProtocolsCellular topologies, single-frequency resource

allocation, cross-layer wideband scheduling, Mesh topologies, distributed resource control

OPENAIR3 : Wireless NetworkingAll-IP, Mobility Management, 802.21, Cellular/Mesh

Routing Protocols, Mesh Topology Management, Multimodal Radio Resource Management

OpenAir4G Tutorial (openair1, Feb 2012)

Page 4: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Collaborative Web ToolsCollaborative Web Tools

OpenAirInterface SVN Repositories– All development is available through www.openairinterface.org

’s SVN repository (openair4G) containing OPENAIR0 (open-source real-time HW/SW) OPENAIR1 (open-source real-time and offline SW) OPENAIR2 (open-source real-time and offline SW) OPENAIR3 (open-source Linux SW suite for cellular and

MESH networks) TARGETS : different top-level target designs (emulator,

RTAI, etc.)– Partners can access and contribute to our development

OpenAirInterface TWIKI– A TWIKI site for quick access by partners to our development

via a collaborative HOW-TO

Soon– Sourceforge distribution of stable code

OpenAir4G Tutorial (openair1, Feb 2012)

Page 5: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Equipment and SW

OpenAir4G Tutorial (openair1, Feb 2012)

Page 6: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Prototype Equipment TimelinePrototype Equipment Timeline

2003 2004 2005 2006 2007 2008

PLATON/RHODOS

CBMIMOI – V1

AgileRF/Express MIMO

Cellular Systems

Pure Software Radio

WCDMA-TDD

All-IPv4/v6

AdHoc/Mesh and Cellular Topologies

FPGA-SoC (Virtex 2)

2x2 OFDM(A) @ 2 GHz, 5MHz channels

Cellular (towards LTE)

Cellular, AdHoc and P2MP Topologies

FPGA SoC (Virtex 5)+ Interface for partner Processing Engines

Agile Tuning module (0.2 – 7 GHz)

Maximum Channel BW 20 MHz

OFDM(A)/WCDMA

2009 2010 2011

ExpressMIMO2

2012 2013

CBMIMOI – V2

OpenAir4G Tutorial (openair1, Feb 2012)

Planned replacement for CBMIMO1

Page 7: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Software RoadmapSoftware Roadmap

2003 2004 2005 2006 2007 2008

WIRELESS3G4FREE

OpenAirInterface (WIDENS/CHORIST)

OpenAir4G

TD-SCDMA SDR

IPv6 interconnect

No longer supported

AdHoc/Mesh and Cellular Topologies

In-house MIMO-OFDMA TDD waveform (WiMAX 2004 like)

Distributed Signal Processing and Mesh-Topology functions

(L2.5 relaying)

LTE compliant waveform

Mesh extensions from WIDENS/CHORIST

Partial 3GPP protocol stack (openair2)

2009 2010 2011

OpenAir.11p

2012 2013

OpenAir4G Tutorial (openair1, Feb 2012)

OpenAirDAB

Page 8: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

CardBus MIMO 1CardBus MIMO 1

Current platform for application experimentation and test network deployments– 5 MHz channel

bandwidth TDD@1900 MHz

– PCMCIA-CardBus form-factor

– 2x2 MIMO-OFDMA, LTE waveform

– Two-way communications

– Full Software Radio under RTAI/Linux on x86 architectures

OpenAir4G Tutorial (openair1, Feb 2012)

Page 9: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Current CBMIMO1 V2 DesignsCurrent CBMIMO1 V2 Designs

CBMIMO1 provides– A Leon3-based embedded processing engine on a Xilinx XC2V3000 FPGA

52 MHz processor speed 64 kByte embedded memory (16 Mbyte SDRAM not used currently) DMA engine for PCI/CardBus burst transfers

– AD9862 acquisition engine LTE TDD/FDD framing (7.68 Ms/s) LTE 5 MHz baseband filtering (TX) Digital Frequency-correction LTE FFT (TX, 512-point), regular cyclic-prefix processing (TX/RX) – 2009 firmware

Note: For LTE, limited to OFDMA transmission formats (i.e. no SC-FDMA, true SRS, etc.) and extended prefix mode

Generic SDR TX – 2011 firmware No limitations for LTE, except dual-antenna TX on some PCI configurations (laptops) Will not work properly in TX direction with off-the-shelf CardBus<->ExpressCard adapters

because of insufficient upstream reads

– RF control (gains, frequencies, timing of RF)

CBMIMO1 allows for 2x2 MIMO operation in either FDD (with external RF) or TDD

– Embedded software handles LTE framing and transfers of signals to/from PC memory along with synchronization events for RTAI scheduling

– PC configures CBMIMO1 with memory regions for signals and frame parameters on init and card does the rest

– Special frame resynchronization for two-way operation is provided (timing drift adjustments)

OpenAir4G Tutorial (openair1, Feb 2012)

Page 10: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

ExpressMIMO Baseband Prototyping ExpressMIMO Baseband Prototyping BoardBoard

FPGA-based baseband platform– One Virtex 5 LX330, One Virtex 5 LX110T (PCIexpress)– 4x AD9832 (dual 14-bit 128 Ms/s D/A, dual 12-bit 64 A/D

64Ms/s) Up to 8x8 MIMO capacity with low-IF, 4x4 I/Q

Baseband– Low-jitter clock generation for converters– 128 Mbytes/133 MHz DDR (LX110T)– 1-2 Gbytes DDR2 (LX330)– CompactFlash (SystemACE), JTAG Configuration– PCIexpress 8-way interconnect (4-way in practice)– LVDS expansion interface (daughter boards)– RF interface (micro-coax and parallel I/O for Microwire

busses)OpenAir4G Tutorial (openair1, Feb 2012)

Page 11: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

ExpressMIMO SoC Target (cont’d)ExpressMIMO SoC Target (cont’d)

OpenAir4G Tutorial (openair1, Feb 2012)

Page 12: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

ExpressMIMO/ExpressMIMO2 ExpressMIMO/ExpressMIMO2 Application DevelopmentApplication Development

A software application (MODEM + MAC) is a C program running on a micro-controller (LEON3) with HW API for DSP

– SW library is available (libembb), developped and maintained by LabSoC, TelecomParisTech (openair0)

Same approach as x86 SDR (CBMIMO1) but on an embedded system

– More difficult to validate functionality -> Software models for HW required

Current testcases– DAB/DMB (MODEM implementation by TUM/BMW)– OpenAir.11p : full PHY and multicast/broadcast component of MAC– Dual-mode receiver (i.e. both MODEMS share the same HW, two threads

in SW)

Next step– Port of OpenAir4G to ExpressMIMO

Training – Acropolis Winter School 2011 (OAI2)

OpenAir4G Tutorial (openair1, Feb 2012)

Page 13: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

ExpressMIMO2 PlatformExpressMIMO2 Platform

Recall– CBMIMO1 platform : cheap, fixed band, 5 MHz channels, 3G EVM (RF)

characteristics (2 bits/s/Hz limit), SDR/x86, good for networking experiments, many fabricated for EURECOM and partners

– ExpressMIMO + AgileRF : very expensive, arbitrary band, 20 MHz channels, SDR/MPSoC, good for architecture exploration, few fabricated for internal use only

Objectives for new platform– Low-cost of CBMIMO1 (<2k€ for baseband board)– Networking experiments (tens of nodes)– As frequency agile as possible (for multimodal operation and CR/DSA

experiments) but not total flexibility like AgileRF (low cost)– High performance RF (LTE compliant performance) for state-of-the-art

MODEM design– Interconnection possibilities with high-power RF for basestation

deployment– Optimize partition of x86 and FPGA DSP for rapid-prototyping

OpenAir4G Tutorial (openair1, Feb 2012)

Page 14: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

ElementsElements

Baseband/RF engine (first prototypes imminent)– Spartan 6 LX150T FPGA (PCIexpress like ExpressMIMO)

Derived from Xilinx/Avnet evaluation board (but smaller, medium-sized PCIe format)

Used for FFT and Turbo/Viterbi decoders (key processing bottlenecks)

Control of RF and acquisition from converters– 4 LIME Semiconductor zero-IF RF chipsets

TX, RX and A/D, D/A on single-chip (1.5cm x 1.5cm) 300 MHz – 3.8 GHz tuning bandwidth FDD or TDD operation LTE UE, RN RF compliance (EVM), even better (this is really

good) 0 dBm output power

OpenAir4G Tutorial (openair1, Feb 2012)

Page 15: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

ElementsElements

OpenAir4G Tutorial (openair1, Feb 2012)

Baseband/RF board

Spartan 6

Transceiver 1LMS6002D

Transceiver 2LMS6002D

Transceiver 3LMS6002D

Transceiver 4LMS6002D

Low band (0.3-3.8 Ghz)or High band (3.8-6.5 Ghz)

selection 1

Low band (0.3-3.8 Ghz)or High band (3.8-6.5 Ghz)

selection 2

Low band (0.3-3.8 Ghz)or High band (3.8-6.5 Ghz)

selection 3

Low band (0.3-3.8 Ghz)or High band (3.8-6.5 Ghz)

selection 4

RF front end control connector(40 pins)

TX1

TX2

TX3

TX4

PCI-E

8 pin coaxconnector

RF front end power supply connector

Synchronisation connector

RX1

RX2

RX3

RX4

Lime debug connectorFMC HPC connector

Page 16: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

ElementsElements

PC– PC runs RTOS (RTAI) like CBMIMO1

MAC + remainder of PHY (low-complexity components) Linux kernel network interface Low-end x86, embedded x86

RF front-ends (PA/LNA, duplexing, filtering) – External boards developped by InsightSIP (local company)– Extra frequency transposition to go to 4-6 GHz– 21 dBm PAs (5-6 GHz, 2 GHz, UHF)– FDD with standard Duplexer solution for 2 GHz– TDD with tunable filters (Hittite) and TX/RX switch for all other

bands (focus on 3.5 GHz, 5-6 GHz, 1.9 GHz)– Existing EURECOM basestation front-ends (1.9 GHz, 2.6 GHz

and UHF)

OpenAir4G Tutorial (openair1, Feb 2012)

Page 17: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

OpenAir4G MODEM

OpenAir4G Tutorial (openair1, Feb 2012)

Page 18: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

PurposePurpose

Develop an open-source baseband implementation of a subset of LTE Release-8/9 on top of OpenAirInterface.org SW architecture and HW demonstrators

Goals– Representative of LTE access-stratum

Full compliance of LTE frame (normal and extended prefix) Full Downlink shared channel compliance Support for a subset of transmission modes (2x2 operation)

Modes 1,2,4,5,6 (Mode 3 to be studied for inclusion) Support for up to 3 sectors in eNB

– Useful for measurement campaigns– Useful as starting point for research-oriented extensions (to

justifiably claim potential impact on LTE-A)– Provide realistic (and rapid) LTE simulation environment for

PHY/MAC (OAI3 lab session)OpenAir4G Tutorial (openair1, Feb 2012)

Page 19: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

OpenAirLTE PHY/MAC Protocol Stack OpenAirLTE PHY/MAC Protocol Stack (partial 3GPP, openair1, openair2)(partial 3GPP, openair1, openair2)

Openair13GPP Compliance (v8.6)

36-211,36-212,36-213

3GPP Compliance36-321 (v 8.6)

3GPP Compliance36-322 Rel-9

PDCP is an empty box

Linux networking device(IPv4/IPv6, classification/routing

Services for DRB)

OpenAir4G Tutorial (openair1, Feb 2012)

36-331ASN.1 messagesComplianceSubset of LTE-onlyprocedures

Page 20: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Current Status (LTE/LTE-A)Current Status (LTE/LTE-A)

PHY (36.211,36.212,36.213)– LTE softmodem for 5 MHz (1.5, 10 + 20 too, but not completely functional yet)

Subset of 36-211,36-212 and 36-213 specifications Mode 1, Mode 2 and Mode 6 support Enhanced-Mode 5 and Mode 4 under integration (SAMURAI)

– Missing elements (the rest is largely supported) User-selected feedback (not planned) Modes 3,7 (not planned) Rel-9/10 enhancements (Carrier Aggregation, Modes 8,9) under

integration

MAC (36.321)– Full random-access procedure, Scheduling Request, Buffer Status

Reporting– eNB scheduler is incomplete (to be built per application)– UE Power headroom under integration

RLC (36.322)– Complete UM/AM implementation, SRB interfaces with RRC for the

momentOpenAir4G Tutorial (openair1, Feb 2012)

Page 21: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Current StatusCurrent Status

PDCP (36.323)– Currently just provides DRB interface for linux networking device– No security and compressions features– New implementation under integration (PDCP headers, SRB interfaces,

opensource ROHC integration)

RRC (36.331)– Two separate actions, RRC LITE and Cellular– LITE

is LTE only, with ASN.1 messages (asn1c C code generator) and subset of LTE RRC procedures (RRCConnectionRequest/Setup,ReconfigurationRequest)

Empty security context establishment will be added Currently integrating measurement reporting and MobilityControlInfo

(handover) Extendable for Mesh networks (LOLA) No SAE NAS support currently, but could be added …

– Cellular Inherits RRC from W3G4Free (IP/UMTS) Automatic code generation using Esterel Studio “hand”-compressed messages and research-oriented NAS extensions for IPv6

interconnect (QoS and mobility management)

OpenAir4G Tutorial (openair1, Feb 2012)

Page 22: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

OpenAir4G Lab Session 1

OpenAir4G Tutorial (openair1, Feb 2012)

Page 23: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

ObjectivesObjectives

Familiarization of OpenAir4G Development Environment through a simple example– Insertion of kernel modules for CBMIMO1/ExpressMIMO

hardware– Control of HW with OCTAVE (signal acquisition)– Basic DSP example

LTE Initial synchronization– Control of HW with user-space C programs (signal

acquisition) using OpenAir4G x86-based DSP– Basic principles of Real-time operation under RTAI with

CBMIMO1

OpenAir4G Tutorial (openair1, Feb 2012)

Page 24: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

DirectoriesDirectories

targets– Specific SW targets (SIMU,RTAI) for instantiating

OpenAir4G components

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 (not for this lab session)– MAC/RLC/PDCP/RRC

openair3 (not for this lab session)– L3 IP-based Networking elements and applications

OpenAir4G Tutorial (openair1, Feb 2012)

Page 25: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Compiling and Loading the kernel Compiling and Loading the kernel modulesmodules

Start from $OPENAIR1_DIR

Kernel modules for CBMIMO1 and ExpressMIMO are made as– make oai_user.ko (ExpressMIMO)– make openair_rf_cbmimo1_softmodem.ko OPENAIR2=0 (CBMIMO1)

This creates one module (as well as other things …)– openair_rf.ko

OpenAir4G Tutorial (openair1, Feb 2012)

•Interfaces for openair1 running in user-space•PCI/PCIe driver for CBMIMO1/ExpressMIMO•RTAI threading interfaces•LINUX character device interfaces (open,close,ioctl,mmap)

Page 26: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Compiling and Loading the kernel Compiling and Loading the kernel modulesmodules

Loading can be done with scripts found in $OPENAIR1_DIR– Try

make install_oai_user Make install_cbmimo1_softmodem OPENAIR2=0

– sudo (if not root) because insmod is needed (do cat start_rf.sh)

– The module should now be attached to the kernel (do lsmod) and the leds on CBMIMO1 should be moving (ExpressMIMO nothing …)

Identifying the HW– To see that the HW is identified by Linux you can do lspci and you

should see either “European Space Agency …” which is the identifier for the GRLIB

(Gaisler) embedded system in CBMIMO1 “Xilinx Corporation …” which is the identifier for the Xilinx PCIe

endpoint on ExpressMIMO– To see that the HW is identified by the openair_rf driver do dmesg and

you should see traces of one of the two cards

OpenAir4G Tutorial (openair1, Feb 2012)

Page 27: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

PC Environment at this pointPC Environment at this point

SW in the PC looks (looked!) like

OpenAir4G Tutorial (openair1, Feb 2012)

DAQ +

RF

CardBus PCI

Linux Kernel (2.6)

Real-time Kernel

(RTAI 3.6)

User Application

User Space Real-time Space

Kernel Space

RT PHY Inner MODEM

MAC/RLC/PDCP/RRC

Decoding Thread

Decoding Thread

/dev/openair0 char device

Linux char device interface for control / non-real-time acquisition and generation

Page 28: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

PC Environment at this pointPC Environment at this point

SW in the PC looks like

OpenAir4G Tutorial (openair1, Feb 2012)

DAQ +

RF

CardBus PCI

Linux Kernel (2.6)

Real-time Kernel

(RTAI 3.6)

User Application

User Space Real-time Space

Kernel Space

RT PHY Inner MODEM

MAC/RLC/PDCP/RRC

Decoding Thread

Decoding Thread

/dev/openair0 char device

Linux char device interface for control / non-real-time acquisition and generation

LXRT (user-space real-time)

Page 29: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

User-space applicationsUser-space applications

Dialogue with driver through– open/close (access device through fileops)– ioctl : basic instructions to control HW / RTAI– mmap : access shared memory buffer (signals,

measurement information, etc.)

Dialogue with RTAI threads through– RT-fifos (/dev/rtfXX)

Two methods– OCTAVE .oct files (like MATLAB .mex) with ioctl

interfaces for OCTAVE users (note: GPIB .oct files available too using libgpib to control measurement equipment, e.g. signal generator, spectrum analyzer)

– C/C++ programs

OpenAir4G Tutorial (openair1, Feb 2012)

Page 30: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Build an OCTAVE ApplicationBuild an OCTAVE Application

The OCTAVE scripts and .oct files are in– cd $OPENAIR1_DIR/USERSPACE_TOOLS/OCTAVE/CBMIMO1_TOOLS– To compile the .cc to .oct files (note: octave-headers needs to be installed), do make oarf OPENAIR_LTE=1 (and make gpib if you want gpib)

Examine rx_spec.m as an example (or rx_spec_exmimo.m)

OpenAir4G Tutorial (openair1, Feb 2012)

Page 31: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

OCTAVE exampleOCTAVE example

OpenAir4G Tutorial (openair1, Feb 2012)

dual_tx=0;oarf_config(0,1,dual_tx)

gpib_card=0; % first GPIB PCI card in the computergpib_device=28; % this is configured in the signal generator Utilities->Systemcables_loss_dB = 6; % we need to account for the power losspower_dBm = -95;

%gpib_send(gpib_card,gpib_device,['POW ' int2str(power_dBm+cables_loss_dB) 'dBm']);%gpib_send(gpib_card,gpib_device,'OUTP:STAT ON'); % activate output

oarf_set_calibrated_rx_gain(0); % turns off the AGCoarf_set_rx_gain(80,85,0,0);oarf_set_rx_rfmode(0);

s=oarf_get_frame(0);f = (7.68*(0:length(s(:,1))-1)/(length(s(:,1))))-3.84;spec0 = 20*log10(abs(fftshift(fft(s(:,1)))));spec1 = 20*log10(abs(fftshift(fft(s(:,2)))));

clfplot(f',spec0,'r',f',spec1,'b')axis([-3.84,3.84,40,160]);%gpib_send(gpib_card,gpib_device,'OUTP:STAT OFF'); % activate output legend('Antenna Port 0','Antenna Port 1');grid

Init card (freq 0, tdd, 1 TX antenna)

If GPIB is used

RF configuration

Get 10ms of signal from RX chains

Page 32: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

LTE Initial Synch ExampleLTE Initial Synch Example

Need a few basics in LTE DL Transmission (OFDM + QAM)– Frame formats– Synchronization signals

Primary Synchronization Signal (PSS) Secondary Synchronization Signal (SSS) Physical Broadcast Channel (PBCH) Cell-specific Reference Signals (CSRS)

OpenAir4G Tutorial (openair1, Feb 2012)

Page 33: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Resource blocksResource blocks

LTE defines the notion of a resource block which represents the minimal scheduling resource for both uplink and downlink transmissions

A physical resource block(PRB) corresponds to 180 kHz of spectrum

OpenAir4G Tutorial (openair1, Feb 2012)

Page 34: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Common PRB FormatsCommon PRB Formats

PRBs are mapped onto contiguous OFDMA/SC-FDMA symbols in the time-domain (6 or 7)

Each PRB is chosen to be equivalent to 12 (15 kHz spacing) sub-carriers of an OFDMA symbol in the frequency-domain

– A 7.5kHz spacing version exists with 24 carriers per sub (insufficiently specified)

Because of a common PRB size over different channel bandwidths, the system scales naturally over different bandwidths

– UEs determines cell bandwidth during initial acquisition and can be any of above

OpenAir4G Tutorial (openair1, Feb 2012)

Channel Bandwidth (MHz)

NRBDL/NRB

UL Typical IDFT size Number of Non-Zero Sub-carriers (REs)

1.25 6 128 72

5 25 512 300

10 50 1024 600

15 75 1024 or 2048 900

20 100 2048 1200

Page 35: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

OFDMA/SC-FDMA MappingOFDMA/SC-FDMA Mapping

OFDMA/SC-FDMA Sub-carriers are termed “Resource Elements” (RE)

DC carrier (DL) and high-frequencies are nulled– Spectral shaping and DC rejection for Zero-IF receivers– Half the bandwidth loss w.r.t. WCDMA (22%)

OpenAir4G Tutorial (openair1, Feb 2012)

Channel Bandwidth (MHz)

NRBDL/NRB

UL BandwidthExpansion

1.25 6 8%

5 25 11%

10 50 11%

15 75 11%

20 100 11%

Page 36: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Example: 300 REs, 25 RBs (5 MHz Example: 300 REs, 25 RBs (5 MHz channel) channel)

OpenAir4G Tutorial (openair1, Feb 2012)

PRB0PRB1PRB2PRB3PRB4PRB5PRB6PRB7PRB8PRB9PRB10PRB11PRB12PRB13PRB14PRB15PRB16PRB17PRB18PRB19PRB20PRB21PRB22PRB23PRB24

PRB13

PRB12

PRB11

“Normal” Cyclic Prefix Mode(7 symbols)

l=0 l=6

NSCRB

NRBDL/NRB

UL

NULsymb /NUL

symb

“Extended” Cyclic Prefix Mode(6 symbols)

Page 37: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Sub-frame and FrameSub-frame and Frame

OpenAir4G Tutorial (openair1, Feb 2012)

0 1 2 3 18 19

One frame = Tf =307200Ts = 10ms

One subframe

Tslot= 15360Ts=500s

FrequencyDomain

View

Time-domainView

Normal Prefix

Extended Prefix

83s

13.9s

71.3s 71.9s

4.69s 5.2s

Page 38: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

LTE UE Synchronization ProceduresLTE UE Synchronization Procedures

Cell Search comprises1. Timing and frequency synchronization with the cell using

the primary synchronization reference signal. This also gives the Cell ID group NID

(2) (0,1,2)

2. Cell ID NID(1) (0,…,167) and Frame type (FDD/TDD,

Normal/Extended Prefix) determination from secondary synchronization reference signals

3. Demodulation of PBCH (using NIDCell= 3NID

(1) + NID(2)) to receive

basic system information during steady-state reception1. NRB

DL (cell bandwidth)

2. PHICH-config (to allow PDCCH demodulation, for system information)

3. Frame number (8 bits from payload, 2 bits from redundancy version)

4. Antenna configuration (1,2,4 from CRC mask)

OpenAir4G Tutorial (openair1, Feb 2012)

Page 39: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Initial Timing/Frequency Acquisition Initial Timing/Frequency Acquisition (Synchronization Signals, FDD Normal CP)(Synchronization Signals, FDD Normal CP)

OpenAir4G Tutorial (openair1, Feb 2012)

Subframe 0 Subframe 1 Subframe 4 Subframe 5 Subframe 9

Primary (Y) and Secondary B) Synchronization Signals

(first half)

PBCH

Primary(Y) and Secondary(B)Synchronization Signals

(2nd half)

10 ms

Fre

qu

en

cy

(PR

Bs

)

Time(symbols)

Page 40: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Primary SynchronizationPrimary Synchronization

Zadoff-Chu root-of-unity sequence has excellent auto-correlation properties and is very tolerant to frequency-offsets

OpenAir4G Tutorial (openair1, Feb 2012)

Autocorrelation sequence

Real component(time-domain

u=25)

Imag component(time-domain,

u=25)

Page 41: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Primary Synchronization RXPrimary Synchronization RX

Correlation of 3 primary sequences (d*u(-n)) with received signal. Each eNB (or sector) has different sequence => Reuse pattern of 3 for different eNB or sectors (NID

(2))

OpenAir4G Tutorial (openair1, Feb 2012)

d*u(-n)r(n) ↓M ()2

Threshold

Decimating correlator + non-coherent thresholding Primary Purpose: Determine start of frame

Alternate purposes: Channel estimation for SSS/PBCH and frequency offset estimation

Implemented as Zadoff-Chu sequence of length 62 REs around DC (i.e. same resource block as PBCH, but only 62 out of 72 REs)

ReceivedFrame

Page 42: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Secondary SynchronizationSecondary Synchronization

Purpose: determine frame type and cell ID NID(1)

Implemented as BPSK-modulated interleaved sequence of two length-31 binary m-sequences (m=31) with cyclic shifts m0 and m1. and scrambled by the two different scrambling sequences– Results in 167 possible BPSK sequences for each of

subframe 0 and 5

The receiver must perform correlations with all 167 sequences and find the most likely transmitted sequence. It can use the output of the primary sequence correlation as a rough channel estimate to improve detection probability

Position relative to PSS allows for frame type determination

OpenAir4G Tutorial (openair1, Feb 2012)

Page 43: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Secondary Synchronization RXSecondary Synchronization RX

Hypothesis : one of 4 frame types TDD/FDD, normal/extended prefix => gives position in samples of SSS with respect to PSS detected in primary synchronization

Use channel estimate (partially coherent) from PSS and quantized uniform phase offset to compensate residual frequency offset (PSS/SSS not in same symbol) and amplitudes in SSS symbol

Correlate with 167 out of 167 * 3 sequences (167 per PSS NID

(2)) of length 62 in each of slots 0 and 10

Choose sequence which has highest coherent correlation

This has to be done with 2 different assumptions (subframe 0 or subframe 5 is first in RX buffer), or we just wait until we receive an RX frame in the correct order (i.e. when subframe 0 falls in the first 5 ms of the RX buffer)

OpenAir4G Tutorial (openair1, Feb 2012)

Page 44: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Secondary Synchronization RXSecondary Synchronization RX

OpenAir4G Tutorial (openair1, Feb 2012)

H*0 (k)

Rsss,0(k), k=0,...,62

X

D*sss,0,n(k)

X

e2j/N

=-3,…,3, N=8

XH*5 (k)

Rsss,5(k), k=0,...,62

X

D*sss,5,n(k)

X

Re

H*0 (k)=Dpss,0,u(k) Rpss,0*(k), k=0,...,62

H*5 (k)=Dpss,5,n(k) Rpss,5*(k), k=0,...,62

PSS-based channel estimates

Page 45: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Building the PSS/SSS Part FirstBuilding the PSS/SSS Part First

OCTAVE files for PSS generation can be found here– $OPENAIR1_DIR/PHY/LTE_REFSIG/primary_synch.m

OCTAVE files for SSS generation can be found here– $OPENAIR1_DIR/USERSPACE_TOOLS/OCTAVE/CBMIMO1_TOOLS/sss_gen.m

Start an editor and create a file based on rx_spec.m, in the same directory so you have the OpenAir4G .oct files

OpenAir4G Tutorial (openair1, Feb 2012)

Page 46: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

StepsSteps

Correlate received signal with time-domain PSS sequence and square (use conv and abs)

Search for peaks (both) separated by 38400 samples (5 ms @ 7.68 Ms/s)

Do above SSS procedure according to 4 potential SSS positions (assume extended prefix and FDD)– FDD/Normal CP : SSS is (512+40) 552 samples before PSS– FDD/Extended CP: SSS is (512 + 128) 640 samples before

PSS– TDD/Normal CP: SSS is (512+40+512+36+512+36) 1648

samples before PSS– TDD/Extended CP: SSS is (512+128+512+128+512+128)

1920 samples before PSSOpenAir4G Tutorial (openair1, Feb 2012)

Page 47: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

PBCH DetectionPBCH Detection

Detection of the PBCH requires the following steps1. Generation of the cell-specific reference signals based

on the cell ID derived from SSS detection2. Performing channel estimation for the 4 symbols of the

PBCH3. Extracting the PBCH reference elements4. Applying the conjugated channel estimates to the

received reference elements5. Channel decoding

OpenAir4G Tutorial (openair1, Feb 2012)

Page 48: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Cell-Specific Reference SignalsCell-Specific Reference Signals

OpenAir4G Tutorial (openair1, Feb 2012)

p={0},p={0,1} p={0,1,2,3}

p=0

p=1 (if active)

p=0

p=1

p=0

p=1 (if active)

Page 49: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Cell-Specific Reference SignalsCell-Specific Reference Signals

Pseudo-random QPSK OFDM symbols– Based on generic LTE Gold sequence– Different sequence for different cell IDs– Different in each symbol of sub-frame– Different in each sub-frame, but periodic across frames

(10ms)

Evenly spaced in subframe to allow for simple and efficient least-squares interpolation-based receivers– Between REs in frequency-domain– Across symbols in time-domain

OpenAir4G Tutorial (openair1, Feb 2012)

Page 50: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Channel Estimation in LTE (simple)Channel Estimation in LTE (simple)

OpenAir4G Tutorial (openair1, Feb 2012)

– Recall that receiver sees

– Must get channel estimate for channel compensation Estimation error

PRB0

NO pilots here

PRB1

)1()1()1(ˆ *0 RPH

)7()7()7()7( 0 ZHPR

)1()1()1()1( 0 ZHPR

)13()13()13()13( 0 ZHPR

)4()4()4()4( 1 ZHPR

)10()10()10()10( 1 ZHPR

)16()16()16()16( 1 ZHPR

)4()4()4(ˆ *1 RPH

)7()7()7(ˆ *0 RPH

)10()10()10(ˆ *1 RPH

)13()13()13(ˆ *0 RPH

)16()16()16(ˆ *1 RPH

)7(ˆ)6/1()1(ˆ)6/7()0(ˆ000 HHH Extrapolation

)7(ˆ)6/1()1(ˆ)6/5()2(ˆ000 HHH Interpolation

)10(ˆ)6/1()4(ˆ)6/7()3(ˆ111 HHH Extrapolation

)10(ˆ)6/1()4(ˆ)6/5()5(ˆ111 HHH Interpolation

Page 51: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Channel Estimation in LTE (simple) – Channel Estimation in LTE (simple) – cont’dcont’d The previous steps allow for determining the frequency

response (MIMO) on symbols where the pilots are located

For the remaining symbols, we perform time-interleaving across adjacent symbols with pilots

OpenAir4G Tutorial (openair1, Feb 2012)

)0(ˆ),0(ˆ10 HH )4(ˆ),4(ˆ

10 HH

)4(ˆ)4/1()0(ˆ)4/3()1(ˆiii HHH

)4(ˆ)2/1()0(ˆ)2/1()2(ˆiii HHH

)4(ˆ)4/3()0(ˆ)4/1()3(ˆiii HHH

Page 52: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Performing the Channel Estimation and Performing the Channel Estimation and Channel CompensationChannel Compensation

Use the supplied txsigF0.m file, which contains the transmit signal for the PBCH (normal prefix)

– This is usually recomputed in the receiver (we will examine the C version later)

Extract reference symbols (symbols 7 and 11) and perform the time/frequency interpolation

Apply (channel compensation) the channel estimate to the received resource elements and plot the constellation of the output

OpenAir4G Tutorial (openair1, Feb 2012)

H*0 (l,k)

RPBCH,0(l,k), k=0,...,72,l=7,8,9,10

X

Page 53: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

The rest …The rest …

OpenAir4G Tutorial (openair1, Feb 2012)

The rest we cannot do in OCTAVE (unless we implement all the channel decoding functions), but need to go to the OpenAir4G C implementation for

– Deinterleaving– Channel decoding– Descrambling

To see how this is done check out the following files– openair1/PHY/LTE_TRANSPORT/initial_sync.c– openair1/PHY/LTE_TRANSPORT/sss.c– openair1/PHY/LTE_TRANSPORT/pbch.c

Page 54: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Towards real-time operationTowards real-time operation

Real-time operation depends on two things– FPGA firmware– RTAI interfaces

Here we describe the functionality of the 2011 firmware (2009 is too confusing)

OpenAir4G Tutorial (openair1, Feb 2012)

Page 55: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Acquisition (Card side)Acquisition (Card side)

A/D 1

BUFFER1

A/D 2

BUFFER2

D/A 1

BUFFER3

D/A 2

BUFFER4

AddressControl

Logic andInterrupt

Generation

AMBA Bus (52 MHz/32bit)Block Interrupt Parameters

AMBA/PCIBridge

7.68 Mword/s

CardBus/PCI Bus (33 MHz/32bit)

52 Mword/s (Peak)

OpenAir4G Tutorial (openair1, Feb 2012)

Page 56: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Acquisition (AMBA)Acquisition (AMBA)

AMBA can burst at a peak rate of 52 MHz, very comfortable.

PCI DMA controller (GRPCI) on AMBA can’t do quite this but it’s close enough

Acquisition unit stores blocks (minimum 2) of a programmable size (<= 1Kbyte) and generates an interrupt to CPU at the end of each block. The CPU programs a 2 DMAs (one for each chain) AMBA->PCI (RX) or PCI->AMBA (TX)

TX and RX cannot occur at the same time (time-division duplex)

OpenAir4G Tutorial (openair1, Feb 2012)

Page 57: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Acquisition (AMBA)Acquisition (AMBA)

Block 0 Block 1 Block 2 Block 3 Block 0

AHB Interrupt

Input/Output

Block 3/1 Block 0/2 Block 1/3 Block 2/0 Block 3/1Data (AMBA)RX/TX

Block 3/1 Block 0/2 Block 1/3 Block 2/0 Block 3/1Data (PCI)RX/TX

•Blocks are 480 samples of signal (62.5 s)•A PCI interrupt is generated every slot (500 s) to trigger RTAI

OpenAir4G Tutorial (openair1, Feb 2012)

Page 58: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

PC Memory ViewPC Memory View

AMBA signal memory time-scale

PC signal memory time-

scale

62.5 s

10 ms

OpenAir4G Tutorial (openair1, Feb 2012)

Page 59: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

RTAI endRTAI end

RTAI receives an interrupt every slot– RT interrupt handler is served in less than 30 s (can be

measured!) with very high determinism

RT SW components (openair1/SCHED/sched_lte.c)– RT interrupt handler (slot_irq_handler())– Inner-modem thread (openair_thread())– Turbo-decoding thread (dlsch_thread()) (note: this is

deactivated in most recent “stable” version, to be reactivated!)

OpenAir4G Tutorial (openair1, Feb 2012)

Page 60: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Basic Ideas (for UE)Basic Ideas (for UE)

Slot_irq_handler is awoken every 500 us– Checks that interrupt source is CBMIMO1 (it can be sharing IRQ line with others

…)– Does some bookkeeping (counters, etc.)– Schedule openair_thread to wake up via cond_signal to user-space thread– Returns

Openair thread (LXRT user-space)– Waits for signal to wakeup via pthread_cond_wait– Checks mode of transceiver (idle, get frame, sensing, steady-state)– Invokes inner-modem DSP processing, quick channel decoding (control

information with turbo and convolutional code, PBCH, PDCCH, SI DLSCH, RA DLSCH) and schedules MAC layer processing

Decoding Thread– Invoked by openair_thread for high-throughput CRNTI DLSCH (later ULSCH)

decoding (decoding time > 0.5ms)– Make use of multi-core CPUs to parallelize inner-MODEM and channel decoding

(turbo-decoder) which operate on different time-scales– Multiple decoding threads will be considered in medium-term for higher

throughput

OpenAir4G Tutorial (openair1, Feb 2012)

Page 61: OpenAirInterface Overview and Lab Session 1.   Provides open-source (hardware and software) wireless technology platforms –target

Take a look at codeTake a look at code

openair1/SCHED/sched_lte_fw2011.c

OpenAir4G Tutorial (openair1, Feb 2012)