Download presentation
Presentation is loading. Please wait.
1
주민등록번호
2
주민등록번호 7 9 9 9 1 2 3 4 5 6 7
3
Detect Error On Credit Card
4
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)
5
Detect Error On Credit Card
… d15 d16
6
Now the test (4 + 4 + 8 + 1 + 3 + 5 + 7 + 9) = 41
( ) = 41 ( ) x = 61 = 102 mod (10) = 2 3 parity check equation
7
Send a message 인터넷 집 컴퓨터 은행 Message Channel Message 10000원 계좌이체
11000원 계좌이체 noise 집 컴퓨터 Message Encoder Channel Decoder Message 10 101010 noise 001010 10
8
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 =
9
Take Naïve approach Append the same message multiple times. Then take the value with the highest average. Message:= 1001 Encode:= Channel:= Decode: = a1 = Average(1,1,0,1) = 1 a2 = Average(0,0,0,0) = (a1,a2,a3,a4)
10
Parity Check 정보 부호어(codeword) 1의 개수가 짝수 : 0 1의 개수가 홀수 : 1 011101001
전송 Error 1의 개수가 홀수인데도 1 Error 발생 확인 1bit만 추가해도 에러 검출가능
11
Parity Check 정보 부호어(codeword) 1의 개수가 짝수 : 0 1의 개수가 홀수 : 1 011101001
전송 Error 1의 개수가 짝수 : 1 Error 발생 미검출
13
Hamming [7,4] Code The seven is the number of digits that make the code. E.g The four is the number of information digits in the code.
15
Hamming [7,4] Encoding 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:
16
Hamming [7,4] Encoding
17
Hamming [7,4] Encoding 3bit의 합 : 0 3bit의 합 : 1 3bit의 합 : 0
18
Hamming [7,4] Encoding 전송 3bit의 합 : 1 Error 3bit의 합 : 0 3bit의 합 : 0
19
Hamming [7,4] Encoding 전송 3bit의 합 : 0 Error 1 3bit의 합 : 1 3bit의 합 : 0
20
Hamming [7,4] Encoding
21
Hamming [7,4] Codes Codes Possible codes 1000011 0100101 0010110
Codes Possible codes
22
Definitions The weight of a code is the number of nonzero components it contains. e.g. wt( ) = 3 The minimum weight of Hamming codes is the weight of the smallest nonzero vector in the code. e.g d(G)= 3
23
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).
24
Definitions For any u, v, and w in a space V, the following three conditions hold:
25
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)
26
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.
27
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
28
Proof By triangle inequality v u w
29
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.
30
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.
31
Decoding list all possible messages using vectors syndrome
32
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 … Other Received Words … … …
33
List all messages For example, if the received code was then it would be decoded to from the list. Code words … Other Received Words … … …
34
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 =
35
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 noise ? Error at 100 = digit 4. Decode to and message equals 1001
36
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
37
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
38
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
39
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.
40
Syndrome example Note that G=(I | A) and H = ( | I).
41
Syndrome example Let x:= 1001100 be the original message
Encoder Channel Decoder Message 1001 noise ? Compute the syndrome of the received code
42
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.
43
순회부호 (Cyclic code) (0001011) (0010110) (0101100) (1011000) (0110001)
( ) ( )
44
순회부호 (Cyclic code) ( ) F(x) = 1°x6 + 0°x5 + 1°x4 + 1°x3 + 0°x2 + 0°x1 +0°x0 F(x) = x6 + x4 + x3
45
순회부호 (Cyclic code) (x2 + x +1) (x +1) = x3 + x2+ x + x2 + x +1
인수분해 가능 xn +1 : 인수분해 가능
46
순회부호 (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 + + =
47
순회부호 (Cyclic code) 1 1 전송 1 1 Error 1 1 1 1 1 1 1 1 + + =
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.