OpenAirInterface Overview and Lab Session 1.ppt

Document Sample
OpenAirInterface Overview and Lab Session 1.ppt Powered By Docstoc
					OpenAirInterface Overview and
       Lab Session 1
§Provides open-source (hardware and software) wireless technology
                                                  through experimentation
   – target innovation in air-interface technologies
§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
     development and tools
      hLINUX/RTAI based SW development for PCs
      hLEON3/GRLIB-based HW and eCos/MutexH-based SW
         development for FPGA targets
      hLINUX networking environment
   – Experimental Licenses from ARCEP (French Regulator) for medium-
     power outdoor network deployments
      h1.9 GHz TDD, 5 MHz channel bandwidth
      h2.6 GHz FDD (two channels), 20 MHz channel bandwidth
      h800 MHz FDD (two channels) : 10 MHz channel bandwidth

                     OpenAir4G Tutorial (openair1, Feb 2012)
OpenAirInterface Development Areas

                                       OPENAIR3 : Wireless Networking
                          All-IP, Mobility Management, 802.21, Cellular/Mesh Routing
                          Protocols, Mesh Topology Management, Multimodal Radio
                                            Resource Management
    Wideband RF,
    Agile Spectrum
                                    OPENAIR2: Medium-Access Protocols
                           Cellular topologies, single-frequency resource allocation,
                             cross-layer wideband scheduling, Mesh topologies,
   Management and
                                          distributed resource control
                                         OPENAIR1: Baseband/PHY
  rative techniques,
                             Advanced PHY (LTE), Propagation Measurement and
  Spectrum Sensing,
                             Modelling, Sensing and Localization Techniques, PHY
    Cognitive and
                                               Modeling Tools
    Flexible Radio
                             OPENAIR0: Wireless Embedded System Design
                           Agile RF design, Reconfigurable High-end Transceiver
                         Architectures, FPGA prototyping, Simulation Methodologies,
                             Software development tools, low-power chip design

                        OpenAir4G Tutorial (openair1, Feb 2012)
Collaborative Web Tools

§ OpenAirInterface SVN Repositories
   – All development is available through                      ’s
     repository (openair4G) containing
       hOPENAIR0 (open-source real-time HW/SW)
       hOPENAIR1 (open-source real-time and offline SW)
       hOPENAIR2 (open-source real-time and offline SW)
       hOPENAIR3 (open-source Linux SW suite for cellular and MESH
       hTARGETS : 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)
Equipment and SW

  OpenAir4G Tutorial (openair1, Feb 2012)
    Prototype Equipment Timeline                                                   Planned replacement
                                                                                       for CBMIMO1

                                                              AgileRF/Express MIMO
                           CBMIMOI – V1                                   CBMIMOI – V2
 2003     2004      2005     2006      2007       2008        2009        2010   2011   2012    2013

                                                                             Cellular, AdHoc and P2MP
                              AdHoc/Mesh and Cellular                      FPGA SoC (Virtex 5)+ Interface
                                   Topologies                              for partner Processing Engines
                               FPGA-SoC (Virtex 2)                          Agile Tuning module (0.2 – 7
                            2x2 OFDM(A) @ 2 GHz, 5MHz                                  GHz)
 Cellular Systems
                                    channels                               Maximum Channel BW 20 MHz
