RADIO SYSTEMS ETIN15. Channel Coding. Ove Edfors, Department of Electrical and Information Technology

Similar documents
Channel Coding RADIO SYSTEMS ETIN15. Lecture no: Ove Edfors, Department of Electrical and Information Technology

AN INTRODUCTION TO ERROR CORRECTING CODES Part 2

TSTE17 System Design, CDIO. General project hints. Behavioral Model. General project hints, cont. Lecture 5. Required documents Modulation, cont.

Outline. Communications Engineering 1

6. FUNDAMENTALS OF CHANNEL CODER

Lecture 4: Wireless Physical Layer: Channel Coding. Mythili Vutukuru CS 653 Spring 2014 Jan 16, Thursday

Physical Layer: Modulation, FEC. Wireless Networks: Guevara Noubir. S2001, COM3525 Wireless Networks Lecture 3, 1

Intro to coding and convolutional codes

IMPERIAL COLLEGE of SCIENCE, TECHNOLOGY and MEDICINE, DEPARTMENT of ELECTRICAL and ELECTRONIC ENGINEERING.

Chapter 3 Convolutional Codes and Trellis Coded Modulation

Lecture 9b Convolutional Coding/Decoding and Trellis Code modulation

Revision of Lecture Eleven

Digital Television Lecture 5

Digital Communications I: Modulation and Coding Course. Term Catharina Logothetis Lecture 12

Advanced channel coding : a good basis. Alexandre Giulietti, on behalf of the team

Communications Theory and Engineering

Implementation of Different Interleaving Techniques for Performance Evaluation of CDMA System

Using TCM Techniques to Decrease BER Without Bandwidth Compromise. Using TCM Techniques to Decrease BER Without Bandwidth Compromise. nutaq.

Introduction to Error Control Coding

Intuitive Guide to Principles of Communications By Charan Langton Coding Concepts and Block Coding

International Journal of Computer Trends and Technology (IJCTT) Volume 40 Number 2 - October2016

Single Error Correcting Codes (SECC) 6.02 Spring 2011 Lecture #9. Checking the parity. Using the Syndrome to Correct Errors

Error Protection: Detection and Correction

Error Control Codes. Tarmo Anttalainen

GSM and WCDMA RADIO SYSTEMS ETIN15. Lecture no: Ove Edfors, Department of Electrical and Information Technology

PROJECT 5: DESIGNING A VOICE MODEM. Instructor: Amir Asif

ECE 5325/6325: Wireless Communication Systems Lecture Notes, Spring 2013

ECE 6640 Digital Communications

Spreading Codes and Characteristics. Error Correction Codes

EFFECTIVE CHANNEL CODING OF SERIALLY CONCATENATED ENCODERS AND CPM OVER AWGN AND RICIAN CHANNELS

Convolutional Coding Using Booth Algorithm For Application in Wireless Communication

n Based on the decision rule Po- Ning Chapter Po- Ning Chapter

ECE 5325/6325: Wireless Communication Systems Lecture Notes, Spring 2013

Error-Correcting Codes

Block code Encoder. In some applications, message bits come in serially rather than in large blocks. WY Tam - EIE POLYU

Basics of Error Correcting Codes

Lecture 3 Data Link Layer - Digital Data Communication Techniques

Lecture 17 Components Principles of Error Control Borivoje Nikolic March 16, 2004.

Performance comparison of convolutional and block turbo codes

Chapter 1 Coding for Reliable Digital Transmission and Storage

Maximum Likelihood Sequence Detection (MLSD) and the utilization of the Viterbi Algorithm

Available online at ScienceDirect. Procedia Technology 17 (2014 )

A Survey of Advanced FEC Systems

ECE 6640 Digital Communications

Digital Transmission using SECC Spring 2010 Lecture #7. (n,k,d) Systematic Block Codes. How many parity bits to use?

ECE 476/ECE 501C/CS Wireless Communication Systems Winter Lecture 9: Error Control Coding

A Sphere Decoding Algorithm for MIMO

ISSN: International Journal of Innovative Research in Science, Engineering and Technology

The ternary alphabet is used by alternate mark inversion modulation; successive ones in data are represented by alternating ±1.

Error Control Coding. Aaron Gulliver Dept. of Electrical and Computer Engineering University of Victoria

Notes 15: Concatenated Codes, Turbo Codes and Iterative Processing

Simulink Modeling of Convolutional Encoders

BER Analysis of BPSK for Block Codes and Convolution Codes Over AWGN Channel

Study of Turbo Coded OFDM over Fading Channel

UNIVERSITY OF SOUTHAMPTON

Robust Reed Solomon Coded MPSK Modulation

