KR101206434B1 - method for decoding using dynamic scheduling scheme for low density parity check codes and apparatus thereof - Google Patents

method for decoding using dynamic scheduling scheme for low density parity check codes and apparatus thereof Download PDF

Info

Publication number
KR101206434B1
KR101206434B1 KR1020090016799A KR20090016799A KR101206434B1 KR 101206434 B1 KR101206434 B1 KR 101206434B1 KR 1020090016799 A KR1020090016799 A KR 1020090016799A KR 20090016799 A KR20090016799 A KR 20090016799A KR 101206434 B1 KR101206434 B1 KR 101206434B1
Authority
KR
South Korea
Prior art keywords
variable
check
node
message
messages
Prior art date
Application number
KR1020090016799A
Other languages
Korean (ko)
Other versions
KR20100068146A (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 US12/497,114 priority Critical patent/US8347172B2/en
Publication of KR20100068146A publication Critical patent/KR20100068146A/en
Application granted granted Critical
Publication of KR101206434B1 publication Critical patent/KR101206434B1/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/1131Scheduling of bit node or check node processing
    • 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/45Soft decoding, i.e. using symbol reliability information
    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing

Landscapes

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

Abstract

본 발명은 저밀도 패리티 검사 부호를 위한 동적 스케줄링 기법을 이용한 복호 방법 및 그 장치에 관한 것이다. The present invention relates to a decoding method and apparatus therefor using a dynamic scheduling technique for a low density parity check code.

본 발명에서는 저밀도 패리티 검사 부호의 복호를 순차적으로 수행하며, 특히 변수 노드에서 체크 노드로 전달되는 메시지의 업데이트 전후 값의 차이가 큰 순서대로 해당 메시지들을 스케줄링 한다. 그 결과 기존의 동적 스케줄링 기법에 비해 탁월한 성능을 보이며, 불필요한 연산과 재정렬 과정이 삭제되어 낮은 복잡도로 복호 방법을 구현할 수 있다. In the present invention, the low-density parity check code is sequentially decoded. In particular, the messages are scheduled in the order of a large difference between before and after updating of the message transmitted from the variable node to the check node. As a result, it shows superior performance compared to the existing dynamic scheduling scheme, and unnecessary decoding and reordering processes are eliminated.

저밀도패리티검사, LDPC, 복호, Low density parity test, LDPC, decoding,

Description

저밀도 패리티 검사 부호를 위한 동적 스케줄링 기법을 이용한 복호 방법 및 그 장치{method for decoding using dynamic scheduling scheme for low density parity check codes and apparatus thereof}Method for decoding using dynamic scheduling scheme for low density parity check codes and apparatus

본 발명은 복호 방법에 관한 것으로, 더욱 상세하게 말하자면, 저밀도 패리티 검사 부호를 위한 동적 스케줄링 기법 이용한 복호 방법 및 그 장치에 관한 것이다. The present invention relates to a decoding method, and more particularly, to a decoding method and apparatus therefor using a dynamic scheduling technique for a low density parity check code.

본 발명은 지식 경제부 및 정보통신연구진흥원의 IT원천기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2008-F-002-01, 과제명: 차세대 전술국방통신 원천기술개발].The present invention is derived from the research conducted as part of the IT source technology development project of the Ministry of Knowledge Economy and the Ministry of Information and Communication Research and Development. [Task management number: 2008-F-002-01, Task name: Next-generation tactical defense communication source technology development] .

현재 차세대 이동 통신 시스템의 높은 데이터 전송률을 만족시키기 위해, 짧은 길이로 효과적인 성능을 갖는 부호화 방식과 빠른 수렴 속도의 복호화 방식에 대한 연구가 진행되고 있으며, 특히 저밀도 패티리 검사 부호(low density parity check codes: 이하, LDPC 부호 라고 함)의 다양한 복호 방식에 대한 연구가 활발히 이루어지고 있다. In order to satisfy the high data rate of the next generation mobile communication system, researches are being conducted on a coding scheme having an effective performance with a short length and a fast convergence rate decoding scheme, in particular, a low density parity check codes. (Hereinafter referred to as LDPC code) has been actively studied for various decoding methods.

LDPC 부호의 복호 방식은 기본적으로 체크 노드 또는 변수 노드가, 이와 이 웃하는 소정 수의 이웃 노드로부터 메시지를 받아 업데이트 처리하고 갱신 처리된 메시지를 다시 해당 이웃 노드로 돌려 보내는 과정의 반복을 통하여 오류를 정정해 나가면서 복호를 한다. 변수 노드 또는 체크 노드의 출력 메시지는 메시지가 보내질 선 즉, 에지(edge)에서 들어오는 메시지를 제외하고 그 노드로 들어오는 모든 메시지들의 함수이다. The decoding method of LDPC code is basically a check node or a variable node to receive an error from a predetermined number of neighbor nodes, update the message, and return the updated message back to the neighbor node. Decrypt while correcting. The output message of a variable node or check node is a function of all messages coming into that node except the line on which the message is to be sent, i.e. the message coming from the edge.

이러한 메시지들의 업데이트 순서를 결정하는 것을 스케줄링(scheduling) 이라고 하며, 스케줄링 복호 방식은 고정된 순서에 따라 순차적으로 메시지들을 업데이트 하는 정적 스케줄링 복호 방식과, 동적으로 메시지들을 업데이트 하는 동적 스케줄링 복호 방식이 있다. Determining the update order of such messages is called scheduling. Scheduling decoding includes a static scheduling decoding method for updating messages sequentially according to a fixed order, and a dynamic scheduling decoding method for dynamically updating messages.

정적 스케줄링 복호 방식은 변수 노드 방향으로 업데이트하는지 체크 노드 방향으로 업데이트 하는지에 따라, SBP(Shuffled Belief Propagation)와 LBP (Layered Belief Propagation)로 구분된다. SBP와 LBP가 소개된 이후로 다양한 변형된 형태의 기법들이 연구되어 왔다. Static scheduling decoding schemes are classified into SBP (Shuffled Belief Propagation) and LBP (Layered Belief Propagation) according to whether they are updated in the variable node direction or in the check node direction. Since the introduction of SBP and LBP, various modified forms of techniques have been studied.

기존의 동적 스케줄링 복호 방식은 RBP(residual belief propagation)라고도 불리 우며, 체크 노드에서 변수 노드로 전달되는 메시지들 중 업데이트 전후의 변화량이 가장 큰 메시지를 우선 업데이트하는 방식이다. The existing dynamic scheduling decoding method, also called RBP (residual belief propagation), is a method of first updating a message having the largest change amount before and after updating among messages transmitted from a check node to a variable node.

업데이트 전후 메시지 값의 차이가 0에 가깝다는 것은 그 메시지가 거의 수렴되었다고 볼 수 있으며, 반대로 업데이트 전후 메시지 값의 차이가 크다는 것은 그 메시지가 수렴되지 않은 부분이라는 것을 나타낸다고 볼 수 있다. 따라서 아직 수렴되지 않은 메시지를 먼저 업데이트 하는 동적 스케줄링 복호 방식의 수렴 속도 는, 고정된 순서에 의해 업데이트 하는 기존 SBP와 LBP 같은 정적 스케줄링 복호 방식의 복호 수렴속도보다 훨씬 더 빠르다. 또한 동적 스케줄링 복호 방식은 트래핑 셋 에러(trapping set error)를 효과적으로 해결할 수 있으므로, 정적 스케줄링 복호 방식에 비하여 향상된 성능을 가진다. The difference in the message value before and after the update is close to 0 indicates that the message is almost converged. On the contrary, the difference in the message value before and after the update indicates that the message is not converged. Therefore, the convergence speed of the dynamic scheduling decoding method that updates the message that has not yet converged first is much faster than the decoding convergence speed of the static scheduling decoding methods such as the existing SBP and LBP which are updated in a fixed order. In addition, the dynamic scheduling decoding method can effectively solve the trapping set error, and thus has an improved performance compared to the static scheduling decoding method.

그러나 기존의 LDPC 부호를 위한 동적 스케줄링 복호 방식은 체크 노드에서 변수 노드로 전달되는 메시지의 업데이트 전후 값의 차이가 큰 순서대로 스케줄링을 수행하기 때문에, 복호 수렴 속도는 빨라졌지만, 체크 노드에서 변수 노드로 전달되는 메시지는 오직 하나의 체크 식에만 근거하기 때문에 신뢰도가 떨어지는 단점이 있다. 구체적으로 메시지를 잘못 판단할 가능성이 크기 때문에, 잘못 판단된 메시지가 먼저 업데이트 되어 새로운 에러가 발생하게 되는 문제점이 있다. However, the conventional dynamic scheduling decoding scheme for the LDPC code performs scheduling in the order of the difference in the values before and after the update of the message delivered from the check node to the variable node. The delivered message has a disadvantage of low reliability because it is based on only one check expression. In particular, since there is a high possibility that a message may be misjudged, there is a problem in that an incorrectly determined message is updated first and a new error occurs.

본 발명이 이루고자 하는 기술적 과제는 LDPC 부호를 위한 보다 신뢰성이 높은 동적 스케줄링 기법을 이용한 복호 방법 및 그 장치를 제공하는 것이다. An object of the present invention is to provide a decoding method and apparatus using a more reliable dynamic scheduling technique for LDPC code.

또한 본 발명이 이루고자 하는 기술적 과제는 복잡도가 낮아서 구현이 용이한 동적 스케줄링 기법을 이용한 복호 방법 및 그 장치를 제공하는 것이다. Another object of the present invention is to provide a decoding method and apparatus using a dynamic scheduling technique, which is low in complexity and easy to implement.

