Digital Television Lecture 5

Similar documents
LDPC Decoding: VLSI Architectures and Implementations

Revision of Lecture Eleven

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

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

MATLAB SIMULATION OF DVB-H TRANSMISSION UNDER DIFFERENT TRANSMISSION CONDITIONS

A Survey of Advanced FEC Systems

International Journal of Digital Application & Contemporary research Website: (Volume 1, Issue 7, February 2013)

Outline. Communications Engineering 1

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

ATSC 3.0 Physical Layer Overview

Vector-LDPC Codes for Mobile Broadband Communications

Performance Evaluation of Low Density Parity Check codes with Hard and Soft decision Decoding

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

Performance Optimization of Hybrid Combination of LDPC and RS Codes Using Image Transmission System Over Fading Channels

ECE 6640 Digital Communications

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

MULTILEVEL CODING (MLC) with multistage decoding

Power Efficiency of LDPC Codes under Hard and Soft Decision QAM Modulated OFDM

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

FREDRIK TUFVESSON ELECTRICAL AND INFORMATION TECHNOLOGY

Multiple-Bases Belief-Propagation for Decoding of Short Block Codes

Basics of Error Correcting Codes

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

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

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

CT-516 Advanced Digital Communications

FPGA Implementation Of An LDPC Decoder And Decoding. Algorithm Performance

ECE 6640 Digital Communications

LDPC Communication Project

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

Reduced-Complexity VLSI Architectures for Binary and Nonbinary LDPC Codes

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

Chapter 1 Coding for Reliable Digital Transmission and Storage

Lab/Project Error Control Coding using LDPC Codes and HARQ

End-To-End Communication Model based on DVB-S2 s Low-Density Parity-Check Coding

Performance Analysis of WiMAX Physical Layer Model using Various Techniques

Low-complexity Low-Precision LDPC Decoding for SSD Controllers

Construction of Adaptive Short LDPC Codes for Distributed Transmit Beamforming

Digital Communication Systems ECS 452

The throughput analysis of different IR-HARQ schemes based on fountain codes

Dual-Mode Decoding of Product Codes with Application to Tape Storage

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

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

ENGN8637, Semster-1, 2018 Project Description Project 1: Bit Interleaved Modulation

Improvement Of Block Product Turbo Coding By Using A New Concept Of Soft Hamming Decoder

Rep. ITU-R BO REPORT ITU-R BO SATELLITE-BROADCASTING SYSTEMS OF INTEGRATED SERVICES DIGITAL BROADCASTING

Decoding of Block Turbo Codes

Contents Chapter 1: Introduction... 2

LDPC FEC PROPOSAL FOR EPOC. Richard S. Prodan Broadcom Corporation

Performance comparison of convolutional and block turbo codes

Department of Computer Science and Engineering. CSE 3213: Communication Networks (Fall 2015) Instructor: N. Vlajic Date: Dec 13, 2015

Performance Analysis of n Wireless LAN Physical Layer

PERFORMANCE EVALUATION OF WIMAX SYSTEM USING CONVOLUTIONAL PRODUCT CODE (CPC)

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

SIMULATIONS OF ERROR CORRECTION CODES FOR DATA COMMUNICATION OVER POWER LINES

Rekha S.M, Manoj P.B. International Journal of Engineering and Advanced Technology (IJEAT) ISSN: , Volume-2, Issue-6, August 2013