#8 Adaptive Modulation Coding

Trellis-Coded Modulation [TCM]

Contents Chapter 1: Introduction... 2

Volume 2, Issue 9, September 2014 International Journal of Advance Research in Computer Science and Management Studies

Know your Algorithm! Architectural Trade-offs in the Implementation of a Viterbi Decoder. Matthias Kamuf,

RADIO SYSTEMS ETIN15. Lecture no: GSM and WCDMA. Ove Edfors, Department of Electrical and Information Technology

ECE 8771, Information Theory & Coding for Digital Communications Summer 2010 Syllabus & Outline (Draft 1 - May 12, 2010)

Serially Concatenated Coded Continuous Phase Modulation for Aeronautical Telemetry

Combined Transmitter Diversity and Multi-Level Modulation Techniques

Disclaimer. Primer. Agenda. previous work at the EIT Department, activities at Ericsson

FREDRIK TUFVESSON ELECTRICAL AND INFORMATION TECHNOLOGY

On Performance Improvements with Odd-Power (Cross) QAM Mappings in Wireless Networks

New DC-free Multilevel Line Codes With Spectral Nulls at Rational Submultiples of the Symbol Frequency

Lecture 12: Summary Advanced Digital Communications (EQ2410) 1

On Iterative Multistage Decoding of Multilevel Codes for Frequency Selective Channels

Error Correcting Code

EE 435/535: Error Correcting Codes Project 1, Fall 2009: Extended Hamming Code. 1 Introduction. 2 Extended Hamming Code: Encoding. 1.

TCM-coded OFDM assisted by ANN in Wireless Channels

Collaborative decoding in bandwidth-constrained environments

MULTILEVEL RS/CONVOLUTIONAL CONCATENATED CODED QAM FOR HYBRID IBOC-AM BROADCASTING

White Paper FEC In Optical Transmission. Giacomo Losio ProLabs Head of Technology

MATHEMATICS IN COMMUNICATIONS: INTRODUCTION TO CODING. A Public Lecture to the Uganda Mathematics Society

Performance Analysis of n Wireless LAN Physical Layer

Low-Complexity LDPC-coded Iterative MIMO Receiver Based on Belief Propagation algorithm for Detection

Open Access Concatenated RS-Convolutional Codes for Cooperative Wireless Communication

DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK. Subject Name: Information Coding Techniques UNIT I INFORMATION ENTROPY FUNDAMENTALS

Hamming Codes and Decoding Methods

Multilevel RS/Convolutional Concatenated Coded QAM for Hybrid IBOC-AM Broadcasting

EECS 380: Wireless Technologies Week 7-8

NOVEL 6-PSK TRELLIS CODES

Department of Electronic Engineering FINAL YEAR PROJECT REPORT

Department of Electronics and Communication Engineering 1

Analysis of Convolutional Encoder with Viterbi Decoder for Next Generation Broadband Wireless Access Systems

Frequency-Hopped Spread-Spectrum

VITERBI ALGORITHM IN CONTINUOUS-PHASE FREQUENCY SHIFT KEYING

Performance of Reed-Solomon Codes in AWGN Channel

Chapter 7. Conclusion and Future Scope

Computer Science 1001.py. Lecture 25 : Intro to Error Correction and Detection Codes

2018/11/1 Thursday. YU Xiangyu

DIGITAL COMMINICATIONS

IEEE C /02R1. IEEE Mobile Broadband Wireless Access <

Project: IEEE P Working Group for Wireless Personal Area Networks (WPANs)

INTERNATIONAL JOURNAL OF ELECTRONICS AND COMMUNICATION ENGINEERING & TECHNOLOGY (IJECET)

6.02 Fall 2013 Lecture #7

Transcription:

RADIO SYSTEMS ETIN15 Lecture no: 7 Channel Coding Ove Edfors, Department of Electrical and Information Technology Ove.Edfors@eit.lth.se 2016-04-18 Ove Edfors - ETIN15 1

Contents (CHANNEL CODING) Overview Block codes Convolution codes Fading channel and interleaving Coding is a much more complicated topic than this. Anyone interested should follow a course on channel coding. 2016-04-18 Ove Edfors - ETIN15 2

OVERVIEW 2016-04-18 Ove Edfors - ETIN15 3

Basic types of codes Channel codes are used to add protection against errors in the channel. It can be seen as a way of increasing the distance between transmitted alternatives, so that a receiver has a better chance of detecting the correct one in a noisy channel. We can classify channel codes in two principal groups: BLOCK CODES Encodes data in blocks of k, using code words of length n. CONVOLUTION CODES Encodes data in a stream, without breaking it into blocks, creating code sequences. 2016-04-18 Ove Edfors - ETIN15 4