본 발명의 특징에 따른 복호 방법은, 패리티 검사 행렬로부터 복수의 체크 노드와 변수 노드를 정의하고 이를 토대로 복호를 수행하는 방법에서, 변수 노드에서 체크 노드로 전달되는 모든 변수-체크 메시지의 정렬 기준값들을 비교하여 가장 큰 정렬 기준값을 가지는 변수-체크 메시지를 선택하며, 상기 선택된 변수-체크 메시지는 제1 변수 노드에서 제1 체크 노드로 전달되는 단계; 상기 제1 체크 노드에 연결된 모든 제2 변수 노드에 대하여, 상기 제1 체크 노드에서 제2 변수 노드로 전달되는 체크-변수 메시지를 업데이트하는 단계; 및 상기 제2 변수 노드에 연결된 모든 제2 체크 노드에 대하여, 상기 업데이트된 체크-변수 메시지를 토대로 상기 제2 변수 노드에서 상기 제2 체크 노드로 전달되는 변수-체크 메시지의 정렬 기준값을 산출하는 단계를 포함한다. In the decoding method according to an aspect of the present invention, in the method of defining a plurality of check nodes and variable nodes from a parity check matrix and performing decoding based on the check nodes, the sorting reference values of all variable-check messages transmitted from the variable node to the check node are determined. Selecting a variable-check message having the largest alignment reference value by comparison, wherein the selected variable-check message is passed from the first variable node to the first check node; Updating a check-variable message passed from the first check node to a second variable node for all second variable nodes connected to the first check node; And calculating, for all second check nodes connected to the second variable node, an alignment reference value of the variable-check message transmitted from the second variable node to the second check node based on the updated check-variable message. It includes.

여기서, 상기 선택된 변수-체크 메시지에 연결된 제1 변수 노드를 찾는 단계; 및 상기 제1 변수 노드에서, 상기 제1 변수 노드에 연결된 모든 제1 체크 노드로 전달되는 변수-체크 메시지들을 모두 업데이트하는 단계를 더 포함할 수 있다. Finding a first variable node coupled to the selected variable-check message; And updating, at the first variable node, all variable-check messages sent to all first check nodes connected to the first variable node.

본 발명의 다른 특징에 따른 복호 장치는, 패리티 검사 행렬로부터 복수의 체크 노드와 변수 노드를 정의하고 이를 토대로 복호를 수행하는 장치에서, 변수 노드에서 체크 노드로 전달되는 변수-체크 메시지들을 초기화하고, 체크 노드에서 변수 노드로 전달되는 체크-변수 메시지들을 초기화하는 초기화부; 변수 노드에서 체크 노드로 전달되는 변수-체크 메시지들을 업데이트하는 체크 노드 업데이트부; 체크 노드에서 변수 노드로 전달되는 체크-변수 메시지들을 업데이트하는 변수 노드 업데이트부; 상기 모든 변수-체크 메시지의 정렬 기준값들을 비교하여 가장 큰 정렬 기준값을 가지며 제1 변수 노드에서 제1 체크 노드로 전달되는 변수-체크 메시지를 선택하는 처리부를 포함한다. 여기서, 상기 변수 노드 업데이트부는 상기 처리부의 제어에 따라, 상기 제1 체크 노드에 연결된 모든 제2 변수 노드에 대하 여, 상기 제1 체크 노드에서 제2 변수 노드로 전달되는 체크-변수 메시지를 업데이트하고, 상기 체크 노드 업데이트부는 상기 제2 변수 노드에 연결된 모든 제2 체크 노드에 대하여, 상기 업데이트된 체크-변수 메시지를 토대로 상기 제2 변수 노드에서 상기 제2 체크 노드로 전달되는 변수-체크 메시지의 정렬 기준값을 산출한다. The decoding apparatus according to another aspect of the present invention, in the apparatus for defining a plurality of check nodes and variable nodes from the parity check matrix and performing decoding based on the parity check matrix, initializes the variable-check messages transmitted from the variable node to the check node, An initialization unit for initializing check-variable messages transmitted from the check node to the variable node; A check node updating unit for updating variable-check messages transmitted from the variable node to the check node; A variable node updater for updating check-variable messages transmitted from the check node to the variable node; And a processing unit for comparing the sorting reference values of all the variable-check messages and selecting the variable-checking message having the largest sorting reference value and transmitted from the first variable node to the first check node. Here, the variable node updater updates the check-variable message transmitted from the first check node to the second variable node for all second variable nodes connected to the first check node under the control of the processor. And the check node updating unit arranges the variable-check message transmitted from the second variable node to the second check node based on the updated check-variable message for all second check nodes connected to the second variable node. Calculate the reference value.

본 발명에 따르면, 기존 동적 스케줄링 기법에 비하여 복호 방법의 속도가 빨라지면서도 그 신뢰성이 향상되어 탁월한 복호 성능을 제공한다. 그러므로 안정된 데이터 전송을 가능하게 한다. According to the present invention, the decoding method is faster than the existing dynamic scheduling scheme and the reliability thereof is improved, thereby providing excellent decoding performance. Therefore, stable data transmission is possible.

또한 불필요한 연산 및 재정렬 과정을 피함으로써 복잡도를 현저하게 줄일 수 있다. 또한 복호 과정의 복잡도가 감소됨에 따라 고속의 통신 또한 보장해 준다. 이외에도 통신 분야뿐만 아니라 오류정정 기술을 필요로 하는 다양한 차세대 시스템에 적용될 수 있다. In addition, complexity can be significantly reduced by avoiding unnecessary computation and reordering. In addition, as the complexity of the decoding process is reduced, high-speed communication is also guaranteed. In addition, it can be applied not only to the communication field but also to various next generation systems requiring error correction technology.

또한 스케줄링 시에 업데이트 전후의 메시지 값의 차가 큰 에지를 포함하는 변수 노드를 선택하여 선택된 변수 노드에 연결된 모든 에지를 한꺼번에 업데이트 함으로써, 복호 과정의 선택 횟수를 감소시켜 복호 과정의 복잡도를 보다 더 효과적으로 감소시키면서도 탁월한 복호 성능을 유지할 수 있다. In addition, by selecting a variable node that includes edges with a large difference in message values before and after updating, and updating all edges connected to the selected variable node at once, the number of selections of the decoding process is reduced, thereby more effectively reducing the complexity of the decoding process. It is possible to maintain excellent decoding performance.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기 에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding other components unless specifically stated otherwise. In addition, the terms “… unit”, “… group” described in the specification mean a unit that processes at least one function or operation, which may be implemented by hardware or software or a combination of hardware and software.

이하, 도면을 참조하여 본 발명의 실시 예에 대하여 보다 구체적으로 설명하기로 한다. Hereinafter, embodiments of the present invention will be described in more detail with reference to the accompanying drawings.

본 발명이 실시 예에 따른 복호 방법은 패리티 검사 행렬과 태너 그래프를 이용해서 수행되며, 패리티 검사 행렬은 태너 그래프로 표현될 수 있다. 행의 수만큼의 체크 노드들이 만들어지고, 열의 개수만큼의 변수 노드들이 만들어져서 태너 그래프를 형성한다. 만일 행렬의 (i,j) 원소가 1이면 i번째 체크 노드와 j번째 변수 노드가 에지로 연결되어 서로 이웃하는 노드들이 된다. The decoding method according to an embodiment of the present invention is performed using a parity check matrix and a Tanner graph, and the parity check matrix may be represented by a Tanner graph. As many check nodes are created as the number of rows, and as many variable nodes as the number of columns are created to form the Tanner graph. If the (i, j) element of the matrix is 1, the i th check node and the j th variable node are connected by edges to become neighboring nodes.

LDPC 부호의 반복 복호는 변수 노드와 체크 노드 간의 반복적인 메시지 전달을 통하여 이루어진다. 체크 노드 ci 와 변수 노드 vj가 이웃하는 노드라고 할 때, 메시지들은 다음과 같이 생성될 수 있다. Iterative decoding of the LDPC code is achieved through repeated message transfer between the variable node and the check node. If the check node c i and the variable node v j are neighboring nodes, the messages can be generated as follows.

[수학식1][Equation 1]

Figure 112009012302360-pat00001
Figure 112009012302360-pat00001

[수학식2]&Quot; (2) "

Figure 112009012302360-pat00002
Figure 112009012302360-pat00002

여기서,

Figure 112009012302360-pat00003
는 변수 노드 vj 에서 체크 노드 ci 로 전송되는 메시지의 업데이트 함수이며, 이를 변수-체크 메시지라고 명명할 수 있다.
Figure 112009012302360-pat00004
는 체크 노드 ci 에서 변수 노드 vj 로 전송되는 메시지의 업데이트 함수이며, 이를 체크-변수 메시지라고 명명할 수 있다.here,
Figure 112009012302360-pat00003
Is the update function of the message sent from the variable node v j to the check node c i , which can be called a variable-check message.
Figure 112009012302360-pat00004
Is the update function of the message sent from the check node c i to the variable node v j , which can be called a check-variable message.

또한,

Figure 112009012302360-pat00005
는 변수 노드 vj 에 대한 채널 정보이며,
Figure 112009012302360-pat00006
와 같이 나타낼 수 있다. 여기서,
Figure 112009012302360-pat00007
는 수신 신호를 나타낸다. Also,
Figure 112009012302360-pat00005
Is the channel information for the variable node v j ,
Figure 112009012302360-pat00006
As shown in Fig. here,
Figure 112009012302360-pat00007
Indicates a received signal.

또한,

Figure 112009012302360-pat00008
는 j번째 변수 노드에 연결된 모든 체크 노드들 중에서 i번째 체크 노드를 제외한 체크 노드들을 나타낸다. Also,
Figure 112009012302360-pat00008
Denotes check nodes except the i th check node among all the check nodes connected to the j th variable node.