Project. Title. Submitted Sources: {se.park,

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

6. FUNDAMENTALS OF CHANNEL CODER

ERROR CONTROL CODING From Theory to Practice

Code Design for Incremental Redundancy Hybrid ARQ

M.Sc. Thesis. Optimization of the Belief Propagation algorithm for Luby Transform decoding over the Binary Erasure Channel. Marta Alvarez Guede

A brief study on LDPC codes

Performance Analysis and Improvements for the Future Aeronautical Mobile Airport Communications System. Candidate: Paola Pulini Advisor: Marco Chiani

Bit Error Rate Performance Evaluation of Various Modulation Techniques with Forward Error Correction Coding of WiMAX

Low-Density Parity-Check Codes for Volume Holographic Memory Systems

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

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

Iterative Joint Source/Channel Decoding for JPEG2000

Improved concatenated (RS-CC) for OFDM systems

Constellation Shaping for LDPC-Coded APSK

Spreading Codes and Characteristics. Error Correction Codes

Single User or Multiple User?

Digital Fountain Codes System Model and Performance over AWGN and Rayleigh Fading Channels

Q-ary LDPC Decoders with Reduced Complexity

Error Correcting Code

Channel Coding for IEEE e Mobile WiMAX

ETSI TS V1.1.2 ( )

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

LDPC Code Length Reduction

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

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 50, NO. 1, JANUARY

Serially Concatenated Coded Continuous Phase Modulation for Aeronautical Telemetry

R&D White Paper WHP 062. DVB-T for mobile microwave links. Research & Development BRITISH BROADCASTING CORPORATION. June 2003

High-Rate Non-Binary Product Codes

Lec 19 Error and Loss Control I: FEC

Error Protection: Detection and Correction

An Efficient Forward Error Correction Scheme for Wireless Sensor Network

Lecture 3 Data Link Layer - Digital Data Communication Techniques

FOR THE PAST few years, there has been a great amount

Chapter 10 Error Detection and Correction 10.1

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

Open Access Concatenated RS-Convolutional Codes for Cooperative Wireless Communication

RECOMMENDATION ITU-R S Allowable error performance for a satellite hypothetical reference digital path operating below 15 GHz

Goa, India, October Question: 4/15 SOURCE 1 : IBM. G.gen: Low-density parity-check codes for DSL transmission.

Available online at ScienceDirect. Procedia Computer Science 70 (2015 )

Performance of Combined Error Correction and Error Detection for very Short Block Length Codes

Simulation Modal of DVB-S2 using without and with Filter

Testing The Effective Performance Of Ofdm On Digital Video Broadcasting

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

Transcription:

Digital Television Lecture 5 Forward Error Correction (FEC) Åbo Akademi University Domkyrkotorget 5 Åbo 8.4.

Error Correction in Transmissions Need for error correction in transmissions Loss of data during transmissions can make received data useless Different FEC methods in DVB: Reed-Solomon codes (byte level, block code) Convolutional codes (bit level, streaming code) Low-Density Parity-Check codes (bit level, block code) FEC codes are combined with other methods to improve error correction performances on average Interleaving (bit and byte levels) Pseudo Random Bit Scrambling (bit level) Åbo Akademi University Domkyrkotorget 5 Åbo 8.4.

DVB Forward Error Correction Target: the transport stream should be Quasi Error Free (QEF) at the receiver Bit Error Rate (BER) < -, i.e. error on bits Compare with TCP: Error free reception by resending packets Repetition code: Transmit every bit e.g. times. Receiver votes on the correct value Resending data not feasible solution in video streaming services and is in general very costly The repetition code is the worst possible error correction code existing Åbo Akademi University Domkyrkotorget 5 Åbo 8.4.

Basics for Error Correction Assume that the (source/information) bits at the transmitter can be grouped into words of k bits A FEC code C maps each possible sequence of the k bits onto unique codewords of length n>k ( k different codewords) In a systematic code, the source bits are contained sequentially within each codeword, either in the beginning or the end. This is not the case in a non-systematic code Example: k= and n=5 Systematic code Non-systematic code Source Codewords Source Codewords Åbo Akademi University Domkyrkotorget 5 Åbo 8.4. 4

Basics for Error Correction For two bit vectors x and y of length n, the Hamming distance is defined as i.e., the number of bits that are different in x and y x = y = d(x,y) = d x, y i: x i y i, i < n We try to find a code C that maximizes the distance between any two codewords in C, i.e., maximize the minimum Hamming distance d min = min x,y C d x, y x y Åbo Akademi University Domkyrkotorget 5 Åbo 8.4. 5

Basics for Error Correction The minimum Hamming distance allows us to determine the minimum error correction capability t of any block code t = d min d min t + A code C with codeword length n and information length k has a code rate defined as r=k/n Fraction of the available bandwidth used for transmitting source data Example: A code C with r=/ is used in a network with transmission rate Mbps. Because of the code rate, useful information is received at a rate of.5 Mbps. We want to have a code C with as high code rate as possible and as large d min as possible The choice of code rate is a design parameter Åbo Akademi University Domkyrkotorget 5 Åbo 8.4. 6

Parity-Check Example Add a parity bit to the end of each sequence of k information bits The value of the parity bit is chosen so that there is an even number of s in the bit sequence; corresponds to exclusive-or of the bits The minimum Hamming distance between any two codewords in this type of a parity check code is In this systematic code, the codeword length is 4 bits of which bits contain source information. A single bit error can now be detected, but not corrected The example code has code rate r=/4, i.e., 75% of the available bandwidth is used for transmitting source data Åbo Akademi University Domkyrkotorget 5 Åbo 8.4. 7

Error Correction Parity checking enables error detection. It is also possible to construct codes, that can perform error correction Idea: construct a code, where the Hamming distance between any two codewords is as large as possible. For any received word r, compare the received word with all codewords in the code, and select the codeword which has the smallest Hamming distance to r Code Distances Received 4 Decoded Åbo Akademi University Domkyrkotorget 5 Åbo 8.4. 8

Forward Error Correction The term Forward in Forward Error Correction comes from the fact that the error correction is in a sense done in advance, i.e., parity data is added prior to transmission FEC coding only makes sense if the bit error rate while using coding is less than without coding coding gain Transmitter Channel Receiver a = (a... a 6 ) a is mapped into x = (x... x ) errors are added r = x + e most likely e is determined a Åbo Akademi University Domkyrkotorget 5 Åbo 8.4. 9

Parity-Check Codes We have seen that codes with a single parity bit at the end of each codeword has minimum Hamming distance. Such a code can only detect errors Suppose we have 9 source bits a=(a,..., a 9 ), and arrange them in a square. Add a parity bit to each column and each row a a a p a 4 a 5 a 6 p a 7 a 8 a 9 p p 4 p 5 p 6 a a a =p a a 4 a 7 =p 4 a 4 a 5 a 6 =p a a 5 a 8 =p 5 a 7 a 8 a 9 =p a a 6 a 9 =p 6 denotes exclusive-or This gives us the possibility to detect and correct errors Åbo Akademi University Domkyrkotorget 5 Åbo 8.4.

Parity-Check Codes The set of equations for the example code can be rewritten as a a a p = a a 4 a 7 p 4 = a 4 a 5 a 6 p = a a 5 a 8 p 5 = a 7 a 8 a 9 p = a a 6 a 9 p 6 = Define the codeword vector as x=(a,..., a 9, p,..., p 6 ), and express the system of equations with the parity-check matrix H. A valid codeword satisfies Hx T = Summations are done modulo ; corresponds to exclusive-or Åbo Akademi University Domkyrkotorget 5 Åbo 8.4.

Parity-Check Codes In the parity-check matrix H, each row corresponds to a paritycheck constraint and each column corresponds to the parity-check constraints that a given bit participates in The minimum Hamming distance can be determined from the parity-check matrix: A parity-check code C has minimum Hamming distance d if and only if any d- columns of its parity-check matrix are linearly independent but some d columns are linearly dependent The example code on the previous slide has d min =, i.e., it is guaranteed to correct bit error. If more errors than occur, we cannot predict if the code can correct them or not Åbo Akademi University Domkyrkotorget 5 Åbo 8.4.

Towards Good Codes In order to obtain good parity-check codes, we need to increase the minimum Hamming distance To do this, we need to add more s to the parity-check matrix H, in order to decrease the linear dependencies between the columns In general, each column should have a weight (number of nonzero entries) of at least The identity sub matrix at the right side of the parity-check matrix in the example code is one of the major reasons to its low minimum Hamming distance Åbo Akademi University Domkyrkotorget 5 Åbo 8.4.

Low-Density Parity-Check Codes LDPC codes are one of the best existing FEC codes DVB-T, DVB-S The code length n is typically very large In DVB-T and DVB-S: n=64 8 or n = 6 bits LDPC codes are sparse, i.e., the fraction of non-zero entries in H goes towards zero when n The parity-check matrices are often generated at random, according to constraints on the distributions of the column and row weights Example: in an LDPC code, / of the columns should have weight, / of the columns should have weight, and / of the columns should have weight, while each row should have weight 4 Åbo Akademi University Domkyrkotorget 5 Åbo 8.4. 4

DVB-T LDPC Parity-Check Matrix Systematic code with n = 64 8, k = 4 r = / n columns n-k rows Åbo Akademi University Domkyrkotorget 5 Åbo 8.4. 5

Encoding A code C maps the source bits to unique codewords When the information length k is large, it is impossible to maintain a list of all codewords of the code A code with k=5 has k.4* 55 codewords, where each codeword is n bits Codewords are computed based on the source bits at the encoder In some cases, the codewords can be computed directly using the parity-check matrix Systematic codes, where the sub matrix for the parity bits is lower or upper triangular In general, however, a generator matrix G, needs to be determined for encoding purposes Instead of storing all possible codewords in memory, we only need to store the generator and parity-check matrices in memory Åbo Akademi University Domkyrkotorget 5 Åbo 8.4. 6

Encoding If we can (through simple row and column operations) bring H into the form H=[ P I ], where P is a random sub matrix, and I is the identity matrix corresponding to the parity columns, then the generator matrix G is obtained as G=[ I P T ] From the source bits a=(a,..., a k ), the codeword x is obtained as x=ag Example: k= and n=5 H = G = a=( ) x = ag = [ ] and Hx T = Åbo Akademi University Domkyrkotorget 5 Åbo 8.4. 7

Tanner Graph Representation The parity-check matrix can be visualized using Tanner graphs (bipartite graphs) Check nodes Column indices Variable nodes 4 5 6 7 Edges Row indices Åbo Akademi University Domkyrkotorget 5 Åbo 8.4. 8

Decoding of LDPC Codes Decoding is an iterative message passing process Initially, only beliefs of the bit values are available at the decoder The beliefs propagate through the graph Belief-Propagation (BP) decoder One decoding iterations is as follows Each variable node sends its belief of the bit value over all its edges to the corresponding check nodes The check nodes compute the most likely bit values for all their neighbours (variable nodes they are connected to) and send these beliefs back The variable nodes update their beliefs on the bit values using the incoming messages The decoder continues to iterate until a valid codeword has been found, or a maximum number of iterations has been performed Åbo Akademi University Domkyrkotorget 5 Åbo 8.4. 9

Decoding of LDPC Codes In DVB-T and DVB-S, the LDPC codes are used so early in the communication chain that only likelihoods about the bit values are available to the decoder Each bit x i is assigned a log-likelihood ratio (LLR) prior to decoding, defined as LLR x i y i = log P(x i = y i ) P(x i = y i ) where y i is received information for bit i The magnitude of the LLR represents the probability of the bit having a certain value The sign of the LLR tells us if the probability of the bit value leans towards or Åbo Akademi University Domkyrkotorget 5 Åbo 8.4.

Decoding Example Assume that bits are either received correctly or known to be erroneous (erasures) This channel model is known as the Binary Erasure Channel (BEC) The codeword x = ( ) is transmitted The received word is y = ( ), where denotes an erasure (known error) Greatly simplified example w.r.t. decoding in DVB. Here, messages passed will have values,, or, but in practice each message passed is an LLR value, i.e., floating point value. The main decoding procedure is still the same Åbo Akademi University Domkyrkotorget 5 Åbo 8.4.

Decoding Example Step : Variable to check y x' The variable nodes send their beliefs on the bit values to the check nodes, i.e., the beliefs are known to be correct or erasures because of the BEC y is the received codeword and x is the estimated codeword Message (erasure) Message Message 4 5 6 7 Åbo Akademi University Domkyrkotorget 5 Åbo 8.4.

Decoding Example 4 5 6 7 Step : Check to Variable y x' The check nodes process the incoming messages, such that the constraints should be fulfilled Hx T should be, i.e. the sum modulo of all bit values participating in all parity-check constraints (checks nodes) should be Constraints + + + = + + + = + + + = Åbo Akademi University Domkyrkotorget 5 Åbo 8.4.

Decoding Example 4 5 6 7 Step : Check to Variable (continued) y x' Each check node sends a message back to each of its variable nodes A message from a check node is equal to the sum modulo of all incoming message, excluding the message that came from the variable node to where this message is being sent Constraints + + + = + + + = + + + = Messages [ ] [ ] [ ] Åbo Akademi University Domkyrkotorget 5 Åbo 8.4. 4

Decoding Example Step : Variable to check y x' The variable nodes sends their updated beliefs on their bit values to the check nodes At a variable node, the outgoing message is an erasure if all incoming messages are erasures and the received messages is an erasure 4 5 6 7 Åbo Akademi University Domkyrkotorget 5 Åbo 8.4. 5

Decoding Example Step : Check to Variable Each check node sends back their beliefs on the symbol values to each of its variable nodes, which satisfy their constraints y x' Constraints + + + = Messages [ ] 4 + + + = [ ] 5 6 7 + + + = [ ] Åbo Akademi University Domkyrkotorget 5 Åbo 8.4. 6

Decoding Example Step : Variable to check The variable nodes sends their updated beliefs on their bit values to the check nodes y x' 4 5 6 7 Åbo Akademi University Domkyrkotorget 5 Åbo 8.4. 7

Decoding Example Step : Check to Variable Each check node sends back their beliefs on the bit values to each of its variable nodes, which satisfy their constraints Decoding completed, i.e. original codeword recovered y x' Constraints + + + = Messages [ ] 4 + + + = [ ] 5 6 7 + + + = [ ] Åbo Akademi University Domkyrkotorget 5 Åbo 8.4. 8

BER LDPC Code Performance Although the minimum Hamming distance is commonly used to measure code performance, in the case of LDPC codes, this measure is not adequate. LDPC codes typically have far better error correcting performance than what can be derived from the minimum Hamming distance Well designed LDPC codes have performances that are very close to what is theoretically possible to achieve in communications (Shannon limit) E+ E- E- E- E-4 E-5 E-6 E-7 E-8 Waterfall region Error floor 4 6 8 4 6 8 SNR (db) Åbo Akademi University Domkyrkotorget 5 Åbo 8.4. 9

Coding in DVB LDPC codes produce small error floors Occasional bit errors when one would expect zero BERs In second generation DVB standards, BCH (Bose-Chaudhuri- Hocquenghem) codes are used to correct any bit errors that may be present after LDPC decoding The BCH codes have an error correction capability of roughly bits in the BCH codewords of lengths 5 bits In first generation DVB standards, the coding scenario is different Instead of LDPC codes, convolutional codes (less powerful) are used Concatenated with Reed-Solomon codes, where each RS code protects a TS packet (RS codes operate on bytes instead of bits) n = 4, k = 88, error correction capability 8 bytes The second generation DVB coding scheme is significantly better than the one in the first generation DVB standards Åbo Akademi University Domkyrkotorget 5 Åbo 8.4.

DVB-T Transmitter Block Diagram Input Data Stream RS Encoder Outer Interleaver Convolutional Encoder Inner Interleaver QAM Mapper Frame Adaptation OFDM Guard Interval Insertion DAC Front-End Åbo Akademi University Domkyrkotorget 5 Åbo 8.4.

DVB-T Transmitter Block Diagram Åbo Akademi University Domkyrkotorget 5 Åbo 8.4.