Digital Communications I: Modulation and Coding Course Term 3 - 2008 Catharina Logothetis Lecture 9.

Slides:



Advertisements
Similar presentations
Mahdi Barhoush Mohammad Hanaysheh
Advertisements

Cyclic Code.
Error Control Code.
CHANNEL CODING REED SOLOMON CODES.
Data and Computer Communications Tenth Edition by William Stallings Data and Computer Communications, Tenth Edition by William Stallings, (c) Pearson Education.
II. Linear Block Codes. © Tallal Elshabrawy 2 Last Lecture H Matrix and Calculation of d min Error Detection Capability Error Correction Capability Error.
Cellular Communications
Chapter 3: Channel Coding (part 1)
Coding and Error Control
Lecture 9-10: Error Detection and Correction Anders Västberg Slides are a selection from the slides from chapter 8 from:
DIGITAL COMMUNICATION Coding
Error detection/correction FOUR WEEK PROJECT 1 ITEMS TO BE DISCUSSED 1.0 OVERVIEW OF CODING STRENGTH (3MINS) Weight/distance of binary vectors Error detection.
EEE377 Lecture Notes1 EEE436 DIGITAL COMMUNICATION Coding En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room 2.14.
Chapter 11 Error-Control CodingChapter 11 : Lecture edition by K.Heikkinen.
EC 723 Satellite Communication Systems
DIGITAL COMMUNICATION Coding
Linear codes 1 CHAPTER 2: Linear codes ABSTRACT Most of the important codes are special types of so-called linear codes. Linear codes are of importance.
Syndrome Decoding of Linear Block Code
Linear Codes.
DIGITAL COMMUNICATION Error - Correction A.J. Han Vinck.
USING THE MATLAB COMMUNICATIONS TOOLBOX TO LOOK AT CYCLIC CODING Wm. Hugh Blanton East Tennessee State University
1 S Advanced Digital Communication (4 cr) Cyclic Codes.
Channel Coding and Error Control
Channel Coding Part 1: Block Coding
Copyright © 2003, Dr. Dharma P. Agrawal and Dr. Qing-An Zeng. All rights reserved. 1 Chapter 4 Channel Coding.
Lecture 10: Error Control Coding I Chapter 8 – Coding and Error Control From: Wireless Communications and Networks by William Stallings, Prentice Hall,
1 Channel Coding (II) Cyclic Codes and Convolutional Codes.
Error Control Code. Widely used in many areas, like communications, DVD, data storage… In communications, because of noise, you can never be sure that.
1 SNS COLLEGE OF ENGINEERING Department of Electronics and Communication Engineering Subject: Digital communication Sem: V Cyclic Codes.
Cyclic Code. Linear Block Code Hamming Code is a Linear Block Code. Linear Block Code means that the codeword is generated by multiplying the message.
Codes Codes are used for the following purposes: - to detect errors - to correct errors after detection Error Control Coding © Erhan A. Ince Types: -Linear.
March 29, 2005Week 11 1 EE521 Analog and Digital Communications James K. Beard, Ph. D. Tuesday, March 29, 2005
MIMO continued and Error Correction Code. 2 by 2 MIMO Now consider we have two transmitting antennas and two receiving antennas. A simple scheme called.
Chapter 3 Digital Transmission Fundamentals Line Coding Error Detection and Correction.
Lecture 3-2: Coding and Error Control (Cont.) ECE
COSC 3213: Computer Networks I Instructor: Dr. Amir Asif Department of Computer Science York University Section M Topics: 1. Error Detection Techniques:
1 Chapter 8. Coding and Error Control Wen-Shyang Hwang KUAS EE.
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 12.
Basic Characteristics of Block Codes
March 22, 2005Week 10 1 EE521 Analog and Digital Communications James K. Beard, Ph. D. Tuesday, March 22, 2005
Coding Theory. 2 Communication System Channel encoder Source encoder Modulator Demodulator Channel Voice Image Data CRC encoder Interleaver Deinterleaver.
§6 Linear Codes § 6.1 Classification of error control system § 6.2 Channel coding conception § 6.3 The generator and parity-check matrices § 6.5 Hamming.
DIGITAL COMMUNICATIONS Linear Block Codes
6876: Communication Networks ERROR CONTROL STRATEGIES Error Control Strategies Forward Error Correction (FEC) Automatic Repeat Request (ARQ)
ADVANTAGE of GENERATOR MATRIX:
Linear Block Code 指導教授:黃文傑 博士 學生:吳濟廷
Chapter 31 INTRODUCTION TO ALGEBRAIC CODING THEORY.
Information and Coding Theory Cyclic codes Juris Viksna, 2015.
Information Theory Linear Block Codes Jalal Al Roumy.
The parity bits of linear block codes are linear combination of the message. Therefore, we can represent the encoder by a linear system described by matrices.
Error Detection and Correction – Hamming Code
Some Computation Problems in Coding Theory
Error Detection and Correction
INFORMATION THEORY Pui-chor Wong.
Hamming Distance & Hamming Code
Error Control Coding. Purpose To detect and correct error(s) that is introduced during transmission of digital signal.
Exercise in the previous class (1) Define (one of) (15, 11) Hamming code: construct a parity check matrix, and determine the corresponding generator matrix.
Block Coded Modulation Tareq Elhabbash, Yousef Yazji, Mahmoud Amassi.
II. Linear Block Codes. © Tallal Elshabrawy 2 Digital Communication Systems Source of Information User of Information Source Encoder Channel Encoder Modulator.
Channel Coding: Part I Presentation II Irvanda Kurniadi V. ( ) Digital Communication 1.
Digital Communications Chapter 6. Channel Coding: Part 1
Coding and Error Control
Lecture 4 Error Detecting and Correcting Techniques Dr. Ghalib A. Shah
8 Coding Theory Discrete Mathematics: A Concept-based Approach.
Chapter 6.
Subject Name: Information Theory Coding Subject Code: 10EC55
Chapter 6.
II. Linear Block Codes.
DIGITAL COMMUNICATION Coding
Coding and Error Control
Presentation transcript:

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