Figure 112009012302360-pat00009
는 체크 노드(ca)들에 연결된 모든 변수 노드들 중에서 j번 째 변수 노드를 제외한 변수 노드들을 나타낸다.
Figure 112009012302360-pat00009
Denotes the variable nodes except the j th variable node among all the variable nodes connected to the check nodes c a .

이러한 특징을 가지는 LDPC를 이용한 본 발명의 실시 예에 따른 복호 방법을 설명하기 전에, 먼저 일반적인 복호 방법에 대하여 설명한다. Before describing a decoding method according to an embodiment of the present invention using an LDPC having such a feature, a general decoding method will be described.

LDPC 부호의 일반적인 복호 방법은 i 번째 반복 과정에서 체크-변수 메시지는, (i-1) 번째 반복 과정에서 얻어진 변수-체크 메시지의 값을 사용하여 업데이트 된다. 그런 다음, 모든 변수-체크 메시지들은 이전 단계에서 새롭게 얻어진 체크-변수 메시지를 사용하여 업데이트 된다. 이러한 과정은 정지 조건이 만족될 때까지 반복된다. 여기서 변수-체크 메시지는 위의 수학식 1로 나타낼 수 있으며, 체크-변수 메시지는 수학식 2로 나타낼 수 있다. In the general decoding method of the LDPC code, the check-variable message is updated using the value of the variable-check message obtained in the (i-1) -th iteration during the i-th iteration. Then all variable-check messages are updated using the check-variable message newly obtained in the previous step. This process is repeated until the stop condition is satisfied. Here, the variable-check message may be represented by Equation 1 above, and the check-variable message may be represented by Equation 2.

특히, 기존의 동적 스케줄링 기법은 레지듀얼(residual)이라 불리는 정렬 기준값을 가장 크게 갖는 메시지를 우선 업데이트 하는 방법으로, RBP(residual belief propagation)라고 한다. 여기서 정렬 기준값은 체크-변수 메시지의 업데이트 전후의 값들의 차이로부터 산출되며, 다음과 같이 나타낼 수 있다. In particular, the conventional dynamic scheduling technique is a method of first updating a message having the largest sort criterion value called residual, which is called RBP (residual belief propagation). The alignment reference value is calculated from the difference between the values before and after the update of the check-variable message, and can be expressed as follows.

[수학식 3] &Quot; (3) "

Figure 112009012302360-pat00010
Figure 112009012302360-pat00010

여기서,

Figure 112009012302360-pat00011
는 정렬 기준값이며,
Figure 112009012302360-pat00012
는 업데이트에 의하여 새로이 산출된 체크-변수 메시지의 값이다. here,
Figure 112009012302360-pat00011
Is the sort criterion,
Figure 112009012302360-pat00012
Is the value of the check-variable message newly calculated by the update.

도 1은 기존의 LDPC 부호의 동적 스케줄링 기법에 따른 복호 과정을 나타낸 예시도이다. 1 is an exemplary diagram illustrating a decoding process according to a dynamic scheduling scheme of a conventional LDPC code.

첨부한 도 1에서와 같이, 일반적인 동적 스케줄링 기법에 따른 복호 과정 즉, RBP의 복호 과정은 세 단계로 나타낼 수 있다. 도 1에서, 변수 노드와 체크 노드는 각각 원과 사각형으로 나타내었다. As shown in FIG. 1, the decoding process according to the general dynamic scheduling technique, that is, the decoding process of the RBP, may be represented in three steps. In FIG. 1, variable nodes and check nodes are represented by circles and rectangles, respectively.

첫번째 단계(도 1의 (a))에서, 체크-변수 메시지들에 대하여 업데이트 전후의 값들의 차이를 각각 구하고, 그 중에서 가장 큰 값 즉, 가장 큰 정렬 기준값을 가지는 체크 노드와 변수 노드의 쌍 즉, 이 두 노드를 연결하는 에지를 통해 전송되는 체크-변수 메시지

Figure 112009012302360-pat00013
가 선택되었다고 하자. 선택된 체크-변수 메시지
Figure 112009012302360-pat00014
의 값이 크게 변화하므로, 해당 변수 노드가 다른 값으로 결정될 확률이 높다. 그러므로 해당 변수 노드에 대한 체크-변수 메시지를 먼저 업데이트하면 다른 노드를 바르게 결정하는데 도움이 되어 전체 복호 성능을 향상시킬 수 있다. 따라서 가장 큰 값의 정렬 기준값을 가지는 체크-변수 메시지를 먼저 선택하는 것이다. In the first step ((a) of FIG. 1), the difference between the values before and after the update is obtained for the check-variable messages, respectively, and the pair of the check node and the variable node having the largest value, that is, the largest alignment criterion value, , Check-variable message sent over the edge connecting these two nodes
Figure 112009012302360-pat00013
Let is chosen. Selected Check-Variable Message
Figure 112009012302360-pat00014
Because the value of changes significantly, there is a high probability that the variable node will be determined to a different value. Therefore, updating the check-variable message for that variable node first can help determine the other node correctly and improve the overall decoding performance. Therefore, the check-variable message with the largest sort criterion is selected first.

이후, 선택된 메시지

Figure 112009012302360-pat00015
를 업데이트 하고 대응되는 에지를 처리 대상에서 제외시킨다. 즉 체크 노드(ci)와 변수 노드(vj)에 연결된 에지를 통하여 전송되는 체크-변수 메시지의 정렬 기준값을 0으로 처리하여
Figure 112009012302360-pat00016
, 현재의 반복 복호 과정에서 더 이상 선택되지 않도록 한다. Then, the selected message
Figure 112009012302360-pat00015
Is updated and the corresponding edge is excluded from processing. That is, the sorting reference value of the check-variable message transmitted through the edge connected to the check node (c i ) and the variable node (v j ) is treated as 0.
Figure 112009012302360-pat00016
In the current iterative decoding process, it is no longer selected.

다음 두번째 단계(도 1의 (b))에서, 모든

Figure 112009012302360-pat00017
를 업데이트 한다. 즉, j번째 변수 노드에 연결되어 있는 체크 노드들 중에서 상기에서 제외 처리 된 에지에 연결된 i번째 체크 노드(ci)를 제외한 모든 체크 노드들(ca)에 대하여, 변수-체크 메시지
Figure 112009012302360-pat00018
의 값을 산출한다. In the next second step (FIG. 1B), all
Figure 112009012302360-pat00017
Update That is, for all the check nodes c a except for the i th check node c i connected to the excluded edge among the check nodes connected to the j th variable node, the variable-check message
Figure 112009012302360-pat00018
Calculate the value of.

그리고 세번째 단계(도 1의 (c))에서, 다음 복호 과정에서 사용될 정렬 기준값들인, 모든

Figure 112009012302360-pat00019
에 대한 정렬 기준값(
Figure 112009012302360-pat00020
)들을 업데이트한다. 체크-변수 메시지들에 대한 업데이트 전후의 값들의 차이를 토대로 스케줄링이 이루어지는데 체크 노드들(ca)에서 변수 노드(vb)들로 전달되는 메시지가 업데이트 되었기 때문에, 이러한 메시지들에 대응하는 에지들에 대한 정렬 기준값들을 새로이 산출해 주는 단계가 수행되어야 한다. And in the third step (Fig. 1 (c)), all of the sorting reference values to be used in the next decoding process,
Figure 112009012302360-pat00019
Sort by for
Figure 112009012302360-pat00020
). Scheduling is based on the difference in the values before and after the update to the check-variable messages, since the message passed from the check nodes c a to the variable nodes v b has been updated, the edge corresponding to these messages. A step of newly calculating the sorting reference values for these fields should be performed.

구체적으로, 위의 두번째 단계에서 얻어진 변수-체크 메시지들에 대한 값을 토대로, 체크 노드들(ca)에 연결된 변수 노드들 중에서 상기에서 제외 처리된 에지에 연결된 j번째 변수 노드(vj)를 제외한 변수 노드들(vb)에 대한 체크-변수 메시지들의 업데이트 전후의 차이값인 정렬 기준값(

Figure 112009012302360-pat00021
)을 산출한다. Specifically, based on the values for the variable-check messages obtained in the second step above, among the variable nodes connected to the check nodes c a , the j th variable node v j connected to the excluded edge is The sorting criterion value (the difference value before and after updating the check-variable messages for the excluded variable nodes v b )
Figure 112009012302360-pat00021
) Is calculated.

그리고 아직 선택되지 않은 메시지들 즉, 위의 첫번째 단계에서 선택되었던 메시지를 제외한 체크-변수 메시지들을 그 정렬 기준값에 따라 재정렬한다. 예를 들어 정렬 기준값이 큰 순서대로 체크-변수 메시지들이 정렬될 수 있다. And reorder the check-variable messages except the messages that have not yet been selected, ie the messages that were selected in the first step above, according to their sorting criteria. For example, check-variable messages may be sorted in ascending order of sort criteria.

이러한 단계들을 통하여, 모든 메시지(또는 에지)들은 한번의 반복 복호 과정 내에서 한번씩만 업데이트 된다.Through these steps, all messages (or edges) are updated only once in one iterative decoding process.

이러한 특징을 가지는 기존의 RBP 복호 방법은, 빠른 복호 수렴속도를 가지는 효과적인 복호 방법임에도 불구하고, 오류 정정 성능과 복잡도를 개선할 필요가 있다. Although the existing RBP decoding method having such a feature is an effective decoding method having a fast decoding convergence speed, it is necessary to improve error correction performance and complexity.

구체적으로, 기존의 RBP 복호 방법은 오직 하나의 체크 식에 근거한 메시지 값의 변화로부터 정렬 기준값을 산출한다. 즉, 수학식 2에서와 같이 하나의 체크 노드에 연결된 변수 노드들에 대한 체크식을 토대로 정렬 기준값을 산출한다. 그 결과, 그리디 알고리즘(greedy algorithm)인 RBP 복호 방법에서, 잘못 판단된 메시지가 가장 큰 정렬 기준값을 가지는 경우, 정적 스케줄링 복호 방식에서 발생하지 않는 새로운 에러가 생성되어 전파될 수 있다. Specifically, the existing RBP decoding method calculates the alignment reference value from the change of the message value based on only one check expression. That is, as shown in Equation 2, the alignment reference value is calculated based on the check expression for the variable nodes connected to one check node. As a result, in the RBP decoding method, which is a greedy algorithm, when an incorrectly determined message has the largest alignment reference value, a new error that does not occur in the static scheduling decoding method may be generated and propagated.

또한 기존의 다른 복호 방법에서는 변수 노드에서 체크 노드로 보내질 메시지의 업데이트가 이루어지면 한 번의 복호 과정이 완료되는 것에 비하여, RBP 복호 방법은 정렬 기준값이 체크-변수 메시지를 토대로 산출되기 때문에, 체크 노드에서 변수 노드로 전달되는 메시지의 업데이트 과정이 추가적으로 필요하다. 특히 체크-변수 메시지가 업데이트 될 때, 이전 복호 과정에서 정렬 기준값(

Figure 112009012302360-pat00022
)이 산출될 때 이미 메시지 값
Figure 112009012302360-pat00023
이 산출되었음에도 불구하고 다시
Figure 112009012302360-pat00024
이 중복 산출되는 불필요한 단계가 발생한다. In addition, in the conventional decoding method, when the message to be sent from the variable node to the check node is updated, one decoding process is completed, whereas the RBP decoding method calculates the sorting reference value based on the check-variable message. An additional step is needed to update the message passed to the variable node. In particular, when the check-variable message is updated, the sort criteria (
Figure 112009012302360-pat00022
Is already a message value when
Figure 112009012302360-pat00023
Despite this was calculated again
Figure 112009012302360-pat00024
This redundant calculation takes place.

또한 각 메시지들의 정렬 기준값들이 산출될 때마다 선택되지 않은 메시지들(Q)을 불필요하게 재정렬하는 번거로움이 있다. 여기서 Q 는 정렬 기준값의 크기에 따라 정렬되며, 아직 업데이트 되지 않은 메시지들의 집합을 나타낸다. There is also the hassle of unnecessarily rearranging the unselected messages Q each time the sorting reference values of each message are calculated. Where Q is sorted by the size of the sort criterion and represents a set of messages that have not yet been updated.

따라서 본 발명의 실시 예에서는 에러 발생률을 감소시키면서 불필요한 과정을 수행하지 않는 LPDC 부호의 동적 스케줄링 기법을 이용한 복호 방법을 제공하고자 한다. 특히 본 발명의 실시 예에서는 스케줄링을 위한 정렬 기준값으로 변수 노드에서 체크 노드로 전달되는 메시지의 업데이트 전후 값들의 차이를 사용한다. Accordingly, an embodiment of the present invention is to provide a decoding method using a dynamic scheduling technique of LPDC code that does not perform an unnecessary process while reducing an error occurrence rate. In particular, the embodiment of the present invention uses the difference between the values before and after the update of the message transmitted from the variable node to the check node as an alignment reference value for scheduling.

도 2는 본 발명의 제1 실시 예에 따른 복호 과정을 나타낸 예시도이며, 도 3은 도 2에 따른 복호 과정을 수행하는 본 발명의 제1 실시 예에 따른 복호 방법의 흐름도이다. 본 발명의 제1 실시 예에 따른 복호 방법은, 변수-체크 RBP(variable-to-check RBP) 즉, VCRBP 방법이라고도 명명할 수 있다. 2 is an exemplary diagram illustrating a decoding process according to the first embodiment of the present invention, and FIG. 3 is a flowchart of the decoding method according to the first embodiment of the present invention for performing the decoding process according to FIG. 2. The decoding method according to the first embodiment of the present invention may also be referred to as a variable-to-check RBP (ie, VCRBP method).

먼저, 도 3에 도시되어 있듯이, 모든 체크-변수 메시지들의 값을 제1 값(여기서는 "0")으로 초기화(

Figure 112009012302360-pat00025
= 0) 하고, 또한 모든 변수-체크 메시지들의 값을 제2 값(여기서는
Figure 112009012302360-pat00026
이며, 이는 채널값을 나타낸다.)으로 초기화(
Figure 112009012302360-pat00027
) 한다(S100~S110). First, as shown in FIG. 3, the value of all check-variable messages is initialized to a first value (here “0”).
Figure 112009012302360-pat00025
= 0), and also the value of all variable-check messages to a second value (here
Figure 112009012302360-pat00026
, Which indicates the channel value.)
Figure 112009012302360-pat00027
(S100 ~ S110).

초기의 복호 과정에서는 이전에 수행된 복호 과정이 없으므로, 모든

Figure 112009012302360-pat00028
를 0으로 초기화 시켜준다 (S120). 단, 이때에는 해당 메시지를 업데이트 대상에서 제외시키지 않는다. 초기화 다음에는 최초 업데이트 될 변수-체크 메시지(
Figure 112009012302360-pat00029
) 를 임의로 정해준다. 예를 들어, 연결된 체크 노드의 수가 가장 많은 변수 노드의 변수-체크 메시지 중 하나를 선택한다. 그러나 그 이후부터는 가장 큰
Figure 112009012302360-pat00030
에 대응되는
Figure 112009012302360-pat00031
를 선택한다 (S130).In the initial decoding process, there is no previous decoding process, so all
Figure 112009012302360-pat00028
Initializes to 0 (S120). In this case, however, the message is not excluded from the update target. After initialization, the variable-check message to be updated first (
Figure 112009012302360-pat00029
) Is arbitrarily set. For example, select one of the variable-check messages of the variable node with the largest number of connected check nodes. But since then the biggest
Figure 112009012302360-pat00030
Corresponding to
Figure 112009012302360-pat00031
Select (S130).

선택된 변수-체크 메시지의 정렬 기준값을 0으로 하여(

Figure 112009012302360-pat00032
) 처리 대상에서 제외시킨다 (S140). 도 2의 (a)에서 처리 대상에서 제외된 메시지를 점선으로 표시하였다. Set the sort criterion value of the selected variable-check message to 0 (
Figure 112009012302360-pat00032
) To be excluded from the process (S140). In (a) of FIG. 2, a message excluded from the processing target is indicated by a dotted line.

그리고 모든

Figure 112009012302360-pat00033
를 갱신한다. 즉, j번째 체크 노드에 연결되어 있는 변수 노드들 중에서 i번째 변수 노드는 제외한 모든 변수 노드들(va)에 대하여, 체크-변수 메시지들의 값
Figure 112009012302360-pat00034
들을 산출한다 (S150). And all
Figure 112009012302360-pat00033
Update the. That is, for all the variable nodes v a except the i th variable node among the variable nodes connected to the j th check node, the value of the check-variable messages
Figure 112009012302360-pat00034
To calculate them (S150).

다음 도 2의 두번째 단계(b)에서와 같이, 모든

Figure 112009012302360-pat00035
를 갱신한다(S160). 즉, 변수 노드들(va)에 연결되어 있는 체크 노드들 중에서 제외 처리된 j번째 체크 노드를 제외한 체크 노드들(ca)에 대한 변수-체크 메시지들의 값
Figure 112009012302360-pat00036
들을 산출한다. Next, as in the second step (b) of FIG.
Figure 112009012302360-pat00035
Update (S160). That is, the value of the variable-check messages for the check nodes c a except the j th check node excluded from the check nodes connected to the variable nodes v a .
Figure 112009012302360-pat00036
Calculate them.

그리고 이후 복호 과정을 종료하기 위한 설정 조건이 만족되었는지를 판단하여 (S170), 설정 조건이 만족되지 않은 경우에는, 단계 (S160)에서 구해진 변수-체크 메시지들의 값을 토대로 업데이트 전후의 차이값인 정렬 기준값(

Figure 112009012302360-pat00037
)을 산출하고, 모든 변수-체크 메시지들의 정렬 기준값들 중에서 가장 큰 정렬 기준값을 찾는다 (S180).After that, it is determined whether the setting condition for ending the decoding process is satisfied (S170). If the setting condition is not satisfied, the alignment is a difference value before and after updating based on the values of the variable-check messages obtained in step S160. Reference value (
Figure 112009012302360-pat00037
), And find the largest sort criterion value among the sort criterion values of all the variable-check messages (S180).

본 발명의 실시 예에 따른 변수-체크 메시지들의 정렬 기준값은 다음과 같이 나타낼 수 있다. The sorting reference value of the variable-check messages according to an embodiment of the present invention may be expressed as follows.

[수학식 4]&Quot; (4) "

Figure 112009012302360-pat00038
Figure 112009012302360-pat00038

여기서,

Figure 112009012302360-pat00039
는 업데이트에 의하여 새로이 산출된 변수-체크 메시지의 값을 나타낸다. here,
Figure 112009012302360-pat00039
Denotes the value of the variable-check message newly calculated by the update.

위의 수학식 2에서와 같이, 체크-변수 메시지는 오직 하나 체크 노드에 관련된 체크식을 토대로 산출되지만, 변수-체크 메시지는 수학식 1과 같이 오직 하나를 제외한 나머지 모든 체크 노드들에 관련된 체크식을 토대로 산출된다. 따라서 본 발명의 실시 예에서는 더욱 높은 신뢰도를 가지는 메시지 즉, 변수-체크 메시지로부터획득한 정렬 기준값을 토대로, 더욱 정확하게 전체 부호를 복호할 수 있다. As in Equation 2 above, the check-variable message is calculated based on the check expression related to only one check node, but the variable-check message is related to all the check nodes except for one, as in Equation 1 Calculated based on Therefore, in the embodiment of the present invention, the entire code can be more accurately decoded based on the alignment reference value obtained from the message having higher reliability, that is, the variable-check message.

