Revision of Lecture Eleven

Similar documents
Performance of Reed-Solomon Codes in AWGN Channel

6. FUNDAMENTALS OF CHANNEL CODER

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

EE521 Analog and Digital Communications

Digital Television Lecture 5

International Journal of Engineering Research in Electronics and Communication Engineering (IJERECE) Vol 1, Issue 5, April 2015

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

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

Introduction to Error Control Coding

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

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

Page 1. Outline. Basic Idea. Hamming Distance. Hamming Distance Visual: HD=2

Basics of Error Correcting Codes

Detecting and Correcting Bit Errors. COS 463: Wireless Networks Lecture 8 Kyle Jamieson

Outline. Communications Engineering 1

Spreading Codes and Characteristics. Error Correction Codes

Lecture 3 Data Link Layer - Digital Data Communication Techniques

16.36 Communication Systems Engineering

Chapter 10 Error Detection and Correction 10.1

Hybrid ARQ Schemes for Non-Orthogonal Space-Time Block Codes

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

Error Protection: Detection and Correction

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

ECE 6640 Digital Communications

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

Channel Coding/Decoding. Hamming Method

Error Control Codes. Tarmo Anttalainen

UNIVERSITY OF SOUTHAMPTON

Techniques to Mitigate Fading Effects

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

Physical-Layer Services and Systems

IJESRT. (I2OR), Publication Impact Factor: 3.785

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

4. Which of the following channel matrices respresent a symmetric channel? [01M02] 5. The capacity of the channel with the channel Matrix

Revision of Previous Six Lectures

Outline. EECS 122, Lecture 6. Error Control Overview Where are Codes Used? Error Control Overview. Error Control Strategies ARQ versus FEC

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

Revision of Previous Six Lectures

FREDRIK TUFVESSON ELECTRICAL AND INFORMATION TECHNOLOGY

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

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

ERROR CONTROL CODING From Theory to Practice

ECE 6640 Digital Communications

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

Digital Communication Systems ECS 452

Synchronization of Hamming Codes

Communications Theory and Engineering

Department of Electronics and Communication Engineering 1

Revision of Channel Coding

Chapter 10 Error Detection and Correction

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

Implementation of Reed Solomon Encoding Algorithm

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

Layering and Controlling Errors

Error Correction with Hamming Codes

Course Developer: Ranjan Bose, IIT Delhi

Digital Data Communication Techniques

Implementation of Reed-Solomon RS(255,239) Code

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

Simulink Modelling of Reed-Solomon (Rs) Code for Error Detection and Correction

Error Detection and Correction

Channel Coding. Baltic Summer School Tartu (Estonia) August 2008

Chapter 1 Coding for Reliable Digital Transmission and Storage

BER Analysis of BPSK and QAM Modulation Schemes using RS Encoding over Rayleigh Fading Channel

Implementation and Analysis of a Hybrid-ARQ Based Cooperative Diversity Protocol

Datacommunication I. Layers of the OSI-model. Lecture 3. signal encoding, error detection/correction

Implementation of Reed Solomon Decoder for Area Critical Applications

Umudike. Abia State, Nigeria

Design of Reed Solomon Encoder and Decoder

QUESTION BANK EC 1351 DIGITAL COMMUNICATION YEAR / SEM : III / VI UNIT I- PULSE MODULATION PART-A (2 Marks) 1. What is the purpose of sample and hold

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

Channel Coding and Cryptography

Forward Error Correction for experimental wireless ftp radio link over analog FM

EC6501 Digital Communication

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

UNIT I Source Coding Systems

Intro to coding and convolutional codes

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

Data and Computer Communications

Lecture 6: Reliable Transmission"

Performance Evaluation of Error Correcting Techniques for OFDM Systems

Convolutional Coding Using Booth Algorithm For Application in Wireless Communication

Contents Chapter 1: Introduction... 2

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

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

Lecture 9b Convolutional Coding/Decoding and Trellis Code modulation

The Development & Implementation of Reed Solomon Codes for OFDM Using Software-Defined Radio Platform

Wireless Communications

PERFORMANCE ELEVATION CRITERIA OF RS CODED OFDM TRANSMISSION OVER NOISY CHANNEL

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

AN INTRODUCTION TO ERROR CORRECTING CODES Part 2

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

Running head: ERROR CORRECTION 1. Studies in Error Correction Coding. Hannah Kirse

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

BER Performance Analysis of QAM Modulation Techniques in MIMO Rayleigh Channel for WCDMA System

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

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

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

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

ETSI TS V1.1.2 ( )

Transcription:

