An introduction to technical details related to the Physical Layer of the LTE standard with MATLAB
The LTE (Long Term Evolution) and LTE-Advanced are among the latest mobile communications standards, designed to realize the dream of a truly global, fast, all-IP-based, secure broadband mobile access technology.
This book examines the Physical Layer (PHY) of the LTE standards by incorporating three conceptual elements: an overview of the theory behind key enabling technologies; a concise discussion regarding standard specifications; and the MATLAB algorithms needed to simulate the standard.
The use of MATLAB, a widely used technical computing language, is one of the distinguishing features of this book. Through a series of MATLAB programs, the author explores each of the enabling technologies, pedagogically synthesizes an LTE PHY system model, and evaluates system performance at each stage. Following this step-by-step process, readers will achieve deeper understanding of LTE concepts and specifications through simulations.
Key Features:
Accessible, intuitive, and progressive; one of the few books to focus primarily on the modeling, simulation, and implementation of the LTE PHY standard
Includes case studies and testbenches in MATLAB, which build knowledge gradually and incrementally until a functional specification for the LTE PHY is attained
Accompanying Web site includes all MATLAB programs, together with PowerPoint slides and other illustrative examples
Dr Houman Zarrinkoub has served as a development manager and now as a senior product manager with MathWorks, based in Massachusetts, USA. Within his 12 years at MathWorks, he has been responsible for multiple signal processing and communications software tools. Prior to MathWorks, he was a research scientist in the Wireless Group at Nortel Networks, where he contributed to multiple standardization projects for 3G mobile technologies. He has been awarded multiple patents on topics related to computer simulations. He holds a BSc degree in Electrical Engineering from McGill University and MSc and PhD degrees in Telecommunications from the Institut Nationale de la Recherche Scientifique, in Canada.
Author(s): Houman Zarrinkoub
Series: Wiley Desktop Editions
Edition: 1
Publisher: Wiley
Year: 2014
Language: English
Pages: C+xviii+490
Cover
S Title
UNDERSTANDING LTE WITH MATLAB® FROM MATHEMATICAL MODELING TO SIMULATION AND PROTOTYPING
Copyright
© 2014, John Wiley & Sons, Ltd
ISBN 978-1-118-44341-5
TK5103.48325.Z37 2014 621.3845'6–dc23
LCCN 2013034138
Contents
Preface
List of Abbreviations
Chapter 1 Introduction
1.1 Quick Overview of Wireless Standards
1.2 Historical Profile of Data Rates
1.3 IMT-Advanced Requirements
1.4 3GPP and LTE Standardization
1.5 LTE Requirements
1.6 Theoretical Strategies
1.7 LTE-Enabling Technologies
1.7.1 OFDM
1.7.2 SC-FDM
1.7.3 MIMO
1.7.4 Turbo Channel Coding
1.7.5 Link Adaptation
1.8 LTE Physical Layer (PHY) Modeling
1.9 LTE (Releases 8 and 9)
1.10 LTE-Advanced (Release 10)
1.11 MATLAB® and Wireless System Design
1.12 Organization of This Book
References
Chapter 2 Overview of the LTE Physical Layer
2.1 Air Interface
2.2 Frequency Bands
2.3 Unicast and Multicast Services
2.4 Allocation of Bandwidth
2.5 Time Framing
2.6 Time-Frequency Representation
2.7 OFDM Multicarrier Transmission
2.7.1 Cyclic Prefix
2.7.2 Subcarrier Spacing
2.7.3 Resource Block Size
2.7.4 Frequency-Domain Scheduling
2.7.5 Typical Receiver Operations
2.8 Single-Carrier Frequency Division Multiplexing
2.9 Resource Grid Content
2.10 Physical Channels
2.10.1 Downlink Physical Channels
2.10.2 Function of Downlink Channels
2.10.3 Uplink Physical Channels
2.10.4 Function of Uplink Channels
2.11 Physical Signals
2.11.1 Reference Signals
2.11.2 Synchronization Signals
2.12 Downlink Frame Structures
2.13 Uplink Frame Structures
2.14 MIMO
2.14.1 Receive Diversity
2.14.2 Transmit Diversity
2.14.3 Spatial Multiplexing
2.14.4 Beam Forming
2.14.5 Cyclic Delay Diversity
2.15 MIMO Modes
2.16 PHY Processing
2.17 Downlink Processing
2.18 Uplink Processing
2.18.1 SC-FDM
2.18.2 MU-MIMO
2.19 Chapter Summary
References
Chapter 3 MATLAB® for Communications System Design
3.1 System Development Workflow
3.2 Challenges and Capabilities
3.3 Focus
3.4 Approach
3.5 PHY Models in MATLAB
3.6 MATLAB
3.7 MATLAB Toolboxes
3.8 Simulink
3.9 Modeling and Simulation
3.9.1 DSP System Toolbox
3.9.2 Communications System Toolbox
3.9.3 Parallel Computing Toolbox
3.9.4 Fixed-Point Designer
3.10 Prototyping and Implementation
3.10.1 MATLAB Coder
3.10.2 Hardware Implementation
3.11 Introduction to System Objects
3.11.1 System Objects of the Communications System Toolbox
3.11.2 Test Benches with System Objects
3.11.3 Functions with System Objects
3.11.4 Bit Error Rate Simulation
3.12 MATLAB Channel Coding Examples
3.12.1 Error Correction and Detection
3.12.2 Convolutional Coding
3.12.3 Hard-Decision Viterbi Decoding
3.12.4 Soft-Decision Viterbi Decoding
3.12.5 Turbo Coding
3.13 Chapter Summary
References
Chapter 4 Modulation and Coding
4.1 Modulation Schemes of LTE
4.1.1 MATLAB Examples
4.1.2 BER Measurements
4.2 Bit-Level Scrambling
4.2.1 MATLAB Examples
4.2.2 BER Measurements
4.3 Channel Coding
4.4 Turbo Coding
4.4.1 Turbo Encoders
4.4.2 Turbo Decoders
4.4.3 MATLAB Examples
4.4.4 BER Measurements
4.5 Early-Termination Mechanism
4.5.1 MATLAB Examples
4.5.2 BER Measurements
4.5.3 Timing Measurements
4.6 Rate Matching
4.6.1 MATLAB Examples
4.6.2 BER Measurements
4.7 Codeblock Segmentation
4.7.1 MATLAB Examples
4.8 LTE Transport-Channel Processing
4.8.1 MATLAB Examples
4.8.2 BER Measurements
4.9 Chapter Summary
References
Chapter 5 OFDM
5.1 Channel Modeling
5.1.1 Large-Scale and Small-Scale Fading
5.1.2 Multipath Fading Effects
5.1.3 Doppler Effects
5.1.4 MATLAB® Examples
5.2 Scope
5.3 Workflow
5.4 OFDM and Multipath Fading
5.5 OFDM and Channel-Response Estimation
5.6 Frequency-Domain Equalization
5.7 LTE Resource Grid
5.8 Configuring the Resource Grid
5.8.1 CSR Symbols
5.8.2 DCI Symbols
5.8.3 BCH Symbols
5.8.4 Synchronization Symbols
5.8.5 User-Data Symbols
5.9 Generating Reference Signals
5.10 Resource Element Mapping
5.11 OFDM Signal Generation
5.12 Channel Modeling
5.13 OFDM Receiver
5.14 Resource Element Demapping
5.15 Channel Estimation
5.16 Equalizer Gain Computation
5.17 Visualizing the Channel
5.18 Downlink Transmission Mode 1
5.18.1 The SISO Case
5.18.2 The SIMO Case
5.19 Chapter Summary
References
Chapter 6 MIMO
6.1 Definition of MIMO
6.2 Motivation for MIMO
6.3 Types of MIMO
6.3.1 Receiver-Combining Methods
6.3.2 Transmit Diversity
6.3.3 Spatial Multiplexing
6.4 Scope of MIMO Coverage
6.5 MIMO Channels
6.5.1 MATLAB® Implementation
6.5.2 LTE-Specific Channel Models
6.5.3 MATLAB Implementation
6.5.4 Initializing MIMO Channels
6.5.5 Adding AWGN
6.6 Common MIMO Features
6.6.1 MIMO Resource Grid Structure
6.6.2 Resource-Element Mapping
6.6.3 Resource-Element Demapping
6.6.4 CSR-Based Channel Estimation
6.6.5 Channel-Estimation Function
6.6.6 Channel-Estimate Expansion
6.6.7 Ideal Channel Estimation
6.6.8 Channel-Response Extraction
6.7 Specific MIMO Features
6.7.1 Transmit Diversity
6.7.2 Transceiver Setup Functions
6.7.3 Downlink Transmission Mode 2
6.7.4 Spatial Multiplexing
6.7.5 MIMO Operations in Spatial Multiplexing
6.7.6 Downlink Transmission Mode 4
6.7.7 Open-Loop Spatial Multiplexing
6.7.8 Downlink Transmission Mode 3
6.8 Chapter Summary
References
Chapter 7 Link Adaptation
7.1 System Model
7.2 Link Adaptation in LTE
7.2.1 Channel Quality Estimation
7.2.2 Precoder Matrix Estimation
7.2.3 Rank Estimation
7.3 MATLAB® Examples
7.3.1 CQI Estimation
7.3.2 PMI Estimation
7.3.3 RI Estimation
7.4 Link Adaptations between Subframes
7.4.1 Structure of the Transceiver Model
7.4.2 Updating Transceiver Parameter Structures
7.5 Adaptive Modulation
7.5.1 No Adaptation
7.5.2 Changing the Modulation Scheme at Random
7.5.3 CQI-Based Adaptation
7.5.4 Verifying Transceiver Performance
7.5.5 Adaptation Results
7.6 Adaptive Modulation and Coding Rate
7.6.1 No Adaptation
7.6.2 Changing Modulation Scheme at Random
7.6.3 CQI-Based Adaptation
7.6.4 Verifying Transceiver Performance
7.6.5 Adaptation Results
7.7 Adaptive Precoding
7.7.1 PMI-Based Adaptation
7.7.2 Verifying Transceiver Performance
7.7.3 Adaptation Results
7.8 Adaptive MIMO
7.8.1 RI-Based Adaptation
7.8.2 Verifying Transceiver Performance
7.8.3 Adaptation Results
7.9 Downlink Control Information
7.9.1 MCS
7.9.2 Rate of Adaptation
7.9.3 DCI Processing
7.10 Chapter Summary
References
Chapter 8 System-Level Specification
8.1 System Model
8.1.1 Transmitter Model
8.1.2 MATLAB Model for a Transmitter Model
8.1.3 Channel Model
8.1.4 MATLAB Model for a Channel Model
8.1.5 Receiver Model
8.1.6 MATLAB Model for a Receiver Model
8.2 System Model in MATLAB
8.3 Quantitative Assessments
8.3.1 Effects of Transmission Modes
8.3.2 BER as a Function of SNR
8.3.3 Effects of Channel-Estimation Techniques
8.3.4 Effects of Channel Models
8.3.5 Effects of Channel Delay Spread and Cyclic Prefix
8.3.6 Effects of MIMO Receiver Algorithms
8.4 Throughput Analysis
8.5 System Model in Simulink
8.5.1 Building a Simulink Model
8.5.2 Integrating MATLAB Algorithms in Simulink
8.5.3 Parameter Initialization
8.5.4 Running the Simulation
8.5.5 Introducing a Parameter Dialog
8.6 Qualitative Assessment
8.6.1 Voice-Signal Transmission
8.6.2 Subjective Voice-Quality Testing
8.7 Chapter Summary
References
Chapter 9 Simulation
9.1 Speeding Up Simulations in MATLAB
9.2 Workflow
9.3 Case Study: LTE PDCCH Processing
9.4 Baseline Algorithm
9.5 MATLAB Code Profiling
9.6 MATLAB Code Optimizations
9.6.1 Vectorization
9.6.2 Preallocation
9.6.3 System Objects
9.7 Using Acceleration Features
9.7.1 MATLAB-to-C Code Generation
9.7.2 Parallel Computing
9.8 Using a Simulink Model
9.8.1 Creating the Simulink Model
9.8.2 Verifying Numerical Equivalence
9.8.3 Simulink Baseline Model
9.8.4 Optimizing the Simulink Model
9.9 GPU Processing
9.9.1 Setting up GPU Functionality in MATLAB
9.9.2 GPU-Optimized System Objects
9.9.3 Using a Single GPU System Object
9.9.4 Combining Parallel Processing with GPUs
9.10 Case Study: Turbo Coders on GPU
9.10.1 Baseline Algorithm on a CPU
9.10.2 Turbo Decoder on a GPU
9.10.3 Multiple System Objects on GPU
9.10.4 Multiple Frames and Large Data Sizes
9.10.5 Using Single-Precision Data Type
9.11 Chapter Summary
Chapter 10 Prototyping as C/C++ Code
10.1 Use Cases
10.2 Motivations
10.3 Requirements
10.4 MATLAB Code Considerations
10.5 How to Generate Code
10.5.1 Case Study: Frequency-Domain Equalization
10.5.2 Using a MATLAB Command
10.5.3 Using the MATLAB Coder Project
10.6 Structure of the Generated C Code
10.7 Supported MATLAB Subset
10.7.1 Readiness for Code Generation
10.7.2 Case Study: Interpolation of Pilot Signals
10.8 Complex Numbers and Native C Types
10.9 Support for System Toolboxes
10.9.1 Case Study: FFT and Inverse FFT
10.10 Support for Fixed-Point Data
10.10.1 Case Study: FFT Function
10.11 Support for Variable-Sized Data
10.11.1 Case Study: Adaptive Modulation
10.11.2 Fixed-sized Code Generation
10.11.3 Bounded Variable-Sized Data
10.11.4 Unbounded Variable-Sized Data
10.12 Integration with Existing C/C++ Code
10.12.1 Algorithm
10.12.2 Executing MATLAB Testbench
10.12.3 Generating C Code
10.12.4 Entry-Point Functions in C
10.12.5 C Main Function
10.12.6 Compiling and Linking
10.12.7 Executing C Testbench
10.13 Chapter Summary
References
Chapter 11 Summary
11.1 Modeling
11.1.1 Theoretical Considerations
11.1.2 Standard Specifications
11.1.3 Algorithms in MATLAB®
11.2 Simulation
11.2.1 Simulation Acceleration
11.2.2 Acceleration Methods
11.2.3 Implementation
11.3 Directions for Future Work
11.3.1 User-Plane Details
11.3.2 Control-Plane Processing
11.3.3 Hybrid Automatic Repeat Request
11.3.4 System-Access Modules
11.4 Concluding Remarks
Index