구체적으로, 위에 기술된 수학식 4를 토대로 모든 변수-체크 메시지들의

Figure 112009012302360-pat00040
들을 구한 다음에, 구해진
Figure 112009012302360-pat00041
들을 서로 비교한다. 결과에 따라 위의 단계 (S130~S170)를 반복 수행한다.Specifically, all of the variable-check messages are based on Equation 4 described above.
Figure 112009012302360-pat00040
After saving them,
Figure 112009012302360-pat00041
Compare them to each other. Repeat the above steps (S130 ~ S170) according to the result.

그리고 설정 조건이 만족되면 복호 과정을 종료한다 (S190),If the setting condition is satisfied, the decoding process is terminated (S190).

위에 기술된 바와 같은 본 발명의 제1 실시 예에 따르면, 오직 하나를 제외한 나머지 모든 체크 노드들에 관련된 체크식에 근거하고 있는 변수-체크 메시지들로부터 정렬 기준값을 산출하여, 더욱 신뢰성 있게 전체 부호를 복호할 수 있다. According to the first embodiment of the present invention as described above, the alignment reference value is calculated from the variable-check messages based on the check expressions related to all the check nodes except one, so that the entire code is more reliably obtained. It can be decoded.

한편 위에 기술된 바와 같은 본 발명의 제1 실시 예에 따른 복호 방법은, 메시지의 업데이트 전후의 차이가 가장 큰 메시지(또는 에지)를 선택한다. 이로 인하여, 한 번에 하나의 메시지 즉, 에지가 선택되며, 한번의 복호 과정이 끝나기 위해서는 모든 에지가 선택되어야 한다. 예를 들어, 전체 변수 노드의 개수를 N 개라 하고 각 변수 노드가 갖는 평균 에지의 개수를 나타내는 디그리(degree)를 dv 라 하면, 전체 한 번의 복호 과정을 끝내기 위해서는

Figure 112009012302360-pat00042
회의 메시지(또는 에지)를 선택하는 과정이 필요하게 된다. Meanwhile, the decoding method according to the first embodiment of the present invention as described above selects the message (or edge) having the largest difference before and after updating the message. Because of this, one message at a time, i.e., an edge, is selected, and all edges must be selected in order to complete one decoding process. For example, if the total number of variable nodes is N and the degree representing the average number of edges of each variable node is d v , to complete the entire decoding process,
Figure 112009012302360-pat00042
The process of selecting a conference message (or edge) is required.

이에 따라 본 발명의 제2 실시 예에서는 위의 제1 실시 예와 같이 복호를 수행하면서도 메시지를 선택하는 과정을 감소시킬 수 있는 복호 방법에 대하여 설명한다. Accordingly, the second embodiment of the present invention describes a decoding method that can reduce the process of selecting a message while performing decoding as in the first embodiment.

본 발명의 제2 실시 예에서는, 가장 큰 정렬 기준값을 가지는 변수-체크 메시지가 선택되면, 그에 해당하는 변수 노드에 연결된 모든 에지를 통해서 메시지의 전달이 한꺼번에 일어난다. 그 결과 한 번의 반복 복호 과정 내에서 이루어지는 변수-체크 메시지 선택의 회수가 N번으로 감소한다. In the second embodiment of the present invention, when the variable-check message having the largest alignment criterion value is selected, delivery of the message occurs all at once through all edges connected to the corresponding variable node. As a result, the number of variable-check message selections made in one iterative decoding process is reduced to N times.

구체적으로, 스케줄링은 기본적으로 업데이트 전후의 메시지 값의 차이가 큰 변수 노드와 체크 노드의 쌍을 선택하는 것을 토대로 이루어지는데, 변수-체크 메시지의 업데이트 전후의 값의 차이가 크다는 것은, 이전 복호 과정에서 해당 변수 노드가 업데이트되어 그 변수 노드에서 나오는 메시지 값이 크게 변했다는 것을 의미한다. 따라서 해당 변수 노드에 연결된 에지를 통하여 전달되는 변수-체크 메시 지가 가장 큰 정렬 기준값을 가져서 선택되었다면, 상기 변수 노드에 연결된 다른 에지를 통하여 전달될 변수-체크 메시지들도 큰 정렬 기준값을 가질 확률이 크기 때문에 선택될 가능성이 높다. 따라서 본 발명의 제2 실시 예에서는 가장 큰 정렬 기준값을 가지는 에지 즉, 변수-체크 메시지가 선택되면, 해당 메시지에 대응하는 변수 노드와 연결된 다른 모든 에지들을 통해 전달된 변수-체크 메시지들도 업데이트한다. Specifically, the scheduling is basically based on selecting a pair of variable nodes and check nodes having a large difference in message values before and after the update, and a large difference in values before and after the update of the variable-check message is determined in the previous decoding process. The variable node has been updated, which means that the message value from that variable node has changed significantly. Therefore, if the variable-check message sent through the edge connected to the corresponding variable node has been selected with the largest alignment criterion, the variable-check messages to be delivered through the other edge connected to the variable node are also likely to have a large alignment reference. Is likely to be selected. Therefore, in the second embodiment of the present invention, when the edge having the largest alignment reference value, that is, the variable-check message is selected, the variable-check messages transmitted through all other edges connected to the variable node corresponding to the message are also updated. .

도 4는 본 발명의 제2 실시 예에 따른 복호 과정을 나타낸 예시도이며, 도 5는 도 4에 따른 복호 과정을 수행하는 본 발명의 제2 실시 예에 따른 복호 방법의 흐름도이다. 본 발명의 제2 실시 예에 따른 복호 방법은, 노드-와이즈(node-wise) VCRBP 즉, NVCRBP 방법이라고도 명명될 수 있다. 4 is an exemplary diagram illustrating a decoding process according to the second embodiment of the present invention, and FIG. 5 is a flowchart of a decoding method according to the second embodiment of the present invention for performing the decoding process according to FIG. 4. The decoding method according to the second embodiment of the present invention may also be referred to as a node-wise VCRBP, that is, an NVCRBP method.

