1. An apparatus for determining likelihood values of input data bits from a plurality of code symbols and a plurality of pilot symbols, comprising: a memory element; and a processor configured to execute a set of instructions stored in the memory element, the set of instructions for: determining a gain vector relating the plurality of code symbols and the plurality of pilot symbols in accordance with channel characteristics; and using the gain vector to determine likelihood values of a designated code symbol, wherein the input data bits are carried by the designated code symbol.