The Art of Error Correcting Coding: Linear Block Codes
content="Error Control Coding,Error CorrectingCoding,Error Correcting Codes,FEC,Turbo Codes,Iterative Decoding,DigitalCommunications,Wireless,Satellite,Data,Coded Modulation,Golay,Hamming,BCH,Reed Solomon,Viterbi Decoder,Soft Decision Decoding,Sudan Algorithm,Unequal Error Protection,Variable Rate Coding,Adaptive Coding,Convolutional Codes,LDPC,Low-Density Parity-Check Codes,The Art of Error-Correcting Coding,Capacity-achieving codes,Coding is not dead, is more alive than ever"
name=description>
Linear Block Codes: Performance analysis
tools
Here are several programs written in C and Matlab scripts for the analysis
and simulation of various linear block codes over BSC, AWGN and Rayleigh
fading channels. This is the topic of Chapter 1 of the href="http://www.amazon.com/gp/product/0470015586/ref=sr_11_1/102-3025380-7157754?ie=UTF8">book.
In addition to the programs below, the following two directories
contain, respectively, the generator matrices
and weight distributions of all binary extended BCH codes of length up to
128: href="http://the-art-of-ecc.com/Matrices_BCH">Matrices_BCH href="http://the-art-of-ecc.com/Weights">Weights_BCH style="FONT-WEIGHT: bold">Simulation of BPSK modulation over an AWGN
channel: href="http://the-art-of-ecc.com/1_Linear/sim_bpsk.m">sim_bpsk.m which also
needs Q.m style="FONT-WEIGHT: bold">Use of the Hamming bound to determine minimum
redundancy n-k, given k and t: href="http://the-art-of-ecc.com/1_Linear/minred.m">minred.m style="FONT-WEIGHT: bold">Use of the Hamming bound to determine maximum t, given
k and redundancy n-k: href="http://the-art-of-ecc.com/1_Linear/maxt.m">maxt.m
Simulation of a (6,3,3) linear code, over BSC, AWGN and Rayleigh fading
channels: href="http://the-art-of-ecc.com/1_Linear/633_awgn.c">633_awgn.c href="http://the-art-of-ecc.com/1_Linear/633_awgn_hdd.c">633_awgn_hdd.c
href="http://the-art-of-ecc.com/1_Linear/633_rayleigh.c">633_rayleigh.c
Weight distribution of a linear code given its generator matrix in an
input file: href="http://the-art-of-ecc.com/1_Linear/WD_linear_code.c">WD_linear_code.c
An example is the binary linear (6,3,3) code discussed in the book, for
which the file should contain the following 3 lines: 100110 010011
001101 Compute the weight
distribution and union bound of a binary linear code and union bound for binary
transmission over an AWGN channel: href="http://the-art-of-ecc.com/1_Linear/WeightDistribution.m">WeightDistribution.m
Another C program to find the weight distribution of a binary linear code
given a generator matrix (better user interface, no prompt): href="http://the-art-of-ecc.com/1_Linear/find_weights.c">find_weights.c
Bounds on the probability of a block error (WER) and a bit error (BER) for
binary linear codes with binary transmission over a Rayleigh fading channel:
href="http://the-art-of-ecc.com/1_Linear/WER_Chernoff.c">WER_Chernoff.c
href="http://the-art-of-ecc.com/1_Linear/WER_MC_union.c">WER_MC_union.c
href="http://the-art-of-ecc.com/1_Linear/BER_Chernoff.c">BER_Chernoff.c
href="http://the-art-of-ecc.com/1_Linear/BER_MC_union.c">BER_MC_union.c
Union bound on the word error probability (WER) for a binary linear
block code over a BSC channel: href="http://the-art-of-ecc.com/1_Linear/bound_pe.c">bound_pe.c
Bounds on the probability of a bit error for a linear code with
soft-decision and hard-decision decoding with binary transmission over an AWGN
channel: href="http://the-art-of-ecc.com/1_Linear/bound_awgn_ebno.c">bound_awgn_ebno.c
href="http://the-art-of-ecc.com/1_Linear/bound_hdd_awgn.c">bound_hdd_awgn.c
Bounds on the bit error probability of the memory-2 rate-1/2 convolutional
code discussed in the book: href="http://the-art-of-ecc.com/1_Linear/bound_rate12_bsc.c">bound_rate12_bsc.c
href="http://the-art-of-ecc.com/1_Linear/bound_rate12_bsc_best.c">bound_rate12_bsc_best.c
href="http://the-art-of-ecc.com/1_Linear/bound_rate12_bsc_meeberg.c">bound_rate12_bsc_meeberg.c
Evaluation of the undetected error probability of a binary linear (4,2,2)
code, Equation (1.27) in the book: href="http://the-art-of-ecc.com/1_Linear/bound_undetect_422.c">bound_undetect_422.c
Bounds on the probability of error of a repetition code over an AWGN
channel and a Rayleigh fading channel, with soft decision decoding, as well as
probability of error with hard-decision over an AWGN channel: href="http://the-art-of-ecc.com/1_Linear/bound_313.c">bound_313.c href="http://the-art-of-ecc.com/1_Linear/pe313_rayleigh.c">pe313_rayleigh.c
href="http://the-art-of-ecc.com/1_Linear/pe_313_hd_awgn.c">pe_313_hd_awgn.c
Simulation of a repetition (3,1,3) code over a binary symmetric
channel: href="http://the-art-of-ecc.com/1_Linear/simulation313.c">simulation313.c
Decoding of the binary (3,1,3) code over
an AWGN channel: href="http://the-art-of-ecc.com/1_Linear/MLdecoder_313code.m">MLdecoder_313code.m style="FONT-WEIGHT: bold">Decoding of a binary (4,2,2) code over an AWGN
channel: href="http://the-art-of-ecc.com/1_Linear/MLdecoder_422code.m">MLdecoder_422code.m
Probability of decoding error (block error) for a binary code with binary
transmission over an AWGN channel and hard-decision decoding: href="http://the-art-of-ecc.com/1_Linear/pe_hdd_awgn.c">pe_hdd_awgn.c
Exact probability of error with standard array decoding of binary linear
codes: href="http://the-art-of-ecc.com/1_Linear/pe_std_array.c">pe_std_array.c
Evaluate error probabilities for an RS code: href="http://the-art-of-ecc.com/1_Linear/prob_error_RScode.c">prob_error_RScode.c
href="http://the-art-of-ecc.com/1_Linear/prob_dec_error_rs.c">prob_dec_error_rs.c
BACK TO CONTENTS
This page was last updated
on August 6, 2008, by Robert H. Morelos-Zaragoza.
src="The Art of Error Correcting Coding Linear Block Codes.files/whv2_001.js">
geovisit();
src="The Art of Error Correcting Coding Linear Block Codes.files/visit.gif"
width=1 border=0>