📄 readme
字号:
From: "Xiao-Yu Hu" <xhu@zurich.ibm.com> Source C++ codes for approximating the MinDist problem of LDPC codesI feel very happy that I am now able to send you the source C++ codesfor approximating the MinDist problem of LDPC codes.The source files have been tested through the C++ compiler xlC on IBMRS/6000 running AIX operating system. On other compilers and platforms,minor changes may be needed on Makefile and/or source C++ files.Here are some examples for the commands:1) Main -code Reg252x504.dat -outFileCW Reg252x504.CW -thresh 25 Remarks: The program computes the minum distance (an upper bound) ofthe code Reg252x504.dat using single- and two-position Bit-Reversing,and stores valid codewords found of weight less than 25 to the fileReg252x504.CW.2) Main -code Reg252x504.dat -outFileCW Reg252x504.CW -thresh 25-switch 0 Remarks: Berrou's error impulse + single-position bit-reversing +two-position bit reversingThe following is the usage reminder issued by the program if one giveswrong input argument.-------------------------------------------------------------------- Usage Reminder: Main -code codeName -outFileCW outNameCW-thresh estLowWeight Option: -switch opt -speedup inum opt==0 --- Berrou's impulseerror followed by single-positionbit-reversing followed by two-positionbit reversing opt==1 --- single- and two-position bit reversing (DEFAULT) inum==1 --- normal speed at each iteration (DEFAULT) 2 --- faster, but low-weight codewords may bemissed 3 --- fastest, but low-weight codewords maybe missedThis free software is to compute approximately the minimum distance andthe corresponding multiplicity of iteratively decodeable linear codes,for instance LDPC codes. Recall that the general MinDist problem oflinear codes is NP-hard, the software thus produces an estimate and anupper bound of the minimum distance based on true (low-weight)codewords found by a fine-tuned local search. The algorithm proved tobe powerful in the sense that it found 2 codewords of weight 20 forMacKay (3,6)-regular (504, 252) code, 1 codeword of weight 34 forMacKay (3, 6)-regular (1008, 504) code, 66 codewords of weight 40 forthe Margulis (p=11) code, 2184 codewords of weight 14 for theRamanujan-Margulis (13, 5) code, and 204 codewords of weight 24 for theRamanujan-Margulis (17, 5) code. The main progamm Main reads in an LDPC code from 'codeName'. Theformat is as follows: The first line contains the number block length,N. The second line defines the number of parity-checks, M. The thirdline defines the number of columns of the compressed parity-check. Thefollowing M lines are then the compressed parity-check matrix. Each ofthe M rows contains the indices (1 ... N) of 1's in the compressed rowof parity-check matrix. If not all column entries are used, the columnis filled up with 0's.One needs to supply the programm with an estimate of the minimumdistance of the code by specifying -thresh estLowWeight. The specificvalue of estLowWeight does not affect the ability of the algorithm tocapture low-weight codewords, but it prescribes the largest weight ofwhich codewords (found) are writen into outNameCW --- for a codewith aminimum distance of 20, no one is interested in the codeword of weightover 50. Therefore, estLowWeight shall be slightly larger the trueminimum distance. If estLowWeight is smaller than the lowest weight found by the programm, no codewords are written into the outputcodeword file, but the program will tell you the lowest weight everfound. Note that the output codeword file 'outNameCW' is updated fromtime to time, one can terminate the program at any time when he thinkthe lowest weight is satisfactory. A log file called 'outNameCW.spect' records the lower-part spectrum ofthe code based on the codewords found so far. The posotion denotes the distance, and the number the multiplicity.---------------------------------------------------------------------Concerning the LDPC codes I have sent to you, the program finds 2codewords of weight 20 for Reg252x504.dat, 1 codeword of weight 48 for Reg504x1008.dat, 1 codeword of weight 13 for irReg252x504.dat, 1codeword of weight 13 for irReg504x1008.dat, 1 codeword of weight 15for irUppTriang518x1024.dat, and 2 codewords of weight 17 forirUppTriang1030x2048.dat
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -