KR20160122261A - 구조적 ldpc의 인코딩 방법, 디코딩 방법, 인코딩 장치 및 디코딩 장치 - Google Patents

구조적 ldpc의 인코딩 방법, 디코딩 방법, 인코딩 장치 및 디코딩 장치 Download PDF

Info

Publication number
KR20160122261A
KR20160122261A KR1020167025944A KR20167025944A KR20160122261A KR 20160122261 A KR20160122261 A KR 20160122261A KR 1020167025944 A KR1020167025944 A KR 1020167025944A KR 20167025944 A KR20167025944 A KR 20167025944A KR 20160122261 A KR20160122261 A KR 20160122261A
Authority
KR
South Korea
Prior art keywords
ldpc
matrix
mod
equal
decoding
Prior art date
Application number
KR1020167025944A
Other languages
English (en)
Other versions
KR101789959B1 (ko
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 지티이 코포레이션
Publication of KR20160122261A publication Critical patent/KR20160122261A/ko
Application granted granted Critical
Publication of KR101789959B1 publication Critical patent/KR101789959B1/ko

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/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • 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/033Theoretical methods to calculate these checking codes
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • 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
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • 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
    • H03M13/114Shuffled, staggered, layered or turbo decoding schedules
    • 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/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/611Specific encoding aspects, e.g. encoding by means of decoding
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • 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
    • 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/6566Implementations concerning memory access contentions

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명의 실시예에서는 구조적 LDPC의 인코딩 방법, 디코딩 방법, 인코딩 장치 및 디코딩 장치를 제공하는바, 상기 인코딩 방법에는 인코딩에 사용되는 Mb×Nb의 기초 매트릭스를 확정하며; 상기 기초 매트릭스와 이에 대응되는 확장 인자에 의하여, (Nb-Mb)×z 비트의 소스 데이터로부터 Nb×z 비트 코드 워드를 취득하는 LDPC 인코딩 연산을 진행하는 바, 그 중에서, z는 확장 인자이며 1보다 크거나 같은 정수인 것이 포함된다.

Description

구조적 LDPC의 인코딩 방법, 디코딩 방법, 인코딩 장치 및 디코딩 장치 {Encoding Method, Decoding Method, Encoding device and Decoding Device for Structured LDPC}
본 발명은 디지털 통신 시스템에 관한 것으로서, 특히 구조적 LDPC의 인코딩 방법, 디코딩 방법, 인코딩 장치 및 디코딩 장치에 관한 것이다.
무선 디지털 통신의 발전 및 여러 가지 고속도, 돌발성이 강한 서비스가 나타남에 따라, 사람들의 오류 수정 코딩 기술에 대한 요구가 날로 높아지고 있으며, 도1은 전형적인 디지털 통신 시스템이다. 저밀도 패리티 검사 코드(Low Density Parity Check Codes, LDPC)는 아주 희소한 패리티 검사 매트릭스 또는 이분 그래프를 이용하여 정의할 수 있는 선형 패킷 코드로서, 최초로 Gallager에 의하여 발견되었기 때문에 Gallager 코드라 부른다. 수십 년의 침적을 거친 후, 컴퓨터 하드웨어와 관련 이론의 발전에 따라 MacKay와 Neal 재차 이를 발견하였고 또한 이것은 샤논의 한계에 근접하는 성능을 갖고 있다는 것을 증명하였다. 최근의 연구에 의하면 LDPC는 하기 특징을 갖는바, 즉 낮은 디코딩 복잡성, 선형적 시간 코딩, 샤논 한계에 근접하는 성능을 가지고, 또한 병행 디코딩이 가능하고 롱 코드가 긴 조건 하에서 Turbo 코드보다 우수하다
LDPC 코드는 희소한 검사 매트릭스를 기반으로 하는 선형 패킷 코드로서, 이의 검사 매트릭스의 회소성을 이용하여야만 낮은 복잡성의 코딩/디코딩을 구현하여 LDPC로 하여금 실용화를 이룰 수 있게 할 수 있다. 불규칙 코드(irregular codes)는 패리티 검사 매트릭스의 행 중량과 열 중량이 완전히 다른 저밀도 패리티 검사 코드를 뜻하며, 또한 패리티 검사 매트릭스의 정보 비트 부분의 열 중량도 다르다. 규칙적 코드(regular codes)는 패리티 검사 매트릭스의 행 중량과 열 중량이 완전히 같은 저밀도 패리티 검사 코드, 또는 패리티 검사 매트릭스 중에서 검사 비트 부분이 대응되게 고정된 구조를 유지할 때 정보 비트 부분의 행 중량과 열 중량이 완전히 같은 저밀도 패리티 검사 코드를 뜻한다. 관련 문헌 중에서, 일부 사람들은 규칙 코드 중의 두 번째 상황의 저밀도 패리티 검사 코드를 반규칙적 코드(semi-regular codes)라 한다. 기초 매트릭스의 회수 분포와 패리티 검사 매트릭스의 회수 분포는 일치하다.
LDPC는 일종의 특수한 선형 패킷 코드이다. 통신 중에서, 패킷 길이가 N 비트인 하나의 코드 워드를 송신할 때마다, 이로 하여금 일정한 오류 수정 능력을 갖추도록 하기 위하여 M개의 검사 비트가 필요하고, 각 코드 워드는 모두
Figure pct00001
를 만족시켜야 하며, 그 중에서, H는 2원 도메인 상의 M'N 차원의 패리티 검사 매트릭스이다. 모든 연산은 2원 도메인 GF(2) 상에서 진행되고, 여기에서 더하고 감하는 것은 모두 "XOR" 연산이고, 곱하는 것은 "AND" 연산이다.
구조적 LDPC
구조적 LDPC의 패리티 검사 매트릭스 H는
Figure pct00002
매트릭스로 설정되고, 이는
Figure pct00003
개의 분할 매트릭스로 구성되며, 각 분할 매트릭스는 모두
Figure pct00004
의 기본 치환 매트릭스의 다른 멱이고, 기본 치환 매트릭스가 단위 매트릭스일 때, 이들은 모두 단위 매트릭스의 순환 시프트 매트릭스(본문 중에서는 기본으로 오른쪽으로 시프트)이다. 이러한 멱 j를 통하여 각 분할 매트릭스를 유일하게 표시할 수 있고, 단위 매트릭스의 멱은 0으로 표시할 수 있으며, 매트릭스는 일반적으로 -1로 표시한다. 이로써 H의 각 분할 매트릭스를 모두 이들의 멱으로 대체시키면 하나의
Figure pct00005
의 멱 매트릭스 Hb를 취득한다. 여기에서, Hb를 H의 기초 매트릭스로 정의하고, H를 Hb의 확장 매트릭스로 부른다. 실제 코딩 시,
Figure pct00006
, z를 확장 인자라 부른다.
예를 들면, 매트릭스
Figure pct00007
하기 파라미터 z와 하나의 2×4의 기초 매트릭스 Hb를 이용하여 하기와 같이 확장시킬 수 있다.
z=3과
Figure pct00008
그러므로 본 발명의 실시 예의 LDPC의 인코더는 기초 매트릭스 Hb, 확장 인자 z 및 선택된 기본 치환 매트릭스로부터 유일하게 생성된 것이라고 말할 수 있다. 총적으로, 기초 매트릭스 Hb의 각 요소는 패리티 검사 매트릭스 중의 하나의
Figure pct00009
의 정방 매트릭스에 대응되는 바, 구체적으로 말하면, 기초 매트릭스 중의 값이 -1인 각 요소가
Figure pct00010
의 0 매트릭스에 대응되고, 값이 비 -1의 각 요소가
Figure pct00011
의 넌제로(non zero) 매트릭스(즉 단위 매트릭스 또는 단위 매트릭스의 순환 시프트 매트릭스)에 대응된다. 상기 기초 매트릭스에 대한 정의에 의하여, 확장 인자(1보다 큰 정수 z)가 주어진 조건하에서, 기초 매트릭스와 패리티 검사 매트릭스는 본질상에서는 같은 것이다.
LDPC의 인코딩
시스템 패킷 코드의 직접 코딩 방법으로는, 하나의 코드 워드 x를 N-M개의 정보 비트 s와 M개의 패리티 비트 c로 분할하고, 상응하게, M×N의 패리티 검사 매트릭스 H를 각각 정보 비트와 패리티 비트에 대응되는 M×(N-M)와 M×M 크기의 두 블럭으로 분할하는 바, 즉 H=[A|B]이다. H×x=0에 의하여,
Figure pct00012
그러므로 A×s+B×c=0을 취득할 수 있고, 나아가 c=B- 1As를 유도해 낼 수 있다. 블럭 B가 특수한 매트릭스 구조, 예를 들면 엄격한 하삼각 구조(반무작위 매트릭스), 이중 하삼각 구조 등을 이용하면, B-1은 아주 간단한 형식을 가지며, 직접 상기 식에 따라 코드 워드 중의 검사 비트 부분 c를 산출하고, 또한 인코더로 하여금 선형 복잡성을 갖도록 확보할 수 있다.
또한, Richarson 선형 시간 코딩 알고리즘을 이용할 수 있는바, 패리티 검사 매트릭스 H가 준하삼각 구조를 가지고, H가 하기 형식을 갖는다고 설정한다.
Figure pct00013
코딩 후 코드 워드는
Figure pct00014
로 설정하고, 여기에서 s는 코딩 코드 워드의 시스템 비트 부분이며,
Figure pct00015
Figure pct00016
는 코드 워드의 검사 비트 부분이고,
Figure pct00017
의 길이는 g이고,
Figure pct00018
의 길이는 (m-g)이다. 상기 식에서, A의 차원은 (m-g)'(n-m)이고, B의 차원은 (m-g)'g 이며, T의 차원은 (m-g)'(m-g)이고 C의 차원은 g'(n-m)이며, D의 차원은 g'g'이고, E의 차원은 g'(m-g)이다. 모든 이러한 매트릭스는 모두 희소 매트릭스이고, T는 하삼각 매트릭스이며, 주 대각선 요소는 모두 1이다. 검사 비트 부분은 하기 식으로부터 구할 수 있다.
Figure pct00019
Figure pct00020
그 중에서,
Figure pct00021
그러므로 본 발명의 실시 예에서 설계된 LDPC 코드의 인코더는 LDPC 패리티 검사 매트릭스 H에 의하여 유일하게 생성될 수 있고, 실제적으로 LDPC 코드의 패리티 검사 매트릭스는 LDPC 코드 디코더의 성능을 결정할 뿐 아니라, 또한 LDPC 코드의 인코더와 디코더의 복잡성, 저장 공간과 처리 딜레이를 결정한다. 적합한 LDPC 코드의 패리티 검사 매트릭스 구조를 찾아내는 것은 아주 중요한 것이다.
구체적으로 구현할 때, 상기 직접 방법 또는 Richarson 방법 또는 기타 방법을 이용하여 연산을 진행하여, N-M 비트의 소스 데이터로부터 N 비트 코드 워드를 취득하는 코딩 기능을 완성할 수 있다. 사실상 상기 인코더는 바로 소프트웨어 또는 하드웨어를 이용하여 식 중의 희소 매트릭스의 곱하기와 더하기 연산을 구현하는 것으로서, 단위 매트릭스 및 이의 순환 시프트 매트릭스를 기반으로 하는 LDPC에 대하여, 희소 매트릭스의 곱하기 연산은 다수의 z 비트(z는 확장 인자)의 순환 시프트 레지스터와 다수의 z 비트의 가산기로 구성될 수 있고, 희소 매트릭스의 더하기 연산은 상기 다수의 z 비트의 가산기에 의하여 완성되며, 상기 다수의 z 비트 순환 시프트 레지스터와 다수의 z 비트 가산기는 하드웨어 회로로 구현되는 LDPC 인코더를 구성한다.
LDPC의 디코딩
LDPC 패리티 검사 매트릭스의 그래픽 표시 형식은 이분 그래프이다. 이분 그래프와 검사 매트릭스 사이에는 일대일로 대응되는 관계가 존재하고, 하나의 M'N의 패리티 검사 매트릭스 H는 N 비트를 갖는 각 코드 워드가 M개 패리티 검사 집합을 만족시켜야 한다는 제한을 정의하였다. 하나의 이분 그래프는 N개의 변수 노드와 M개의 패리티 검사 노드를 포함한다. 제 m개 검사가 제 n개 비트와 연관되면, 즉 H 중의 제 m행 제 n열의 요소가 Hm이고, n=1일 때, 하나의 연결선이 검사 노드 m과 변수 노드 n을 연결시킨다. 이분 그래프에서, 임의의 동일한 유형의 노드 사이에는 모두 연결되지 않고, 또한 이분 그래프 중의 총 변두리 수와 검사 매트릭스 중의 넌제로 요소의 수량이 같다.
LDPC의 메시지 전달(Message Passing) 알고리즘은 또한 신뢰도 확산(belief-propagation, BP) 알고리즘이라고도 불리고, 변수 노드가 상호 독립적이라고 가정하면 짧은 링이 존재함으로 인하여 필연코 독립성의 가설을 파괴하게 되어 디코딩 성능이 현저하게 낮아진다. 사실상 LDPC 패리티 검사 매트릭스의 이분 그래프에 대응되는 최단 링 길이가 길수록, 즉 girth 값이 클수록 변수 노드로부터 출발한 정보가 자체로 전달되는 양의 피드백 정보가 작으며, 디코딩 성능도 더욱 좋다. 검사 매트릭스 H의 girth와 기초 매트릭스 Hb 사이에 연관이 존재하기 때문에, 수학 추리와 컴퓨터 시뮬레이션을 통한 검증이 관련 결론을 갖게 되었다.
기초 매트릭스 수정
만일 각 다른 확장 인자에 대하여 동일한 기초 매트릭스를 이용할 수 없으면, 각 다른 코드 길이에 대하여 상기 LDPC 인코더/디코더는 모두 하나의 기초 매트릭스를 저장하여야 하고, 코드 길이가 아주 길 때 아주 많은 기초 매트릭스를 저장하여야 하며, 이렇게 되면 아주 큰 저장 공간을 차지하거나 또는 하드웨어가 회로를 구현하는 것이 아주 복잡하게 된다.
수정은 기타 코드 길이의 확장 인자를 이용하여 기초 매트릭스 Hb 중의 비음의 값 요소에 대하여 수정을 진행하는바, 수정 후의 요소 값은 해당 코드 길이 하의 확장 인자의 값보다 작아야 하고, 수정 알고리즘은 모드(mod), 라운딩(scale+floor) 또는 라운드 오프(scale+round) 등이다.
Figure pct00022
를 기초 매트릭스 제i행 제j열의 비음의 요소,
Figure pct00023
를 수정 후의 요소라고 가정하면,
모드(mod) 방법에 있어서,
Figure pct00024
라운딩(scale+floor) 방법에 있어서,
Figure pct00025
라운드 오프(scale+round) 방법에 있어서,
Figure pct00026
그 중에서, N은 기초 매트릭스 열 수이고, n은 패리티 검사 매트릭스를 생성할 저밀도 패리티 검사 코드의 코드 길이다. mod는 모드 조작이고, [ ]는 라운딩 다운 조작이며, Round는 사사오입 조작이다. 여기에서 최대 코드 길이를 2304로 가정한다.
예를 들면, 코드 길이가 1152 비트인 저밀도 패리티 검사 코드에 있어서, 이의 기초 매트릭스 어느 한 비음의 요소를 93으로 가정하면, 이의 수정 결과는,
모드(mod) 방법에 있어서,
Figure pct00027
라운딩(scale+floor) 방법에 있어서,
Figure pct00028
라운드 오프(scale+round) 방법에 있어서,
Figure pct00029
만일 LDPC가 현재 가장 유행하는 계층형 디코딩을 사용하면, 로그 우도비율 정보의 읽기/쓰기가 LDPC의 흐름선의 배열에 큰 영향을 미친다. 구체적으로 말하면, 높은 코드율일 때, 일반적인 LDPC 구조에 있어서, 디코더는 기초 매트릭스의 한 행이 처리를 마친 후에야만 다음 레벨의 흐름선을 시작할 수 있어 아주 긴 대기 시간이 필요하며, 만일 한 레벨의 흐름선이 특별히 길다면 디코더의 효율을 크게 낮추게 된다.
본 발명의 실시예에서는 구조적 LDPC의 인코딩 방법, 디코딩 방법, 인코딩 장치 및 디코딩 장치를 제공하여 종래의 인코더/디코더의 효율이 낮은 문제를 해결한다.
구조적 LDPC의 인코딩 방법에 있어서,
인코딩에 사용되는 Mb×Nb 기초 매트릭스를 확정하는 바, 상기 기초 매트릭스에는 시스템 비트에 대응되는 Mb×(Nb-Mb)의 블럭 A와 검사 비트에 대응되는 Mb×Mb의 블럭 B가 포함되고, 상기 기초 매트릭스에는 K0개의 상하 인접 쌍이 포함되며, 상기 K0개의 상하 인접 쌍에는 K1개의 제1 유형의 상하 인접 쌍과 K2개의 제2 유형의 상하 인접 쌍이 포함되고, 그 중에서, K0=K1+K2이고, K0은 6*Mb보다 크거나 같은 양의 정수이고, K2는 0보다 크거나 같고 또한 2*Mb보다 작거나 같은 양의 정수이며, 상기 상하 인접 쌍은 상기 기초 매트릭스 중의 넌제로 매트릭스에 대응되는 두 요소 {hbij, hb((i+1) mod Mb)j}로 구성된 집합이며;
상기 제1 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod Q = a의 합동 상하 인접 쌍이며;
상기 제2 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod Q = b의 합동 상하 인접 쌍이며;
그 중에서, hbij는 상기 기초 매트릭스의 제i행과 j열의 요소를 표시하고, 그 중에서, a와 b는 다르며, a와 b는 0보다 크거나 같고 Q-1보다 작거나 같은 정수이고, Q는 확장 인자 z의 하나의 곱하기 인자이며, i는 상기 기초 매트릭스의 행 인덱스이고, j는 상기 기초 매트릭스의 열 인덱스이며, i=0, 1, …, Mb-1, j=0, 1, …, Nb-1이며;
상기 기초 매트릭스와 이에 대응되는 확장 인자 z에 의하여, (Nb-Mb)×z 비트의 소스 데이터로부터 Nb×z 비트 코드 워드를 취득하는 LDPC 인코딩 연산을 진행하는바, 그 중에서, z는 1보다 크거나 같은 정수인 것이 포함된다.
바람직하게는, 만일 K2가 3보다 크거나 같다면, 임의의 제x1행과 제(x1+1)mod Mb행에 있어서, 최대로 3개의 제2 유형의 인접 쌍이 존재하고, 그 중에서, x1=0, 1, …, Mb-1이다.
바람직하게는, 상기 방법에 있어서, Q의 값은 하기 임의의 하나인 바, 즉
2, 3, 4, 5, 6, 7, 8이다.
바람직하게는, 상기 기초 매트릭스의 제j열의 넌제로 매트릭스에 대응되는 모든 요소는 Lj개가 있으며, 위로부터 아래로 첫번째 요소는 0이고, Lj는 1보다 크거나 같은 양의 정수이고, j=0, 1, …, Nb-1이다.
바람직하게는, K0의 값은 하기 임의의 하나인 바, 즉
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12이다.
구조적 LDPC의 디코딩 방법에 있어서,
디코딩에 사용되는 Mb×Nb 기초 매트릭스를 확정하는 바, 상기 기초 매트릭스에는 시스템 비트에 대응되는 Mb×(Nb-Mb)의 블럭 A와 검사 비트에 대응되는 Mb×Mb의 블럭 B가 포함되고, 상기 기초 매트릭스에는 K0개의 상하 인접 쌍이 포함되며, 상기 K0개의 상하 인접 쌍에는 K1개의 제1 유형의 상하 인접 쌍과 K2개의 제2 유형의 상하 인접 쌍이 포함되고, 그 중에서, K0=K1+K2이고, K0은 6*Mb보다 크거나 같은 양의 정수이고, K2는 0보다 크거나 같고 또한 2*Mb보다 작거나 같은 양의 정수이며, 상기 상하 인접 쌍은 상기 기초 매트릭스 중의 넌제로 매트릭스에 대응되는 두 요소 {hbij, hb((i+1) mod Mb)j }로 구성된 집합이며;
상기 제1 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod Q = a의 합동 상하 인접 쌍이며;
상기 제2 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod Q = b의 합동 상하 인접 쌍이며;
그 중에서, hbij는 상기 기초 매트릭스의 제i행과 j열의 요소를 표시하고, 그 중에서, a와 b는 다르며, a와 b는 0보다 크거나 같고 Q-1보다 작거나 같은 정수이고, Q는 상기 기초 매트릭스에 대응되는 확장 인자 z의 하나의 곱하기 인자이며, i는 상기 기초 매트릭스의 행 인덱스이고, j는 상기 기초 매트릭스의 열 인덱스이며, i=0, 1, …, Mb-1, j=0, 1, …, Nb-1이며;
상기 기초 매트릭스와 대응되는 확장 인자 z에 의하여, Nb×z 비트의 코드 워드로부터 (Nb-Mb)×z 비트 정보 데이터를 취득하는 LDPC 디코딩 연산을 진행하는바, 그 중에서, z는 1보다 크거나 같은 양의 정수인 것이 포함된다.
바람직하게는, 만일 K2가 3보다 크거나 같다면, 임의의 제x1행과 제(x1+1)mod Mb행에 있어서, 최대로 3개의 제2 유형의 인접 쌍이 존재하고, 그 중에서, x1=0, 1, …, Mb-1이다.
바람직하게는, Q의 값은 하기 임의의 하나인 바, 즉
2, 3, 4, 5, 6, 7, 8이다.
바람직하게는, 상기 기초 매트릭스의 제j열의 넌제로 매트릭스에 대응되는 모든 요소는 Lj개가 있으며, 위로부터 아래로 첫번째 요소는 0이고, Lj는 1보다 크거나 같은 양의 정수이고, j=0, 1, …, Nb-1이다.
바람직하게는, 상기 기초 매트릭스와 대응되는 확장 인자에 의하여, Nb×z 비트의 코드 워드로부터 (Nb-Mb)×z 비트 정보 데이터를 취득하는 LDPC 코드 연산을 진행하는 것에는,
계층형 신뢰도 확산 BP 알고리즘 또는 수정의 최소 합 알고리즘을 이용하여 상기 기초 매트릭스에 대하여 행 업데이트를 진행하는 바,
홀수 회 반복할 때, 제2 유형의 인접 쌍을 제외한 요소에 대응되는 사이드 정보에 대하여 업데이트를 진행하는 외, 단지 각 제2 유형의 인접 쌍 중의 한 요소에 대응되는 사이드 정보에 대하여 업데이트를 진행하며;
짝수 회 반복할 때, 제2 유형의 인접 쌍을 제외한 요소에 대응되는 사이드 정보에 대하여 업데이트를 진행하는 외, 단지 각 제2 유형의 인접 쌍 중의 다른 한 요소에 대응되는 사이드 정보에 대하여 업데이트를 진행하며;
상기 사이드 정보는 검사 노드로부터 변수 노드로의 정보인 것이 포함되며;
상기 사이드 정보를 이용하여 코드 워드 로그 우도비율을 계산하고 또한 경판정을 진행하며, 또한 검사가 정확한지 여부를 검사하여, 만일 정확하다면 정확한 코드 워드를 출력하고, 만일 에러라면 계속하여 디코딩 처리를 진행하는 것을 포함한다.
구조적 LDPC의 인코딩 장치에 있어서,
적어도 인코딩에 사용되는 Mb×Nb 기초 매트릭스를 저장하는 바, 상기 기초 매트릭스에는 시스템 비트에 대응되는 Mb×(Nb-Mb)의 블럭 A와 검사 비트에 대응되는 Mb×Mb의 블럭 B가 포함되고, 상기 기초 매트릭스에는 K0개의 상하 인접 쌍이 포함되며, 상기 K0개의 상하 인접 쌍에는 K1개의 제1 유형의 상하 인접 쌍과 K2개의 제2 유형의 상하 인접 쌍이 포함되고, 그 중에서, K0=K1+K2이고, K0은 6*Mb보다 크거나 같은 양의 정수이고, K2는 0보다 크거나 같고 또한 2*Mb보다 작거나 같은 양의 정수이며, 상기 상하 인접 쌍은 상기 기초 매트릭스 중의 넌제로 매트릭스에 대응되는 두 요소 {hbij, hb((i+1) mod Mb)j}로 구성된 집합이며;
상기 제1 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod Q = a의 합동 상하 인접 쌍이며;
상기 제2 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod Q = b의 합동 상하 인접 쌍이며;
그 중에서, hbij는 상기 기초 매트릭스의 제i행과 j열의 요소를 표시하고, 그 중에서, a와 b는 다르며, a와 b는 0보다 크거나 같고 Q-1보다 작거나 같은 정수이고, Q는 확장 인자 z의 하나의 곱하기 인자이며, i는 상기 기초 매트릭스의 행 인덱스이고, j는 상기 기초 매트릭스의 열 인덱스이며, i=0, 1, …, Mb-1, j=0, 1, …, Nb-1이도록 설정되는 기초 매트릭스 저장 모듈;
상기 기초 매트릭스와 이에 대응되는 확장 인자 z를 확정하고, (Nb-Mb)×z 비트의 소스 데이터로부터 Nb×z 비트 코드 워드를 취득하는 LDPC 코딩 연산을 진행하는바, 그 중에서, z는 1보다 크거나 같은 양의 정수이도록 설정되는 인코딩 연산 모듈이 포함된다.
바람직하게는, 만일 K2가 3보다 크거나 같다면, 임의의 제x1행과 제(x1+1)mod Mb행에 있어서, 최대로 3개의 제2 유형의 인접 쌍이 존재하고, 그 중에서, x1=0, 1, …, Mb-1이다.
바람직하게는, Q의 값은 하기 임의의 하나인 바, 즉
2, 3, 4, 5, 6, 7, 8이다.
바람직하게는, 상기 기초 매트릭스의 제j열의 넌제로 매트릭스에 대응되는 모든 요소는 Lj개가 있으며, 위로부터 아래로 첫번째 요소는 0이고, Lj는 1보다 크거나 같은 양의 정수이고, j=0, 1, …, Nb-1이다.
바람직하게는, K0의 값은 하기 임의의 하나인 바, 즉
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12이다.
구조적 저밀도 패리티 검사 LDPC의 디코딩 장치에 있어서,
적어도 디코딩에 사용되는 Mb×Nb 기초 매트릭스를 저장하는바, 상기 기초 매트릭스에는 시스템 비트에 대응되는 Mb×(Nb-Mb)의 블럭 A와 검사 비트에 대응되는 Mb×Mb의 블럭 B가 포함되고, 상기 기초 매트릭스에는 K0개의 상하 인접 쌍이 포함되며, 상기 K0개의 상하 인접 쌍에는 K1개의 제1 유형의 상하 인접 쌍과 K2개의 제2 유형의 상하 인접 쌍이 포함되고, 그 중에서, K0=K1+K2이고, K0은 6*Mb보다 크거나 같은 양의 정수이고, K2는 0보다 크거나 같고 또한 2*Mb보다 작거나 같은 양의 정수이며, 상기 상하 인접 쌍은 상기 기초 매트릭스 중의 넌제로 매트릭스에 대응되는 두 요소 {hbij, hb((i+1) mod Mb)j}로 구성된 집합이며;
상기 제1 유형의 상하 인접 쌍은 (hbij-hb((i +1) mod Mb)j) mod Q = a의 합동 상하 인접 쌍이며;
상기 제2 유형의 상하 인접 쌍은 (hbij-hb((i +1) mod Mb)j) mod Q = b의 합동 상하 인접 쌍이며;
그 중에서, hbij는 상기 기초 매트릭스의 제i행과 j열의 요소를 표시하고, 그 중에서, a와 b는 다르며, a와 b는 0보다 크거나 같고 Q-1보다 작거나 같은 정수이고, Q는 확장 인자 z의 하나의 곱하기 인자이며, i는 상기 기초 매트릭스의 행 인덱스이고, j는 상기 기초 매트릭스의 열 인덱스이며, i=0, 1, …, Mb-1, j=0, 1, …, Nb-1이도록 설정되는 기초 매트릭스 저장 모듈;
상기 기초 매트릭스와 대응되는 확장 인자 z를 확정하고, Nb×z 비트의 코드 워드로부터 (Nb-Mb)×z 비트 정보 데이터를 취득하는 LDPC 디코딩 연산을 진행하는바, 그 중에서, z는 1보다 크거나 같은 양의 정수이도록 설정되는 디코딩 연산 모듈이 포함된다.
바람직하게는, 만일 K2가 3보다 크거나 같다면, 임의의 제x1행과 제(x1+1)mod Mb행에 있어서, 최대로 3개의 제2 유형의 인접 쌍이 존재하고, 그 중에서, x1=0, 1, …, Mb-1이다.
바람직하게는, Q의 값은 하기 임의의 하나인 바, 즉
2, 3, 4, 5, 6, 7, 8이다.
바람직하게는, 상기 기초 매트릭스의 제j열의 넌제로 매트릭스에 대응되는 모든 요소는 Lj개가 있으며, 위로부터 아래로 첫번째 요소는 0이고, Lj는 1보다 크거나 같은 양의 정수이고, j=0, 1, …, Nb-1이다.
바람직하게는, 상기 디코딩 연산 모듈에는,
계층형 신뢰도 확산 BP 알고리즘 또는 수정의 최소 합 알고리즘을 이용하여 상기 기초 매트릭스에 대하여 행 업데이트를 진행하는 바,
홀수 회 반복할 때, 제2 유형의 인접 쌍을 제외한 요소에 대응되는 사이드 정보에 대하여 업데이트를 진행하는 외, 단지 각 제2 유형의 인접 쌍 중의 한 요소에 대응되는 사이드 정보에 대하여 업데이트를 진행하며;
짝수 회 반복할 때, 제2 유형의 인접 쌍을 제외한 요소에 대응되는 사이드 정보에 대하여 업데이트를 진행하는 외, 단지 각 제2 유형의 인접 쌍 중의 다른 한 요소에 대응되는 사이드 정보에 대하여 업데이트를 진행하며;
상기 사이드 정보는 검사 노드로부터 변수 노드로의 정보이도록 설정되는 기초 매트릭스의 행 업데이트 유닛;
상기 사이드 정보를 이용하여 코드 워드 로그 우도비율을 계산하고 또한 경판정을 진행하며, 또한 검사가 정확한지 여부를 검사하여, 만일 정확하다면 정확한 코드 워드를 출력하고, 만일 에러라면 계속하여 디코딩 처리를 진행하도록 설정되는 디코딩 판정 유닛;이 포함된다.
본 발명의 실시예에서는 또한 컴퓨터 프로그램을 제공하는 바, 프로그램 명령이 포함되고, 해당 프로그램 명령이 인코딩 장치에 의하여 실행되면, 해당 인코딩 장치는 상기 인코딩 방법을 실행할 수 있다.
본 발명의 실시예에서는 또한 컴퓨터 프로그램을 제공하는 바, 프로그램 명령이 포함되고, 해당 프로그램 명령이 디코딩 장치에 의하여 실행되면, 해당 디코딩 장치는 상기 디코딩 방법을 실행할 수 있다.
본 발명의 실시예에서는 또한 상기 임의의 컴퓨터 프로그램이 적재되어 있는 캐리어를 제공한다.
본 발명의 실시예에서는 구조적 LDPC의 인코딩 방법, 디코딩 방법, 인코딩 장치 및 디코딩 장치를 제공하며, 인코딩 또는 디코딩에 사용되는 K0개의 상하 인접 쌍이 포함된 기초 매트릭스를 확정하는 것을 통하여, 상기 기초 매트릭스와 이에 대응되는 확장 인자에 의하여 인코딩 또는 디코딩을 완성하고, 높은 흐름선 속도의 LDPC 인코딩과 디코딩을 구현하며, 종래의 인코더/디코더의 효율이 낮은 문제를 해결하였다.
도1은 디지털 통신 시스템의 모듈도.
도2는 본 발명의 실시예1에서 제공하는 LDPC 코드의 인코더의 구조도.
도3은 본 발명의 실시예1에서 사용하는 기초 매트릭스 도면.
도4는 본 발명의 실시예2에서 제공하는 LDPC 코드의 디코더의 구조도.
도5는 본 발명의 실시예2에서 사용하는 기초 매트릭스 도면.
도6은 본 발명의 실시예2에서 제공하는 전통적인 계층형 디코딩 흐름선 도면.
도7은 본 발명의 실시예2에서 제공하는 본 발명의 계층형 디코딩 흐름선 도면.
도8은 본 발명의 실시예3에서 제공하는 구조적 LDPC 코드의 인코딩 방법의 흐름도.
도9는 본 발명의 실시예4에서 제공하는 구조적 LDPC 코드의 디코딩 방법의 흐름도.
도10은 본 발명의 실시예5에서 제공하는 구조적 LDPC 코드의 인코딩 장치의 구조도.
도11은 본 발명의 실시예5에서 제공하는 구조적 LDPC 코드의 디코딩 장치의 구조도.
전통적인 구조적 LDPC에 있어서, 현재 가장 유행하는 계층형 디코딩을 사용하면, 로그 우도비율 정보의 읽기/쓰기가 구조적 LDPC의 흐름선의 배열에 영향을 미친다. 구체적으로 말하면, 높은 코드율일 때, 일반적인 구조적 LDPC 구조에 있어서, 디코더는 기초 매트릭스의 한 행의 행 업데이트가 완성되기를 기다린 후에야만 다음 레벨의 흐름선을 시작할 수 있으며, 만일 한 레벨의 흐름선이 특별히 길다면 디코더의 효율을 크게 낮추게 된다.
하지만, 기초 매트릭스의 가능한 조합 방식의 수량은 아주 크고, 종래 기술에는 아직 대기 시간을 감소시킬 수 있는 실행 가능한 방안이 없고, 이러한 요구를 만족시킬 수 있는 기초 매트릭스도 얻을 수 없다.
상기 문제를 해결하기 위하여, 본 발명의 실시예에서는 구조적 LDPC의 인코딩 방법, 디코딩 방법, 인코딩 장치 및 디코딩 장치를 제공한다. 본 발명의 실시예는 실용성으로부터 고려하여, 동일한 코드율의 여러 가지 코드 길이에 대하여 동일한 기초 매트릭스를 사용하는바, 통상적으로는 최대 코드 길이에 대응되게 생성되고, 아울러 다른 코드 길이일 때 해당 기초 매트릭스에 대하여 수정을 진행하여, 생성된 인코더/디코더로 하여금 코드 길이가 변화 가능한 상황에 적용되도록 한다. 하지만, 본 발명은 이에 제한되지 않고, 각 코드 길이에 대하여 하나의 기초 매트릭스를 사용하는 방식에도 적용될 수 있다.
아래, 도면을 참조하여 본 발명의 실시예에 대하여 설명을 진행하도록 한다. 설명하여야 할 바로는, 상충되지 않는 상황하에서, 본 출원 중의 실시예 및 실시예 중의 특징은 임의로 상호 결합될 수 있다.
실시예1
본 발명의 실시예에서는 디지털 통신 중의 구조적 저밀도 패리티 검사 LDPC의 인코딩 장치를 제공하는바, 이의 구조는 도 2에 도시된 바와 같고, 적어도 프로세서(202)와 메모리(201)가 포함된다.
상기 메모리(201)는 적어도 인코딩에 사용되는 K0개 상하 인접 쌍이 포함되는 기초 매트릭스와 파라미터를 저장하도록 설정된다.
각 기초 매트릭스 Hb에 있어서, 다른 상하 인접 쌍이 K0개 존재한다면, K1개의 제1 유형의 상하 인접 쌍과 K2개 제2 유형의 상하 인접 쌍이 존재하고, 그 중에서, K0=K1+K2이고, K0은 6*Mb보다 크거나 같은 양의 정수이고, K2는 0보다 크거나 같고 또한 2*Mb보다 작거나 같은 양의 정수이다.
바람직하게는, 만일 K2가 3보다 크거나 같다면, 임의의 인접된 두 행(x1행과 (x1+1)mod Mb행)에 있어서, 최대로 3개의 제2 유형의 인접 쌍이 존재하고, 그 중에서, x1과 x2의 값은 0부터 Mb-1이다.
그 중에서, 상하 인접 쌍은 각 기초 매트릭스 Hb 중의 넌제로 매트릭스에 대응되는 두 요소 {hbij,hb((i+1) mod Mb)j}로 구성된 집합으로 정의되는바, 즉 기초 매트릭스의 어느 한 열 중의 두 인접된 넌제로 매트릭스에 대응되는 두 요소로 구성된 집합이며, 그 중에서, 마지막 한 행과 제1행은 인접된 것으로 정의되고, 마지막 행은 제1행의 위 1행으로 정의된다. 제1 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod Q = a의 합동 상하 인접 쌍으로 정의되고, 제2 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod Q = b의 합동 상하 인접 쌍으로 정의된다.
기초 매트릭스Hb의 제j열의 넌제로 매트릭스에 대응되는 모든 요소는 Lj개가 있으며, 위로부터 아래로 첫번째 요소는 0이고, Lj는 1보다 크거나 같은 양의 정수이고, j=0, 1, …, Nb-1이다. 밝혀 두어야 할 바로는, 본 발명은 이러한 방식에 제한되지 않으며, 또한, 마지막 하나의 요소가 0일 수도 있고, 또한 임의의 요소가 0일 수도 있다. 이러한 방식은 모두 만일 계층형 디코딩을 사용한다면, 순환 시프트 역 네트워크를 사용하지 않고도 라우팅 오버헤드를 현저하게 감소시키고 유익한 효과를 이루도록 확보할 수 있다.
상기 프로세서(202)는 상기 기초 매트릭스와 확장 인자 z를 확정하고, (Nb-Mb)×z 비트의 소스 데이터로부터 Nb×z 비트 코드 워드를 취득하는 LDPC 코드 연산을 진행하도록 설정된다.
그 중에서, hbij는 한 기초 매트릭스의 제i행과 j열의 요소를 표시하고, 그 중에서, a와 b는 다르며, a와 b는 0보다 크거나 같고 Q-1보다 작거나 같은 정수이고, Q는 확장 인자 z의 하나의 곱하기 인자이며, 제j열의 열웨이트는Hb의 제j열의 넌제로 매트릭스에 대응되는 모든 요소의 개수이며, i는 Hb의 행 인덱스이고, j는 Hb의 열 인덱스이며, i=0, 1, …, Mb-1, j=0, 1, …, Nb-1이고, z는 확장 인자이며, z는 1보다 크거나 같은 양의 정수이며;
바람직하게는, K2의 전형적인 값은 하기의 하나인 바, 즉 1, 2, 3, …, 12이다.
바람직하게는, Q의 전형적인 값은 하기의 하나인 바, 즉 2, 3, 4, 5, 6, 7과 8이다.
아래, 더욱 구체적인 예를 설명할 것인 바, 상기 설명의 요구에 부합되는 기초 매트릭스 Hb는 도 3에 도시된 바와 같다.
도 3에 도시된 바와 같은 기초 매트릭스에 있어서, 파라미터를 상기 매트릭스에 대응되는 코드율을 3/4, 매트릭스 행 수를 Mb=4, 매트릭스 열 수를 Nb=16, Q=2, K2=4, K0=47, K1=43, a=0, b=1로 가정한다. 해당 기초 매트릭스에 대응되는 확장 인자는 z=42이다. 확장 인자 z=42=2*3*7이므로, Q=2는 확장 인자 z의 곱하기 인자인 것을 만족시킨다.
도 3에 도시된 바와 같은 기초 매트릭스 Hb에 있어서, 다른 상하 인접 쌍이 K0=47개 존재한다면, K1=43개의 제1 유형의 상하 인접 쌍과 K2=3개 제2 유형의 상하 인접 쌍이 존재하는바, 이는 K0=K1+K2이고, K0은 24보다 큰 양의 정수이고, K2는 8보다 작은 양의 정수인 것을 만족시킨다.
그 중에서, 제1 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod 2 = 0의 상하 인접 쌍으로 정의되는바, 도 3의 점선 박스로 도시된 바와 같으며, 한 열에 있어서, 가장 위의 절반의 점선 박스와 가장 아래의 절반의 점선 박스가 하나의 완전한 점선 박스를 구성하며; 제2 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod 2 = 1의 상하 인접 쌍으로 정의되는바, 도 3의 실선 박스로 도시된 바와 같다.
위에 제시된 매트릭스 중에서, 가장 위쪽은 열 인덱스이고, 가장 왼쪽은 행 인덱스이며, A 부분 매트릭스는 시스템 비트 부분 매트릭스이고, B 부분은 검사 비트 부분 매트릭스이며, 매트릭스 중에서 값이 -1인 요소가 z×z 모두 0인 매트릭스에 대응되고, 비 -1인 요소가 z×z 넌제로 매트릭스에 대응되며, 해당 넌제로 매트릭스는 단위 매트릭스가 상응한 값을 순환 시프트한 후의 매트릭스이다.
상기 기술된 특징에 의하면, 상하 인접 쌍은 기초 매트릭스의 어느 한 열 중의 넌제로 매트릭스에 대응되는 두 인접된 요소로 구성된 집합이고, 구체적으로는 도면 중의 직사각형 선 박스 내의 2 요소와 같다. 그 중에서, 점선 박스는 제1 유형의 상하 인접 쌍이고, a=0에 대응되며, 실선 박스는 제2 유형의 상하 인접 쌍이고, b=1에 대응된다.
이로부터 알 수 있는 바와 같이, 4개의 제2 유형의 상하 인접 쌍이 존재하고, 이상의 기초 검사 매트릭스 중에서 인접된 두 행에 있어서 2개 이상의 제2 유형의 상하 인접 쌍이 존재하지 않는바, 예를 들면, 제0과 제1행은 단지 하나만 존재하며; 제1과 제2행은 단지 하나만 존재하며; 제2와 3행은 2개가 존재하며; 제3행과 제0행은 존재하지 않는다.
그리고 기초 매트릭스 Hb의 모든 열 중에서 첫번째로 넌제로 매트릭스에 대응되는 요소는 모두 0이다. 이때, 순환 시프트 네트워크는 단지 차이값을 순환 시프트하기만 하면 되는 바, 예를 들면 제1열에 있어서, 순환 시프트 네트워크는 단지 30-0, 20-30, 36-20, 0-36의 시프트를 구현하기만 하면 되며, 첫번째 기초 매트릭스의 로그 우도비율 정보는 1회의 완전한 LDPC 반복을 완성한 후 순서 위치에 돌아가고, 경판정을 진행할 수 있으며, 정확하다면 출력되고, 만일 에러라면 계속하여 반복한다. 이때, 본 발명의 실시예의 매트릭스 구조를 가지는 LDPC 계층형 디코더는 역네트워크를 순환 시프트할 필요가 없고, 전통적인 방안과 비교할 때 라우팅이 절반 감소된다.
바람직하게는, 상기 인코더는 또한 하기 특징을 구비할 수 있는바, 즉 확장 인자와 기본 치환 매트릭스에 의하여 상기 기초 매트릭스에 대하여 확장을 진행하여, (M×z)×(N×z)저밀도 패리티 검사 코드의 패리티 검사 매트릭스를 취득하도록 설정된 확장 모듈이 포함되고, 상기 디코딩 연산 모듈은 상기 기초 매트릭스를 확장시켜 취득한 해당 패리티 검사 매트릭스를 기반으로 인코딩 연산을 진행한다.
본 발명의 실시예는 제시한 기초 매트릭스의 구조를 통하여 정보 비트에 대하여 LDPC 인코딩을 진행하여 LDPC 코드 워드를 생성할 수 있고, 이러한 LDPC 코드 워드는 변조 등 모듈을 경과한 후 채널로 송신되고, 수신단은 신호를 수신한 후 복조 등 처리를 진행하여 수신된 LDPC 코드 워드를 생성하며, 수신된 LDPC 코드 워드는 LDPC 디코더로 송신된다. 이로써 LDPC 코드 워드는 디코딩의 흐름선 속도가 향상될 수 있도록 확보하는바, 즉 디코더 처리 속도가 향상된다. 이는 LDPC의 효율을 효과적으로 향상시고, 디코딩의 속도를 향상시킨다. 본 발명의 실시예에서 제공하는 기초 매트릭스의 구조는 역 순환 시프트 네트워크(쓰기저장에 이용됨)를 사용하지 않는 것을 허용하는 것을 통하여 또한 교환 네트워크를 감소시키고, 마찬가지로 나아가 하드웨어 복잡성을 감소시킨다.
실시예2
본 발명의 실시예에서는 디지털 통신 중의 구조적 저밀도 패리티 검사 LDPC의 디코딩 장치를 제공하는바, 이의 구조는 도 4에 도시된 바와 같고, 적어도 프로세서(402)와 메모리(401)가 포함된다.
상기 메모리(401)는 적어도 인코딩에 사용되는 K0개 상하 인접 쌍이 포함되는 기초 매트릭스와 파라미터를 저장하도록 설정된다. 상기 기초 매트릭스는 하기 특징을 포함한다.
각 기초 매트릭스 Hb에 있어서, 다른 상하 인접 쌍이 K0개 존재한다면, K1개의 제1 유형의 상하 인접 쌍과 K2개 제2 유형의 상하 인접 쌍이 존재하고, 그 중에서, K0=K1+K2이고, K0은 6*Mb보다 크거나 같은 양의 정수이고, K2는 1보다 크거나 같고 또한 2*Mb보다 작거나 같은 양의 정수이다.
바람직하게는, 만일 K2가 3보다 크거나 같다면, 임의의 인접된 두 행(x1행과 (x1+1)mod Mb행)에 있어서, 최대로 3개의 제2 유형의 인접 쌍이 존재하고, 그 중에서, x1과 x2의 값은 0부터Mb-1이다.
그 중에서, 상하 인접 쌍은 각 기초 매트릭스 Hb 중의 넌제로 매트릭스에 대응되는 두 요소 {hbij, hb((i+1) mod Mb)j}로 구성된 집합으로 정의되는바, 즉 기초 매트릭스의 어느 한 열 중의 두 인접된 넌제로 매트릭스에 대응되는 두 요소로 구성된 집합이며, 그 중에서, 마지막 한 행과 제1행은 인접된 것으로 정의되고, 마지막 행은 제1행의 위 1행으로 정의된다. 제1 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod Q = a의 합동 상하 인접 쌍으로 정의되고, 제2 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod Q = b의 합동 상하 인접 쌍으로 정의된다.
기초 매트릭스 Hb의 제j열의 넌제로 매트릭스에 대응되는 모든 요소는 Lj개가 있으며, 위로부터 아래로 첫번째 요소는 0이고, Lj는 1보다 크거나 같은 양의 정수이고, j=0, 1, …, Nb-1이다.
상기 프로세서(402)는 상기 기초 매트릭스와 확장 인자 z에 의하여, Nb×z 비트의 코드 워드로부터 (Nb-Mb)×z 비트 정보 데이터를 취득하는 LDPC 코드 연산을 진행하도록 설정된다.
그 중에서, hbij는 한 기초 매트릭스의 제i행과 j열의 요소를 표시하고, 그 중에서, a와 b는 다르며, a와 b는 0 내지 Q-1 사이의 정수이고, Q는 확장 인자 z의 하나의 곱하기 인자이며, 제j열의 열웨이트는 Hb의 제j열의 넌제로 매트릭스에 대응되는 모든 요소의 개수이며, i는 Hb의 행 인덱스이고, j는 Hb의 열 인덱스이며, i=0, 1, …, Mb-1, j=0, 1, …, Nb-1이고, z는 확장 인자이며, z는 1보다 크거나 같은 양의 정수이며;
바람직하게는, K2의 전형적인 값은 하기의 하나인 바, 즉 1, 2, 3, …, 12이다.
바람직하게는, Q의 전형적인 값은 하기의 하나인 바, 즉 2, 3, 4, 5, 6, 7과 8이다.
아래, 더욱 구체적인 예를 설명할 것인 바, 상기 설명의 요구에 부합되는 기초 매트릭스 Hb는 도 5에 도시된 바와 같다.
도 5에 도시된 바와 같은 기초 매트릭스에 있어서, 파라미터를 상기 매트릭스에 대응되는 코드율을 3/4, 매트릭스 행 수를 Mb=4, 매트릭스 열 수를 Nb=16, Q=2, K2=4, K0=47, K1=43, a=0, b=1로 가정한다. 해당 기초 매트릭스에 대응되는 확장 인자는 z=42이다. 확장 인자 z=42=2*3*7이므로, Q=2는 확장 인자 z의 곱하기 인자인 것을 만족시킨다.
도 5에 도시된 바와 같은 기초 매트릭스 Hb에 있어서, 다른 상하 인접 쌍이 K0=47개 존재한다면, K1=43개의 제1 유형의 상하 인접 쌍과 K2=3개 제2 유형의 상하 인접 쌍이 존재하는바, 이는 K0=K1+K2이고, K0은 24보다 큰 양의 정수이고, K2는 8보다 작은 양의 정수인 것을 만족시킨다.
그 중에서, 제1 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod 2 = 0의 상하 인접 쌍으로 정의되는바, 도 5의 점선 박스로 도시된 바와 같으며, 한 열에 있어서, 가장 위의 절반의 점선 박스와 가장 아래의 절반의 점선 박스가 하나의 완전한 점선 박스를 구성하며; 제2 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod 2 = 1의 상하 인접 쌍으로 정의되는바, 도 5의 실선 박스로 도시된 바와 같다.
위에 제시된 매트릭스 중에서, 가장 위쪽은 열 인덱스이고, 가장 왼쪽은 행 인덱스이며, A 부분 매트릭스는 시스템 비트 부분 매트릭스이고, B 부분은 검사 비트 부분 매트릭스이며, 매트릭스 중에서 값이 -1인 요소가 z×z 모두 0인 매트릭스에 대응되고, 비 -1인 요소가 z×z 넌제로 매트릭스에 대응되며, 해당 넌제로 매트릭스는 단위 매트릭스가 상응한 값을 순환 시프트한 후의 매트릭스이다. 그 중에서,
상기 기술된 특징에 의하면, 상하 인접 쌍은 기초 매트릭스의 어느 한 열 중의 넌제로 매트릭스에 대응되는 두 인접된 요소로 구성된 집합이고, 구체적으로는 도면 5중의 직사각형 선 박스 내의 2 요소와 같다. 그 중에서, 점선 박스는 제1 유형의 상하 인접 쌍이고, a=0에 대응되며, 실선 박스는 제2 유형의 상하 인접 쌍이고, b=1에 대응된다.
이로부터 알 수 있는 바와 같이, 4개의 제2 유형의 상하 인접 쌍이 존재하고, 이상의 기초 검사 매트릭스 중에서 인접된 두 행에 있어서 2개 이상의 제2 유형의 상하 인접 쌍이 존재하지 않는바, 예를 들면, 제0과 제1행은 단지 하나만 존재하며; 제1과 제2행은 단지 하나만 존재하며; 제2와 3행은 2개가 존재하며; 제3행과 제0행은 존재하지 않는다.
그리고 기초 매트릭스 Hb의 모든 열 중에서 첫번째로 넌제로 매트릭스에 대응되는 요소는 모두 0이다. 이때, 순환 시프트 네트워크는 단지 차이값을 순환 시프트하기만 하면 되는 바, 예를 들면 제1열에 있어서, 순환 시프트 네트워크는 단지 30-0, 20-30, 36-20, 0-36의 시프트를 구현하기만 하면 되며, 첫번째 기초 매트릭스의 로그 우도비율 정보는 1회의 완전한 LDPC 반복을 완성한 후 순서 위치에 돌아가고, 경판정을 진행할 수 있으며, 정확하다면 출력되고, 만일 에러라면 계속하여 반복한다. 이때, 본 발명의 실시예의 매트릭스 구조를 가지는 LDPC 계층형 디코더는 역네트워크를 순환 시프트할 필요가 없고, 전통적인 방안과 비교할 때 라우팅이 절반 감소된다. 나아가, 상기 프로세서의 디코딩은 계층형 BP 알고리즘 또는 수정의 최소 합 알고리즘을 이용하여 기초 매트릭스에 대하여 행 업데이트를 진행하는 바, 홀수 회 반복할 때, 제2 유형의 인접 쌍 외의 요소에 대응되는 사이드 정보에 대하여 업데이트를 진행하는 외, 단지 각 제2 유형의 인접 쌍 중의 한 요소에 대응되는 사이드 정보(검사 노드로부터 변수 노드로의 정보)에 대하여 업데이트를 진행하며; 짝수 회 반복할 때, 제2 유형의 인접 쌍 외의 요소에 대응되는 사이드 정보에 대하여 업데이트를 진행하는 외, 단지 각 제2 유형의 인접 쌍 중의 다른 한 요소에 대응되는 사이드 정보(검사 노드로부터 변수 노드로의 정보)에 대하여 업데이트를 진행한다.
아래, 본 발명의 실시예의 코드 구조의 디코딩에 대한 유익한 효과를 설명하도록 한다.
디코더의 병행도가 parallel = 21이고, 코드 워드 비트 서열에 매 zf =42 비트마다 하나의 로그 우도비율 LLR의 저장이 존재한다고 가정하면, 16개 LLR의 저장이 존재하고, 각 저장은 하나의 기초 매트릭스의 열에 대응된다. 각 LLR 저장에 있어서, wordnum = zf / parallel =2개 워드((word)가 포함되고, 하나의 워드가 기초 매트릭스의 1열에 대응되는 42개 비트 중의 홀수 비트를 저장하고, 다른 하나의 워드가 짝수 비트를 저장한다. 그 중에서, zf는 확장 인자이다.
디코더가 디코딩을 진행할 때, 각 층의 layernum(0부터 디코딩이 허용하는 최대 층)에 있어서, 하기 공식에 따라 패리티 검사 매트릭스 H의 21행에 대하여 업데이트를 진행하는 바,
rowind = RowindHb*zf + mod(layernummod,wordnum):wordnum:(RowindHb+1)*zf-1;
그 중에서, layernummod = mod(layernum,Totallayers),RowindHb = fix(layernummod * parallel/zf); Totallayers = Mb*zf/parallel = 8이며;
계층형 디코더는 제1시간 t0에서 0, 2, …, 40행에 대하여 행 업데이트를 진행하고, 제1층의 계층형 디코딩을 완성하며; 디코더는 제2시간 t1에서 1, 3, …, 41행에 대하여 행 업데이트를 진행하고, 제2층의 계층형 디코딩을 완성하며; 디코더는 제3시간 t2에서 42, 44, …, 82행에 대하여 행 업데이트를 진행하고, 제3층의 계층형 디코딩을 완성하며; 디코더는 제4시간 t3에서 43, 45, …, 83행에 대하여 행 업데이트를 진행하고, 제4층의 계층형 디코딩을 완성하며; 디코더는 제5시간 t4에서 84, 86, …, 124행에 대하여 행 업데이트를 진행하고, 제5층의 계층형 디코딩을 완성하며; 디코더는 제6시간 t5에서 85, 87, …, 125행에 대하여 행 업데이트를 진행하고, 제6층의 계층형 디코딩을 완성하며; 디코더는 제7시간 t6에서 126, 128, …, 166행에 대하여 행 업데이트를 진행하고, 제7층의 계층형 디코딩을 완성하며; 디코더는 제8시간 t7에서 127, 129, …, 167행에 대하여 행 업데이트를 진행하고, 제8층의 계층형 디코딩을 완성하며; 이로써 LDPC 코드의 1회의 완전한 디코딩을 완성하고, 수렴을 하지 않는다면, 디코딩에 성공하거나 또는 디코딩에 실패하고 또한 최대 허용 회수에 도달할 때까지 계속하여 상기 과정을 반복한다.
전통적인 디코더에 있어서, 제2층 디코딩 흐름이 완전히 완성되기를 기다린 후에야만 제3층의 계층형 디코딩을 진행하며, 여기에 아주 긴 대기 시간이 존재한다. 마찬가지로, 제4층 디코딩 흐름이 완전히 완성되기를 기다린 후에야만 제5층의 계층형 디코딩을 진행하며, 여기에 아주 긴 대기 시간이 존재한다. 마찬가지로, 제6층 디코딩 흐름이 완전히 완성되기를 기다린 후에야만 제7층의 계층형 디코딩을 진행하며, 여기에 아주 긴 대기 시간이 존재한다. 마찬가지로, 제6층 디코딩 흐름이 완전히 완성되기를 기다린 후에야만 제7층의 계층형 디코딩을 진행하며, 여기에 아주 긴 대기 시간이 존재한다. 이런 방식으로 유추할 수 있고, 이러한 대기 시간은 LDPC의 흐름선에 아주 큰 딜레이를 발생시켜 계층형 LDPC 코드 디코딩 속도를 크게 낮춘다. 도10에 도시된 바와 같이, 각 층의 LDPC가 한 클럭으로 읽고 한 클럭으로 처리하며 한 클럭으로 쓴다고 가정하면, 각 클럭이 T의 시간을 차지하고 완전한 LDPC 디코딩을 완성하려면 16*T의 시간이 필요하다.
본 발명의 설계에서 계층을 크로싱할 때 전 흐름이 사용한 word가 반드시 다음 흐름이 사용한 word와 달라야 한다는 것을 피면하고 또한 소량 충돌이 방생하는 위치에서 시간 분할 처리를 진행하였기 때문에, 도11에 도시된 바와 같이, 단지 13*T 시간이 필요하며; 사실상에서 전반적으로 볼 때 LDPC디코딩이 16*T 시간마다 4*T 시간을 절약할 수 있다.
본 발명의 실시예에 있어서, 병행도를 7로 선택하면 6개의 word가 존재하며, 만일 우선 홀수 word를 처리한 후 짝수 word를 처리하며, 도 4와 도 5에 도시된 것과 유사한 배열을 진행하면, 전반적으로 볼 때 LDPC는 32*T 시간의 필요하고, 본 발명의 디코딩은 12*T 시간을 절약할 수 있다. 효과가 더욱 선명하다.
본 발명의 실시예에 있어서, 병행도는 42까지 확장할 수 있고, 0, 2, …, 40행과 42, 44, …, 82행으로부터 동시에 디코딩을 진행할 수 있는 것은, 이러한 행은 동일한 주소의 데이터가 필요하기 때문이다. 그리고 또한 흐름선을 배열할 수 있으나, 간단한 계층형 디코딩 알고리즘이 아니며, 시간 절약 효과가 더욱 선명하다.
본 발명의 실시예에 있어서, 병행도는 84까지 확장할 수 있고, 0, 2, …, 40행과 42, 44, …, 82행과 84, 86, …, 124행과 126, 128, …, 166행으로부터 동시에 디코딩을 진행할 수 있는 것은 이러한 행은 동일한 주소의 데이터가 필요하기 때문이다. 그리고 또한 흐름선을 배열할 수 있으나, 간단한 계층형 디코딩 알고리즘이 아니며, 시간 절약 효과가 더욱 선명하다.
그러므로 본 발명의 실시예의 구조는 아주 높거나 또는 비교적 영활한 병행도를 지원할 수 있고, 초고속 디코딩을 만족시킬 수 있으므로 Gbps의 디코딩 요구에 도달할 수 있다. 본 실시예에서는 개시된 기초 매트릭스의 구조를 통하여 정보 비트에 대하여 LDPC 디코딩을 진행하고, LDPC 디코더가 LDPC 코드 워드를 수신한다. 이로써 LDPC 디코더는 디코딩의 흐름선 속도가 향상될 수 있도록 확보하는 바, 즉 디코더 처리 속도가 향상된다. 이는 LDPC 코드의 효율을 효과적으로 향상시고, 디코더 속도를 향상시킨다. 본 발명의 실시예에서 제공하는 기초 매트릭스의 구조는 역 순환 시프트 네트워크(쓰기저장에 이용됨)를 사용하지 않는 것을 허용하는 것을 통하여 또한 교환 네트워크를 감소시키고, 마찬가지로 나아가 하드웨어 복잡성을 감소시킨다.
실시예3
본 발명의 실시예에서는 구조적 LDPC 코드의 인코딩 방법을 제공하는바, 해당 방법을 이용하여 LDPC 인코딩을 완성하는 흐름은 도 8에 도시된 바와 같으며, 하기 단계가 포함된다.
801단계: 인코딩에 사용되는 K0개의 상하 인접 쌍이 포함된 기초 매트릭스를 확정하며;
본 단계에서, 상기 기초 매트릭스에는 시스템 비트에 대응되는 Mb×(Nb-Mb)의 블럭 A와 검사 비트에 대응되는 Mb×Mb의 블럭 B가 포함되고, 상기 기초 매트릭스에 있어서, K1개의 제1 유형의 상하 인접 쌍과 K2개의 제2 유형의 상하 인접 쌍이 포함되고, 그 중에서, K0=K1+K2이고, K0은 6*Mb보다 크거나 같은 양의 정수이고, K2는 0보다 크거나 같고 또한 2*Mb보다 작거나 같은 양의 정수이며, 상하 인접 쌍은 각 기초 매트릭스 중의 넌제로 매트릭스에 대응되는 두 요소 {hbij, hb((i+1) mod Mb)j }로 구성된 집합이며;
상기 제1 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod Q = a의 합동 상하 인접 쌍이며;
상기 제2 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod Q = b의 합동 상하 인접 쌍이며;
그 중에서, hbij는 상기 기초 매트릭스의 제i행과 j열의 요소를 표시하고, 그 중에서, a와 b는 다르며, a와 b는 0보다 크거나 같고 Q-1보다 작거나 같은 정수이고, Q는 확장 인자 z의 하나의 곱하기 인자이며, 제j열의 열웨이트는 상기 기초 매트릭스의 제j열의 넌제로 매트릭스에 대응되는 모든 요소의 수량을 가리키고, i는 상기 기초 매트릭스의 행 인덱스이고, j는 상기 기초 매트릭스의 열 인덱스이며, i=0, 1, …, Mb-1, j=0, 1, …, Nb-1이다.
만일 K2가 3보다 크거나 같다면, 임의의 인접된 두 행(x1행과 (x1+1)mod Mb행)에 있어서, 최대로 3개의 제2 유형의 인접 쌍이 존재하고, 그 중에서, 행 인덱스 x1의 값은 0부터Mb-1이다.
Q의 값은 하기 임의의 하나인 바, 즉
2, 3, 4, 5, 6, 7, 8이다.
상기 기초 매트릭스의 제j열의 넌제로 매트릭스에 대응되는 모든 요소는 Lj개가 있으며, 위로부터 아래로 첫번째 요소는 0이고, Lj는 1보다 크거나 같은 양의 정수이고, j=0, 1, …, Nb-1이다.
K0의 값은 하기 임의의 하나인 바, 즉
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12이다.
802단계: 상기 기초 매트릭스와 이에 대응되는 확장 인자에 의하여, (Nb-Mb)×z 비트의 소스 데이터로부터 Nb×z 비트 코드 워드를 취득하는 LDPC 코드 연산을 진행한다.
그 중에서, z는 확장 인자이고, z는 1보다 크거나 같은 양의 정수이다.
실시예4
본 발명의 실시예에서는 구조적 LDPC 코드의 디코딩 방법을 제공하는바, 해당 방법을 이용하여 LDPC 디코딩을 완성하는 흐름은 도 9에 도시된 바와 같으며, 하기 단계가 포함된다.
901단계: 디코딩에 사용되는 K0개의 상하 인접 쌍이 포함된 기초 매트릭스를 확정하며;
상기 기초 매트릭스에는 시스템 비트에 대응되는 Mb×(Nb-Mb)의 블럭 A와 검사 비트에 대응되는 Mb×Mb의 블럭 B가 포함되고, 상기 기초 매트릭스에 있어서, K1개의 제1 유형의 상하 인접 쌍과 K2개의 제2 유형의 상하 인접 쌍이 포함되고, 그 중에서, K0=K1+K2이고, K0은 6*Mb보다 크거나 같은 양의 정수이고, K2는 1보다 크거나 같고 또한 2*Mb보다 작거나 같은 양의 정수이며;
상하 인접 쌍은 각 기초 매트릭스 중의 넌제로 매트릭스에 대응되는 두 요소 {hbij,hb((i+1) mod Mb)j}로 구성된 집합이며;
상기 제1 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod Q = a의 합동 상하 인접 쌍이며;
상기 제2 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod Q = b의 합동 상하 인접 쌍이며;
그 중에서, hbij는 상기 기초 매트릭스의 제i행과 j열의 요소를 표시하고, 그 중에서, a와 b는 다르며, a와 b는 0보다 크거나 같고 Q-1보다 작거나 같은 정수이고, Q는 확장 인자 z의 하나의 곱하기 인자이며, 제j열의 열은 상기 기초 매트릭스의 제j열의 넌제로 매트릭스에 대응되는 모든 요소의 수량을 다시 가리키고, i는 상기 기초 매트릭스의 행 인덱스이고, j는 상기 기초 매트릭스의 열 인덱스이며, i=0, 1, …, Mb-1, j=0, 1, …, Nb-1이다.
만일 K2가 3보다 크거나 같다면, 임의의 인접된 두 행(x1행과 (x1+1)mod Mb행)에 있어서, 최대로 3개의 제2 유형의 인접 쌍이 존재한다. 그 중에서, x1의 값은 0 내지 Mb-1이다.
Q의 값은 하기 임의의 하나인 바, 즉
2, 3, 4, 5, 6, 7, 8이다.
상기 기초 매트릭스의 제j열의 넌제로 매트릭스에 대응되는 모든 요소는 Lj개가 있으며, 위로부터 아래로 첫번째 요소는 0이고, Lj는 1보다 크거나 같은 양의 정수이고, j=0, 1, …, Nb-1이다.
902단계: 상기 기초 매트릭스와 대응되는 확장 인자에 의하여, Nb×z 비트의 코드 워드로부터 (Nb-Mb)×z 비트 정보 데이터를 취득하는 LDPC 디코딩 연산을 진행하며;
그 중에서, z는 확장 인자이고, z는 1보다 크거나 같은 양의 정수이다.
본 단계는 구체적으로 하기와 같다.
1. 계층형 BP 알고리즘 또는 수정의 최소 합 알고리즘을 이용하여 상기 기초 매트릭스에 대하여 행 업데이트를 진행하는 바,
홀수 회 반복할 때, 제2 유형의 인접 쌍을 제외한 요소에 대응되는 사이드 정보에 대하여 업데이트를 진행하는 외, 단지 각 제2 유형의 인접 쌍 중의 한 요소에 대응되는 사이드 정보에 대하여 업데이트를 진행하며;
짝수 회 반복할 때, 제2 유형의 인접 쌍을 제외한 요소에 대응되는 사이드 정보에 대하여 업데이트를 진행하는 외, 단지 각 제2 유형의 인접 쌍 중의 다른 한 요소에 대응되는 사이드 정보에 대하여 업데이트를 진행하며;
상기 사이드 정보는 검사 노드로부터 변수 노드로의 정보인 것이 포함되며;
2. 상기 사이드 정보를 이용하여 코드 워드 로그 우도비율을 계산하고 또한 경판정을 진행하며, 또한 검사가 정확한지 여부를 검사하여, 만일 정확하다면 정확한 코드 워드를 출력하고, 만일 에러라면 계속하여 디코딩 처리를 진행한다.
실시예5
본 발명의 실시예에서는 구조적 LDPC 코드의 인코딩 장치를 제공하는 바, 이의 구조는 도 10에 도시된 바와 같고,
인코딩에 사용되는 K0개 상하 인접 쌍이 포함되는 기초 매트릭스를 확정하는 바, 상기 기초 매트릭스에는 시스템 비트에 대응되는 Mb×(Nb-Mb)의 블럭 A와 검사 비트에 대응되는 Mb×Mb의 블럭 B가 포함되고, 상기 기초 매트릭스에 있어서, K1개의 제1 유형의 상하 인접 쌍과 K2개의 제2 유형의 상하 인접 쌍이 포함되고, 그 중에서, K0=K1+K2이고, K0은 6*Mb보다 크거나 같은 양의 정수이고, K2는 0보다 크거나 같고 또한 2*Mb보다 작거나 같은 양의 정수이며, 상하 인접 쌍은 각 기초 매트릭스 중의 넌제로 매트릭스에 대응되는 두 요소 {hbij, hb((i+1) mod Mb)j}로 구성된 집합인 바, 즉 기초 매트릭스의 어느 한 열 중의 두 인접된 넌제로 매트릭스에 대응되는 두 요소로 구성된 집합이며, 그 중에서, 마지막 한 행과 제1행은 인접된 것으로 정의되고, 마지막 행은 제1행의 위 1행으로 정의되며,
상기 제1 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod Q = a의 합동 상하 인접 쌍이며,
상기 제2 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod Q = b의 합동 상하 인접 쌍이며,
그 중에서, hbij는 상기 기초 매트릭스의 제i행과 j열의 요소를 표시하고, 그 중에서, a와 b는 다르며, a와 b는 0보다 크거나 같고 Q-1보다 작거나 같은 정수이고, Q는 확장 인자 z의 하나의 곱하기 인자이며, 제j열의 열은 상기 기초 매트릭스의 제j열의 넌제로 매트릭스에 대응되는 모든 요소의 수량을 다시 가리키고, i는 상기 기초 매트릭스의 행 인덱스이고, j는 상기 기초 매트릭스의 열 인덱스이며, i=0, 1, …, Mb-1, j=0, 1, …, Nb-1이도록 설정되는 기초 매트릭스 저장 모듈(1001);
상기 기초 매트릭스와 이에 대응되는 확장 인자에 의하여, (Nb-Mb)×z 비트의 소스 데이터로부터 Nb×z 비트 코드 워드를 취득하는 LDPC 코드 연산을 진행하는 바, 그 중에서, z는 확산인자이며, 1보다 크거나 같은 정수이도록 설정되는 인코딩 연산 모듈(1002)이 포함된다.
바람직하게는, 만일 K2가 3보다 크거나 같다면, 임의의 인접된 두 행(x1행과 (x1+1)mod Mb행)에 있어서, 최대로 3개의 제2 유형의 인접 쌍이 존재하고, 그 중에서, 행 인덱스 x1의 값은 0부터Mb-1이다.
바람직하게는, Q의 값은 하기 임의의 하나인 바, 즉
2, 3, 4, 5, 6, 7, 8이다.
바람직하게는, 상기 기초 매트릭스의 제j열의 넌제로 매트릭스에 대응되는 모든 요소는 Lj개가 있으며, 위로부터 아래로 첫번째 요소는 0이고, Lj는 1보다 크거나 같은 양의 정수이고, j=0, 1, …, Nb-1이다.
바람직하게는, K0의 값은 하기 임의의 하나인 바, 즉
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12이다.
본 발명의 실시예에서는 또한 구조적 LDPC 코드의 디코딩 장치를 제공하는 바, 이의 구조는 도 11에 도시된 바와 같고,
디코딩에 사용되는 K0개 상하 인접 쌍이 포함되는 기초 매트릭스를 확정하는바, 상기 기초 매트릭스에는 시스템 비트에 대응되는 Mb×(Nb-Mb)의 블럭 A와 검사 비트에 대응되는 Mb×Mb의 블럭 B가 포함되고, 상기 기초 매트릭스에 있어서, K1개의 제1 유형의 상하 인접 쌍과 K2개의 제2 유형의 상하 인접 쌍이 포함되고, 그 중에서, K0=K1+K2이고, K0은 6*Mb보다 크거나 같은 양의 정수이고, K2는 1보다 크거나 같고 또한 2*Mb보다 작거나 같은 양의 정수이며,
상하 인접 쌍은 각 기초 매트릭스 Hb 중의 넌제로 매트릭스에 대응되는 두 요소 {hbij,hb((i+1) mod Mb)j}로 구성된 집합인 바, 즉 상기 기초 매트릭스의 어느 한 열 중의 인접된 넌제로 매트릭스에 대응되는 두 요소로 구성된 집합이며, 그 중에서, 마지막 한 행과 제1행은 인접된 것으로 정의되고, 마지막 행은 제1행의 위 1행으로 정의되며,
상기 제1 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod Q = a의 합동 상하 인접 쌍이며,
상기 제2 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod Q = b의 합동 상하 인접 쌍이며,
그 중에서, hbij는 상기 기초 매트릭스의 제i행과 j열의 요소를 표시하고, 그 중에서, a와 b는 다르며, a와 b는 0 내지 Q-1 사이의 정수이고, Q는 확장 인자 z의 하나의 곱하기 인자이며, 제j열의 열은 상기 기초 매트릭스의 제j열의 넌제로 매트릭스에 대응되는 모든 요소의 수량을 다시 가리키고, i는 상기 기초 매트릭스의 행 인덱스이고, j는 상기 기초 매트릭스의 열 인덱스이며, i=0, 1, …, Mb-1, j=0, 1, …, Nb-1이도록 설정된 기초 매트릭스 저장 모듈(1101);
상기 기초 매트릭스와 대응되는 확장 인자 z에 의하여, Nb×z 비트의 코드 워드로부터 (Nb-Mb)×z 비트 정보 데이터를 취득하는 LDPC 디코딩 연산을 진행하는 바, 그 중에서, z는 확장 인자이고 1보다 크거나 같은 양의 정수이도록 설정되는 디코딩 연산 모듈(1102)이 포함된다.
바람직하게는, 만일 K2가 3보다 크거나 같다면, 임의의 인접된 두 행(x1행과 (x1+1)mod Mb행)에 있어서, 최대로 3개의 제2 유형의 인접 쌍이 존재한다. 그 중에서, x1의 값은 0 내지 Mb-1이다.
바람직하게는, Q의 값은 하기 임의의 하나인 바, 즉
2, 3, 4, 5, 6, 7, 8이다.
바람직하게는, 상기 기초 매트릭스의 제j열의 넌제로 매트릭스에 대응되는 모든 요소는 Lj개가 있으며, 위로부터 아래로 첫번째 요소는 0이고, Lj는 1보다 크거나 같은 양의 정수이고, j=0, 1, …, Nb-1이다.
바람직하게는, 상기 디코딩 연산 모듈(1102)에는,
계층형 BP 알고리즘 또는 수정의 최소 합 알고리즘을 이용하여 상기 기초 매트릭스에 대하여 행 업데이트를 진행하는 바,
홀수 회 반복할 때, 제2 유형의 인접 쌍을 제외한 요소에 대응되는 사이드 정보에 대하여 업데이트를 진행하는 외, 단지 각 제2 유형의 인접 쌍 중의 한 요소에 대응되는 사이드 정보에 대하여 업데이트를 진행하며;
짝수 회 반복할 때, 제2 유형의 인접 쌍을 제외한 요소에 대응되는 사이드 정보에 대하여 업데이트를 진행하는 외, 단지 각 제2 유형의 인접 쌍 중의 다른 한 요소에 대응되는 사이드 정보에 대하여 업데이트를 진행하며;
상기 사이드 정보는 검사 노드로부터 변수 노드로의 정보인 것이 포함되도록 설정되는 기초 매트릭스의 행 업데이트 유닛(11021);
상기 사이드 정보를 이용하여 코드 워드 로그 우도비율을 계산하고 또한 경판정을 진행하며, 또한, 검사가 정확한지 여부를 검사하여, 만일 정확하다면 정확한 코드 워드를 출력하고, 만일 에러라면 계속하여 디코딩 처리를 진행하도록 설정되는 디코딩 판정 유닛(11022)이 포함된다.
본 발명의 실시예에서는 구조적 LDPC의 인코딩 방법, 디코딩 방법, 인코딩 장치 및 디코딩 장치를 제공한다. 인코딩 또는 디코딩에 사용되는 K0개의 상하 인접 쌍이 포함된 기초 매트릭스를 확정하는 것을 통하여, 상기 기초 매트릭스와 이에 대응되는 확장 인자에 의하여 인코딩 또는 디코딩을 완성하고, 높은 흐름선 속도의 LDPC 인코딩과 디코딩을 구현하며, 종래의 인코더/디코더의 효율이 낮은 문제를 해결하였다. 본 발명의 실시예에서 설계한 매트릭스는 특정된 디코딩 알고리즘을 결합시켜 획기적으로 디코더 효율을 향상시키고, 초고속 저 복잡성 LDPC 코드의 발전과 응용에 중요한 의미를 갖는다. 본 발명의 실시예에서 제공하는 기술방안은 디지털 통신 시스템 중의 데이터 전송의 오류 수정 코딩 기술에 적용될 수 있고, 효율이 향상되거나 또는 복잡성이 감소된 LDPC 코드를 취득할 수 있으며, 초고속의 상황에 특히 적합하다.
당업계의 기술자들은 상기 실시예의 전부 또는 일부 단계는 컴퓨터 프로그램의 형식으로 구현될 수 있음을 이해할 것이며, 상기 컴퓨터 프로그램은 컴퓨터 판독가능한 저장 매체에 저장될 수 있고, 상기 컴퓨터 프로그램은 상응한 하드웨어 플랫폼(예를 들면 시스템, 설비, 장치, 소자 등) 상에서 실행될 수 있고, 실행 시 방법 실시예의 한 단계 또는 이들의 조합을 포함할 수 있다.
선택적으로,상기 실시예의 모든 또는 일부 단계는 하나 또는 다수의 직접회로를 이용하여 구현할 수 있으며, 이러한 단계는 각각 하나 하나의 집적 회로 모듈로 제작하거나, 또는 이들 중의 다수의 모듈 또는 단계를 단일 직접 회로 모듈로 제작하여 구현할 수 있다. 이로써 본 발명은 어떠한 특정된 하드웨어와 소프트웨어 결합의 제한을 받지 않는다.
상기 실시예 중의 각 장치/ 기능 모듈/ 기능 유닛은 범용 컴퓨터 장치를 이용하여 구현할 수 있으며, 이들은 단일 컴퓨터 장치 상에 집중될 수도 있고, 또한 다수 컴퓨터 장치로 구성된 네트워크 상에 분산될 수도 있다.
상기 실시예 중의 각 장치/ 기능 모듈/ 기능 유닛이 소프트웨어 기능 모듈의 형식으로 구현되고 또한 독립적인 제품으로 판매 또는 사용될 때, 하나의 컴퓨터 판독가능한 저장 매체에 저장될 수 있다. 상기 컴퓨터 판독가능한 저장 매체는 ROM, 디스크 또는 CD일 수 있다.
이상에서는 본 발명을 특정의 실시예에 대해서 도시하고 설명하였지만, 본 발명은 상술한 실시예만 한정되는 것은 아니다. 본 발명이 속하는 기술분야에서 속하는 기술분야에서 통상의 지식을 가진 자라면 이하의 청구범위에 기재된 본 발명의 기술적 사상의 요지를 벗어나지 않는 범위에서 얼마든지 다양하게 변경하여 실시할 수 있을 것이다.
산업상 활용성
본 발명의 실시예의 구조적 LDPC 코드에 적용되는 인코딩/디코딩을 통하여, 높은 흐름선 속도의 LDPC 인코딩과 디코딩을 구현하였다.

Claims (24)

  1. 구조적 저밀도 패리티 검사 LDPC의 인코딩 방법에 있어서,
    인코딩에 사용되는 Mb×Nb 기초 매트릭스를 확정하는바, 상기 기초 매트릭스에는 시스템 비트에 대응되는 Mb×(Nb-Mb)의 블럭 A와 검사 비트에 대응되는 Mb×Mb의 블럭 B가 포함되고, 상기 기초 매트릭스에는 K0개의 상하 인접 쌍이 포함되며, 상기 K0개의 상하 인접 쌍에는 K1개의 제1 유형의 상하 인접 쌍과 K2개의 제2 유형의 상하 인접 쌍이 포함되고, K0=K1+K2이고, K0은 6*Mb보다 크거나 같은 양의 정수이고, K2는 0보다 크거나 같고 또한 2*Mb보다 작거나 같은 양의 정수이며, 상기 상하 인접 쌍은 상기 기초 매트릭스 중의 넌제로(non zero) 매트릭스에 대응되는 두 요소 {hbij, hb((i+1) mod Mb)j}로 구성된 집합이며,
    상기 제1 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod Q = a의 합동(congruence) 상하 인접 쌍이며,
    상기 제2 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod Q = b의 합동 상하 인접 쌍이며,
    hbij는 상기 기초 매트릭스의 제i행과 j열의 요소를 표시하고, a와 b는 다르며, a와 b는 0보다 크거나 같고 Q-1보다 작거나 같은 정수이고, Q는 확장 인자 z의 하나의 곱하기 인자이며, i는 상기 기초 매트릭스의 행 인덱스이고, j는 상기 기초 매트릭스의 열 인덱스이며, i=0, 1, …, Mb-1, j=0, 1, …, Nb-1이며;
    상기 기초 매트릭스와 이에 대응되는 확장 인자 z에 의하여, (Nb-Mb)×z 비트의 소스 데이터로부터 Nb×z 비트 코드 워드를 취득하는 LDPC인코딩 연산을 진행하는바, z는 1보다 크거나 같은 양의 정수인 것이 포함되는 것을 특징으로 하는,
    구조적 저밀도 패리티 검사 LDPC의 인코딩 방법.
  2. 제1항에 있어서,
    만일 K2가 3보다 크거나 같다면, 임의의 제x1행과 제(x1+1)mod Mb행에 있어서, 최대로 3개의 제2 유형의 인접 쌍이 존재하고, 그 중에서, x1=0, 1, …, Mb-1인 것을 특징으로 하는,
    구조적 저밀도 패리티 검사 LDPC의 인코딩 방법.
  3. 제1항에 있어서, Q의 값은
    2, 3, 4, 5, 6, 7, 8중의 임의의 하나인 것을 특징으로 하는,
    구조적 저밀도 패리티 검사 LDPC의 인코딩 방법.
  4. 제1항에 있어서,
    상기 기초 매트릭스의 제j열의 넌제로 매트릭스에 대응되는 모든 요소는 Lj개가 있으며, 위로부터 아래로 첫번째 요소는 0이고, Lj는 1보다 크거나 같은 양의 정수이고, j=0, 1, …, Nb-1인 것을 특징으로 하는,
    구조적 저밀도 패리티 검사 LDPC의 인코딩 방법.
  5. 제1항에 있어서, K0의 값은
    1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12중의 임의의 하나인 것을 특징으로 하는,
    구조적 저밀도 패리티 검사 LDPC의 인코딩 방법.
  6. 구조적 저밀도 패리티 검사 LDPC의 디코딩 방법에 있어서,
    디코딩에 사용되는 Mb×Nb 기초 매트릭스를 확정하는바, 상기 기초 매트릭스에는 시스템 비트에 대응되는 Mb×(Nb-Mb)의 블럭 A와 검사 비트에 대응되는 Mb×Mb의 블럭 B가 포함되고, 상기 기초 매트릭스에는 K0개의 상하 인접 쌍이 포함되며, 상기 K0개의 상하 인접 쌍에는 K1개의 제1 유형의 상하 인접 쌍과 K2개의 제2 유형의 상하 인접 쌍이 포함되고, K0=K1+K2이고, K0은 6*Mb보다 크거나 같은 양의 정수이고, K2는 0보다 크거나 같고 또한 2*Mb보다 작거나 같은 양의 정수이며, 상기 상하 인접 쌍은 상기 기초 매트릭스 중의 넌제로 매트릭스에 대응되는 두 요소 {hbij, hb((i+1) mod Mb)j}로 구성된 집합이며;
    상기 제1 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod Q = a의 합동 상하 인접 쌍이며;
    상기 제2 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod Q = b의 합동 상하 인접 쌍이며;
    hbij는 상기 기초 매트릭스의 제i행과 j열의 요소를 표시하고, a와 b는 다르며, a와 b는 0보다 크거나 같고 Q-1보다 작거나 같은 정수이고, Q는 상기 기초 매트릭스에 대응되는 확장 인자 z의 하나의 곱하기 인자이며, i는 상기 기초 매트릭스의 행 인덱스이고, j는 상기 기초 매트릭스의 열 인덱스이며, i=0, 1, …, Mb-1, j=0, 1, …, Nb-1이며;
    상기 기초 매트릭스와 대응되는 확장 인자 z에 의하여, Nb×z 비트의 코드 워드로부터 (Nb-Mb)×z 비트 정보 데이터를 취득하는 LDPC 디코딩 연산을 진행하는바, z는 1보다 크거나 같은 양의 정수인 것이 포함되는 것을 특징으로 하는,
    구조적 저밀도 패리티 검사 LDPC의 디코딩 방법.
  7. 제6항에 있어서,
    만일 K2가 3보다 크거나 같다면, 임의의 제x1행과 제(x1+1) mod Mb행에 있어서, 최대로 3개의 제2 유형의 인접 쌍이 존재하고, 그 중에서, x1=0, 1, …, Mb-1인 것을 특징으로 하는,
    구조적 저밀도 패리티 검사 LDPC의 디코딩 방법.
  8. 제6항에 있어서, Q의 값은
    2, 3, 4, 5, 6, 7, 8중의 임의의 하나인 것을 특징으로 하는,
    구조적 저밀도 패리티 검사 LDPC의 디코딩 방법.
  9. 제6항에 있어서,
    상기 기초 매트릭스의 제j열의 넌제로 매트릭스에 대응되는 모든 요소는 Lj개가 있으며, 위로부터 아래로 첫번째 요소는 0이고, Lj는 1보다 크거나 같은 양의 정수이고, j=0, 1, …, Nb-1인 것을 특징으로 하는,
    구조적 저밀도 패리티 검사 LDPC의 디코딩 방법.
  10. 제6항에 있어서,
    상기 기초 매트릭스와 대응되는 확장 인자에 의하여, Nb×z 비트의 코드 워드로부터 (Nb-Mb)×z 비트 정보 데이터를 취득하는 LDPC 디코딩 연산을 진행하는 것에는,
    계층형 신뢰도 확산 BP 알고리즘 또는 수정의 최소 합 알고리즘을 이용하여 상기 기초 매트릭스에 대하여 행 업데이트를 진행하는바,
    홀수 회 반복할 때, 제2 유형의 인접 쌍 외의 요소에 대응되는 사이드 정보에 대하여 업데이트를 진행하는 외, 단지 각 제2 유형의 인접 쌍 중의 한 요소에 대응되는 사이드 정보에 대하여 업데이트를 진행하며,
    짝수 회 반복할 때, 제2 유형의 인접 쌍 외의 요소에 대응되는 사이드 정보에 대하여 업데이트를 진행하는 외, 단지 각 제2 유형의 인접 쌍 중의 다른 한 요소에 대응되는 사이드 정보에 대하여 업데이트를 진행하며,
    상기 사이드 정보는 검사 노드로부터 변수 노드로의 정보인 것이 포함되며;
    상기 사이드 정보를 이용하여 코드 워드 로그 우도비율을 계산하고 또한 경판정을 진행하며, 또한 검사가 정확한지 여부를 검사하여, 만일 정확하다면 정확한 코드 워드를 출력하고, 만일 에러라면 계속하여 디코딩 처리를 진행하는 것을 포함하는 특징으로 하는,
    구조적 저밀도 패리티 검사 LDPC의 디코딩 방법.
  11. 구조적 저밀도 패리티 검사 LDPC의 인코딩 장치에 있어서,
    적어도 인코딩에 사용되는 Mb×Nb 기초 매트릭스를 저장하는바, 상기 기초 매트릭스에는 시스템 비트에 대응되는 Mb×(Nb-Mb)의 블럭 A와 검사 비트에 대응되는 Mb×Mb의 블럭 B가 포함되고, 상기 기초 매트릭스에는 K0개의 상하 인접 쌍이 포함되며, 상기 K0개의 상하 인접 쌍에는 K1개의 제1 유형의 상하 인접 쌍과 K2개의 제2 유형의 상하 인접 쌍이 포함되고, K0=K1+K2이고, K0은 6*Mb보다 크거나 같은 양의 정수이고, K2는 0보다 크거나 같고 또한 2*Mb보다 작거나 같은 양의 정수이며, 상기 상하 인접 쌍은 상기 기초 매트릭스 중의 넌제로 매트릭스에 대응되는 두 요소 {hbij, hb((i+1) mod Mb)j}로 구성된 집합이며;
    상기 제1 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod Q = a의 합동 상하 인접 쌍이며;
    상기 제2 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod Q = b의 합동 상하 인접 쌍이며;
    hbij는 상기 기초 매트릭스의 제i행과 j열의 요소를 표시하고, a와 b는 다르며, a와 b는 0보다 크거나 같고 Q-1보다 작거나 같은 정수이고, Q는 확장 인자 z의 하나의 곱하기 인자이며, i는 상기 기초 매트릭스의 행 인덱스이고, j는 상기 기초 매트릭스의 열 인덱스이며, i=0, 1, …, Mb-1, j=0, 1, …, Nb-1이도록 설정되는 기초 매트릭스 저장 모듈; 및
    상기 기초 매트릭스와 이에 대응되는 확장 인자 z를 확정하고, (Nb-Mb)×z 비트의 소스 데이터로부터 Nb×z 비트 코드 워드를 취득하는 LDPC 인코딩 연산을 진행하는바, z는 1보다 크거나 같은 양의 정수이도록 설정되는 인코딩 연산 모듈;이 포함되는 것을 특징으로 하는,
    구조적 저밀도 패리티 검사 LDPC의 인코딩 장치.
  12. 제11항에 있어서,
    만일 K2가 3보다 크거나 같다면, 임의의 제x1행과 제(x1+1)mod Mb행에 있어서, 최대로 3개의 제2 유형의 인접 쌍이 존재하고, x1=0, 1, …, Mb-1인 것을 특징으로 하는,
    구조적 저밀도 패리티 검사 LDPC의 인코딩 장치.
  13. 제11항에 있어서, Q의 값은
    2, 3, 4, 5, 6, 7, 8중의 임의의 하나인 것을 특징으로 하는,
    구조적 저밀도 패리티 검사 LDPC의 인코딩 장치.
  14. 제11항에 있어서,
    상기 기초 매트릭스의 제j열의 넌제로 매트릭스에 대응되는 모든 요소는 Lj개가 있으며, 위로부터 아래로 첫번째 요소는 0이고, Lj는 1보다 크거나 같은 양의 정수이고, j=0, 1, …, Nb-1인 것을 특징으로 하는,
    구조적 저밀도 패리티 검사 LDPC의 인코딩 장치.
  15. 제11항에 있어서, K0의 값은
    1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12중의 임의의 하나인 것을 특징으로 하는,
    구조적 저밀도 패리티 검사 LDPC의 인코딩 장치.
  16. 구조적 저밀도 패리티 검사 LDPC의 디코딩 장치에 있어서,
    적어도 디코딩에 사용되는 Mb×Nb 기초 매트릭스를 저장하는바, 상기 기초 매트릭스에는 시스템 비트에 대응되는 Mb×(Nb-Mb)의 블럭 A와 검사 비트에 대응되는 Mb×Mb의 블럭 B가 포함되고, 상기 기초 매트릭스에는 K0개의 상하 인접 쌍이 포함되며, 상기 K0개의 상하 인접 쌍에는 K1개의 제1 유형의 상하 인접 쌍과 K2개의 제2 유형의 상하 인접 쌍이 포함되고, K0=K1+K2이고, K0은 6*Mb보다 크거나 같은 양의 정수이고, K2는 0보다 크거나 같고 또한 2*Mb보다 작거나 같은 양의 정수이며, 상기 상하 인접 쌍은 상기 기초 매트릭스 중의 넌제로 매트릭스에 대응되는 두 요소 {hbij, hb((i+1) mod Mb)j}로 구성된 집합이며;
    상기 제1 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod Q = a의 합동 상하 인접 쌍이며;
    상기 제2 유형의 상하 인접 쌍은 (hbij-hb((i+1) mod Mb)j) mod Q = b의 합동 상하 인접 쌍이며;
    hbij는 상기 기초 매트릭스의 제i행과 j열의 요소를 표시하고, a와 b는 다르며, a와 b는 0보다 크거나 같고 Q-1보다 작거나 같은 정수이고, Q는 확장 인자 z의 하나의 곱하기 인자이며, i는 상기 기초 매트릭스의 행 인덱스이고, j는 상기 기초 매트릭스의 열 인덱스이며, i=0, 1, …, Mb-1, j=0, 1, …, Nb-1이도록 설정되는 기초 매트릭스 저장 모듈; 및
    상기 기초 매트릭스와 대응되는 확장 인자 z를 확정하고, Nb×z 비트의 코드 워드로부터 (Nb-Mb)×z 비트 정보 데이터를 취득하는 LDPC 디코딩 연산을 진행하는 바, 그 중에서, z는 1보다 크거나 같은 양의 정수이도록 설정되는 디코딩 연산 모듈; 이 포함되는 것을 특징으로 하는,
    구조적 저밀도 패리티 검사 LDPC의 디코딩 장치.
  17. 제16항에 있어서,
    만일 K2가 3보다 크거나 같다면, 임의의 제x1행과 제(x1+1)mod Mb행에 있어서, 최대로 3개의 제2 유형의 인접 쌍이 존재하고, x1=0, 1, …, Mb-1인 것을 특징으로 하는,
    구조적 저밀도 패리티 검사 LDPC의 디코딩 장치.
  18. 제16항에 있어서, Q의 값은
    2, 3, 4, 5, 6, 7, 8중의 임의의 하나인 것을 특징으로 하는,
    구조적 저밀도 패리티 검사 LDPC의 디코딩 장치.
  19. 제16항에 있어서,
    상기 기초 매트릭스의 제j열의 넌제로 매트릭스에 대응되는 모든 요소는 Lj개가 있으며, 위로부터 아래로 첫번째 요소는 0이고, Lj는 1보다 크거나 같은 양의 정수이고, j=0, 1, …, Nb-1인 것을 특징으로 하는,
    구조적 저밀도 패리티 검사 LDPC의 디코딩 장치.
  20. 제16항에 있어서, 상기 디코딩 연산 모듈에는,
    홀수 회 반복할 때, 제2 유형의 인접 쌍 외의 요소에 대응되는 사이드 정보에 대하여 업데이트를 진행하는 외, 단지 각 제2 유형의 인접 쌍 중의 한 요소에 대응되는 사이드 정보에 대하여 업데이트를 진행하며,
    짝수 회 반복할 때, 제2 유형의 인접 쌍 외의 요소에 대응되는 사이드 정보에 대하여 업데이트를 진행하는 외, 단지 각 제2 유형의 인접 쌍 중의 다른 한 요소에 대응되는 사이드 정보에 대하여 업데이트를 진행하며,
    상기 사이드 정보는 검사 노드로부터 변수 노드로의 정보인, 것이 포함되는 계층형 신뢰도 확산 BP 알고리즘 또는 수정의 최소 합 알고리즘을 이용하여 상기 기초 매트릭스에 대하여 행 업데이트를 진행하도록 설정되는 기초 매트릭스의 행 업데이트 유닛; 및
    상기 사이드 정보를 이용하여 코드 워드 로그 우도비율을 계산하고 또한 경판정을 진행하며, 또한 검사가 정확한지 여부를 검사하여, 만일 정확하다면 정확한 코드 워드를 출력하고, 만일 에러라면 계속하여 디코딩 처리를 진행하도록 설정되는 디코딩 판정 유닛;이 포함되는 것을 특징으로 하는,
    구조적 저밀도 패리티 검사 LDPC의 디코딩 장치.
  21. 컴퓨터 프로그램에 있어서,
    프로그램 명령이 포함되고, 해당 프로그램 명령이 인코딩 장치에 의하여 실행되면, 해당 인코딩 장치는 제1항 내지 제5항의 임의 한 항의 상기 방법을 실행할 수 있는,
    컴퓨터 프로그램.
  22. 제21항의 컴퓨터 프로그램이 적재된 캐리어.
  23. 컴퓨터 프로그램에 있어서,
    프로그램 명령이 포함되고, 해당 프로그램 명령이 디코딩 장치에 의하여 실행되면, 해당 디코딩 장치는 제6항 내지 제10항의 임의 한 항의 상기 방법을 실행할 수 있는,
    컴퓨터 프로그램.
  24. 제23항의 컴퓨터 프로그램이 적재된 캐리어.
KR1020167025944A 2014-02-21 2014-08-25 구조적 ldpc의 인코딩 방법, 디코딩 방법, 인코딩 장치 및 디코딩 장치 KR101789959B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201410061163.0A CN104868925B (zh) 2014-02-21 2014-02-21 结构化ldpc码的编码方法、译码方法、编码装置和译码装置
CN201410061163.0 2014-02-21
PCT/CN2014/085132 WO2015123979A1 (zh) 2014-02-21 2014-08-25 结构化ldpc的编码方法、译码方法、编码装置和译码装置

Publications (2)

Publication Number Publication Date
KR20160122261A true KR20160122261A (ko) 2016-10-21
KR101789959B1 KR101789959B1 (ko) 2017-10-25

Family

ID=53877603

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167025944A KR101789959B1 (ko) 2014-02-21 2014-08-25 구조적 ldpc의 인코딩 방법, 디코딩 방법, 인코딩 장치 및 디코딩 장치

Country Status (7)

Country Link
US (1) US10320419B2 (ko)
EP (2) EP3110009B1 (ko)
JP (1) JP6555759B2 (ko)
KR (1) KR101789959B1 (ko)
CN (1) CN104868925B (ko)
ES (1) ES2788664T3 (ko)
WO (1) WO2015123979A1 (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106160937B (zh) 2015-04-15 2019-01-04 中兴通讯股份有限公司 一种实现码块分割的方法及装置
CN106921395B (zh) * 2015-12-28 2021-09-28 北京忆芯科技有限公司 Ldpc编码方法及其装置
WO2017193558A1 (zh) * 2016-05-13 2017-11-16 中兴通讯股份有限公司 结构化ldpc码的数据处理方法及装置
CN107370489B (zh) 2016-05-13 2020-07-28 中兴通讯股份有限公司 结构化ldpc码的数据处理方法及装置
CN116827357A (zh) 2016-05-13 2023-09-29 中兴通讯股份有限公司 一种结构化低密度奇偶校验码ldpc的编码、译码方法及装置
CN107733440B (zh) * 2016-08-12 2022-12-02 中兴通讯股份有限公司 多边类型结构化ldpc处理方法及装置
US10270466B2 (en) * 2016-08-15 2019-04-23 Hughes Network Systems, Llc LDPC performance improvement using SBE-LBD decoding method and LBD collision reduction
CN107888198B (zh) 2016-09-30 2023-05-26 中兴通讯股份有限公司 准循环ldpc编译码方法、装置及ldpc编译码器
WO2018084735A1 (en) * 2016-11-03 2018-05-11 Huawei Technologies Co., Ltd. Efficiently decodable qc-ldpc code
CN108023598B (zh) * 2016-11-03 2021-05-07 华为技术有限公司 编码方法、译码方法及无线通信设备
CN108234064B (zh) * 2016-12-09 2022-05-03 中兴通讯股份有限公司 准循环ldpc码数据处理装置及处理方法
CN108270448B (zh) * 2017-01-04 2022-11-15 中兴通讯股份有限公司 准循环低密度奇偶校验编码方法及装置
CN110430010B (zh) * 2017-01-05 2020-08-07 华为技术有限公司 信息处理的方法和设备
WO2018126914A1 (zh) * 2017-01-09 2018-07-12 中兴通讯股份有限公司 准循环低密度奇偶校验码的编码方法及装置、存储介质
TWI652907B (zh) * 2017-01-09 2019-03-01 聯發科技股份有限公司 用於新無線電低密度奇偶校驗碼的偏移係數和提升因數設計
CN106921396B (zh) * 2017-03-02 2019-12-06 电子科技大学 一种用于ldpc码的混合译码方法
CN108631925B (zh) * 2017-03-24 2022-05-03 中兴通讯股份有限公司 一种准循环低密度奇偶校验编码处理方法及装置
SG11202009379VA (en) 2017-03-24 2020-10-29 Zte Corp Processing method and device for quasi-cyclic low density parity check coding
CN114614947A (zh) * 2017-05-04 2022-06-10 三星电子株式会社 在通信或广播***中用于信道编码和解码的方法和设备
WO2018201912A1 (zh) * 2017-05-05 2018-11-08 电信科学技术研究院有限公司 低密度奇偶校验码的基础图选择方法及装置
CN108809509B (zh) * 2017-05-05 2021-01-22 电信科学技术研究院 低密度奇偶校验码的基础图选择方法及装置
AU2017418080B9 (en) 2017-06-15 2021-01-28 Huawei Technologies Co., Ltd. Information processing method and communication apparatus
US10623139B2 (en) * 2017-06-23 2020-04-14 Samsung Electronics Co., Ltd. Method and apparatus for channel encoding and decoding in communication or broadcasting system
KR102378706B1 (ko) * 2017-06-23 2022-03-28 삼성전자 주식회사 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
CN109327225B9 (zh) 2017-06-27 2021-12-10 华为技术有限公司 信息处理的方法、装置和通信设备
CN110677157B (zh) 2017-06-27 2023-02-07 华为技术有限公司 信息处理的方法、装置和通信设备
CN108712174B9 (zh) * 2017-06-27 2019-08-30 华为技术有限公司 信息处理的方法、装置和通信设备
CN109391367B (zh) * 2017-08-11 2022-12-30 华为技术有限公司 通信方法和装置
CN109951250B (zh) * 2017-12-21 2021-01-08 华为技术有限公司 通信信号的ldpc编码方法和装置
CN109995379B (zh) * 2017-12-29 2021-07-16 华为技术有限公司 处理信息的方法和装置
CN110661593B (zh) * 2018-06-29 2022-04-22 中兴通讯股份有限公司 一种译码器、方法和计算机存储介质
CN111064475A (zh) * 2018-10-16 2020-04-24 华为技术有限公司 基于低密度奇偶校验码的译码方法及装置
CN111224673A (zh) * 2018-11-26 2020-06-02 中兴通讯股份有限公司 译码方法、装置及译码器
CN112583419B (zh) * 2019-09-30 2024-06-18 华为技术有限公司 一种译码方法及装置
CN115250162A (zh) * 2021-04-26 2022-10-28 华为技术有限公司 码字同步方法、接收器、网络设备及网络***

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1641128A1 (en) * 2004-09-22 2006-03-29 STMicroelectronics N.V. Method and device for delivering punctured code words encoded with a LDPC code.
US7752521B2 (en) * 2004-10-12 2010-07-06 Nortel Networks Limited Low density parity check (LDPC) code
CN100550655C (zh) * 2004-11-04 2009-10-14 中兴通讯股份有限公司 一种低密度奇偶校验码的编码器/译码器及其生成方法
KR101216075B1 (ko) * 2004-12-22 2012-12-26 엘지전자 주식회사 채널 코드를 이용한 복호화 및 복호화 장치
CN100486150C (zh) * 2005-01-23 2009-05-06 中兴通讯股份有限公司 基于非正则低密度奇偶校验码的编译码器及其生成方法
US7774675B1 (en) * 2005-12-05 2010-08-10 Marvell International Ltd. LDPC codes and expansion method
US8028216B1 (en) * 2006-06-02 2011-09-27 Marvell International Ltd. Embedded parity coding for data storage
CN101212277A (zh) * 2006-12-29 2008-07-02 中兴通讯股份有限公司 支持多协议标准的ldpc码译码装置
CN101217337B (zh) * 2007-01-01 2013-01-23 中兴通讯股份有限公司 一种支持递增冗余混合自动重传的低密度奇偶校验码编码装置和方法
CN101325474B (zh) * 2007-06-12 2012-05-09 中兴通讯股份有限公司 Ldpc码的混合自动请求重传的信道编码及调制映射方法
JP4487213B2 (ja) * 2007-10-19 2010-06-23 ソニー株式会社 復号装置および方法、並びにプログラム
US20090113256A1 (en) * 2007-10-24 2009-04-30 Nokia Corporation Method, computer program product, apparatus and device providing scalable structured high throughput LDPC decoding
US8392786B2 (en) * 2008-05-07 2013-03-05 Broadcom Corporation LDPC coding systems for 60 GHz millimeter wave based physical layer extension
US8370711B2 (en) * 2008-06-23 2013-02-05 Ramot At Tel Aviv University Ltd. Interruption criteria for block decoding
JP2010114862A (ja) * 2008-10-10 2010-05-20 Panasonic Corp 符号化器、送信装置及び符号化方法
US8627166B2 (en) * 2011-03-16 2014-01-07 Samsung Electronics Co., Ltd. LDPC code family for millimeter-wave band communications in a wireless network
CN103220005B (zh) * 2013-05-02 2017-04-12 广州海格通信集团股份有限公司 用于生成ldpc码校验矩阵的方法、及该ldpc码编码方法
CN103236860B (zh) * 2013-05-02 2016-09-07 广州海格通信集团股份有限公司 用于生成ldpc码校验矩阵的方法、及该ldpc码编码方法
CN104202057B (zh) * 2014-02-12 2019-08-16 中兴通讯股份有限公司 信息处理方法及装置

Also Published As

Publication number Publication date
US20170230058A1 (en) 2017-08-10
US10320419B2 (en) 2019-06-11
EP3799313A1 (en) 2021-03-31
EP3110009A4 (en) 2017-03-08
JP2017506469A (ja) 2017-03-02
KR101789959B1 (ko) 2017-10-25
EP3110009B1 (en) 2020-03-11
CN104868925A (zh) 2015-08-26
CN104868925B (zh) 2019-01-22
WO2015123979A1 (zh) 2015-08-27
EP3110009A1 (en) 2016-12-28
ES2788664T3 (es) 2020-10-22
JP6555759B2 (ja) 2019-08-07

Similar Documents

Publication Publication Date Title
KR101789959B1 (ko) 구조적 ldpc의 인코딩 방법, 디코딩 방법, 인코딩 장치 및 디코딩 장치
JP7372369B2 (ja) 構造的ldpcの符号化、復号化方法および装置
US8347170B2 (en) Method and apparatus for performing decoding using LDPC code
CN110114978B (zh) 高效可解码qc-ldpc码
US6961888B2 (en) Methods and apparatus for encoding LDPC codes
WO2019028072A1 (en) VERTICAL LAYER FINAL ALPHABET ICE DECODING
JP2008259051A (ja) 符号化方法および符号化装置、並びにプログラム
CN113612486B (zh) 一种构建pbrl ldpc码的基矩阵方法、***、装置及存储介质
JP2007215089A (ja) 復号装置及び復号方法
CN104917536A (zh) 一种支持低码率编码的方法及装置
JP2006339799A (ja) イレギュラー低密度パリティチェック符号復号器及び方法
JP4832447B2 (ja) チャネルコードを用いた復号化装置及び方法
JP4819470B2 (ja) 復号装置および復号方法
US10727869B1 (en) Efficient method for packing low-density parity-check (LDPC) decode operations
US11075650B1 (en) Sub-matrix reduction for quasi-cyclic LDPC codes
KR20090064709A (ko) Ldpc 부호의 패리티 검사 행렬 생성 장치 및 그방법과, 그를 이용한 ldpc 부/복호화 장치
JP5510447B2 (ja) 復号装置および復号方法
Yu et al. Systematic construction, verification and implementation methodology for LDPC codes
CN118138057A (zh) 一种ccsds标准中ldpc译码器的码字存储方法

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