DSPRelated.com
Forums

BCJR algorithm for M-ary modulations

Started by Crisanquito January 31, 2009
>cpshah99 <cpshah99@rediffmail.com> wrote: > >> As far as I think (I might be wrong) but BCJR decoding does not >> depend on any modulation scheme. > >It depends upon what you are decoding with BCJR. > >If you're using the BCJR to decode the channel (e.g., analogous >to a Forney equalizer, but with BCJR instead of Viterbi) you >most certainly need to include the modulation. > >If you're only using BCJR to decode the FEC code, which is the >most common scenario, then you only need bit probabilities >at the input to the BCJR decoder. The modulation method >is involved in producing those probabilities but is not otherwise >involved. > >What you want to ask yourself is: what state is the BCJR algorithm >operating over? Is it channel state, or just FEC encoder state, >or both? I have encountered BCJR channel decoding in systems >such as GSM GMSK modulation, or 802.11b (BPSK) but it >is often regarded as too complex for higher-order modulation. > >Steve >
%%% You are right. It just slipped out of mind. Even Viterbi algorithm (or BCJR) will be difficult to implement for channel decoding for higher modulation as the channel memory increases. If I am right the complexity will grow as M^L, where M is modulation level and L is channel memory.
>>cpshah99 <cpshah99@rediffmail.com> wrote: >> >>> As far as I think (I might be wrong) but BCJR decoding does not >>> depend on any modulation scheme. >> >>It depends upon what you are decoding with BCJR. >> >>If you're using the BCJR to decode the channel (e.g., analogous >>to a Forney equalizer, but with BCJR instead of Viterbi) you >>most certainly need to include the modulation. >> >>If you're only using BCJR to decode the FEC code, which is the >>most common scenario, then you only need bit probabilities >>at the input to the BCJR decoder. The modulation method >>is involved in producing those probabilities but is not otherwise >>involved. >> >>What you want to ask yourself is: what state is the BCJR algorithm >>operating over? Is it channel state, or just FEC encoder state, >>or both? I have encountered BCJR channel decoding in systems >>such as GSM GMSK modulation, or 802.11b (BPSK) but it >>is often regarded as too complex for higher-order modulation. >> >>Steve >> > >%%% > >You are right. It just slipped out of mind. > >Even Viterbi algorithm (or BCJR) will be difficult to implement for >channel decoding for higher modulation as the channel memory increases.
If
>I am right the complexity will grow as M^L, where M is modulation level
and
>L is channel memory. > > >
I am trying to understand it for FEC decoding. If I am not wrong, you Steve explained me how to compute the soft bit metrics which are the input of the APP decoding, isnt it? Now I know how they are computed and its meaning, but I do not see how I can related them to gamma(s',s) = function of (P(ykl|xkl)) I mean, it is evident how gaussian noise affects the received complex symbols and its conditional density is easily computed, but P(bit j of the receivedcodeword|bit j of the transmittedcodeword)= P(ykl|xkl)? I do not see it. Thank you again, I will appreciate a post opening my eyes, meanwhile I will keep on reading to find an answer.
Crisanquito <crisancost@hotmail.com> wrote:

>I mean, it is evident how gaussian noise affects the received complex >symbols and its conditional density is easily computed, but P(bit >j of the receivedcodeword|bit j of the transmittedcodeword)= >P(ykl|xkl)? I do not see it.
This is a little difficult because you actually don't have a probability, you have a measure. People sometimes say things like "the probability of receiving signal X given that a certain transmitted bit is a one" but obviously the probability of receiving a given signal point is always zero. So what you need to do is construct a measure m0 for the zero-transmitted-bit case and m1 for the one-transmitted-bit case, and state the "probability of a one" as m1/(m0+m1). These meausres are constructed by fixing one of the transmitted bits within the QAM symbol, letting the other bits range over their possible values (which are equiprobable, comprising half of the total number of constellation points), and adding up the individual densities. This leads to equations like I stated earlier. Is this rigorous? Not really sure, but it gives you the right answer. Practically speaking if your turbo or LDPC decoder is performing close to capacity (within one dB) then you probably constructed the measures correctly. Steve