Method for detection of symbols carried in received communication signals, the method comprising: receiving at least one communication signal y transmitted over a radio channel H, wherein said received signal y comprises encoded radio channel symbol inputs x, and receiving a priori Log Likelihood Ratios, LLRs, of said channel inputs x; and the method further comprises: a) computing soft symbol estimates μ and variance D of said channel inputs x based on LLRs of said channel inputs x; b) filtering and interference cancelling said received signal y by using a first filter and filtered soft symbol estimates μ so as to obtain a filtered and interference cancelled received signal; c) estimating the Mean Square Error, MSE, matrix B of said filtered and interference cancelled received signal; d) computing an optimal matrix G opt for a BCJR algorithm based on said MSE estimate B, wherein said optimal matrix G opt specifies the BCJR algorithm; e) further filtering said filtered and interference cancelled received signal by using a second filter so as to obtain an input signal r to the BCJR algorithm, the second filter being derived from said optimal matrix G opt; and f) feeding said input signal r into the BCJR algorithm so as to obtain extrinsic LLRs of said channel inputs x, wherein the LLRs of said channel inputs x in step a) is obtained from a decoder, and the method further comprises: g) feeding said extrinsic LLRs into the decoder so as to obtain updated LLRs of said channel inputs x; and h) repeating steps a)-g) i number of times by using said updated LLRs in step a) to compute soft symbol estimates μ and variance D. receiving at least one communication signal y transmitted over a radio channel H, wherein said received signal y comprises encoded radio channel symbol inputs x, and receiving a priori Log Likelihood Ratios, LLRs, of said channel inputs x; and the method further comprises: a) computing soft symbol estimates μ and variance D of said channel inputs x based on LLRs of said channel inputs x; b) filtering and interference cancelling said received signal y by using a first filter and filtered soft symbol estimates μ so as to obtain a filtered and interference cancelled received signal; c) estimating the Mean Square Error, MSE, matrix B of said filtered and interference cancelled received signal; d) computing an optimal matrix G opt for a BCJR algorithm based on said MSE estimate B, wherein said optimal matrix G opt specifies the BCJR algorithm; e) further filtering said filtered and interference cancelled received signal by using a second filter so as to obtain an input signal r to the BCJR algorithm, the second filter being derived from said optimal matrix G opt; and f) feeding said input signal r into the BCJR algorithm so as to obtain extrinsic LLRs of said channel inputs x, wherein the LLRs of said channel inputs x in step a) is obtained from a decoder, and the method further comprises: g) feeding said extrinsic LLRs into the decoder so as to obtain updated LLRs of said channel inputs x; and h) repeating steps a)-g) i number of times by using said updated LLRs in step a) to compute soft symbol estimates μ and variance D. a) computing soft symbol estimates μ and variance D of said channel inputs x based on LLRs of said channel inputs x; b) filtering and interference cancelling said received signal y by using a first filter and filtered soft symbol estimates μ so as to obtain a filtered and interference cancelled received signal; c) estimating the Mean Square Error, MSE, matrix B of said filtered and interference cancelled received signal; d) computing an optimal matrix G opt for a BCJR algorithm based on said MSE estimate B, wherein said optimal matrix G opt specifies the BCJR algorithm; e) further filtering said filtered and interference cancelled received signal by using a second filter so as to obtain an input signal r to the BCJR algorithm, the second filter being derived from said optimal matrix G opt; and f) feeding said input signal r into the BCJR algorithm so as to obtain extrinsic LLRs of said channel inputs x, wherein the LLRs of said channel inputs x in step a) is obtained from a decoder, and the method further comprises: g) feeding said extrinsic LLRs into the decoder so as to obtain updated LLRs of said channel inputs x; and h) repeating steps a)-g) i number of times by using said updated LLRs in step a) to compute soft symbol estimates μ and variance D.