Error Detection & Correction
|
|
- Debra Scott
- 5 years ago
- Views:
Transcription
1 Error Detection & Correction Error detection & correction noisy channels techniques in networking error detection error detection capability retransmition error correction reconstruction checksums redundancy
2 Errors Errors that have no relation to each other are called random-bit errors A burst error is a large error, disrupting perhaps thousands of bits An important characteristic of any error-correction system is the burst length, that is, the maximum number of adjacent erroneous bits that can be corrected. The bit-error rate (BER) is the number of bits received in error divided by the total number of bit received. The block error rate (BLER) measures the number of blocks or frames of data per second that have at least one occurrence of uncorrected data. The burst-error length (BERL)counts the number of consecutive blocks in error. Probability calculations for small probabilities p, q - the prob. of either event estimation: p+q exact value: 1-(1-p)(1-q)=p+q-pq example: BER: 1:10 7 prob. of one error in a bit packet? est / 10 7 = 10-3 exact 1-( ) =
3 Error limiting coding Message u : = ( u 1, u 2,... u K ) Coded message c : = ( c 1, c 2,... c N ) c : = f ( u) Ex. K=2, N=3 u u 1 c c c 1 Hamming distance: (, ) : χ. d c v = { ci vi } i= 1 q Parameters Error limiting coding Messages are fixed-sized blocks from an alphabet Σ typically Σ = {0,1} q size of alphabet, Σ ; typically 2 n block length; code is a subset of Σ n k information length; Code = Σ k d is the minimum distance of the code R = k/n - the rate of the code (or the ratio of message bits to block bits). (n - log2(n)) / n is the theoretic limit. δ= d/n - relative distance (or normalized distance)
4 Parity bits Given a binary number, a residue bit can be formed by casting out 2s. This extra bit, known as a parity bit, permits error detection, but not correction. An even parity bit is formed with a simple rule : if the number of 1s in the data word is even, the parity bit is a 0; if the number of 1s in the word is odd, the parity bit is a 1. Even and odd parity Parity bits (cont.)
5 Parity bits (cont.) Error detection capability Error detection performance K=8, N=9 binary coding (1 parity bit), BER 1: bit message with error (w/o parity) 1-( ) 8 = undetected w/ parity 1 bit errors can be detected 9*10-4 ( ) 8 1-( ) 9-9*10-4 ( ) 8 =
6 Two-Dimensional Parity Parity bits Data Parity byte Cyclic codes cyclic rotation of code words also gives code words ( c 1,c 2,...,c n ) C (c n,c 1,c 2,...,c n 1 ) C F q (a 0,a 1,...,a n 1 ) F n q a 0 + a 1 x a n 1 x n 1 F q [ x] ( ) = { a 0 + a 1 x a n 1 x n 1 a i F q,0 i < n} [ x] x n 1
7 Internet Checksum Algorithm Idea: view message as a sequence of 16-bit integers. Add these integers together using 16-bit ones complement arithmetic, and then take the ones complement of the result. That 16-bit number is the checksum. u_short cksum(u_short *buf, int count) { register u_long sum = 0; } while (count--) { sum += *buf++; if (sum & 0xFFFF0000) { /* carry occurred, so wrap around */ sum &= 0xFFFF; sum++; } } return ~(sum & 0xFFFF);
8 Cyclic Redundancy Check Add k bits of redundant data to an n-bit message. Represent n-bit message as an n-1 degree polynomial; e.g., MSG= corresponds to M(x) = x 7 + x 4 + x 3 + x 1. Let k be the degree of some divisor polynomial C(x); e.g., C(x) = x 3 + x Transmit polynomial P(x) that is evenly divisible by C(x), and receive polynomial P(x) + E(x); E(x)=0 implies no errors. Recipient divides (P(x) + E(x)) by C(x); the remainder will be zero in only two cases: E(x) was zero (i.e. there was no error), or E(x) is exactly divisible by C(x). Choose C(x) to make second case extremely rare. Cyclic Redundancy Check
9 Sender: multiply M(x) by x k ; for our example, we get x 10 + x 7 + x 6 + x 4 ( ); divide result by C(x) (1101); Generator Message Remainder Send = , since this must be exactly divisible by C(x); Want to ensure that C(x) does not divide evenly into polynomial E(x). All single-bit errors, as long as the x k and x 0 terms have non-zero coefficients. All double-bit errors, as long as C(x) has a factor with at least three terms. Any odd number of errors, as long as C(x) contains the factor (x + 1). Any burst error (i.e sequence of consecutive errored bits) for which the length of the burst is less than k bits. Most burst errors of larger than k bits can also be detected.
10 Common polynomials for C(x): CRC CRC-8 CRC-10 CRC-12 CRC-16 CRC-CCITT CRC-32 C(x) x 8 +x 2 +x 1 +1 x 10 +x 9 +x 5 +x 4 +x 1 +1 x 12 +x 11 +x 3 +x 2 +x 1 +1 x 16 +x 15 +x 2 +1 x 16 +x 12 +x 5 +1 x 32 +x 26 +x 23 +x 22 +x 16 +x 12 +x 11 +x 10 +x 8 +x 7 +x 5 +x 4 +x 2 +x+1 CRC calculation with shift register position of XOR gates if term x n is in the generator put XOR gate before corresp. shift register generator: x 3 + x 2 +1 Message x 0 x 1 XOR gate x 2
11 CRC as cyclic binary systematic code c( x) = g( x) u( x) h(x) = x N 1 g(x) c(x)h(x) = 0 mod ( x N 1) c(x) = u(x) x N-K [ u(x) x N K mod g(x) ] Fletcher s checksum software CRC generation and testing is processor intensive approx. 50 machine instructions per byte of data Fletcher s checksum is nearly equal in error detection, but requires much less computation all single bit error double bit errors if they are close vs bits 4-5 machine instructions per byte of data
12 Fletcher s checksum integer i, sum1,sum2 sum1=0 sum2=0 for i from 1 to msg_length do sum1=(sum1+msg[i]) mod 255 sum2=(sum2+sum1) mod 255 end for check1=255-((sum1+sum2) mod 255) msg[msg_length+1]=check1 check2=255-((sum1+check1) mod 255) msg[msg_length+2]=check2 Checksum performace CRC bit cont. burst 2 bit errors in 64K blocks all odd number bit errors Internet checksum (16 bit) all 1 bit errors order independent most efficent calculation Fletcher s checksum (16 bit - two 8 bit xsum) all 1 bit error order dependent unaffected by starting or trailing zeros 15 bit burst 2 bit errors in 2040 bit blocks efficent calculation
13 Checksum performace observations checksum distributions on modest amounts of realdata are substantially different from the distributions one would anticipate for random data distribution would suggest. for the TCP checksum (and apparently Fletcher s checksum as well), the skewed distribution makes failure in the face of combined orreshuffled data more likely. compressing data clearly improves the performance of checksums. there s a strong suggestion that the common prac-tice of adjusting checksum fields to cause a packet or segment s checksum to sum to zero is a bad idea. Error correction Hamming distance defines a ball; nonintersecting balls are what permits error correction (to error correction distance). d min > 2t t corr = int d min 1 2 Errors simple error erasure t erasure = d min 1
14 Error correction codes Linear coding scheme Systematic coding scheme Error correction codes G generator matrix H parity matrix Syndrome Error s T e := v c c = u G. T G H = 0. c H T = 0 = H v T 0 = H e T
15 Parity-based encodings Hamming codes Error detecting and correcting code detects all single and double bit errors corrects all single bit errors 2 m n+1 (m check bit in block of n bit)
16 Hamming codes Calculation Write the data bits in positions whose binary representation has at least two 1 bits. Set the bits whose positions are powers of 2 so that the parity of odd-numbered bits is even, the parity of bits whose position is 2 or 3 mod 4 is even, and so on. Decoding Compute the parity of all odd-numbered bits, the parity of bits whose position is 2 or 3 mod 4, etc. Interpret these parities as a number which is a bit position. Flip the bit in that position. Read out the data bits. (7,4) Hamming code Hamming codes DDDPDPP Data bits corresponding to parity bits: The minimum distance between any two valid code words is 3.
17 (7,4) Hamming code as systematic code Code b as k=bg [ ] b = b 0 b 1 b 2 b G = To check calculate kh T H T = Hamming code example x100x0xxx x (the x is bit 0) Transmit it with an error: Compute parities: Bit 11 (1011 in binary) is in error. Flip it: Extract the data:
18 Reed-Solomon coding Systematic coding Vandermonde matrix Error correction (failure models) errors erasures s bit symbols Finite field arithmetic Reed-Solomon code Reed-Solomon codes exclusively use polynomials derived using finite field mathematic known as Galois Field to encode and decode block data. Either multiplication or addition can be used to combine elements, and the result of adding or multiplying two elements is always a third element contained in the field. In addition, there exists at least one element, such that every other element can be expressed as a power of this element.
19 Finite fields (K,+,*) is called a finite field (or Galois filed) and * are closed on K, 2. for any elements a and b of K, a+b=b+a and a*b=b*a, 3. for any elements a, b and c of K, (a+b)+c=a+(b+c) and (a*b)*c=a*(b*c), 4. for any elements a, b and c of K, a*(b+c)=a*b+a*c, 5. there exist unique an additive identity 0 and a multiplicative identity 1, 6. for any element a of K, there exists a unique additive inverse -a. And for any nonzero element b of K, there exits a unique multiplicative inverse b -1. Finite fields (cont.) There exists a finite field of order q if and only if q is a prime or prime power. (K, +(mod p), *(mod p)) is the finite field GF(p) Fields with q=p n elements p prime are called extension fields Polynomial over a GF which is unfactorable is called an irreducible polynomial If an element a of GF(q) satisfies α i 1 for all i = 1,2,..., q-2, then α is called a primitive element of GF(q).
20 Calculations Finite fields (cont.) p=2 sum bit-by-bit modulo 2 sum - XOR multiplication & division primitive element logarithm GF Example Consider a GF(2 3 ) code comprising 3-bit symbols. α is the primitive element and is the solution to the equation : F(x)=x 3 +x +1, that is α 3 +α+1 =0. The element can be represented as ordinary polynomials : 000 = =1 010 =x 011 =x =x =x =x 2 +x 111 =x 2 +x +1 Using the properties of the Galois Field and modulo 2 (where 1+1 = α+ α= α 2 + α 2 =0) 0=000, 1=001, α=010, α 2 =100, α 3 = α+1 =011 α 4 = α(α+1)= α 2 + α=110, α 5 = α 2 + α+1 =111, α 6 =(α 3 ) 2 = α 2 +1 =101, α 7 = α 3 + α=2 α+1 =1 =001
21 GF Example (cont.) Elements can be multiplied by simply adding exponents, always resulting in another element in the Galois Field. α α= α 2 = (010)(010) = 100, α 2 *α 3 = α 5 = (100)(011) = 111 RS(n,k) with s-bit symbols n=2 s -1 Coding codeword c(x)=g(x)*a(x) k=n-2t
22 Coding (cont.) coding with Vandermonde matrix codewords Reed-Solomon codes example The size of the Galois Field, which determine the number of symbols in the code, is based on the number of bits comprising a symbol; 8-bit symbols are commonly used. A primitive polynomial often used in GF(2 8 ) systems is x 8 +x 4 +x 3 +x The code can use the input word to generate two types of parity, P and Q. The P parity can be a modulo 2 sum of the symbols. The Q parity multiplies each input word by a different power of the GF primitive element. If one symbol is erroneous, the P parity gives a nonzero syndrome S1. The Q parity yields a syndrome S2. By checking this relationship between S1 and S2, the RS code can locate the error. Correction is performed by adding S1 to the designated location.
23 RS example (cont.) Suppose that A, B, C, and D are data symbols and P and Q are parity symbols of RS(6,4). The RS code will satisfy the following equations : A + B + C + D + P + Q = 0 α 6 A + α 5 B + α 4 C + α 3 D + α 2 P + α 1 Q = 0 P = α 1 A + α 2 B + α 5 C + α 3 D Q = α 3 A + α 6 B + α 4 C + α 1 D If A = 001 = 1, B = 101 = α 6, C = 011= α 3, D =100 =α 2 P = 101 = α 6, Q = 110 = α 4 Assume A, B, C, D, P, and Q are the received data S1 = A + B + C + D + P + Q S2 = α 6 A + α 5 B + α 4 C + α 3 D + α 2 P + α 1 Q RS example (cont.) Each possible error pattern is expressed by E i : S1 = E A + E B +E C + E D + E P + E Q S2 = α 6 E A + α 5 E B + α 4 E C + α 3 E D + α 2 E P + α 1 E Q If there is no error, then S1 = S2 = 0 If symbol A is erroneous, S1 = E A and S2 = α 6 S1 If symbol B is erroneous, S1 = E B and S2 = α 5 S1 If symbol C is erroneous, S1 = E C and S2 = α 4 S1 If symbol D is erroneous, S1 = E D and S2 = α 3 S1 If symbol P is erroneous, S1 = E P and S2 = α 2 S1 If symbol Q is erroneous, S1 = E Q and S2 = α 1 S1 In other word, an error results in nonzero syndromes; the value of the erroneous symbols can be determined by the difference of the weighting between S1 and S2..
24 RS example (cont.) If the received data is : A = 001 = 1, B = 101 = α 6, C = 001= 1 ( erroneous ), D = 100 = α 2, P = 101 = α 6, Q = 110 = α 4 S1 = α = 010, S2 = α 2 + α + 1 = α 5 = 111 S2 = α 4 S1, symbol C must be erroneous and because S1 = E C = 010, C = C + E C = = 011.
Optical Storage Technology. Error Correction
Optical Storage Technology Error Correction Introduction With analog audio, there is no opportunity for error correction. With digital audio, the nature of binary data lends itself to recovery in the event
More informationEECS Components and Design Techniques for Digital Systems. Lec 26 CRCs, LFSRs (and a little power)
EECS 150 - Components and esign Techniques for igital Systems Lec 26 CRCs, LFSRs (and a little power) avid Culler Electrical Engineering and Computer Sciences University of California, Berkeley http://www.eecs.berkeley.edu/~culler
More informationInformation redundancy
Information redundancy Information redundancy add information to date to tolerate faults error detecting codes error correcting codes data applications communication memory p. 2 - Design of Fault Tolerant
More informationx n k m(x) ) Codewords can be characterized by (and errors detected by): c(x) mod g(x) = 0 c(x)h(x) = 0 mod (x n 1)
Cyclic codes: review EE 387, Notes 15, Handout #26 A cyclic code is a LBC such that every cyclic shift of a codeword is a codeword. A cyclic code has generator polynomial g(x) that is a divisor of every
More informationECE 4450:427/527 - Computer Networks Spring 2017
ECE 4450:427/527 - Computer Networks Spring 2017 Dr. Nghi Tran Department of Electrical & Computer Engineering Lecture 5.2: Error Detection & Correction Dr. Nghi Tran (ECE-University of Akron) ECE 4450:427/527
More informationB. Cyclic Codes. Primitive polynomials are the generator polynomials of cyclic codes.
B. Cyclic Codes A cyclic code is a linear block code with the further property that a shift of a codeword results in another codeword. These are based on polynomials whose elements are coefficients from
More informationCyclic codes: overview
Cyclic codes: overview EE 387, Notes 14, Handout #22 A linear block code is cyclic if the cyclic shift of a codeword is a codeword. Cyclic codes have many advantages. Elegant algebraic descriptions: c(x)
More informationOutline. EECS Components and Design Techniques for Digital Systems. Lec 18 Error Coding. In the real world. Our beautiful digital world.
Outline EECS 150 - Components and esign Techniques for igital Systems Lec 18 Error Coding Errors and error models Parity and Hamming Codes (SECE) Errors in Communications LFSRs Cyclic Redundancy Check
More informationCyclic Codes. Saravanan Vijayakumaran August 26, Department of Electrical Engineering Indian Institute of Technology Bombay
1 / 25 Cyclic Codes Saravanan Vijayakumaran sarva@ee.iitb.ac.in Department of Electrical Engineering Indian Institute of Technology Bombay August 26, 2014 2 / 25 Cyclic Codes Definition A cyclic shift
More informationError Correction Review
Error Correction Review A single overall parity-check equation detects single errors. Hamming codes used m equations to correct one error in 2 m 1 bits. We can use nonbinary equations if we create symbols
More informationECEN 604: Channel Coding for Communications
ECEN 604: Channel Coding for Communications Lecture: Introduction to Cyclic Codes Henry D. Pfister Department of Electrical and Computer Engineering Texas A&M University ECEN 604: Channel Coding for Communications
More informationInformation Theory. Lecture 7
Information Theory Lecture 7 Finite fields continued: R3 and R7 the field GF(p m ),... Cyclic Codes Intro. to cyclic codes: R8.1 3 Mikael Skoglund, Information Theory 1/17 The Field GF(p m ) π(x) irreducible
More informationGetting Connected. Chapter 2, Part 2. Networking CS 3470, Section 1 Sarah Diesburg
Getting Connected Chapter 2, Part 2 Networking CS 3470, Section 1 Sarah Diesburg 1 Five Problems Encoding/decoding Framing Error Detection Error Correction Media Access 2 Five Problems Encoding/decoding
More informationObjective: To become acquainted with the basic concepts of cyclic codes and some aspects of encoder implementations for them.
ECE 7670 Lecture 5 Cyclic codes Objective: To become acquainted with the basic concepts of cyclic codes and some aspects of encoder implementations for them. Reading: Chapter 5. 1 Cyclic codes Definition
More informationCoding Theory and Applications. Solved Exercises and Problems of Cyclic Codes. Enes Pasalic University of Primorska Koper, 2013
Coding Theory and Applications Solved Exercises and Problems of Cyclic Codes Enes Pasalic University of Primorska Koper, 2013 Contents 1 Preface 3 2 Problems 4 2 1 Preface This is a collection of solved
More informationChapter 6. BCH Codes
Chapter 6 BCH Codes Description of the Codes Decoding of the BCH Codes Outline Implementation of Galois Field Arithmetic Implementation of Error Correction Nonbinary BCH Codes and Reed-Solomon Codes Weight
More informationAssume that the follow string of bits constitutes one of the segments we which to transmit.
Cyclic Redundancy Checks( CRC) Cyclic Redundancy Checks fall into a class of codes called Algebraic Codes; more specifically, CRC codes are Polynomial Codes. These are error-detecting codes, not error-correcting
More informationError Correction Methods
Technologies and Services on igital Broadcasting (7) Error Correction Methods "Technologies and Services of igital Broadcasting" (in Japanese, ISBN4-339-06-) is published by CORONA publishing co., Ltd.
More informationEECS150 - Digital Design Lecture 21 - Design Blocks
EECS150 - Digital Design Lecture 21 - Design Blocks April 3, 2012 John Wawrzynek Spring 2012 EECS150 - Lec21-db3 Page 1 Fixed Shifters / Rotators fixed shifters hardwire the shift amount into the circuit.
More informationEECS150 - Digital Design Lecture 26 Error Correction Codes, Linear Feedback Shift Registers (LFSRs)
EECS150 - igital esign Lecture 26 Error Correction Codes, Linear Feedback Shift Registers (LFSRs) Nov 21, 2002 John Wawrzynek Fall 2002 EECS150 Lec26-ECC Page 1 Outline Error detection using parity Hamming
More informationLecture 12. Block Diagram
Lecture 12 Goals Be able to encode using a linear block code Be able to decode a linear block code received over a binary symmetric channel or an additive white Gaussian channel XII-1 Block Diagram Data
More informationChapter 6 Reed-Solomon Codes. 6.1 Finite Field Algebra 6.2 Reed-Solomon Codes 6.3 Syndrome Based Decoding 6.4 Curve-Fitting Based Decoding
Chapter 6 Reed-Solomon Codes 6. Finite Field Algebra 6. Reed-Solomon Codes 6.3 Syndrome Based Decoding 6.4 Curve-Fitting Based Decoding 6. Finite Field Algebra Nonbinary codes: message and codeword symbols
More informationMultimedia Systems WS 2010/2011
Multimedia Systems WS 2010/2011 15.11.2010 M. Rahamatullah Khondoker (Room # 36/410 ) University of Kaiserslautern Department of Computer Science Integrated Communication Systems ICSY http://www.icsy.de
More informationError Detection, Correction and Erasure Codes for Implementation in a Cluster File-system
Error Detection, Correction and Erasure Codes for Implementation in a Cluster File-system Steve Baker December 6, 2011 Abstract. The evaluation of various error detection and correction algorithms and
More informationCyclic Redundancy Check Codes
Cyclic Redundancy Check Codes Lectures No. 17 and 18 Dr. Aoife Moloney School of Electronics and Communications Dublin Institute of Technology Overview These lectures will look at the following: Cyclic
More informationSolutions of Exam Coding Theory (2MMC30), 23 June (1.a) Consider the 4 4 matrices as words in F 16
Solutions of Exam Coding Theory (2MMC30), 23 June 2016 (1.a) Consider the 4 4 matrices as words in F 16 2, the binary vector space of dimension 16. C is the code of all binary 4 4 matrices such that the
More informationBinary Primitive BCH Codes. Decoding of the BCH Codes. Implementation of Galois Field Arithmetic. Implementation of Error Correction
BCH Codes Outline Binary Primitive BCH Codes Decoding of the BCH Codes Implementation of Galois Field Arithmetic Implementation of Error Correction Nonbinary BCH Codes and Reed-Solomon Codes Preface The
More informationError Correction and Trellis Coding
Advanced Signal Processing Winter Term 2001/2002 Digital Subscriber Lines (xdsl): Broadband Communication over Twisted Wire Pairs Error Correction and Trellis Coding Thomas Brandtner brandt@sbox.tugraz.at
More informationChapter 5. Cyclic Codes
Wireless Information Transmission System Lab. Chapter 5 Cyclic Codes Institute of Communications Engineering National Sun Yat-sen University Outlines Description of Cyclic Codes Generator and Parity-Check
More informationLinear Feedback Shift Registers (LFSRs) 4-bit LFSR
Linear Feedback Shift Registers (LFSRs) These are n-bit counters exhibiting pseudo-random behavior. Built from simple shift-registers with a small number of xor gates. Used for: random number generation
More informationDiscrete Mathematics and Probability Theory Spring 2016 Rao and Walrand Discussion 6A Solution
CS 70 Discrete Mathematics and Probability Theory Spring 2016 Rao and Walrand Discussion 6A Solution 1. Polynomial intersections Find (and prove) an upper-bound on the number of times two distinct degree
More informationThe Pennsylvania State University. The Graduate School. Department of Computer Science and Engineering
The Pennsylvania State University The Graduate School Department of Computer Science and Engineering A SIMPLE AND FAST VECTOR SYMBOL REED-SOLOMON BURST ERROR DECODING METHOD A Thesis in Computer Science
More informationVHDL Implementation of Reed Solomon Improved Encoding Algorithm
VHDL Implementation of Reed Solomon Improved Encoding Algorithm P.Ravi Tej 1, Smt.K.Jhansi Rani 2 1 Project Associate, Department of ECE, UCEK, JNTUK, Kakinada A.P. 2 Assistant Professor, Department of
More informationPhysical Layer and Coding
Physical Layer and Coding Muriel Médard Professor EECS Overview A variety of physical media: copper, free space, optical fiber Unified way of addressing signals at the input and the output of these media:
More informationCyclic codes. Vahid Meghdadi Reference: Error Correction Coding by Todd K. Moon. February 2008
Cyclic codes Vahid Meghdadi Reference: Error Correction Coding by Todd K. Moon February 2008 1 Definitions Definition 1. A ring < R, +,. > is a set R with two binary operation + (addition) and. (multiplication)
More informationThe BCH Bound. Background. Parity Check Matrix for BCH Code. Minimum Distance of Cyclic Codes
S-723410 BCH and Reed-Solomon Codes 1 S-723410 BCH and Reed-Solomon Codes 3 Background The algebraic structure of linear codes and, in particular, cyclic linear codes, enables efficient encoding and decoding
More informationDesign and Implementation of Reed-Solomon Decoder using Decomposed Inversion less Berlekamp-Massey Algorithm by
Design and Implementation of Reed-Solomon Decoder using Decomposed Inversion less Berlekamp-Massey Algorithm by Hazem Abd Elall Ahmed Elsaid A Thesis Submitted to the Faculty of Engineering at Cairo University
More informationCS6304 / Analog and Digital Communication UNIT IV - SOURCE AND ERROR CONTROL CODING PART A 1. What is the use of error control coding? The main use of error control coding is to reduce the overall probability
More informationFault Tolerance & Reliability CDA Chapter 2 Cyclic Polynomial Codes
Fault Tolerance & Reliability CDA 5140 Chapter 2 Cyclic Polynomial Codes - cylic code: special type of parity check code such that every cyclic shift of codeword is a codeword - for example, if (c n-1,
More informationEECS150 - Digital Design Lecture 23 - FFs revisited, FIFOs, ECCs, LSFRs. Cross-coupled NOR gates
EECS150 - Digital Design Lecture 23 - FFs revisited, FIFOs, ECCs, LSFRs April 16, 2009 John Wawrzynek Spring 2009 EECS150 - Lec24-blocks Page 1 Cross-coupled NOR gates remember, If both R=0 & S=0, then
More informationDr. Cathy Liu Dr. Michael Steinberger. A Brief Tour of FEC for Serial Link Systems
Prof. Shu Lin Dr. Cathy Liu Dr. Michael Steinberger U.C.Davis Avago SiSoft A Brief Tour of FEC for Serial Link Systems Outline Introduction Finite Fields and Vector Spaces Linear Block Codes Cyclic Codes
More informationEE512: Error Control Coding
EE51: Error Control Coding Solution for Assignment on BCH and RS Codes March, 007 1. To determine the dimension and generator polynomial of all narrow sense binary BCH codes of length n = 31, we have to
More information6.1.1 What is channel coding and why do we use it?
Chapter 6 Channel Coding 6.1 Introduction 6.1.1 What is channel coding and why do we use it? Channel coding is the art of adding redundancy to a message in order to make it more robust against noise. It
More informationImplementation of Galois Field Arithmetic. Nonbinary BCH Codes and Reed-Solomon Codes
BCH Codes Wireless Information Transmission System Lab Institute of Communications Engineering g National Sun Yat-sen University Outline Binary Primitive BCH Codes Decoding of the BCH Codes Implementation
More informationMath 512 Syllabus Spring 2017, LIU Post
Week Class Date Material Math 512 Syllabus Spring 2017, LIU Post 1 1/23 ISBN, error-detecting codes HW: Exercises 1.1, 1.3, 1.5, 1.8, 1.14, 1.15 If x, y satisfy ISBN-10 check, then so does x + y. 2 1/30
More informationFault Tolerant Computing CS 530 Information redundancy: Coding theory. Yashwant K. Malaiya Colorado State University
CS 530 Information redundancy: Coding theory Yashwant K. Malaiya Colorado State University March 30, 2017 1 Information redundancy: Outline Using a parity bit Codes & code words Hamming distance Error
More informationA Brief Encounter with Linear Codes
Boise State University ScholarWorks Mathematics Undergraduate Theses Department of Mathematics 8-2014 A Brief Encounter with Linear Codes Brent El-Bakri Boise State University, brentelbakri@boisestate.edu
More informationNew algebraic decoding method for the (41, 21,9) quadratic residue code
New algebraic decoding method for the (41, 21,9) quadratic residue code Mohammed M. Al-Ashker a, Ramez Al.Shorbassi b a Department of Mathematics Islamic University of Gaza, Palestine b Ministry of education,
More informationChapter 4 Finite Fields
Chapter 4 Finite Fields Introduction will now introduce finite fields of increasing importance in cryptography AES, Elliptic Curve, IDEA, Public Key concern operations on numbers what constitutes a number
More informationCoding Theory: Linear-Error Correcting Codes Anna Dovzhik Math 420: Advanced Linear Algebra Spring 2014
Anna Dovzhik 1 Coding Theory: Linear-Error Correcting Codes Anna Dovzhik Math 420: Advanced Linear Algebra Spring 2014 Sharing data across channels, such as satellite, television, or compact disc, often
More informationLinear Cyclic Codes. Polynomial Word 1 + x + x x 4 + x 5 + x x + x
Coding Theory Massoud Malek Linear Cyclic Codes Polynomial and Words A polynomial of degree n over IK is a polynomial p(x) = a 0 + a 1 x + + a n 1 x n 1 + a n x n, where the coefficients a 0, a 1, a 2,,
More informationChapter 4 Mathematics of Cryptography
Chapter 4 Mathematics of Cryptography Part II: Algebraic Structures Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4.1 Chapter 4 Objectives To review the concept
More informationFinite Fields. SOLUTIONS Network Coding - Prof. Frank H.P. Fitzek
Finite Fields In practice most finite field applications e.g. cryptography and error correcting codes utilizes a specific type of finite fields, namely the binary extension fields. The following exercises
More informationTopic 3. Design of Sequences with Low Correlation
Topic 3. Design of Sequences with Low Correlation M-sequences and Quadratic Residue Sequences 2 Multiple Trace Term Sequences and WG Sequences 3 Gold-pair, Kasami Sequences, and Interleaved Sequences 4
More informationAn Enhanced (31,11,5) Binary BCH Encoder and Decoder for Data Transmission
An Enhanced (31,11,5) Binary BCH Encoder and Decoder for Data Transmission P.Mozhiarasi, C.Gayathri, V.Deepan Master of Engineering, VLSI design, Sri Eshwar College of Engineering, Coimbatore- 641 202,
More informationECE8771 Information Theory & Coding for Digital Communications Villanova University ECE Department Prof. Kevin M. Buckley Lecture Set 2 Block Codes
Kevin Buckley - 2010 109 ECE8771 Information Theory & Coding for Digital Communications Villanova University ECE Department Prof. Kevin M. Buckley Lecture Set 2 Block Codes m GF(2 ) adder m GF(2 ) multiplier
More information1. How many errors may be detected (not necessarily corrected) if a code has a Hamming Distance of 6?
Answers to Practice Problems Practice Problems - Hamming distance 1. How many errors may be detected (not necessarily corrected) if a code has a Hamming Distance of 6? 2n = 6; n=3 2. How many errors may
More information3x + 1 (mod 5) x + 2 (mod 5)
Today. Secret Sharing. Polynomials Polynomials. Secret Sharing. Share secret among n people. Secrecy: Any k 1 knows nothing. Roubustness: Any k knows secret. Efficient: minimize storage. A polynomial P(x)
More informationContinuing discussion of CRC s, especially looking at two-bit errors
Continuing discussion of CRC s, especially looking at two-bit errors The definition of primitive binary polynomials Brute force checking for primitivity A theorem giving a better test for primitivity Fast
More informationIntroduction to Wireless & Mobile Systems. Chapter 4. Channel Coding and Error Control Cengage Learning Engineering. All Rights Reserved.
Introduction to Wireless & Mobile Systems Chapter 4 Channel Coding and Error Control 1 Outline Introduction Block Codes Cyclic Codes CRC (Cyclic Redundancy Check) Convolutional Codes Interleaving Information
More informationFormal Verification of the CRC Algorithm Properties
Formal Verification of the CRC Algorithm Properties P. Hlávka 1, V. Řehák 2, A. Smrčka 1, P. Šimeček 2, D. Šafránek 2, and T. Vojnar 1 1 FIT BUT, Brno, Czech Republic {xhlavk00,smrcka,vojnar}@fit.vutbr.cz
More informationCommunications II Lecture 9: Error Correction Coding. Professor Kin K. Leung EEE and Computing Departments Imperial College London Copyright reserved
Communications II Lecture 9: Error Correction Coding Professor Kin K. Leung EEE and Computing Departments Imperial College London Copyright reserved Outline Introduction Linear block codes Decoding Hamming
More informationOptimum Soft Decision Decoding of Linear Block Codes
Optimum Soft Decision Decoding of Linear Block Codes {m i } Channel encoder C=(C n-1,,c 0 ) BPSK S(t) (n,k,d) linear modulator block code Optimal receiver AWGN Assume that [n,k,d] linear block code C is
More informationMATH32031: Coding Theory Part 15: Summary
MATH32031: Coding Theory Part 15: Summary 1 The initial problem The main goal of coding theory is to develop techniques which permit the detection of errors in the transmission of information and, if necessary,
More informationOutline. MSRI-UP 2009 Coding Theory Seminar, Week 2. The definition. Link to polynomials
Outline MSRI-UP 2009 Coding Theory Seminar, Week 2 John B. Little Department of Mathematics and Computer Science College of the Holy Cross Cyclic Codes Polynomial Algebra More on cyclic codes Finite fields
More informationAnd for polynomials with coefficients in F 2 = Z/2 Euclidean algorithm for gcd s Concept of equality mod M(x) Extended Euclid for inverses mod M(x)
Outline Recall: For integers Euclidean algorithm for finding gcd s Extended Euclid for finding multiplicative inverses Extended Euclid for computing Sun-Ze Test for primitive roots And for polynomials
More informationOn Irreducible Polynomial Remainder Codes
2011 IEEE International Symposium on Information Theory Proceedings On Irreducible Polynomial Remainder Codes Jiun-Hung Yu and Hans-Andrea Loeliger Department of Information Technology and Electrical Engineering
More informationGalois fields/1. (M3) There is an element 1 (not equal to 0) such that a 1 = a for all a.
Galois fields 1 Fields A field is an algebraic structure in which the operations of addition, subtraction, multiplication, and division (except by zero) can be performed, and satisfy the usual rules. More
More informationEE 229B ERROR CONTROL CODING Spring 2005
EE 229B ERROR CONTROL CODING Spring 2005 Solutions for Homework 1 1. Is there room? Prove or disprove : There is a (12,7) binary linear code with d min = 5. If there were a (12,7) binary linear code with
More informationChannel Coding I. Exercises SS 2017
Channel Coding I Exercises SS 2017 Lecturer: Dirk Wübben Tutor: Shayan Hassanpour NW1, Room N 2420, Tel.: 0421/218-62387 E-mail: {wuebben, hassanpour}@ant.uni-bremen.de Universität Bremen, FB1 Institut
More information1 Reed Solomon Decoder Final Project. Group 3 Abhinav Agarwal S Branavan Grant Elliott. 14 th May 2007
1 Reed Solomon Decoder 6.375 Final Project Group 3 Abhinav Agarwal S Branavan Grant Elliott 14 th May 2007 2 Outline Error Correcting Codes Mathematical Foundation of Reed Solomon Codes Decoder Architecture
More informationInformation Redundancy: Coding
Info Redundancy April 2, 23 Information Redundancy: Coding Often applied to Info transfer: often serial communication thru a channel Info storage Hamming distance: error detection & correction capability
More informationReview. EECS Components and Design Techniques for Digital Systems. Lec 26 CRCs, LFSRs (and a little power)
EECS 50 - Components and esign Techniques for igital Systems Lec 6 CRCs, LFSRs (and a little power) avid Culler Electrical Engineering and Computer Sciences University of California, Berkeley http://www.eecs.berkeley.edu/~culler
More informationLinear Algebra. F n = {all vectors of dimension n over field F} Linear algebra is about vectors. Concretely, vectors look like this:
15-251: Great Theoretical Ideas in Computer Science Lecture 23 Linear Algebra Linear algebra is about vectors. Concretely, vectors look like this: They are arrays of numbers. fig. by Peter Dodds # of numbers,
More informationSimplification of Procedure for Decoding Reed- Solomon Codes Using Various Algorithms: An Introductory Survey
2014 IJEDR Volume 2, Issue 1 ISSN: 2321-9939 Simplification of Procedure for Decoding Reed- Solomon Codes Using Various Algorithms: An Introductory Survey 1 Vivek Tilavat, 2 Dr.Yagnesh Shukla 1 PG Student,
More informationPart III. Cyclic codes
Part III Cyclic codes CHAPTER 3: CYCLIC CODES, CHANNEL CODING, LIST DECODING Cyclic codes are very special linear codes. They are of large interest and importance for several reasons: They posses a rich
More informationGF(2 m ) arithmetic: summary
GF(2 m ) arithmetic: summary EE 387, Notes 18, Handout #32 Addition/subtraction: bitwise XOR (m gates/ops) Multiplication: bit serial (shift and add) bit parallel (combinational) subfield representation
More information2. Polynomials. 19 points. 3/3/3/3/3/4 Clearly indicate your correctly formatted answer: this is what is to be graded. No need to justify!
1. Short Modular Arithmetic/RSA. 16 points: 3/3/3/3/4 For each question, please answer in the correct format. When an expression is asked for, it may simply be a number, or an expression involving variables
More informationLinear Cyclic Codes. Polynomial Word 1 + x + x x 4 + x 5 + x x + x f(x) = q(x)h(x) + r(x),
Coding Theory Massoud Malek Linear Cyclic Codes Polynomial and Words A polynomial of degree n over IK is a polynomial p(x) = a 0 + a 1 + + a n 1 x n 1 + a n x n, where the coefficients a 1, a 2,, a n are
More informationMATH3302 Coding Theory Problem Set The following ISBN was received with a smudge. What is the missing digit? x9139 9
Problem Set 1 These questions are based on the material in Section 1: Introduction to coding theory. You do not need to submit your answers to any of these questions. 1. The following ISBN was received
More informationChapter 7. Error Control Coding. 7.1 Historical background. Mikael Olofsson 2005
Chapter 7 Error Control Coding Mikael Olofsson 2005 We have seen in Chapters 4 through 6 how digital modulation can be used to control error probabilities. This gives us a digital channel that in each
More informationFinite Fields. Mike Reiter
1 Finite Fields Mike Reiter reiter@cs.unc.edu Based on Chapter 4 of: W. Stallings. Cryptography and Network Security, Principles and Practices. 3 rd Edition, 2003. Groups 2 A group G, is a set G of elements
More informationMathematical Foundations of Cryptography
Mathematical Foundations of Cryptography Cryptography is based on mathematics In this chapter we study finite fields, the basis of the Advanced Encryption Standard (AES) and elliptical curve cryptography
More informationLecture Introduction. 2 Linear codes. CS CTT Current Topics in Theoretical CS Oct 4, 2012
CS 59000 CTT Current Topics in Theoretical CS Oct 4, 01 Lecturer: Elena Grigorescu Lecture 14 Scribe: Selvakumaran Vadivelmurugan 1 Introduction We introduced error-correcting codes and linear codes in
More informationError Correcting Codes Questions Pool
Error Correcting Codes Questions Pool Amnon Ta-Shma and Dean Doron January 3, 018 General guidelines The questions fall into several categories: (Know). (Mandatory). (Bonus). Make sure you know how to
More informationError Detection and Correction: Hamming Code; Reed-Muller Code
Error Detection and Correction: Hamming Code; Reed-Muller Code Greg Plaxton Theory in Programming Practice, Spring 2005 Department of Computer Science University of Texas at Austin Hamming Code: Motivation
More informationKnow the meaning of the basic concepts: ring, field, characteristic of a ring, the ring of polynomials R[x].
The second exam will be on Friday, October 28, 2. It will cover Sections.7,.8, 3., 3.2, 3.4 (except 3.4.), 4. and 4.2 plus the handout on calculation of high powers of an integer modulo n via successive
More informationMATH 433 Applied Algebra Lecture 21: Linear codes (continued). Classification of groups.
MATH 433 Applied Algebra Lecture 21: Linear codes (continued). Classification of groups. Binary codes Let us assume that a message to be transmitted is in binary form. That is, it is a word in the alphabet
More informationChannel Coding I. Exercises SS 2017
Channel Coding I Exercises SS 2017 Lecturer: Dirk Wübben Tutor: Shayan Hassanpour NW1, Room N 2420, Tel.: 0421/218-62387 E-mail: {wuebben, hassanpour}@ant.uni-bremen.de Universität Bremen, FB1 Institut
More informationA field F is a set of numbers that includes the two numbers 0 and 1 and satisfies the properties:
Byte multiplication 1 Field arithmetic A field F is a set of numbers that includes the two numbers 0 and 1 and satisfies the properties: F is an abelian group under addition, meaning - F is closed under
More informationREED-SOLOMON CODE SYMBOL AVOIDANCE
Vol105(1) March 2014 SOUTH AFRICAN INSTITUTE OF ELECTRICAL ENGINEERS 13 REED-SOLOMON CODE SYMBOL AVOIDANCE T Shongwe and A J Han Vinck Department of Electrical and Electronic Engineering Science, University
More informationan author's https://oatao.univ-toulouse.fr/18723 http://dx.doi.org/10.1109/isit.2017.8006599 Detchart, Jonathan and Lacan, Jérôme Polynomial Ring Transforms for Efficient XOR-based Erasure Coding. (2017)
More informationNew Algebraic Decoding of (17,9,5) Quadratic Residue Code by using Inverse Free Berlekamp-Massey Algorithm (IFBM)
International Journal of Computational Intelligence Research (IJCIR). ISSN: 097-87 Volume, Number 8 (207), pp. 205 2027 Research India Publications http://www.ripublication.com/ijcir.htm New Algebraic
More information4F5: Advanced Communications and Coding
4F5: Advanced Communications and Coding Coding Handout 4: Reed Solomon Codes Jossy Sayir Signal Processing and Communications Lab Department of Engineering University of Cambridge jossy.sayir@eng.cam.ac.uk
More informationCoding Techniques for Data Storage Systems
Coding Techniques for Data Storage Systems Thomas Mittelholzer IBM Zurich Research Laboratory /8 Göttingen Agenda. Channel Coding and Practical Coding Constraints. Linear Codes 3. Weight Enumerators and
More informationMATH Examination for the Module MATH-3152 (May 2009) Coding Theory. Time allowed: 2 hours. S = q
MATH-315201 This question paper consists of 6 printed pages, each of which is identified by the reference MATH-3152 Only approved basic scientific calculators may be used. c UNIVERSITY OF LEEDS Examination
More informationSome math for embedded algorithms
Some math for embedded algorithms CRC (Cyclic Redundancy Check) is often used to check integrity of transmitted messages Hamming codes can correct one error BCH codes can correct more LFSRs (Linear Feedback
More informationReed-Solomon codes. Chapter Linear codes over finite fields
Chapter 8 Reed-Solomon codes In the previous chapter we discussed the properties of finite fields, and showed that there exists an essentially unique finite field F q with q = p m elements for any prime
More informationELEC3227/4247 Mid term Quiz2 Solution with explanation
ELEC7/447 Mid term Quiz Solution with explanation Ang Man Shun Department of Electrical and Electronic Engineering, University of Hong Kong Document creation date : 015 1 05 This document explain the solution
More informationChapter 3 Linear Block Codes
Wireless Information Transmission System Lab. Chapter 3 Linear Block Codes Institute of Communications Engineering National Sun Yat-sen University Outlines Introduction to linear block codes Syndrome and
More information