Revision of Lecture Eleven Previous lecture we have concentrated on carrier recovery for QAM, and modified early-late clock recovery for multilevel signalling as well as star 16QAM scheme Thus we have completed Modem, under ideal AWGN or flat fading channel condition multiplexing multiple access CODEC MODEM Wireless Channel If channel is dispersive, equalisation is required we will return to this issue as well as issue of multiple access later We now turn to CODEC part we will concentrate on channel coding and decoding, but not source coding and decoding For practical source coder and decoder, refer to 2nd half unit of Digital Transmission 137

Channel Coding Introduction Mobile channels are very hostile environments, and yet real systems work satisfactorily. One of the contributors to this success is channel coding Channel coding is used to detect and often correct symbols that are received in error Error detection can be used by receiver to generate ARQ to transmitter for a re-transmission of the frame in error, as in computer networks (stop & wait, go-back-n, selective repeat protocols) When re-transmission is not an option: forward error correction coding, which introduces extra information (redundancy) into transmitted data for receiver to detect and correct errors Some examples: Others non-cyclic FEC coding Block codes linear Polynomial (cyclic) Golay Bose-Chaudhuri-Hocquenhem Reed-Solomon Binary BCH Convolutional codes Binary BCH and Convolutional codes widely used in various practical communications systems Reed-Solomon codes used in music CD Golay codes used in Mars explorer 138

Block Code Introduction There are systematic and non-systematic codes. For block codes, systematic ones are more powerful Rate R = k/n block code: k information bits plus r = n k check bits forms a codeword. All valid codewords form a codebook (n, k) systematic block code message blocks message channel encoder code blocks message check bits k bits k r Rate R=k/n k+r =n Systematic: k information bits must be explicitly transmitted (more strict definition also requires they are transmitted together as a block) Systematic linear block code: first k bits of a codeword are message bits, and last n k check bits are linear combinations of the k message bits 139

Linear Block Code: Encoding Let c be n-bit codeword and d be k-bit message, written in row-vector form An (n, k) linear block code is defined by its k n generating matrix G G = [I k P] with k (n k) matrix P specifying the given (n,k) linear block code, and I k being identity matrix of order k Encoding process can then be written as c = dg All elements in P are binary valued, and binary (modulo-2) arithmetic operations are carried out A binary sequence of n bits should have 2 n patterns, denoting as c i, 1 i 2 n, but c only contains 2 k codewords, i.e. it can only take some of { c i }, called legal sequences only these legal sequences can be transmitted If receiver encounters an illegal sequence c i (not a codeword), what it says? 140

Example (6, 3) linear block code with generating matrix and codebook G = 1 0 0 0 1 1 0 1 0 1 0 1 0 0 1 1 1 0 massages codewords 000 000 000 001 001 110 010 010 101 011 011 011 100 100 011 101 101 101 110 110 110 111 111 000 For example, for message d=110, parity check bits are c 4 = 1 0 + 1 1 + 0 1 = 0 + 1 + 0 = 1 c 5 = 1 1 + 1 0 + 0 1 = 1 + 0 + 0 = 1 c 6 = 1 1 + 1 1 + 0 0 = 1 + 1 + 0 = 0 Note the binary modulo-2 arithmetic operations involved 2 6 = 64 but only 2 3 = 8 legal codewords e.g. 111111 is not a legal codeword If receiver encounters 111111 it must be due to error, as 111111 will never be sent 141

Linear Block Code: Decoding Each k n generating matrix G = [I k P] is associated with a (n k) n parity check matrix H = [P T I n k ] Basic property of codeword: c is a codeword in the (n, k) block code generated by G, if and only if ch T = 0 Received row vector r can be written as r = c + e All the elements are binary valued, e.g. if the transmitted c i = 1 and is received in error: r i = 0, then e i = 1 (n k) (row vector) error syndrome s = rh T = (c + e)h T = ch T + eh T = eh T s is related to the error vector e, and can be used to detect and correct errors 142

Error Detection and Correction Capabilities Weight of a codeword c is the number of nonzero elements in c Hamming distance between two codewords c 1 and c 2 is the number of elements in which they differ Minimum distance of a codebook, d min, is the smallest Hamming distance between any pair of codewords in the codebook The minimum distance d min of a linear block code is equal to the minimum weight of any nonzero codeword in the code Code with d min can detect up to d min 1 errors and correct up to (d min 1)/2 errors in each codeword Here we are considering binary codes, where Hamming distance is defined For error correction capability, we refer to hard-input hard-output decoding, i.e. decoder input is in hard bits and it outputs hard bits, later we will see soft-input decoding has better capability 143

