Given an n bit binary string, 2n different combinations or code words can be constructed. Any given pair of codewords can be described by a hamming distance.
If a set of M codewords is taken without replacement from the full N=2n member set of codewords, the set can be described by the minimum hamming distance between any pair of codewords in the set.
Error correction benefits from selecting a set of codewords such that the minimum hamming distance of the codeword set is a maximum possible for a given n and M. [reference (maybe webpages I've viewed).
In an effort to understand how good a code can be achieved, I am computing the "probability density function" (PDF) of the value of the minimum hamming distance (MHD) for varying (n,M) combinations.
A Monte Carlo approach is selected to compute the distribution since for most (n,M) combinations, the number, N choose M (binomial coefficient) combinations cannot be computed exhaustively. The density is therefore approximated by...
add ref on plot page to jpgrapgh
A small applet is used to facilitate generation of the distributions.
The zip file, once extracted on the target (Windows) box will produce a setup program to install the applet. The installation will add "codeham" to your start menu.
The applet allows results to be accumulated on any Internet connected box and sent to a common server (currently this server). The client server architecture allows me (and even you) to run the program on multiple boxes, speeding up the data collection process. The applet dynamically adjusts the number of results accumulated prior to initiating a UDP packet to the server. This is done to minimize network traffic. The applet will attempt to send a result set about once every couple of seconds.
The server side code is very primitive and cannot yet handle incomplete UDP packets, so it is possible for packet fragmentation to keep particular boxes from successfully sending results to the server. The maxmimum packet size selected worked during my testing but your mileage may vary.
This first objective has been achieved, at least insofar as data is available to support the inquiry.
Maximum codeword set size lookup tool.
Beej's Guide to Network Programming
| CodeHam Home |