2 Last time we talked about: Evaluating the average probability of symbol error for different bandpass modulation schemes Comparing different modulation schemes based on their error performances.

Lecture 93 Today, we are going to talk about: Channel coding Linear block codes The error detection and correction capability Encoding and decoding Hamming codes Cyclic codes

Lecture 94 Block diagram of a DCS Format Source encode Format Source decode Channel encode Pulse modulate Bandpass modulate Channel decode Demod. Sample Detect Channel Digital modulation Digital demodulation

Lecture 95 Channel coding: Transforming signals to improve communications performance by increasing the robustness against channel impairments (noise, interference, fading,...)‏ Waveform coding: Transforming waveforms to better waveforms Structured sequences: Transforming data sequences into better sequences, having structured redundancy. -“Better” in the sense of making the decision process less subject to errors. What is channel coding?

Lecture 96 Error control techniques Automatic Repeat reQuest (ARQ)‏ Full-duplex connection, error detection codes The receiver sends feedback to the transmitter, saying that if any error is detected in the received packet or not (Not-Acknowledgement (NACK) and Acknowledgement (ACK), respectively). The transmitter retransmits the previously sent packet if it receives NACK. Forward Error Correction (FEC)‏ Simplex connection, error correction codes The receiver tries to correct some errors Hybrid ARQ (ARQ+FEC)‏ Full-duplex, error detection and correction codes

Lecture 97 Why using error correction coding? Error performance vs. bandwidth Power vs. bandwidth Data rate vs. bandwidth Capacity vs. bandwidth A F B D C E Uncoded Coded Coding gain: For a given bit-error probability, the reduction in the Eb/N0 that can be realized through the use of code:

Lecture 98 Channel models Discrete memory-less channels Discrete input, discrete output Binary Symmetric channels Binary input, binary output Gaussian channels Discrete input, continuous output

Lecture 99 Linear block codes Let us review some basic definitions first that are useful in understanding Linear block codes.

Lecture 910 Some definitions Binary field : The set {0,1}, under modulo 2 binary addition and multiplication forms a field. Binary field is also called Galois field, GF(2). Addition Multiplication

Lecture 911 Some definitions… Fields : Let F be a set of objects on which two operations ‘+’ and ‘.’ are defined. F is said to be a field if and only if 1.F forms a commutative group under + operation. The additive identity element is labeled “0”. 1.F-{0} forms a commutative group under. Operation. The multiplicative identity element is labeled “1”. 1.The operations “+” and “.” are distributive:

Lecture 912 Some definitions… Vector space: Let V be a set of vectors and F a fields of elements called scalars. V forms a vector space over F if: 1. Commutative: Distributive: 4. Associative: 5.

Lecture 913 Some definitions… Examples of vector spaces The set of binary n-tuples, denoted by Vector subspace: A subset S of the vector space is called a subspace if: The all-zero vector is in S. The sum of any two vectors in S is also in S. Example:

Lecture 914 Some definitions… Spanning set: A collection of vectors, is said to be a spanning set for V or to span V if linear combinations of the vectors in G include all vectors in the vector space V, Example: Bases: The spanning set of V that has minimal cardinality is called the basis for V. Cardinality of a set is the number of objects in the set. Example:

Lecture 915 Linear block codes Linear block code (n,k)‏ A set with cardinality is called a linear block code if, and only if, it is a subspace of the vector space. Members of C are called code-words. The all-zero codeword is a codeword. Any linear combination of code-words is a codeword.

Lecture 916 Linear block codes – cont’d Bases of C mapping

Lecture 917 Linear block codes – cont’d The information bit stream is chopped into blocks of k bits. Each block is encoded to a larger block of n bits. The coded bits are modulated and sent over the channel. The reverse procedure is done at the receiver. Data block Channel encoder Codeword k bits n bits

Lecture 918 Linear block codes – cont’d The Hamming weight of the vector U, denoted by w(U), is the number of non-zero elements in U. The Hamming distance between two vectors U and V, is the number of elements in which they differ. The minimum distance of a block code is

Lecture 919 Linear block codes – cont’d Error detection capability is given by Error correcting-capability t of a code is defined as the maximum number of guaranteed correctable errors per codeword, that is

Lecture 920 Linear block codes – cont’d For memory less channels, the probability that the decoder commits an erroneous decoding is is the transition probability or bit error probability over channel. The decoded bit error probability is

Lecture 921 Linear block codes – cont’d Discrete, memoryless, symmetric channel model Note that for coded systems, the coded bits are modulated and transmitted over the channel. For example, for M-PSK modulation on AWGN channels (M>2): where is energy per coded bit, given by Tx. bitsRx. bits 1-p p p

Lecture 922 Linear block codes –cont’d A matrix G is constructed by taking as its rows the vectors of the basis,. Bases of C mapping

Lecture 923 Linear block codes – cont’d Encoding in (n,k) block code The rows of G are linearly independent.

Lecture 924 Linear block codes – cont’d Example: Block code (6,3)‏ Message vectorCodeword

Lecture 925 Linear block codes – cont’d Systematic block code (n,k)‏ For a systematic code, the first (or last) k elements in the codeword are information bits.

Lecture 926 Linear block codes – cont’d For any linear code we can find a matrix, such that its rows are orthogonal to the rows of : H is called the parity check matrix and its rows are linearly independent. For systematic linear block codes:

Lecture 927 Linear block codes – cont’d Syndrome testing: S is the syndrome of r, corresponding to the error pattern e. Format Channel encoding Modulation Channel decoding Format Demodulation Detection Data source Data sink channel

Lecture 928 Linear block codes – cont’d Standard array For row find a vector in of minimum weight that is not already listed in the array. Call this pattern and form the row as the corresponding coset zero codeword coset coset leaders

Lecture 929 Linear block codes – cont’d Standard array and syndrome table decoding 1.Calculate 2.Find the coset leader,, corresponding to. 3.Calculate and the corresponding. Note that If, the error is corrected. If, undetectable decoding error occurs.

Lecture 930 Linear block codes – cont’d Example: Standard array for the (6,3) code Coset leaders coset codewords

Lecture 931 Linear block codes – cont’d Error patternSyndrome

Lecture 932 Hamming codes Hamming codes are a subclass of linear block codes and belong to the category of perfect codes. Hamming codes are expressed as a function of a single integer. The columns of the parity-check matrix, H, consist of all non-zero binary m-tuples. Hamming codes

Lecture 933 Hamming codes Example: Systematic Hamming code (7,4)‏

Lecture 934 Cyclic block codes Cyclic codes are a subclass of linear block codes. Encoding and syndrome calculation are easily performed using feedback shift- registers. Hence, relatively long block codes can be implemented with a reasonable complexity. BCH and Reed-Solomon codes are cyclic codes.

Lecture 935 Cyclic block codes A linear (n,k) code is called a Cyclic code if all cyclic shifts of a codeword are also codewords. Example: “i” cyclic shifts of U

Lecture 936 Cyclic block codes Algebraic structure of Cyclic codes, implies expressing codewords in polynomial form Relationship between a codeword and its cyclic shifts: Hence: By extension

Lecture 937 Cyclic block codes Basic properties of Cyclic codes: Let C be a binary (n,k) linear cyclic code 1.Within the set of code polynomials in C, there is a unique monic polynomial with minimal degree is called the generator polynomial. 1.Every code polynomial in C can be expressed uniquely as 2.The generator polynomial is a factor of

Lecture 938 Cyclic block codes The orthogonality of G and H in polynomial form is expressed as. This means is also a factor of 1.The row, of the generator matrix is formed by the coefficients of the cyclic shift of the generator polynomial.

Lecture 939 Cyclic block codes Systematic encoding algorithm for an (n,k) Cyclic code: 1.Multiply the message polynomial by 1.Divide the result of Step 1 by the generator polynomial. Let be the reminder. 1.Add to to form the codeword

Lecture 940 Cyclic block codes Example: For the systematic (7,4) Cyclic code with generator polynomial 1.Find the codeword for the message

Lecture 941 Cyclic block codes Find the generator and parity check matrices, G and H, respectively. Not in systematic form. We do the following:

Lecture 942 Cyclic block codes Syndrome decoding for Cyclic codes: Received codeword in polynomial form is given by The syndrome is the remainder obtained by dividing the received polynomial by the generator polynomial. With syndrome and Standard array, the error is estimated. In Cyclic codes, the size of standard array is considerably reduced. Received codeword Error pattern Syndrome

Lecture 943 Example of the block codes 8PSK QPSK