225 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			225 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | 
 | ||
|  | # CODE 1 | ||
|  | 
 | ||
|  | make-pchk ex-dep.pchk 4 6 0:0 0:5 3:1 3:2 | ||
|  | print-pchk -d ex-dep.pchk | ||
|  | 
 | ||
|  | Parity check matrix in ex-dep.pchk (dense format): | ||
|  | 
 | ||
|  |  1 0 0 0 0 1 | ||
|  |  0 0 0 0 0 0 | ||
|  |  0 0 0 0 0 0 | ||
|  |  0 1 1 0 0 0 | ||
|  | 
 | ||
|  | echo 00011011 >ex-dep.src | ||
|  | 
 | ||
|  | # SPARSE REPRESENTATION | ||
|  | 
 | ||
|  | make-gen ex-dep.pchk ex-dep.gen sparse | ||
|  | Note: Parity check matrix has 2 redundant checks | ||
|  | Number of 1s per check in L is 0.8, U is 0.5, B is 0.2, total is 1.5 | ||
|  | print-gen -d ex-dep.gen | ||
|  | 
 | ||
|  | Generator matrix in ex-dep.gen (sparse representation): | ||
|  | 
 | ||
|  | Column order (message bits at end): | ||
|  | 
 | ||
|  |    5   2   1   3   4   0 | ||
|  | 
 | ||
|  | Row order: | ||
|  | 
 | ||
|  |    0   3   2   1 | ||
|  | 
 | ||
|  | L: | ||
|  | 
 | ||
|  |  1 0 0 0 | ||
|  |  0 0 0 0 | ||
|  |  0 0 0 0 | ||
|  |  0 1 0 0 | ||
|  | 
 | ||
|  | U: | ||
|  | 
 | ||
|  |  0 0 0 0 0 1 | ||
|  |  0 1 1 0 0 0 | ||
|  |  0 0 0 0 0 0 | ||
|  |  0 0 0 0 0 0 | ||
|  | 
 | ||
|  | encode ex-dep.pchk ex-dep.gen ex-dep.src ex-dep.enc; cat ex-dep.enc | ||
|  | Encoded 4 blocks, source block size 2, encoded block size 6 | ||
|  | 000000 | ||
|  | 100001 | ||
|  | 000010 | ||
|  | 100011 | ||
|  | verify ex-dep.pchk ex-dep.enc ex-dep.gen ex-dep.src | ||
|  | Block counts: tot 4, with chk errs 0, with src errs 0, both 0 | ||
|  | Bit error rate (on message bits only): 0.000e+00 | ||
|  | 
 | ||
|  | # DENSE REPRESENTATION | ||
|  | 
 | ||
|  | make-gen ex-dep.pchk ex-dep.gen dense | ||
|  | Note: Parity check matrix has 2 redundant checks | ||
|  | Number of 1s per check in Inv(A) X B is 0.2 | ||
|  | print-gen -d ex-dep.gen | ||
|  | 
 | ||
|  | Generator matrix in ex-dep.gen (dense representation): | ||
|  | 
 | ||
|  | Column order (message bits at end): | ||
|  | 
 | ||
|  |    0   1   2   3   4   5 | ||
|  | 
 | ||
|  | Inv(A) X B: | ||
|  | 
 | ||
|  |  0 1 | ||
|  |  0 0 | ||
|  |  0 0 | ||
|  |  0 0 | ||
|  | 
 | ||
|  | encode ex-dep.pchk ex-dep.gen ex-dep.src ex-dep.enc; cat ex-dep.enc | ||
|  | Encoded 4 blocks, source block size 2, encoded block size 6 | ||
|  | 000000 | ||
|  | 100001 | ||
|  | 000010 | ||
|  | 100011 | ||
|  | verify ex-dep.pchk ex-dep.enc ex-dep.gen ex-dep.src | ||
|  | Block counts: tot 4, with chk errs 0, with src errs 0, both 0 | ||
|  | Bit error rate (on message bits only): 0.000e+00 | ||
|  | 
 | ||
|  | # MIXED REPRESENTATION | ||
|  | 
 | ||
|  | make-gen ex-dep.pchk ex-dep.gen mixed | ||
|  | Note: Parity check matrix has 2 redundant checks | ||
|  | Number of 1s per check in Inv(A) is 0.5, in B is 0.2, total is 0.8 | ||
|  | print-gen -d ex-dep.gen | ||
|  | 
 | ||
|  | Generator matrix in ex-dep.gen (mixed representation): | ||
|  | 
 | ||
|  | Column order (message bits at end): | ||
|  | 
 | ||
|  |    0   1   2   3   4   5 | ||
|  | 
 | ||
|  | Inv(A): | ||
|  | 
 | ||
|  |  1 0 0 0 | ||
|  |  0 0 0 1 | ||
|  |  0 0 0 0 | ||
|  |  0 0 0 0 | ||
|  | 
 | ||
|  | encode ex-dep.pchk ex-dep.gen ex-dep.src ex-dep.enc; cat ex-dep.enc | ||
|  | Encoded 4 blocks, source block size 2, encoded block size 6 | ||
|  | 000000 | ||
|  | 100001 | ||
|  | 000010 | ||
|  | 100011 | ||
|  | verify ex-dep.pchk ex-dep.enc ex-dep.gen ex-dep.src | ||
|  | Block counts: tot 4, with chk errs 0, with src errs 0, both 0 | ||
|  | Bit error rate (on message bits only): 0.000e+00 | ||
|  | 
 | ||
