Hi Could anyone tell me how I can obtain the check parity matrix of a repeat accumulate code, given a certain repetition rate and an interleaving? I am thinking of getting if from the generator matrix, and use gen2par function in Matlab, but there should be a direct way. Can anyone help me? Thanks in advance
Repeat Accumulate Code
Started by ●September 15, 2009
Reply by ●September 16, 20092009-09-16
Crisanquito <crisancost@hotmail.com> wrote:>Could anyone tell me how I can obtain the check parity matrix of a repeat >accumulate code, given a certain repetition rate and an interleaving? > >I am thinking of getting if from the generator matrix, and use gen2par >function in Matlab, but there should be a direct way. Can anyone help me?Since nobody has answered: That is the most direct way. (Folks, correct me if I'm wrong.) Steve
Reply by ●September 16, 20092009-09-16
>Crisanquito <crisancost@hotmail.com> wrote: > >>Could anyone tell me how I can obtain the check parity matrix of arepeat>>accumulate code, given a certain repetition rate and an interleaving? >> >>I am thinking of getting if from the generator matrix, and use gen2par >>function in Matlab, but there should be a direct way. Can anyone helpme?> >Since nobody has answered: > >That is the most direct way. > >(Folks, correct me if I'm wrong.) > >Steve >Thank you for the answer. My question is related to LDPC codes and the sum product algorithm. I have implemented the sum product algorithm for a given parity check matrix, but I am finding that the repeat accumulate codes are described by the generalized parity check matrix (I am not 100% sure about this last thing), for which: GeneralizedParityCheckMatrix=[H1 H2], where H1 is given by the repetition and permutation stages and H2 is a bidiagonal matrix. If this is correct, my problem now is to implement the sum product algorithm for a given GPCM.
Reply by ●September 17, 20092009-09-17
On Sep 16, 5:10�am, "Crisanquito" <crisanc...@hotmail.com> wrote:> >Crisanquito <crisanc...@hotmail.com> wrote: > > >>Could anyone tell me how I can obtain the check parity matrix of a > repeat > >>accumulate code, given a certain repetition rate and an interleaving? > > >>I am thinking of getting if from the generator matrix, and use gen2par > >>function in Matlab, but there should be a direct way. Can anyone help > me? > > >Since nobody has answered: > > >That is the most direct way. > > >(Folks, correct me if I'm wrong.) > > >Steve > > Thank you for the answer. My question is related to LDPC codes and the sum > product algorithm. I have implemented the sum product algorithm for a given > parity check matrix, but I am finding that the repeat accumulate codes are > described by the generalized parity check matrix (I am not 100% sure about > this last thing), for which: > > GeneralizedParityCheckMatrix=[H1 H2], where H1 is given by the repetition > and permutation stages and H2 is a bidiagonal matrix. > > If this is correct, my problem now is to implement the sum product > algorithm for a given GPCM.You can always use sum-product algorithm to decode, the problem is performance and complexity. As its' name suggests, ldpc code is low density parity check code. and sum product algorithm works well (in terms complexity and performance) when the parity matrix is sparse. I do not know if the repeat accumulate code satisfies the property, if it does, I believe you can use it.
Reply by ●September 24, 20092009-09-24
Repeat Accumulate and Irregular Repeat Accumpulate code are a particular class of LDPC codes (for exemple see http://www.google.fr/url?sa=t&source=web&ct=res&cd=6&url=http%3A%2F%2Fsigpromu.org%2Freports%2FEE05045.pdf&ei=08K7St6eOc3OjAe-7KzWCw&usg=AFQjCNHHX7oUrgrbiodGbIMBubYDJnqGuQ&sig2=FHny_yhzjgLNxsSFWJTNsQ). There is many way to decode this class of code. As you mentionned, you can describe the code by the parity check matrix and then apply the Belief Propagation algorithm (or sub optimal algorithm like min sum for exemple see page 98 http://tel.archives-ouvertes.fr/docs/00/27/83/46/ANNEX/Defense_PhD_Dore.pdf). It is also possible to see the RA code as a concatenation of parity check codes and a convolutional code (accumulator code )... but it is not simple to explain in few lines... JB
Reply by ●October 1, 20092009-10-01
In the context of repeat accumulate codes, I have already implemented the sum product algorithm when the Tanner graph is composed of bit and check nodes. Nevertheless, I see that RA are described by a Tanner graph with check, parity bit and message bit nodes. How the algorithm works with these three kind of nodes? Thanks
Reply by ●October 1, 20092009-10-01
On Oct 1, 5:31=A0am, "Crisanquito" <crisanc...@hotmail.com> wrote:> In the context of repeat accumulate codes, I have already implemented the > sum product algorithm when the Tanner graph is composed of bit and check > nodes. Nevertheless, I see that RA are described by a Tanner graph with > check, parity bit and message bit nodes. How the algorithm works with the=se> three kind of nodes? > > ThanksYou model the decoder as a "soft inverse" of the encoder. In a repeat- accumulate code, the parity bits are generated by repeating each information bit a specific number of times, interleaving the bits, then passing the repeated bits into an accumulator. The output of the accumulator is then optionally punctured to generate the parity bits. Instead of mapping out the parity-check matrix for a specific block size, puncturing pattern, etc., the decoder is structured with blocks that implement the inverse of each of the operations in the transmitter. You can then use belief propagation (e.g. via min-sum processing in the log-probability domain) to exchange information between the various blocks iteratively until you're satisfied with the solution. The decoder will have check nodes for all bits that are expected to be the same (i.e. the bits that were repeated in the encoder), a deinterleaver to undo the interleaving in the encoder, and an inverse of the accumulator. The accumulator can be modeled by a (very simple) finite state machine, which can be soft-decoded via the BCJR (a.k.a. forward-backward) algorithm. A similar decoder structure can be used to decode turbo codes, which are similar. Jason
Reply by ●October 2, 20092009-10-02
>On Oct 1, 5:31=A0am, "Crisanquito" <crisanc...@hotmail.com> wrote: >> In the context of repeat accumulate codes, I have already implementedthe>> sum product algorithm when the Tanner graph is composed of bit andcheck>> nodes. Nevertheless, I see that RA are described by a Tanner graphwith>> check, parity bit and message bit nodes. How the algorithm works withthe=>se >> three kind of nodes? >> >> Thanks > >You model the decoder as a "soft inverse" of the encoder. In a repeat- >accumulate code, the parity bits are generated by repeating each >information bit a specific number of times, interleaving the bits, >then passing the repeated bits into an accumulator. The output of the >accumulator is then optionally punctured to generate the parity bits. >Instead of mapping out the parity-check matrix for a specific block >size, puncturing pattern, etc., the decoder is structured with blocks >that implement the inverse of each of the operations in the >transmitter. You can then use belief propagation (e.g. via min-sum >processing in the log-probability domain) to exchange information >between the various blocks iteratively until you're satisfied with the >solution. The decoder will have check nodes for all bits that are >expected to be the same (i.e. the bits that were repeated in the >encoder), a deinterleaver to undo the interleaving in the encoder, and >an inverse of the accumulator. The accumulator can be modeled by a >(very simple) finite state machine, which can be soft-decoded via the >BCJR (a.k.a. forward-backward) algorithm. > >A similar decoder structure can be used to decode turbo codes, which >are similar. > >Jason >Thank you very much Jason. If I am not wrong, the accumulator can be decoded by the BCJR, as you say, and also with the sum product algorithm, being the parity check matrix of the accumulator a dual diagonal matrix. It is a question of running it in a two phase fashion, one for the repetition and interleaving and another for the accumulator.
Reply by ●August 13, 20132013-08-13
On Tuesday, 15 September 2009 12:55:31 UTC+5:30, Crisanquito wrote:> Hi > > Could anyone tell me how I can obtain the check parity matrix of a repeat > accumulate code, given a certain repetition rate and an interleaving? > > I am thinking of getting if from the generator matrix, and use gen2par > function in Matlab, but there should be a direct way. Can anyone help me? > > Thanks in advancecan you send me the code for repeat accumulate
Reply by ●August 13, 20132013-08-13
On Tuesday, 15 September 2009 12:55:31 UTC+5:30, Crisanquito wrote:> Hi > > Could anyone tell me how I can obtain the check parity matrix of a repeat > accumulate code, given a certain repetition rate and an interleaving? > > I am thinking of getting if from the generator matrix, and use gen2par > function in Matlab, but there should be a direct way. Can anyone help me? > > Thanks in advance






