In computer science, repeat-accumulate codes (RA codes) are a low complexity class of error-correcting codes. They were devised so that their ensemble weight distributions are easy to derive. RA codes were introduced by Divsalar et al.
In an RA code, an information block of length
{N}
{q}
{qN}
{1/(1+D)}
{(z1,\ldots,zn)}
{(x1,\ldots,xn)}
{x1=z1}
xi=xi-1+zi
i>1
1/q
Irregular repeat accumulate (IRA) codes build on top of the ideas of RA codes. IRA replaces the outer code in RA code with a low density generator matrix code.[1] IRA codes first repeats information bits different times, and then accumulates subsets of these repeated bits to generate parity bits. The irregular degree profile on the information nodes, together with the degree profile on the check nodes, can be designed using density evolution.
Systematic IRA codes are considered a form of LDPC code. Litigation over whether the DVB-S2 LDPC code is a form of IRA code is ongoing.[2] US patents 7,116,710; 7,421,032; 7,916,781; and 8,284,833 are at issue.