A method and apparatus for decoding a linear block encoded string of
information bits comprising: converting the string into a plurality of
codewords. Performing hard and soft decisions on each codeword to
generate a hard and soft decision vector. Computing the syndrome and
finding the location of the two minimum values by Galois Field
Arithmetic. Designating these values LOW1 and LOW2 and xoring with a Nc1,
thus generating Nc2. Swapping Nc1 with Nc2 and determining the lowest
soft decision value, Min1 and a next lowest value, Min2. The two bit
locations creating Min1 are designated as MinA and MinB. MinA being
replaced with Min2 minus the value MinA. MinB being replaced with Min2
minus the value at MinB. Generating an output codeword by subtracting
Min1 from all other bit locations values and 2's complementing all soft
values with 0 in their location. Creating the new soft value vector.