65.81 FireCode

FireCode( G, b )

FireCode constructs a (binary) Fire code. G is a primitive polynomial of degree m, factor of x^r-1. b an integer 0 leq <b> leq m not divisible by r, that determines the burst length of a single error burst that can be corrected. The argument G can be a polynomial with base ring GF(2), or a list of coefficients in GF(2). The generator polynomial is defined as the product of G and x^{2b-1}+1.

    gap> G := Polynomial( GF(2), Z(2)^0 * [ 1, 0, 1, 1 ] );
    Z(2)^0*(X(GF(2))^3 + X(GF(2))^2 + 1)
    gap> Factors( G );
    [ Z(2)^0*(X(GF(2))^3 + X(GF(2))^2 + 1) ]    # So it is primitive
    gap> C := FireCode( G, 3 );
    a cyclic [35,27,1..4]2..6 3 burst error correcting fire code over GF(2)
    gap> MinimumDistance( C );
    4    # Still it can correct bursts of length 3 

Previous Up Top Next
Index

GAP 3.4.4
April 1997