46 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			46 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								#!/bin/sh
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Example of how an LDPC code can be encoded using using sparse,
							 | 
						||
| 
								 | 
							
								# dense, and mixed representations of the generator matrix.  The dense
							 | 
						||
| 
								 | 
							
								# and mixed representations are based on the same set of message bits
							 | 
						||
| 
								 | 
							
								# as the sparse method with minprod heuristic.  This allows the correctness 
							 | 
						||
| 
								 | 
							
								# of these methods to be checked by verifying that they all produce the same 
							 | 
						||
| 
								 | 
							
								# result when encoding random messages.  The results are also checked by 
							 | 
						||
| 
								 | 
							
								# 'verify'.
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# A (400,200) LDPC code with 3 checks per bit is used for the test.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								set -e  # Stop if an error occurs
							 | 
						||
| 
								 | 
							
								set -v  # Echo commands as they are read
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								make-ldpc ex-ldpc-encode.pchk 200 400 1 evenboth 3 
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								make-gen  ex-ldpc-encode.pchk ex-ldpc-encode.genf sparse first
							 | 
						||
| 
								 | 
							
								make-gen  ex-ldpc-encode.pchk ex-ldpc-encode.genc sparse mincol
							 | 
						||
| 
								 | 
							
								make-gen  ex-ldpc-encode.pchk ex-ldpc-encode.genp sparse minprod
							 | 
						||
| 
								 | 
							
								make-gen  ex-ldpc-encode.pchk ex-ldpc-encode.gend dense ex-ldpc-encode.genp
							 | 
						||
| 
								 | 
							
								make-gen  ex-ldpc-encode.pchk ex-ldpc-encode.genm mixed ex-ldpc-encode.genp
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								rand-src  ex-ldpc-encode.src 1 200x10
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								encode    ex-ldpc-encode.pchk ex-ldpc-encode.genf ex-ldpc-encode.src \
							 | 
						||
| 
								 | 
							
								          ex-ldpc-encode.encf
							 | 
						||
| 
								 | 
							
								encode    ex-ldpc-encode.pchk ex-ldpc-encode.genc ex-ldpc-encode.src \
							 | 
						||
| 
								 | 
							
								          ex-ldpc-encode.encc
							 | 
						||
| 
								 | 
							
								encode    ex-ldpc-encode.pchk ex-ldpc-encode.genp ex-ldpc-encode.src \
							 | 
						||
| 
								 | 
							
								          ex-ldpc-encode.encp
							 | 
						||
| 
								 | 
							
								encode    ex-ldpc-encode.pchk ex-ldpc-encode.gend ex-ldpc-encode.src \
							 | 
						||
| 
								 | 
							
								          ex-ldpc-encode.encd
							 | 
						||
| 
								 | 
							
								encode    ex-ldpc-encode.pchk ex-ldpc-encode.genm ex-ldpc-encode.src \
							 | 
						||
| 
								 | 
							
								          ex-ldpc-encode.encm
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								cmp ex-ldpc-encode.encp ex-ldpc-encode.encd
							 | 
						||
| 
								 | 
							
								cmp ex-ldpc-encode.encp ex-ldpc-encode.encm
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								verify    ex-ldpc-encode.pchk ex-ldpc-encode.encf ex-ldpc-encode.genf \
							 | 
						||
| 
								 | 
							
								          ex-ldpc-encode.src
							 | 
						||
| 
								 | 
							
								verify    ex-ldpc-encode.pchk ex-ldpc-encode.encc ex-ldpc-encode.genc \
							 | 
						||
| 
								 | 
							
								          ex-ldpc-encode.src
							 | 
						||
| 
								 | 
							
								verify    ex-ldpc-encode.pchk ex-ldpc-encode.encp ex-ldpc-encode.genp \
							 | 
						||
| 
								 | 
							
								          ex-ldpc-encode.src
							 |