A data communication system has a combiner circuit that combines a set of
information symbols with error correction codes and that generates a set
of product codes that are at least three dimensional. A communication
channel receives the set of product codes and provides the set of product
codes with errors after a channel delay. A channel detector receives the
set of product codes with the errors and generates a channel detector
output. An error correction circuit receives the channel detector output
and iteratively removes the errors to provide a set of reproduced
information symbols with a reduced number of the errors.