Á¦ 10 Àå   ¾ÏÈ£À̷аú ±× ÀÀ¿ë       

    

3.  HAMMING ONE-ERROR CORRECTING CODES I

 

  3. HAMMING 1-ERROR CORRECTING CODES I

 one-error correcting code¸¦ ¾î¶»°Ô ÇÏ¸é ¸¸µé ¼ö Àִ°¡ »ý°¢ÇÏ¿© º¸½Ã¿À.  ¶Ç, ¾ÏÈ£À̷п¡ °üÇÑ Ç¥ÁØÀûÀÎ ±³À縦 Âü°íÇÏ¿© »ý°¢ÇÑ ¹æ¹ýÀÇ Å¸´ç¼ºÀ» »ý°¢ÇÏ¿© º¸½Ã¿À.

 

 º» °­ÀÇ¿¡¼­´Â ¾ÏÈ£ÀÌ·Ð(coding theory) Áß¿¡¼­ Hamming one-error correcting code¿¡ °üÇÑ ±âÃÊÀûÀÎ À̷аú ¹æ¹ý¿¡ ´ëÇÏ¿© ÇнÀÇÑ´Ù.

 

 

 

 

 

  HAMMING ONE-ERROR CORRECTING

  BINARY CODES

 

HAMMING ONE-ERRORCORRECTING BINARY CODE¸¦ È°¿ëÇÏ´Â ¹æ¹ý¿¡ °üÇÏ¿© ÇнÀÇϵµ·Ï ÇսôÙ.

 

´ÙÀ½ÀÇ °­ÀÇ´Â R. C. Bose & B. Manvel Àú¼­ÀÎ

Introduction to Combinatorial Theory

John Wiley & Sons Inc., 1984.

ÀÇ 7ÀåÀÇ ³»¿ëÀ» Âü°íÇÏ¿© ÇнÀÇϱ⠹ٶø´Ï´Ù.

 

 

  In a binary code, the alphabet consists of

only two symbols 0 & 1, which may be regarded

as elements of GF2, the Galois Field of order

2. Let ¥Ø be the set of all binary r-vectors other

than the null vector Then there are n=2r-1

vectors in ¥Ø.

 

For example, if r = 2, then

¥Ø={ (1, 1), (1, 0), (0, 1)};

if r = 3, then

¥Ø={ (1, 1, 1), (0, 1, 1,), (1, 0, 1), (1, 1, 0),

     (1, 0, 0), (0, 1, 0), (0, 0, 1)}.

 

Let H be the matrix whose columns of ¥Ø. Thus

if r = 3, then H is given by

 

      ¡¦¡¦¡¦(1)

 

´ÜÁö µÎ ±âÈ£ 0, 1·Î µÇ¾îÀÖ´Â ÀÌÇ×Äڵ忡¼­ GF2ÀÇ

¿ø¼Òµé·Î »ý°¢ÇÒ ¼ö ÀÖ´Ù. ¥Ø¸¦ ¿µ vector

 0 (0, 0, ¡¦, 0)°ú ´Ù¸¥ ¸ðµç ÀÌÇ× rÂ÷¿ø vectorµéÀÇ

ÁýÇÕÀ̶ó ÇսôÙ.

±×·¯¸é ¥Ø¿¡´Â n=2r-1 ÀÇ vectorµéÀÌ ÀÖ´Ù. H¸¦

¿­(column)ÀÌ ¥ØÀÇ ¿ø¼ÒÀÎ Çà·ÄÀ̶ó ÇÏÀÚ.

r=3 À̸é,  H ´Â

        

·Î ÁÖ¾îÁø´Ù.

C¸¦ H' Àº H ·Î, x ´Â x' À¸·Î ġȯÇÑ ¹æÁ¤½Ä

 

x'H' = 0 ¶Ç´Â Hx = 0        ¡¦¡¦¡¦(2)

¸¦ ¸¸Á·ÇÏ´Â ¸ðµç ÀÌÇ×(binary) n-vectorµé

   x' = (x1 , x2 , ... , xn)  

ÀÇ code ¾ð¾î¸¦ ÃëÇؼ­ ¾ò¾îÁö´Â Hamming code

¶ó°í ÇÏÀÚ.   ¶Ç,  Çà·Ä½Ä H´Â  Hamming ÄÚµå CÀÇ

parity check matrix ¶ó°í ºÒ¸°´Ù. HÀÇ Â÷¼ö´Â

rÀÌ´Ù.

 

H´Â r°³ÀÇ ÁÙ(row)À» °¡Áö¹Ç·Î Â÷¼ö´Â rÀ» ÃÊ°úÇÒ ¼ö

