Patent ID: 6901103

Claim:
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, wherein using the gain vector to determine likelihood values of a designated code symbol comprises: defining the likelihood values of the designated code symbol as a log likelihood ratio Λ k in accordance with the following equation: Λ k = log ⁢ max θ -> , { d π ⁢ ⁢ ( j ) : j ⁢ ∈ ⁢ J - { k } } ⁢ p θ -> ( { x j , y j ′ : j ∈ J , j ′ ∈ J ′ } ❘ d π ⁢ ⁢ ( k ) = + 1 , { d π ⁢ ⁢ ( j ) : j ∈ J - { k } } ) max θ -> , { d π ⁢ ⁢ ( j ) : j ⁢ ∈ ⁢ J - { k } } ⁢ p θ -> ( { x j , y j ′ : j ∈ J , j ′ ∈ J ′ } ❘ d π ⁢ ⁢ ( k ) = - 1 , { d π ⁢ ⁢ ( j ) : j ∈ J - { k } } ) , wherein {right arrow over (θ)} is the gain vector, p {right arrow over (θ)} (·|·) is the conditional probability; d π(k) is the designated code symbol, x j represents the plurality of code symbols, y j′ represents the plurality of pilot symbols, and the indices J and J′ are defined by: J ⊂ {j:k− M ≦j≦k+{overscore (M)}} and J′ ⊂ {( j′:k− N ≦j′≦k+{overscore (N)}}, where the terms M , {overscore (M)}, N , and {overscore (N)} are window boundary values.