Understanding LTE with MATLAB: From Mathematical Modeling to Simulation and Prototyping

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

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