¾ø´Ù.

 

ÇÑÆí, ¸¶Áö¸· r ¹ø° ¿­(column) vectorµéÀº ºÐ¸íÈ÷

µ¶¸³À̹ǷΠÂ÷¼ö´Â rº¸´Ù ÀÛÀ» ¼ö ¾ø´Ù.

±×·¯¹Ç·Î ¹æÁ¤½Ä (2)¿¡´Â k = n- r= 2r-1-r °³ÀÇ

µ¶¸³ÀûÀÎ ÇØ°¡ ÀÖ´Ù.

 

µû¶ó¼­ code C´Â k °³ÀÇ ¼­·Î µ¶¸³ÀÎ ÇصéÀÇ ¸ðµç

°¡´ÉÇÑ ¼±Çü°áÇÕÀ̶ó´Â 2k °³ÀÇ ´Ü¾î(word)¸¦

Æ÷ÇÔÇÑ´Ù.

CÀÇ ¾î¶² µÎ code ¾ð¾î»çÀÌÀÇ °Å¸®´Â Àû¾îµµ 3

ÀÌ´Ù.

±×·¯¹Ç·Î ¾ÕÀÇ Á¤¸®·ÎºÎÅÍ code C ´Â one-error

correcting codeÀÌ´Ù.  ÀÌÁ¦ C ¿¡¼­ µÎ°³ÀÇ ¼­·Î

´Ù¸¥ ÄÚµå¾ð¾î´Â distance 1 ¶Ç´Â 2·Î ÇÒ ¼ö ¾øÀ½À»

º¸À̵µ·Ï ÇսôÙ.

u' °ú v' ÀÌ µÎ º°°³ÀÇ code¾ð¾î¶ó ÇÏÀÚ. ±×·¯¸é ½Ä

(2) ·ÎºÎÅÍ u'H'=0, v'H'=0  

µû¶ó¼­  (u' - v' )H'=0           ¡¦¡¦¡¦(3)

¸¸¾à d(u',v') = 1  , u' - v' Àǹø° ÁÂÇ¥°¡

1ÀÌ°í ´Ù¸¥ ÁÂÇ¥´Â 0 À̶ó ÇÏÀÚ.

(3)ÀÇ Áº¯Àº H' ÀÇ i  ¹ø° ÇàÀÌ ai' ÀÎ ai' ÀÌ´Ù.

null-vector´Â ¥ØÀÇ ¿ø¼Ò°¡ ¾Æ´Ï¹Ç·Î

¸ð¼ø(contradiction)ÀÌ´Ù. ±×·¯¹Ç·Î ÀÇ H' ÇàÀÌ

¾Æ´Ï´Ù. ¸¸ÀÏ d(u',v') = 2 ÀÌ°í, u' - v'

ÀÇ i  ¹ø°¿Í j ¹ø° ÁÂÇ¥( I¡Áj ) °¡ 1ÀÌ°í ´Ù¸¥

ÁÂÇ¥°¡  0 À̶ó ÇÏÀÚ. ±×·¯¸é

½Ä (3)À¸·ÎºÎÅÍ ai' = aj'  (ai' & aj'   ´Â H' ÀÇ

i ¹ø°¿Í  j ¹ø°ÀÇ Çà)

H'  ÀÇ ÇàµéÀÌ ¸ðµÎ ´Ù¸£¹Ç·Î ÀÌ¿¡ ¸ð¼øµÈ´Ù.

µû¶ó¼­ d(u',v') ¡Ã 3 ÀÌ°í code C´Â one-error

correcting code ÀÌ´Ù.    Q.E.D. 

 

    Here we note that the code C obtained here is perfect.  Because

    q = 2 , t = 1 , n=2r-1 , N = 2k ,

    where k = n - r.   Hence

 

 

 

Example 1. Let r= 3; then for corresponding

Hamming code, H  is given by (1); and let

 x'=(x1, x2, x3, x4, x5, x6, x7). Find the

Hamming one-error correcting code.

 

Solution.  x'H' = 0 or Hx = 0      ¡¦  (3)

free variable x1, x2, x3, x4 ;

Hence we get the 24=16 words of the code :

 

    (0, 0, 0, 0, 0, 0, 0) (1, 1, 1, 1, 1, 1, 1)

    (1, 0, 0, 0, 1, 1, 1) (0, 1, 1, 1, 0, 0, 0)

    (0, 1, 0, 0, 0, 1, 1) (1, 0, 1, 1, 1, 0, 0)

    (0, 0, 1, 0, 1, 0, 1) (1, 1, 0, 1, 0, 1, 0)

    (0, 0, 0, 1, 1, 1, 0) (1, 1, 1, 0, 0, 0, 1)

    (1, 1, 0, 0, 1, 0, 0) (0, 0, 1, 1, 0, 1, 1)

    (1, 0, 1, 0, 0, 1, 0) (0, 1, 0, 1, 1, 0, 1)

    (1, 0, 0, 1, 0, 0, 1) (0, 1, 1, 0, 1, 1, 0)

     

 

 

¹®Á¦ 1.  Let r= 4. For corresponding Hamming code, H  is given by the above method, find the Hamming one-error correcting code.

 

 

      

  Decoding rule

 

Àü¼ÛµÈ code´Â ¿©·¯ °¡Áö noise ¿äÀο¡ ÀÇÇÏ¿©

¿ø·¡ÀÇ code¿Í ´Ù¸¦ ¼ö ÀÖ´Ù. ÀÌ ¶§, decodeÇÏ´Â

°úÁ¤¿¡¼­ °¡´ÉÇÑÇÑ ¿ø·¡ÀÇ code·Î º¹¿øÇϱâ À§ÇÏ¿©

¿ì¸®´Â Minimum distance rule¿¡ ÀÇÇÑ error

correctingÀ» ÇÏ¿©¾ß ÇÑ´Ù. ÀÌ¿¡ °üÇÏ¿©´Â ´ÙÀ½

°­ÀÇ¿¡¼­ ÇнÀÇϱâ·Î ÇÑ´Ù.

 

 

 

 

 

 

 

   º» °­ÀÇ¿¡¼­´Â ¾ÏÈ£ÀÌ·Ð(coding theory) Áß¿¡¼­ Hamming one-error correcting code¿¡ °üÇÑ ±âÃÊÀûÀÎ À̷аú ¹æ¹ý¿¡ ´ëÇÏ¿© ÇнÀÇÑ´Ù.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Á¦ 10 Àå   ¾ÏÈ£À̷аú ±× ÀÀ¿ë       

    

4.  HAMMING ONE-ERROR CORRECTING CODES II 

 

 

 

 

 

Hamming one-error correcting code¸¦ ¾î¶»°Ô ¸¸µé¾ú´Â°¡ È®ÀÎÇÏ¿© º¸½Ã¿À.  ¶Ç, ¾ÏÈ£À̷п¡ °üÇÑ Ç¥ÁØÀûÀÎ ±³À縦 Âü°íÇÏ¿© ¶Ç´Ù¸¥ one-error correcting code¸¦ ¸¸µå´Â ¹æ¹ý¿¡ °üÇÏ¿© »ý°¢ÇÏ¿© º¸½Ã¿À.

 

 

 º» °­ÀÇ¿¡¼­´Â ¾ÏÈ£ÀÌ·Ð(coding theory) Áß¿¡¼­ Hamming one-error correcting code¿¡ °üÇÑ ±âÃÊÀûÀÎ À̷аú ¹æ¹ý¿¡ ´ëÇÏ¿© ÇнÀÇÑ´Ù.

 

 

  HAMMING ONE-ERROR CORRECTING

  BINARY CODES

 

HAMMING ONE-ERRORCORRECTING BINARY CODE¸¦ È°¿ëÇÏ´Â ¹æ¹ý¿¡ °üÇÏ¿© ÇнÀÇϵµ·Ï ÇսôÙ.

 

´ÙÀ½ÀÇ °­ÀÇ´Â R. C. Bose & B. Manvel Àú¼­ÀÎ

Introduction to Combinatorial Theory

John Wiley & Sons Inc., 1984.

ÀÇ 7ÀåÀÇ ³»¿ëÀ» Âü°íÇÏ¿© ÇнÀÇϱ⠹ٶø´Ï´Ù.

 

¾Õ¿¡¼­ ÇнÀÇÑ ¹Ù¿Í °°ÀÌ, Àü¼ÛµÈ code´Â ¿©·¯ °¡Áö noise

¿äÀο¡ ÀÇÇÏ¿© ¿ø·¡ÀÇ code¿Í ´Ù¸¦ ¼ö ÀÖ´Ù. ÀÌ ¶§,

decodeÇÏ´Â °úÁ¤¿¡¼­ °¡´ÉÇÑÇÑ ¿ø·¡ÀÇ code·Î º¹¿øÇϱâ

À§ÇÏ¿© ¿ì¸®´Â Minimum distance rule¿¡ ÀÇÇÑ error

correctingÀ» ÇÏ¿©¾ß ÇÑ´Ù.

 

