A method for minimizing errors in a modulated signal transmitted over a
transmission medium. The method is applied to the entire data block,
thereby incorporating information about the parities of each row of data
to fix and correct the errors in the row. Thereafter ISI removal is
applied on a row by row basis, with such corrections being applied via
soft decision coding. In particular, the data samples are first collected
in a data block (or FEC block). A soft decision buffer is thereafter
created by taking each sample involved. An FEC word is created by
processing down each row of the soft decision buffer and creating a binary
stream out of the sign bits for each table entry. This creates an estimate
of the word by thresholding it around the zero level. A syndrome is
generated via a comparison of the parity bits for each FEC word. The
syndrome provides the most likely bit error positions, represented by an
offset into the FEC word. The error positions map back into the array of
soft decision buffer entries and the absolute value entries are summed for
each corresponding position. This produces sets of numbers and the set
with the smallest value is used to indicate the error pattern. The bits
believed to be in error are flipped in the FEC word. ISI removal is
applied to the soft decision buffer on a row-by-row basis (excluding the
first row) to create an intermediate data frame, referred to as the Rx
Frame. Upon completion, the process is repeated in the other direction for
all of the rows except the last row, on a row-by-row basis. Upon
completion, the data block errors will be minimized and the received block
should match the transmitted block. The process therefore provides minimal
data block errors, but at the same time uses less processing resources.