먼저, 도 5에 도시되어 있듯이, 모든 체크-변수 메시지들의 값을 제1 값(여기서는 "0")으로 초기화(

Figure 112009012302360-pat00043
= 0) 하고, 또한 모든 변수-체크 메시지들의 값을 제2 값(여기서는 "
Figure 112009012302360-pat00044
")으로 초기화(
Figure 112009012302360-pat00045
) 한다 (S300~S310). First, as shown in FIG. 5, the value of all check-variable messages is initialized to a first value (here “0”).
Figure 112009012302360-pat00043
= 0), and also sets the value of all variable-check messages to a second value (here "
Figure 112009012302360-pat00044
To ""
Figure 112009012302360-pat00045
(S300 ~ S310).

초기의 복호 과정에서는 이전에 수행된 복호 과정이 없으므로, 모든

Figure 112009012302360-pat00046
를 0으로 초기화 시켜준다 (S320). 단, 이때에는 해당 메시지를 업데이트 대상에서 제외시키지 않는다. 초기화 다음에는 최초 업데이트 될 변수-체크 메시지(
Figure 112009012302360-pat00047
) 를 임의로 정해준다. 예를 들어, 연결된 체크 노드의 수가 가장 많은 변수 노드의 변수-체크 메시지 중 하나를 선택한다. 그러나 그 이후부터는 가장 큰
Figure 112009012302360-pat00048
에 대응되는
Figure 112009012302360-pat00049
를 선택한다 (S330).In the initial decoding process, there is no previous decoding process, so all
Figure 112009012302360-pat00046
Initializes to 0 (S320). In this case, however, the message is not excluded from the update target. After initialization, the variable-check message to be updated first (
Figure 112009012302360-pat00047
) Is arbitrarily set. For example, select one of the variable-check messages of the variable node with the largest number of connected check nodes. But since then the biggest
Figure 112009012302360-pat00048
Corresponding to
Figure 112009012302360-pat00049
Select (S330).

그리고 모든

Figure 112009012302360-pat00050
를 갱신한다. 즉, 위의 단계 (S330)에서 찾은 변수 노드(vi)에 연결되어 있는 모든 체크 노드들(ca)들로 전송될 변수-체크 메시지들(
Figure 112009012302360-pat00051
)을 업데이트한다. 그리고 변수-체크 메시지들(
Figure 112009012302360-pat00052
)들의
Figure 112009012302360-pat00053
값을 0으로 하여 처리 대상에서 제외시킨다 (S340). 이와 같이 본 발명의 제2 실시 예에서는 선택된 변수 노드(vi)에 에지로 연결되어 있는 모든 체크 노드들(ca)들에 대한 변수-체크 메시지들을 모두 업데이트하고 처리 대상에서 제외시킴으로써, 다음 반복 단계에서 변수 노드(vi)에 연결된 또 다른 에지가 선택되지 않도록 한다. 그 결과, 한 번의 반복 과정 내에 이루어지는 에지 선택의 회수를 감소시켜 복호 속도를 보다 향상시킬 수 있다. And all
Figure 112009012302360-pat00050
Update the. That is, the variable-check messages to be transmitted to all the check nodes c a connected to the variable node v i found in step S330 above (
Figure 112009012302360-pat00051
). And variable-check messages (
Figure 112009012302360-pat00052
)field
Figure 112009012302360-pat00053
A value of 0 is excluded from the processing target (S340). As described above, according to the second embodiment of the present invention, all the variable-check messages for all the check nodes c a connected to the edge of the selected variable node v i are updated and excluded from the processing. Ensure that no other edge connected to the variable node v i is selected in the step. As a result, the decoding speed can be further improved by reducing the number of edge selections made in one iteration process.

다음 도 4 단계 (a)에 도시된 바와 같이, 모든

Figure 112009012302360-pat00054
를 갱신한다. 즉, 업데이트된
Figure 112009012302360-pat00055
값을 기반으로 체크 노드(ca)들에 에지로 연결되어 있는 변수 노드들 중에서 선택된 i번째 변수 노드(vi)를 제외한 변수 노드(vb)들로 보내지는 체크-변수 메시지들
Figure 112009012302360-pat00056
의 값을 산출한다 (S350).As shown in FIG. 4 (a) below, all
Figure 112009012302360-pat00054
Update the. That is, updated
Figure 112009012302360-pat00055
Check-variable messages sent to the variable nodes (v b ) except the i th variable node (v i ) among the variable nodes edged to the check nodes (c a ) based on the value.
Figure 112009012302360-pat00056
Calculate the value of (S350).

이후, 도 4 단계(b)와 도 5에 도시된 바와 같이,

Figure 112009012302360-pat00057
즉, 모든 변수 노드(vb)들에 연결되어 있는 체크 노드들 중에서 선택된 변수 노드(vi)에 에지로 연결되어 있는 체크 노드들(ca)을 제외한 모든 체크 노드들(cb)에 대한, 변수-체크 메시지들
Figure 112009012302360-pat00058
를 산출한다 (S360). Thereafter, as shown in FIG. 4B and FIG. 5,
Figure 112009012302360-pat00057
That is, for all the check nodes c b except for the check nodes c a connected to the edge of the selected variable node v i among the check nodes connected to all the variable nodes v b . , Variable-checked messages
Figure 112009012302360-pat00058
To calculate (S360).

그리고 이후 복호 과정을 종료하기 위한 설정 조건이 만족되었는지를 판단하고 (S370), 설정 조건이 만족되지 않은 경우에는, 단계 (S360)에서 구해진

Figure 112009012302360-pat00059
를 토대로 업데이트 전후의 값의 차이인 정렬 기준값
Figure 112009012302360-pat00060
을 구하고, 모든
Figure 112009012302360-pat00061
들을 서로 비교한다 (S380). 결과에 따라 위의 단계(S330~S370)를 반복 수행한다.After that, it is determined whether the setting condition for ending the decoding process is satisfied (S370), and when the setting condition is not satisfied, it is obtained in step S360.
Figure 112009012302360-pat00059
Based on the difference in the values before and after the update
Figure 112009012302360-pat00060
Save all,
Figure 112009012302360-pat00061
Compare them to each other (S380). Repeat the above steps (S330 ~ S370) according to the result.

그리고 설정 조건이 만족되면 복호 과정을 종료한다 (S390),If the setting condition is satisfied, the decoding process is terminated (S390).

위에 기술된 바와 같은 본 발명의 실시 예들에 따른 복호 방법들은 다음과 같은 구조로 이루어지는 복호 장치를 통하여 구현될 수 있다. Decoding methods according to embodiments of the present invention as described above may be implemented through a decoding device having the following structure.

본 발명의 실시 예에 따른 복호 장치는 패리티 검사 행렬과 태너 그래프를 이용해서 본 발명의 실시 예에 따른 복호 방법들을 토대로 입력되는 수신 신호에 대한 복호를 수행한다. 입력되는 수신 신호는 복호되기 위해 길이 n의 부호어로 처리될 수 있다. 검사 행렬은 태너 그래프로 표현될 수 있다. 행의 수만큼의 체크 노드들이 만들어지고, 열의 개수만큼의 변수 노드들이 만들어져서 태너 그래프를 형성한다. 만일 행렬의 (i,j) 원소가 1이면 i번째 체크 노드와 j번째 변수 노드가 에지로 연결되어 서로 이웃하는 노드들이 된다. A decoding apparatus according to an embodiment of the present invention performs decoding on a received signal based on decoding methods according to an embodiment of the present invention using a parity check matrix and a Tanner graph. The received received signal may be processed as a codeword of length n to be decoded. The test matrix may be represented as a Tanner graph. As many check nodes are created as the number of rows, and as many variable nodes as the number of columns are created to form the Tanner graph. If the (i, j) element of the matrix is 1, the i th check node and the j th variable node are connected by edges to become neighboring nodes.

도 6은 본 발명의 실시 예에 따른 복호 장치의 구조도이다. 6 is a structural diagram of a decoding apparatus according to an embodiment of the present invention.

본 발명의 실시 예에 따른 복호 장치는 첨부한 도 6에서와 같이, 모든 변수 노드에서 모든 체크 노드로 전달되는 메시지들을 초기화하고, 모든 체크 노드에서 모든 변수 노드로 전달되는 메시지들을 초기화 하는 초기화부(10), 변수 노드에서 체크 노드로 전달되는 메시지들의 업데이트를 수행하는 체크 노드 업데이트부(20), 체크 노드에서 변수 노드로 전달되는 메시지들의 업데이트를 수행하는 변수 노드 업데이트부(30), 스케줄링을 위한 정렬 기준값 즉, 변수-체크 메시지들의 업데이트 전후의 값들의 차이를 산출하는 기준값 산출부(40), 산출된 정렬 기준값들을 토대로 소정의 변수-체크 메시지를 선택하고 그에 따라, 체크 노드 업데이트부(20), 변수 노드 업데이트부(30)을 동작시켜 복호를 수행하는 처리부(50)을 포함하며, 이외에도 체크 노드 업데이트부(20), 변수 노드 업데이트부(30)에 의한 업데이트 결과가 저장되는 메모리(60)를 더 포함할 수 있다. Decoding apparatus according to an embodiment of the present invention, as shown in Figure 6, the initialization unit for initializing the messages delivered to all the check nodes from all variable nodes, and initializes the messages delivered to all the variable nodes from all check nodes ( 10), the check node update unit 20 for updating the messages transmitted from the variable node to the check node, the variable node update unit 30 for updating the messages transferred from the check node to the variable node, for scheduling The reference value calculator 40 calculates a difference between the sorting reference values, that is, the values before and after the update of the variable-check messages, selects a predetermined variable-check message based on the calculated sorting reference values, and accordingly, checks node updating unit 20. And a processing unit 50 for operating the variable node updating unit 30 to perform decoding. 20, a variable node is an update result of the update unit 30 may further include a memory 60 to be stored.

처리부(50)는 위에 기술된 바와 같은 복호 방법들을 토대로 업데이트 전후의 값들의 차이가 가장 큰 변수-체크 메시지를 선택하고 이를 토대로 체크 노드 업데이트부(20), 변수 노드 업데이트부(30)을 동작시켜, 상기 선택된 변수-체크 메시지에 대응하는 에지에 연결된 다른 체크 노드들을 업데이트하거나, 상기 선택된 변수-체크 메시지에 대응하는 변수 노드에 연결되어 있는 모든 변수-체크 메시지들을 업데이트하는 방식으로 복호를 수행한다. The processor 50 selects the variable-check message having the largest difference between the values before and after the update based on the decoding methods as described above, and operates the check node update unit 20 and the variable node update unit 30 based on the result. The decoding is performed by updating other check nodes connected to the edge corresponding to the selected variable-check message or updating all variable-check messages connected to the variable node corresponding to the selected variable-check message.

위에 기술된 바와 같은 복호 장치에 대하여 본 발명의 실시 예들에 따른 복호 방법을 적용하여 모의 실험한 결과 다음과 같은 결과를 얻을 수 있었다. As a result of simulation by applying the decoding method according to the embodiments of the present invention to the decoding device as described above, the following results were obtained.

도 7은 본 발명의 제1 실시 예에 따른 복호 방법(VCRBP)의 성능을 기존의 복호 방법들(BP, LBP, RBP)들과 비교하여 나타낸 그래프이다. 특히 도 7은 IEEE 802.16e 표준의 부호길이 576, 부호율 1/2인 부호를 사용하고 최대 반복횟수를 8번으로 고정한 경우, 각 방법들에 따른 프레임 에러율(FER: frame error rate)를 나타낸 그래프이다. 첨부한 도 7를 참조하면, 본 발명의 제1 실시 예에 따른 복호 방법(VCRBP)은 기존의 복호 방법들 중 가장 우수한 RBP에 비하여 FER 10-4에서 0.3dB 정도의 성능 개선을 나타냄을 알 수 있다. 7 is a graph showing the performance of the decoding method (VCRBP) according to the first embodiment of the present invention compared with the conventional decoding methods (BP, LBP, RBP). In particular, FIG. 7 is a graph showing a frame error rate (FER) according to each method when the code length 576 and the code rate 1/2 of the IEEE 802.16e standard are used and the maximum number of repetitions is fixed to eight. to be. Referring to FIG. 7, it can be seen that the decoding method (VCRBP) according to the first embodiment of the present invention shows a performance improvement of about 0.3 dB at FER 10 -4 compared to the best RBP among the existing decoding methods. have.

도 8은 본 발명의 제1 및 제2 실시 예에 따른 복호 방법(VCRBP, NVCRBP)의 성능을 기존의 복호 방법들(BP, LBP, RBP)들과 비교하여 나타낸 그래프이다. 특히 도 8은 IEEE 802.16e 표준의 부호길이 576, 부호율1/2인 부호를 사용하고 최대 반복횟수를 8번으로 고정한 경우, 각 방법들에 따른 FER을 나타낸 그래프이다. 첨부한 도 8을 참조하면, 본 발명의 제2 실시 예에 따른 복호 방법(NVCRBP)은 정렬 기준값 비교 횟수를 감소시켰음에도 불구하고 낮은 복잡도를 가지고, 본 발명의 제1 실시 예에 따른 복호 방법(VCRBP)과는 유사한 성능을 보이고, 기존의 방법들에 비해서는 우수한 성능 개선을 보이고 있음을 알 수 있다.8 is a graph illustrating the performance of the decoding methods (VCRBP, NVCRBP) according to the first and second embodiments of the present invention compared with the conventional decoding methods (BP, LBP, RBP). In particular, Figure 8 is a graph showing the FER according to each method when using a code length 576, code rate 1/2 of the IEEE 802.16e standard and fixed the maximum number of repetitions to eight. Referring to FIG. 8, the decoding method NVCRBP according to the second embodiment of the present invention has a low complexity even though the number of comparison of the reference values is reduced, and the decoding method according to the first embodiment of the present invention The performance is similar to that of VCRBP), and compared to the existing methods, the performance is excellent.

