Polynomial Tables

The table below lists the polynomials used. All are feed-forward non-systematic codes with no catastrophic cycles. Alongside each are the code parameters $[n,k,d_{min}]$ for various message sizes when used as a terminated block code.

(H) indicates the minimum distance equals the Heller bound. (T) indicates a transparent polynomial set, although the block convolutional code is not transparent.

The alias can be used as argument to the -p program options instead of giving the full octal polynomial.

AliasCodePolynomials in Octal 5 chars12 chars25 chars
2K15BRate 1/2 K=15 046253,077361 [120,30,17][204,72,17][360,150,17]
2K16BRate 1/2 K=16 0114727,0176121 [122,30,18][206,72,18][362,150,18]
2K17BRate 1/2 K=17 (T) 0213631,0353323 [124,30,20][208,72,20][364,150,20]
2K18ARate 1/2 K=18 0507517,0654315 [126,30,20][210,72,20][366,150,20]
2K21ARate 1/2 K=21 05016515,06770547 [132,30,24][216,72,24][372,150,24]
2K23ARate 1/2 K=23 (T) 051202215,066575563 [138,30,24][222,72,24][378,150,24]
3K10ARate 1/3 K=10 (H) 01117,01365,01633 [165,30,20][291,72,20][525,150,20]
3K11ARate 1/3 K=11 (H) 02353,02671,03175 [168,30,22][294,72,22][528,150,22]
3K12ARate 1/3 K=12 (H) 04767,05723,06265 [171,30,24][297,72,24][531,150,24]
3K13ARate 1/3 K=13 010533,010675,017661 [174,30,24][300,72,24][534,150,24]
3K14ARate 1/3 K=14 021645,035661,037133 [177,30,26][303,72,26][537,150,26]
4K13ARate 1/4 K=13 011145,012477,015537,016727 [232,30,32][400,72,32][712,150,32]
4K14ARate 1/4 K=14 (H) 021113,023175,035527,035537 [236,30,36][404,72,36][716,150,36]
4K15BRate 1/4 K=15 050575,051447,056533,066371 [240,30,37][408,72,37][720,150,37]
4K16ARate 1/4 K=16 0123175,0135233,0156627,0176151 [244,30,39][412,72,39][724,150,39]
4K17ARate 1/4 K=17 0235433,0247631,0264335,0311727 [248,30,41][416,72,41][728,150,41]
4K19ARate 1/4 K=19 (H) 01122645,01373343,01531175,01634157 [256,30,46][424,72,46][736,150,46]
4K21ARate 1/4 K=21 04542365,05342433,06347677,07232671 [264,30,50][432,72,50][744,150,50]
4K23ARate 1/4 K=23 022346335,024275433,035520777,036271251 [272,30,54][440,72,54][752,150,54]
4K25ARate 1/4 K=25 (T) 0106042635,0125445117,0152646773,0167561761 [280,30,58][448,72,58][760,150,58]
8K17ARate 1/8 K=17 0222537,0226345,0255077,0267667,
0306347,0315117,0326721,0372751
[496,30,84][832,72,84][1456,150,84]
8K19ARate 1/8 K=19 01632737,01226537,01214561,01276775,
01221517,01523533,01154451,01543563
[512,30,92][848,72,92][1472,150,92]
8K21ARate 1/8 K=21 (H) 04470745,04714453,05175161,05366615,
06375351,06752427,06775363,07310533
[528,30,102][864,72,102][1488,150,102]
8K23ARate 1/8 K=23 (H) 023372665,024534765,025561775,027325743,
031716223,032210543,035451321,036744713
[544,30,110][880,72,110][1504,150,110]
8K25ARate 1/8 K=25 0105341521,0111747353,0114371121,0122355637,
0134552773,0150627331,0164507577,0172554315
[560,30,118][896,72,118][1520,150,118]
16K21ARate 1/16 K=21 (H) 04232547,04505631,05114365,05234555,
05275577,05333523,05634353,05663763,
05735521,06110751,06273753,06523067,
06723455,07454677,07647511,07710617
[1056,30,204][1728,72,204][2976,150,204]
16K25ARate 1/16 K=25 (H) 0104722251,0107672671,0122541663,0122545535,
0123470447,0125364663,0131553555,0131615665,
0145114761,0145522105,0146174323,0157705733,
0162370765,0166576517,0167572771,0176274217
[1120,30,238][1792,72,238][3040,150,238]

Most of the shorter constraint length polynomials are standard well known codes. The longer ones were found by a brute force search. A very large number of polynomial sets were randomly generated (subject to some simple constraints) and tested for $d_{min}$. Those with the largest $d_{min}$ where then compared on the basis of the first few dozen terms of their distance spectrum.

The production rate of good codes was significantly enhanced by taking a large set of reasonably good rate $1/r$ codes and testing combinations of these as rate $1/(2r)$ codes.

Some effort was made to rank codes based only on their cumulative distance spectrum without considering their $d_{min}$, with a view to producing codes optimised for list decoding. However, no significant difference in actual message performance could be established using such codes, compared with those with the highest $d_{min}$.