Minimum distance rule

 

(I) x' = (x1, x2,..., xn)  : transmitted word

    y' = (y1, y2,..., yn) : received word.

    C : Hamming code

Compare  y' with all the code words in C and

There is no error( x' matches y')  ¢¡  x' = y'

 

(2)  À§ÀÇ Example 1ÀÇ codeÀÎ °æ¿ì¿¡

y' = (1, 0, 1, 0, 1, 0, 0)°¡  received word ¶ó¸é,

y'Àº code ¸ðÀ½¿¡ ¾ø´Ù. µû¶ó¼­ minimum distance

rule¿¡ ÀÇÇÏ¿©  y' ¿¡¼­ ÃּҰŸ® 1ÀÎ x' ¸¦ C

code¿¡¼­ ãÀ¸¸é x' = (1, 0, 1, 1, 1, 0, 0).

µû¶ó¼­, x'ÀÌ transmitted word ÀÌ´Ù.

 

 

REMARK. The number of comparisons needed

for the minimum distance decoding rule

is . increases rapidly with r.

Thus, when r=3 ,=24=16

  r=4, N = 211 = 2048

  r=5, N = 226 = 77,108,864

Thus the minimum distance rule becomes

impractical when r is moderately large.

 

 

(3)  x' = (x1, x2,..., xn) : transmitted word

y' = (y1, y2,..., yn) : received word.

e' = (e1, e2,... ei ,..., en) : error vector  (where ei =1)

e1 = 0  ¢¢ i- th coordinate has been correctly transmitted.

w(e') : number of errors in the transmission.

Now y' = x' + e'

Therefore, y'H' = x'H' +  e'H'

x'H'  = 0   (x'  : code word from (2))

Hence y'H'  = e'H'

 

We define  y'H' to be the syndrome of the

received word y' .

 

(1)  y'H'  = 0 (null vector) ¢¢   no error

           ¢¢  y' : transmitted word(x' )

(2)  If there is one error, say in the I-th

coordinate,  then the syndrome is hi' , the I-th

row of H'.

If the syndrome matches the i-th row of H'

conclude that there is an error in the I-th

coordinate and the transmitted word

is  x' = y'- ei' , where

        ei' = (0, 0, ¡¦ , 1, ¡¦, 0)

[in the th coordinate is 1, & the other coordinates are zero£Ý

 

In the above Example 1,

 

(¥¡) y' = ( 1, 1, 0, 0, 1, 0, 0) : received word

    y' H'  = (0, 0, 0, 0, 0, 0, 0) : null vector

thus x' = y'

 

(¥¢) y' =(1, 0, 1, 0, 1, 0, 0) : received word

  y' H' = Hy

Since this matches the fourth row of H' ,

then e' =(0, 0, 0, 1, 0, 0, 0). Thus

      x' = y'-e'  =

(1, 0, 1, 0, 1, 0, 0) - (0, 0, 0, 1, 0, 0, 0)

         = (1, 0, 1, 1, 1, 0, 0)

 

Once the syndrome has been calculated the

number of comparisons needed is n=2r-1,

which is 15 for r = 4, & 31 for r = 5.

 

 

 

Example 2. The parity check matrix of a

one-error correcting binary Hamming code is

taken as

    

Answer the following questions :

(a) Supply the missing coodinate in code word

    (1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0,¡¦)

 

(b) What is the conclusion regarding the

transmitted word if the received word is

(1) (1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1)

(2)  (1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1)

(3) (1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1)

 

 

Solution of (a):  

 x' = (1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, x, y, z, u)

   

¢¡ x = 0 ,y = 1,z = 1,u = 0.    Thus

 x'  = (1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0)

 

Solution of (b) :

(1) y' = (1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1)

¢¡ e' = (0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0)

    x' = y'-e' =

   (1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1)  -    (0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0)   

  =  (1, 0, 1, 0, 1, 1, 0, 1*, 1, 1, 1, 1, 1, 1, 1)

(2)  y'= (1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1)

¢¡ e' = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0)

  x' = y'-e' =

      (1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1)

      - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0)

      =  (1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1)

(3) y' = (1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1)

 

 

 

Problem 1.   How many different code words are there in the code with the above (example) parity check matrix ?  

 

 

 

 

 

 º» °­ÀÇ¿¡¼­´Â ¾ÏÈ£ÀÌ·Ð(coding theory) Áß¿¡¼­ Hamming one-error correcting code¿¡ °üÇÑ ±âÃÊÀûÀÎ À̷аú ¹æ¹ý¿¡ ´ëÇÏ¿© ÇнÀÇÑ´Ù.