US 7916781 B2 Abstract A serial concatenated coder includes an outer coder and an inner coder. The outer coder irregularly repeats bits in a data block according to a degree profile and scrambles the repeated bits. The scrambled and repeated bits are input to an inner coder, which has a rate substantially close to one.
Claims(22) 1. A method of encoding a signal, comprising:
receiving a block of data in the signal to be encoded, the block of data including information bits;
performing a first encoding operation on at least some of the information bits, the first encoding operation being a linear transform operation that generates L transformed bits; and
performing a second encoding operation using the L transformed bits as an input, the second encoding operation including an accumulation operation in which the L transformed bits generated by the first encoding operation are accumulated, said second encoding operation producing at least a portion of a codeword, wherein L is two or more.
2. The method of
outputting the codeword, wherein the codeword comprises parity bits.
3. The method of
outputting the parity bits; and
outputting at least some of the information bits.
4. The method of
outputting the parity bits following the information bits.
5. The method of
6. The method of
7. The method of
8. The method of
9. The method of
10. The method of
11. The method of
12. The method of
13. A method of encoding a signal, comprising:
receiving a block of data in the signal to be encoded, the block of data including information bits; and
performing an encoding operation using the information bits as an input, the encoding operation including an accumulation of mod-2 or exclusive-OR sums of bits in subsets of the information bits, the encoding operation generating at least a portion of a codeword,
wherein the information bits appear in a variable number of subsets.
14. The method of
outputting the codeword, wherein the codeword comprises parity bits.
15. The method of
outputting the parity bits; and
outputting at least some of the information bits.
16. The method of
17. The method of
18. The method of
performing one of the mod-2 addition and the exclusive-OR summing of the bits in the subsets.
19. A method of encoding a signal, comprising:
receiving a block of data in the signal to be encoded, the block of data including information bits; and
performing an encoding operation using the information bits as an input, the encoding operation including an accumulation of mod-2 or exclusive-OR sums of bits in subsets of the information bits, the encoding operation generating at least a portion of a codeword, wherein at least two of the information bits appear in three subsets of the information bits.
20. A method of encoding a signal, comprising:
receiving a block of data in the signal to be encoded, the block of data including information bits; and
performing an encoding operation using the information bits as an input, the encoding operation including an accumulation of mod-2 or exclusive-OR sums of bits in subsets of the information bits, the encoding operation generating at least a portion of a codeword, wherein performing the encoding operation comprises:
mod-2 or exclusive-OR adding a first subset of information bits in the collection to yield a first sum;
mod-2 or exclusive-OR adding a second subset of information bits in the collection and the first sum to yield a second sum.
21. A method comprising:
receiving a collection of information bits;
mod-2 or exclusive-OR adding a first subset of information bits in the collection to yield a first parity bit;
mod-2 or exclusive-OR adding a second subset of information bits in the collection and the first parity bit to yield a second parity bit; and
outputting a codeword that includes the first parity bit and the second parity bit.
22. The method of
the method further comprises mod-2 or exclusive-OR adding additional subsets of information bits in the collection and parity bits to yield additional parity bits; and
the information bits in the collection appear in a variable number of subsets.
Description This application is a continuation of U.S. application Ser. No. 11/542,950, filed Oct. 3, 2006 now U.S. Pat. No. 7,421,032, which is a continuation of U.S. application Ser. No. 09/861,102, filed May 18, 2001, now U.S. Pat. No. 7,116,710, which claims the priority of U.S. Provisional Application Ser. No. 60/205,095, filed May 18, 2000, and is a continuation-in-part of U.S. application Ser. No. 09/922,852, filed Aug. 18, 2000, now U.S. Pat. No. 7,089,477. The disclosure of the prior applications are considered part of (and are incorporated by reference in) the disclosure of this application. The U.S. Government has a paid-up license in this invention and the right in limited circumstances to require the patent owner to license others on reasonable terms as provided for by the terms of Grant No. CCR-9804793 awarded by the National Science Foundation. Properties of a channel affect the amount of data that can be handled by the channel. The so-called “Shannon limit” defines the theoretical limit of the amount of data that a channel can carry. Different techniques have been used to increase the data rate that can be handled by a channel. “Near Shannon Limit Error-Correcting Coding and Decoding: Turbo Codes,” by Berrou et al. ICC, pp 1064-1070, (1993), described a new “turbo code” technique that has revolutionized the field of error correcting codes. Turbo codes have sufficient randomness to allow reliable communication over the channel at a high data rate near capacity. However, they still retain sufficient structure to allow practical encoding and decoding algorithms. Still, the technique for encoding and decoding turbo codes can be relatively complex. A standard turbo coder Three different items are sent over the channel A coding system according to an embodiment is configured to receive a portion of a signal to be encoded, for example, a data block including a fixed number of bits. The coding system includes an outer coder, which repeats and scrambles bits in the data block. The data block is apportioned into two or more sub-blocks, and bits in different sub-blocks are repeated a different number of times according to a selected degree profile. The outer coder may include a repeater with a variable rate and an interleaver. Alternatively, the outer coder may be a low-density generator matrix (LDGM) coder. The repeated and scrambled bits are input to an inner coder that has a rate substantially close to one. The inner coder may include one or more accumulators that perform recursive modulo two addition operations on the input bit stream. The encoded data output from the inner coder may be transmitted on a channel and decoded in linear time at a destination using iterative decoding techniques. The decoding techniques may be based on a Tanner graph representation of the code. The outer coder The rate of the coder may be irregular, that is, the value of T The inner coder In an embodiment, the inner coder The bits output from the outer coder The serial concatenation of the interleaved irregular repeat code and the accumulate code produces an irregular repeat and accumulate (IRA) code. An IRA code is a linear code, and as such, may be represented as a set of parity checks. The set of parity checks may be represented in a bipartite graph, called the Tanner graph, of the code. Each check node In an alternate embodiment, the outer coder If the permutation performed in permutation block Two types of IRA codes are represented in The rate of the nonsystematic code is
The rate of the systematic code is
For example, regular repeat and accumulate (RA) codes can be considered nonsystematic IRA codes with a=1 and exactly one f The IRA code may be represented using an alternate notation. Let λ The rate of the systematic IRA code given by the “Belief propagation” on the Tanner Graph realization may be used to decode IRA codes. Roughly speaking, the belief propagation decoding technique allows the messages passed on an edge to represent posterior densities on the bit associated with the variable node. A probability density on a bit is a pair of non-negative real numbers p(0), p(1) satisfying p(0)+p(1)=1, where p(0) denotes the probability of the bit being 0, p(1) the probability of it being 1. Such a pair can be represented by its log likelihood ratio, m=log(p(0)/p(1)). The outgoing message from a variable node u to a check node v represents information about u, and a message from a check node u to a variable node v represents information about u, as shown in The outgoing message from a node u to a node v depends on the incoming messages from all neighbors w of u except v. If u is a variable message node, this outgoing message is
Before decoding, the messages m(w→u) and m(u→v) are initialized to be zero, and m
Thus, on various channels, iterative decoding only differs in the initial messages m In the BEC, there are two inputs and three outputs. When 0 is transmitted, the receiver can receive either 0 or an erasure E. An erasure E output means that the receiver does not know how to demodulate the output. Similarly, when 1 is transmitted, the receiver can receive either 1 or E. Thus, for the BEC, yε{0, E, 1}, and
In the BSC, there are two possible inputs (0,1) and two possible outputs (0, 1). The BSC is characterized by a set of conditional probabilities relating all possible outputs to possible inputs. Thus, for the BSC yε{0, 1},
In the AWGN, the discrete-time input symbols X take their values in a finite alphabet while channel output symbols Y can take any values along the real line. There is assumed to be no distortion or other effects other than the addition of white Gaussian noise. In an AWGN with a Binary Phase Shift Keying (BPSK) signaling which maps 0 to the symbol with amplitude √{square root over (Es)} and 1 to the symbol with amplitude −√{square root over (Es)}, output yεR, then
The selection of a degree profile for use in a particular transmission channel is a design parameter, which may be affected by various attributes of the channel. The criteria for selecting a particular degree profile may include, for example, the type of channel and the data rate on the channel. For example, Table 1 shows degree profiles that have been found to produce good results for an AWGN channel model.
Table 1 shows degree profiles yielding codes of rate approximately 1/3 for the AWGN channel and with a=2, 3, 4. For each sequence, the Gaussian approximation noise threshold, the actual sum-product decoding threshold and the corresponding energy per bit (E As the parameter “a” is increased, the performance improves. For example, for a=4, the best code found has an iterative decoding threshold of E The accumulator component of the coder may be replaced by a “double accumulator” Alternatively, a pair of accumulators may be the added, as shown in IRA codes may be implemented in a variety of channels, including memoryless channels, such as the BEC, BSC, and AWGN, as well as channels having non-binary input, non-symmetric and fading channels, and/or channels with memory. A number of embodiments have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, other embodiments are within the scope of the following claims. Patent Citations
Non-Patent Citations
Referenced by
Classifications
Legal Events
Rotate |