Perhaps the simplest error correcting code is the
      repetition code.
     
      Here, the transmitter sends the data bit several times, an odd
      number of times in fact. Because the error probability
      
	
	    p
	    e
	  
      
	    p
	    e
	   is always less than   
      
	12
      
	  1
	  2
	, we know that more of the bits should be correct
      rather than in error.
      Simple majority voting of the received bits (hence the reason
      for the odd number) determines the transmitted bit more
      accurately than sending it alone.
      For example, let's consider the three-fold repetition code:
      for every bit
      
	bn
      
	  b
	  n
	 emerging from the source coder, the channel coder
	produces three. Thus, the bit stream emerging from the channel
	coder 
      
	cl
      
	  c
	  l
	 has a data rate three times higher than that of the
	original bit stream
      
	bn
      
	  b
	  n
	. 
      The coding table illustrates when errors can be
      corrected and when they can't by the majority-vote decoder.
    
    
Table 1: Coding Table
	In this example, the transmitter encodes 
	
	  0
	0
	as 
	
	  000
	000.
	The channel creates an error (changing a 
	
	  0
	0
	into a 
	
	  1
	1) 
	that with probability 
	
	   
	      p 
	      e
	     
	 
	      p 
	      e
	    .  
	The first column lists all possible received datawords and the
	 second the probability of each dataword being received.  The
	 last column shows the results of the majority-vote decoder.
	 When the decoder produces 00, it
	 successfully corrected the errors introduced by the channel
	 (if there were any; the top row corresponds to the case in
	 which no errors occurred).  The error probability of the
	 decoders is the sum of the probabilities when the decoder
	 produces
	
	  1
	1.
      
	    
	      | 
		Code
	       | 
	      
		Probability
	       | 
	      
		Bit
	       | 
	    
	  
	    
	      | 
		000
	       | 
	      
		 
		  1−
			  p
			  e
			3 
		
		    
		      1
		      
			  p
			  e
			
		    
		    3 
		  
	       | 
	      
		0
	       | 
	    
	    
	      | 
		001
	       | 
	      
		 
		  
			p
			e
		      1−
			    p
			    e
			  2 
		
		    
			p
			e
		      
		    
		      
			1
			
			    p
			    e
			  
		      
		      2
		     
		  
	       | 
	      
		0
	       | 
	    
	    
	      | 
		010
	       | 
	      
		 
		  
			p
			e
		      1−
			    p
			    e
			  2 
		
		    
			p
			e
		      
		    
		      
			1
			
			    p
			    e
			  
		      
		      2
		     
		  
	       | 
	      
		0
	       | 
	    
	    
	      | 
		011
	       | 
	      
		 
		  
			  p
			  e
			2(1−
			  p
			  e
			) 
		
		    
		      
			  p
			  e
			
		      2
		    
		    
		      1
		      
			  p
			  e
			
		     
		  
	       | 
	      
		1
	       | 
	    
	    
	      | 
		100
	       | 
	      
		 
		  
			p
			e
		      1−
			    p
			    e
			  2 
		
		    
			p
			e
		      
		    
		      
			1
			
			    p
			    e
			  
		      
		      2
		     
		  
	       | 
	      
		0
	       | 
	    
	    
	      | 
		101
	       | 
	      
		 
		  
			  p
			  e
			2(1−
			  p
			  e
			) 
		
		    
		      
			  p
			  e
			
		      2
		    
		    
		      1
		      
			  p
			  e
			
		     
		  
	       | 
	      
		1
	       | 
	    
	    
	      | 
		110
	       | 
	      
		 
		  
			  p
			  e
			2(1−
			  p
			  e
			) 
		
		    
		      
			  p
			  e
			
		      2
		    
		    
		      1
		      
			  p
			  e
			
		     
		  
	       | 
	      
		1
	       | 
	    
	    
	      | 
		111
	       | 
	      
		 
		  
			p
			e
		      3 
		
		    
			p
			e
		      
		    3 
		  
	       | 
	      
		1
	       | 
	    
	  
 
     Thus, if one bit of the three bits is received in
      error, the receiver can correct the error; if more than one
      error occurs, the channel decoder announces the bit is
      1 instead of transmitted value of
      0. Using this repetition code, the
      probability of
      
	
		b^
	      n≠0
	  
	  
	    
		b^
	      
	    n
	  
	  0
	 equals 
      
	3
		  p
		  e
		2×(1−
		  p
		  e
		)+
		p
		e
	      3
      
	  
	    3
	    
	      
		  p
		  e
		
	      2
	    
	    
	      1
	      
		  p
		  e
		
	    
	  
	  
	    
		p
		e
	      
	    3
	  
	.
      This probability of a decoding error is always less than  
      
	
	    p
	    e
	  
      
	    p
	    e
	  , the uncoded value, so long as   
      
	
	      p
	      e
	    <12
      
	  
	  
	      p
	      e
	    
	  
	    1
	    2
	  
	.
    
    
	Demonstrate mathematically that this claim is
	  indeed true.  Is 
	  
	    3
			p
			e
		      2×(1−
			p
			e
		      )+
		      p
		      e
		    3≤
		  p
		  e
		
	  
	      
	      
		
		  3
		  
		    
			p
			e
		      
		    2
		  
		  
		    1
		    
			p
			e
		      
		  
		
		
		  
		      p
		      e
		    
		  3
		
	      
	      
		  p
		  e
		
	    ? 
	
       
	This question is equivalent to 
	
	  3
		    p
		    e
		  ×(1−
		      p
		      e
		    )+
		    p
		    e
		  2≤1
	  
	     
	     
	      
		3
		
		    p
		    e
		  
		 
		  1
		  
		      p
		      e
		    
		  
		
		
		  
		    p
		    e
		  
		  2
		
	      
	      1
	    
	  or 
	
	  2
		      p
		      e
		    2−3
		      p
		      e
		    +1≥0 
	
	    
	      
		2
		
		    
		      p
		      e
		    
		    2
		
	      
	      
		
		  3
                
		  
		      p
		      e
		    
		
	      1
	    
	    0 
	  .  
	Because this is an upward-going parabola, we need only check
	  where its roots are. Using the quadratic formula, we find
	  that they are located at
	  
	    12
	  
	    1
	    2
	   and  
	  11. Consequently
	  in the range   
	
	  0≤
		p
		e
	      ≤12
	
	    0
	    
		p
		e
	      
	    
	      1
	      2
	    
	  
	the error rate produced by coding is smaller.
	
 
    
   
        
"Electrical Engineering Digital Processing Systems in Braille."