Patent ID: 7082173

Claim:
A method for decoding a predetermined code word, wherein said code word comprises a number of positions having different values, comprising the steps of: providing a processor comprising a central processing unit, memory, an input/output interface, and a data bus connecting said central processing unit to said memory and said input/output interface, said processor decoding a predetermined code word; determining a calculation rule for a soft-output value for each position of said code word, each said position of said code being correlated with said soft-output value, according to the formula L ( U i ⁢  y ) = ln ⁢ ⁢ ( ∑ c ⁢ ⁢ ε ⁢ ⁢ Γ i ⁡ ( + 1 ) ⁢ ⁢ exp ⁢ ⁢ ( - ( y - c ) T ⁢ ( y - c ) 2 ⁢ ⁢ σ 2 ) ∑ c ⁢ ⁢ ε ⁢ ⁢ Γ i ⁡ ( - 1 ) ⁢ ⁢ exp ⁢ ⁢ ( - ( y - c ) T ⁢ ( y - c ) 2 ⁢ ⁢ σ 2 ) ⁢ ) , for ⁢ ⁢ i = 1 , … ⁢ , K , ⁢ where L(U i |y) is a safety measure (soft output) for the i-th position of the code word to be determined; y is a demodulation result to be decoded; c is a code word; Γ i (±1) are all code words for u i ±1; and σ 2 is a variance (channel disturbance); utilizing a characteristic of a convolutional code, in decoding of said code word, for determining said correlation of said individual positions of said code word from which steps follow of determining states in accordance with a shift register operation, and obtaining a trellis representation from these states; calculating weights μ q q(s), for an arbitrary choice of yεR N , for nodes (s,q) of said trellis representation by evaluating μ q :S→ , s ⁢ ⁢ exp ⁢ ⁢ ( - 1 2 ⁢ ⁢ σ 2 ⁢ ∑ j = 1 n ⁢ ⁢ ( y n ⁡ ( q - 1 ) + j - C j ⁡ ( s ) ) 2 ) for qε{1, . . . , Q}; determining mappings A m by way of said trellis representation, running through said trellis representation in the natural direction, and calculating the term A m by A m ⁡ ( s ) = μ m ⁡ ( s ) ⁢ ∑ t ⁢ ⁢ ε ⁢ ⁢ W ⁢ ⁢ ( s , V m ) □ ⁢ ⁢ A m - 1 ⁡ ( t ) , for ⁢ ⁢ m ⁢ ⁢ ε ⁢ and a starting value A 0 ⁡ ( s ) = { 1 ⋮ for s = s 0 , 0 ⋮ else determining mappings B m by way of said trellis representation, said trellis representation being run through in opposition to a predetermined direction, and calculating the term B m by B m ⁡ ( s ) = μ Q - m + 1 ⁡ ( s ) ⁢ ∑ t ⁢ ⁢ ε ⁢ ⁢ T ⁢ ⁢ ( s , V Q - m + 2 ) ⁢ ⁢ ⁢ B m - 1 ⁡ ( t ) , for ⁢ ⁢ 1 ≤ m ≤ Q , ⁢ where B 0 ⁡ ( s ) = { 1 ⋮ for s = s 0 , 0 ⋮ else is determined for terminating the recursion; and determining terms A α i by again running through said trellis representation taking into consideration said terms A m and B m already determined, according to a relation A α i ⁡ ( y ) = ∑ s ⁢ ⁢ ε ⁢ ⁢ S ⁢ ⁢ ⁢ A i - 1 ⁡ ( s ) ⁢ ∑ t ⁢ ⁢ ε ⁢ ⁢ T ⁢ ⁢ ( s , V j i ⁡ ( a ) ) ⁢ ⁢ B Q - j + 1 ⁡ ( t ) , where j = ⌊ i - 1 b ⌋ + 1 ; determining K positions of said code word according to L ( U i ⁢  y ) = ln ⁢ ⁢ ( A + 1 i ⁡ ( y ) A - 1 i ⁡ ( y ) ) , i = 1 , … ⁢ , K .