Pure Software Radio
                               Cellular (towards LTE)                            OFDM(A)/WCDMA

                                OpenAir4G Tutorial (openair1, Feb 2012)
   Software Roadmap
                      OpenAirInterface (WIDENS/CHORIST)
     2003     2004    2005     2006        2007        2008        2009   2010   2011 2012 2013

                                                                           LTE compliant waveform
                                                                            Mesh extensions from
                             AdHoc/Mesh and Cellular                         WIDENS/CHORIST
                                                                          Partial 3GPP protocol stack
                         In-house MIMO-OFDMA TDD                                   (openair2)
                          waveform (WiMAX 2004 like)
                       Distributed Signal Processing and
 IPv6 interconnect      Mesh-Topology functions (L2.5
No longer supported

                               OpenAir4G Tutorial (openair1, Feb 2012)
CardBus MIMO 1

§ Current platform for
  experimentation and test
  network deployments
   – 5 MHz channel bandwidth
     TDD@1900 MHz
   – PCMCIA-CardBus form-
   – 2x2 MIMO-OFDMA, LTE
   – Two-way communications
   – Full Software Radio under
     RTAI/Linux on x86

                    OpenAir4G Tutorial (openair1, Feb 2012)
Current CBMIMO1 V2 Designs

§   CBMIMO1 provides
     –   A Leon3-based embedded processing engine on a Xilinx XC2V3000 FPGA
           h 52 MHz processor speed
           h 64 kByte embedded memory (16 Mbyte SDRAM not used currently)
           h DMA engine for PCI/CardBus burst transfers
     –   AD9862 acquisition engine
           h LTE TDD/FDD framing (7.68 Ms/s)
           h LTE 5 MHz baseband filtering (TX)
           h Digital Frequency-correction
           h LTE FFT (TX, 512-point), regular cyclic-prefix processing (TX/RX) – firmware
                 F Note: For LTE, limited to OFDMA transmission formats (i.e. no SC-FDMA, true SRS, etc.) and
                   extended prefix mode
           h Generic SDR TX – 2011 firmware
                 F No limitations for LTE, except dual-antenna TX on some PCI configurations (laptops)
                 F 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 th
     –   Special frame resynchronization for two-way operation is provided (timing drift adjustments)

                                  OpenAir4G Tutorial (openair1, Feb 2012)
ExpressMIMO Baseband Prototyping Board

§ 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
     hUp 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)
ExpressMIMO SoC Target (cont’d)

            OpenAir4G Tutorial (openair1, Feb 2012)
ExpressMIMO/ExpressMIMO2 Application
§   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)
ExpressMIMO2 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
§   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
     – Interconnection possibilities with high-power RF for basestation deployment
     – Optimize partition of x86 and FPGA DSP for rapid-prototyping

                        OpenAir4G Tutorial (openair1, Feb 2012)

§ Baseband/RF engine (first prototypes imminent)
   – Spartan 6 LX150T FPGA (PCIexpress like ExpressMIMO)
      hDerived from Xilinx/Avnet evaluation board (but smaller, medium-
         sized PCIe format)
      hUsed for FFT and Turbo/Viterbi decoders (key processing
      hControl of RF and acquisition from converters
   – 4 LIME Semiconductor zero-IF RF chipsets
      hTX, RX and A/D, D/A on single-chip (1.5cm x 1.5cm)
      h300 MHz – 3.8 GHz tuning bandwidth
      hFDD or TDD operation
      hLTE UE, RN RF compliance (EVM), even better (this is really good)
      h0 dBm output power

                    OpenAir4G Tutorial (openair1, Feb 2012)

           OpenAir4G Tutorial (openair1, Feb 2012)

§ PC
   – PC runs RTOS (RTAI) like CBMIMO1
      hMAC + remainder of PHY (low-complexity components)
      hLinux kernel network interface
      hLow-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

                     OpenAir4G Tutorial (openair1, Feb 2012)

  OpenAir4G Tutorial (openair1, Feb 2012)

§ Develop an open-source baseband implementation of a subset of
  LTE Release-8/9 on top of SW architectur
  and HW demonstrators
§ Goals
   – Representative of LTE access-stratum
      hFull compliance of LTE frame (normal and extended prefix)
      hFull Downlink shared channel compliance
      hSupport for a subset of transmission modes (2x2 operation)
           F Modes 1,2,4,5,6 (Mode 3 to be studied for inclusion)
       hSupport 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)
         OpenAirLTE PHY/MAC Protocol Stack (partial
         3GPP, openair1, openair2)
                                                               Linux networking device
                                                               (IPv4/IPv6, classification/routing
                                                                       Services for DRB)

ASN.1                                                          PDCP is an empty box
Subset of LTE-
                                                               3GPP Compliance
procedures                                                       36-322 Rel-9

                                                               3GPP Compliance
                                                                 36-321 (v 8.6)

                                                               3GPP Compliance (v8.6)

                     OpenAir4G Tutorial (openair1, Feb 2012)
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)
          h Subset of 36-211,36-212 and 36-213 specifications
          h Mode 1, Mode 2 and Mode 6 support
          h Enhanced-Mode 5 and Mode 4 under integration (SAMURAI)
    –   Missing elements (the rest is largely supported)
          h User-selected feedback (not planned)
          h Modes 3,7 (not planned)
          h Rel-9/10 enhancements (Carrier Aggregation, Modes 8,9) under integrat