Cyclic Codes Cyclic or polynomial generated codes are subset of linear block codes with some nice properties Definition of cyclic: if (c 0, c 1, c n 2, c n 1 ) is a codeword then (c n 1, c 0, c n 3, c n 2 ) is also a codeword in the same code A k-bit message d = (d 0, d 1,, d k 1 ) can be described by a message polynomial d(x): d(x) = d 0 + d 1 x 1 + + d k 1 x k 1 The code is defined by its generating polynomial g(x) = g 0 + g 1 x 1 + + g r x r with g 0 = 1 and g r = 1 The n-bit codeword c = (c 0, c 1,, c n 1 ) for d is described by a polynomial «xr d(x) c(x) = Rem + x r d(x) g(x) where the remainder of x r d(x)/g(x), Rem(x r d(x)/g(x)), is a polynomial up to order x r 1 (i.e. r check bits), called parity check polynomial for d(x) All calculations use modulo-2 arithmetic 144

Cyclic Codes (continue) Example of (7,4) cyclic code with g(x) = 1 + x 2 + x 3 : for message d = 0101, d(x) = x 1 +x 3, x 3 d(x) = x 4 +x 6, Rem(x 3 d(x)/g(x)) = 1, c(x) = 1+x 4 +x 6, and thus check message c= 1 0 0 0 1 0 1 In decoding, the received r(x) = c(x) + e(x) with nonzero terms in e(x) indicating errors, and the syndrome polynomial is calculated: ( ) c(x) + e(x) Rem = Rem g(x) ( ) e(x) g(x) = s(x) If it is a zero syndrome: no error or undetectable errors (e(x) contains factor g(x)); if a nonzero syndrome: errors detected and it is used for error correction Encoding and syndrome calculation can easily be implemented using shift register feedback circuits 145

Cyclic Code Encoder (n, k) cyclic code encoder: an (n k) stage shift register with a feedback circuit X g 1... X S1 g n-k-1 g,g =1 0 n-k r 0 +... + r 1 (n-k) stage shift register r n-k-1 d(x) + S2 c(x) The circuit operates under a clock and an encoding cycle consists of n shifts Shift register always starts at zero state, i.e. all r i = 0, and ends at zero state During the first k shifts, S1 is closed shift d(x) into the shift register; and S2 is down copy d(x) directly to c(x) After the k-th shift, the contents of the (n k) stage shift register are the n k parity check bits for d(x) During the remaining n k shifts, S1 is open and S2 is up clear the shift register contents out to c(x) 146

Example (7,4) cyclic code with g(x) = 1 + x + x 3 Given message d(x) = 1 + x 2 + x 3 : r 0 + + r 1 S1 r 2 S2 d(x) c(x) input shift register codeword index r 0 r 1 r 2 c 0 c 1 c 2 c 3 c 4 c 5 c 6 1 0 1 1 0 0 0 0 - - - - - - - 1 0 1 1 1 1 0 - - - - - - 1 1 0 2 1 0 1 - - - - - 1 1 1 3 1 0 0 - - - - 0 1 1-4 1 0 0 - - - 1 0 1 1-5 0 1 0 - - 0 1 0 1 1-6 0 0 1-0 0 1 0 1 1-7 0 0 0 1 0 0 1 0 1 1 147

Cyclic Code Syndrome Calculation (n, k) cyclic code syndrome calculation circuit: X g 1... X S1 g n-k-1 g,g =1 0 n-k r(x) + s 0 + s 1... + s n-k-1 s(x) S2 (n-k) stage shift register The register is initialised to the zero state S1 is closed and S2 is opened the received r(x) is shifted into register After this, contents of register are s(x) S1 is opened and S2 is closed s(x) is shifted out and the register is cleared, ready for the next cycle 148

Other FEC Codes BCH is a subset of cyclic codes with the largest d min for given (n,k) and a BCH code is denoted by (n,k, d min ). This is a class of powerful and widely used FEC codes Non-binary (i.e. can take values not just 0 and 1) version is called Reed-Solomon code and is used e.g. in music CD Golay codes: e.g. Mars explorer uses Golay code Convolutional codes: In block codes, a n-bit codeword at a time unit t, c(t), depends only on the k-bit data, d(t), at the time t For convolutional codes, c(t) also depends on N (N > 0) previous blocks of data d(t i), 1 i N CC(n, k,n): rate R = k/n, constraint length N (or memory N + 1), usually n,k and N are small 149

Summary Channel coding introduction: FEC coding and classification Systematic block codes linear block codes cyclic (polynomial generated) codes binary BCH codes Error detection and correction capabilities Systematic linear block codes: generating matrix and encoding; parity check matrix and syndrome Cyclic codes: how every things can be described by polynomials, encoder and syndrome calculation (shift register feedback circuits) BCH: subset of cyclic codes with the largest d min for given (n,k) Convolutional codes: differences with linear block codes 150