도 9는 본 발명의 제1 실시 예에 따른 복호 방법(VCRBP)의 근사 연사량을 기존의 복호 방법들(BP, LBP, RBP)들과 비교하여 나타낸 도이다. 도 9에서는 각 복호 방법의 연산량을 비교함에 있어서, 위의 수학식 1에 해당되는 변수-체크 메시지 함수에 비하여 수학식 2에 해당되는 체크-변수 메시지 함수의 복잡도가 훨씬 크기 때 문에, 각 복호 방법에서 체크-변수 메시지가 산출되는 횟수로 근사 연산량을 산출하였다. 첨부한 도 9를 참조하면, 본 발명의 제1 실시 예에 따른 복호 방법(VCRBP)의 연산량이 기존의 복호 방법(RBP) 에 비하여 적음을 알 수 있다. 9 is a diagram illustrating an approximate continuous firing amount of the decoding method VCRBP according to the first embodiment of the present invention in comparison with the conventional decoding methods BP, LBP, and RBP. In FIG. 9, since the complexity of the check-variable message function corresponding to Equation 2 is much greater than that of the variable-check message function corresponding to Equation 1 above, in comparing the calculation amounts of the respective decoding methods, In the method, the approximate amount of calculation is calculated by the number of times the check-variable message is calculated. Referring to FIG. 9, it can be seen that the calculation amount of the decoding method VCRBP according to the first embodiment of the present invention is smaller than that of the conventional decoding method RBP.

도 10은 도 9의 연산량 식에 근거하여 동일한 연산량을 가질때, 본 발명의 제1 실시 예에 따른 복호 방법(VCRBP)의 성능을 기존의 복호 방법들(BP, LBP, RBP)들과 비교하여 나타낸 그래프이다. 도 10에서는 IEEE 802.16e 표준의 부호길이 576, 부호율1/2인 부호를 사용하고 최대 반복횟수를 각각 228, 12, 38번으로 고정하여 FER 성능을 비교하였다. 도 10을 참조하면, 같은 연산량 대비 본 발명의 제1 실시 예에 따른 복호 방법(VCRBP)이 탁월한 성능을 가짐을 알 수 있다. FIG. 10 illustrates the performance of the decoding method VCRBP according to the first embodiment of the present invention in comparison with the existing decoding methods BP, LBP, and RBP when the same amount of calculation is performed based on the calculation amount formula of FIG. 9. It is a graph. In FIG. 10, FER performance was compared by using a code length 576 and a code rate 1/2 of the IEEE 802.16e standard and fixing the maximum number of repetitions to 228, 12, and 38, respectively. Referring to FIG. 10, it can be seen that the decoding method VCRBP according to the first embodiment of the present invention has excellent performance compared to the same amount of calculation.

이상에서 설명한 본 발명의 실시 예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다. The embodiments of the present invention described above are not only implemented by the apparatus and method but may be implemented through a program for realizing the function corresponding to the configuration of the embodiment of the present invention or a recording medium on which the program is recorded, The embodiments can be easily implemented by those skilled in the art from the description of the embodiments described above.

이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, It belongs to the scope of right.

도 1은 LDPC 부호의 기존의 동적 스케줄링 기법을 이용한 복호 과정을 나타낸 도이다. 1 is a diagram illustrating a decoding process using an existing dynamic scheduling scheme of an LDPC code.

도 2는 본 발명의 제1 실시 예에 따른 복호 과정을 나타낸 도이다. 2 is a diagram illustrating a decoding process according to a first embodiment of the present invention.

도 3은 본 발명의 제1 실시 예에 따른 복호 방법을 나타낸 흐름도이다. 3 is a flowchart illustrating a decoding method according to a first embodiment of the present invention.

도 4는 본 발명의 제2 실시 예에 따른 복호 과정을 나타낸 도이다. 4 is a diagram illustrating a decoding process according to a second embodiment of the present invention.

도 5는 본 발명의 제2 실시 예에 따른 복호 방법을 나타낸 흐름도이다. 5 is a flowchart illustrating a decoding method according to a second embodiment of the present invention.

도 6은 본 발명의 실시 예에 따른 복호 장치의 구조를 나타낸 도이다. 6 is a diagram showing the structure of a decoding apparatus according to an embodiment of the present invention.

도 7은 본 발명의 제1 실시 예에 따른 복호 방법의 성능을 기존의 복호 방법들과 비교하여 나타낸 그래프이다. 7 is a graph showing the performance of the decoding method according to the first embodiment of the present invention in comparison with the conventional decoding methods.

도 8은 본 발명의 제1 및 제2 실시 예에 따른 복호 방법의 성능을 기존의 복호 방법들과 비교하여 나타낸 그래프이다. 8 is a graph showing the performance of the decoding method according to the first and second embodiments of the present invention in comparison with the conventional decoding methods.

도 9는 본 발명의 제1 실시 예에 따른 복호 방법의 근사 연사량을 기존의 복호 방법들과 비교하여 나타낸 도이다.9 is a diagram showing an approximate continuous firing amount of the decoding method according to the first embodiment of the present invention in comparison with conventional decoding methods.

도 10은 도 9의 연산량 식에 근거하여 동일한 연산량을 가질때, 본 발명의 제1 실시 예에 따른 복호 방법의 성능을 기존의 복호 방법들과 비교하여 나타낸 그래프이다. FIG. 10 is a graph illustrating performance of a decoding method according to the first embodiment of the present invention compared with conventional decoding methods when having the same calculation amount based on the calculation amount formula of FIG. 9.

Claims (15)

패리티 검사 행렬로부터 복수의 체크 노드와 변수 노드를 정의하고 이를 토대로 복호를 수행하는 방법에서,In a method of defining a plurality of check nodes and variable nodes from a parity check matrix and performing decoding based on the check nodes, 변수 노드에서 체크 노드로 전달되는 모든 변수-체크 메시지의 정렬 기준값들을 비교하여 가장 큰 정렬 기준값을 가지는 변수-체크 메시지를 선택하며, 상기 선택된 변수-체크 메시지는 제1 변수 노드에서 제1 체크 노드로 전달되는 단계;Compares the sorting reference values of all variable-check messages passed from the variable node to the check node to select the variable-check message having the largest sorting reference value, wherein the selected variable-check message is passed from the first variable node to the first check node. Delivered; 상기 제1 체크 노드에 연결된 모든 제2 변수 노드에 대하여, 상기 제1 체크 노드에서 제2 변수 노드로 전달되는 체크-변수 메시지를 업데이트하는 단계; 및Updating a check-variable message passed from the first check node to a second variable node for all second variable nodes connected to the first check node; And 상기 제2 변수 노드에 연결된 모든 제2 체크 노드에 대하여, 상기 업데이트된 체크-변수 메시지를 토대로 상기 제2 변수 노드에서 상기 제2 체크 노드로 전달되는 변수-체크 메시지의 정렬 기준값을 산출하는 단계Calculating, for all second check nodes connected to the second variable node, an alignment criterion value of the variable-check message transmitted from the second variable node to the second check node based on the updated check-variable message. 를 포함하는 복호 방법.Decoding method comprising a. 제1항에 있어서,The method of claim 1, 상기 선택된 변수-체크 메시지는 하나의 제1 변수 노드에서 하나의 제1 체크 노드로 전달되는 메시지이며,The selected variable-check message is a message transferred from one first variable node to one first check node, 상기 체크-변수 메시지를 업데이트 하는 단계는 상기 하나의 제1 체크 노드에서 상기 모든 제2 변수 노드에 전달되는 체크-변수 메시지들을 업데이트 하는, 복호 방법.Updating the check-variable message updates the check-variable messages delivered to all the second variable nodes in the one first check node. 제2항에 있어서,3. The method of claim 2, 상기 선택된 변수-체크 메시지의 정렬 기준값을 설정값으로 초기화시켜, 처리 대상에서 제외시키는 단계를 더 포함하는, 복호 방법.And initializing the sorting reference value of the selected variable-check message to a set value and excluding it from processing. 제1항에 있어서The method of claim 1 상기 선택된 변수-체크 메시지에 연결된 제1 변수 노드를 찾는 단계; 및Finding a first variable node coupled to the selected variable-check message; And 상기 제1 변수 노드에서, 상기 제1 변수 노드에 연결된 모든 제1 체크 노드로 전달되는 변수-체크 메시지들을 모두 업데이트하는 단계Updating, at the first variable node, all variable-check messages sent to all first check nodes connected to the first variable node 를 더 포함하는, 복호 방법.Decoding method further comprising. 제4항에 있어서,5. The method of claim 4, 상기 제1 변수 노드에 연결된 모든 제1 체크 노드로 전달되는 변수-체크 메시지들의 정렬 기준값들을 설정값으로 초기화시켜, 처리 대상에서 제외시키는 단계를 더 포함하는, 복호 방법.And initializing the sorting reference values of the variable-check messages sent to all the first check nodes connected to the first variable node to a set value, and excluding them from the processing object. 삭제delete 제3항 또는 제5항에 있어서The method according to claim 3 or 5 상기 복호 방법은 상기 단계들을 순차적으로 복수회 반복 수행하며, The decoding method repeats the steps sequentially a plurality of times, 이후 반복 수행시에 In subsequent iterations 상기 전달되는 단계에서, 상기 정렬 기준값이 초기화된 변수-체크 메시지를 제외하고, 나머지 변수-체크 메시지들 중에서 가장 큰 정렬 기준값을 가지는 변수-체크 메시지가 선택되는, 복호 방법.And in the forwarding step, a variable-check message having the largest sorting reference value among remaining variable-check messages is selected except for the variable-check message in which the sorting reference value is initialized. 삭제delete 제1항 내지 제5항 중 어느 한 항에 있어서,6. The method according to any one of claims 1 to 5, 상기 전달되는 단계 이전에, Prior to the step of delivering, 변수 노드에서 체크 노드로 전달되는 변수-체크 메시지들을 초기화하는 단계; 및Initiating variable-check messages passed from the variable node to the check node; And 체크 노드에서 변수 노드로 전달되는 체크-변수 메시지들을 초기화하는 단계Initializing check-variable messages passed from the check node to the variable node 를 더 포함하는, 복호 방법.Decoding method further comprising. 제9항에 있어서The method of claim 9 상기 변수-체크 메시지들을 수신 신호를 수신한 채널 특성에 대응하는 값으로 초기화 하고, 상기 체크-변수 메시지들을 0으로 초기화하는, 복호 방법.And initialize the variable-check messages to a value corresponding to a received channel characteristic of the received signal and initialize the check-variable messages to zero. 패리티 검사 행렬로부터 복수의 체크 노드와 변수 노드를 정의하고 이를 토대로 복호를 수행하는 장치에서,In an apparatus for defining a plurality of check nodes and variable nodes from a parity check matrix and performing decoding based on the check nodes, 변수 노드에서 체크 노드로 전달되는 변수-체크 메시지들을 초기화하고, 체크 노드에서 변수 노드로 전달되는 체크-변수 메시지들을 초기화하는 초기화부;An initialization unit for initializing variable-check messages transmitted from the variable node to the check node and initializing check-variable messages transferred from the check node to the variable node; 변수 노드에서 체크 노드로 전달되는 변수-체크 메시지들을 업데이트하는 체크 노드 업데이트부;A check node updating unit for updating variable-check messages transmitted from the variable node to the check node; 체크 노드에서 변수 노드로 전달되는 체크-변수 메시지들을 업데이트하는 변수 노드 업데이트부; 및A variable node updater for updating check-variable messages transmitted from the check node to the variable node; And 상기 모든 변수-체크 메시지의 정렬 기준값들을 비교하여 가장 큰 정렬 기준값을 가지며 제1 변수 노드에서 제1 체크 노드로 전달되는 변수-체크 메시지를 선택하는 처리부A processing unit for comparing the variable reference values of all the variable-check messages and selecting the variable-check message having the largest alignment reference value and transmitted from the first variable node to the first check node 를 포함하고,Including, 상기 변수 노드 업데이트부는 상기 처리부의 제어에 따라, 상기 제1 체크 노드에 연결된 모든 제2 변수 노드에 대하여, 상기 제1 체크 노드에서 제2 변수 노드로 전달되는 체크-변수 메시지를 업데이트하고,The variable node updater updates the check-variable message transmitted from the first check node to the second variable node for all second variable nodes connected to the first check node, under the control of the processor. 상기 체크 노드 업데이트부는 상기 제2 변수 노드에 연결된 모든 제2 체크 노드에 대하여, 상기 업데이트된 체크-변수 메시지를 토대로 상기 제2 변수 노드에 서 상기 제2 체크 노드로 전달되는 변수-체크 메시지의 정렬 기준값을 산출하는, The check node updating unit arranges the variable-check message transmitted from the second variable node to the second check node based on the updated check-variable message for all second check nodes connected to the second variable node. To calculate the reference value, 복호 장치.Decoding device. 제11항에 있어서The method of claim 11, 상기 처리부는, 상기 선택된 변수-체크 메시지에 연결된 제1 변수 노드를 찾고, The processing unit finds a first variable node connected to the selected variable-check message, 상기 체크 노드 업데이트부는, 상기 제1 변수 노드에서, 상기 제1 변수 노드에 연결된 모든 제1 체크 노드로 전달되는 변수-체크 메시지들을 모두 업데이트하는, 복호 장치.And the check node updating unit updates all of the variable-check messages transmitted from the first variable node to all the first check nodes connected to the first variable node. 제12항에 있어서The method of claim 12, 상기 변수 노드 업데이트부는 상기 모든 제1 체크 노드에서 상기 모든 제2 변수 노드로 각각 전달되는 체크-변수 메시지들을 업데이트 하는, 복호 장치.And the variable node updater updates check-variable messages respectively transmitted from all first check nodes to all second variable nodes. 제12항에 있어서The method of claim 12, 상기 처리부는, The processing unit, 선택된 변수-체크 메시지의 정렬 기준값을 설정값으로 초기화시키거나, 상기 제1 변수 노드에 연결된 모든 제1 체크 노드로 전달되는 변수-체크 메시지들의 정렬 기준값들을 설정값으로 초기화시켜, 처리 대상에서 제외시키는, 복호 장치.Initialize the sorting reference value of the selected variable-check message to a setting value, or initialize the sorting reference values of the variable-checking messages transmitted to all the first check nodes connected to the first variable node to the setting value and exclude them from processing. , Decoding device. 제11항 내지 제14항 중 어느 한 항에 있어서The method according to any one of claims 11 to 14. 상기 정렬 기준값은 해당 변수-체크 메시지가 업데이트 되기 전의 값에서 상기 변수-체크 메시지가 업데이트 된 후의 값을 감산한 값의 절대값인, 복호 장치.And the sorting reference value is an absolute value of a value obtained by subtracting a value after the variable-check message is updated from a value before the variable-check message is updated.
KR1020090016799A 2008-12-12 2009-02-27 method for decoding using dynamic scheduling scheme for low density parity check codes and apparatus thereof KR101206434B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/497,114 US8347172B2 (en) 2008-12-12 2009-07-02 Method for decoding using dynamic scheduling scheme for low density parity check codes and apparatus thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20080126676 2008-12-12
KR1020080126676 2008-12-12

Publications (2)

Publication Number Publication Date
KR20100068146A KR20100068146A (en) 2010-06-22
KR101206434B1 true KR101206434B1 (en) 2012-11-29

Family

ID=42366639

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090016799A KR101206434B1 (en) 2008-12-12 2009-02-27 method for decoding using dynamic scheduling scheme for low density parity check codes and apparatus thereof

Country Status (1)

Country Link
KR (1) KR101206434B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101699749B1 (en) * 2015-10-06 2017-01-25 조선대학교산학협력단 Method for improved belief propagation decoding for short polar codes and the apparatus therefor

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100703271B1 (en) 2004-11-23 2007-04-03 삼성전자주식회사 Decoding Method and Apparatus of Low Density Parity Code Using Unified processing
KR100899738B1 (en) 2006-02-02 2009-05-27 삼성전자주식회사 Ldpc decoder and decoding based on node memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100703271B1 (en) 2004-11-23 2007-04-03 삼성전자주식회사 Decoding Method and Apparatus of Low Density Parity Code Using Unified processing
KR100899738B1 (en) 2006-02-02 2009-05-27 삼성전자주식회사 Ldpc decoder and decoding based on node memory

Also Published As

Publication number Publication date
KR20100068146A (en) 2010-06-22

Similar Documents

Publication Publication Date Title
US8321747B2 (en) QC-LDPC code decoder and corresponding decoding method
KR100891782B1 (en) Apparatus and method for correcting of forward error in high data transmission system
KR100899738B1 (en) Ldpc decoder and decoding based on node memory
JP5199255B2 (en) Decoding method by message passing using scheduling depending on neighborhood reliability
CN102412847B (en) Method and apparatus for decoding low density parity check code using united node processing
JP4199279B2 (en) Encoding method of low density parity check code
AU2005222533B2 (en) Method and apparatus for efficiently decoding low density parity check code
KR100804793B1 (en) Method for updating Check Node in Low Density Parity Check Decoder
US9467172B1 (en) Forward error correction decoder and method therefor
KR101718543B1 (en) Apparatus and method for decoding using improved bit-flipping algorithm for low density parity check code and recording medium for the same
CN106803759A (en) Polar yards of effective adaptive decoding method based on Gauss construction
US20120246536A1 (en) Ldpc selective decoding scheduling using a cost function
US8347172B2 (en) Method for decoding using dynamic scheduling scheme for low density parity check codes and apparatus thereof
CN107565978B (en) BP decoding method based on Tanner graph edge scheduling strategy
US10892783B2 (en) Apparatus and method for decoding polar codes
Nachmani et al. Near maximum likelihood decoding with deep learning
US20200091933A1 (en) Iterative decoding with early termination criterion that permits errors in redundancy part
Hatami et al. A threshold-based min-sum algorithm to lower the error floors of quantized LDPC decoders
CN101106383A (en) A low density checksum decoding method
KR101206434B1 (en) method for decoding using dynamic scheduling scheme for low density parity check codes and apparatus thereof
CN110212922B (en) Polarization code self-adaptive decoding method and system
KR20210099388A (en) Ldpc decoding method and ldpc decoding apparatus
Benhayoun et al. Low‐Complexity LDPC Decoding Algorithm Based on Layered Vicinal Variable Node Scheduling
KR101112121B1 (en) Method for decoding using reduced complexity-and-latency dynamic scheduling scheme for low density parity check codes and apparatus thereof
CN111835363A (en) LDPC code decoding method based on alternative direction multiplier method

Legal Events

Date Code Title Description
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