§   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 moment

                            OpenAir4G Tutorial (openair1, Feb 2012)
Current 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

§   RRC (36.331)
    –   Two separate actions, RRC LITE and Cellular
    –   LITE
          h is LTE only, with ASN.1 messages (asn1c C code generator) and subset of LTE RRC
             procedures (RRCConnectionRequest/Setup,ReconfigurationRequest)
          h Empty security context establishment will be added
          h Currently integrating measurement reporting and MobilityControlInfo (handover)
          h Extendable for Mesh networks (LOLA)
          h No SAE NAS support currently, but could be added …
    –   Cellular
          h Inherits RRC from W3G4Free (IP/UMTS)
          h Automatic code generation using Esterel Studio
          h “hand”-compressed messages and research-oriented NAS extensions for IPv6
             interconnect (QoS and mobility management)

                           OpenAir4G Tutorial (openair1, Feb 2012)
OpenAir4G Lab Session 1

 OpenAir4G Tutorial (openair1, Feb 2012)

§ Familiarization of OpenAir4G Development
  Environment through a simple example
  – Insertion of kernel modules for CBMIMO1/ExpressMIMO
  – Control of HW with OCTAVE (signal acquisition)
  – Basic DSP example
      hLTE 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

                  OpenAir4G Tutorial (openair1, Feb 2012)

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

§ openair1
   – Basic DSP routines for implementing subset of LTE
     specifications under x86 (36.211, 36.212, 36.213 3GPP
   – Channel simulation, sounding and PHY abstraction software,

§ openair2 (not for this lab session)

§ openair3 (not for this lab session)
   – L3 IP-based Networking elements and applications
                   OpenAir4G Tutorial (openair1, Feb 2012)
     Compiling and Loading the kernel modules
   § 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

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

•Interfaces for openair1 running in user-space
•PCI/PCIe driver for CBMIMO1/ExpressMIMO
•RTAI threading interfaces
•LINUX character device interfaces
                                 OpenAir4G Tutorial (openair1, Feb 2012)
Compiling and Loading the kernel modules
§ Loading can be done with scripts found in $OPENAIR1_DIR
   – Try
       hmake install_oai_user
       hMake install_cbmimo1_softmodem OPENAIR2=0
   – sudo (if not root) because insmod is needed (docat
                                                     lsmod) and the
   – The module should now be attached to the kernel (do
     leds on CBMIMO1 should be moving (ExpressMIMO nothing …)
§ Identifying the HW
   – To see that the HW is identified by Linux you can lspci and you
     should see either
       h“European Space Agency …” which is the identifier for the GRLIB
         (Gaisler) embedded system in CBMIMO1
       h“Xilinx Corporation …” which is the identifier for the Xilinx PCIe
         endpoint on ExpressMIMO
                                                              dmesg and
   – To see that the HW is identified by the openair_rf driver do
     you should see traces of one of the two cards
                     OpenAir4G Tutorial (openair1, Feb 2012)
PC Environment at this point

                                                        Linux char device interface
§ SW in the PC looks (looked!)                     like for control / non-real-time
                                                        acquisition and generation

                OpenAir4G Tutorial (openair1, Feb 2012)
PC Environment at this point

                                                              Linux char device interface
§ SW in the PC looks like                                     for control / non-real-time
                                                              acquisition and generation

     LXRT (user-space real-time)
                    OpenAir4G Tutorial (openair1, Feb 2012)
User-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)
Build an OCTAVE Application
§ The OCTAVE scripts and .oct files are in
   – cd
   – To compile the .cc to .oct files (note: octave-headers needs to b
     installed), domake oarf OPENAIR_LTE=1 (and ma gpib  ke
     if you want gpib)

§ Examine rx_spec.m as an example (or

                   OpenAir4G Tutorial (openair1, Feb 2012)
      OCTAVE example
oarf_config(0,1,dual_tx)                    Init card (freq 0, tdd, 1 TX antenna)
gpib_card=0;      % first GPIB PCI card in the computer
gpib_device=28;   % this is configured in the signal generator Utilities->System
cables_loss_dB = 6;    % we need to account for the power loss
power_dBm = -95;
                                                                                     If GPIB is used
%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 AGC
oarf_set_rx_gain(80,85,0,0);           RF configuration

s=oarf_get_frame(0);                     Get 10ms of             signal from RX chains
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)))));

