This application claims the benefit under 35 U.S.C. § 119(a) of a Korean Patent Application filed in the Korean Intellectual Property Office on Feb. 22, 2006 and assigned Serial No. 2006-17364, the disclosure of which is herein incorporated by reference.
1. Field of the Invention
The present invention relates generally to an apparatus and method for receiving signals in a communication system, and in particular, to a signal reception apparatus and method for decoding a Low Density Parity Check (LDPC) code with minimum complexity for check node calculation in a communication system using LDPC codes.
2. Description of the Related Art
The next generation communication system has evolved into a packet service communication system, which is a system for transmitting burst packet data to a plurality of mobile stations (MSs) also designed and is suitable for high-capacity data transmission. It is known that the next generation communication system, together with a turbo code as a channel code, has high performance gain during high-speed data transmission and the system actively considers using the LDPC code that can increase data transmission reliability by efficiently correcting errors caused by noise generated in a transmission channel. The next generation communication systems that are actively considering the use of the LDPC code include an Institute of Electrical and Electronics Engineers (IEEE) 802.16e communication system and an IEEE 802.1 In communication system.
Referring to
In
The LDPC code is defined by a parity check matrix in which major elements have a value of 0 and minor elements, other than the elements having a value of 0, have a non-zero value, for example, a value of 1. The LDPC code can be expressed with a bipartite graph, and the bipartite graph is expressed with variable nodes, check nodes, and edges for connecting the variable nodes to the check nodes.
The LDPC code can be decoded using an iterative decoding algorithm based on the sum-product algorithm in the bipartite graph. The sum-product algorithm is a kind of a message passing algorithm, which is an algorithm that exchanges messages through edges in the bipartite graph and updates the messages by calculating output messages from the messages input to the variable nodes or the check nodes. Therefore, a decoder for decoding the LDPC code, because it uses an iterative decoding algorithm based on the sum-product algorithm, has lower complexity than that of a decoder for the turbo code and can be easily implemented with a parallel processing decoder.
A probability mass function for a binary random variable can be expressed in a Log Likelihood Ratio (LLR) as shown in Equation (1).
where p0 denotes probability that a bit value will be 0, and p1 denotes probability that a bit value will be 1.
In addition, a variable node calculation operation and a check node calculation operation for two LLRs, i.e.
can be expressed as Equation (2) and Equation (3), respectively.
VAR(Λ1,Λ2)=Λ1+Λ2 (2)
In Equation (2), VAR(x,y) denotes a function indicating a variable node calculation operation with input degree=2, and the variable node calculation operation indicates an operation of performing a message update by adding up a message x and a message y input to the variable nodes.
where CHK(x,y) denotes a function indicating a check node calculation operation with input degree=2, and where sgn(x) denotes a function indicating a sign of ‘x’.
Here, messages Λ1 and Λ2 are input to a variable node 300 and undergo the variable node calculation described in Equation (2). The messages are updated according to the variable node calculation result.
In this instance, messages Λ1 and Λ2 are inputs to a check node 400 undergo the check node calculation described in Equation (3), and the messages are updated according to the check node calculation result.
A variable node calculation operation and a check node calculation operation can be defined by converting variable nodes and check nodes with input degree n>3 into combinations of variable nodes or check nodes with input degree n≦3 and sequentially calculating them. For example, for an input degree n, a variable node calculation operation and a check node calculation operation can be expressed as Equation (4) and Equation (5), respectively.
VAR(Λ1,Λ2, . . . ,Λn)=VAR(Λ1,VAR(Λ2, . . . ,Λn)) (4)
CHK(Λ1,Λ2, . . . ,Λn)=CHK(Λ1,CHK(Λ2, . . . ,Λn)) (5)
Therefore, for an input degree n, the variable node calculation operation and the check node calculation operation can be finally expressed as Equation (6) and Equation (7), respectively, using Equation (4) and Equation (5).
In
In
As described above, the check node calculation performed for decoding the LDPC code is very high in its calculation complexity. Therefore, there is a need for an LDPC decoding scheme for minimizing complexity of the check node calculation.
An aspect of the present invention is to address at least the problems and/or disadvantages and to provide at least the advantages described below. Accordingly, one aspect of the present invention is to provide an apparatus and method for receiving a signal in a communication system using an LDPC code.
Another aspect of the present invention is to provide a signal reception apparatus and method for decoding an LDPC code with minimum complexity for check node calculation in a communication system using an LDPC code.
According to another aspect of the present invention, there is provided an apparatus for receiving a signal in a communication system. The signal reception apparatus includes a receiver for receiving a signal and a decoder for decoding the received signal according to a Low Density Parity Check (LDPC) decoding scheme. The LDPC decoding scheme includes check node calculation at a particular check node so as to reuse calculation values of some check node calculations among the check node calculations necessary for receiving at the check node messages from all variable nodes connected to the check node and outputting messages to all of the variable nodes connected to the check node.
According to another aspect of the present invention, there is provided a method for receiving a signal in a signal reception apparatus of a communication system. The signal reception method includes receiving a signal; and decoding the received signal according to a Low Density Parity Check (LDPC) decoding scheme. The LDPC decoding scheme includes check node calculation at a particular check node so as to reuse calculation values of some check node calculations among the check node calculations necessary for receiving at the check node messages from all variable nodes connected to the check node and outputting messages to all of the variable nodes connected to the check node.
The above and other objects, features and advantages of the present invention will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings in which:
Preferred embodiments of the present invention will now be described in detail with reference to the annexed drawings. In the following description, a detailed description of known functions and configurations incorporated herein has been omitted for clarity and conciseness.
The present invention provides a signal reception apparatus and method for decoding a Low Density Parity Check (LDPC) code with minimum complexity for check node calculation in a communication system using an LDPC code. Specifically, the present invention provides a signal reception apparatus and method for decoding an LDPC code so as to minimize its calculation complexity by allowing efficient reuse of commonly available calculation values in calculating an output message of each individual check node.
As described above, for two Log Likelihood Ratios (LLRs) Λ1 and Λ2, a variable node calculation operation and a check node calculation operation can be expressed as Equation (2) and Equation (3), respectively. In addition, a variable node calculation operation with input degree=n can be expressed as Equation (4) and Equation (6), and a check node calculation operation with input degree=n can be expressed as Equation (5) and Equation (7). For example, for an output message at a first variable node, input messages of a second variable node, a third variable node, . . . , a (dv)th variable node are used at a check node with input degree=dv, and for an output message of a second variable node, input messages of a first variable node, a third variable node, . . . , a (dv)th variable node are used. Herein, a calculation value of a function CHK(Λ3,Λ4) indicating a check node calculation operation for two LLRs Λ1 and Λ2 can be commonly used for the first and second variable node calculation operations, i.e. can be reused. In order to efficiently reuse the calculation value, Equation (8) and Equation (9) are defined as follows.
where F(k) denotes a function indicating an operation of concatenating variable node calculations with input degree=2 in a forward direction.
where B(k) denotes a function indicating an operation of concatenating variable node calculations with input degree=2 in a reverse direction.
In addition, a message E(j) output from a jth variable node can be expressed as Equation (10).
In this case, the check node processor is implemented taking into account a forward variable node calculation operation described in Equation (8) and a reverse variable node calculation operation described in Equation (9). When a variable node calculation operation is performed as shown in Equation (8) to Equation (10), in order to output messages to all of dv variable nodes connected to a particular check node, a total of (3dv−6) check node calculation operations with input degree=2 are needed. This can reduce the calculation complexity, as compared with the dv(dv−2) check node calculation operations with input degree=2 needed in the general LDPC code decoding process, as described above. By reusing the variable node calculation values reusable as variable node calculation values in performing check node calculation operations, it is possible to implement the check node processor with minimized calculation complexity.
As described above, the present invention provides a scheme for allowing reuse of variable node calculation values reusable in a check node calculation operation in decoding an LDPC code in a communication system, thereby enabling check node operations with minimized calculation complexity. Moreover, by performing the check node operations with minimum calculation complexity, it is possible to increase the decoding efficiency of the LDPC code.
While the invention has been shown and described with reference to a certain preferred embodiment thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
17364-2006 | Feb 2006 | KR | national |