주민등록번호.

Slides:



Advertisements
Similar presentations
Mahdi Barhoush Mohammad Hanaysheh
Advertisements

by Colin Kriwox. 2 Contents Introduction credit card error checking what is a code purpose of error-correction codes Encoding naïve approach.
Error Control Code.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
II. Linear Block Codes. © Tallal Elshabrawy 2 Last Lecture H Matrix and Calculation of d min Error Detection Capability Error Correction Capability Error.
Error-Correcting Codes
Cellular Communications
DIGITAL COMMUNICATION Coding
EEE377 Lecture Notes1 EEE436 DIGITAL COMMUNICATION Coding En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room 2.14.
Practical Session 11 Codes. Hamming Distance General case: The distance between two code words is the amount of 1-bit changes required to reach from one.
MAT 1000 Mathematics in Today's World Winter 2015.
15-853Page :Algorithms in the Real World Error Correcting Codes I – Overview – Hamming Codes – Linear Codes.
Hamming Code Rachel Ah Chuen. Basic concepts Networks must be able to transfer data from one device to another with complete accuracy. Data can be corrupted.
exercise in the previous class (1)
Hamming Codes 11/17/04. History In the late 1940’s Richard Hamming recognized that the further evolution of computers required greater reliability, in.
ChannelCoding Hafiz Malik Dept. of Electrical & Computer Engineering The University of Michigan-Dearborn
MAT 1000 Mathematics in Today's World Winter 2015.
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.
Linear Codes.
USING THE MATLAB COMMUNICATIONS TOOLBOX TO LOOK AT CYCLIC CODING Wm. Hugh Blanton East Tennessee State University
Great Theoretical Ideas in Computer Science.
Exercise in the previous class p: the probability that symbols are delivered correctly C: 1 00 → → → → What is the threshold.
Cyclic Codes for Error Detection W. W. Peterson and D. T. Brown by Maheshwar R Geereddy.
Error Control Code. Widely used in many areas, like communications, DVD, data storage… In communications, because of noise, you can never be sure that.
Codes Codes are used for the following purposes: - to detect errors - to correct errors after detection Error Control Coding © Erhan A. Ince Types: -Linear.
COEN 180 Erasure Correcting, Error Detecting, and Error Correcting Codes.
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.
Practical Session 10 Error Detecting and Correcting Codes.
Vector Norms and the related Matrix Norms. Properties of a Vector Norm: Euclidean Vector Norm: Riemannian metric:
Error Control Code. Widely used in many areas, like communications, DVD, data storage… In communications, because of noise, you can never be sure that.
§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.
Hamming codes. Golay codes.
ADVANTAGE of GENERATOR MATRIX:
Chapter 31 INTRODUCTION TO ALGEBRAIC CODING THEORY.
Information and Coding Theory Cyclic codes Juris Viksna, 2015.
Information Theory Linear Block Codes Jalal Al Roumy.
Word : Let F be a field then the expression of the form a 1, a 2, …, a n where a i  F  i is called a word of length n over the field F. We denote the.
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.
Basic Concepts of Encoding Codes and Error Correction 1.
Perfect and Related Codes
Error Detection and Correction – Hamming Code
Error Detection and Correction
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 9.
Cryptography and Coding Theory
Hamming Distance & Hamming Code
Error Control Coding. Purpose To detect and correct error(s) that is introduced during transmission of digital signal.
Hamming (4,7) Code Binary Linear Codes Hamming Distance Weight of BLC
Richard Cleve DC 2117 Introduction to Quantum Information Processing QIC 710 / CS 667 / PH 767 / CO 681 / AM 871 Lecture (2011)
Error Detecting and Error Correcting Codes
Matrices CHAPTER 8.9 ~ Ch _2 Contents  8.9 Power of Matrices 8.9 Power of Matrices  8.10 Orthogonal Matrices 8.10 Orthogonal Matrices 
Practical Session 10 Computer Architecture and Assembly Language.
Channel Coding: Part I Presentation II Irvanda Kurniadi V. ( ) Digital Communication 1.
RS – Reed Solomon Error correcting code. Error-correcting codes are clever ways of representing data so that one can recover the original information.
8 Coding Theory Discrete Mathematics: A Concept-based Approach.
Hamming codes. Golay codes.
Modulo-2 Digital coding uses modulo-2 arithmetic where addition becomes the following operations: 0+0= =0 0+1= =1 It performs the.
NOISE-RESISTANT CODING ● Coding Concepts and Technologies of Noise-resistant Coding It's hard to work in a noisy room as it makes it harder to think. Work.
Information and Coding Theory
Cyclic Codes 1. Definition Linear:
Computer Architecture and Assembly Language
Functions Defined on General Sets

