Chapter 10 Error Detection and Correction 1 Data

































































































- Slides: 97
Chapter 10 오류 발견과 교정 (Error Detection and Correction) 1
오류 검출 및 수정 데이터는 전송 중에 변경될 수 있다. 신뢰성 있는 통신을 위해 오류들은 검출·정정되어야 한다. Data can be corrupted during transmission. Some applications require that errors be detected and corrected. 3
10. 1 개요 오 류 검 출 및 오 류 정 정 에 직 /간 접 적 으 로 관 련 된 사항들에 대해 먼저 살펴본다. Topics discussed in this section: Types of Errors Redundancy Detection Versus Correction Forward Error Correction Versus Retransmission Coding Modular Arithmetic 4
폭주 오류는 데이터 단위에서 2개 이상의 비트들이 변경 되는 경우를 일컫는다. A burst error means that 2 or more bits in the data unit have changed. 8
q 중복(redundancy) 10
q 부호화 방법 1. 블록 부호화(block coding) 2. 나선형 부호화(convolution coding) 13
본 교재에서는 블록 부호화에 집중하며 나선형 부호화는 다른 책에서 참조하기 바란다. In this book, we concentrate on block codes; we leave convolution codes to advanced texts. 14
Figure 10. 4 모듈로-2 연산(XORing of two single bits or two words) 16
Figure 10. 6 Process of error detection in block coding 20
Table 10. 1 A code for error detection (Example 10. 2) 23
오류 검출 코드는 찾도록 설계된 오류만을 찾아낸다. 다 른 오류는 검출되지 못한다. An error-detecting code can detect only the types of errors for which it is designed; other types of errors may remain undetected. 24
Figure 10. 7 Structure of encoder and decoder in error correction 25
Table 10. 2 A code for error correction (Example 10. 3) 28
최소 해밍 거리는 모든 가능한 워드 조합 중 가장 작은 해밍 거리이다. The minimum Hamming distance is the smallest Hamming distance between all possible pairs in a set of words. 31
s 개까지의 오류가 발생해도 오류가 생긴 것을 알아내는 것을 보장하기 위해서는 블록 코드의 최소 해밍 거리는 dmin = s + 1 이어야 한다. To guarantee the detection of up to s errors in all cases, the minimum Hamming distance in a block code must be dmin = s + 1. 34
Figure 10. 8 Geometric concept for finding dmin in error detection 37
Figure 10. 9 Geometric concept for finding dmin in error correction 38
모든 경우에서 t 개의 오류까지 정정을 보장하기 위하여 블록 코드의 최소 해밍 거리는 dmin = 2 t + 1 이어야 한다. To guarantee correction of up to t errors in all cases, the minimum Hamming distance in a block code must be dmin = 2 t + 1. 39
선형 블록 코드에서는 임의의 두 유효 코드워드에 XOR 연산을 가하면 다른 유효 코드워드가 생성된다. In a linear block code, the exclusive OR (XOR) of any two valid codewords creates another valid codeword. 42
단순 패리티 확인 코드는 n = k + 1 이며 dmin = 2 인 단일 비트 오류 검출 코드이다. A simple parity-check code is a single-bit error-detecting code in which n = k + 1 with dmin = 2. 45
Table 10. 3 Simple parity-check code C(5, 4) 46
Figure 10. 10 Encoder and decoder for simple parity-check code 47
단순 패리티 확인 코드는 홀수 개의 오류를 검출한다. A simple parity-check code can detect an odd number of errors. 50
본 교재의 모든 해밍 코드는 dmin = 3이다. m과 n의 관계는 n = 2 m – 1이다. All Hamming codes discussed in this book have dmin = 3. The relationship between m and n in these codes is n = 2 m − 1. 51
Figure 10. 11 Two-dimensional parity-check code 52
Figure 10. 11 Two-dimensional parity-check code 53
Figure 10. 11 Two-dimensional parity-check code 54
Table 10. 4 Hamming code C(7, 4) 55
Figure 10. 12 The structure of the encoder and decoder for a Hamming code 56
Table 10. 5 Logical decision made by the correction logic analyzer 57
Figure 10. 13 Burst error correction using Hamming code 60
10. 4 순환 코드(CYCLIC CODE) 순환코드는 하나의 특별한 성질이 있는 선형 블록 코드이다. 순환코드(Cyclic codes)에서는 코드워드 를 순환시키면 다른 코드워드를 얻는다. Topics discussed in this section: Cyclic Redundancy Check Hardware Implementation Polynomials Cyclic Code Analysis Advantages of Cyclic Codes Other Cyclic Codes 61
순환 중복 확인 LAN이나 WAN에서 많이 사용 Table 10. 6 A CRC code with C(7, 4) 62
Figure 10. 14 CRC encoder and decoder 63
Figure 10. 15 Division in CRC encoder 64
Figure 10. 16 Division in the CRC decoder for two cases 65
Figure 10. 17 Hardwired design of the divisor in CRC 66
Figure 10. 18 Simulation of division in CRC encoder 67
Figure 10. 19 The CRC encoder design using shift registers 68
Figure 10. 20 General design of encoder and decoder of a CRC code 69
Figure 10. 21 A polynomial to represent a binary word 70
Figure 10. 22 CRC division using polynomials 71
순환 코드에서 제수는 보통 생성 다항식 또는 생성식이라 고 부른다. The divisor in a cyclic code is normally called the generator polynomial or simply the generator. 72
순환 코드에서 g(x)로 나누어 떨어지는 오류는 검출되지 않는다. In a cyclic code, those e(x) errors that are divisible by g(x) are not caught. 74
생성기가 두 개 이상의 항목을 가지면서 x 0 의 계수가 1 이면 모든 단일 비트 오류는 검출된다. If the generator has more than one term and the coefficient of x 0 is 1, all single errors can be caught. 75
Figure 10. 23 Representation of two isolated single-bit errors using polynomials 77
생성기가 xt + 1(t는 0과 n-1 사이)를 나누어 떨어지게 하지 못하면 모든 분리된 두 개의 오류를 검출할 수 있다. If a generator cannot divide xt + 1 (t between 0 and n – 1), then all isolated double errors can be detected. 78
x + 1을 인자로 갖는 생성기는 모든 홀수 개의 오류를 검 출할 수 있다. A generator that contains a factor of x + 1 can detect all odd-numbered errors. 80
Table 10. 7 표준 다항식 85
Figure 10. 24 Example 10. 22 93
Figure 10. 25 Example 10. 23 97

































































