|  | # CODE 2 | ||
|  | 
 | ||
|  | make-pchk ex-dep.pchk 4 5 0:0 0:1 1:1 1:2 2:0 2:2 3:3 3:4 | ||
|  | print-pchk -d ex-dep.pchk | ||
|  | 
 | ||
|  | Parity check matrix in ex-dep.pchk (dense format): | ||
|  | 
 | ||
|  |  1 1 0 0 0 | ||
|  |  0 1 1 0 0 | ||
|  |  1 0 1 0 0 | ||
|  |  0 0 0 1 1 | ||
|  | 
 | ||
|  | echo 01 >ex-dep.src | ||
|  | 
 | ||
|  | # SPARSE REPRESENTATION | ||
|  | 
 | ||
|  | make-gen ex-dep.pchk ex-dep.gen sparse | ||
|  | Note: Parity check matrix has 1 redundant checks | ||
|  | Number of 1s per check in L is 1.0, U is 1.2, B is 0.5, total is 2.8 | ||
|  | print-gen -d ex-dep.gen | ||
|  | 
 | ||
|  | Generator matrix in ex-dep.gen (sparse representation): | ||
|  | 
 | ||
|  | Column order (message bits at end): | ||
|  | 
 | ||
|  |    4   1   2   3   0 | ||
|  | 
 | ||
|  | Row order: | ||
|  | 
 | ||
|  |    3   0   1   2 | ||
|  | 
 | ||
|  | L: | ||
|  | 
 | ||
|  |  0 1 0 0 | ||
|  |  0 1 1 0 | ||
|  |  0 0 1 0 | ||
|  |  1 0 0 0 | ||
|  | 
 | ||
|  | U: | ||
|  | 
 | ||
|  |  0 0 0 1 1 | ||
|  |  0 1 0 0 0 | ||
|  |  0 0 1 0 0 | ||
|  |  0 0 0 0 0 | ||
|  | 
 | ||
|  | encode ex-dep.pchk ex-dep.gen ex-dep.src ex-dep.enc; cat ex-dep.enc | ||
|  | Encoded 2 blocks, source block size 1, encoded block size 5 | ||
|  | 00000 | ||
|  | 11100 | ||
|  | verify ex-dep.pchk ex-dep.enc ex-dep.gen ex-dep.src | ||
|  | Block counts: tot 2, with chk errs 0, with src errs 0, both 0 | ||
|  | Bit error rate (on message bits only): 0.000e+00 | ||
|  | 
 | ||
|  | # DENSE REPRESENTATION | ||
|  | 
 | ||
|  | make-gen ex-dep.pchk ex-dep.gen dense | ||
|  | Note: Parity check matrix has 1 redundant checks | ||
|  | Number of 1s per check in Inv(A) X B is 0.2 | ||
|  | print-gen -d ex-dep.gen | ||
|  | 
 | ||
|  | Generator matrix in ex-dep.gen (dense representation): | ||
|  | 
 | ||
|  | Column order (message bits at end): | ||
|  | 
 | ||
|  |    0   1   3   2   4 | ||
|  | 
 | ||
|  | Inv(A) X B: | ||
|  | 
 | ||
|  |  0 | ||
|  |  0 | ||
|  |  1 | ||
|  |  0 | ||
|  | 
 | ||
|  | encode ex-dep.pchk ex-dep.gen ex-dep.src ex-dep.enc; cat ex-dep.enc | ||
|  | Encoded 2 blocks, source block size 1, encoded block size 5 | ||
|  | 00000 | ||
|  | 00011 | ||
|  | verify ex-dep.pchk ex-dep.enc ex-dep.gen ex-dep.src | ||
|  | Block counts: tot 2, with chk errs 0, with src errs 0, both 0 | ||
|  | Bit error rate (on message bits only): 0.000e+00 | ||
|  | 
 | ||
|  | # MIXED REPRESENTATION | ||
|  | 
 | ||
|  | make-gen ex-dep.pchk ex-dep.gen mixed | ||
|  | Note: Parity check matrix has 1 redundant checks | ||
|  | Number of 1s per check in Inv(A) is 1.0, in B is 0.2, total is 1.2 | ||
|  | print-gen -d ex-dep.gen | ||
|  | 
 | ||
|  | Generator matrix in ex-dep.gen (mixed representation): | ||
|  | 
 | ||
|  | Column order (message bits at end): | ||
|  | 
 | ||
|  |    0   1   3   2   4 | ||
|  | 
 | ||
|  | Inv(A): | ||
|  | 
 | ||
|  |  1 1 0 0 | ||
|  |  0 1 0 0 | ||
|  |  0 0 0 1 | ||
|  |  0 0 0 0 | ||
|  | 
 | ||
|  | encode ex-dep.pchk ex-dep.gen ex-dep.src ex-dep.enc; cat ex-dep.enc | ||
|  | Encoded 2 blocks, source block size 1, encoded block size 5 | ||
|  | 00000 | ||
|  | 00011 | ||
|  | verify ex-dep.pchk ex-dep.enc ex-dep.gen ex-dep.src | ||
|  | Block counts: tot 2, with chk errs 0, with src errs 0, both 0 | ||
|  | Bit error rate (on message bits only): 0.000e+00 |