47 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			47 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								#!/bin/sh
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Example of a (10000,5000) LDPC code with varying numbers of check per bit,
							 | 
						||
| 
								 | 
							
								# tested on Additive White Gaussian Noise channels with noise standard 
							 | 
						||
| 
								 | 
							
								# deviations varying from 0.80 to 0.95.  The code has 20% columns with two 
							 | 
						||
| 
								 | 
							
								# check bits, 70% columns with three check bits, and 10% columns with seven
							 | 
						||
| 
								 | 
							
								# check bits.
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Testing is done by transmitting random messages, with pipes used so that
							 | 
						||
| 
								 | 
							
								# intermediate files are avoided.  Decoding is done using a maximum of 250
							 | 
						||
| 
								 | 
							
								# iterations of probability propagation.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								set -e  # Stop if an error occurs
							 | 
						||
| 
								 | 
							
								set -v  # Echo commands as they are read
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								make-ldpc ex-ldpcvar-5000a.pchk 5000 10000 2 evenboth 2x2/7x3/1x7 no4cycle
							 | 
						||
| 
								 | 
							
								make-gen  ex-ldpcvar-5000a.pchk ex-ldpcvar-5000a.gen dense
							 | 
						||
| 
								 | 
							
								rand-src  ex-ldpcvar-5000a.src 1 5000x100
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# NOISE STANDARD DEVIATION 0.80, Eb/N0 = 1.94 dB
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								encode      ex-ldpcvar-5000a.pchk ex-ldpcvar-5000a.gen ex-ldpcvar-5000a.src - \
							 | 
						||
| 
								 | 
							
								 | transmit - - 1 awgn 0.80 \
							 | 
						||
| 
								 | 
							
								 | decode   ex-ldpcvar-5000a.pchk - - awgn 0.80 prprp 250 \
							 | 
						||
| 
								 | 
							
								 | verify   ex-ldpcvar-5000a.pchk - ex-ldpcvar-5000a.gen ex-ldpcvar-5000a.src
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# NOISE STANDARD DEVIATION 0.85, Eb/N0 = 1.41 dB
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								encode      ex-ldpcvar-5000a.pchk ex-ldpcvar-5000a.gen ex-ldpcvar-5000a.src - \
							 | 
						||
| 
								 | 
							
								 | transmit - - 1 awgn 0.85 \
							 | 
						||
| 
								 | 
							
								 | decode   ex-ldpcvar-5000a.pchk - - awgn 0.85 prprp 250 \
							 | 
						||
| 
								 | 
							
								 | verify   ex-ldpcvar-5000a.pchk - ex-ldpcvar-5000a.gen ex-ldpcvar-5000a.src
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# NOISE STANDARD DEVIATION 0.90, Eb/N0 = 0.92 dB
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								encode      ex-ldpcvar-5000a.pchk ex-ldpcvar-5000a.gen ex-ldpcvar-5000a.src - \
							 | 
						||
| 
								 | 
							
								 | transmit - - 1 awgn 0.90 \
							 | 
						||
| 
								 | 
							
								 | decode   ex-ldpcvar-5000a.pchk - - awgn 0.90 prprp 250 \
							 | 
						||
| 
								 | 
							
								 | verify   ex-ldpcvar-5000a.pchk - ex-ldpcvar-5000a.gen ex-ldpcvar-5000a.src
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# NOISE STANDARD DEVIATION 0.95, Eb/N0 = 0.45 dB
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								encode      ex-ldpcvar-5000a.pchk ex-ldpcvar-5000a.gen ex-ldpcvar-5000a.src - \
							 | 
						||
| 
								 | 
							
								 | transmit - - 1 awgn 0.95 \
							 | 
						||
| 
								 | 
							
								 | decode   ex-ldpcvar-5000a.pchk - - awgn 0.95 prprp 250 \
							 | 
						||
| 
								 | 
							
								 | verify   ex-ldpcvar-5000a.pchk - ex-ldpcvar-5000a.gen ex-ldpcvar-5000a.src
							 |