<p>An apparatus for decoding digital data includes a processor to create a priori information for insertion to a maximum a posteriori (MAP) decoder. The processor detects locations of symbols in the input data stream and reads ROM data corresponding to the location. The ROM data is used by the processor to generate a priori information suitable to the input data stream location and inputs the created a priori information into a MAP decoder to aid in the decoding of digital data that is organized in digital symbol blocks of size S, wherein the data stream is encoded by a digital encoder processor comprising a plurality of deterministic digital processing units followed by a trellis encoder.</p>