8a487c4bd76629eec68e4f19f3437928.ppt
- Количество слайдов: 61
Open. Air. Interface Overview and Lab Session 1
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 h. LINUX/RTAI based SW development for PCs h. LEON 3/GRLIB-based HW and e. Cos/Mutex. H-based SW development for FPGA targets h. LINUX networking environment – Experimental Licenses from ARCEP (French Regulator) for mediumpower outdoor network deployments h 1. 9 GHz TDD, 5 MHz channel bandwidth h 2. 6 GHz FDD (two channels), 20 MHz channel bandwidth h 800 MHz FDD (two channels) : 10 MHz channel bandwidth Open. Air 4 G Tutorial (openair 1, Feb 2012)
Open. Air. Interface Development Areas Cognitive Technologies Wideband RF, Agile Spectrum Management, Interference Management and Control, Distributed/Collabo rative techniques, Spectrum Sensing, Cognitive and Flexible Radio Architectures, Ambient Networking OPENAIR 3 : Wireless Networking All-IP, Mobility Management, 802. 21, Cellular/Mesh Routing Protocols, Mesh Topology Management, Multimodal Radio Resource Management OPENAIR 2: Medium-Access Protocols Cellular topologies, single-frequency resource allocation, cross-layer wideband scheduling, Mesh topologies, distributed resource control OPENAIR 1: Baseband/PHY Advanced PHY (LTE), Propagation Measurement and Modelling, Sensing and Localization Techniques, PHY Modeling Tools OPENAIR 0: Wireless Embedded System Design Agile RF design, Reconfigurable High-end Transceiver Architectures, FPGA prototyping, Simulation Methodologies, Software development tools, low-power chip design Open. Air 4 G Tutorial (openair 1, Feb 2012)
Collaborative Web Tools § Open. Air. Interface SVN Repositories – All development is available through www. openairinterface. org’s SVN repository (openair 4 G) containing h. OPENAIR 0 (open-source real-time HW/SW) h. OPENAIR 1 (open-source real-time and offline SW) h. OPENAIR 2 (open-source real-time and offline SW) h. OPENAIR 3 (open-source Linux SW suite for cellular and MESH networks) h. TARGETS : different top-level target designs (emulator, RTAI, etc. ) – Partners can access and contribute to our development § Open. Air. Interface TWIKI – A TWIKI site for quick access by partners to our development via a collaborative HOW-TO § Soon – Sourceforge distribution of stable code Open. Air 4 G Tutorial (openair 1, Feb 2012)
Equipment and SW Open. Air 4 G Tutorial (openair 1, Feb 2012)
Prototype Equipment Timeline Planned replacement for CBMIMO 1 Express. MIMO 2 Agile. RF/Express MIMO CBMIMOI – V 1 CBMIMOI – V 2 PLATON/RHODOS 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 Cellular, Ad. Hoc and P 2 MP Topologies Ad. Hoc/Mesh and Cellular Topologies FPGA-So. C (Virtex 2) Cellular Systems Pure Software Radio FPGA So. C (Virtex 5)+ Interface for partner Processing Engines Agile Tuning module (0. 2 – 7 GHz) 2 x 2 OFDM(A) @ 2 GHz, 5 MHz channels Maximum Channel BW 20 MHz Cellular (towards LTE) OFDM(A)/WCDMA-TDD All-IPv 4/v 6 Open. Air 4 G Tutorial (openair 1, Feb 2012)
Software Roadmap Open. Air. DAB Open. Air. 11 p Open. Air 4 G Open. Air. Interface (WIDENS/CHORIST) WIRELESS 3 G 4 FREE 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 LTE compliant waveform Ad. Hoc/Mesh and Cellular Topologies In-house MIMO-OFDMA TDD waveform (Wi. MAX 2004 like) TD-SCDMA SDR IPv 6 interconnect No longer supported Distributed Signal Processing and Mesh-Topology functions (L 2. 5 relaying) Open. Air 4 G Tutorial (openair 1, Feb 2012) Mesh extensions from WIDENS/CHORIST Partial 3 GPP protocol stack (openair 2)
Card. Bus MIMO 1 § Current platform for application experimentation and test network deployments – 5 MHz channel bandwidth TDD@1900 MHz – PCMCIA-Card. Bus formfactor – 2 x 2 MIMO-OFDMA, LTE waveform – Two-way communications – Full Software Radio under RTAI/Linux on x 86 architectures Open. Air 4 G Tutorial (openair 1, Feb 2012)
Current CBMIMO 1 V 2 Designs § CBMIMO 1 provides – – A Leon 3 -based embedded processing engine on a Xilinx XC 2 V 3000 FPGA h 52 MHz processor speed h 64 k. Byte embedded memory (16 Mbyte SDRAM not used currently) h DMA engine for PCI/Card. Bus burst transfers AD 9862 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) – 2009 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 Card. Bus<->Express. Card adapters because of insufficient upstream reads – § RF control (gains, frequencies, timing of RF) CBMIMO 1 allows for 2 x 2 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 CBMIMO 1 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) Open. Air 4 G Tutorial (openair 1, Feb 2012)
Express. MIMO Baseband Prototyping Board § FPGA-based baseband platform – One Virtex 5 LX 330, One Virtex 5 LX 110 T (PCIexpress) – 4 x AD 9832 (dual 14 -bit 128 Ms/s D/A, dual 12 -bit 64 A/D 64 Ms/s) h. Up to 8 x 8 MIMO capacity with low-IF, 4 x 4 I/Q Baseband – Low-jitter clock generation for converters – 128 Mbytes/133 MHz DDR (LX 110 T) – 1 -2 Gbytes DDR 2 (LX 330) – Compact. Flash (System. ACE), 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) Open. Air 4 G Tutorial (openair 1, Feb 2012)
Express. MIMO So. C Target (cont’d) Open. Air 4 G Tutorial (openair 1, Feb 2012)
Express. MIMO/Express. MIMO 2 Application Development § A software application (MODEM + MAC) is a C program running on a micro-controller (LEON 3) with HW API for DSP – SW library is available (libembb), developped and maintained by Lab. So. C, Telecom. Paris. Tech (openair 0) § Same approach as x 86 SDR (CBMIMO 1) but on an embedded system – More difficult to validate functionality -> Software models for HW required § Current testcases – DAB/DMB (MODEM implementation by TUM/BMW) – Open. Air. 11 p : 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 Open. Air 4 G to Express. MIMO § Training – Acropolis Winter School 2011 (OAI 2) Open. Air 4 G Tutorial (openair 1, Feb 2012)
Express. MIMO 2 Platform § Recall – CBMIMO 1 platform : cheap, fixed band, 5 MHz channels, 3 G EVM (RF) characteristics (2 bits/s/Hz limit), SDR/x 86, good for networking experiments, many fabricated for EURECOM and partners – Express. MIMO + Agile. RF : very expensive, arbitrary band, 20 MHz channels, SDR/MPSo. C, good for architecture exploration, few fabricated for internal use only § Objectives for new platform – Low-cost of CBMIMO 1 (<2 k€ 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 Agile. RF (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 x 86 and FPGA DSP for rapid-prototyping Open. Air 4 G Tutorial (openair 1, Feb 2012)
Elements § Baseband/RF engine (first prototypes imminent) – Spartan 6 LX 150 T FPGA (PCIexpress like Express. MIMO) h. Derived from Xilinx/Avnet evaluation board (but smaller, mediumsized PCIe format) h. Used for FFT and Turbo/Viterbi decoders (key processing bottlenecks) h. Control of RF and acquisition from converters – 4 LIME Semiconductor zero-IF RF chipsets h. TX, RX and A/D, D/A on single-chip (1. 5 cm x 1. 5 cm) h 300 MHz – 3. 8 GHz tuning bandwidth h. FDD or TDD operation h. LTE UE, RN RF compliance (EVM), even better (this is really good) h 0 d. Bm output power Open. Air 4 G Tutorial (openair 1, Feb 2012)
Elements Open. Air 4 G Tutorial (openair 1, Feb 2012)
Elements § PC – PC runs RTOS (RTAI) like CBMIMO 1 h. MAC + remainder of PHY (low-complexity components) h. Linux kernel network interface h. Low-end x 86, embedded x 86 § RF front-ends (PA/LNA, duplexing, filtering) – External boards developped by Insight. SIP (local company) – – Extra frequency transposition to go to 4 -6 GHz 21 d. Bm 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) Open. Air 4 G Tutorial (openair 1, Feb 2012)
Open. Air 4 G MODEM Open. Air 4 G Tutorial (openair 1, Feb 2012)
Purpose § Develop an open-source baseband implementation of a subset of LTE Release-8/9 on top of Open. Air. Interface. org SW architecture and HW demonstrators § Goals – Representative of LTE access-stratum h. Full compliance of LTE frame (normal and extended prefix) h. Full Downlink shared channel compliance h. Support for a subset of transmission modes (2 x 2 operation) F Modes 1, 2, 4, 5, 6 (Mode 3 to be studied for inclusion) h. Support for up to 3 sectors in e. NB – 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 (OAI 3 lab session) Open. Air 4 G Tutorial (openair 1, Feb 2012)
Open. Air. LTE PHY/MAC Protocol Stack (partial 3 GPP, openair 1, openair 2) Linux networking device (IPv 4/IPv 6, classification/routing Services for DRB) 36 -331 ASN. 1 messages Compliance Subset of LTEonly procedures PDCP is an empty box 3 GPP Compliance 36 -322 Rel-9 3 GPP Compliance 36 -321 (v 8. 6) Openair 1 3 GPP Compliance (v 8. 6) 36 -211, 36 -212, 36 -213 Open. Air 4 G Tutorial (openair 1, 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 integration § MAC (36. 321) – Full random-access procedure, Scheduling Request, Buffer Status Reporting – e. NB 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 Open. Air 4 G Tutorial (openair 1, 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 integration) § RRC (36. 331) – Two separate actions, RRC LITE and Cellular – LITE h is LTE only, with ASN. 1 messages (asn 1 c C code generator) and subset of LTE RRC procedures (RRCConnection. Request/Setup, Reconfiguration. Request) h Empty security context establishment will be added h Currently integrating measurement reporting and Mobility. Control. Info (handover) h Extendable for Mesh networks (LOLA) h No SAE NAS support currently, but could be added … – Cellular h Inherits RRC from W 3 G 4 Free (IP/UMTS) h Automatic code generation using Esterel Studio h “hand”-compressed messages and research-oriented NAS extensions for IPv 6 interconnect (Qo. S and mobility management) Open. Air 4 G Tutorial (openair 1, Feb 2012)
Open. Air 4 G Lab Session 1 Open. Air 4 G Tutorial (openair 1, Feb 2012)
Objectives § Familiarization of Open. Air 4 G Development Environment through a simple example – Insertion of kernel modules for CBMIMO 1/Express. MIMO hardware – Control of HW with OCTAVE (signal acquisition) – Basic DSP example h. LTE Initial synchronization – Control of HW with user-space C programs (signal acquisition) using Open. Air 4 G x 86 -based DSP – Basic principles of Real-time operation under RTAI with CBMIMO 1 Open. Air 4 G Tutorial (openair 1, Feb 2012)
Directories § targets – Specific SW targets (SIMU, RTAI) for instantiating Open. Air 4 G components § openair 1 – Basic DSP routines for implementing subset of LTE specifications under x 86 (36. 211, 36. 212, 36. 213 3 GPP specifications) – Channel simulation, sounding and PHY abstraction software, § openair 2 (not for this lab session) – MAC/RLC/PDCP/RRC § openair 3 (not for this lab session) – L 3 IP-based Networking elements and applications Open. Air 4 G Tutorial (openair 1, Feb 2012)
Compiling and Loading the kernel modules § Start from $OPENAIR 1_DIR § Kernel modules for CBMIMO 1 and Express. MIMO are made as – make oai_user. ko (Express. MIMO) – make openair_rf_cbmimo 1_softmodem. ko OPENAIR 2=0 (CBMIMO 1) § This creates one module (as well as other things …) – openair_rf. ko • Interfaces for openair 1 running in user-space • PCI/PCIe driver for CBMIMO 1/Express. MIMO • RTAI threading interfaces • LINUX character device interfaces (open, close, ioctl, mmap) Open. Air 4 G Tutorial (openair 1, Feb 2012)
Compiling and Loading the kernel modules § Loading can be done with scripts found in $OPENAIR 1_DIR – Try hmake install_oai_user h. Make install_cbmimo 1_softmodem OPENAIR 2=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 CBMIMO 1 should be moving (Express. MIMO nothing …) § Identifying the HW – To see that the HW is identified by Linux you can do lspci and you should see either h“European Space Agency …” which is the identifier for the GRLIB (Gaisler) embedded system in CBMIMO 1 h“Xilinx Corporation …” which is the identifier for the Xilinx PCIe endpoint on Express. MIMO – 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 Open. Air 4 G Tutorial (openair 1, Feb 2012)
PC Environment at this point § SW in the PC looks (looked!) like Open. Air 4 G Tutorial (openair 1, Feb 2012) Linux char device interface for control / non-real-time acquisition and generation
PC Environment at this point § SW in the PC looks like LXRT (user-space real-time) Open. Air 4 G Tutorial (openair 1, Feb 2012) Linux char device interface for control / non-real-time acquisition and generation
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/rtf. XX) § 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 Open. Air 4 G Tutorial (openair 1, Feb 2012)
Build an OCTAVE Application § The OCTAVE scripts and. oct files are in – cd $OPENAIR 1_DIR/USERSPACE_TOOLS/OCTAVE/CBMIMO 1_TO OLS – 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) Open. Air 4 G Tutorial (openair 1, Feb 2012)
OCTAVE example dual_tx=0; 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_d. B = 6; % we need to account for the power loss power_d. Bm = -95; If GPIB is used %gpib_send(gpib_card, gpib_device, ['POW ' int 2 str(power_d. Bm+cables_loss_d. B) 'd. Bm']); %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 oarf_set_rx_rfmode(0); Get 10 ms of s=oarf_get_frame(0); f = (7. 68*(0: length(s(: , 1))-1)/(length(s(: , 1))))-3. 84; spec 0 = 20*log 10(abs(fftshift(fft(s(: , 1))))); spec 1 = 20*log 10(abs(fftshift(fft(s(: , 2))))); clf plot(f', spec 0, 'r', f', spec 1, 'b') axis([-3. 84, 40, 160]); %gpib_send(gpib_card, gpib_device, 'OUTP: STAT OFF'); % legend('Antenna Port 0', 'Antenna Port 1'); grid signal from RX chains activate output Open. Air 4 G Tutorial (openair 1, Feb 2012)
LTE Initial Synch Example § Need a few basics in LTE DL Transmission (OFDM + QAM) – Frame formats – Synchronization signals h. Primary Synchronization Signal (PSS) h. Secondary Synchronization Signal (SSS) h. Physical Broadcast Channel (PBCH) h. Cell-specific Reference Signals (CSRS) Open. Air 4 G Tutorial (openair 1, Feb 2012)
Resource 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 k. Hz of spectrum Open. Air 4 G Tutorial (openair 1, Feb 2012)
Common PRB Formats Channel Bandwidth (MHz) NRBDL/NRBUL 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 § 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 k. Hz spacing) subcarriers of an OFDMA symbol in the frequency-domain – A 7. 5 k. Hz 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 Open. Air 4 G Tutorial (openair 1, Feb 2012)
OFDMA/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%) Channel Bandwidth (MHz) NRBDL/NRBUL Bandwidth Expansion 1. 25 6 8% 5 25 11% 10 50 11% 15 75 11% 20 100 11% Open. Air 4 G Tutorial (openair 1, Feb 2012)
Example: 300 REs, 25 RBs (5 MHz channel) PRB 24 PRB 23 PRB 22 PRB 21 PRB 20 PRB 19 PRB 18 PRB 17 PRB 16 PRB 15 PRB 14 PRB 13 PRB 12 PRB 11 PRB 10 PRB 9 PRB 8 PRB 7 PRB 6 PRB 5 PRB 4 PRB 3 PRB 2 PRB 1 PRB 0 PRB 13 PRB 12 NRBDL/NRBUL NSCRB PRB 11 l=0 l=6 NULsymb /NULsymb Open. Air 4 G Tutorial (openair 1, Feb 2012) “Normal” Cyclic Prefix Mode (7 symbols) “Extended” Cyclic Prefix Mode (6 symbols)
Sub-frame and Frame One frame = Tf =307200 Ts = 10 ms Tslot= 15360 Ts=500 ms 0 1 2 3 18 19 One subframe 71. 3 ms 71. 9 ms Normal Prefix Frequency Domain View 4. 69 ms 5. 2 ms 83 ms Extended Prefix 13. 9 ms Time-domain View Open. Air 4 G Tutorial (openair 1, 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 NIDCell= 3 NID(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 information) 3. Frame number (8 bits from payload, 2 bits from redundancy version) 4. Antenna configuration (1, 2, 4 from CRC mask) Open. Air 4 G Tutorial (openair 1, Feb 2012)
Initial Timing/Frequency Acquisition (Synchronization Signals, FDD Normal CP) 10 ms Subframe 4 Subframe 5 Frequency (PRBs) Subframe 0 Subframe 1 Primary (Y) and Secondary B) Synchronization Signals (first half) Time (symbols) PBCH Primary(Y) and Secondary(B) Synchronization Signals (2 nd half) Open. Air 4 G Tutorial (openair 1, Feb 2012) Subframe 9
Primary Synchronization § Zadoff-Chu root-of-unity sequence has excellent auto-correlation properties and is very tolerant to frequency-offsets Autocorrelation sequence Real component (time-domain u=25) Imag component (time-domain, u=25) Open. Air 4 G Tutorial (openair 1, Feb 2012)
Primary Synchronization RX § Correlation of 3 primary sequences (d*u(-n)) with received signal. Each e. NB (or sector) has different sequence => Reuse pattern of 3 for different e. NB or sectors (NID(2)) Threshold r(n) d*u(-n) ↓M ()2 Received Frame 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) Open. Air 4 G Tutorial (openair 1, Feb 2012)
Secondary 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 m 0 and m 1. 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 Open. Air 4 G Tutorial (openair 1, 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 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) Open. Air 4 G Tutorial (openair 1, Feb 2012)
Secondary Synchronization RX H*0 (k) Rsss, 0(k), k=0, . . . , 62 D*sss, 0, n(k) X H*5 (k) Rsss, 5(k), k=0, . . . , 62 X D*sss, 5, n(k) X e 2 pj. D/N D=-3, …, 3, N=8 X S 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 Open. Air 4 G Tutorial (openair 1, Feb 2012) X Re
Building the PSS/SSS Part First § OCTAVE files for PSS generation can be found here – $OPENAIR 1_DIR/PHY/LTE_REFSIG/primary_synch. m § OCTAVE files for SSS generation can be found here – $OPENAIR 1_DIR/USERSPACE_TOOLS/OCTAVE/CBMIMO 1_TO OLS/sss_gen. m § Start an editor and create a file based on rx_spec. m, in the same directory so you have the Open. Air 4 G. oct files Open. Air 4 G Tutorial (openair 1, Feb 2012)
Steps § 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) 1648 samples before PSS – TDD/Extended CP: SSS is (512+128+512+128) 1920 samples before PSS Open. Air 4 G Tutorial (openair 1, 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 Open. Air 4 G Tutorial (openair 1, Feb 2012)
Cell-Specific Reference Signals p={0, 1, 2, 3} p={0}, p={0, 1} p=0 p=0 p=1 (if active) Open. Air 4 G Tutorial (openair 1, 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 (10 ms) § 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 Open. Air 4 G Tutorial (openair 1, Feb 2012)
Channel Estimation in LTE (simple) – Recall that receiver sees – Must get channel estimate for channel compensation Estimation error PRB 1 PRB 0 Interpolation Extrapolation NO pilots here Open. Air 4 G Tutorial (openair 1, 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 Open. Air 4 G Tutorial (openair 1, Feb 2012)
Performing the Channel Estimation and Channel Compensation § Use the supplied txsig. F 0. 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), k=0, . . . , 72, l=7, 8, 9, 10 X Open. Air 4 G Tutorial (openair 1, 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 Open. Air 4 G C implementation for – Deinterleaving – Channel decoding – Descrambling § To see how this is done check out the following files – openair 1/PHY/LTE_TRANSPORT/initial_sync. c – openair 1/PHY/LTE_TRANSPORT/sss. c – openair 1/PHY/LTE_TRANSPORT/pbch. c Open. Air 4 G Tutorial (openair 1, 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) Open. Air 4 G Tutorial (openair 1, Feb 2012)
Acquisition (Card side) A/D 1 A/D 2 D/A 1 D/A 2 7. 68 Mword/s B U F F E R 1 B U F F E R 2 B U F F E R 3 B U F F E R 4 Address Control Logic and Interrupt Generation Block Interrupt Parameters 52 Mword/s (Peak) AMBA/PCI Bridge Open. Air 4 G Tutorial (openair 1, Feb 2012) AMBA Bus (52 MHz/32 bit) Card. Bus/PCI Bus (33 MHz/32 bit)
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 (<= 1 Kbyte) 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 (timedivision duplex) Open. Air 4 G Tutorial (openair 1, Feb 2012)
Acquisition (AMBA) Input/Output Block 0 Block 1 Block 2 Block 3 Block 0 Data (AMBA) RX/TX Block 3/1 Block 0/2 Block 1/3 Block 2/0 Block 3/1 Data (PCI) RX/TX Block 3/1 Block 0/2 Block 1/3 Block 2/0 Block 3/1 AHB Interrupt • Blocks are 480 samples of signal (62. 5 ms) • A PCI interrupt is generated every slot (500 ms) to trigger RTAI Open. Air 4 G Tutorial (openair 1, Feb 2012)
PC Memory View AMBA signal memory time-scale PC signal memory timescale 62. 5 ms 10 ms Open. Air 4 G Tutorial (openair 1, Feb 2012)
RTAI end § RTAI receives an interrupt every slot – RT interrupt handler is served in less than 30 ms (can be measured!) with very high determinism § RT SW components (openair 1/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!) Open. Air 4 G Tutorial (openair 1, Feb 2012)
Basic Ideas (for UE) § Slot_irq_handler is awoken every 500 us – – § Checks that interrupt source is CBMIMO 1 (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. 5 ms) – Make use of multi-core CPUs to parallelize inner-MODEM and channel decoding (turbodecoder) which operate on different time-scales – Multiple decoding threads will be considered in medium-term for higher throughput Open. Air 4 G Tutorial (openair 1, Feb 2012)
Take a look at code § openair 1/SCHED/sched_lte_fw 2011. c Open. Air 4 G Tutorial (openair 1, Feb 2012)
8a487c4bd76629eec68e4f19f3437928.ppt