Information and redundancy EXAMPLE Is the English language protected by a code, allowing us to correct transmission errors? When receiving the following sentence with errors marked by - : D- n-t w-rr- -b--t ---r d-ff-cult--s -n M-th-m-t-cs. - c-n -ss-r- --- m-n- -r- st-ll gr--t-r. it can still be decoded properly. What does it say, and who is quoted? There is something more than information in the original sentence that allows us to decode it properly, redundancy. Redundancy is available in almost all natural data, such as text, music, images, etc. 2016-04-18 Ove Edfors - ETIN15 5

Information and redundancy, cont. Electronic circuits do not have the power of the human brain and needs more structured redundancy to be able to decode noisy messages. Pure information without redundancy Original source data with redundancy Source coding Channel coding Pure information with structured redundancy. E.g. a speech coder The structured redundancy added in the channel coding is often called parity or check sum. 2016-04-18 Ove Edfors - ETIN15 6

Illustration of code words Assume that we have a block code, which consists of k information bits per n bit code word (n > k). Since there are only 2 k different information sequences, there can be only 2 k different code words. 2 n different binary sequences of length n. Only 2 k are valid code words in our code. This leads to a larger distance between the valid code words than between arbitrary binary sequences of length n, which increases our chance of selecting the correct one after receiving a noisy version. 2016-04-18 Ove Edfors - ETIN15 7

Illustration of decoding If we receive a sequence that is not a valid code word, we decode to the closest one. Received word Using this rule we can create decision boundaries like we did for signal constellations. One thing remains... what do we mean by closest? We need a distance measure! 2016-04-18 Ove Edfors - ETIN15 8

Distances The distance measure used depends on the channel over which we transmit our code words (if we want the rule of decoding to the closest code word to give a low probability of error). Two common ones: Hamming distance Measures the number of bits being different between two binary words. Used for binary channels with random bit errors. Euclidean distance Same measure we have used for signal constellations. Used for AWGN channels. We will look at this in more detail later! 2016-04-18 Ove Edfors - ETIN15 9

Coding gain When applying channel codes we decrease the E b /N 0 required to obtain some specified performance (BER). BER This coding gain depends on the code and the specified performance. It translates directly to a lower requirement on received power in the link budget. Coded Un-coded BER spec G code NOTE: E b denotes energy per information bit, even for the coded case. E b /N 0 [db] 2016-04-18 Ove Edfors - ETIN15 10

Bandwidth When introducing coding we have essentially two ways of handling the indreased number of (code) bits that need to be transmitted: 1) Accept that the raw bit rate will increase the required radio bandwidth proportionally. This is the simplest way, but may not be possible, since we may have a limited bandwidth available. 2) Increase the signal constellation size to compensate for the increased number of bits, thus keeping the same bandwidth. Increasing the number of signal constellation points will decrease the distance between them. This decrease in distance will have to be compensated by the introduced coding. 2016-04-18 Ove Edfors - ETIN15 11

BLOCK CODES 2016-04-18 Ove Edfors - ETIN15 12

Linear block codes The encoding process of a linear block code can be written as where k - dimensional information vector n x k - dimensional generator matrix n - dimensional code word vector The matrix calculations are done in an appropriate arithmetic. We will primarily assume binary codes and modulo-2 arithmetic. 2016-04-18 Ove Edfors - ETIN15 13

Some definitions Code rate: Minimum distance of code: Modulo-2 arithmetic (XOR): Hamming weight: Hamming distance: The minimum distance of a code determines its error correcting performance in non-fading channels. Note: The textbook sometimes use the name Hamming distance of the code (d H ) to denote its minimum distance. 2016-04-18 Ove Edfors - ETIN15 14

Encoding example For a specific (n,k) = (7,4) code we encode the information sequence 1 0 1 1 as If the information is directly visible in the code word, we say that the code is systematic. In addition to the k information bits, there are n-k = 3 parity bits. Generator matrix 2016-04-18 Ove Edfors - ETIN15 15

Encoding example, cont. Encoding all possible 4 bit information sequences gives: Information Code word Hamming weight 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 0 0 1 1 0 0 1 1 1 0 0 0 1 0 0 1 0 1 0 1 0 1 0 1 0 0 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 0 1 1 0 1 0 0 1 0 0 1 1 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 4 3 3 3 3 4 4 3 3 4 4 4 4 3 7 This code has a minimum distance of 3. (Minimum code word weight of a linear code, excluding the all-zero code word.) This is a (7,4) Hamming code, capable of correcting one bit error. 2016-04-18 Ove Edfors - ETIN15 16

Error correction capability A binary block code with minimum distance d min can correct J bit errors, where Rounded down to nearest integer. 2016-04-18 Ove Edfors - ETIN15 17

Performance and code length Longer codes (with same rate) usually have better performance! This example is for a nonfading channel! Not in textbook E b /N 0 Drawbacks with long codes is complexity and delay. 2016-04-18 Ove Edfors - ETIN15 18

CONVOLUTION CODES 2016-04-18 Ove Edfors - ETIN15 21

Encoder structure In convolution codes, the coded bits are formed as convolutions between the incoming bits and a number of generator sequences. We will view the encoder as a shift register with memory L and N generator sequences (convolution sums). L = 3 The contents of the encoder memory (old input bits) is called the encoder state. 2016-04-18 Ove Edfors - ETIN15 22

Encoding example Input State Output Next state 0 1 0 1 0 1 0 1 00 00 01 01 10 10 11 11 000 111 001 110 011 100 010 101 00 10 00 10 01 11 01 11 Memory = 2 We usually start the encoder in the all-zero state! 2016-04-18 Ove Edfors - ETIN15 23

Encoding example, cont. We can view the encoding process in a trellis created from the table on the previous slide. 2016-04-18 Ove Edfors - ETIN15 24

Termination At the end of the information sequence, it is common to add a tail of L zeros to force the encoder to end (terminate) in the zero state. This improved performance, since a decoder knows both the starting state and ending state. 2016-04-18 Ove Edfors - ETIN15 25

A Viterbi decoding example We want to find the path in the trellis (the code sequence) that is closest to our received sequence. This can be done efficiently, using the Viterbi algorithm (search trellis, accumulate distances, discard path with highest distance whenever they collide and back-trace from the end). Received sequence: 010 000 100 001 011 110 001 000 111 1 2 000 111 1 4 2 000 6 3 111 3 000 5 4 111 5 000 5 4 111 6 000 5 7 000 6 001 110 5 001 110 8 001 110 6 001 001 Decoded data: 011 4 100 3 010 011 7 5 100 4 101 4 010 011 4 6 100 5 101 5 010 101 011 4 2 100 7 7 010 011 6 8 Tail bits 0 0 0 0 1 0 0 2016-04-18 Ove Edfors - ETIN15 26

Soft decoding We have given examples of hard decoding, using the Hamming distance. If we do not detect ones and zeros before decoding our channel code, we can use soft decoding. In the AWGN channel, this means comparing Euclidean distances instead. 2016-04-18 Ove Edfors - ETIN15 27

Surviving paths The Viterbi algorithm needs to keep track of one surviving path per state in the trellis. For long code sequences this causes a memory problem. In practice we only keep track of surviving paths in a window consisting of a certain number of trellis steps. At the end of this window we enforce decisions on bits, based on the metric in the latest decoding step. Experience shows that a window length of 6 times the encoder memory only lead to minor performance losses. 2016-04-18 Ove Edfors - ETIN15 28

FADING CHANNELS AND INTERLEAVING 2016-04-18 Ove Edfors - ETIN15 29

Fading channels and interleaving In fading channels, many received bits will be of low quality when we hit a fading dip. Coding may suffer greatly, since many low quality bits in a code word may lead to a decoding error. To prevent all low quality bits in a fading dip from ending up in the same code word, we rearrange the bits between several code words before transmission... and rearrange them again at the receiver, before decoding. This strategy of breaking up fading dips is called interleaving. 2016-04-18 Ove Edfors - ETIN15 30

Distribution of low-quality bits Without interleaving With interleaving E b /N 0 E b /N 0 Fading dip gives many low-quality bits in the same code word bit With interleaving the fading dip spreads more evenly across code words bit Code words Code words 2016-04-18 Ove Edfors - ETIN15 31

Block interleaver The writing and reading of data in interleavers cause a delay in the system, which may cause other problems. 2016-04-18 Ove Edfors - ETIN15 32

Interleaving - BER example BER of a R=1/3 repetition code over a Rayleigh-fading channel, with and without interleaving. Decoding strategy: majority selection. 10 db Div. order 2 Div. order 1 10 db 100x 10x 2016-04-18 Ove Edfors - ETIN15 33

Summary (CHANNEL CODING) Channel coding is used to improve error performance For a fixed requirement, we get a coding gain that translates to a lower received power requirement. The two main types of codes are block codes and convolution codes Depending on the channel, we use different metrics to measure the distances Decoding of convolution codes is efficiently done with the Viterbi algorithm In fading channels we need interleaving in order to break up fading dips (but causes delay) 2016-04-18 Ove Edfors - ETIN15 34