Subject Name: Information Theory Coding Subject Code: 10EC55
II. Linear Block Codes.
EEC-484/584 Computer Networks
Information Redundancy Fault Tolerant Computing

Copyright © Cengage Learning. All rights reserved.
II. Linear Block Codes.
Computer Architecture and Assembly Language
Presentation transcript:

주민등록번호

주민등록번호 7 9 9 9 1 2 3 4 5 6 7

Detect Error On Credit Card

Formula for detecting error Let d2, d4, d6, d8, d10, d12, d14, d16 be all the even values in the credit card number. Let d1, d3, d5, d7, d9, d11, d13, d15 be all the odd values in the credit card number. Let n be the number of all the odd digits which have a value that exceeds four Credit card has an error if the following is true: (d1 + d3 + d5 + d7 + d9 + d11 + d13 + d15) x 2 + n + (d2 + d4 + d6 + d8 + d10 + d12 + d14 + d16) 0 mod(10)

Detect Error On Credit Card … d15 d16

Now the test (4 + 4 + 8 + 1 + 3 + 5 + 7 + 9) = 41 (4 + 4 + 8 + 1 + 3 + 5 + 7 + 9) = 41 (5 + 2 + 1 + 0 + 3 + 4 + 6 + 8) x 2 + 3 = 61 41 + 61 = 102 mod (10) = 2 3 parity check equation

Send a message 인터넷 집 컴퓨터 은행 Message Channel Message 10000원 계좌이체 11000원 계좌이체 noise 집 컴퓨터 Message Encoder Channel Decoder Message 10 101010 noise 001010 10

Why error-correcting code(ECC)? To add redundancy to a message so the original message can be recovered if it has been garbled. e.g. message = 10 code = 1010101010

Take Naïve approach Append the same message multiple times. Then take the value with the highest average. Message:= 1001 Encode:= 1001100110011001 Channel:= 1001100100011001 Decode: = a1 = Average(1,1,0,1) = 1 a2 = Average(0,0,0,0) = 0 ... (a1,a2,a3,a4)

Parity Check 정보 부호어(codeword) 1의 개수가 짝수 : 0 1의 개수가 홀수 : 1 011101001 011101001 1 전송 Error 011001001 1 1의 개수가 홀수인데도 1  Error 발생 확인 1bit만 추가해도 에러 검출가능

Parity Check 정보 부호어(codeword) 1의 개수가 짝수 : 0 1의 개수가 홀수 : 1 011101001 011101001 1 전송 Error 011000001 1 1의 개수가 짝수 : 1  Error 발생 미검출

Hamming [7,4] Code The seven is the number of digits that make the code. E.g. 0100101 The four is the number of information digits in the code.

Hamming [7,4] Encoding 1000 011 0100 101 0010 110 0001 111 1100 110 1010 101 1001 100 0110 011 0101 010 0011 001 1101 001 1001 010 1111 111 0111 100 0011 001 0000 000 Encoded with a generator matrix. All codes can be formed from row operations on matrix. The code generator matrix for this presentation is the following:

Hamming [7,4] Encoding 1000 011 0100 101 0010 110 0001 111 1100 110 1010 101 1001 100 0110 011 0101 010 0011 001 1101 001 1001 010 1111 111 0111 100 0011 001 0000 000

Hamming [7,4] Encoding 3bit의 합 : 0 3bit의 합 : 1 3bit의 합 : 0

Hamming [7,4] Encoding 전송 3bit의 합 : 1 Error 3bit의 합 : 0 3bit의 합 : 0

Hamming [7,4] Encoding 전송 3bit의 합 : 0 Error 1 3bit의 합 : 1 3bit의 합 : 0

Hamming [7,4] Encoding

Hamming [7,4] Codes Codes Possible codes 1000011 0100101 0010110 0001111 1100110 1010101 1001100 0110011 0101010 0011001 1101001 1001010 1111111 0111100 0000000 Codes Possible codes

Definitions The weight of a code is the number of nonzero components it contains. e.g. wt(0010110) = 3 The minimum weight of Hamming codes is the weight of the smallest nonzero vector in the code. e.g. d(G)= 3

Definitions The distance between two codes u and v is the number of positions which differ e.g. u=(1,0,0,0,0,1,1) v=(0,1,0,0,1,0,1) dist(u,v) = 4 Another definition of distance is wt(u – v) = dist(u,v).

Definitions For any u, v, and w in a space V, the following three conditions hold:

Definitions The sphere of radius r about a vector u is defined as: (0,0,0,0,0,1,1) e.g. u=(1,0,0,0,0,1,1) (1,1,0,0,0,1,1) (1,0,1,0,0,1,1) (1,0,0,1,0,1,1) (1,0,0,0,1,1,1) (1,0,0,0,0,0,1) (1,0,0,0,0,0,1)

Minimum Weight Theorem If d is the minimum weight of a code C, then C can correct t = [(d – 1)/2] or fewer errors, and conversely.

Proof Want to prove that spheres of radius t = [(d – 1)/2] about codes are disjoint. Suppose for contradiction that they are not. Let u and w be distinct vectors in C, and assume that u v w

Proof By triangle inequality v u w

Proof Since spheres of radius t = [(d – 1)/2] so and this gives But since We have a contradiction. Showing the sphere of radius t about codes are disjoint.

Result of Theorem Since d(G) = 3 then for t = [(3 – 1)/2] = 1 or fewer errors, the received code is in a disjoint sphere about a unique code word.

Decoding list all possible messages using vectors syndrome

List all messages This is done by generating a list of all the possible messages. For something small like the Hamming [7,4] codes the task is feasible, but for codes of greater length it is not. An example of a list is as follows: Code words 1000011 0100101 0010110 … 0000011 0000101 0000110 Other 1000001 0100111 0010100 Received 0010011 0001101 1010110 Words 1100011 1100101 0110110 … … …

List all messages For example, if the received code was 0001101 then it would be decoded to 0100101 from the list. Code words 1000011 0100101 0010110 … 0000011 0000101 0000110 Other 1000001 0100111 0010100 Received 0010011 0001101 1010110 Words 1100011 1100101 0110110 … … …

Vector Decoding Let a:=(0,0,0,1,1,1,1), b:=(0,1,1,0,0,1,1), and c:=(1,0,1,0,1,0,1). If then inner product =

Vector Decoding Correct errors by taking inner product of received vector u by a, b, c. We get e.g. recall: a:=(0,0,0,1,1,1,1), b:=(0,1,1,0,0,1,1), and c:=(1,0,1,0,1,0,1). Message Encoder Channel Decoder Message 1001 1001100 noise 1000100 ? Error at 100 = digit 4. Decode to 1001100 and message equals 1001

syndrome Decodes without having to derive decoding vectors. In addition to decoding Hamming [7,4] it can decode other codes More feasible than a list of messages

syndrome The cosets of C are determined by Some facts about cosets: Every coset of C has the same number of elements as C does Any two cosets are either disjoint or identical V is the union of all cosets of C C has cosets

syndrome A Coset leader is the vector with the minimum weight in the coset. The parity check matrix is found by solving the generator matrix for

syndrome The first step is to create a list of syndromes corresponding the coset leaders. The syndrome of each vector y is found by When a code is received, the syndrome is computed and compared to the list of syndromes. Let the coset leader to the syndrome by e. Finally the code is decoded to x = y – e.

Syndrome example Note that G=(I | A) and H = ( | I).

Syndrome example Let x:= 1001100 be the original message Encoder Channel Decoder Message 1001 1001100 noise 1000100 ? Compute the syndrome of the received code

Conclusion A code of minimum weight d is called perfect if all the vectors in V are contained in the sphere of radius t = [(d – 1)/2] about the code-word. The Hamming [7,4] code has eight vectors of sphere of radius one about each code-word, times sixteen unique codes. Therefore, the Hamming [7,4] code with minimum weight 3 is perfect since all the vectors (128) are contained in the sphere of radius 1.

순회부호 (Cyclic code) (0001011) (0010110) (0101100) (1011000) (0110001) (1100010) (1000101)

순회부호 (Cyclic code) (1 0 1 1 0 0 0) F(x) = 1°x6 + 0°x5 + 1°x4 + 1°x3 + 0°x2 + 0°x1 +0°x0 F(x) = x6 + x4 + x3

순회부호 (Cyclic code) (x2 + x +1) (x +1) = x3 + x2+ x + x2 + x +1 인수분해 가능 xn +1 : 인수분해 가능

순회부호 (Cyclic code) (x3 + x +1) (x4 + x2+ x +1) = x7 +1 (1 0 1 1) 1 1 1 1 x2 + x +1 나머지 = (x3 + x +1) 1 1 x3 + x2 + x x3 + x +1 + x2 +1 = 나머지 = (x3 + x +1) (x3 + x +1) 1 1 x3 + x2 + 1 x3 + x +1 + x + x2 = 나머지 = (x3 + x +1) (x3 + x +1) 1 1 1 1 1 1 1 + + =

순회부호 (Cyclic code) 1 1 전송 1 1 Error 1 1 1 1 1 1 1 1 + + =