KR100748501B1 - Graph decoding method using partial correction - Google Patents

Graph decoding method using partial correction Download PDF

Info

Publication number
KR100748501B1
KR100748501B1 KR1020010033936A KR20010033936A KR100748501B1 KR 100748501 B1 KR100748501 B1 KR 100748501B1 KR 1020010033936 A KR1020010033936 A KR 1020010033936A KR 20010033936 A KR20010033936 A KR 20010033936A KR 100748501 B1 KR100748501 B1 KR 100748501B1
Authority
KR
South Korea
Prior art keywords
decoding
algorithm
sum
site
graph
Prior art date
Application number
KR1020010033936A
Other languages
Korean (ko)
Other versions
KR20020095749A (en
Inventor
강영환
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020010033936A priority Critical patent/KR100748501B1/en
Publication of KR20020095749A publication Critical patent/KR20020095749A/en
Application granted granted Critical
Publication of KR100748501B1 publication Critical patent/KR100748501B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • H03M13/112Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule with correction functions for the min-sum rule, e.g. using an offset or a scaling factor
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3738Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct decoding

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 LDPC 코드를 디코딩하기 위한 Min-Sum 알고리즘에 약간의 보정 팩터를 추가하여 Sum-Product 알고리즘에 근접하는 디코딩 성능이 발휘되게 하는 기술에 관한 것이다. 이러한 본 발명은, 수신되는 LDPC 코드를 Min-Sum 알고리즘으로 그래프 디코딩하는 방법에 있어서, 사이트 조합(

Figure 112007011604676-pat00001
,
Figure 112007011604676-pat00002
) 중 작은 값을 갖는 사이트 조합을 선택하는 단계와; 다수의 사이트 조합 중 가장 큰 비중을 차지하는 K개의 사이트 조합만이 보정 팩터로 선정되도록
Figure 112007011604676-pat00003
를 업데이트 처리하는 단계와; 상기 선택 결과에 상기 업데이트 결과를 더하여 디코딩 과정에서 발생되는 손실을 보정하는 단계에 의해 달성된다.The present invention relates to a technique that adds some correction factor to the Min-Sum algorithm for decoding an LDPC code so that decoding performance close to the Sum-Product algorithm can be exhibited. The present invention relates to a method for graph decoding a received LDPC code with a Min-Sum algorithm.
Figure 112007011604676-pat00001
,
Figure 112007011604676-pat00002
Selecting a site combination having a small value; Only the K site combinations, which make up the largest proportion of multiple site combinations, are selected as the correction factor.
Figure 112007011604676-pat00003
Updating the process; By adding the update result to the selection result to correct a loss generated in the decoding process.

Description

부분 보정을 이용한 그래프 디코딩 방법{GRAPH DECODING METHOD USING PARTIAL CORRECTION}Graph decoding method using partial correction {GRAPH DECODING METHOD USING PARTIAL CORRECTION}

도 1은 종래 기술에 의한 Sum-Product 알고리즘의 태너 그래프.1 is a Tanner graph of a Sum-Product algorithm according to the prior art.

도 2는 종래 기술에 의한 Min-Sum 알고리즘의 태너 그래프.2 is a Tanner graph of the Min-Sum algorithm according to the prior art.

도 3은 종래 기술에서 코스트 펑션의 차로 나타낸 Min-Sum 알고리즘의 태너 그래프.Figure 3 is a Tanner graph of the Min-Sum algorithm represented by the difference in cost function in the prior art.

도 4는 종래 기술에 의한 보정 모듈의 블록도.4 is a block diagram of a correction module according to the prior art.

도 5는 종래 기술에서 Min-Sum의 보정을 위한 구조의 설명도.5 is an explanatory diagram of a structure for correction of Min-Sum in the prior art.

도 6은 본 발명에서 Min-Sum의 보정을 위한 구조의 설명도.Figure 6 is an explanatory diagram of a structure for the correction of Min-Sum in the present invention.

도 7은 본 발명에서 효율적인 보정을 위한 포워드-백워드 재귀 구조의 설명도. 7 is an explanatory diagram of a forward-backward recursion structure for efficient correction in the present invention.

도 8은 본 발명의 제1실시예에 대한 모의 실험 결과를 나타낸 그래프.8 is a graph showing the simulation results for the first embodiment of the present invention.

도 9는 본 발명의 제2실시예에 대한 모의 실험 결과를 나타낸 그래프.9 is a graph showing the simulation results for the second embodiment of the present invention.

도 10은 본 발명의 제1실시예에 대한 각 알고리즘의 복잡도를 보인 표.10 is a table showing the complexity of each algorithm for the first embodiment of the present invention.

도 11은 본 발명의 제2실시예의 복잡도와 각 알고리즘의 복잡도 표. Fig. 11 is a table of the complexity and complexity of each algorithm of the second embodiment of the present invention.

***도면의 주요 부분에 대한 부호의 설명*** *** Description of the symbols for the main parts of the drawings ***

41 : 비교 및 선택부 42 : 감산기41: comparison and selection 42: subtractor

43 : 절대값 연산기 44 : 롬 43: absolute value calculator 44: ROM                 

45 : 합산기45: summer

본 발명은 블록 코드를 디코딩하는 기술에 관한 것으로, 특히 LDPC 코드를 디코딩하기 위한 Min-Sum 알고리즘에 약간의 보정 팩터를 추가하여 Sum-Product 알고리즘에 근접하는 디코딩 성능을 발휘할 수 있도록 한 부분 보정을 이용한 그래프 디코딩 방법에 관한 것이다. The present invention relates to a technique for decoding a block code, and in particular, by adding a small correction factor to the Min-Sum algorithm for decoding an LDPC code, using partial correction to achieve decoding performance close to that of the Sum-Product algorithm. It relates to a graph decoding method.

블록 코드를 디코딩하기 위한 종래의 기술로서, 수신 신호의 경판정(hard decision) 값을 이용한 대수적 디코딩(algebraic decoding)을 들 수 있다. 그런데, 최근 들어 수신 신호의 연판정(soft decision)값을 이용하여 재귀적 디코딩(iterative decoding)을 가능케 하는 그래프 디코딩 방법에 대한 연구가 활발하게 진행되고 있는 실정에 있다.As a conventional technique for decoding a block code, there is an algebraic decoding using a hard decision value of a received signal. However, recently, studies on graph decoding methods that enable iterative decoding using soft decision values of received signals have been actively conducted.

그래프 디코딩을 수행하기 위해 블록 코드의 패리티 체크 행렬(Parity Check Matrix)을 이용한 그래프가 작성되는데, 이 그래프로서 패리티 체크 행렬의 열(Column)에 해당하는 사이트(Site)들과 행(Row)에 해당하는 체크(Check)들로 이루어진 태너(Tanner) 그래프가 많이 사용되고 있다. 패리티 체크 행렬에서 1의 값을 갖는 콤포넌트의 열에 해당하는 사이트와 행에 해당하는 체크는 서로 연결되어 있으며, 확률값을 주고 받게 된다.In order to perform graph decoding, a graph using a parity check matrix of a block code is prepared. The graph corresponds to the sites and rows corresponding to the columns of the parity check matrix. Tanner graphs with checks are used a lot. In the parity check matrix, the checks for the site and the row corresponding to the column of the component having a value of 1 are connected to each other and send and receive probability values.

그래프 디코딩에 적합한 코드로서 LDPC(LDPC: Low Density Parity Check) 코드가 있으며, 이 코드를 복호하기 위해 제안된 디코딩 알고리즘으로서 Sum-Product 알고리즘과 Min-Sum 알고리즘이 있다.As a code suitable for graph decoding, there is a Low Density Parity Check (LDPC) code, and a decoding algorithm proposed to decode the code includes a Sum-Product algorithm and a Min-Sum algorithm.

LDPC 코드를 복호하기 위한 Sum-Product 알고리즘은 태너 그래프가 싸이클을 갖고 있지 않을 때 최적의 성능을 보이고, Min-Sum 알고리즘은 일반적으로 Sum-Product 알고리즘보다 덜 복잡하게 구현할 수 있게 되지만, 성능이 떨어지는 단점이 있다.Sum-Product algorithm for decoding LDPC code shows the best performance when the Tanner graph does not have cycles, and Min-Sum algorithm is generally less complicated than Sum-Product algorithm. There is this.

도 1은 태너 그래프 상에서 기존에 제안된 Sum-Product 알고리즘에서의 확률 전달 과정을 나타낸 것이다. 이 알고리즘은 후술 할 [수학식 1]에서 보인 관계식에 따라 수행되며, 이를 구현하기 위해서는 비선형 함수와 곱셈기가 필요하다. 도 1에서, "s"는 사이트이고, "E"는 체크(Check)이며, 각각의 변수는 다음과 같이 정의된다.Figure 1 shows the probability transfer process in the Sum-Product algorithm previously proposed on the Tanner graph. This algorithm is performed according to the relation shown in Equation 1 to be described later. To implement this, a nonlinear function and a multiplier are required. In Fig. 1, "s" is a site, "E" is a Check, and each variable is defined as follows.

Figure 112001014373339-pat00004
Figure 112001014373339-pat00004

Sum-Product 알고리즘은 다음과 같은 과정을 통해 수행된다.Sum-Product algorithm is executed by the following process.

Figure 112001014373339-pat00005
Figure 112001014373339-pat00005

재귀 반복(Iteration): 정해진 횟수만큼 아래의 업데이트를 수행한다.Recursive Iteration: Performs the following update a fixed number of times.

Figure 112001014373339-pat00006
Figure 112001014373339-pat00006

Figure 112001014373339-pat00007
Figure 112001014373339-pat00007

Figure 112001014373339-pat00008
Figure 112001014373339-pat00008

이때,

Figure 112001014373339-pat00009
이면 사이트 s에 해당하는 수신 신호는 1로 디코딩되고,
Figure 112001014373339-pat00010
이면 0으로 디코딩된다. At this time,
Figure 112001014373339-pat00009
, The received signal corresponding to site s is decoded to 1,
Figure 112001014373339-pat00010
If it is, it is decoded to 0.

도 2는 태너 그래프 상에서 기존에 제안된 Min-Sum 알고리즘에서의 메트릭(Metric) 전달 과정을 나타낸 것이다. 이 알고리즘은 후술할 [수학식 6]에서 보인 관계식에 따라 수행되며, Sum-Product 알고리즘과 달리 비선형 함수와 곱셈기가 필요 없지만, 성능이 Sum-Product 알고리즘에 비해 떨어지는 단점이 있다. Min-Sum 알고리즘은 Sum-Product 알고리즘에서 근사화를 통해 유도되는데, Sum-Product 알고리즘에서 필요한 비선형 함수와 곱셈 연산을 제거함으로써 하드웨어를 용이하 게 구현할 수 있게 된다. Figure 2 shows the metric (Metric) transfer process in the proposed Min-Sum algorithm on the Tanner graph. This algorithm is performed according to the relation shown in Equation 6 to be described later. Unlike the Sum-Product algorithm, a nonlinear function and a multiplier are not required, but the performance is inferior to that of the Sum-Product algorithm. The Min-Sum algorithm is derived through approximation in the Sum-Product algorithm, which facilitates the hardware implementation by eliminating the nonlinear functions and multiplication operations required by the Sum-Product algorithm.

상기 [수학식 1]에서 양변에 자연로그(log)를 취하고 -1을 곱하면, 아래의 [수학식 3]이 얻어진다. Taking the natural log on both sides in Equation 1 and multiplying by -1, Equation 3 below is obtained.

Figure 112001014373339-pat00011
Figure 112001014373339-pat00011

상기 [수학식 3]의 두 번째 방정식에 [수학식 4]와 같은 근사화 식을 적용하면 [수학식 5]와 같이 간단히 근사화 된다. If an approximation equation such as [Equation 4] is applied to the second equation of [Equation 3], it is simply approximated as in [Equation 5].

Figure 112001014373339-pat00012
Figure 112001014373339-pat00012

Figure 112001014373339-pat00013
Figure 112001014373339-pat00013

Figure 112001014373339-pat00014
와 같이 각각의 log 함수를 변수로 치환하면 상기 [수학식 3],[수학식 5]를 아래의 [수학식 6]과 같이 정리할 수 있으며, 이를 Min-Sum 알고리즘이라 한다.
Figure 112001014373339-pat00014
By substituting each log function as a variable, Equation 3 and Equation 5 can be summarized as Equation 6 below, which is called a Min-Sum algorithm.

Figure 112001014373339-pat00015
Figure 112001014373339-pat00015

실제 하드웨어 구현 시 필요한 메모리 용량을 줄이기 위해 상기 [수학식 6]의 cost function을 a=1인 경우와 a=0인 경우의 차로 다음의 [수학식 7]과 같이 개선할 수 있다. 도 3은 도 2에서 보인 Min-Sum 알고리즘을 효율적으로 구현하기 위해, 전달되는 cost function을 두 cost function의 차로 바꾼 구조를 보인 것으로, 이 구조는 [수학식 7]에서 보인 관계식에 따라 수행되며, 이의 성능은 도 2의 Min-Sum 알고리즘과 동일하다. In order to reduce the memory capacity required in actual hardware implementation, the cost function of Equation 6 may be improved as shown in Equation 7 below with a difference between a = 1 and a = 0. FIG. 3 illustrates a structure in which a cost function to be transferred is changed into a difference between two cost functions in order to efficiently implement the Min-Sum algorithm shown in FIG. 2, which is performed according to the relation shown in Equation 7 Its performance is the same as the Min-Sum algorithm of FIG.

Figure 112001014373339-pat00016
Figure 112001014373339-pat00016

그런데, 상기와 같은 Min-Sum 알고리즘의 경우 Sum-Product 알고리즘보다 복잡도가 낮지만, 성능이 떨어지는 단점이 있다.In the case of the Min-Sum algorithm, however, the complexity is lower than that of the Sum-Product algorithm, but the performance is poor.

상기 [수학식 4]의 근사화 과정에서 발생하는 손실을 다음과 같은 방법으로 만회할 수 있다. 먼저 두 개의 항으로 이루어진 근사화 식은 다음의 [수학식 8]과 같이 나타낼 수 있다.The loss generated in the approximation process of Equation 4 may be recovered by the following method. First, an approximation formula consisting of two terms can be expressed as Equation 8 below.

Figure 112001014373339-pat00017
Figure 112001014373339-pat00017

여기서,

Figure 112001014373339-pat00018
를 보정 팩터(Correction factor)라 하고, 실제 하드웨어 구현 시 메모리 혹은 롬에 함수 값을 저장하여 사용하게 된다. 즉, 사이트 조합
Figure 112001014373339-pat00019
Figure 112001014373339-pat00020
의 차이를 근거로 메모리 혹은 롬에 저장된 보정값을 읽어서 더하게 된다. 일반적인 n개의 항으로 이루어진 경우 상기 [수학식 8]의 과정을 아래의 [수학식 9]와 같이 재귀적으로 수행하여 보정 팩터를 추가할 수 있다.here,
Figure 112001014373339-pat00018
Is called a correction factor, and the actual hardware implementation stores the function value in memory or ROM. That is, a site combination
Figure 112001014373339-pat00019
and
Figure 112001014373339-pat00020
The correction value stored in the memory or ROM is added based on the difference of. In the case of general n terms, a correction factor may be added by performing the process of Equation 8 recursively as shown in Equation 9 below.

Figure 112001014373339-pat00021
Figure 112001014373339-pat00021

여기서,

Figure 112001014373339-pat00022
이다. 즉, 상기 [수학식 8]과 같이 먼저 두 개의 항으로 이루어진 보정 팩터를 계산한 후 그 결과와 세 번째 항을 이용하여 같은 과정을 수행한다. n개의 항일 경우 n-1회의 보정 팩터가 재귀적으로 더해진다.here,
Figure 112001014373339-pat00022
to be. In other words, as shown in Equation 8, first, a correction factor consisting of two terms is calculated, and the same process is performed using the result and the third term. For n terms, n-1 correction factors are added recursively.

LDPC 코드의 경우, 하나의 체크에 K개의 사이트가 연결되어 있으면 상기 [수학식 9]에서

Figure 112001014373339-pat00023
가 되므로, a=1인 경우와 a=0인 경우 각각에 대하여
Figure 112001014373339-pat00024
회의 보정이 수행된다. 이러한 구조를 도식화 한 것이 도 5이며, 이는 다음의 [수학식 10]으로 표현된다.In case of LDPC code, if K sites are connected to one check, Equation 9
Figure 112001014373339-pat00023
Therefore, for a = 1 and a = 0, respectively
Figure 112001014373339-pat00024
Conference correction is performed. 5 is a diagram illustrating this structure, which is represented by Equation 10 below.

Figure 112001014373339-pat00025
Figure 112001014373339-pat00025

여기서,

Figure 112001014373339-pat00026
는 사이트 s가 a일 때 패리티 체크 E를 만족하는 나머지 사이트의 조합(Site combination)이다. 보정 팩터
Figure 112001014373339-pat00027
은 상기 [수학식 8]과 같다. here,
Figure 112001014373339-pat00026
Is the site combination of the remaining sites that satisfy parity check E when site s is a. Correction factor
Figure 112001014373339-pat00027
Is the same as [Equation 8].

도 4는 도 2에서 보인 Min-Sum 알고리즘을 개선하기 위해 보정 팩터를 추가한 구조로 상기 [수학식 4]에 의해 근사화 되면서 발생되는 손실을 모두 보정하는 구조를 나타낸 것이다.FIG. 4 is a structure in which a correction factor is added to improve the Min-Sum algorithm shown in FIG. 2, and shows a structure for correcting all losses generated while approximating by Equation 4.

즉, 도 4는 상기 [수학식 8]에서 보인 보정 모듈을 구현한 예시도로서, 두 개의 사이트 조합

Figure 112001014373339-pat00028
,
Figure 112001014373339-pat00029
가 입력될 때 비교 및 선택부(41)는 그 중에서 크기가 작은 사이트 조합
Figure 112001014373339-pat00030
를 선택하여 출력한다. 또한, 감산기(42)에서는 상기 사이트 조합
Figure 112001014373339-pat00031
,
Figure 112001014373339-pat00032
의 차를 구하고, 절대값 연산기(43)에서는 그 차값의 절대값
Figure 112001014373339-pat00033
를 구하여 롬(44)으로 출력한다. 상기 롬(44)에는 보정 테이블이 구비되어 있어 상기 절대값
Figure 112001014373339-pat00034
에 상응되는 보정값
Figure 112001014373339-pat00035
을 출력하게 되며, 이는 합산기(45)에서 상기 비교 및 선택부(41)로부터 출력되는
Figure 112001014373339-pat00036
에 더해지며, 그 결과치가 최종 출력
Figure 112001014373339-pat00037
가 된다.That is, FIG. 4 is an exemplary view of implementing the correction module shown in Equation 8, and combining two sites.
Figure 112001014373339-pat00028
,
Figure 112001014373339-pat00029
Is selected, the comparison and selection section 41 selects a site combination having a smaller size.
Figure 112001014373339-pat00030
Select to print. In the subtractor 42, the site combination is used.
Figure 112001014373339-pat00031
,
Figure 112001014373339-pat00032
Is obtained, and the absolute value calculator 43 calculates the absolute value of the difference value.
Figure 112001014373339-pat00033
Is obtained and output to the ROM 44. The ROM 44 is provided with a correction table so that the absolute value is
Figure 112001014373339-pat00034
Correction value corresponding to
Figure 112001014373339-pat00035
Is output from the comparison and selection unit 41 in the summer 45
Figure 112001014373339-pat00036
Is added to the final output
Figure 112001014373339-pat00037
Becomes

그런데, 도 4와 같은 보정 모듈의 경우 성능은 통상의 Sum-Product에 근접하지만 보정 팩터를 추가하는 것에 의해 복잡도가 증가하는 단점이 있었다. By the way, in the case of the calibration module as shown in Figure 4, the performance is close to the normal Sum-Product, but there is a disadvantage that the complexity increases by adding a correction factor.

한편, 도 5는 Min-Sum 알고리즘의 성능을 개선하기 위한 Check-to-Site cost function

Figure 112001014373339-pat00038
의 계산 과정을 나타낸 것으로, 첫 번째 비트 조합
Figure 112001014373339-pat00039
에서부터 마지막 비트 조합
Figure 112001014373339-pat00040
까지 모든 비트 조합을 더하는 구조로 되어 있다. 여기서, M으로 표시된 블록은 도 4에서 합산기(45)에 해당되는 것이며, E,s,k는 도 1에서와 같은 의미를 갖는다. 각각의 입력신호
Figure 112001014373339-pat00041
는 상기 [수학식 10]과 같이 계산된다. 보 정을 위해 필요한 M 블록은 하나의 a값에 대하여 모두
Figure 112001014373339-pat00042
개이다.On the other hand, Figure 5 is a check-to-site cost function for improving the performance of the Min-Sum algorithm
Figure 112001014373339-pat00038
Shows the process of calculating the first bit combination
Figure 112001014373339-pat00039
Last bit combination from
Figure 112001014373339-pat00040
It is a structure that adds all bit combinations up to. Here, the block denoted by M corresponds to the summer 45 in FIG. 4, and E, s, and k have the same meanings as in FIG. 1. Each input signal
Figure 112001014373339-pat00041
Is calculated as shown in Equation 10 above. The M blocks needed for correction are all for a value of a
Figure 112001014373339-pat00042
Dog.

이와 같이 종래 기술에 의한 디코딩 방법에 있어서, Min-Sum 알고리즘은 Sum-Product 알고리즘보다 덜 복잡하게 구현되지만, 성능이 떨어지는 단점이 있고, 이를 해결하기 위해 디코딩 과정에서 발생되는 손실을 모두 보정하는 구조의 경우 하드웨어나 소프트웨어를 구현할 때 복잡한 구조를 갖게 되는 단점이 있었다.As described above, in the decoding method according to the related art, the Min-Sum algorithm is implemented to be less complicated than the Sum-Product algorithm, but has a disadvantage of poor performance. In the case of hardware or software, there is a disadvantage in that it has a complicated structure.

따라서, 본 발명의 목적은 Min-Sum 알고리즘의 복잡도를 그다지 증가시키지 않으면서 Sum-Product 알고리즘에 근접하는 성능을 발휘할 수 있도록, 가장 큰 비중을 차지하는 K개의 사이트 조합만을 고려한 보정 팩터만을 추가하는 부분 보정을 이용한 그래프 디코딩 방법을 제공함에 있다. Therefore, an object of the present invention is to partially compensate for adding only a correction factor considering only the K site combinations that occupy the largest weight, so that the performance of the Sum-Product algorithm can be achieved without increasing the complexity of the Min-Sum algorithm. It provides a graph decoding method using.

본 발명에 의한 부분 보정을 이용한 그래프 디코딩 방법은, 백색 가우시안 잡음 채널을 통해 수신되는 LDPC 코드를 Min-Sum 알고리즘으로 디코딩하는 보정 모듈에서, 수신되는 사이트 조합(

Figure 112007011604676-pat00043
,
Figure 112007011604676-pat00044
) 중 작은 값을 갖는 사이트 조합을 선택하는 단계와; 다수의 사이트 조합 중 가장 큰 비중을 차지하는 K개의 사이트 조합이 보정 팩터로 선정되도록
Figure 112007011604676-pat00045
를 업데이트 처리하여 각 사이트에 대한 코스트 펑션을 구하는 단계와; 상기 선택 결과에 상기 업데이트 결과를 더하여 디코딩 과정에서 발생되는 손실을 보정하는 단계로 이루어지는 것으로, 이와 같은 본 발명의 디코딩 방법을 첨부한 도 4, 도 6 내지 도 도11을 참조하여 상세히 설명하면 다음과 같다.Graph decoding method using the partial correction according to the present invention, in the correction module for decoding the LDPC code received through the white Gaussian noise channel by the Min-Sum algorithm, the received site combination (
Figure 112007011604676-pat00043
,
Figure 112007011604676-pat00044
Selecting a site combination having a small value; The K site combinations, which account for the largest proportion of the multiple site combinations, are selected as the correction factor.
Figure 112007011604676-pat00045
Obtaining a cost function for each site by updating processing; Comprising a step of correcting the loss generated in the decoding process by adding the update result to the selection result, will be described in detail with reference to Figures 4, 6 to 11 attached to the decoding method of the present invention as follows. same.

본 발명의 제1특징에 따르면, 본 발명에 의한 디코딩 알고리즘은 태너 그래프 상에서 하나의 사이트가 J개의 체크가 연결되고, 하나의 체크에 K개의 사이트가 연결된 부호일 때, 다음과 같은 과정을 통해 수행된다.According to a first aspect of the present invention, the decoding algorithm according to the present invention is performed by the following process when one site is connected to J checks on a Tanner graph and K sites are connected to one check. do.

Figure 112001014373339-pat00046
Figure 112001014373339-pat00046

Figure 112001014373339-pat00047
Figure 112001014373339-pat00047

재귀 반복(Iteration): 정해진 횟수만큼 아래의 업데이트를 수행한다.Recursive Iteration: Performs the following update a fixed number of times.

Figure 112001014373339-pat00048
Figure 112001014373339-pat00048

여기서,

Figure 112001014373339-pat00049
Figure 112001014373339-pat00050
는 비선형 함수인
Figure 112001014373339-pat00051
를 양자화 하여 롬(44)의 룩업테이블에 저장해 둔 값이다.
Figure 112001014373339-pat00052
를 업데이트 하기 위한 구조는 도 6과 같은 형식을 따른다.here,
Figure 112001014373339-pat00049
Figure 112001014373339-pat00050
Is a nonlinear function
Figure 112001014373339-pat00051
Is quantized and stored in the lookup table of the ROM 44.
Figure 112001014373339-pat00052
The structure for updating follows the format as shown in FIG.

Figure 112001014373339-pat00053
Figure 112001014373339-pat00053

Figure 112001014373339-pat00054
Figure 112001014373339-pat00054

이때,

Figure 112001014373339-pat00055
이면 사이트에 해당하는 수신 신호는 1로 디코딩되고,
Figure 112001014373339-pat00056
이면 0으로 디코딩된다. At this time,
Figure 112001014373339-pat00055
, The received signal corresponding to the site is decoded to 1,
Figure 112001014373339-pat00056
If it is, it is decoded to 0.

본 발명의 제2특징에 따르면, 상기 제1특징에서의 디코딩 알고리즘은 Sum-Product 알고리즘의 성능에 근접하는 성능을 발휘할 수 있도록

Figure 112001014373339-pat00058
를 보정함에 있어서 가장 큰 비중을 차지하는 K개의 사이트 조합만을 고려함으로써
Figure 112001014373339-pat00059
개의 사이트 조합을 고려해야 하는 기존의 방식에 비하여 훨씬 낮을 복잡도로 구현할 수 있게 된다.According to a second aspect of the present invention, the decoding algorithm in the first aspect may exhibit a performance close to that of the Sum-Product algorithm.
Figure 112001014373339-pat00058
By considering only the K site combinations that account for the largest
Figure 112001014373339-pat00059
This can be implemented with much lower complexity than the traditional approach of considering two site combinations.

본 발명의 제3특징에 따르면, 제1특징에서의 그래프 디코딩 알고리즘은 전달하는 코스트 펑션을 두 개의 코스트 펑션의 차로 나타냄으로써, 필요로 하는 메모리의 수를 줄일 수 있게 된다.According to the third aspect of the present invention, the graph decoding algorithm in the first aspect indicates the cost function to be transmitted as the difference between the two cost functions, thereby reducing the number of memories required.

본 발명의 제4특징에 따르면, 제1특징에서의 함수

Figure 112001014373339-pat00060
는 두 번의 덧셈과 한 번의 룩업 테이블 억세스에 의해 획득되며, 그 룩업 테이블이 롬에 존재하는 경우 도 4에서와 같이 구현된다.According to a fourth aspect of the invention, a function in the first aspect
Figure 112001014373339-pat00060
Is obtained by two additions and one lookup table access, and is implemented as shown in FIG. 4 when the lookup table exists in the ROM.

본 발명의 제5특징에 따르면, 제1특징에서의 디코딩 알고리즘은 기존이 방식에 비하여 훨씬 낮은 복잡도를 갖으면서 Sum-Product 알고리즘의 디코딩 성능에 근접하는 성능을 발휘한다. According to the fifth aspect of the present invention, the decoding algorithm in the first aspect exhibits performance that is close to the decoding performance of the Sum-Product algorithm, while having a much lower complexity than the conventional scheme.

본 발명의 제6특징에 따르면, 제1특징 및 제4특징에서의 함수

Figure 112001014373339-pat00061
Figure 112001014373339-pat00062
를 업데이트함에 있어서, 포워드-백워드 재귀(forward-backward recursion) 형태의 구조로 구현되므로 복잡도를 최적으로 줄일 수 있고, 그 구조는 도 7과 같다. According to a sixth aspect of the invention, a function is provided in the first and fourth
Figure 112001014373339-pat00061
Is
Figure 112001014373339-pat00062
In updating, the complexity can be optimally reduced because it is implemented in a forward-backward recursion type structure, and the structure is shown in FIG. 7.

본 발명의 제7특징에 따르면, 제1특징 내지 제6특징에서의 디코딩 구조는 터보 코드에서의 Max-Log-MAP 알고리즘과 같이 Log 함수를 이용하여 근사화 하는 모든 형태의 알고리즘에 적용할 수 있다.According to the seventh aspect of the present invention, the decoding structure in the first to sixth features can be applied to all types of algorithms approximated using a Log function, such as the Max-Log-MAP algorithm in turbo code.

이하, 본 발명의 실시예를 참조하여 디코딩 방법을 좀더 상세히 설명하면 다음과 같다.Hereinafter, the decoding method will be described in more detail with reference to an embodiment of the present invention.

먼저, 부호율이 1/2, 정보 비트의 수가 252, 부호어의 길이가 504비트(504,3,6)인 LDPC 패리티 체크 코드는 242

Figure 112001014373339-pat00063
504 패리티 체크 행렬로 나타낼 수 있는데, 이와 같은 경우 각각의 열에는 3개의 1이 존재하고, 각각의 행에는 6개의 1이 존재한다.(P1) First, an LDPC parity check code having a code rate of 1/2, a number of information bits of 252, and a codeword length of 504 bits (504, 3, 6) is 242.
Figure 112001014373339-pat00063
504 parity check matrix, in which case there are three 1s in each column and six 1s in each row (P1).

상기 제1과정(P1)의 LDPC 코드는 송신단에서 전송되어 백색 가우시안 잡음(AWGN) 채널을 통해 수신기로 전달된다.(P2)The LDPC code of the first process (P1) is transmitted from the transmitter and delivered to the receiver through a white Gaussian noise (AWGN) channel (P2).

상기 제2과정(P2)에서 수신된 LDPC 코드를 디코딩하기 위해 태너 그래프를 작성하면 모두 252개의 체크와 504개의 사이트로 이루어지는데, 여기서 각각의 체크는 6개의 사이트와 연결되고, 각각의 사이트는 3개의 체크와 연결된다. 이와 같은 경우 도1 내지 도7에 공통으로 나타난 변수 J=3이고 K=6이 된다.(P3)When the Tanner graph is created to decode the LDPC code received in the second process (P2), all of the checkers consist of 252 checks and 504 sites, where each check is connected to 6 sites, and each site is 3 Is connected to two checks. In such a case, the variable J = 3 and K = 6, which are commonly shown in Figs. 1 to 7, will be (P3).

상기 제3과정(P3)에 의해 작성된 태너 그래프 상에서 도 1의 Sum-Product 알고리즘으로 디코딩하는 경우, 모든 체크와 사이트에 대하여 mu_E,s (1)=mu_E,s (0)= mu _s,E (1)=mu _s,E (0)=1로 초기화 된다. 또한, 도 2와 도 5의 알고리즘으로 디코딩하는 경우 모든 체크와 사이트에 대하여

Figure 112001014373339-pat00064
Figure 112001014373339-pat00065
Figure 112001014373339-pat00066
Figure 112001014373339-pat00067
으로 초기화 되며, 도 3과 도 6의 알고리즘으로 디코딩되는 경우 모든 체크와 사이트에 대하여
Figure 112001014373339-pat00068
Figure 112001014373339-pat00069
으로 초기화 된다.(P4) When decoding with the Sum-Product algorithm of FIG. 1 on the Tanner graph created by the third process P3, mu_E, s (1) = mu_E, s (0) = mu _s, E ( 1) = mu _s, E (0) = 1 is initialized. Also, all the checks and sites are decoded by the algorithm of FIGS. 2 and 5.
Figure 112001014373339-pat00064
Figure 112001014373339-pat00065
Figure 112001014373339-pat00066
Figure 112001014373339-pat00067
It is initialized to, and when it is decoded by the algorithm of Fig. 3 and Fig. 6 for all checks and sites
Figure 112001014373339-pat00068
Figure 112001014373339-pat00069
Initialized to (P4).

상기 제1과정 내지 제4과정(P1-P4)에 의하여 Sum-Product로 디코딩하는 경우, 상기 [수학식 1]을 이용하여 업데이트를 수행하고, 도 3의 Min-Sum 알고리즘의 경우 [수학식 7]을 이용하여 업데이트를 수행한다. 또한, 보정 팩터를 추가하는 구조의 경우 도 5의 보정 알고리즘은 [수학식 10]을 이용하여 업데이트하고, 도 6의 보정 알고리즘은 [수학식 12]를 이용하여 업데이트를 수행한다.(P5) When decoding to Sum-Product by the first to fourth processes (P1-P4), the update is performed using Equation 1, and in the case of the Min-Sum algorithm of FIG. ] To update. In addition, in the case of adding the correction factor, the correction algorithm of FIG. 5 is updated by using Equation 10, and the correction algorithm of FIG. 6 is updated by using Equation 12 (P5).

상기 제1과정 내지 제5과정(P1-P5)에서 업데이트 수행 횟수는 임의로 결정할 수 있으며, 한 예로써, 200회의 업데이트를 들 수 있다.(P6) The number of update operations may be arbitrarily determined in the first to fifth processes P1 to P5. For example, 200 updates may be used. (P6)

상기 제1과정 내지 제6과정(P1-P6)에 의한 각각의 알고리즘에 대하여 한 번 업데이트 시 필요한 연산 수는 도 10의 표에서와 같다. 본 발명에 의한 보정 알고리즘의 경우 기존의 보정 알고리즘에 비하여 훨씬 적은 복잡도를 가짐을 알 수 있다.(P7) The number of operations required to update once for each algorithm according to the first to sixth processes P1-P6 is as shown in the table of FIG. 10. It can be seen that the correction algorithm according to the present invention has much less complexity than the conventional correction algorithm. (P7)

본 발명의 다른 적용예로서, 상기와 같은 알고리즘은 비선형 함수와 곱셈기로 이루어진 Sum-Product 형태의 알고리즘을 log 함수를 이용하여 근사화시키는 과정에 적용하여 발생되는 손실을 줄일 수 있으며, 구체적으로는 블록 코드를 디코딩하기 위한 그래프 디코딩 알고리즘에 적용할 수 있다. 또한, 이 알고리즘은 컨벌루션 코드의 복호를 위해 사용되는 Log-MAP 알고리즘에 확장하여 적용할 수 있다. 이는 보정 팩터를 넣지 않는 구조에서 발생하는 성능 저하를 줄임과 동시에 보정 팩터를 추가하는 방식에 비하여 훨씬 낮은 복잡도로 구현할 수 있다. As another application example of the present invention, the above algorithm can reduce the loss caused by applying the Sum-Product type algorithm consisting of a nonlinear function and a multiplier to approximate the log function, specifically, a block code It can be applied to a graph decoding algorithm for decoding. In addition, this algorithm can be extended to the Log-MAP algorithm used for decoding convolutional codes. This can be implemented with much lower complexity than the method of adding a correction factor while reducing the performance degradation caused by a structure without a correction factor.

이상에서 상세히 설명한 바와 같이 본 발명은 Min-Sum 알고리즘을 채용하되, 가장 큰 비중을 차지하는 K개의 사이트 조합만을 고려한 보정 팩터만을 추가하는 방식으로 보정함으로써, 복잡도를 그다지 증가시키지 않고도 Sum-Product에 근접하는 디코딩 성능을 발휘할 수 있는 효과가 있다. As described in detail above, the present invention adopts the Min-Sum algorithm, but corrects the method by adding only a correction factor considering only the K site combinations that occupy the largest weight, thereby approaching the Sum-Product without increasing the complexity. This has the effect of achieving decoding performance.

Claims (4)

수신되는 LDPC 코드를 Min-Sum 알고리즘으로 그래프 디코딩하는 방법에 있어서,In the method for graph decoding the received LDPC code with a Min-Sum algorithm, 사이트 조합(
Figure 112007011604676-pat00070
,
Figure 112007011604676-pat00071
) 중 작은 값을 갖는 사이트 조합을 선택하는 단계와;
Site combinations (
Figure 112007011604676-pat00070
,
Figure 112007011604676-pat00071
Selecting a site combination having a small value;
다수의 사이트 조합 중 가장 큰 비중을 차지하는 K개의 사이트 조합만이 보정 팩터로 선정되도록 아래의 수식The equation below is used so that only the K site combinations, which account for the largest proportion of the multiple site combinations, are selected as the correction factors.
Figure 112007011604676-pat00090
Figure 112007011604676-pat00090
여기서,
Figure 112007011604676-pat00091
,
Figure 112007011604676-pat00092
는 비선형 함수인
Figure 112007011604676-pat00093
를 양자화 하여 룩업테이블에 저장해 둔 값으로
Figure 112007011604676-pat00072
를 업데이트 처리하는 단계와;
here,
Figure 112007011604676-pat00091
,
Figure 112007011604676-pat00092
Is a nonlinear function
Figure 112007011604676-pat00093
Is quantized to the value stored in the lookup table.
Figure 112007011604676-pat00072
Updating the process;
상기 선택 결과에 상기 업데이트 결과를 더하여 디코딩 과정에서 발생되는 손실을 보정하는 단계로 이루어지는 것을 특징으로 하는 부분 보정을 이용한 그래프 디코딩 방법.And correcting the loss generated in the decoding process by adding the update result to the selection result.
제1항에 있어서, 상기 사이트 조합을 선택하는 단계는,The method of claim 1, wherein selecting a site combination comprises: 태너 그래프 상에서 하나의 사이트에 J개의 체크가 연결되고, 하나의 체크에 K개의 사이트가 연결된 부호에 적용되는 것을 특징으로 하는 부분 보정을 이용한 그래프 디코딩 방법.A method of decoding a graph using partial correction, characterized in that J checks are connected to one site on a Tanner graph and K sites are connected to one check. 제1항에 있어서, 상기
Figure 112007011604676-pat00077
는,
The method of claim 1, wherein
Figure 112007011604676-pat00077
Is,
두 번의 덧셈과 한번의 룩업 테이블 억세스에 의해 획득되는 것을 특징으로 하는 부분 보정을 이용한 그래프 디코딩 방법.A method of decoding a graph using partial correction, characterized in that it is obtained by two additions and one lookup table access.
삭제delete
KR1020010033936A 2001-06-15 2001-06-15 Graph decoding method using partial correction KR100748501B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010033936A KR100748501B1 (en) 2001-06-15 2001-06-15 Graph decoding method using partial correction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010033936A KR100748501B1 (en) 2001-06-15 2001-06-15 Graph decoding method using partial correction

Publications (2)

Publication Number Publication Date
KR20020095749A KR20020095749A (en) 2002-12-28
KR100748501B1 true KR100748501B1 (en) 2007-08-13

Family

ID=27709460

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010033936A KR100748501B1 (en) 2001-06-15 2001-06-15 Graph decoding method using partial correction

Country Status (1)

Country Link
KR (1) KR100748501B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7395494B2 (en) 2003-12-22 2008-07-01 Electronics And Telecommunications Research Institute Apparatus for encoding and decoding of low-density parity-check codes, and method thereof
JP3891186B2 (en) * 2004-03-22 2007-03-14 住友電気工業株式会社 Decoding device and preprocessing device
KR100969774B1 (en) * 2007-01-30 2010-07-13 삼성전자주식회사 Apparatus and method for receiving signal in a communication system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06125534A (en) * 1992-08-31 1994-05-06 Sony Corp Transmission device for block conversion encoding data
KR20020065084A (en) * 2001-02-05 2002-08-13 엘지전자 주식회사 Decoder using decoding algorithm of map categories

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06125534A (en) * 1992-08-31 1994-05-06 Sony Corp Transmission device for block conversion encoding data
KR20020065084A (en) * 2001-02-05 2002-08-13 엘지전자 주식회사 Decoder using decoding algorithm of map categories

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
논문 Fast Min-Sum Algorithms for Decoding of LDPC over GF(q) [ Xiaofei Huang, Suquan Ding, Zhixing Yang, Youshou Wu ]
논문 Improved Min-Sum Decoding of LDPC Codes Using 2-Dimensional Normalization [ Juntan Zhang and Marc Fossorier, Daqing Gu and Jinyun Zhang ]

Also Published As

Publication number Publication date
KR20020095749A (en) 2002-12-28

Similar Documents

Publication Publication Date Title
US7962828B2 (en) Apparatus and method for coding/decoding block low density parity check code in a mobile communication system
KR100804793B1 (en) Method for updating Check Node in Low Density Parity Check Decoder
US7032156B2 (en) Apparatus and method for reducing Bit Error Rates (BER) and Frame Error Rates (FER) using turbo decoding in a digital communication system
JP3861084B2 (en) Hybrid turbo / convolutional code decoder, especially for mobile radio systems
KR100891782B1 (en) Apparatus and method for correcting of forward error in high data transmission system
KR100941346B1 (en) Turbo decoder with multiple scale selections
WO2001082490A1 (en) Method and apparatus for decoding turbo-encoded code sequence
JP3928311B2 (en) Turbo code error correction decoding apparatus and turbo code error correction decoding method
US7391826B2 (en) Decoding method and apparatus
US20040193995A1 (en) Apparatus for decoding an error correction code in a communication system and method thereof
US6654927B1 (en) Iterative error-correction for turbo code decoding
KR100748501B1 (en) Graph decoding method using partial correction
KR20050039873A (en) Method and device for source decoding a variable-length soft-input codewords sequence
JP4152410B2 (en) Arithmetic circuit
EP3656058A1 (en) Device and method for generating a multi-kernel polar code
US20080208939A1 (en) Decoder device and decoding method
US6857101B1 (en) Apparatus and method of storing reference vector of state metric
CN115021765A (en) Low-complexity Turbo product code decoding algorithm based on code word reliability
CN113644919A (en) Method for improving Turbo decoding performance in DVB-RCS2 and decoding structure
Clevon et al. Low-complexity belief propagation decoding by approximations with look-up tables
Therattil et al. A low-complexity soft-decision decoder for extended BCH and RS-like codes
JP2614524B2 (en) Error correction code decoding method
CN115987302B (en) Parity-check-supported dynamic serial cancellation list overturning decoding method and system
KR101267756B1 (en) Method for encoding and decoding rate-compatible irregular repeat multiple-state accumulate codes and apparatuses using the same
CN112532254B (en) Satellite-borne low-complexity Turbo code decoding method and Turbo decoder

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee