|
From: cpshah99 on 6 May 2008 13:47 Hi all As everybody knows that Turbo codes are the codes which gives improvement as the iteration increases. But why we get this improvement? My question is in context of AWGN channel. Thanking you Chintan
From: cincydsp on 6 May 2008 21:56 On May 6, 5:25 pm, Eric Jacobsen <eric.jacob...(a)ieee.org> wrote: > On Tue, 06 May 2008 12:47:44 -0500, "cpshah99" > > <cpsha...(a)rediffmail.com> wrote: > >Hi all > > >As everybody knows that Turbo codes are the codes which gives improvement > >as the iteration increases. > > >But why we get this improvement? > > >My question is in context of AWGN channel. > > >Thanking you > > >Chintan > > One way to think of it is "code diversity". A Turbo Code essentially > encodes the data twice, with two different codes, and the decoder > iterates between decoding the two codes. The "extrinsic" soft > reliability information is updated in each half-iteration and shared > by each decoder. So if one code improves the estimated reliability > of a particular information bit, that improvement is passed on to the > next decoder during the next half-iteration. In this way the > incremental improvements made by each iteration accumulate to, > hopefully, improve the ultimate reliability of the codeword. > > That's an intuitive way to look at it, anyway. I hope it helps a bit > or two. > > Eric Jacobsen > Minister of Algorithms > Abineau Communicationshttp://www.ericjacobsen.org Another intuitive way to look at it: modern codes like this are usually built up of low-complexity (i.e. short constraint length) convolutional codes, connected via permutations. Inside each code, there is relatively weak global structure; the bits at the end of a block hardly have any dependence on bits at the beginning of a block. However, there is tight local structure between bits that are close together in a block. So, say you have one end of a block that is relatively noise-free while the other has been reduced to garbage by noise. As your decoder iterates, the beliefs from the noise-free section of the codeword will propagate throughout the rest of the coded block, in effect "bootstrapping" the more disadvantaged bits. You get the turbo effect by exchanging the beliefs in "extrinsic form" through a random interleaver with another decoder, as Eric pointed out with his "code diversity" argument, which gives you additional ability to improve your bit estimates. Iterative decoding is actually a relatively intuitive technique and is quite powerful; I've yet to find a good textbook that doesn't turn the topic of turbo decoding into an incoherent mess. But, if you can get a feel for how it works and how standard decoding rules are implemented, it's straightforward to write a decoder for turbo codes, structured LDPC codes, serially-concatenated convolutional codes, etc. Jason
From: Eric Jacobsen on 6 May 2008 17:25 On Tue, 06 May 2008 12:47:44 -0500, "cpshah99" <cpshah99(a)rediffmail.com> wrote: >Hi all > >As everybody knows that Turbo codes are the codes which gives improvement >as the iteration increases. > >But why we get this improvement? > >My question is in context of AWGN channel. > >Thanking you > >Chintan One way to think of it is "code diversity". A Turbo Code essentially encodes the data twice, with two different codes, and the decoder iterates between decoding the two codes. The "extrinsic" soft reliability information is updated in each half-iteration and shared by each decoder. So if one code improves the estimated reliability of a particular information bit, that improvement is passed on to the next decoder during the next half-iteration. In this way the incremental improvements made by each iteration accumulate to, hopefully, improve the ultimate reliability of the codeword. That's an intuitive way to look at it, anyway. I hope it helps a bit or two. Eric Jacobsen Minister of Algorithms Abineau Communications http://www.ericjacobsen.org
From: cpshah99 on 7 May 2008 13:06 >On May 6, 5:25 pm, Eric Jacobsen <eric.jacob...(a)ieee.org> wrote: >> On Tue, 06 May 2008 12:47:44 -0500, "cpshah99" >> >> <cpsha...(a)rediffmail.com> wrote: >> >Hi all >> >> >As everybody knows that Turbo codes are the codes which gives improvement >> >as the iteration increases. >> >> >But why we get this improvement? >> >> >My question is in context of AWGN channel. >> >> >Thanking you >> >> >Chintan >> >> One way to think of it is "code diversity". A Turbo Code essentially >> encodes the data twice, with two different codes, and the decoder >> iterates between decoding the two codes. The "extrinsic" soft >> reliability information is updated in each half-iteration and shared >> by each decoder. So if one code improves the estimated reliability >> of a particular information bit, that improvement is passed on to the >> next decoder during the next half-iteration. In this way the >> incremental improvements made by each iteration accumulate to, >> hopefully, improve the ultimate reliability of the codeword. >> >> That's an intuitive way to look at it, anyway. I hope it helps a bit >> or two. >> >> Eric Jacobsen >> Minister of Algorithms >> Abineau Communicationshttp://www.ericjacobsen.org > >Another intuitive way to look at it: modern codes like this are >usually built up of low-complexity (i.e. short constraint length) >convolutional codes, connected via permutations. Inside each code, >there is relatively weak global structure; the bits at the end of a >block hardly have any dependence on bits at the beginning of a block. >However, there is tight local structure between bits that are close >together in a block. So, say you have one end of a block that is >relatively noise-free while the other has been reduced to garbage by >noise. As your decoder iterates, the beliefs from the noise-free >section of the codeword will propagate throughout the rest of the >coded block, in effect "bootstrapping" the more disadvantaged bits. >You get the turbo effect by exchanging the beliefs in "extrinsic form" >through a random interleaver with another decoder, as Eric pointed out >with his "code diversity" argument, which gives you additional ability >to improve your bit estimates. > >Iterative decoding is actually a relatively intuitive technique and is >quite powerful; I've yet to find a good textbook that doesn't turn the >topic of turbo decoding into an incoherent mess. But, if you can get a >feel for how it works and how standard decoding rules are implemented, >it's straightforward to write a decoder for turbo codes, structured >LDPC codes, serially-concatenated convolutional codes, etc. > >Jason > %%%%%% Hi Thanks for replying. It is clear now how we get iterative gain when we use turbo decoder. Now, in case of turbo equaliser, we can still give same explanation (I hope I cam correct!!!) but does it improve the SINR(Signal to noise interference ratio)? Regards, Chintan P. Shah
|
Pages: 1 Prev: Optimal FFT algorithm for hardware implementation ? Next: energy of a sinc signal |