%gpib_send(gpib_card,gpib_device,'OUTP:STAT OFF'); %           activate output
legend('Antenna Port 0','Antenna Port 1');

                                 OpenAir4G Tutorial (openair1, Feb 2012)
LTE Initial Synch Example

§ Need a few basics in LTE DL Transmission (OFDM +
  – Frame formats
  – Synchronization signals
     hPrimary Synchronization Signal (PSS)
     hSecondary Synchronization Signal (SSS)
     hPhysical Broadcast Channel (PBCH)
     hCell-specific Reference Signals (CSRS)

                 OpenAir4G Tutorial (openair1, Feb 2012)
Resource blocks

§                             resource blockwhich represents the minimal
    LTE defines the notion of a
    scheduling resource for both uplink and downlink transmissions
§                           (PRB) corresponds to 180 kHz of spectrum
    A physical resource block

                      OpenAir4G Tutorial (openair1, Feb 2012)
 Common PRB Formats
 Channel               NRBDL/NRBUL              Typical IDFT size            Number of Non-Zero
Bandwidth                                                                     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
 §    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-carrier
      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)

§ OFDMA/SC-FDMA Sub-carriers are termed “Resource Elements
§ 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%)

        Channel         NRBDL/NRBUL                       Bandwidth
       Bandwidth                                          Expansion
          1.25                  6                              8%
           5                   25                              11%
           10                  50                              11%
           15                  75                              11%
           20                 100                              11%

                     OpenAir4G Tutorial (openair1, Feb 2012)
        Example: 300 REs, 25 RBs (5 MHz channel)

PRB23                                                                   “Normal” Cyclic
PRB21                                                                     Prefix Mode
PRB19                                                                     (7 symbols)
                                                                       “Extended” Cyclic
                                                                          Prefix Mode
PRB11          NRBDL/NRBUL
                                                                          (6 symbols)
PRB2                   NSCRB
PRB0                                                         PRB11

                                     l=0             l=6
                                     NULsymb /NULsymb
                             OpenAir4G Tutorial (openair1, Feb 2012)
  Sub-frame and Frame
                          One frame = Tf =307200Ts = 10ms
   Tslot= 15360Ts=500ms

     0      1       2          3                                       18   19

  One subframe

                            71.3ms 71.9ms

                                                                            Normal Prefix

                          4.69ms     5.2ms
Frequency                     83ms
                                                                            Extended Prefix
                          13.9ms                 Time-domain

                             OpenAir4G Tutorial (openair1, Feb 2012)
LTE UE Synchronization Procedures

§ Cell Search comprises
  1. 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 IDCell= 3NID(1) + NID(2)) to receive
     basic system information during steady-state reception
     1. NRBDL (cell bandwidth)
     2. PHICH-config (to allow PDCCH demodulation, for system
     3. Frame number (8 bits from payload, 2 bits from redundanc
     4. Antenna configuration (1,2,4 from CRC mask)
                  OpenAir4G Tutorial (openair1, Feb 2012)
            Initial Timing/Frequency Acquisition
            (Synchronization Signals, FDD Normal CP)
                                                       10 ms
    Subframe 0 Subframe 1                        Subframe 4    Subframe 5                          Subframe 9

                                                (symbols)          Primary(Y) and Secondary(B)
 Primary (Y) and Secondary B)       PBCH                                Synchronization Signals
      Synchronization Signals                                                         (2nd half)
                     (first half)
                                           OpenAir4G Tutorial (openair1, Feb 2012)
Primary Synchronization

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

                                                          Autocorrelation sequence

                    Real component

                    Imag component
                OpenAir4G Tutorial (openair1, Feb 2012)
   Primary Synchronization RX
   § Correlation of 3 primary sequences ( (-n)) with
     received signal. Each eNB (or sector) has different
     sequence => Reuse pattern of 3 for different eNB or
     sectors NID(2))


   r(n)               d*u(-n)              ↓M               ()2
        Decimating correlator + non-coherent thresholding
   §                    :
          Primary Purpose Determine start of frame
   §                        :
          Alternate purposesChannel 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)
                                OpenAir4G Tutorial (openair1, Feb 2012)
Secondary Synchronization

§ Purpose: determine frame type and cell IDID(1)
§ Implemented as BPSK-modulated interleaved sequence of two
                 m-sequences (m=31) with cyclic shifts 0 and
  length-31 binary                                   m
  m1. and scrambled by the two different scrambling sequences
   – Results in 167 possible BPSK sequences for each of subframe 0 an
§ 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)
Secondary 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 frequenc
  offset (PSS/SSS not in same symbol) and amplitudes in SSS
                                                     N PSS
§ Correlate with 167 out of 167 * 3 sequences (167 per ID(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 t
  first 5 ms of the RX buffer)

                    OpenAir4G Tutorial (openair1, Feb 2012)
   Secondary Synchronization RX

                         H*0 (k)         D*sss,0,n(k)

 Rsss,0(k),                 X                   X                             D=-3,…,3, N=8

                         H*5 (k)         D*sss,5,n(k)
                                                                        S          X          Re

 Rsss,5(k),                 X                   X

              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

                                    OpenAir4G Tutorial (openair1, Feb 2012)
Building 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

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

                OpenAir4G Tutorial (openair1, Feb 2012)

§ 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 PS
  – 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) 19
    samples before PSS

                OpenAir4G Tutorial (openair1, Feb 2012)
PBCH Detection

§ Detection of the PBCH requires the following steps
  1. Generation of the cell-specific reference signals based on the
     cell ID derived from SSS detection
  2. Performing channel estimation for the 4 symbols of the PBCH
  3. Extracting the PBCH reference elements
  4. Applying the conjugated channel estimates to the received
     reference elements
  5. Channel decoding

                  OpenAir4G Tutorial (openair1, Feb 2012)
Cell-Specific Reference Signals

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

p=0                                                              p=0             p=0
p=1 (if active)                                                  p=1             p=1 (if active)

                       OpenAir4G Tutorial (openair1, Feb 2012)
Cell-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)
Channel Estimation in LTE (simple)
  – Recall that receiver sees

  – Must get channel estimate for channel compensation
                                  Estimation error


    PRB0                                                     Interpolation
               NO pilots here
                   OpenAir4G Tutorial (openair1, Feb 2012)
Channel Estimation in LTE (simple) – cont’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)
Performing the Channel Estimation and Channel

§   Use the suppliedtxsigF0.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

                                              H*0 (l,k)

                  RPBCH,0(l,k),                    X

                           OpenAir4G Tutorial (openair1, Feb 2012)
The rest …
§   The rest we cannot do in OCTAVE (unless we implement all the channel
    decoding functions), but need to go to the OpenAir4G C implementation
     –   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

                            OpenAir4G Tutorial (openair1, Feb 2012)
Towards 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)
        Acquisition (Card side)
             A/D 1   A/D 2   D/A 1         D/A 2

7.68 Mword/s                                                        Address
              B       B       B              B                     Logic and
              U       U       U              U
              F       F       F              F
              F       F       F              F                     Generation
              E       E       E              E
              R       R       R              R
              1       2       3              4

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

                                                                               CardBus/PCI Bus
                                                                                (33 MHz/32bit)

                                     OpenAir4G Tutorial (openair1, Feb 2012)
Acquisition (AMBA)

§ AMBA can burst at a peak rate of 52 MHz, very
§ 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)
        Acquisition (AMBA)

Input/Output    Block 0      Block 1           Block 2               Block 3     Block 0

AHB Interrupt

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

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

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

                                OpenAir4G Tutorial (openair1, Feb 2012)
  PC Memory View
     AMBA signal memory                                       PC signal
         time-scale                                          memory time-

62.5 ms

                                                                     10 ms

                          OpenAir4G Tutorial (openair1, Feb 2012)
RTAI end

§ RTAI receives an interrupt every slot
   – RT interrupt handler is served in less than ms (can be
     measured!) with very high determinism

§ RT SW components
   – RT interrupt handlerslot_irq_handler())
   – Inner-modem threadopenair_thread())
   – Turbo-decoding thread dlsch_thread()) (note: this is
     deactivated in most recent “stable” version, to be reactivated!)

                    OpenAir4G Tutorial (openair1, Feb 2012)
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 viacond_signal to user-space thread
     –   Returns

§   Openair thread (LXRT user-space)
     –   Waits for signal to wakeup via
     –   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)
Take a look at code

§ openair1/SCHED/sched_lte_fw2011.c

             OpenAir4G Tutorial (openair1, Feb 2012)

Shared By: