Digital Communication Systems ECS 452

Similar documents
Error Protection: Detection and Correction

Error Detection and Correction: Parity Check Code; Bounds Based on Hamming Distance

Principles of Communications ECS 332

FREDRIK TUFVESSON ELECTRICAL AND INFORMATION TECHNOLOGY

Digital Television Lecture 5

Revision of Lecture Eleven

Error Correction with Hamming Codes

Chapter 10 Error Detection and Correction 10.1

Hamming Codes as Error-Reducing Codes

Channel Coding/Decoding. Hamming Method

Basics of Error Correcting Codes

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

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

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

Digital Communication Systems ECS 452

Hamming Codes and Decoding Methods

Communications Theory and Engineering

6. FUNDAMENTALS OF CHANNEL CODER

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

Error-Correcting Codes

Error Detection and Correction

Lecture 6: Reliable Transmission"

Lecture 3 Data Link Layer - Digital Data Communication Techniques

Digital Communication Systems ECS 452

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

code V(n,k) := words module

EE521 Analog and Digital Communications

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

Chapter 1 Coding for Reliable Digital Transmission and Storage

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

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

Digital Data Communication Techniques

Outline. Communications Engineering 1

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

Intro to coding and convolutional codes

Mobile Communications TCS 455

16.36 Communication Systems Engineering

The idea of similarity is through the Hamming

Performance of Reed-Solomon Codes in AWGN Channel

Physical-Layer Services and Systems

Exercises to Chapter 2 solutions

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

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

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

Error Control Codes. Tarmo Anttalainen

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

Introduction to Coding Theory

Introduction to Error Control Coding

Physical-Layer Network Coding Using GF(q) Forward Error Correction Codes

S Coding Methods (5 cr) P. Prerequisites. Literature (1) Contents

LDPC Decoding: VLSI Architectures and Implementations

Coding for Efficiency

Study of Undetected Error Probability of BCH codes for MTTFPA analysis

Lab/Project Error Control Coding using LDPC Codes and HARQ

Decoding of Block Turbo Codes

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

Chapter 10 Error Detection and Correction

Wireless Communications

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

ELG 5372 Error Control Coding. Lecture 10: Performance Measures: BER after decoding

ECE 6640 Digital Communications

ECS455: Chapter 4 Multiple Access

2 Logic Gates THE INVERTER. A logic gate is an electronic circuit which makes logic decisions. It has one output and one or more inputs.

This Figure here illustrates the operation for a 2-input OR gate for all four possible input combinations.

1.6 Congruence Modulo m

Graphs of Tilings. Patrick Callahan, University of California Office of the President, Oakland, CA

EC Talk. Asst. Prof. Dr. Prapun Suksompong.

Combinational Circuits: Multiplexers, Decoders, Programmable Logic Devices

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

Game Theory and Algorithms Lecture 19: Nim & Impartial Combinatorial Games

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

ECE 6640 Digital Communications

Computing and Communications 2. Information Theory -Channel Capacity

Implementation / Programming: Random Number Generation

HUFFMAN CODING. Catherine Bénéteau and Patrick J. Van Fleet. SACNAS 2009 Mini Course. University of South Florida and University of St.

Asst. Prof. Thavatchai Tayjasanant, PhD. Power System Research Lab 12 th Floor, Building 4 Tel: (02)

Permutations. = f 1 f = I A

DIGITAL DATA COMMUNICATION TECHNIQUES

Robust Reed Solomon Coded MPSK Modulation

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

Chapter 4 Cyclotomic Cosets, the Mattson Solomon Polynomial, Idempotents and Cyclic Codes

Error Correcting Code

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

Synchronization of Hamming Codes

Combinational Logic Circuits. Combinational Logic

AN INTRODUCTION TO ERROR CORRECTING CODES Part 2

FOR applications requiring high spectral efficiency, there

FPGA Implementation Of An LDPC Decoder And Decoding. Algorithm Performance

High-Rate Non-Binary Product Codes

Hamming net based Low Complexity Successive Cancellation Polar Decoder

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

Error Detection and Correction

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

Convolutional Coding Using Booth Algorithm For Application in Wireless Communication

MATH 433 Applied Algebra Lecture 12: Sign of a permutation (continued). Abstract groups.

6.004 Computation Structures Spring 2009

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

NATIONAL OPEN UNIVERSITY OF NIGERIA SCHOOL OF SCIENCE AND TECHNOLOGY COURSE CODE: CIT 754 COURSE TITLE: DIGITAL COMMUNICATION

1 Introduction. 2 An Easy Start. KenKen. Charlotte Teachers Institute, 2015

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

Transcription:

Digital Communication Systems ECS 452 Asst. Prof. Dr. Prapun Suksompong prapun@siit.tu.ac.th 5. Channel Coding 1 Office Hours: BKD, 6th floor of Sirindhralai building Tuesday 14:20-15:20 Wednesday 14:20-15:20 Friday 9:15-10:15 Digital Communication Systems ECS 452 Asst. Prof. Dr. Prapun Suksompong prapun@siit.tu.ac.th 5.1 Binary Linear Block Codes 2

Review: Block Encoding We mentioned the general form of channel coding over BSC. In particular, we looked at the general form of block codes. 3 k bits k bits k bits n bits n bits n bits (n,k) codes: n-bit blocks are used to conveys k-info-bit blocks Assume n > k codewords Rate: Code length Dimension of the code. messages Max. achievable rate Recall that the capacity of BSC is. For, we also have. Achievable rate is < 1. = the collection of all codewords for the code considered Each n-bit block is selected from. The message (data block) has k bits, so there are 2 k possibilities. A reasonable code would not assign the same codeword to different messages. Therefore, there are 2 k (distinct) codewords in. Ex. Repetition code with n = 3 4

MATHEMATICAL SCRIPT CAPITAL C 5 [ http://www.charbase.com/1d49e-unicode-mathematical-script-capital-c ] GF(2) The construction of the codes can be expressed in matrix form using the following definition of addition and multiplication of bits: 6 These are modulo-2 addition and modulo-2 multiplication, respectively. The operations are the same as the exclusive-or (XOR) operation and the AND operation. We will simply call them addition and multiplication so that we can use a matrix formalism to define the code. The two-element set {0, 1} together with this definition of addition and multiplication is a number system called a finite field or a Galois field, and is denoted by the label GF(2).

GF(2) The construction of the codes can be expressed in matrix form using the following definition of addition and multiplication of bits: 7 Note that The above property implies x x x x xx x x By definition, -x is something that, when added with x, gives 0. Extension: For vector and matrix, apply the operations to the elements the same way that addition and multiplication would normally apply (except that the calculations are all in GF(2)). BSC and the Error Pattern x BSC y Again, to transmit k information bits, the channel is used n times. Encoder BSC k n 8 error pattern Its nonzero elements mark the positions of transmission error in y

Review: Block Decoding In this chapter, we assume the use of minimum distance decoder. Recall 1. The MAP decoder is the optimal decoder. 2. When the codewords are equally-likely, the ML decoder the same as the MAP decoder; hence it is also optimal. 3. When the crossover probability of the BSC p is < 0.5, ML decoder is the same as the minimum distance decoder. Also, in this chapter, we will focus less on probabilistic analysis, but more on explicit codes. 9 10 Vector Notation : column vector : row vector Subscripts represent element indices inside individual vectors. and refer to the i th elements inside the vectors and, respectively. When we have a list of vectors, we use superscripts in parentheses as indices of vectors. is a list of M column vectors is a list of M row vectors and refer to the i th vectors in the corresponding lists.

Harpoon a long, heavy spear attached to a rope, used for killing large fish or whales 11 Linear Block Codes Definition: is a (binary) linear (block) code if and only if forms a vector (sub)space (over GF(2)). In case you forgot about the concept of vector space, Equivalently, this is the same as requiring that f and then Note that any (non-empty) linear code must contain 0. Ex. The code that we considered in HW4 is 00000,01000,10001,11111 Is it a linear code? 12

Linear Block Codes: Motivation (1) Why linear block codes are popular? Recall: General block encoding Characterized by its codebook. 13 Can be realized by combinational/combinatorial circuit. If lucky, can used K-map to simplify the circuit. 14 Linear Block Codes: Motivation (2) Why linear block codes are popular? Linear block encoding is the same as matrix multiplication. See next slide. The matrix replaces the table for the codebook. The size of the matrix is only bits. Compare this against the table (codebook) of size bits for general block encoding. Linearity easier implementation and analysis Performance of the class of linear block codes is similar to performance of the general class of block codes. Can limit our study to the subclass of linear block codes without sacrificing system performance.

Linear Block Codes: Generator Matrix For any linear code, there is a matrix = called the generator matrix such that, for any codeword, there is a message vector which produces by mod-2 summation 15 Note: (1) Any codeword can be expressed as a linear combination of the rows of G (2) Linear Block Codes: Examples Repetition code: Single-parity-check code: parity bit 16

Vectors representing 3-bit codewords Triple-repetition code Parity-check code 17 Related Idea: Even Parity vs. Odd Parity Parity bit checking is used occasionally for transmitting ASCII characters, which have 7 bits, leaving the 8th bit as a parity bit. Two options: Even Parity: Added bit ensures an even number of 1s in each codeword. A: 10000010 Odd Parity: Added bit ensures an odd number of 1s in each codeword. A: 10000011 18

Even Parity vs. Odd Parity Even parity and odd parity are properties of a codeword (a vector), not a bit. Note: The generator matrix previously considered produces even parity codeword Q: Consider a code that uses odd parity. Is it linear? 19 Error Control using Parity Bit If an odd number of bits (including the parity bit) are transmitted incorrectly, the parity bit will be incorrect, thus indicating that a parity error occurred in the transmission. Ex. Suppose we use even parity. Consider the codeword 10000010 20 Suitable for detecting errors; cannot correct any errors

Error Detection Two types of error control: 1. error detection 2. error correction Error detection: the determination of whether errors are present in a received word. An error pattern is undetectable if and only if it causes the received word to be a valid codeword other than that which was transmitted. Ex: In single-parity-check code, error will be undetectable when the number of bits in error is even. 21 Error Correction In FEC (forward error correction) system, when the decoder detects error, the arithmetic or algebraic structure of the code is used to determine which of the valid codewords was transmitted. It is possible for a detectable error pattern to cause the decoder to select a codeword other than that which was actually transmitted. The decoder is then said to have committed a decoding error. 22

Square array for error correction by parity checking. The codeword is formed by arranging k message bits in a square array whose rows and columns are checked by parity bits. A transmission error in one message bit causes a row and column parity failure with the error at the intersection, so single errors can be corrected. 23 [Carlson & Crilly, p 594] Weight and Distance The weight of a codeword or an error pattern is the number of nonzero coordinates in the codeword or the error pattern. The weight of a codeword is commonly written as. Ex. The Hamming distance between two n-bit blocks is the number of coordinates in which the two blocks differ. Ex. 24

Review: Minimum Distance (d min ) The minimum distance (d min ) of a block code is the minimum Hamming distance between all distinct pairs of codewords. HW4 25 d min : two important facts For any linear block code, the minimum distance (d min ) can be found from minimum weight of its nonzero codewords. So, instead of checking pairs, simply check the weight of the codewords. A code with minimum distance d min can detect all error patterns of weight w d min -1. correct all error patterns of weight w. the floor function 26