KR102347823B1 - 구조화된 ldpc의 부호화 및 복호화 방법 및 장치 - Google Patents

구조화된 ldpc의 부호화 및 복호화 방법 및 장치 Download PDF

Info

Publication number
KR102347823B1
KR102347823B1 KR1020217007505A KR20217007505A KR102347823B1 KR 102347823 B1 KR102347823 B1 KR 102347823B1 KR 1020217007505 A KR1020217007505 A KR 1020217007505A KR 20217007505 A KR20217007505 A KR 20217007505A KR 102347823 B1 KR102347823 B1 KR 102347823B1
Authority
KR
South Korea
Prior art keywords
matrix
sub
left sub
elements
column
Prior art date
Application number
KR1020217007505A
Other languages
English (en)
Other versions
KR20210032007A (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 지티이 코포레이션
Priority claimed from PCT/CN2017/070488 external-priority patent/WO2017193614A1/zh
Publication of KR20210032007A publication Critical patent/KR20210032007A/ko
Application granted granted Critical
Publication of KR102347823B1 publication Critical patent/KR102347823B1/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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • H03M13/6393Rate compatible low-density parity check [LDPC] codes
    • 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
    • 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/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/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
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • H03M13/1188Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal wherein in the part with the double-diagonal at least one column has an odd column weight equal or greater than three
    • 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/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • 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/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

구조화된 LDPC의 부호화 및 복호화 방법 및 장치에 있어서, 상기 부호화 방법은: 부호화에 사용되는 기본 행렬 Hb을 결정하고, 상기 기본 행렬 Hb은 왼쪽상부 서브 행렬 Hb1과 왼쪽상부 서브 행렬 Hb2을 포함하는 하나 또는 복수 개의 서브 행렬을 포함하며, 여기서, 상기 왼쪽상부 서브 행렬 Hb1과 왼쪽상부 서브 행렬 Hb2의 행 수 및 열 수는 모두 상기 기본 행렬 Hb의 행 수 및 열 수보다 작으며, 상기 왼쪽상부 서브 행렬 Hb1은 왼쪽상부 서브 행렬 Hb2의 왼쪽상부 서브 행렬이며; 상기 기본 행렬 Hb 및 상기 기본 행렬 Hb에 대응하는 확장계수 Z에 따라, 소스 정보 비트 시퀀스에 대해 LDPC 부호화 연산을 수행하여 부호 워드 시퀀스를 획득하는 단계를 포함하며, 여기서 Z는 1 이상의 양의 정수이다. 종래 기술에서의 LDPC 부호화기 및 복호화기가 증분 리던던시 HARQ를 지원하지 못하고 융통성이 부족한 문제를 해결하였다.

Description

구조화된 LDPC의 부호화 및 복호화 방법 및 장치{ENCODING METHOD AND DECODING METHOD AND DEVICE FOR STRUCTURED LDPC}
본 발명은 통신 분야에 관한 것이며, 구체적으로 구조화된 저밀도 패리티 검사 부호(Low Density Parity Check Codes, LDPC)를 부호화 및 복호화하는 방법 및 장치에 관한 것이다.
무선 디지털 통신의 발달 및 다양한 고속 및 돌발성이 강한 업무가 출현함에 따라 사람들은 오류 정정 부호화 기술에 대해 더 높은 요구를 제기하고 있으며, 도 1은 전형적인 디지털 통신 시스템이다. LDPC는 매우 희소한 패리티 검사 행렬 또는 이분 그래프로 정의할 수 있는 선형 블록 부호(linear block code)이며, Gallager에 의해 처음 발견되었으므로 Gallager 부호라 한다. 수십년이 지난 후, 컴퓨터 하드웨어 및 관련 이론의 발전을 거쳐, MacKay와 .Neal은 이를 재발견하고 Gallager 부호가 샤논의 한계(Shannon limit)에 근접하는 성능을 구비함을 입증하였다. 최신 연구에 따르면 LDPC 부호는, 복호화 복잡도가 낮고, 선형 타임 부호화(Linear Time Encoding)가 가능하며, 샤논의 한계에 근접한 성능을 구비하며, 병렬 복호화(parallel decoding)가 가능하며, 길이가 긴 부호에서 터보 부호(Turbo code)보다 우수한 특성을 구비한다.
LDPC 부호는 특수한 선형 블록 부호이다. 통신에서는 블록 길이(block length)가 N 비트인 부호 워드(code word)를 하나씩 전송할 때마다, 이의 일정한 오류 정정 능력을 보장하기 위해 M 개의 검사 비트(parity bit)를 필요로 하며, 각 부호 워드는 HxT=0T를 만족해야 하고, 여기서 H는 이진 필드(field with two entry)에서 M×N 차원의 패리티 검사 행렬(parity check matrix)이다. 모든 연산은 이진 필드 GF(2)에서 진행되며, 여기서 더하기 및 빼기는 "XOR" 연산이고, 곱셈은 "AND" 연산이다.
LDPC 부호는 희소 검사 행렬에 기반한 선형 블록 부호이며, 검사 행렬의 희소성을 이용하여야만 복잡도가 낮은 부호화 및 복호화를 실현할 수 있으며, LDPC 부호를 실용적으로 이용할 수 있다. 위에서 언급한 Gallager 부호는 정칙의 LDPC 부호(regular ldpcc)이며, Luby와 Mitzenmacher 등은 Gallager 부호를 일반화하였고, 비정칙의 LDPC 부호(irregular ldpcc)를 제기하였다. Gallager가 처음 제기한 부호화는 규칙적인 부호 구조를 가지고 있으며, 그 검사 행렬은 희소 행렬이며 각 행은 같은 개수의 1을 구비하고, 각 열 역시 같은 개수의 1을 구비한다. M.G.Luby는 검사 행렬의 행 또는 열에 0이 아닌 요소(non-zero entries)의 개수가 변경되고, 행렬의 희소성을 보장하게 되면 부호화 LDPC 부호에 대한 복호화 알고리즘을 계속 적용할 수 있고, 부호화 성능을 크게 향상시킬 수 있으며, 터보 부호의 성능에 도달하거나 초과하도록 할 수 있다. 이는 이러한 부호화 구조에서, 이분 그래프에 대응하는 왼쪽 및 오른쪽 노드(left and right nodes)가 적절한 차수 분포(degree distribution)를 가지면, 복호화 할 때 파형 효과(waveform effect)가 생길 수 있어, 복호화 성능을 크게 향상시킨다. 비정칙의 부호는 바로 이와 같이 같은 종류의 노드가 다른 차수(different degrees)를 가지도록 하는 저밀도 부호이며, Gallager가 최초 제기한 부호는 이에 대응되게 정칙 부호라고 한다.
LDPC 패리티 검사 행렬의 그래픽 표시 형태는 이분 그래프(bipartite graph)이다. 이분 그래프와 검사 행렬 사이는 일대일로 대응되는 관계이며, 하나의 M*N 패리티 검사 행렬 H는 N 비트의 각 부호 워드가 M 개의 패리티 검사 집합(parity check sets)의 규제를 만족한다고 정의한다. 하나의 이분 그래프는 N 개의 변수 노드와 M 개의 패리티 검사 노드를 포함한다. m 번째 검사가 n 번째 비트를 포함 할 때, 즉 H에서 제m행의 제n열의 요소 Hm, n=1일 때, 하나의 연결선이 검사 노드 m와 변수 노드 n를 연결하게 된다. 이분 그래프에서 임의의 동일한 유형의 노드 사이에는 연결이 없으며, 이분 그래프에서의 총 에지수(total number of edges)는 검사 행렬의 0이 아닌 요소의 개수와 같다.
이분 그래프에서의 짧은 원(short circle)을 정량적으로 설명하기 위해 거스(girth)의 개념을 이용한다. 도면 설명에서, 이분 그래프에서의 거스는 도면에서 가장 짧은 원의 원 길이를 말하며, 예를 들어, 이분 그래프에 길이가 6, 8, 10, 12 및 길이가 더 긴 원을 구비할 경우, 이분 그래프의 거스는 6이고, 변수 노드(girth of a variable node)의 거스는 해당 노드를 통과하는 가장 짧은 원의 원 길이이며, 하나의 변수 노드는 하나의 부호 워드 비트에 유일하게 대응하므로, 하나의 부호 워드 비트의 거스는 하나의 변수 노드의 거스이다.
구조화된 LDPC 부호는 공업계에서 가장 널리 사용되는 LDPC 부호이고, 가장 광범위하게 응용되며, 현재 IEEE802.11n/ad, IEEE802.16e 등 국제표준에 나타났으며, 이 유형의 LDPC 부호는 학계에서 준-순환 LDPC 부호 또는 다변화 LDPC 부호(multilateral LDPC code)로 불리운다.
이러한 구조화된 LDPC 부호의 패리티 검사 행렬 H는 (M×z)×(N×z) 행렬이고, 이는 M×N 개의 블록 행렬로 구성되며, 각 블록 행렬은 모두 z×z의 기본 치환 행렬의 부동한 거듭제곱 지수(power)이며, 기본 치환 행렬이 단위 행렬(identity matrix)일 때, 이는 모두 단위 행열의 순환 쉬프트 행렬(cyclic shift matrix)이다(본문에서는 오른쪽 쉬프트이다). 이러한 거듭제곱 j을 통해 각 블록 행렬을 유일하게 식별할 수 있으며, 단위 행렬의 거듭제곱(power of the identity matrix)은 0으로 표시할 수 있고, 영행렬(Zero matrix)는 일반적으로 -1로 표시한다. 이로써, H의 각각의 블록 행렬을 모두 그의 거듭제곱으로 대체하면, M×N 개의 거듭제곱 행렬 Hb가 얻어진다. 여기서, Hb를 H의 기본 행렬(Base matrix)로 정의하고, H를 Hb의 확장 행렬로 정의한다. 실제로 부호화할 때, z=부호 길이(code length)/기본 행렬 Hb의 열수 N 이며, 이를 확장계수(expansion factor)로 정의한다.
예를 들어, 행렬
Figure 112021029142027-pat00001
은 아래의 파라미터 z와 하나의 2×4인 기본 행렬 Hb를 이용하여 확장함으로써 얻을 수 있다:
z=3,
Figure 112021029142027-pat00002
.
정확한 정의는 다음과 같다: (N,K)의 구조화된 LDPC 부호는 크기가 (mb×z)×(nb×z)인 패리티 검사 행렬 H에 의해 정의되며, 여기서 패리티 검사 행렬 H는 크기가 mb×nb인 기본 행렬 Hb, 확장계수 z 및 기본 치환 행렬 P 세개 변수에 의해 결정된다. 정보 시퀀스 길이(information sequence length) K=(nb-mb)×z이고, 부호 워드 길이 N=nb×z이며, 부호율 r=k/n이다. 기본 행렬 Hb 내의 모든 요소를 전부 0인 정방행렬(all-zero square matrix) 또는 기본 치환 행렬 P의 hbij 거듭제곱 행렬으로 치환하여 확장된 패리티 검사 행렬 H를 얻으며, 여기서 hbij는 Hb의 요소이다. 기본 행렬 Hb의 정의는 다음과 같다,
Figure 112021029142027-pat00003
확장된 패리티 검사 행렬 H의 정의는 다음과 같다,
Figure 112021029142027-pat00004
따라서, LDPC 부호의 부호화기는 기본 행렬 Hb, 확장계수 z 및 선택된 기본 치환 행렬에 의해 유일하게 생성된다고 할 수 있다. 상기 기본 행렬 Hb의 정의로부터 알 수 있는 바, 확장계수(1보다 큰 정수 z)가 주어진 조건에서, 기본 행렬 Hb과 패리티 검사 행렬은 본질적으로 동일하다.
LDPC 부호의 부호화
시스템 블록 부호의 직접적인 부호화 방법은: 하나의 부호 워드 x를 N-M 개의 정보 비트(information bit) s와 M 개의 검시 비트(parity bit) c로 분획하고, 이에 대응하여 M×N의 패리티 검사 행렬 H를 정보 비트와 검사 비트에 각각 대응되는 크기가 M×(N-M)인 블록, 및 M×M인 블록으로 분획, 즉 H=[A|B]로 분획한다. H×x=0에 따라,
Figure 112021029142027-pat00005
를 얻을 수 있다.
따라서, A×s+B×c=0을 얻을 수 있으며, 더 나아가 c=B-1As를 얻을 수 있다. 블록 B가 엄밀한 하삼각 구조(세미 랜덤 행렬), 이중 하삼각 구조(double lower triangular structure) 등과 같은 특수한 행렬 구조를 채택할 경우, B-1은 매우 간단한 형태를 가지며, 위의 공식에 따라 직접 계산되어 부호 워드의 검사 비트 부분 c를 얻을 수 있으며, 부호화기가 선형 복잡도(linear complexity)를 가지도록 보장할 수 있다.
Richarson 선형 타임 부호화 알고리즘을 채택할 수도 있으며: 패리티 검사 행렬 H는 준-하삼각 구조(quasi-lower triangular structure)를 가지며, H가 다음과 같은 형태를 가진다고 설정한다:
Figure 112021029142027-pat00006
부호화된 부호 워드를 x=(s, p1, p2)로 설정하며, 여기서 s는 부호화 부호 워드의 시스템 비트 부분이고, p1 및 p2는 부호 워드의 검사 비트 부분이며, p1의 길이는 g이고, p2의 길이는 (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 112021029142027-pat00007
여기서,
Figure 112021029142027-pat00008
이다.
구조화된 LDPC 부호의 벡터 특성을 고려할 때, 벡터 복호화 방법을 채택할 수도 있으며, 만일 하나의 구조화된 LDPC 부호의 검사 비트 부분이 엄밀한 하삼각 행렬인 경우, 이하의 벡터 방식에 따라 부호화할 수 있으며, 이는 매우 성숙되었고 간단하다.
(N,k) 구조화된 LDPC 부호의 부호화 부호 워드는 c=(x,b)이며, 여기서, x=(x0, x1, … xk-1)은 정보 시퀀스이고, b=(b0, b1, … bn-k-1)는 검사 시퀀스이다.
입력된 k 개 비트의 정보 시퀀스 x에 대해 LDPC 부호화를 수행하고, n-k 개 비트를 함유하는 검사 시퀀스 b를 생성하며, LDPC 부호화 부호 워드는 c=[x,b]이며, 여기서, n=nb×z, k=Kb×z, Kb=nb-mb이며, z는 확장계수이다. 정보 시퀀스 x는 길이가 z인 Kb 개의 서브 시퀀스로 분획될 수 있으며:
x=[x(0), x(1), x(2), … x(Kb-1)]이다.
여기서, 각 서브 시퀀스(subsequence)는 다음과 같다:
x(i)=[xi×z, xi×z+1, xi×z+2, … xi×z+z-1]
검사 시퀀스 b는 길이가 z인 mb 개의 서브 시퀀스로 분획되며:
b=[b(0), b(1), b(2), … b(mb-1)]이다.
여기서, 각 서브 시퀀스는 다음과 같다:
b(i)=[bi×z, bi×z+1, bi×z+2, … bi×z+z-1]
중간 변수 시퀀스 v를 정의하며, 여기서 v는 길이가 z인 Kb 개의 서브 시퀀스로 분획되며:
v=[v(0), v(1), v(2), … v(mb-1)]이다.
여기서, 각 서브 시퀀스는 다음과 같다:
v(i)=[vi×z, vi×z+1, vi×z+2, … vi×z+z-1]
LDPC 부호의 부호화 단계는 다음과 같다:
중간 변수 시퀀스 v를 계산하고:
Figure 112021029142027-pat00009
검사 시퀀스 b를 계산하며:
Figure 112021029142027-pat00010
LDPC 부호 워드 c=[x,b]를 계산한다.
요약하면, LDPC 부호의 부호화기는 LDPC 패리티 검사 행렬 H에 의해 유일하게 설명될 수 있으며, 구체적인 부호화 방법은 매우 성숙되었고 간단하므로 여기서 더 이상 설명하지 않는다. 또한, LDPC 부호의 패리티 검사 행렬은 LDPC 부호의 복호화기의 성능을 결정할뿐만 아니라 LDPC 부호의 부호화기 및 복호화기의 복잡도, 저장 공간 및 처리 지연을 결정하며, 무엇이 증분 리던던시 HARQ(incremental redundancy HARQ)를 지원할 수 있음을 결정하고, 충분한 융통성(flexibility)을 구비하는지 여부를 결정한다. 따라서, 적절한 LDPC 부호의 패리티 검사 행렬 구조를 찾는 것이 매우 중요하며, LDPC 부호의 사용 전망을 결정한다.
구체적으로 실현할 경우, 상기의 직접적인 방법 또는 Richarson 방법 또는 기타 방법으로 연산하며, N-M 비트의 소스 데이터로부터 N 비트 부호 워드를 얻는 부호화 기능을 완성할 수 있다. 사실상, 해당 부호화기는 소프트웨어 또는 하드웨어로 식 중의 희소 행렬의 곱셈 및 덧셈 연산을 실현하고, 단위 행렬 및 그 순환 쉬프트 행렬에 기반한 LDPC 부호에 대해, 희소 행렬의 곱셈(multiplication) 연산은 복수 개의 z 비트(z는 확장계수)의 순환 쉬프트 레지스터(cyclic shift registers)와 복수 개의 z 비트 덧셈기(z-bit adders)로 구성되며, 희소 행렬의 덧셈(addition) 연산은 상기 복수 개의 z 비트 덧셈기 의해 완성되며, 해당 복수 개의 z 비트 순환 쉬프트 레지스터와 복수 개의 z 비트 덧셈기는 하드웨어 회로로 구현된 LDPC 부호화기를 구성한다.
LDPC의 복호화
LDPC 패리티 검사 행렬의 그래픽 표시 형태는 이분 그래프이다. 이분 그래프와 검사 행렬 사이는 일대일로 대응되는 관계이며, 하나의 M*N 패리티 검사 행렬 H는 N 비트의 각 부호 워드가 M 개의 패리티 검사 집합의 규제를 만족한다고 정의한다. 하나의 이분 그래프는 N 개의 변수 노드와 M 개의 패리티 검사 노드를 포함한다. m 번째 검사가 n 번째 비트를 포함 할 때, 즉 H에서 제m행의 제n열의 요소 H(m, n)= 1일 때, 하나의 연결선이 검사 노드 m와 변수 노드 n를 연결하게 된다. 이분 그래프에서 임의의 동일한 유형의 노드 사이에는 연결이 없으며, 이분 그래프에서의 총 에지(edge) 수는 검사 행렬의 0이 아닌 요소의 개수와 같다.
LDPC 부호의 정보 전달 복호화 알고리즘은 변수 노드들이 서로 독립적인 것으로 가정할 경우, 짧은 원의 존재는 필연코 독립성의 가정을 파괴시키므로, 복호화 성능이 현저하게 저하된다. 사실상, LDPC 패리티 검사 행렬이 이분 그래프에 대응되는 가장 짧은 원의 길이가 길수록, 즉 거스 값이 클수록, 변수 노드로부터 발송되는 정보가 자체에 전달되는 양의 피드백 정보(positive feedback informatio)가 더 작으며, 복호화 성능이 더 우수하다. 검사 행렬 H의 거스와 기본 행렬 Hb의 사이에는 연관성이 있으며, 수학적 추론과 컴퓨터 시뮬레이션의 검증을 통해 관련 결론이 내려졌다.
이하, 이분 그래프의 거스, 노드의 거스 및 에지의 거스를 해석한다. 이분 그래프에서의 짧은 원을 정량적으로 설명하기 위해 거스와 관련된 개념을 도입하였다. 이분 그래프의 거스는 도면에서 가장 짧은 원의 원 길이를 말하며, 예를 들어, 이분 그래프에 길이가 6, 8, 10, 12 및 길이가 더 긴 원이 있을 경우, 해당 이분 그래프의 거스는 6이다. 이분 그래프에서, 어느 노드 u의 거스(the girth at node u)는 노드 u를 통과하는 가장 짧은 원의 원 길이를 말하여, 예를 들어, 길이가 8, 10, 12 및 길이가 더 긴 원이 노드 u를 경과하는 경우, 해당 노드 u의 거스는 8이다. 이분 그래프에서, 어느 에지 e의 거스(the girth at node u)는 해당 에지 e를 경과하는 가장 짧은 원의 원 길이를 말하여, 예를 들어, 길이가 8, 10, 12 및 길이가 더 긴 원이 노드 e를 경과하는 경우, 해당 노드 u의 거스는 8이다.
하나의 변수 노드의 거스는 최단 경로의 길이를 말하며, 이는 해당 노드에서 발생된 정보가 해당 노드 자체로 전송되는 최소 반복 횟수(minimum number of iterations)와 동일하다. 실제 반복 횟수가 해당 최소 반복 횟수에 도달하기 전, 해당 노드와 연계되는 정보는 가장 최적으로 이분 그래프의 나머지 부분에 전달될 수 있다. 어느 한 변수 노드의 거스가 클 수록, 해당 변수 노드로부터 발송되는 정보가 자체에 전송되는 양의 피드백 정보가 더 작으며, 복호화 성능이 더 우수하게 된다. 따라서, 변수 노드의 거스를 가능한 크게 하는 것이 부호 성능의 향상에 유리하다. 요약하면, 높은 LDPC 부호를 구성하는 원칙은 다음과 같다: 먼저, 선택된 부호의 가장 짧은 원의 길이(girth)는 가능한 커야 하며; 다음, 동일한 크기의 거스를 갖는 부호에 대해서는, 선택된 부호의 가장 짧은 원의 개수는 가능한 적어야 한다.
실제 응용에서, 기본 행렬 Hb은 확장되어 패리티 검사 행렬로 되고, 상기 패리티 검사 행렬은 확장 행렬 또는 이진 행렬로 지칭할 수도 있다. 검사 행렬의 토폴로지(topology of the check matri)를 분석하면, 확장 행렬에서 z×z인 블록 행렬과 기본 행렬 Hb의 요소는 유일하게 대응됨을 알 수 있으며, 만일 기본 행렬 Hb에서 일부 요소가 짧은 원을 구성하지 않으면 이러한 요소들에 대응하는 블록 행렬은 확장 행렬에서도 짧은 원을 구성하지 않는다. 따라서, 확장 행렬의 짧은 원을 연구하기 위해 기본 행렬 Hb에 짧은 원이 생길 때의 확장 행렬만 연구하면 된다.
검사 행렬과 이분 그래프의 토폴로지를 분석하면, 기본 행렬 Hb에 길이가 4인 짧은 원이 생길 때에만 Hb의 확장 행렬 H에 길이가 4 또는 그 이상인 짧은 원이 생길 수 있으며, 예를 들어, 네 개의 z×z 블록 행렬 Pi, Pj, Pk, Pl에 대응하는 거듭제곱 요소 i, j, k, l가 Hb에서 길이가 4인 짧은 원을 구성할 때, 만일 mod(i-j+k-l, z)=0이면, Pi, Pj, Pk, P1은 H에서 길이가 4인 짧은 원을 구성하고; 만일 mod(i-j+k-l, z)=z/2이면, Pi, Pj, Pk, P1은 H에서 길이가 8인 짧은 원을 구성한다. 다른 경우에, Pi, Pj, Pk, Pl은 H에서 길이가 12인 짧은 원을 구성하거나 짧은 원을 구성하지 않는다.
검사 행렬과 이분 그래프의 토폴로지를 분석하면, 기본 행렬 Hb에 길이가 6인 짧은 원이 생길 때에만 Hb의 확장 행렬 H에 길이가 6 또는 그 이상인 짧은 원이 생길 수 있으며, 예를 들어, 여섯 개의 z×z 블록 행렬 Pi, Pj, Pk, Pl, Pm, Pn에 대응하는 거듭제곱 요소 i, j, k, l, m, n가 Hb에서 길이가 6인 짧은 원을 구성할 때, 만일 mod(i-j+k-l+m-n, z)=0이면, Pi, Pj, Pk, Pl, Pm, Pn은 H에서 길이가 6인 짧은 원을 구성하며; 만일 mod(i-j+k-l+m-n, z)=z/2이면, Pi, Pj, Pk, Pl, Pm, Pn은 H에서 길이가 10인 짧은 원을 구성한다. 다른 경우에, Pi, Pj, Pk, Pl, Pm, Pn은 H에서 길이가 12인 짧은 원을 구성하거나 짧은 원을 구성하지 않는다.
검사 행렬과 이분 그래프의 토폴로지를 분석하면, 기본 행렬 Hb에 길이가 8인 짧은 원이 생길 때에만 Hb의 확장 행렬 H는 길이가 8 또는 그 이상인 짧은 원이 생길 수 있으며, 예를 들어, 여덜 개의 z×z 블록 행렬 Pi, Pj, Pk, Pl, Pm, Pn, Ps, Pt에 대응하는 거듭제곱 요소 i, j, k, l, m, n, s, t가 Hb에서 길이가 8인 짧은 원을 구성할 때, 만일 mod(i-j+k-l+m-n+s-t, z)=0이면, Pi, Pj, Pk, Pl, Pm, Pn, Ps, Pt은 H에서 길이가 8인 짧은 원을 구성하며; 기타 경우에는, Pi, Pj, Pk, Pl, Pm, Pn, Ps, Pt은 H에서 길이가 12인 짧은 원을 구성하거나 짧은 원을 구성하지 않는다.
기본 행렬 Hb 수정(Base matrix correction)
만일 각각의 부동한 확장계수에 동일한 기본 행렬 Hb이 사용될 수 없다면, 각각의 부동한 부호 길이에 대해 상기 LDPC 부호의 부호화기 및 복호화기는 하나의 기본 행렬 Hb을 저장하여야 하며, 부호 길이가 많으면 기본 행렬 Hb을 많이 저장해야 하므로, 이로하여 많은 저장 공간이 차지되거나 하드웨어 구현 회로가 복잡해진다.
수정은 기타 부호 길이의 확장계수를 사용하여 기본 행렬 Hb 내의 음이 아닌 요소(non-negative entries)를 수정하는 것이며, 수정된 요소 값은 해당 부호 길이에서의 확장계수의 값보다 작아야 하며, 수정 알고리즘은 모듈로(mod), 내림(scale+floor) 또는 반올림(scale+round) 등을 채택할 수 있다. Pi,j를 기본 행렬Hb 의 i 번째 행과 j 번째 열의 음이 아닌 요소라 가정하고, P'i,j를 수정된 요소라고 가정하면,
모듈로(mod) 방법에 있어서:
Figure 112021029142027-pat00011
내림(scale+floor) 방법에 있어서:
Figure 112021029142027-pat00012
반올림(scale+round) 방법에 있어서:
Figure 112021029142027-pat00013
이며, 여기서, N은 기본 행렬 Hb의 열 수이고, n은 생성하려는 패리티 검사 행렬의 저밀도 패리티 검사 부호의 부호 길이이다. Mod는 모듈로 연산이고 [ ]는 내림 연산이며, Round는 반올림 연산이다. 여기서 최대 부호 길이를 2304라 가정한다.
예를 들어, 부호 길이가 1152 비트인 저밀도 패리티 검사 부호에 대해, 그 기본 행렬 Hb의 임의의 음이 아닌 요소를 93이라 하면, 그 수정 결과는 다음과 같다:
모듈로(mod) 방법에 있어서:
Figure 112021029142027-pat00014
내림(scale+floor) 방법에 있어서:
Figure 112021029142027-pat00015
반올림(scale+round) 방법에 있어서:
Figure 112021029142027-pat00016
LDPC 부호가 현재 가장 일반화된 계층적 복호화를 사용한다면, 로그 우도비(log-likelihood ratio) 정보의 판독 및 기록은 LDPC 부호의 파이프 라인의 배열에 심각한 영향을 미친다. 구체적으로, 높은 부호율에서, 통상의 LDPC 부호 구조에 있어서, 복호화기는 기본 행렬 Hb의 일행에 대한 처리를 완성하여야 다음 스테이지의 파이프 라인을 시작할 수 있으며, 만일 첫번째 스테이지의 파이프 라인이 특별히 길면, 복호화기의 효율은 심각하게 저하되게 된다.
3GPP 표준에서는 제5세대 이동 통신 표준의 새로운 에어 인터페이스(5G New RAT)가 공식적으로 수립되었으며, 이 새로운 에어 인터페이스는 초고 처리량 및 낮은 처리 지연을 지원해야하므로 기존의 터보 부호화 방식을 대체하기 위한 새로운 부호화 방식이 필요하다. 그러나, 현재 통신 표준의 LDPC 부호는 증분 리던던시 HARQ를 잘 지원하지 못하고, 충분한 부호율 및 전송 블록 크기의 융통성(flexibility)을 구비하지 못하므로, 터보 부호에 근접한 성능 및 융통성을 보장하는 조건에서 증분 리던던시 HARQ를 지원할 수 있으며, 터보 부호보다 많이 낮은 복잡도와 초고속 처리 기능을 구비하는 새로운 LDPC 부호화 구조의 설계가 필요되고 있다.
본 발명의 실시예는 구조화된 LDPC의 부호화 및 복호화 방법 및 장치를 제공함으로써, 적어도 관련기술에서 기존의 LDPC 부호화기 및 복호화기가 증분 리던던시(Incremental Redundancy, Ir) HARQ를 지원하지 못하고 융통성이 부족한 문제를 해결하였다.
본 발명의 일 실시예에 따르면, 부호화에 사용되는 기본 행렬 Hb을 결정하되, 상기 기본 행렬 Hb은 시스템 비트에 대응하는 Mb×Kb의 블록 A와 검사 비트에 대응하는 Mb×Mb의 블록 B를 포함하며, 즉 Hb=[A, B]이며, 여기서, hbij는 상기 기본 행렬 Hb의 제i행과 제j열의 요소를 표시하고, i는 상기 기본 행렬 Hb의 행 인덱스이고, j는 상기 기본 행렬 Hb의 열 인덱스이며, Kb=Nb-Mb이며, Kb는 6이상 10이하의 정수이고, Nb는 2*Kb이상 이며 12*Kb이하의 정수이며, i=1, ..., Mb이고, j=1, ..., Nb이며; 상기 기본 행렬 Hb은 왼쪽상부 서브 행렬 Hb1과 왼쪽상부 서브 행렬 Hb2을 포함하는 하나 또는 복수 개의 서브 행렬을 포함하며, 여기서, 상기 왼쪽상부 서브 행렬 Hb1과 상기 왼쪽상부 서브 행렬 Hb2의 행 수 및 열 수는 모두 상기 기본 행렬 Hb의 행 수 및 열 수보다 작으며, 상기 왼쪽상부 서브 행렬 Hb1은 왼쪽상부 서브 행렬 Hb2의 왼쪽상부 서브 행렬이며; 상기 기본 행렬 Hb 및 상기 기본 행렬 Hb에 대응하는 확장계수 Z에 따라, 소스 정보 비트 시퀀스에 대해 LDPC 부호화 연산을 수행하여 부호 워드 시퀀스를 획득하는 단계를 포함하며, 여기서 Z는 1 이상의 양의 정수인 LDPC의 부호화 방법을 제공한다.
본 발명의 일 실시예에 따르면, 복호화에 사용되는 기본 행렬 Hb을 결정하며, 상기 기본 행렬 Hb은 시스템 비트에 대응하는 Mb×Kb의 블록 A와 검사 비트에 대응하는 Mb×Mb의 블록 B를 포함하며, 즉 Hb=[A, B]이며, 여기서, hbij는 상기 기본 행렬 Hb의 제i행과 제j열의 요소를 표시하고, i는 상기 기본 행렬 Hb의 행 인덱스이고, j는 상기 기본 행렬 Hb의 열 인덱스이며, Kb=Nb-Mb이며, Kb는 6이상 10이하의 정수이고, Nb는 2*Kb이상 이며 12*Kb이하의 정수이며, i=1, ..., Mb이고, j=1, ..., Nb이며; 상기 기본 행렬 Hb는 하나 또는 복수 개의 서브 행렬을 포함하되, 상기 서브 행렬은 왼쪽상부 서브 행렬 Hb1과 왼쪽상부 서브 행렬 Hb2을 포함하며, 여기서, 상기 왼쪽상부 서브 행렬 Hb1과 상기 왼쪽상부 서브 행렬 Hb2의 행 수 및 열 수는 모두 상기 기본 행렬 Hb의 행 수 및 열 수보다 작으며, 상기 왼쪽상부 서브 행렬 Hb1은 왼쪽상부 서브 행렬 Hb2의 왼쪽상부 서브 행렬이며;
상기 기본 행렬 Hb 및 상기 기본 행렬 Hb에 대응하는 확장계수 Z에 따라, 미리 설정된 비트수의 부호 워드에 대해 복호화 연산을 수행하여 소스 정보 비트 시퀀스를 획득하는 단계를 포함하며, 여기서 Z는 1 이상의 양의 정수인 것인 LDPC의 복호화 방법을 제공한다.
본 발명의 다른 실시예에 따르면, 구조화된 저밀도 패리티 검사 부호 LDPC의 부호화 장치에 있어서, 결정 모듈 및 부호화 모듈을 포함하며, 결정 모듈은 부호화에 사용되는 기본 행렬 Hb을 결정하도록 배치되고, 상기 기본 행렬 Hb은 시스템 비트에 대응하는 Mb×Kb의 블록 A와 검사 비트에 대응하는 Mb×Mb의 블록 B를 포함하며, 즉 Hb=[A, B]이며, 여기서, hbij는 상기 기본 행렬 Hb의 제i행과 제j열의 요소를 표시하고, i는 상기 기본 행렬 Hb의 행 인덱스이고, j는 상기 기본 행렬 Hb의 열 인덱스이며, Kb= Nb-Mb이며, Kb는 6이상 10이하의 정수이고, Nb는 2*Kb이상 이며 12*Kb이하의 정수이며, i=1, ..., Mb이고, j= 1, ..., Nb이며;
상기 기본 행렬 Hb는 하나 또는 복수 개의 서브 행렬을 포함하되, 상기 서브 행렬은 왼쪽상부 서브 행렬 Hb1과 왼쪽상부 서브 행렬 Hb2을 포함하며, 여기서, 상기 왼쪽상부 서브 행렬 Hb1과 왼쪽상부 서브 행렬 Hb2의 행 수 및 열 수는 모두 상기 기본 행렬 Hb의 행 수 및 열 수보다 작으며, 상기 왼쪽상부 서브 행렬 Hb1은 왼쪽상부 서브 행렬 Hb2의 왼쪽상부 서브 행렬이며;
부호화 모듈은 상기 기본 행렬 Hb 및 상기 기본 행렬 Hb에 대응하는 확장계수 Z에 따라, 소스 정보 비트 시퀀스에 대해 LDPC 부호화 연산을 수행하여 부호 워드 시퀀스를 획득하도록 배치되며, 여기서 Z는 1 이상의 양의 정수인 LDPC의 부호화 장치를 제공한다.
본 발명의 또 다른 실시예에 따르면, 구조화된 저밀도 패리티 검사 부호 LDPC의 복호화 장치에 있어서, 결정 모듈 및 복호화 모듈을 포함하며, 결정 모듈은 복호화에 사용되는 기본 행렬 Hb을 결정하도록 배치되고, 상기 기본 행렬 Hb은 시스템 비트에 대응하는 Mb×Kb의 블록 A와 검사 비트에 대응하는 Mb×Mb의 블록 B를 포함하며, 즉 Hb=[A, B]이며, 여기서, hbij는 상기 기본 행렬 Hb의 제i행과 제j열의 요소를 표시하고, i는 상기 기본 행렬 Hb의 행 인덱스이고, j는 상기 기본 행렬 Hb의 열 인덱스이며, Kb=Nb-Mb이며, Kb는 6이상 10이하의 정수이고, Nb는 2*Kb이상 이며 12*Kb이하의 정수이며, i=1, ..., Mb이고, j=1, ..., Nb이며; 상기 기본 행렬 Hb는 하나 또는 복수 개의 서브 행렬을 포함하되, 상기 서브 행렬은 왼쪽상부 서브 행렬 Hb1과 왼쪽상부 서브 행렬 Hb2을 포함하며, 여기서, 상기 왼쪽상부 서브 행렬 Hb1과 상기 왼쪽상부 서브 행렬 Hb2의 행 수 및 열 수는 모두 상기 기본 행렬 Hb의 행 수 및 열 수보다 작으며, 상기 왼쪽상부 서브 행렬 Hb1은 왼쪽상부 서브 행렬 Hb2의 왼쪽상부 서브 행렬이며;
복호화 모듈은 상기 기본 행렬 Hb 및 상기 기본 행렬 Hb에 대응하는 확장계수 Z에 따라, 미리 설정된 비트수의 부호 워드에 대해 복호화 연산을 수행하여 소스 정보 비트 시퀀스를 획득하도록 배치되며, 여기서 Z는 1 이상의 양의 정수인 LDPC의 복호화 장치를 제공한다.
본 발명의 또 다른 실시예에 따르면, 기억매체를 더 제공한다. 해당 기억매체는 다음의 단계들을 수행하기 위한 프로그램 코드를 저장하도록 설정된다:
부호화에 사용되는 기본 행렬 Hb을 결정하되, 상기 기본 행렬 Hb은 시스템 비트에 대응하는 Mb×Kb의 블록 A와 검사 비트에 대응하는 Mb×Mb의 블록 B를 포함하며, 즉 Hb=[A, B]이며, 여기서, hbij는 상기 기본 행렬 Hb의 제i행과 제j열의 요소를 표시하고, i는 상기 기본 행렬 Hb의 행 인덱스이고, j는 상기 기본 행렬 Hb의 열 인덱스이며, Kb=Nb-Mb이며, Kb는 6이상 10이하의 정수이고, Nb는 2*Kb이상 이며 12*Kb이하의 정수이며, i=1, ..., Mb이고, j=1, ..., Nb이며; 상기 기본 행렬 Hb은 하나 또는 복수 개의 서브 행렬을 포함하되, 상기 서브 행렬은 왼쪽상부 서브 행렬 Hb1과 왼쪽상부 서브 행렬 Hb2을 포함하며, 여기서, 상기 왼쪽상부 서브 행렬 Hb1과 상기 왼쪽상부 서브 행렬 Hb2의 행 수 및 열 수는 모두 상기 기본 행렬 Hb의 행 수 및 열 수보다 작으며, 상기 왼쪽상부 서브 행렬 Hb1은 왼쪽상부 서브 행렬 Hb2의 왼쪽상부 서브 행렬이며; 상기 기본 행렬 Hb 및 상기 기본 행렬 Hb에 대응하는 확장계수 Z에 따라, 소스 정보 비트 시퀀스에 대해 LDPC 부호화 연산을 수행하여 부호 워드 시퀀스를 획득하며, 여기서 Z는 1 이상의 양의 정수이다.
본 발명의 또 다른 실시예에 따르면, 기억매체를 더 제공한다. 해당 기억매체는 다음의 단계들을 수행하기 위한 프로그램 코드를 저장하도록 설정된다:
복호화에 사용되는 기본 행렬 Hb을 결정하되, 상기 기본 행렬 Hb은 시스템 비트에 대응하는 Mb×Kb의 블록 A와 검사 비트에 대응하는 Mb×Mb의 블록 B를 포함하며, 즉 Hb=[A, B]이며, 여기서, hbij는 상기 기본 행렬 Hb의 제i행과 제j열의 요소를 표시하고, i는 상기 기본 행렬 Hb의 행 인덱스이고, j는 상기 기본 행렬 Hb의 열 인덱스이며, Kb=Nb-Mb이며, Kb는 6이상 10이하의 정수이고, Nb는 2*Kb이상 이며 12*Kb이하의 정수이며, i=1, ..., Mb이고, j=1, ..., Nb이며; 상기 기본 행렬 Hb는 하나 또는 복수 개의 서브 행렬을 포함하되, 상기 서브 행렬은 왼쪽상부 서브 행렬 Hb1과 왼쪽상부 서브 행렬 Hb2을 포함하며, 여기서, 상기 왼쪽상부 서브 행렬 Hb1과 상기 왼쪽상부 서브 행렬 Hb2의 행 수 및 열 수는 모두 상기 기본 행렬 Hb의 행 수 및 열 수보다 작으며, 상기 왼쪽상부 서브 행렬 Hb1은 왼쪽상부 서브 행렬 Hb2의 왼쪽상부 서브 행렬이며;
상기 기본 행렬 Hb 및 상기 기본 행렬 Hb에 대응하는 확장계수 Z에 따라, 미리 설정된 비트수의 부호 워드에 대해 복호화 연산을 수행하여 소스 정보 비트 시퀀스를 획득하며, 여기서 Z는 1 이상의 양의 정수이다.
본 발명의 실시예에서 제공한 방안은 적절한 기본 행렬 Hb을 설계함으로써 해당 기본 행렬 Hb및 그에 대응하는 확장계수에 따라 부호화 또는 복호화를 완성하고 초고속 LDPC 부호화 및 복호화를 실현하며, 터보 부호에 근접한 부호화 및 복호화 성능을 실현하며, 기존의 LDPC 부호화기 및 복호화기가 증분 리던던시 HARQ를 지원하지 못하고 융통성이 부족한 문제를 해결하였다.
여기서 설명되는 도면은 본 발명을 한층 더 이해하기 위해 제공된 것으로 본 출원의 일부분을 구성하며, 본 발명의 예시적 실시예 및 그에 대한 설명은 본 발명을 해석하기 위한 것이며, 본 발명에 대한 불합리한 한정으로 구성되지 않는다. 도면에서:
도 1은 종래 기술에 따른 디지털 통신 시스템의 구조 블록도이다.
도 2는 본 발명의 실시예 1에서 제공한 구조화된 LDPC 부호의 부호화기의 구조 개략도이다.
도 3은 본 발명의 실시예 1에서 사용한 기본 행렬 Hb의 개략도이다.
도 4는 본 발명의 실시예 2에서 제공한 구조화된 LDPC 부호의 복호화기의 구조 개략도이다.
도 5는 본 발명의 실시예 3에서 제공한 구조화된 LDPC 부호의 부호화 방법의 흐름도이다.
도 6은 본 발명의 실시예 4에서 제공한 구조화된 LDPC 부호의 복호화 방법의 흐름도이다.
도 7은 본 발명의 실시예 5에서 제공한 구조화된 LDPC 부호의 부호화 장치의 구조 개략도이다.
도 8은 본 발명의 실시예 5에서 제공한 구조화된 LDPC 부호의 복호화 장치의 구조 개략도이다.
도 9는 본 발명의 실시예 8에서 제공한 메모리의 저장 방식의 개략도 1이다.
도 10은 본 발명의 실시예 8에서 제공한 메모리의 저장 방식의 개략도 2이다.
이하, 도면을 참조하고 실시예를 결합하여 본 발명을 상세하게 설명한다. 설명하여야 할 것은, 모순되지 않을 경우 본 출원의 실시예 및 실시예 중의 특징들은 서로 결합될 수 있다.
설명하여야 할 것은, 본 발명의 명세서, 청구범위 및 상기 도면 중의 "제1", "제2" 등 용어들은 유사한 대상을 구별하기 위해 사용되며, 반드시 특정된 순서 또는 선후순서를 설명하기 위해 사용되는 것은 아니다.
전통적인 구조화된 LDPC 부호는, 증분 리던던시 HARQ 방식을 지원하지 못하거나, 또는 초고 처리량(ultra-high throughput)을 제공하지 못하거나, 또는 터보 부호 성능에 근접하지 못하거나, 또는 융통성이 부족한 경우가 종종 있다. 그러나, 기본 행렬 Hb의 가능한 구조 및 구성 방식의 수량은 매우 크며, 종래 기술에서는 실현 가능한 종합적인 해결책이 아직 없으며, 또한 이러한 요구를 만족시키는 기본 행렬 Hb을 얻을 수 없다.
상기 과제를 해결하기 위해 본 발명의 실시예는 구조화된 LDPC 부호의 부호화 및 복호화 방법 및 장치, 부호화기 및 복호화기를 제공한다. 실용성을 고려하여, 본 발명의 실시예들은 복수 개의 부호율 및 복수 개의 부호 길이에 대해 동일한 기본 행렬 Hb을 사용하고, 일반적으로는 최대 부호 길이에 대응하여 생성되며, 동시에 서로 다른 부호 길이에서 해당 기본 행렬 Hb에 대해 수정하며, 본 발명의 실시예에서는 서로 다른 부호 길이의 기본 행렬 Hb의 거스 특성을 정의함으로써 다양한 부호 길이 조건에서 터보 부호 성능에 도달할 수 있도록 보장한다. 그러나, 본 발명은 이에 제한되지 않으며, 각 부호 길이마다 하나의 기본 행렬 Hb을 사용하는 방식을 적용할 수도 있다.
설명해야 할 것은, 본 출원의 실시예에서 제공하는 해결방안은 본 출원의 실시예 중의 행렬의 구조에 제한되지 않는바, 예를 들어 시스템 비트에 대응하는 행렬 및 검사 비트에 대응하는 행렬의 위치는 좌우로 서로 교환 가능하며, 본 출원 실시예 중의 설계 사상에 기반하여 진행되는 부호화 및 복호화 방안은 모두 본 출원의 보호범위 내에 속한다.
실시예 1:
본 발명 실시예는 디지털 통신의 구조화된 저밀도 패리티 검사 부호 (LDPC)의 부호화하는 장치를 제공하며, 도 2에 도시된 바와 같이, 해당 구조는 적어도 프로세서(202)와 메모리(201)를 포함한다.
상기 메모리(201)는 적어도 부호화에 사용되는 기본 행렬 Hb을 저장하도록 배치된다.
상기 기본 행렬 Hb은 시스템 비트에 대응하는 Mb×Kb의 블록 A와 검사 비트에 대응하는 Mb×Mb의 블록 B를 포함하며, 즉 Hb=[A, B]이며, 여기서, hbij는 상기 기본 행렬 Hb의 제i행과 제j열의 요소를 표시하고, i는 상기 기본 행렬 Hb의 행 인덱스이고, j는 상기 기본 행렬 Hb의 열 인덱스이며, Kb=Nb-Mb이며, Nb는 정수이고, Kb는 4이상의 정수이다. 더 구체적으로, Kb는 6이상 10이하의 정수이고, Nb는 2*Kb이상 이며 12*Kb이하의 정수일 수 있다. i=1, …, Mb, j=1, …, Nb이다.
상기 기본 행렬 Hb은 하나 또는 복수 개의 서브 행렬을 포함하되, 상기 서브 행렬은 왼쪽상부 서브 행렬 Hb1과 왼쪽상부 서브 행렬 Hb2을 포함하며, 여기서, 상기 왼쪽상부 서브 행렬 Hb1과 상기 왼쪽상부 서브 행렬 Hb2의 행 수 및 열 수는 모두 상기 기본 행렬 Hb의 행 수 및 열 수보다 작으며, 상기 왼쪽상부 서브 행렬 Hb1은 왼쪽상부 서브 행렬 Hb2의 왼쪽상부 서브 행렬이다.
선택적으로, 상기 왼쪽상부 서브 행렬 Hb1은 상기 행렬 Hb의 앞 L0 행과 앞 Kb+4 열의 교집합(intersection)으로 구성되고, 상기 왼쪽상부 서브 행렬 Hb1의 각 행의 Z×Z 비영행렬에 대응하는 요소들의 수는 모두 Kb+2 이하이고 Kb-2 이상이며, 상기 왼쪽상부 서브 행렬 Hb1의 마지막 4개 열의 정방행렬은 하나의 좌하삼각 행렬(lower-left triangular matrix) 또는 준-좌하삼각 행렬(quasi-lower-left triangular matrix)이며; 및/또는
상기 왼쪽상부 서브 행렬 Hb2은 상기 행렬 Hb의 앞 Kb 행과 앞 2×Kb 열의 교집합으로 구성되고, 상기 왼쪽상부 서브 행렬 Hb2의 앞 4 행과 마지막 Kb-4 열의 교집합에 의해 구성되는 서브 행렬의 모든 요소는 Z×Z 영행렬(Z×Z zero square matrix)에 대응하는 요소이며, 상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행과 마지막 Kb-4 열의 교집합에 의해 구성되는 서브 행렬은 크기가 (Kb-4)×(Kb-4)인 하나의 좌하삼각 행렬 또는 준-좌하삼각 행렬이며, 상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행, Kb+1 ~ Kb+3 번째 열의 교집합에 의해 구성되는 서브 행렬의 모든 요소는 모두 Z×Z 영행렬에 대응되는 요소이며;
만일 왼쪽상부 서브 행렬 Hb1의 마지막 4 열의 정방행렬이 하나의 하삼각 행렬이면, 상기 왼쪽상부 서브 행렬 Hb2의 Kb+1번째 열에는 Z×Z 비영행렬에 대응하는 요소가 하나뿐이며, 만일 왼쪽상부 서브 행렬 Hb1의 마지막 4 열의 정방행렬이 하나의 준-하삼각 행렬이면, 상기 왼쪽상부 서브 행렬 Hb2의 Kb+1 번째 열의 모든 요소는 모두 Z×Z 영행렬에 대응하는 요소이며;
상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행과 앞 KB 열의 교집합은 하나의 서브 행렬을 구성하고, 해당 서브 행렬의 각 행의 Z×Z 비영행렬에 대응하는 요소의 개수는 모두 Kb-2 이하이며;
여기서, Nb는 2×Kb 이상이고, L0은 4 또는 3과 같다.
2) 상기 확장계수 Z는 한 조의 결정 값 집합 {z1, z2, z3 ..., zV}을 지원(supports)하며, 여기서 z1, z2, ..., zV는 오름차순으로 배열되고, zr, zs, zt, zu는 상기 집합 내의 네 개의 결정 값의 확장계수이며 z1≤zr≤zs≤zt≤zu≤zV를 만족하고, 여기서 V, r, s, t, u는 아래 첨자이며, 1≤r≤s≤t≤u≤V이고, V는 2 이상의 정수이며;
z1≤Z=zi<zr일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치(weight)를 갖는 모든 부호 워드 비트 중 적어도 하나의 비트의 거스는 4이고; 확장계수 Z=zi 및 가장 큰 가중치의 R 열을 삭제한 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트의 거스는 6이며, 여기서 R은 Kb/2 이하이며;
zr≤Z=zi<zs일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트의 거스는 6이며;
zs≤Z=zi<zt일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 시스템 비트의 거스는 6이고, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 적어도 하나의 검사 비트의 거스는 8 이상이며;
zt≤Z=zi<zu일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트의 거스는 8이며;
zu≤Z=zi<zV일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 시스템 비트의 거스는 8이고, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 적어도 하나의 검사 비트의 거스는 10 이상이며;
여기서, 하나의 LDPC 부호 워드의 각 부호 워드 비트는 상기 패리티 검사 행렬의 각 열에 대응하며, 각 부호 워드 비트의 가중치는 대응하는 열 중의 0이 아닌 요소의 개수를 의미하며, i=1, 2, ..., V이다.
여기서, 하나의 LDPC 부호 워드의 각 부호 워드 비트는 상기 패리티 검사 행렬의 각 열에 대응하며,
각 부호 워드 비트의 가중치는 대응하는 열 중의 0이 아닌 요소의 개수를 의미하며, i= 1, 2, ..., V이다.
상기 기본 행렬 Hb및 그에 대응하는 확장계수 Z에 따라, (Nb-Mb)×Z 비트의 소스 정보 비트 시퀀스(source information bit sequence)에 대한 LDPC 부호화 연산을 완성하여 Nb×Z 비트의 부호 워드 시퀀스를 획득하며, 여기서 Z는 확장계수이고, Z는 1 이상의 양의 정수이다.
선택적으로, 상기 기본 행렬 Hb은 왼쪽상부 서브 행렬 Hb3을 더 포함할 수 있으며:
해당 왼쪽상부 서브 행렬 Hb3은 상기 기본 행렬 Hb의 앞 2×Kb 행과 앞 3×Kb 열의 교집합에 의해 왼쪽상부 서브 행렬 Hb3을 구성하고, Hb3의 마지막 Kb 행과 마지막 Kb 열의 교집합에 의해 구성된 서브 행렬은 크기가 Kb×Kb인 하나의 단위 행렬 또는 단위 행렬의 순환 쉬프트 행렬이며;
Hb3의 앞 Kb 행과 마지막 Kb 열의 교집합에 의해 구성된 서브 행렬의 모든 요소는 모두 Z×Z 영행렬에 대응하는 요소이며;
Hb3의 Kb+1 번째 열부터 2×Kb 열까지 하나의 서브 행렬을 구성하며, 해당 서브 행렬의 L1 열에서 각 열의 모든 0이 아닌 정방행렬에 대응하는 요소는 하나뿐이며, 해당 서브 행렬의 나머지 Kb-L1 열의 모든 요소(entry)는 모두 Z×Z 0인 정방행렬에 대응하는 요소이며, 여기서, L1은 0 이상이고 Kb보다 작은 정수이며;
여기서, Nb는 3×Kb 이상이다.
선택적으로, Nb는 2×Kb부터 12×Kb까지에서 선택되는 하나의 결정된 양의 정수이다.
선택적으로, Kb는 2부터 16까지에서 선택되는 하나의 정수를 취한다.
선택적으로, 초광대역 이동 통신(Enhanced Mobile Broadband, eMMB) 시나리오와 초신뢰성 저지연 통신(Ultra-Reliable and Low latency Communication, URLLC) 시나리오는 서로 다른 Kb 값을 사용한다.
선택적으로, 기본 행렬 Hb의 g번째 행의 Z×Z 비영행렬에 대응하는 요소의 개수는, g+1 행의 Z×Z 비영행렬에 대응하는 요소의 개수보다 작거나 같다. 여기서, g=1, 2, ...., Mb-1이다.
선택적으로, 상기 기본 행렬 Hb의 j번째 열의 0이 아닌 정방행렬에 대응하는 모든 요소는 Lj 개이고, 위로부터 아래로 첫번째 요소는 0이며, Lj는 1 이상(크거나 같음)의 양의 정수이며, j=1, …,Nb이다.
밝혀야 할 것은, 본 발명은 이러한 방식에 제한되지 않고, 마지막 요소가 0일 수도 있고, 임의의 요소가 0일 수도 있다. 이러한 방식들은 계층적 복호화를 사용할 때, 순환 쉬프트 역 네트워크(cyclic shift inverse network)를 사용하지 않아도 되고, 라우팅 오버헤드를 현저히 감소시킬 수 있어, 유익한 효과를 얻을 수 있도록 보장할 수 있다.
상기 프로세서(202)는 상기 기본 행렬 Hb및 확장계수 z를 결정하고, (Nb-Mb)×z 비트의 소스 데이터로부터 Nb×z 비트 부호 워드를 얻는 LDPC 부호화 연산을 완성하도록 배치된다.
아래에서는 더욱 구체적인 예를 들었으며, 상기 설명의 요구를 충족시키는 기본 행렬 Hb은 도 3에 도시된 바와 같다.
도 3에 도시된 기본 행렬 Hb에 있어서, 해당 행렬 Hb에 대응하는 부호율은 1/3이고, 행렬 Mb=16 및 Nb=24이며; Hb1은 4*12의 행렬이고, Hb2는 8*16의 행렬이며, Hb3은 16*24의 행렬이다. 해당 기본 행렬 Hb은 확장계수 z=336에 대응한다. 도 3의 행렬의 일례는 Hb1의 특징, Hb2의 특징 및 Hb3의 특징을 동시에 만족시킨다. Hb1의 특징을 만족할 때, 2/3 부호율의 LDPC 부호는 터보 부호에 근접한 성능을 가지며, 해당 행렬은 4 행 밖에 없으므로 초고속 처리의 수요를 만족시킨다. Hb2의 특징을 만족할 때, LDPC가 바람직한 차수 분포를 가지도록 확보하며, 동시에 특정된 TBS=336*8의 거스 요구를 만족하므로, 1/2 부호율의 LDPC 부호가 터보 부호에 근접한 성능을 구비하도록 하며; 해당 행렬은 8 행밖에 없으므로 초고속 처리의 수요를 만족시키며; 또한 Hb1은 Hb2의 왼쪽상부 서브 행렬으로, 네스티드 구조(nested structure)에 속하므로 증분 리던던시 HARQ를 지원할 수 있다. 선택적으로, Hb3의 특징을 만족할 때, LDPC가 바람직한 차수 분포를 가지도록 확보하며, 동시에 특정된 TBS=336*8의 거스 요구를 만족하므로, 1/3 부호율의 LDPC 부호가 터보 부호에 근접한 성능을 구비하도록 하며; 해당 행렬은 16 행밖에 없으므로 초고속 처리의 수료을 만족시키며; 또한 Hb1과 Hb2는 모두 Hb의 왼쪽상부 서브 행렬으로, 네스티드 구조에 속하므로 증분 리던던시 HARQ를 지원할 수 있다.
상기 행렬 Hb의 앞 L0=4 행과 앞 Kb+4=8 열의 교집합은 왼쪽상부 서브 행렬 Hb1을 구성하고, 상기 왼쪽상부 서브 행렬 Hb1의 각 행의 Z×Z 비영행렬(Z×Z non-zero square matrix)에 대응하는 요소의 개수는 차례로 9, 10, 10 및 10이며, 이들은 모두 Kb+2=10 이하(작거나 같음)이고, Kb-2=8 이상(크거나 같음)이며, 상기 왼쪽상부 서브 행렬 Hb1의 마지막 4개 열의 정방행렬은 하나의 좌하삼각 행렬 또는 준-좌하삼각 행렬이다.
상기 행렬에서, A 부분의 행렬은 시스템 비트 부분 행렬이고, B 부분은 검사 비트 부분 행렬이고, 행렬 내의 요소 값 -1인 행렬은 모두 0인 정방행렬(all-zero square matrix)에 대응하고, 요소 값(entry value)이 -1이 아닌 행렬은 정방행렬을 해당 값만큼 순환 쉬프트한 행렬에 대응된다. 또한, 기본 행렬 Hb의 모든 열에서 첫번째의 0이 아닌 정방행렬에 대응하는 요소는 모두 0이다. 이때, 순환 쉬프트 네트워크는 차이 값의 순환 쉬프트를 완성하기만 하면 된다. 이때, 본 발명의 행렬 구조를 구비한 LDPC 계층적 복호화기는 순환 쉬프트 역 네트워크를 필요로 하지 않으며, 종래의 방식과 비교할 때 라우팅 오버헤드가 절반으로 된다.
선택적으로, 상기 부호화기는 이하의 특징들을 더 구비한다: 확장계수 및 기본 치환 행렬에 따라 상기 기본 행렬 Hb을 확장하여 (M×z)×(N×z) 저밀도 패리티 검사 부호의 패리티 검사 행렬을 얻도록 배치된 확장 모듈을 더 포함하며, 상기 복호화 모듈은 상기 기본 행렬 Hb 확장에 의해 얻어진 해당 패리티 검사 행렬에 기반하여 부호화 연산을 수행한다.
본 발명의 실시예는 제기된 기본 행렬 Hb의 구조를 통해 정보 비트에 대해 LDPC 부호화하여 LDPC 부호 워드를 생성할 수 있으며, 이러한 LDPC 부호 워드는 변조(modulation module) 등 모듈을 거친 후 채널로 전송되며, 수신단에서 신호를 수신한 후 복조 등 처리를 수행하여 수신된 LDPC 부호 워드를 생성하고, 수신된 LDPC 부호 워드는 LDPC 복호화기로 전송된다. 이로써, LDPC 부호 워드는 복호화의 파이프 라인 속도가 향상되도록 보장할 수 있으며, 즉 복호화기의 처리 속도가 향상되도록 보장할 수 있다. 이로써 LDPC 부호의 효율을 효과적으로 향상시키고 복호화 속도를 가속화한다. 더 나아가, 본 발명에서 제기한 기본 행렬 Hb의 구조는 역 순환 쉬프트 네트워크(cyclic shift inverse network)(쓰기 저장을 위함)를 사용하지 않고도 교환 네트워크를 감소시킬 수 있도록 하며, 마찬가지로 하드웨어 복잡도를 더 한층 감소시킨다.
실시예 2:
본 발명 실시예는 디지털 통신에서 구조화된 저밀도 패리티 검사 부호(LDPC)를 복호화하는 장치를 제공하며, 도 4에 도시된 바와 같이, 해당 구조는 적어도 프로세서(402)와 메모리(401)를 포함한다.
상기 메모리(401)는 적어도 부호화에 사용되는 기본 행렬 Hb을 저장하도록 배치된다. 상기 기본 패리티 행렬은 다음과 같은 특징들을 포함한다:
상기 기본 행렬 Hb은 시스템 비트에 대응하는 Mb×Kb의 블록 A와 검사 비트에 대응하는 Mb×Mb의 블록 B를 포함하며, 즉 Hb=[A, B]이며, 여기서, hbij는 상기 기본 행렬 Hb의 제i행과 제j열의 요소를 표시하고, i는 상기 기본 행렬 Hb의 행 인덱스이고, j는 상기 기본 행렬 Hb의 열 인덱스이며, Kb=Nb-Mb이며, Kb는 4이상의 정수이고, Nb는 정수이다. i=1, ...., Mb이고, j=1, ...., Nb이다.
상기 기본 행렬 Hb은 하나 또는 복수 개의 서브 행렬을 포함하되, 상기 서브 행렬은 왼쪽상부 서브 행렬 Hb1과 왼쪽상부 서브 행렬 Hb2을 포함하며, 여기서, 상기 왼쪽상부 서브 행렬 Hb1과 상기 왼쪽상부 서브 행렬 Hb2의 행 수 및 열 수는 모두 상기 기본 행렬 Hb의 행 수 및 열 수보다 작으며, 상기 왼쪽상부 서브 행렬 Hb1은 왼쪽상부 서브 행렬 Hb2의 왼쪽상부 서브 행렬이다.
선택적으로, 상기 왼쪽상부 서브 행렬 Hb1은 상기 행렬 Hb의 앞 L0 행과 앞 Kb+4 열의 교집합에 의해 구성되고, 상기 왼쪽상부 서브 행렬 Hb1의 각 행의 Z×Z 비영행렬에 대응하는 요소들의 수는 모두 Kb+2 이하이고 Kb-2 이상이며, 상기 왼쪽상부 서브 행렬 Hb1의 마지막 4개 열의 정방행렬은 하나의 좌하삼각 행렬 또는 준-좌하삼각 행렬이며; 및/또는
상기 왼쪽상부 서브 행렬 Hb2은 상기 행렬 Hb의 앞 Kb 행과 앞 2×Kb 열의 교집합으로 구성되고, 상기 왼쪽상부의 서브행렬 Hb2의 앞 4 행과 마지막 Kb-4 열의 교집합에 의해 구성되는 서브 행렬의 모든 요소는 Z×Z 영행렬에 대응하는 요소이며, 상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행과 마지막 Kb-4 열의 교집합에 의해 구성되는 서브 행렬은 크기가 (Kb-4)×(Kb-4)인 하나의 좌하삼각 행렬 또는 준-좌하삼각 행렬이며, 상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행, Kb+1 ~ Kb+3 번째 열의 교집합에 의해 구성되는 서브 행렬의 모든 요소는 모두 Z×Z 영행렬(Z×Z zero square matrix)에 대응되는 요소이며;
만일 왼쪽상부 서브 행렬 Hb1의 마지막 4 열의 정방행렬이 하나의 하삼각 행렬이면, 상기 왼쪽상부 서브 행렬 Hb2의 Kb+1 번째 열에는 Z×Z 비영행렬에 대응하는 요소가 하나뿐이며, 만일 왼쪽상부 서브 행렬 Hb1의 마지막 4 열의 정방행렬이 하나의 준-하삼각 행렬이면, 상기 왼쪽상부 서브 행렬 Hb2의 Kb+1 번째 열의 모든 요소는 모두 Z×Z 영행렬에 대응하는 요소이며;
상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행과 앞 KB 열의 교집합은 하나의 서브 행렬을 구성하고, 해당 서브 행렬의 각 행의 Z×Z 비영행렬에 대응하는 요소의 수는 모두 Kb-2 이하이며;
여기서, Nb는 2×Kb 이상이고, L0은 4 또는 3과 같다.
2) 상기 확장계수 Z는 한 조의 결정 값 집합 {z1, z2, z3 ..., zV}를 지원하며, 여기서 z1, z2, ..., zV는 오름차순으로 배열되고, zr, zs, zt, zu는 상기 집합 내의 4 개의 결정 값의 확장계수(expansion factors)이며 z1≤zr≤zs≤zt≤zu≤zV를 만족하고, 여기서 V, r, s, t, u는 아래 첨자(subscripts)이고, 1≤r≤s≤t≤u≤V이며, V는 2 이상의 정수이며;
z1≤Z=zi<zr일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트 중 적어도 하나의 비트의 거스는 4이고; 확장계수 Z=zi 및 가장 큰 가중치의 R 열을 삭제한 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트의 거스는 6이며, 여기서 R은 Kb/2 이하이며;
zr≤Z=zi<zs일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트의 거스는 6이며;
zs≤Z=zi<zt일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 시스템 비트의 거스는 6이고, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 적어도 하나의 검사 비트의 거스는 8 이상이며;
zt≤Z=zi<zu일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트의 거스는 8이며;
zu≤Z=zi<zV일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 시스템 비트의 거스는 8이고, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 적어도 하나의 검사 비트의 거스는 10 이상이며;
여기서, 하나의 LDPC 부호 워드의 각 부호 워드 비트는 상기 패리티 검사 행렬의 각 열에 대응하며, 각 부호 워드 비트의 가중치는 대응하는 열 중의 0이 아닌 요소의 개수를 의미하며, i= 1, 2, ..., V이다.
여기서, 하나의 LDPC 부호 워드의 각 부호 워드 비트는 상기 패리티 검사 행렬의 각 열에 대응하며, 각 부호 워드 비트의 가중치는 대응하는 열 중의 0이 아닌 요소의 개수를 의미하며, 여기서, i= 1, 2, ..., V이다.
상기 기본 행렬 Hb및 그에 대응하는 확장계수 Z에 따라, (Nb-Mb)×Z 비트의 소스 정보 비트 시퀀스에 대한 LDPC 부호화 연산을 완성하여 Nb×Z 비트의 부호 워드 시퀀스를 획득하며, 여기서 Z는 확장계수이고, Z는 1 이상의 양의 정수이다.
선택적으로, 상기 기본 행렬 Hb은 왼쪽상부 행렬 Hb3을 더 포함한다.
선택적으로, 해당 왼쪽상부 서브 행렬 Hb3은 상기 기본 행렬 Hb의 앞 2×Kb 행과 앞 3×Kb 열의 교집합에 의해 왼쪽상부 서브 행렬 Hb3을 구성하고, Hb3의 마지막 Kb 행과 마지막 Kb 열의 교집합에 의해 구성된 서브 행렬은 크기가 Kb×Kb인 하나의 단위 행렬 또는 단위 행렬의 순환 쉬프트 행렬이며;
Hb3의 앞 Kb 행과 마지막 Kb 열의 교집합에 의해 구성된 서브 행렬의 모든 요소는 모두 Z×Z 영행렬에 대응하는 요소이며;
Hb3의 Kb+1 번째 열에서 2×Kb 열까지 하나의 서브 행렬을 구성하며, 해당 서브 행렬의 L1 열에서 각 열의 모든 0이 아닌 정방행렬에 대응하는 요소는 하나뿐이며, 해당 서브 행렬의 나머지 Kb-L1 열의 모든 요소(entry)는 모두 Z×Z 0인 행렬에 대응하는 요소이며, 여기서, L1은 0 이상이며 Kb보다 작은 정수이며;
여기서, Nb는 3×Kb 이상이고, L0은 4 또는 3과 같다.
선택적으로, Nb는 2×Kb부터 12×Kb까지에서 선택되는 하나의 결정된 양의 정수이다.
선택적으로, Kb는 2부터 16까지에서 선택되는 하나의 정수를 취한다.
더 나아가, eMMB 시나리오와 URLLC 시나리오는 서로 다른 Kb 값을 사용한다.
선택적으로, 기본 행렬 Hb의 g번째 행의 Z×Z 비영행렬에 대응하는 요소의 개수는, g+1 행의 Z×Z 비영행렬에 대응하는 요소의 개수보다 작거나 같다. 여기서, g=1, 2, ..., Mb-1이다.
선택적으로, 상기 기본 행렬 Hb의 j번째 열의 0이 아닌 정방행렬에 대응하는 모든 요소는 Lj 개이고, 위로부터 아래로 첫번째 요소는 0이며, Lj는 1 이상의 양의 정수이며, j=1, ..., Nb이다.
기본 행렬 Hb의 제j열의 0이 아닌 정방행렬에 대응하는 요소는 모두 Lj 개 이고, 위로부터 아래로 제일 처음 요소는 0이며, Lj는 1 이상의 양의 정수이며, j=0, 1, ... Nb-1이다.
상기 하나의 프로세서(402)는 상기 기본 행렬 Hb 및 확장계수 z에 따라, Nb×z 비트의 부호 워드로부터 (Nb-Mb)×z 비트 정보 데이터를 얻는 LDPC 복호화 연산을 완성하도록 배치된다.
아래에서는 더욱 구체적인 예를 들었으며, 상기 설명의 요구를 충족시키는 기본 행렬 Hb은 도 3에 도시된 바와 같다.
도 3에 도시된 기본 행렬 Hb에 있어서, 해당 행렬 Hb에 대응하는 부호율은 1/3이고, 행렬 Mb=16 및 Nb=24이며, Hb1은 4*12의 행렬이고, Hb2는 8*16의 행렬이며, Hb3은 16*24의 행렬이다. 해당 기본 행렬 Hb은 확장계수 z=336에 대응한다. 도 3의 행렬의 일례는 Hb1의 특징, Hb2의 특징 및 Hb3의 특징을 동시에 만족시킨다. Hb1의 특징을 만족할 때, 2/3 부호율의 LDPC 부호는 터보 부호에 근접한 성능을 가지며, 해당 행렬은 4 행 밖에 없으므로 초고속 처리의 수요를 만족시킨다. Hb2의 특징을 만족할 때, LDPC가 바람직한 차수 분포를 가지도록 확보하며, 동시에 특정된 TBS=336*8의 거스 요구를 만족하므로, 1/2C 부호율의 LDPC 부호가 터보 부호에 근접한 성능을 구비하도록 하며; 해당 행렬은 8 행밖에 없으므로 초고속 처리의 수요를 만족시키며; 또한 Hb1은 Hb2의 왼쪽상부 서브 행렬으로, 네스티드 구조에 속하므로 증분 리던던시 HARQ를 지원할 수 있다. 선택적으로, Hb3의 특징을 만족할 때 LDPC가 바람직한 차수 분포를 가지도록 확보하며, 동시에 특정된 TBS=336*8의 거스 요구를 만족하므로, 1/3 부호율의 LDPC 부호가 터보 부호에 근접한 성능을 구비하도록 하며; 해당 행렬은 16 행밖에 없으므로 초고속 처리의 수요를 만족시키며; 또한 Hb1과 Hb2는 모두 Hb의 왼쪽상부 서브 행렬으로, 네스티드 구조에 속하므로 증분 리던던시 HARQ를 지원할 수 있다.
따라서, 본 발명의 구조는 매우 높거나 또는 비교적 유연한 병렬성(flexible parallelism)을 지원할 수 있으며, 초고속 복호화에 적합한 복호화 요구를 만족함으로써 Gbps의 복호화 요구에 도달한다. 본 실시예는 제기된 기본 행렬 Hb의 구조를 통해 정보 비트에 대해 LDPC 복호화를 수행하고, LDPC 복호화기는 LDPC 부호 워드를 수신한다. 기본 행렬 Hb의 행 수가 매우 작으므로, LDPC 복호화기는 복호화의 파이프 라인 속도, 즉 복호화기의 처리 속도가 향상되도록 보장할 수 있다. 이로써 LDPC 부호의 효율을 효과적으로 향상시키고 복호화 속도를 가속화한다. 더 나아가, 본 발명에서 제기한 기본 행렬 Hb의 구조는 역 순환 쉬프트 네트워크(쓰기 저장을 위함)를 사용하지 않고도 교환 네트워크를 감소시킬 수 있도록 하며, 마찬가지로 하드웨어 복잡도를 더욱 감소시킨다.
실시예 3:
본 발명의 실시예는 구조화된 LDPC 부호의 부호화 방법을 제공하였으며, 해당 방법을 이용하여 LDPC 부호화를 완성하는 순서는 도 5에 도시된 바와 같이 단계(501) 및 단계(502)를 포함한다:
단계(501), 부호화에 사용되는 기본 행렬 Hb을 결정하고;
선택적으로, 상기 기본 검사 행렬은 다음과 같은 특징들을 포함한다:
상기 기본 행렬 Hb은 시스템 비트에 대응하는 Mb×Kb의 블록 A와 검사 비트에 대응하는 Mb×Mb의 블록 B, 즉 Hb= [A, B]를 포함하며, 여기서, hbij는 상기 기본 행렬 Hb의 제i행과 제j열의 요소를 표시하고, i는 상기 기본 행렬 Hb의 행 인덱스이고, j는 상기 기본 행렬 Hb의 열 인덱스이며, Kb=Nb-Mb이며, Kb는 4이상의 정수이고, Nb는 정수이다. I=1, …, Mb이고, j=1, …, Nb이다.
선택적으로, 상기 기본 행렬 Hb은 적어도 다음과 같은 특징들을 더 포함한다: 상기 기본 행렬 Hb는 하나 또는 복수 개의 서브 행렬을 포함하되, 상기 서브 행렬은 왼쪽상부 서브 행렬 Hb1과 왼쪽상부 서브 행렬 Hb2을 포함하며, 여기서, 상기 왼쪽상부 서브 행렬 Hb1과 상기 왼쪽상부 서브 행렬 Hb2의 행 수 및 열 수는 모두 상기 기본 행렬 Hb의 행 수 및 열 수보다 작으며, 상기 왼쪽상부 서브 행렬 Hb1은 왼쪽상부 서브 행렬 Hb2의 왼쪽상부 서브 행렬이다. 선택적으로, 상기 특징들은 다음과 같은 구현방식으로 표시될 수 있지만 이에 제한되는 것은 아니다:
상기 왼쪽상부 서브 행렬 Hb1은 상기 행렬 Hb의 앞 L0 행과 앞 Kb+4 열의 교집합에 의해 구성되고, 상기 왼쪽상부 서브 행렬 Hb1의 각 행의 Z×Z 비영행렬에 대응하는 요소의 개수는 모두 Kb+2 이하이고 Kb-2 이상이며, 상기 왼쪽상부 서브 행렬 Hb1의 마지막 4개 열의 정방행렬은 하나의 좌하삼각 행렬 또는 준-좌하삼각 행렬이며; 및/또는
상기 왼쪽상부 서브 행렬 Hb2은 상기 행렬 Hb의 앞 Kb 행과 앞 2×Kb 열의 교집합으로 구성되고, 상기 왼쪽상부 서브 행렬 Hb2의 앞 4 행과 마지막 Kb-4 열의 교집합에 의해 구성되는 서브 행렬의 모든 요소는 Z×Z 영행렬에 대응하는 요소이며, 상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행과 마지막 Kb-4 열의 교집합에 의해 구성되는 서브 행렬은 크기가 (Kb-4)×(Kb-4)인 하나의 좌하삼각 행렬 또는 준-좌하삼각 행렬이며, 상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행, Kb+1 내지 Kb+3 번째 열의 교집합에 의해 구성되는 서브 행렬의 모든 요소는 모두 Z×Z 영행렬에 대응되는 요소이며;
만일 왼쪽상부 서브 행렬 Hb1의 마지막 4 열의 정방행렬이 하나의 하삼각 행렬이면, 상기 왼쪽상부 서브 행렬 Hb2의 Kb+1번째 열에는 Z×Z 비영행렬에 대응하는 요소가 하나뿐이며, 만일 왼쪽상부 서브 행렬 Hb1의 마지막 4 열의 정방행렬이 하나의 준-하삼각 행렬이면, 상기 왼쪽상부 서브 행렬 Hb2의 Kb+1 번째 열의 모든 요소는 모두 Z×Z 영행렬에 대응하는 요소이며;
상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행과 앞 KB 열의 교집합은 하나의 서브 행렬을 구성하고, 해당 서브 행렬의 각 행의 Z×Z 비영행렬에 대응하는 요소의 개수는 모두 Kb-2 이하이며;
여기서, Nb는 2×Kb 이상이고, L0은 4 또는 3과 같다.
2) 상기 확장계수 Z는 한 조의 결정 값 집합 {z1, z2, z3 ..., zV}을 지원하며, 여기서 z1, z2, ..., zV는 오름차순으로 배열되고, zr, zs, zt, zu는 상기 집합 내의 네 개의 결정 값의 확장계수이며 z1≤zr≤zs≤zt≤zu≤zV를 만족하고, 여기서 V, r, s, t, u는 아래 첨자이며, 1≤r≤s≤t≤u≤V이고, V는 2 이상의 정수이며;
z1≤Z=zi<zr일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트 중 적어도 하나의 비트의 거스는 4이고; 확장계수 Z=zi 및 가장 큰 가중치의 R 열을 삭제한 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트의 거스는 6이며, 여기서 R은 Kb/2 이하이며;
zr≤Z=zi<zs일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트의 거스는 6이며;
zs≤Z=zi<zt일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 시스템 비트의 거스는 6이고, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 적어도 하나의 검사 비트의 거스는 8 이상이며;
zt≤Z=zi<zu일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트의 거스는 8이며;
zu≤Z=zi<zV일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 시스템 비트의 거스는 8이고, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 적어도 하나의 검사 비트의 거스는 10 이상이며;
여기서, 하나의 LDPC 부호 워드의 각 부호 워드 비트는 상기 패리티 검사 행렬의 각 열에 대응하며, 각 부호 워드 비트의 가중치는 대응하는 열 중의 0이 아닌 요소의 개수를 의미하며, i=1, 2, ..., V이다.
상기 기본 행렬 Hb및 그에 대응하는 확장계수 Z에 따라, (Nb-Mb)×Z 비트의 소스 정보 비트 시퀀스에 대한 LDPC 부호화 연산을 완성하여 Nb×Z 비트의 부호 워드 시퀀스를 획득하며, 여기서 Z는 확장계수이고, Z는 1 이상의 양의 정수이다.
상기 2)에 있어서, 더욱 구체적인 예는 다음과 같다:
하나의 1/3 부호율인 구조화된 LDPC 부호의 기본 행렬 Hb을 정의하면 다음과 같다:
Hb=
Figure 112021029142027-pat00017
해당 LDPC 부호의 확장계수는 한조의 결정 값 집합 {z1, z2, z3, …,zV}={13, 50, 125, 250, 500, 750, 1000}을 지원하며, 여기서 V=7, Zmax=1000이다. 각각의 확장계수에 대응하는 기본 행렬 Hb(zi)은 배경기술에서의 scale+floor 알고리즘을 통해 얻는다.
여기서, r=2, z1=13≤Z=zi<z2=50일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트 중 13*5=65 비트의 거스는 4이고; 확장계수 Z=zi 및 가장 큰 R=8열을 삭제한 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트의 거스는 6이며, 여기서 R은 Kb/2 이하이며;
여기서, s=3이고 z2≤Z=zi<z3일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트의 거스는 6이며;
여기서, t=4이고 zs≤Z=zi<zt일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 시스템 비트의 거스는 6이고, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 125개의 검사 비트의 거스는 8 이상이며;
여기서, u=7이고 zt≤Z=zi<zu일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트의 거스는 8이며;
여기서, u=7, V=7이고, zu≤Z=zi<zV가 널(null)이면, 이러한 상황이 존재하지 않음을 설명한다.
더 나아가, 상기 기본 행렬 Hb은 다음과 같은 특징들을 더 구비한다: 해당 왼쪽상부 서브 행렬 Hb3은 상기 기본 행렬 Hb의 앞 2×Kb 행과 앞 3×Kb 열의 교집합에 의해 왼쪽상부 서브 행렬 Hb3을 구성하고, Hb3의 마지막 Kb 행과 마지막 Kb 열의 교집합에 의해 구성된 서브 행렬은 크기가 Kb×Kb인 하나의 단위 행렬 또는 단위 행렬의 순환 쉬프트 행렬이며;
Hb3의 앞 Kb 행과 마지막 Kb 열의 교집합에 의해 구성된 서브 행렬의 모든 요소는 모두 Z×Z 영행렬에 대응하는 요소이며;
Hb3의 Kb+1 번째 열부터 2×Kb 열까지 하나의 서브 행렬을 구성하며, 해당 서브 행렬의 L1 열에서 각 열의 모든 0이 아닌 정방행렬에 대응하는 요소는 하나뿐이며, 해당 서브 행렬의 나머지 Kb-L1 열의 모든 요소(entry)는 모두 Z×Z 0인 정방행렬에 대응하는 요소이며, 여기서, L1은 0 이상이고 Kb보다 작은 정수이며;
여기서, Nb는 3×Kb 이상이다.
선택적으로, Nb는 2×Kb부터 12×Kb까지에서 선택되는 하나의 결정된 양의 정수이다.
선택적으로, Kb는 2부터 16까지에서 선택되는 하나의 정수를 취한다.
더 나아가, eMMB 시나리오와 URLLC 시나리오는 서로 다른 Kb 값을 사용한다.
선택적으로, 기본 행렬 Hb의 g번째 행의 Z×Z 비영행렬에 대응하는 요소의 개수는, g+1 행의 Z×Z 비영행렬에 대응하는 요소의 개수보다 작거나 같다. 여기서, g=1, 2, ..., Mb-1이다.
선택적으로, 상기 기본 행렬 Hb의 j번째 열의 0이 아닌 정방행렬에 대응하는 모든 요소는 Lj 개이고, 위로부터 아래로 첫번째 요소는 0이며, 여기서, Lj는 1 이상의 양의 정수이며, j=1, ..., Nb이다.
기본 행렬 Hb의 j번째 열의 0이 아닌 정방행렬에 대응하는 모든 요소는 Lj 개이고, 위로부터 아래로 첫번째 요소는 0이며, Lj는 1 이상의 양의 정수이며, j=0, 1, ..., Nb이다.
단계(502), 상기 기본 행렬 Hb 및 그에 대응하는 확장계수에 따라 (Nb-Mb)×z 비트의 소스 데이터로부터 Nb×z 비트 부호 워드를 얻는 LDPC 부호화 연산을 완성하되;
여기서, z는 확장계수이며, z는 1 이상의 양의 정수이다.
실시예 4:
본 발명의 실시예는 구조화된 LDPC 부호의 복호화 방법을 제공하였으며, 해당 방법을 이용하여 LDPC 부호화를 완성하는 순서는 도 6에 도시된 바와 같이 단계(601) 및 단계(602)를 포함한다:
단계(601), 복호화에 사용되는 기본 행렬 Hb을 결정하고;
여기서, 상기 기본 행렬 Hb은 하나 또는 복수 개의 서브 행렬 Hb을 포함하되, 상기 서브 행렬은 왼쪽상부 서브 행렬 Hb1과 왼쪽상부 서브 행렬 Hb2을 포함하며, 여기서, 상기 왼쪽상부 서브 행렬 Hb1과 상기 왼쪽상부 서브 행렬 Hb2의 행 수 및 열 수는 모두 상기 기본 행렬 Hb의 행 수 및 열 수보다 작으며, 상기 왼쪽상부 서브 행렬 Hb1은 왼쪽상부 서브 행렬 Hb2의 왼쪽상부 서브 행렬이며;
즉, 상기 기본 행렬 Hb은 다음과 같은 특징들을 포함한다:
상기 기본 행렬 Hb및 상기 기본 행렬 Hb에 대응하는 확장계수 Z에 따라, 미리 설정된 비트수의 부호 워드에 대해 복호화 연산을 수행하여 소스 정보 비트 시퀀스를 획득하며, 여기서 Z는 1 이상의 양의 정수이다. 상기 기본 행렬 Hb은 시스템 비트에 대응하는 Mb×Kb의 블록 A와 검사 비트에 대응하는 Mb×Mb의 블록 B를 포함하며, 즉 Hb= [A, B]를 포함하며, 여기서, hbij는 상기 기본 행렬 Hb의 제i행과 제j열의 요소를 표시하고, i는 상기 기본 행렬 Hb의 행 인덱스이고, j는 상기 기본 행렬 Hb의 열 인덱스이며, Kb=Nb-Mb이며, Kb는 4이상의 정수이다. Nb는 정수이며, i=1, …, Mb이고, j=1, …, Nb이다.
상기 기본 행렬 Hb은 적어도 이하 특징들 중의 하나를 더 포함한다:
상기 왼쪽상부 서브 행렬 Hb1은 상기 행렬 Hb의 앞 L0 행과 앞 Kb+4 열의 교집합에 의해 구성되고, 상기 왼쪽상부 서브 행렬 Hb1의 각 행의 Z×Z 비영행렬에 대응하는 요소의 개수는 모두 Kb+2 이하이고 Kb-2 이상이며, 상기 왼쪽상부 서브 행렬 Hb1의 마지막 4개 열의 정방행렬은 하나의 좌하삼각 행렬 또는 준-좌하삼각 행렬이며; 및/또는
상기 왼쪽상부 서브 행렬 Hb2은 상기 행렬 Hb의 앞 Kb 행과 앞 2×Kb 열의 교집합으로 구성되고, 상기 왼쪽상부 서브 행렬 Hb2의 앞 4 행과 마지막 Kb-4 열의 교집합에 의해 구성되는 서브 행렬의 모든 요소는 Z×Z 영행렬에 대응하는 요소이며, 상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행과 마지막 Kb-4 열의 교집합에 의해 구성되는 서브 행렬은 크기가 (Kb-4)×(Kb-4)인 하나의 좌하삼각 행렬 또는 준-좌하삼각 행렬이며, 상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행, Kb+1 ~ Kb+3 번째 열의 교집합에 의해 구성되는 서브 행렬의 모든 요소는 모두 Z×Z 영행렬(Z×Z zero square matrix)에 대응되는 요소이며;
만일 왼쪽상부 서브 행렬 Hb1의 마지막 4 열의 정방행렬이 하나의 하삼각 행렬이면, 상기 왼쪽상부 서브 행렬 Hb2의 Kb+1번째 열에는 Z×Z 비영행렬에 대응하는 요소가 하나뿐이며, 만일 왼쪽상부 서브 행렬 Hb1의 마지막 4 열의 정방행렬이 하나의 준-하삼각 행렬이면, 상기 왼쪽상부 서브 행렬 Hb2의 Kb+1 번째 열의 모든 요소는 모두 Z×Z 영행렬에 대응하는 요소이며;
상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행과 앞 KB 열의 교집합은 하나의 서브 행렬을 구성하고, 해당 서브 행렬의 각 행의 Z×Z 비영행렬에 대응하는 요소의 개수는 모두 Kb-2 이하이며;
여기서, Nb는 2×Kb 이상이고, L0은 4 또는 3과 같다.
2) 상기 확장계수 Z는 한 조의 결정 값 집합 {z1, z2, z3 ..., zV}을 지원하며, 여기서, z1, z2, ..., zV는 오름차순으로 배열되고, zr, zs, zt, zu는 상기 집합 내의 네 개의 결정 값의 확장계수이며 z1≤zr≤zs≤zt≤zu≤zV를 만족하고, 여기서 V, r, s, t, u는 아래 첨자이며, 1≤r≤s≤t≤u≤V이고, V는 2 이상의 정수이며;
z1≤Z=zi<zr일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트 중 적어도 하나의 비트의 거스는 4이고; 확장계수 Z=zi 및 가장 큰 R 열을 삭제한 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트의 거스는 6이며, 여기서 R은 Kb/2 이하이며;
zr≤Z=zi<zs일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트의 거스는 6이며;
zs≤Z=zi<zt일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 시스템 비트의 거스는 6이고, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 적어도 하나의 검사 비트의 거스는 8 이상이며;
zt≤Z=zi<zu일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트의 거스는 8이며;
zu≤Z=zi<zV일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 시스템 비트의 거스는 8이고, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 적어도 하나의 검사 비트의 거스는 10 이상이며;
여기서, 하나의 LDPC 부호 워드의 각 부호 워드 비트는 상기 패리티 검사 행렬의 각 열에 대응하며, 각 부호 워드 비트의 가중치는 대응하는 열 중의 0이 아닌 요소의 개수를 의미하며, i=1, 2, ..., V이다.
상기 기본 행렬 Hb 및 그에 대응하는 확장계수 Z에 따라, (Nb-Mb)×Z 비트의 소스 정보 비트 시퀀스에 대한 LDPC 부호화 연산을 완성하여 Nb×Z 비트의 부호 워드 시퀀스를 획득하며, 여기서 Z는 확장계수이고, Z는 1 이상의 양의 정수이다.
선택적으로, 상기 구조화된 LDPC 부호의 부호화 방법의 기술특징은 다음과 같은 단계를 더 포함한다:
해당 왼쪽상부 서브 행렬 Hb3은 상기 기본 행렬 Hb의 앞 2×Kb 행과 앞 3×Kb 열의 교집합에 의해 왼쪽상부 서브 행렬 Hb3을 구성하고, Hb3의 마지막 Kb 행과 마지막 Kb 열의 교집합에 의해 구성된 서브 행렬은 크기가 Kb×Kb인 하나의 단위 행렬 또는 단위 행렬의 순환 쉬프트 행렬이며;
Hb3의 앞 Kb 행과 마지막 Kb 열의 교집합에 의해 구성된 서브 행렬의 모든 요소는 모두 Z×Z 영행렬에 대응하는 요소이며;
Hb3의 Kb+1 번째 열부터 2×Kb 열까지 하나의 서브 행렬을 구성하며, 해당 서브 행렬의 L1 열에서 각 열의 모든 0이 아닌 정방행렬에 대응하는 요소는 하나뿐이며, 해당 서브 행렬의 나머지 Kb-L1 열의 모든 요소(entry)는 모두 Z×Z 0인 정방행렬에 대응하는 요소이며, 여기서, L1은 0 이상이고 Kb보다 작은 정수이며;
여기서, Nb는 3×Kb 이상이다.
선택적으로, Nb는 2×Kb부터 12×Kb까지에서 선택되는 하나의 결정된 양의 정수이다.
선택적으로, Kb는 2부터 16까지에서 선택되는 하나의 정수를 취한다.
더 나아가, eMMB 시나리오와 URLLC 시나리오는 서로 다른 Kb 값을 사용한다.
선택적으로, 기본 행렬 Hb의 g번째 행의 Z×Z 비영행렬에 대응하는 요소의 개수는, g+1 행의 Z×Z 비영행렬에 대응하는 요소의 개수보다 작거나 같다. 여기서, g=1, 2, ..., Mb-1이다.
선택적으로, 상기 기본 행렬 Hb의 j번째 열의 0이 아닌 정방행렬에 대응하는 모든 요소는 Lj 개이고, 위로부터 아래로 첫번째 요소는 0이며, Lj는 1 이상의 양의 정수이며, j=1, …, Nb이다.
기본 행렬 Hb의 j번째 열의 0이 아닌 정방행렬에 대응하는 모든 요소는 Lj 개이고, 위로부터 아래로 첫번째 요소는 0이며, Lj는 1 이상의 양의 정수이며, j=0, 1, …, Nb이다.
단계(602), 상기 기본 행렬 Hb및 이에 대응하는 확장계수에 따라 Nb×z 비트의 부호 워드로부터 (Nb-Mb)×z 비트 정보 데이터를 얻는 LDPC 복호화 연산을 완성하고;
여기서, z는 확장계수이며, z는 1 이상의 양의 정수이다.
실시예 5
본 발명의 실시예는 구조화된 LDPC 부호의 부호화 장치를 제공하였으며, 그 구조는 도 7에 도시된 바와 같이 결정 모듈(701) 및 부호화 모듈(702)을 포함한다.
즉 부호화에 사용되는 기본 행렬 Hb을 결정하도록 배치된 결정 모듈(701)을 포함하며, 상기 기본 검사 행렬은 다음과 같은 특징들을 포함한다:
상기 기본 행렬 Hb은 시스템 비트에 대응하는 Mb×Kb의 블록 A와 검사 비트에 대응하는 Mb×Mb의 블록 B를 포함하며, 즉 Hb=[A, B]이며, 여기서, hbij는 상기 기본 행렬 Hb의 제i행과 제j열의 요소를 표시하고, i는 상기 기본 행렬 Hb의 행 인덱스이고, j는 상기 기본 행렬 Hb의 열 인덱스이며, Kb=Nb-Mb이고, Nb는 정수이며, Kb는 4이상의 정수이다. i=1, …, Mb이고, j=1, …, Nb이다.
여기서, 상기 기본 행렬 Hb은 하나 또는 복수 개의 서브 행렬을 포함하되, 상기 서브 행렬은 왼쪽상부 서브 행렬 Hb1과 왼쪽상부 서브 행렬 Hb2을 포함하며, 여기서, 상기 왼쪽상부 서브 행렬 Hb1과 왼쪽상부 서브 행렬 Hb2의 행 수 및 열 수는 모두 상기 기본 행렬 Hb의 행 수 및 열 수보다 작으며, 상기 왼쪽상부 서브 행렬 Hb1은 왼쪽상부 서브 행렬 Hb2의 왼쪽상부 서브 행렬이다. 즉, 상기 기본 행렬 Hb은 이하 특징 중의 적어도 하나를 포함한다:
상기 왼쪽상부 서브 행렬 Hb1은 상기 행렬 Hb의 앞 L0 행과 앞 Kb+4 열의 교집합에 의해 구성되고, 상기 왼쪽상부 서브 행렬 Hb1의 각 행의 Z×Z 비영행렬에 대응하는 요소의 개수는 모두 Kb+2 이하이고 Kb-2 이상이며, 상기 왼쪽상부 서브 행렬 Hb1의 마지막 4개 열의 정방행렬은 하나의 좌하삼각 행렬 또는 준-좌하삼각 행렬이며; 및/또는
상기 왼쪽상부 서브 행렬 Hb2은 상기 행렬 Hb의 앞 Kb 행과 앞 2×Kb 열의 교집합(intersection)으로 구성되고, 상기 왼쪽상부 서브 행렬 Hb2의 앞 4 행과 마지막 Kb-4 열의 교집합에 의해 구성되는 서브 행렬의 모든 요소는 Z×Z 영행렬(Z×Z zero square matrix)에 대응하는 요소이며, 상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행과 마지막 Kb-4 열의 교집합에 의해 구성되는 서브 행렬은 크기가 (Kb-4)×(Kb-4)인 하나의 좌하삼각 행렬 또는 준-좌하삼각 행렬이며, 상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행, Kb+1 ~ Kb+3 번째 열의 교집합에 의해 구성되는 서브 행렬의 모든 요소는 모두 Z×Z 영행렬에 대응되는 요소이며;
만일 왼쪽상부 서브 행렬 Hb1의 마지막 4 열의 정방행렬이 하나의 하삼각 행렬이면, 상기 왼쪽상부 서브 행렬 Hb2의 Kb+1번째 열에는 Z×Z 비영행렬(Z×Z non-zero square matrix)에 대응하는 요소가 하나뿐이며, 만일 왼쪽상부 서브 행렬 Hb1의 마지막 4 열의 정방행렬이 하나의 준-하삼각 행렬이면, 상기 왼쪽상부 서브 행렬 Hb2의 Kb+1 번째 열의 모든 요소는 모두 Z×Z 영행렬에 대응하는 요소이며;
상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행과 앞 KB 열의 교집합은 하나의 서브 행렬을 구성하고, 해당 서브 행렬의 각 행의 Z×Z 비영행렬에 대응하는 요소의 개수는 모두 Kb-2 이하이며;
여기서, Nb는 2×Kb 이상이고, L0은 4 또는 3과 같다.
2) 상기 확장계수 Z는 한 조의 결정 값 집합(a set of determined values) {z1, z2, z3 ..., zV}을 지원하며, 여기서, z1, z2, ..., zV는 오름차순으로 배열되고, zr, zs, zt, zu는 상기 집합 내의 네 개의 결정 값의 확장계수이며 z1≤zr≤zs≤zt≤zu≤zV를 만족하고, 여기서 V, r, s, t, u는 아래 첨자이며, 1≤r≤s≤t≤u≤V이고, V는 2 이상의 정수이며;
z1≤Z=zi<zr일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트 중 적어도 하나의 비트의 거스는 4이고; 확장계수 Z=zi 및 가장 큰 가중치의 R 열을 삭제한 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트의 거스는 6이며, 여기서 R은 Kb/2 이하이며;
zr≤Z=zi<zs일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트의 거스는 6이며;
zs≤Z=zi<zt일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 시스템 비트의 거스는 6이고, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 적어도 하나의 검사 비트의 거스는 8 이상이며;
zt≤Z=zi<zu일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트의 거스는 8이며;
zu≤Z=zi<zV일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 시스템 비트의 거스는 8이고, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 적어도 하나의 검사 비트의 거스는 10 이상이며;
여기서, 하나의 LDPC 부호 워드의 각 부호 워드 비트는 상기 패리티 검사 행렬의 각 열에 대응하며, 각 부호 워드 비트의 가중치는 대응하는 열 중의 0이 아닌 요소의 개수를 의미하며, i=1, 2, ..., V이다.
상기 기본 행렬 Hb 및 그에 대응하는 확장계수 Z에 따라, (Nb-Mb)×Z 비트의 소스 정보 비트 시퀀스에 대한 LDPC 부호화 연산을 완성하여 Nb×Z 비트의 부호 워드 시퀀스를 획득하며, 여기서 Z는 확장계수이고, Z는 1 이상의 양의 정수이다.
선택적으로, 상기 구조화된 LDPC 부호의 부호화 방법은 다음과 같은 단계를 더 포함한다:
해당 왼쪽상부 서브 행렬 Hb3은 상기 기본 행렬 Hb의 앞 2×Kb 행과 앞 3×Kb 열의 교집합에 의해 왼쪽상부 서브 행렬 Hb3을 구성하고, Hb3의 마지막 Kb 행과 마지막 Kb 열의 교집합에 의해 구성된 서브 행렬은 크기가 Kb×Kb인 하나의 단위 행렬 또는 단위 행렬의 순환 쉬프트 행렬(cyclic shift matrix of the identity matrix)이며;
Hb3의 앞 Kb 행과 마지막 Kb 열의 교집합에 의해 구성된 서브 행렬의 모든 요소는 모두 Z×Z 영행렬에 대응하는 요소이며;
Hb3의 Kb+1 번째 열부터 2×Kb 열까지 하나의 서브 행렬을 구성하며, 해당 서브 행렬의 L1 열에서 각 열의 모든 0이 아닌 정방행렬에 대응하는 요소는 하나뿐이며, 해당 서브 행렬의 나머지 Kb-L1 열의 모든 요소(entry)는 모두 Z*Z 0인 정방행렬에 대응하는 요소이며, 여기서, L1은 0 이상이고 Kb보다 작은 정수이며;
여기서, Nb는 3×Kb 이상이다.
선택적으로, Nb는 2×Kb부터 12×Kb까지에서 선택되는 하나의 결정된 양의 정수이다.
선택적으로, Kb는 2부터 16까지에서 선택되는 하나의 정수를 취한다.
더 나아가, eMMB 시나리오와 URLLC 시나리오는 서로 다른 Kb 값을 사용한다.
선택적으로, 기본 행렬 Hb의 g번째 행의 Z×Z 비영행렬에 대응하는 요소의 개수는, g+1 행의 Z×Z 비영행렬에 대응하는 요소의 개수보다 작거나 같다. 여기서, g=1, 2, ..., Mb-1이다.
선택적으로, 상기 기본 행렬 Hb의 j번째 열의 0이 아닌 정방행렬에 대응하는 모든 요소는 Lj 개이고, 위로부터 아래로 첫번째 요소는 0이며, Lj는 1 이상의 양의 정수이며, j=1, …, Nb이다.
기본 행렬 Hb의 j번째 열의 0이 아닌 정방행렬에 대응하는 모든 요소는 Lj 개이고, 위로부터 아래로 첫번째 요소는 0이며, Lj는 1 이상의 양의 정수이며, j=0, 1, …, Nb이다.
부호화 모듈(702)은 상기 기본 행렬 Hb 및 그에 대응하는 확장계수에 따라, (Nb-Mb)×Z 비트의 소스 정보로부터 Nb×z 비트 부호 워드를 얻는 LDPC 부호화 연산을 완성하도록 배치되며, 여기서 Z는 확장계수이고, Z는 1 이상의 양의 정수이다.
본 발명의 실시예는 구조화된 LDPC 부호의 복호화 장치를 더 제공하였으며, 그 구조는 도 8에 도시된 바와 같이, 결정 모듈(801) 및 복호화 모듈(802)을 포함한다:
결정모듈(801)은 복호화에 사용되는 기본 행렬 Hb을 결정하도록 배치되며, 상기 기본 검사 행렬은 이하 특징들을 포함한다:
상기 기본 행렬 Hb은 시스템 비트에 대응하는 Mb×Kb의 블록 A와 검사 비트에 대응하는 Mb×Mb의 블록 B, 즉 Hb= [A, B]를 포함하며, 여기서, hbij는 상기 기본 행렬 Hb의 제i행과 제j열의 요소를 표시하고, i는 상기 기본 행렬 Hb의 행 인덱스이고, j는 상기 기본 행렬 Hb의 열 인덱스이며, Kb=Nb-Mb이고, Nb는 정수이며, Kb는 4이상의 정수이다. i=1, …, Mb이고, j=1, …, Nb이다.
상기 기본 행렬 Hb은 이하 특징 중의 적어도 하나를 포함한다:
상기 왼쪽상부 서브 행렬 Hb1은 상기 행렬 Hb의 앞 L0 행과 앞 Kb+4 열의 교집합에 의해 구성되고, 상기 왼쪽상부 서브 행렬 Hb1의 각 행의 Z×Z 비영행렬에 대응하는 요소의 개수는 모두 Kb+2 이하이고 Kb-2 이상이며, 상기 왼쪽상부 서브 행렬 Hb1의 마지막 4개 열의 정방행렬은 하나의 좌하삼각 행렬 또는 준-좌하삼각 행렬이며; 및/또는
상기 왼쪽상부 서브 행렬 Hb2은 상기 행렬 Hb의 앞 Kb 행과 앞 2×Kb 열의 교집합으로 구성되고, 상기 왼쪽상부 서브 행렬 Hb2의 앞 4 행과 마지막 Kb-4 열의 교집합에 의해 구성되는 서브 행렬의 모든 요소는 Z×Z 영행렬에 대응하는 요소이며, 상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행과 마지막 Kb-4 열의 교집합에 의해 구성되는 서브 행렬은 크기가 (Kb-4)×(Kb-4)인 하나의 좌하삼각 행렬 또는 준-좌하삼각 행렬이며, 상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행, Kb+1 ~ Kb+3 번째 열의 교집합에 의해 구성되는 서브 행렬의 모든 요소는 모두 Z×Z 영행렬에 대응되는 요소이며;
만일 왼쪽상부 서브 행렬 Hb1의 마지막 4 열의 정방행렬이 하나의 하삼각 행렬이면, 상기 왼쪽상부 서브 행렬 Hb2의 Kb+1번째 열에는 Z×Z 비영행렬에 대응하는 요소가 하나뿐이며, 만일 왼쪽상부 서브 행렬 Hb1의 마지막 4 열의 정방행렬이 하나의 준-하삼각 행렬이면, 상기 왼쪽상부 서브 행렬 Hb2의 Kb+1 번째 열의 모든 요소는 모두 Z×Z 영행렬에 대응하는 요소이며;
상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행과 앞 KB 열의 교집합은 하나의 서브 행렬을 구성하고, 해당 서브 행렬의 각 행의 Z×Z 비영행렬에 대응하는 요소의 개수는 모두 Kb-2 이하이며;
여기서, Nb는 2×Kb 이상이고, L0은 4 또는 3과 같다.
2) 상기 확장계수 Z는 한 조의 결정 값 집합 {z1, z2, z3 ..., zV}을 지원하며, 여기서, z1, z2, ..., zV는 오름차순으로 배열되고, zr, zs, zt, zu는 상기 집합 내의 네 개의 결정 값의 확장계수이며 z1≤zr≤zs≤zt≤zu≤zV를 만족하고, 여기서 V, r, s, t, u는 아래 첨자이며, 1≤r≤s≤t≤u≤V이고, V는 2 이상의 정수이며;
z1≤Z=zi<zr일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트 중 적어도 하나의 비트의 거스는 4이고; 확장계수 Z=zi 및 가장 큰 가중치의 R 열을 삭제한 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트의 거스는 6이며, 여기서 R은 Kb/2 이하이며;
zr≤Z=zi<zs일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트의 거스는 6이며;
zs≤Z=zi<zt일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 시스템 비트의 거스는 6이고, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 적어도 하나의 검사 비트의 거스는 8 이상이며;
zt≤Z=zi<zu일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트의 거스는 8이며;
zu≤Z=zi<zV일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 모든 시스템 비트의 거스는 8이고, 각각의 LDPC 부호 워드에서 2보다 큰 가중치를 갖는 적어도 하나의 검사 비트의 거스는 10 이상이며;
여기서, 하나의 LDPC 부호 워드의 각 부호 워드 비트는 상기 패리티 검사 행렬의 각 열에 대응하며, 각 부호 워드 비트의 가중치는 대응하는 열 중의 0이 아닌 요소의 개수를 의미하며, i=1, 2, ..., V이다. 상기 기본 행렬 및 그에 대응하는 확장계수 Z에 따라, (Nb-Mb)×Z 비트의 소스 정보 비트 시퀀스에 대한 LDPC 부호화 연산을 완성하여 Nb×Z 비트의 부호 워드 시퀀스를 획득하며, 여기서 Z는 확장계수이고, Z는 1 이상의 양의 정수이다.
선택적으로, 상기 기본 행렬 Hb은 다음과 같은 특징들을 더 구비한다:
해당 왼쪽상부 서브 행렬 Hb3은 상기 기본 행렬 Hb의 앞 2×Kb 행과 앞 3×Kb 열의 교집합에 의해 왼쪽상부 서브 행렬 Hb3을 구성하고, Hb3의 마지막 Kb 행과 마지막 Kb 열의 교집합에 의해 구성된 서브 행렬은 크기가 Kb×Kb인 하나의 단위 행렬 또는 단위 행렬의 순환 쉬프트 행렬이며;
Hb3의 앞 Kb 행과 마지막 Kb 열의 교집합에 의해 구성된 서브 행렬의 모든 요소는 모두 Z×Z 영행렬에 대응하는 요소이며;
Hb3의 Kb+1 번째 열부터 2×Kb 열까지 하나의 서브 행렬을 구성하며, 해당 서브 행렬의 L1 열에서 각 열의 모든 0이 아닌 정방행렬에 대응하는 요소는 하나뿐이며, 해당 서브 행렬의 나머지 Kb-L1 열의 모든 요소(entry)는 모두 Z×Z 0인 정방행렬에 대응하는 요소이며, 여기서, L1은 0 이상이고 Kb보다 작은 정수이며;
여기서, Nb는 3×Kb 이상이다.
선택적으로, Nb는 2×Kb부터 12×Kb까지에서 선택되는 하나의 결정된 양의 정수이다.
선택적으로, Kb는 2부터 16까지에서 선택되는 하나의 정수를 취한다.
더 나아가, eMMB 시나리오와 URLLC 시나리오는 서로 다른 Kb 값을 사용한다.
선택적으로, 기본 행렬 Hb의 g번째 행의 Z×Z 비영행렬에 대응하는 요소의 개수는, g+1 행의 Z×Z 비영행렬에 대응하는 요소의 개수보다 작거나 같다. 여기서, g=1, 2, ..., Mb-1이다.
선택적으로, 상기 기본 행렬 Hb의 j번째 열의 0이 아닌 정방행렬에 대응하는 모든 요소는 Lj 개이고, 위로부터 아래로 첫번째 요소는 0이며, Lj는 1 이상의 양의 정수이며, j=1, …, Nb이다.
기본 행렬 Hb의 j번째 열의 0이 아닌 정방행렬에 대응하는 모든 요소는 Lj 개이고, 위로부터 아래로 첫번째 요소는 0이며, Lj는 1 이상의 양의 정수이며, j=0, 1, …, Nb이다.
복호화 모듈(802)은 상기 기본 행렬 Hb및 그에 대응하는 확장계수에 따라, Nb×z 비트의 부호 워드로부터 (Nb-Mb)×z 비트 정보 데이터를 얻는 LDPC 복호화 연산을 완성하도록 배치되며, 여기서 z는 확장계수이고, z는 1 이상의 양의 정수이다.
바람직하게, 상기 복호화 모듈(802)은 기본 행렬 Hb의 행 업데이트 유닛(row updating unit)(8021) 및 복호화 판단 유닛(8022)을 포함하며:
즉, 계층 BP 알고리즘(layered BP algorithm) 또는 수정된 최소합 알고리즘(corrected min-sum algorithm)을 사용하여 상기 기본 행렬 Hb을 업데이트하도록 배치된 기본 행렬 Hb의 행 업데이트 유닛(8021)을 포함한다.
상기 에지 정보는 검사 노드로부터 변수 노드까지의 정보를 포함한다.
또한, 복호화 판단 유닛(8022)은 상기 에지 정보를 이용하여 부호 워드 로그우도 비(log-likelihood ratio of the codeword)를 계산하고 판단(hard decision)하여 정확 여부를 검사하며, 만일 정확하면 올바른 부호 워드를 출력하고, 틀리면 복호화 처리를 계속 수행하도록 배치된다.
상기에서 말한 바와 같이, 본 발명의 실시예는 구조화된 LDPC 부호의 부호화 방법, 복호화 방법, 부호화 장치 및 복호화 장치를 제공한다. 부호화 또는 복호화에 사용되는 K0 개의 상하 인접쌍(adjacent pairs)을 포함하는 기본 행렬 Hb을 결정함으로써, 상기 기본 행렬 Hb 및 그에 대응하는 확장계수에 따라 부호화 또는 복호화를 완성하여, 파이프 라인 고속의 LDPC 부호화 및 복호화를 실현하며, 기존의 부호화기 및 복호화기의 효율이 저하되는 문제를 해결하였다. 본 발명의 실시예에서 제공한 기술방안은 디지털 통신 시스템에서 데이터 전송의 오류 정정 부호화 기술에 적용될 수 있으며, 효율이 향상되거나 복잡도가 감소된 LDPC 부호를 획득하고, 특히 초고속 시나리오에 적합하다.
실시예 6
본 발명의 실시예는 기억매체를 더 제공한다. 선택적으로, 본 실시예에서 상기 기억매체는 아래 단계들을 수행하기 위한 프로그램 코드(program code)를 저장하도록 배치될 수 있다:
부호화에 사용되는 기본 행렬 Hb을 결정하며, 상기 기본 행렬 Hb은 시스템 비트에 대응하는 Mb×Kb의 블록 A와 검사 비트에 대응하는 Mb×Mb의 블록 B를 포함하며, 즉 Hb=[A, B]이며, 여기서, hbij는 상기 기본 행렬 Hb의 제i행과 제j열의 요소를 표시하고, i는 상기 기본 행렬 Hb의 행 인덱스이고, j는 상기 기본 행렬 Hb의 열 인덱스이며, Kb=Nb-Mb이고, Kb는 4이상의 정수이고, Nb는 정수이다. i=1, …, Mb이고, j=1, …, Nb이며; 상기 기본 행렬 Hb는 하나 또는 복수 개의 서브 행렬을 포함하되, 상기 서브 행렬은 왼쪽상부 서브 행렬 Hb1과 왼쪽상부 서브 행렬 Hb2을 포함하며, 여기서, 상기 왼쪽상부 서브 행렬 Hb1과 왼쪽상부 서브 행렬 Hb2의 행 수 및 열 수는 모두 상기 기본 행렬 Hb의 행 수 및 열 수보다 작으며, 상기 왼쪽상부 서브 행렬 Hb1은 왼쪽상부 서브 행렬 Hb2의 왼쪽상부 서브 행렬이며; 상기 기본 행렬 Hb 및 상기 기본 행렬 Hb에 대응하는 확장계수 Z에 따라 소스 정보 비트 시퀀스에 대해 LDPC 부호화 연산을 수행하여 부호 워드 시퀀스를 얻으며, 여기서 Z는 1 이상의 양의 정수이다.
선택적으로, 본 실시예에서 상기 기억매체는 U디스크, 판독 전용 메모리(Read-Only Memory, ROM), 랜덤 액세스 메모리(Random Access Memory, RAM), 모바일 하드디스크, 자기 디스크 또는 광 디스크 등 프로그램 코드를 저장할 수 있는 다양한 매체를 포함할 수 있으나, 이에 제한되지는 않는다.
실시예 7
본 발명의 실시예는 또 다른 기억매체를 더 제공한다. 선택적으로, 본 실시예에서 상기 기억매체는 아래 단계들을 수행하기 위한 프로그램 코드를 저장하도록 배치될 수 있다:
복호화에 사용되는 기본 행렬 Hb을 결정하며, 상기 기본 행렬 Hb은 시스템 비트에 대응하는 Mb×Kb의 블록 A와 검사 비트에 대응하는 Mb×Mb의 블록 B를 포함하며, 즉 Hb=[A, B]이며, 여기서, hbij는 상기 기본 행렬 Hb의 제i행과 제j열의 요소를 표시하고, i는 상기 기본 행렬 Hb의 행 인덱스이고, j는 상기 기본 행렬 Hb의 열 인덱스이며, Kb=Nb-Mb이고, Kb는 4이상의 정수이다. Nb는 정수이며, i=1, …, Mb이고, j=1, …, Nb이며; 상기 기본 행렬 Hb는 하나 또는 복수 개의 서브 행렬을 포함하되, 상기 서브 행렬은 왼쪽상부 서브 행렬 Hb1과 왼쪽상부 서브 행렬 Hb2을 포함하며, 여기서, 상기 왼쪽상부 서브 행렬 Hb1과 왼쪽상부 서브 행렬 Hb2의 행 수 및 열 수는 모두 상기 기본 행렬 Hb의 행 수 및 열 수보다 작으며, 상기 왼쪽상부 서브 행렬 Hb1은 왼쪽상부 서브 행렬 Hb2의 왼쪽상부 서브 행렬이며;
상기 기본 행렬 Hb 및 상기 기본 행렬 Hb에 대응하는 확장계수 Z에 따라, 미리 설정된 비트수의 부호 워드에 대해 복호화 연산을 수행하여 소스 정보 비트 시퀀스을 획득하며, 여기서 Z는 1 이상의 양의 정수이다.
선택적으로, 본 실시예 중의 구체적인 예시들은, 상기 실시예 및 선택적 실시형태에서 설명된 예시들을 참조할 수 있으며, 본 실시예에서는 다시 상세하게 설명하지 않는다.
실시예 8
상기 LDPC 부호는 V 종류의 부호 길이(V code lengths)를 지원하며, 각 부호 길이는 모두 동일한 크기 Mb*Nb를 갖는 하나의 기본 행렬 Hb을 가지며, 각 부호 길이의 기본 행렬 Hb의 0이 아닌 정방행렬에 대응하는 요소가 행렬 내에서 나타나는 위치는 모두 동일하거나, 최대로 3 개가 다르다(즉, 각 부호 길이의 기본 행렬 Hb의 0이 아닌 정방행렬에 대응하는 요소가 행렬 내에서 나타나는 위치 중에서 제일 많아 3 개의 0이 아닌 정방행렬 요소의 위치가 서로 다르다). 상기 확장계수 Z는 한조의 결정된 집합 {z1,z2,z3,…,zVmax}을 지원하고, 각 부호 길이의 확장계수는 상기 확장계수 집합 중의 하나의 요소이며, 각 부호 길이의 0이 아닌 정방행렬에 대응하는 요소의 값은 모두 최대 부호 길이의 0이 아닌 정방행렬에 대응하는 요소를 통해 계산하여 얻어지며, 적어도 이하의 방식 중의 하나를 포함한다:
방식 1: 모듈로(mod) 방법에 있어서:
Figure 112021029142027-pat00018
방식 2: 내림(scale+floor) 방법에 있어서:
Figure 112021029142027-pat00019
방식 3: 반올림(scale+round) 방법에 있어서:
Figure 112021029142027-pat00020
여기서, α=Pmax/Pl, v=1,2,....,Vmax, z1,z2,z3,…,zVmax는 오름차순으로 배열되었으며, zvmax는 최대 부호 길이의 확장계수이고, zv는 v 번째 부호 길이의 확장계수이며,
Figure 112021029142027-pat00021
는 최대 부호 길이의 제i행과 제j열의 0이 아닌 정방행렬에 대응하는 요소이며,
Figure 112021029142027-pat00022
는 v 번째 부호 길이의 제i행과 제j열의 0이 아닌 정방행렬에 대응하는 요소이다. Mod는 모듈로 연산이고, [ ]는 내림 연산이며, Round는 반올림 연산이다. 상기 확장계수 zv는 모두 하나의 양의 정수 값 pl의 n배, 즉 z=pl*n이다. 여기서, 상기 양의 정수 값 pl은 서브 집합 Pset의 하나의 요소이며, 여기서, 상기 서브 집합 Pset은 Pmax의 모든 양의 정수 인자로 구성된 집합 중의 하나의 서브 집합이며, n은 하나의 자연수이고, Pmax는 4 이상의 정수이다.
여기서, 더욱 구체적인 예를 든다.
상기 Pset은 {256, 32}이고, nset은 {1, 3, 5}, 즉 Pmax= 256이고, 6 개의 확장계수가 있고, 확장계수 Z는 크기가 6인 한조의 결정된 집합을 지원한다는 것을 알 수 있으며, 즉 Vmax=6이며, 한조의 확장계수의 집합은 {32, 96, 160, 256, 768, 1280}이고, 대응하는 부호 길이 집합은 {128, 384, 640, 1024, 3072, 5120}이며, 대응하는 최대 확장계수 zvmax=1280이고, 최대 확장계수 zvmax=1280에 대응하는 기본 행렬 Hb6은:
Figure 112021029142027-pat00023
전술한 각 부호 길이에 대응하는 기본 행렬 Hb의 0이 아닌 정방행렬 요소의 값은 모두 최대 부호 길이에 대응하는 기본 행렬 Hb의 0이 아닌 정방행렬 요소를 계산하여 얻어지며, 3 가지 방식을 포함한다. 여기서, 만일 방식 1에 따라 계산하여 기타 확장계수의 기본 행렬 Hb을 얻으면, 2개의 단계를 포함한다:
단계 1. 상기 방식 1의 계산 공식의 앞부분은 다음과 같다:
Figure 112021029142027-pat00024
여기서,
Figure 112021029142027-pat00025
은 최대 확장계수 zvmax=1280(vmax=6)에 대응하는 기본 행렬 Hb6 내의 제j 행과 제j열의 요소이고; α=Pmax/pl이므로 α는 2 개이며: 즉 1은 Pset의 첫번째 요소 256에 대응하고, 대응하는 확장계수는 {256,768,1280}이며; 8은 Pset의 두번째 요소 32에 대응하고, 대응하는 확장계수는 {32,96,160}이며; v=1,2,3,4,5이다. 따라서, 상기 단계 1에서의 방법으로 계산해낸 기타 확장계수(1280 보다 작음)의 기본 행렬 Hb으로는 다음과 같은 기본 행렬 Hb을 포함한다:
α가 8인 3 개의 확장계수에 대응하는 기본 행렬 Hb은: Hb'1, Hb'2, Hb'3(확장계수는 각각 {32,96,160})이며 다음과 같다:
Figure 112021029142027-pat00026
α가 1인 다른 2 개의 확장계수에 대응하는 기본 행렬 Hb은: Hb'4, Hb'5(확장계수는 각각 {256,768})이며 다음과 같다:
Figure 112021029142027-pat00027
α가 1이므로, 기본 행렬 Hb'4, Hb'5은 모두 최대 확장계수의 기본 행렬 Hb과 같다.
단계 2. 상기 방식 3의 계산 공식의 뒷부분은 다음과 같다:
Figure 112021029142027-pat00028
여기서, v=1,2,3,4,5이며;
Figure 112021029142027-pat00029
는 확장계수 zv에 대응하는 기본 행렬 Hb'v 의 제i행과 제j열의 요소이며, zv의 값은 {32,96,160,256,768}이다. 따라서, 상기 단계 2의 계산 방법에 근거하여 나머지 5 가지의 기본 행렬 Hb(각각 대응하는 확장계수는 {32,96,160,256,768})을 계산해낼 수 있으며, 다음과 같다:
확장계수 32에 대응하는 기본 행렬 Hb1:
Figure 112021029142027-pat00030
Figure 112021029142027-pat00031
확장계수 96에 대응하는 기본 행렬 Hb2:
Figure 112021029142027-pat00032
Figure 112021029142027-pat00033
확장계수 160에 대응하는 기본 행렬 Hb3:
Figure 112021029142027-pat00034
Figure 112021029142027-pat00035
확장계수 256에 대응하는 기본 행렬 Hb4:
Figure 112021029142027-pat00036
Figure 112021029142027-pat00037
확장계수 768에 대응하는 기본 행렬 Hb5:
Figure 112021029142027-pat00038
Figure 112021029142027-pat00039
상기 방식 1의 방법의 유익한 효과는: 다양한 부호 길이에 동일한 복호화기를 사용할 수 있고 단지 소수의 제어회로만 증가하여 실현할 수 있으며, 다시 말한 즉, 상기 방안은 LDPC 부호가 매우 유연한(flexibly) 부호 길이를 지원할 수 있도록 설계함으로써, 기존의 LDPC 부호의 유연한 부호 길이가 부족한 문제를 해결하였으며; 또한 큰 확장계수에서 작은 확장계수로 변하는 과정에 LDPC 부호의 행렬 특성이 많이 변하지 않도록 함으로써 LDPC 부호가 비교적 큰 부호 길이 범위에서 상대적으로 높은 복호화 성능을 유지하도록 한다.
예를 들어, 상기의 기본 행렬 Hb 및 확장계수의 설계 방법에 근거하여, 수신 복호화기 설계에 있어서, 도 9에 도시된 예시와 같은 메모리 설계 방안을 채택할 수 있고, 도 9는 LDPC 부호의 기본 행렬 Hb의 어느 열에 대응되는 정보 저장 방식이며, 외부 정보 및 채널 복조 정보의 저장 방식을 포함한다. n의 값은 최대로 5이므로, 도 9에서의 word0~word4와 같은 5 개의 word가 필요하며; Pmax가 256이므로, 각 word의 크기는 256이다. LDPC 부호화에 사용된 확장계수 값 z에 대응하는 P1의 값은 대응되는 실제 복호화기 내에서의 이의 각 word 내의 크기이며, 예를 들어, P1의 값이 Pset={256, 32} 중의 32이면, 실제 복호화기 내의 각 word에서 32 개의 위치를 차지하고, 만일 256이면, 실제 복호화기 내의 각 word에서 256 개의 위치를 차지하며(Pmax와 같으므로 전체 word를 차지함); LDPC 부호화에 사용된 확장계수 값 z에 대응하는 n의 값은 실제 복호화기 내에서 word의 개수이며, 예를 들어, n의 값이 nset={1, 3, 5} 중의 1이면, 실제 복호화기 내에서 1 개의 word로만 대응하는 기본 행렬 Hb 내의 1 개 열의 모든 z 개 정보를 저장하고, 만일 n의 값이 nset={1, 3, 5} 중의 3이면, 실제 복호화기 내에서 3 개의 word로만 대응하는 기본 행렬 Hb 내의 1 개 열의 모든 z개 정보를 저장하며, 만일 n의 값이 nset={1, 3, 5} 중의 5이면, 실제 복호화기 내에서 5 개의 word로 대응하는 기본 행렬 Hb 내의 1 개 열의 모든 z개 정보를 저장한다.
여기서, 확장계수 z=96인 상황을 예로 들어, LDPC 복호화기에서 기본 행렬 Hb 1 열 내의 모든 z=96 개의 정보의 저장 방식에 대해 상세히 설명한다. 확장계수 z=96이면, l=1, 즉 p1=32, n=3에 대응하므로, 상기 설명에 근거하면, 확장계수 z=96으로 LDPC 부호화를 수행하면, 복호화기에서 기본 행렬 Hb의 임의의 1 열에 대응하는 z=96 개의 소프트 정보(soft information)의 저장방식은: n=3개 word를 차지하고, 각 word의 크기는 32이다. 도 10에 도시한 바와 같이, 복호화기에서 기본 행렬 Hb의 임의의 1 열에 대응하여 n=3개 word(word0~word2)를 차지(occupied)하고(도 10에서의 1001); 각 word에서 p=32 개의 위치를 차지하되, 차지하는 방식은 첫번째 위치로부터 시작하여 8 개의 간격마다 하나의 정보가 배치되며(도 10에서의 1002), 즉 각 word에서 8개의 위치마다 하나의 정보를 배치하며(상기 정보는 상기 8개의 위치 중의 첫번째 위치에 배치); 3개의 word만 차지하므로, 나머지 2개의 word(도 10에서의 1003)는 사용하지 않는다. 복호화기 설계에서, Pmax는 최대 word의 크기에 대응할 수 있고, n의 최대 값은 기본 행렬 Hb의 임의의 1 열에서의 확장계수 z 개의 정보의 메모리 내의 word의 개수에 상응함을 알 수 있다. 상기 기본 행렬 Hb의 임의의 1 열에 대응하는 z=96 개의 정보는 하나의 메모리 블록에 저장될 수 있으므로, 서로 다른 word 사이는 주소를 통해 구별할 수 있으며, 각 word의 정보는 모두 하나로 합병된다.
상기의 바와 같이 각 정보를 word 내의 대응하는 위치에 배치하고, 각 word 중의 8 개 위치마다 1 개의 정보를 배치한다. 확장계수 z=96(부호 길이 z*Nb=96*8=768)에 대응하여, 복호화하기 전에 먼저 길이가 768인 부호 워드 정보를 인터리빙(interleaving)할 수 있으며, 상기 인터리빙 방법은: 상기 파라미터 Pmax, 상기 파라미터 p1 및 상기 파라미터 n 중 적어도 하나의 파라미터에 의해 상기 인터리빙 방법을 결정하는 단계를 포함한다. 상기 인터리빙 방법은 구체적으로: 상기 복호화될 부호 워드 정보 시퀀스는 768 개의 정보를 포함하되, 길이가 각각 z=96인 Nb=8 개의 작은 데이터 블록을 포함하고, 각각의 작은 데이터 블록은 다시 pl=32 개의 서브 블록으로 세분화되며, 먼저 각각의 서브 블록에 대해 Pmax-pl=256-32=224 더미 비트를 채워서 길이가 256인 복호화 될 작은 데이터 블록을 획득하고(상기 더미 비트는 부호화 또는 복호화에 사용되지 않으며), 그 다음, 복호화 될 모든 상기 작은 데이터 블록을 인터리빙하고, 인터리빙 방법은 비트 역순법(Bit Reverse Order, BRO)이며; 상기 비트 역순 인터리빙 방법은 다음과 같다: 인터리빙 전의 인덱스는 F0이고, F0을 8비트의 이진 비트 시퀀스로 전환하고 상기 이진 비트 시퀀스를 좌우방향 교환(horizontal flip), 즉 최상위 비트와 최하위 비트를 서로 교환하고 두 번째로 높은 비트와 두번째로 낮은 비트를 상호 교환시켜, 교환된 이진 시퀀스(reversed binary sequence)를 얻으며, 상기 이진 시퀀스를 십진 시퀀스로 전환하면 값 F1, 즉 인터리빙 후의 인덱스 F1를 얻으며, 식 Y'F1=YF0이며, 여기서, Y는 인터리빙 전의 복호화 될 작은 데이터 블록이고, Y'는 인터리빙 후의 복호화 될 작은 데이터 블록이이며, F0 및 F1을 예로 들면: F0의 십진수 값이 15이면, 그 8비트의 이진 시퀀스는 00001111이고, 교환된 8 비트의 이진 시퀀스가 11110000이면, 그에 대응하는 십진수는 F1=240이므로, 인터리빙 과정에서 인터리빙 후의 Y'의 인덱스가 240인 값은 인터리빙 전 Y의 인덱스가 240인 값과 동일하다. 부호화 전에 상기 인터리빙 방법을 수행하면, 부호화 후에도 반대되는 연산(디인터리빙 방법(de-interleaving method))을 진행하여 디인터리빙 후의 부호 워드 데이터 시퀀스를 얻으며, 즉 Y'F0=YF1으로 부터 수행하며, 상기 디인터리빙 방법은: 상기 파라미터 Pmax, 상기 파라미터 p1, 및 상기 파라미터 n 중 적어도 하나의 파라미터에 의해 상기 디인터리빙 방법을 결정하는 단계를 포함한다. 그 다음, 디인터리빙 된 부호 워드 데이터 시퀀스로부터 부호 워드 비트를 선택한다. 상기의 십진으로 부터 전환된 이진 시퀀스의 길이는 Pmax에 의해 결정되고, Pmax는 2의 양의 정수 거듭제곱과 같을 필요하며, 상기 양의 정수 거듭제곱은 바로 이진 시퀀스의 길이이다.
마찬가지로, LDPC 복호화기에서도 상기와 같은 인터리빙 및 디인터리빙 방법을 사용할 수 있으며, 미리 설정된 비트수의 부호 워드에 대해 복호화 연산을 수행하기 전에 미리 설정된 비트수의 부호 워드에 대해 인터리빙을 수행하고 해당 인터리빙 방법은 상기 방법과 일치하며, 그 다음 LDPC 복호화를 수행하여 복호화된 시퀀스를 얻으며, 그 다음 복호화된 시퀀스를 디인터리빙하고 상응한 비트를 선택하여 소스 정보 비트 시퀀스를 얻는다.
상기 분석으로부터 볼 때, 상기 LDPC 부호의 복호화기(word 크기가 256이고 word가 5 개인 메모리 설계)는 다음과 같이: Pmax의 모든 양의 정수 인자 및 5 이하인 모든 양의 정수를 곱하여 얻은 정수 값인 모든 확장계수를 지원할 수 있다. 본 실시예에서, Pmax는 2의 8 거듭제곱이며, 실제로 Pmax는 2의 양의 정수 거듭제곱에 제한되지 않고, 4보다 큰 다른 임의의 정수일 수 있다.
또한, 상기와 같은 기본 행렬 Hb 및 확장계수의 설계 방법에 따르면 송신 부호화기 설계에 있어서, 소스 정보 비트 시퀀스에 대한 LDPC 부호화 연산을 수행하여 부호 워드 시퀀스를 얻는다. 상기 기본 행렬 Hb 및 상기 기본 행렬 Hb에 대응하는 확장계수 Z에 따라, 소스 정보 비트 시퀀스에 대해 LDPC 부호화 연산을 수행하여 부호 워드 시퀀스를 획득하며, 여기서 Z는 1 이상의 양의 정수이다.
이하의 방식 2 및 방식 3에서는, 상기와 같은 부호화 방법, 복호화 방법, 인터리빙 방법 및 디인터리빙 방법, 및 관련 알고리즘이 사용될 수 있다. 상기의 부호화측 인터리빙 방법을 요약하면, 먼저 부호화 전의 정보 비트를 균등하게 분획하되, 각 세그먼트 길이는 pl 비트이며; 그 다음 각 세그먼트 뒤에 Pmax-pl 비트를 추가(adding)하고, 추가된 각 세그먼트는 Pmax 비트를 가지며; 그리고 각 세그먼트에 대해 길이가 Pmax인 이진 비트 반전 BRO 인터리빙(binary bit reverse order (BRO) interleaving)을 수행한다.
상기의 부호화측 디인터리빙 방법을 요약하면, 먼저 부호화 후의 부호 워드 비트를 균등하게 분획하되, 각 세그먼트 길이는 Pmax 비트이며; 그리고 각 세그먼트에 대해 길이가 Pmax인 이진 비트 반전 BRO 디인터리빙(binary bit reverse order (BRO) de-interleaving)을 수행한다.
여기서, 만일 방식 2에 따라 계산하여 기타 확장계수의 기본 행렬 Hb을 얻으면, 여전히 2 개의 단계를 포함한다:
단계 1. 상기 방식 2의 계산 공식의 일부 계산식은 다음과 같다:
Figure 112021029142027-pat00040
여기서,
Figure 112021029142027-pat00041
은 최대 확장계수 zvmax=1280(vmax=6)에 대응하는 기본 행렬 Hb6 내의 제j 행과 제j열의 요소이고; α=Pmax/pl이므로 α는 2 개이며: 즉 1은 Pset의 첫번째 요소 256에 대응하고, 대응하는 확장계수는 {256,768,1280}이며; 8은 Pset의 두번째 요소 32에 대응하고, 대응하는 확장계수는 {32,96,160}이며; v=1,2,3,4,5이다.
상기 방식 2에서의 단계 1의 방법과 상기 방식 1에서의 단계 1의 방법이 동일함을 알 수 있다. 따라서, 상기 방식 2의 단계 1의 방법으로 기타 확장계수(1280 보다 작음)의 기본 행렬 Hb을 계산하면 다음과 같은 기본 행렬 Hb을 포함한다:
α가 8인 3 개의 확장계수에 대응하는 기본 행렬 Hb은: Hb'1, Hb'2, Hb'3(확장계수는 각각 {32,96,160})이며 다음과 같다:
Figure 112021029142027-pat00042
Figure 112021029142027-pat00043
α가 1인 다른 2 개의 확장계수에 대응하는 기본 행렬 Hb은: Hb'4, Hb'5(확장계수는 각각 {256,768})이며 다음과 같다:
Figure 112021029142027-pat00044
Figure 112021029142027-pat00045
α가 1이므로, 기본 행렬 Hb'4, Hb'5은 모두 최대 확장계수의 기본 행렬 Hb과 같다.
단계 2. 상기 방식 2의 계산 공식에 따른 나머지 계산식은 다음과 같다:
Figure 112021029142027-pat00046
여기서, v=1,2,3,4,5이며;
Figure 112021029142027-pat00047
는 확장계수 Zv에 대응하는 기본 행렬 Hb'v 의 제i행과 제j열의 요소이며, Zv의 값은 {32,96,160,256,768}이며, zvmax=1280이다. 따라서, 상기 단계 2의 계산 방법에 근거하여 나머지 5 가지의 기본 행렬 Hb(각각 대응하는 확장계수는 {32,96,160,256,768})을 계산해낼 수 있으며, 다음과 같다:
확장계수 32에 대응하는 기본 행렬 Hb1:
Figure 112021029142027-pat00048
Figure 112021029142027-pat00049
확장계수 96에 대응하는 기본 행렬 Hb2:
Figure 112021029142027-pat00050
Figure 112021029142027-pat00051
확장계수 160에 대응하는 기본 행렬 Hb3:
Figure 112021029142027-pat00052
Figure 112021029142027-pat00053
확장계수 256에 대응하는 기본 행렬 Hb4:
Figure 112021029142027-pat00054
Figure 112021029142027-pat00055
확장계수 768에 대응하는 기본 행렬 Hb5:
Figure 112021029142027-pat00056
Figure 112021029142027-pat00057
상기 방식 2의 방법의 유익한 효과는: 다양한 부호 길이에 동일한 복호화기를 사용할 수 있고, 단지 소수의 제어회로만 증가하여 실현할 수 있으며, 다시 말한 즉, 상기 방안은 LDPC 부호가 매우 융통성 있게 부호 길이를 지원할 수 있도록 설계함으로써, 기존의 LDPC 부호의 융통성 있는 부호 길이가 부족한 문제를 해결하였으며; 또한 큰 확장계수에서 작은 확장계수로 변하는 과정에 LDPC 부호의 행렬 특성이 많이 변하지 않도록함으로써 LDPC 부호가 비교적 큰 부호 길이 범위에서 상대적으로 높은 복호화 성능을 유지하도록 한다.
마찬가지로, 만일 방식 3에 따라 계산하여 기타 확장계수의 기본 행렬 Hb을 얻으면, 여전히 2 개의 단계를 포함한다:
단계 1. 상기 방식 3의 계산 공식의 일부 계산식은 다음과 같다:
Figure 112021029142027-pat00058
여기서,
Figure 112021029142027-pat00059
는 최대 확장계수 zvmax=1280(vmax=6)에 대응하는 기본 행렬 Hb6 내의 제j 행과 제j열의 요소이고; α=Pmax/pl이므로 α는 2 개이며, 즉 1은 Pset의 첫번째 요소 256에 대응하고, 대응하는 확장계수는 {256,768,1280}이며; 8은 Pset의 두번째 요소 32에 대응하고, 대응하는 확장계수는 {32,96,160}이며; v=1,2,3,4,5이다.
상기 방식 3에서의 단계 1의 방법과 상기 방식 1에서의 단계 1의 방법이 동일함을 알 수 있다. 따라서, 상기 방식 3에서의 단계 1의 방법으로 기타 확장계수(1280 보다 작음)의 기본 행렬 Hb'1, Hb'2, Hb'3, Hb'4, Hb'5을 계산하는 것과 상기 방법 1 및 상기 방법 2에서의 단계 1로 계산하여 얻은 것은 동일하므로 여기서 더 이상 설명하지 않는다.
단계 2. 상기 방식 1의 계산 공식에 따른 나머지 계산식은 다음과 같다:
Figure 112021029142027-pat00060
여기서, v=1,2,3,4,5이며;
Figure 112021029142027-pat00061
는 확장계수 zv에 대응하는 기본 행렬 Hb'v 의 제i행과 제j열의 요소이며, zv의 값은 {32,96,160,256,768}이며, zvmax=1280이다. 따라서, 상기 단계 2의 계산 방법에 근거하여 나머지 5 가지의 기본 행렬 Hb(각각 대응하는 확장계수는 {32,96,160,256,768})을 계산해낼 수 있으며, 다음과 같다:
확장계수 32에 대응하는 기본 행렬 Hb1:
Figure 112021029142027-pat00062
Figure 112021029142027-pat00063
확장계수 96에 대응하는 기본 행렬 Hb2:
Figure 112021029142027-pat00064
Figure 112021029142027-pat00065
확장계수 160에 대응하는 기본 행렬 Hb3:
Figure 112021029142027-pat00066
Figure 112021029142027-pat00067
확장계수 256에 대응하는 기본 행렬 Hb4:
Figure 112021029142027-pat00068
Figure 112021029142027-pat00069
확장계수 768에 대응하는 기본 행렬 Hb5:
Figure 112021029142027-pat00070
Figure 112021029142027-pat00071
상기 방식 3의 방법의 유익한 효과는: 다양한 부호 길이에 동일한 복호화기를 사용할 수 있고, 단지 소수의 제어회로만 증가하여 실현할 수 있으며, 다시 말한 즉, 상기 방안은 LDPC 부호가 매우 유연한 부호 길이를 지원할 수 있도록 설계함으로써, 기존의 LDPC 부호의 유연한 부호 길이가 부족한 문제를 해결하였으며; 또한 큰 확장계수에서 작은 확장계수로 변하는 과정에 LDPC 부호의 행렬 특성이 많이 변하지 않도록함으로써 LDPC 부호가 비교적 큰 부호 길이 범위에서 상대적으로 높은 복호화 성능을 유지하도록 한다.
선택적으로, 본 실시예 중의 구체적인 예시들은, 상기 실시예 및 선택적 실시형태에서 설명된 예시들을 참조할 수 있으며, 본 실시예는 여기서 다시 상세하게 설명하지 않는다.
실시예 9
상기 LDPC 부호는 V 종류의 부호 길이를 지원하며, 각 종류 부호 길이는 모두 동일한 크기 Mb*Nb를 갖는 하나의 기본 행렬 Hb에 대응하며, 각 부호 길이의 기본 행렬 Hb의 0이 아닌 정방행렬에 대응하는 요소가 행렬 내에서 나타나는 위치는 모두 동일하거나, 최대로 3 개가 다르다. 상기 확장계수 Z는 한조의 결정된 집합 {z1,z2,z3,…,zVmax}을 지원하고, 각 부호 길이의 확장계수는 상기 확장계수 집합 중의 하나의 요소이며, 각 부호 길이의 0이 아닌 정방행렬에 대응하는 요소의 값은 모두 최대 부호 길이의 0이 아닌 정방행렬에 대응하는 요소를 통해 계산하여 얻어지며, 즉
Figure 112021029142027-pat00072
여기서, α=Pmax/Pl, v=1,2,....,Vmax, z1,z2,z3,…,zVmax는 오름차순으로 배열되었으며, zvmax는 최대 부호 길이의 확장계수이고, zv는 v 번째 부호 길이의 확장계수이며,
Figure 112021029142027-pat00073
최대 부호 길이의 제i행과 제j열의 음(-1)이 아닌 요소이며,
Figure 112021029142027-pat00074
는 v 번째 부호 길이의 제i행과 제j열의 음(-1)이 아닌 요소이다. Mod는 모듈로 연산이고, [ ]는 내림 연산이며, Round는 반올림 연산이다. 상기 확장계수 zv는 모두 하나의 양의 정수 값 pl의 n배, 즉 z=pl*n이다. 여기서, 상기 양의 정수 값 pl은 서브 집합 Pset의 하나의 요소이며, 여기서, 상기 서브 집합 Pset은 Pmax의 모든 양의 정수 인자로 구성된 집합 중의 하나의 서브 집합이며, n은 하나의 자연수이고, Pmax는 4 이상의 정수이다.
여기서, 더욱 구체적인 예를 든다.
상기 Pset은 {10, 20, 40, 80, 120, 240} 즉, Pmax=240이고, 및 n의 값은 2이며, 6 개의 확장계수가 있고, 확장계수 Z가 크기가 6인 한조의 결정된 집합을 지원한다는 것을 알 수 있으며, 즉 Vmax= 6이며, 한조의 확장계수의 집합은 {20, 40, 80, 160, 240, 480}이고, 대응하는 부호 길이 집합은 {100, 200, 400, 800, 1200, 2400}이며, 대응하는 최대 확장계수 zvmax=480이고, 최대 확장계수 zvmax=480에 대응하는 기본 행렬 Hb6은:
Figure 112021029142027-pat00075
Figure 112021029142027-pat00076
여기서, 기본 행렬 Hb6의 차원수는 5 행 10 열이며, 기본 행렬 Hb의 행 수(또는 검사 열의 수)는 Mb=5이고, 기본 행렬 Hb의 총 열 수는 Nb=10이고, 기본 행렬 Hb의 시스템 열 수는 Kb=Nb-Mb=10-5=5, 즉 기본 행렬 Hb의 앞 Kb=5 열로 구성된 서브 행렬은 시스템 비트에 대응한는 Mb×Kb 블록 A이고, 기본 행렬 Hb의 마지막 Mb=5 열로 구성된 서브 행렬은 검사 비트에 대응하는 Mb×Mb의 블록 B이고, 기본 행렬 Hb6는 [A, B]로 설명될 수 있으며; 다른 부호 길이 {20, 40, 80, 160, 240}의 기본 행렬 Hb도 상기와 같은 행렬 파라미터 (Kb, Nb, Mb)이므로, 여기서 더 이상 설명하지 않는다.
다양한 부호 길이 {100, 200, 400, 800, 1200, 2400}의 확장계수는 상기 확장계수 집합 {20, 40, 80, 160, 240, 480} 중의 하나의 요소이며, 각 부호 길이의 0이 아닌 정방행렬에 대응하는 요소의 값은 모두 최대 부호 길이 2400의 0이 아닌 정방행렬에 대응하는 요소를 통해 계산하여 얻어지며, 즉
Figure 112021029142027-pat00077
여기서, α=Pmax/Pl이며, pl은 서브 집합 Pset={10, 20, 40, 80, 120, 240}의 하나의 요소이고, 즉 확장계수 집합 {20, 40, 80, 160, 240, 480}과 일대일로 대응하며, 확장계수 집합의 i0 번째 요소는 서브 집합 Pset 중의 i0 번째 요소에 n=2을 곱한 것과 같으며, 여기서 i0=1, 2, ..., 6이며; 따라서, 확장계수 서브 집합 {20, 40, 80, 160, 240, 480} 내의 임의의 확장계수에 대응하는 α의 값은 {24, 12, 6, 3, 2, 1}이며; 나아가, 상기 공식에 따르면 대응하는 부호 길이가 {100, 200, 400, 800, 1200}인 기본 행렬 Hb(대응하는 확장계수 집합은{20, 40, 80, 160, 240})은 각각 다음과 같다:
확장계수 20에 대응하는 기본 행렬 Hb1:
Figure 112021029142027-pat00078
Figure 112021029142027-pat00079
확장계수 40에 대응하는 기본 행렬 Hb2:
Figure 112021029142027-pat00080
Figure 112021029142027-pat00081
확장계수 80에 대응하는 기본 행렬 Hb3:
Figure 112021029142027-pat00082
Figure 112021029142027-pat00083
확장계수 160에 대응하는 기본 행렬 Hb4:
Figure 112021029142027-pat00084
Figure 112021029142027-pat00085
확장계수 240에 대응하는 기본 행렬 Hb5:
Figure 112021029142027-pat00086
Figure 112021029142027-pat00087
또는, 상기의 모든 기본 행렬 Hb 사이에는 0이 아닌 정방행렬에 대응하는 요소가 많아서 3 개 있으며, 이하의 예로부터 6 개의 기본 행렬 Hb {Hb1, Hb2, Hb3, Hb4, Hb5, Hb6}의 각 두 개의 행렬 사이에는 0이 아닌 정방행렬에 대응하는 요소가 많아서 3 개가 있음을 알 수 있고, 유익한 효과는 기본 행렬 Hb이 통일적인 기본 행렬 Hb 특성(예: 차수 분포 등 특성)을 유지하도록 보장 할 수 있으며, 새로운 행렬 특성을 추가하여 기본 행렬 Hb이 다양한 부호 길이에서 우수한 성능을 얻을 수 있도록 보장한다.
확장계수 20에 대응하는 기본 행렬 Hb1:
Figure 112021029142027-pat00088
Figure 112021029142027-pat00089
확장계수 40에 대응하는 기본 행렬 Hb2:
Figure 112021029142027-pat00090
Figure 112021029142027-pat00091
확장계수 80에 대응하는 기본 행렬 Hb3:
Figure 112021029142027-pat00092
Figure 112021029142027-pat00093
확장계수 160에 대응하는 기본 행렬 Hb4:
Figure 112021029142027-pat00094
Figure 112021029142027-pat00095
확장계수 240에 대응하는 기본 행렬 Hb5:
Figure 112021029142027-pat00096
Figure 112021029142027-pat00097
상기의 본 발명의 각 모듈 또는 각 단계는 범용 컴퓨팅 장치에 의해 구현 될 수 있고, 이들은 단일 컴퓨팅 장치에 집중화되거나 다중 컴퓨팅 장치로 구성된 네트워크에 분산될 수 있음은 본 분야 당업자에게 명백할 것이다. 선택적으로, 이들은 컴퓨팅 장치에 의해 실행될 수 있는 프로그램 코드로 구현될 수 있으므로 저장 장치에 저장하여 컴퓨팅 장치로 실행할 수 있고, 어떤 경우에는 여기에 도시 또는 설명된 단계와 다른 순서로 실행될 수 있거나 이들을 각각 집적 회로 모듈로 제조하거나, 이들 중의 복수의 모듈 또는 단계를 단일 집적 회로 모듈로 제조하여 구현할 수 있다. 이로써, 본 발명은 하드웨어 및 소프트웨어의 특정 조합에 제한되지 않는다.
상기 설명은 본 발명의 바람직한 실시예일뿐 본 발명을 한정하기 위한 것이 아니며, 당업자에게 있어서 본 발명에 대한 다양한 변형 및 변경이 가능하다. 본 발명의 요지와 원칙의 범위 내에서 진행한 임의의 수정, 동등한 교체 및 개량 등은 모두 본 발명의 보호범위에 속한다.
본 발명의 실시예에서 제공한 방안은 LDPC 부호화 및 복호화 과정에 사용될 수 있으며, 적절한 기본 행렬 Hb을 설계함으로써 기본 행렬 Hb 및 그에 대응하는 확장계수에 따라 부호화 또는 복호화를 완성함으로써, 초고속 LDPC 부호화 및 복호화를 실현하며 터보 부호에 근접한 부호화 및 복호화 성능을 실현하며, 기존의 LDPC 부호화기 및 복호화기의 증분 리던던시 HARQ를 지원하지 못하고 융통성이 부족한 문제를 해결하였다.

Claims (18)

  1. 구조화된 저밀도 패리티 검사(LDPC) 부호의 부호화 방법에 있어서,
    부호화에 사용되는 기본 행렬 Hb을 결정하고, 상기 기본 행렬 Hb은 시스템 비트에 대응하는 Mb×Kb의 블록 A와 검사 비트에 대응하는 Mb×Mb의 블록 B를 포함하며, 즉 Hb=[A, B]이며, 여기서, hbij는 상기 기본 행렬 Hb의 제i행과 제j열의 요소를 표시하고, i는 상기 기본 행렬 Hb의 행 인덱스이고, j는 상기 기본 행렬 Hb의 열 인덱스이며, Kb=Nb-Mb이며, Kb는 4이상이고 10이하의 정수이고, Nb는 정수이며, i=1, ..., Mb이고, j=1, ..., Nb이며, Nb는 3×Kb이상이고;
    상기 기본 행렬 Hb은 복수 개의 서브 행렬을 포함하되, 상기 서브 행렬은 왼쪽상부 서브 행렬 Hb1과 왼쪽상부 서브 행렬 Hb2을 포함하며, 여기서, 상기 왼쪽상부 서브 행렬 Hb1과 상기 왼쪽상부 서브 행렬 Hb2의 행 수는 모두 상기 기본 행렬 Hb의 행 수보다 작으며, 상기 왼쪽상부 서브 행렬 Hb1과 상기 왼쪽상부 서브 행렬 Hb2의 열 수는 모두 상기 기본 행렬 Hb의 열 수보다 작으며, 상기 왼쪽상부 서브 행렬 Hb1은 왼쪽상부 서브 행렬 Hb2의 왼쪽상부 서브 행렬이며;
    상기 기본 행렬 Hb 및 상기 기본 행렬 Hb에 대응하는 확장계수 Z에 따라, 소스 정보 비트 시퀀스에 대해 LDPC 부호화 연산을 수행하여 LDPC 부호의 부호화 부호 워드 시퀀스를 획득하는 것을 포함하며, 여기서 Z는 1 이상의 양의 정수이고;
    상기 왼쪽상부 서브 행렬 Hb1은 상기 행렬 Hb의 앞 4 행과 앞 Kb+4 열의 교집합으로 구성되고, 상기 왼쪽상부 서브 행렬 Hb1의 각 행의 Z×Z 비영행렬(nonzero matrix)에 대응하는 요소들의 수는 모두 Kb+2 이하이고 Kb-2 이상이며, 상기 왼쪽상부 서브 행렬 Hb1의 마지막 4개 열의 정방행렬은 하나의 좌하삼각 행렬 또는 준-좌하삼각 행렬이며;
    여기서, 좌하삼각 행렬은 주대각선 상부의 모든 요소가 Z×Z 영행렬(zero matrix)에 대응되며 주대각선 위치상의 모든 요소가 하나의 Z×Z 단위행렬(unit matrix)에 대응되는 정방행렬이고;
    여기서, 상기 Z×Z 영행렬(zero matrix)은 행렬의 모든 원소가 0인 Z×Z 정방행렬이고; 상기 Z×Z 단위행렬(unit matrix)은 행렬의 주대각선 위치상의 모든 원소가 1이고, 나머지 원소가 0일 경우인 Z×Z 정방행렬이고; 상기 Z×Z 비영행렬(nonzero matrix)은 상기 Z×Z 단위행렬 또는 상기 Z×Z 단위행렬의 순환 쉬프트 행렬이며;
    여기서, 준-좌하삼각 행렬은 L×L의 오른쪽상부 서브 행렬을 포함하는 4×4의 정방행렬이고, 여기서, L×L의 오른쪽상부 서브 행렬을 좌하삼각 행렬이고, 여기서, L×L의 오른쪽상부 서브 행렬은 왼쪽상부 서브 행렬 Hb1의 앞 L행과 마지막 L열의 교집합으로 구성되고, L은 2 또는 3이고;
    여기서, 상기 왼쪽상부 서브 행렬 Hb2은 상기 행렬 Hb의 앞 Kb 행과 앞 2×Kb 열의 교집합으로 구성되고, 상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행과 앞 Kb열의 교집합은 하나의 서브 행렬을 구성하며, 상기 하나의 서브 행렬에서 각 행의 Z×Z 비영행렬(nonzero matrix)에 대응하는 요소들의 수는 모두 Kb-2보다 작은 구조화된 저밀도 패리티 검사(LDPC) 부호의 부호화 방법.
  2. 제 1 항에 있어서,
    상기 소스 정보 비트 시퀀스는 (Nb-Mb)×Z 비트 시퀀스이고; 상기 LDPC 부호의 부호화 부호 워드 시퀀스는 NbХZ 비트인 구조화된 저밀도 패리티 검사(LDPC) 부호의 부호화 방법.
  3. 제 1 항에 있어서,
    상기 왼쪽상부 서브 행렬 Hb2의 앞 4 행과 마지막 Kb-4 열의 교집합에 의해 구성되는 서브 행렬의 모든 요소는 Z×Z 영행렬에 대응하는 요소이며, 상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행과 마지막 Kb-4 열의 교집합에 의해 구성되는 서브 행렬은 크기가 (Kb-4)×(Kb-4)인 하나의 좌하삼각 행렬 또는 준-좌하삼각 행렬이며, 상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행, 제 Kb+1 내지 Kb+3 번째 열의 교집합에 의해 구성되는 서브 행렬의 모든 요소는 모두 Z×Z 영행렬에 대응되는 요소이며;
    만일 왼쪽상부 서브 행렬 Hb1의 마지막 4 열의 정방행렬이 하나의 하삼각 행렬이면, 상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행과 Kb+4번째 열에는 Z×Z 비영행렬에 대응하는 요소가 하나뿐이며, 만일 왼쪽상부 서브 행렬 Hb1의 마지막 4 열의 정방행렬이 하나의 준-하삼각 행렬이면, 상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행과 Kb+4번째 열의 모든 요소는 모두 Z×Z 영행렬에 대응하는 요소인 구조화된 저밀도 패리티 검사(LDPC) 부호의 부호화 방법.
  4. 제 1 항 내지 제 3 항의 어느 한 항에 있어서,
    상기 확장계수 Z는 한 조의 결정 값 집합 {z1, z2, z3 ..., zV}을 지원하며, 여기서 z1, z2, ..., zV는 오름차순으로 배열되고, zr, zs, zt, zu는 상기 집합 내의 네 개의 결정 값의 확장계수이며 z1≤zr≤zs≤zt≤zu≤zV를 만족하고, 여기서 V, r, s, t, u는 아래 첨자이며, 1≤r≤s≤t≤u≤V이고, V는 2 이상의 정수이며;
    z1≤Z=zi<zr일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호의 부호화 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트 중 적어도 하나의 비트의 거스는 4이고; 확장계수 Z=zi 및 가장 큰 가중치의 R 열을 삭제한 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호의 부호화 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트의 거스는 6이며, 여기서 R은 Kb/2 이하이며;
    zr≤Z=zi<zs일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호의 부호화 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트의 거스는 6이며;
    zs≤Z=zi<zt일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호의 부호화 부호 워드에서 2보다 큰 가중치를 갖는 모든 시스템 비트의 거스는 6이고, 각각의 LDPC 부호의 부호화 부호 워드에서 2보다 큰 가중치를 갖는 적어도 하나의 검사 비트의 거스는 8 이상이며;
    zt≤Z=zi<zu일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호의 부호화 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트의 거스는 8이며;
    zu≤Z=zi<zV일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호의 부호화 부호 워드에서 2보다 큰 가중치를 갖는 모든 시스템 비트의 거스는 8이고, 각각의 LDPC 부호의 부호화 부호 워드에서 2보다 큰 가중치를 갖는 적어도 하나의 검사 비트의 거스는 10 이상이며;
    여기서, 하나의 LDPC 부호의 부호화 부호 워드의 각 부호 워드 비트는 패리티 검사 행렬의 각 열에 대응하며, 각 부호 워드 비트의 가중치는 대응하는 열 중의 0이 아닌 요소의 개수를 의미하며, i=1, 2, ..., V인 구조화된 저밀도 패리티 검사(LDPC) 부호의 부호화 방법.
  5. 제 3 항에 있어서,
    상기 기본 행렬 Hb은 왼쪽상부 서브 행렬 Hb3을 더 포함하며,
    해당 왼쪽상부 서브 행렬 Hb3은 상기 기본 행렬 Hb의 앞 2×Kb 행과 앞 3×Kb 열의 교집합에 의해 왼쪽상부 서브 행렬 Hb3을 구성하고, Hb3의 마지막 Kb 행과 마지막 Kb 열의 교집합에 의해 구성된 서브 행렬은 크기가 Kb×Kb인 하나의 단위 행렬이며;
    여기서, 상기 단위 행렬의 상기 주대각선 위치상의 모든 요소가 Z×Z 단위행렬에 대응하고, 상기 단위 행렬에서 주대각선 요소 이외의 모든 요소가 Z×Z 영행렬에 대응하고;
    Hb3의 앞 Kb 행과 마지막 Kb 열의 교집합에 의해 구성된 서브 행렬의 모든 요소는 모두 Z×Z 영행렬에 대응하는 요소이며;
    Hb3의 마지막 Kb행과 Kb+1 번째 열부터 2×Kb 열까지 하나의 서브 행렬을 구성하며, 해당 서브 행렬의 L1 열에서 각 열의 모든 0이 아닌 정방행렬에 대응하는 요소는 하나뿐이며, 해당 서브 행렬의 나머지 Kb-L1 열의 모든 요소는 모두 Z×Z 0인 정방행렬에 대응하는 요소이며, 여기서, L1은 0 이상이고 Kb보다 작은 정수인 구조화된 저밀도 패리티 검사(LDPC) 부호의 부호화 방법.
  6. 제 1 항에 있어서,
    초광대역 이동 통신(eMMB) 시나리오 및 신뢰성 저지연 통신(URLLC) 시나리오는 서로 다른 Kb 값을 사용하는 구조화된 저밀도 패리티 검사(LDPC) 부호의 부호화 방법.
  7. 제 1 항 내지 제 3 항의 어느 한 항에 있어서,
    상기 기본 행렬 Hb의 g번째 행의 Z×Z 비영행렬에 대응하는 요소의 개수는, g+1 행의 Z×Z 비영행렬에 대응하는 요소의 개수보다 작거나 같으며, 여기서, g=1, 2, ..., Mb-1인 구조화된 저밀도 패리티 검사(LDPC) 부호의 부호화 방법.
  8. 제 1 항 내지 제 3 항의 어느 한 항에 있어서,
    상기 기본 행렬 Hb의 j번째 열의 0이 아닌 정방행렬에 대응하는 모든 요소는 Lj 개이고, 위로부터 아래로 첫번째 요소는 0이며, Lj는 1 이상의 양의 정수이며, j=1, ..., Nb인 구조화된 저밀도 패리티 검사(LDPC) 부호의 부호화 방법.
  9. 구조화된 저밀도 패리티 검사(LDPC) 부호의 복호화 방법에 있어서,
    복호화에 사용되는 기본 행렬 Hb을 결정하되, 상기 기본 행렬 Hb은 시스템 비트에 대응하는 Mb×Kb의 블록 A와 검사 비트에 대응하는 Mb×Mb의 블록 B를 포함하며, 즉 Hb=[A, B]이며, 여기서, hbij는 상기 기본 행렬 Hb의 제i행과 제j열의 요소를 표시하고, i는 상기 기본 행렬 Hb의 행 인덱스이고, j는 상기 기본 행렬 Hb의 열 인덱스이며, Kb=Nb-Mb이며, Kb는 4이상이고 10이하의 정수이고, Nb는 정수이며, i=1, ..., Mb이고, j=1, ..., Nb이며, Nb는 3×Kb이상이고;
    상기 기본 행렬 Hb은 복수 개의 서브 행렬을 포함하되, 상기 서브 행렬은 왼쪽상부 서브 행렬 Hb1과 왼쪽상부 서브 행렬 Hb2을 포함하며, 여기서, 상기 왼쪽상부 서브 행렬 Hb1과 상기 왼쪽상부 서브 행렬 Hb2의 행 수는 모두 상기 기본 행렬 Hb의 행 수보다 작으며, 상기 왼쪽상부 서브 행렬 Hb1과 상기 왼쪽상부 서브 행렬 Hb2의 열 수는 모두 상기 기본 행렬 Hb의 열 수보다 작으며, 상기 왼쪽상부 서브 행렬 Hb1은 왼쪽상부 서브 행렬 Hb2의 왼쪽상부 서브 행렬이며;
    상기 기본 행렬 Hb 및 상기 기본 행렬 Hb에 대응하는 확장계수 Z에 따라, 미리 설정된 비트수의 부호 워드에 대해 복호화 연산을 수행하여 소스 정보 비트 시퀀스를 획득하는 단계를 포함하며, 여기서 Z는 1 이상의 양의 정수이고;
    상기 왼쪽상부 서브 행렬 Hb1은 상기 행렬 Hb의 앞 4 행과 앞 Kb+4 열의 교집합으로 구성되고, 상기 왼쪽상부 서브 행렬 Hb1의 각 행의 Z×Z 비영행렬(nonzero matrix)에 대응하는 요소들의 수는 모두 Kb+2 이하이고 Kb-2 이상이며, 상기 왼쪽상부 서브 행렬 Hb1의 마지막 4개 열의 정방행렬은 하나의 좌하삼각 행렬 또는 준-좌하삼각 행렬이며;
    여기서, 좌하삼각 행렬은 주대각선 상부의 모든 요소가 Z×Z 영행렬(zero matrix)에 대응되며 주대각선 위치상의 모든 요소가 하나의 Z×Z 단위행렬(unit matrix)에 대응되는 정방행렬이고;
    여기서, 상기 Z×Z 영행렬(zero matrix)은 행렬의 모든 원소가 0인 Z×Z 정방행렬이고; 상기 Z×Z 단위행렬(unit matrix)은 행렬의 주대각선 위치상의 모든 원소가 1이고, 나머지 원소가 0일 경우인 Z×Z 정방행렬이고; 상기 Z×Z 비영행렬(nonzero matrix)은 상기 Z×Z 단위행렬 또는 상기 Z×Z 단위행렬의 순환 쉬프트 행렬이며;
    여기서, 준-좌하삼각 행렬은 L×L의 오른쪽상부 서브 행렬을 포함하는 4×4의 정방행렬이고, 여기서, L×L의 오른쪽상부 서브 행렬을 좌하삼각 행렬이고, 여기서, L×L의 오른쪽상부 서브 행렬은 왼쪽상부 서브 행렬 Hb1의 앞 L행과 마지막 L열의 교집합으로 구성되고, L은 2 또는 3이고;
    여기서, 상기 왼쪽상부 서브 행렬 Hb2은 상기 행렬 Hb의 앞 Kb 행과 앞 2×Kb 열의 교집합으로 구성되고, 상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행과 앞 Kb열의 교집합은 하나의 서브 행렬을 구성하며, 상기 하나의 서브 행렬에서 각 행의 Z×Z 비영행렬(nonzero matrix)에 대응하는 요소들의 수는 모두 Kb-2보다 작은 구조화된 저밀도 패리티 검사(LDPC) 부호의 복호화 방법.
  10. 메모리 및 부호화기를 포함하는 통신 장치에 있어서,
    상기 메모리는 부호화에 사용되는 기본 행렬 Hb와 소스 정보 비트 시퀀스를 저장하도록 배치되되, 상기 기본 행렬 Hb은 시스템 비트에 대응하는 Mb×Kb의 블록 A와 검사 비트에 대응하는 Mb×Mb의 블록 B를 포함하며, 즉 Hb=[A, B]이며, 여기서, hbij는 상기 기본 행렬 Hb의 제i행과 제j열의 요소를 표시하고, i는 상기 기본 행렬 Hb의 행 인덱스이고, j는 상기 기본 행렬 Hb의 열 인덱스이며, Kb=Nb-Mb이고, Kb는 4이상이고 10이하의 정수이고, Nb는 정수이며, i=1, ..., Mb이고, j=1, ..., Nb이며, Nb는 3×Kb이상이고;
    상기 기본 행렬 Hb은 복수 개의 서브 행렬을 포함하되, 상기 서브 행렬은 왼쪽상부 서브 행렬 Hb1과 왼쪽상부 서브 행렬 Hb2을 포함하며, 여기서, 상기 왼쪽상부 서브 행렬 Hb1과 상기 왼쪽상부 서브 행렬 Hb2의 행 수는 모두 상기 기본 행렬 Hb의 행 수보다 작으며, 상기 왼쪽상부 서브 행렬 Hb1과 상기 왼쪽상부 서브 행렬 Hb2의 열 수는 모두 상기 기본 행렬 Hb의 열 수보다 작으며, 상기 왼쪽상부 서브 행렬 Hb1은 왼쪽상부 서브 행렬 Hb2의 왼쪽상부 서브 행렬이며;
    부호화기는 부호화에 사용되는 상기 기본 행렬 Hb 및 상기 기본 행렬 Hb에 대응하는 확장계수 Z를 결정하고, 상기 소스 정보 비트 시퀀스에 대해 LDPC 부호화 연산을 수행하여 LDPC 부호의 부호화 부호 워드 시퀀스를 획득하도록 배치되며, 여기서 Z는 1 이상의 양의 정수이고;
    상기 왼쪽상부 서브 행렬 Hb1은 상기 행렬 Hb의 앞 4 행과 앞 Kb+4 열의 교집합으로 구성되고, 상기 왼쪽상부 서브 행렬 Hb1의 각 행의 Z×Z 비영행렬(nonzero matrix)에 대응하는 요소들의 수는 모두 Kb+2 이하이고 Kb-2 이상이며, 상기 왼쪽상부 서브 행렬 Hb1의 마지막 4개 열의 정방행렬은 하나의 좌하삼각 행렬 또는 준-좌하삼각 행렬이며;
    여기서, 좌하삼각 행렬은 주대각선 상부의 모든 요소가 Z×Z 영행렬(zero matrix)에 대응되며 주대각선 위치상의 모든 요소가 하나의 Z×Z 단위행렬(unit matrix)에 대응되는 정방행렬이고;
    여기서, 상기 Z×Z 영행렬(zero matrix)은 행렬의 모든 원소가 0인 Z×Z 정방행렬이고; 상기 Z×Z 단위행렬(unit matrix)은 행렬의 주대각선 위치상의 모든 원소가 1이고, 나머지 원소가 0일 경우인 Z×Z 정방행렬이고; 상기 Z×Z 비영행렬(nonzero matrix)은 상기 Z×Z 단위행렬 또는 상기 Z×Z 단위행렬의 순환 쉬프트 행렬이며;
    여기서, 준-좌하삼각 행렬은 L×L의 오른쪽상부 서브 행렬을 포함하는 4×4의 정방행렬이고, 여기서, L×L의 오른쪽상부 서브 행렬을 좌하삼각 행렬이고, 여기서, L×L의 오른쪽상부 서브 행렬은 왼쪽상부 서브 행렬 Hb1의 앞 L행과 마지막 L열의 교집합으로 구성되고, L은 2 또는 3이고;
    여기서, 상기 왼쪽상부 서브 행렬 Hb2은 상기 행렬 Hb의 앞 Kb 행과 앞 2×Kb 열의 교집합으로 구성되고, 상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행과 앞 Kb열의 교집합은 하나의 서브 행렬을 구성하며, 상기 하나의 서브 행렬에서 각 행의 Z×Z 비영행렬(nonzero matrix)에 대응하는 요소들의 수는 모두 Kb-2보다 작은 통신 장치.
  11. 제 10 항에 있어서,
    상기 소스 정보 비트 시퀀스는 (Nb-Mb)×Z 비트 시퀀스이고; 상기 LDPC 부호의 부호화 부호 워드 시퀀스는 Nb×Z 비트인 통신 장치.
  12. 제 10 항에 있어서,
    상기 왼쪽상부 서브 행렬 Hb2의 앞 4 행과 마지막 Kb-4 열의 교집합에 의해 구성되는 서브 행렬의 모든 요소는 Z×Z 영행렬에 대응하는 요소이며, 상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행과 마지막 Kb-4 열의 교집합에 의해 구성되는 서브 행렬은 크기가 (Kb-4)×(Kb-4)인 하나의 좌하삼각 행렬 또는 준-좌하삼각 행렬이며, 상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행, 제 Kb+1 내지 Kb+3 번째 열의 교집합에 의해 구성되는 서브 행렬의 모든 요소는 모두 Z×Z 영행렬에 대응되는 요소이며;
    만일 왼쪽상부 서브 행렬 Hb1의 마지막 4 열의 정방행렬이 하나의 하삼각 행렬이면, 상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행과 Kb+4번째 열에는 Z×Z 비영행렬에 대응하는 요소가 하나뿐이며, 만일 왼쪽상부 서브 행렬 Hb1의 마지막 4 열의 정방행렬이 하나의 준-하삼각 행렬이면, 상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행과 Kb+4번째 열의 모든 요소는 모두 Z×Z 영행렬에 대응하는 요소인 통신 장치.
  13. 제 10 항에 있어서,
    상기 확장계수 Z는 한 조의 결정 값 집합 {z1, z2, z3 ..., zV}을 지원하며, 여기서 z1, z2, ..., zV는 오름차순으로 배열되고, zr, zs, zt, zu는 상기 집합 내의 네 개의 결정 값의 확장계수이며 z1≤zr≤zs≤zt≤zu≤zV를 만족하고, 여기서 V, r, s, t, u는 아래 첨자이며, 1≤r≤s≤t≤u≤V이고, V는 2 이상의 정수이며;
    z1≤Z=zi<zr일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호의 부호화 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트 중 적어도 하나의 비트의 거스는 4이고; 확장계수 Z=zi 및 가장 큰 가중치의 R 열을 삭제한 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호의 부호화 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트의 거스는 6이며, 여기서 R은 Kb/2 이하이며;
    zr≤Z=zi<zs일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호의 부호화 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트의 거스는 6이며;
    zs≤Z=zi<zt일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호의 부호화 부호 워드에서 2보다 큰 가중치를 갖는 모든 시스템 비트의 거스는 6이고, 각각의 LDPC 부호의 부호화 부호 워드에서 2보다 큰 가중치를 갖는 적어도 하나의 검사 비트의 거스는 8 이상이며;
    zt≤Z=zi<zu일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호의 부호화 부호 워드에서 2보다 큰 가중치를 갖는 모든 부호 워드 비트의 거스는 8이며;
    zu≤Z=zi<zV일 경우, 확장계수 Z=zi 및 기본 행렬 Hb에 대응하는 LDPC 부호에 있어서, 각각의 LDPC 부호의 부호화 부호 워드에서 2보다 큰 가중치를 갖는 모든 시스템 비트의 거스는 8이고, 각각의 LDPC 부호의 부호화 부호 워드에서 2보다 큰 가중치를 갖는 적어도 하나의 검사 비트의 거스는 10 이상이며;
    여기서, 하나의 LDPC 부호의 부호화 부호 워드의 각 부호 워드 비트는 패리티 검사 행렬의 각 열에 대응하며, 각 부호 워드 비트의 가중치는 대응하는 열 중의 0이 아닌 요소의 개수를 의미하며, i=1, 2, ..., V인 통신 장치.
  14. 제 12 항에 있어서,
    상기 기본 행렬 Hb은 왼쪽상부 서브 행렬 Hb3을 더 포함하며,
    해당 왼쪽상부 서브 행렬 Hb3은 상기 기본 행렬 Hb의 앞 2×Kb 행과 앞 3×Kb 열의 교집합에 의해 왼쪽상부 서브 행렬 Hb3을 구성하고, Hb3의 마지막 Kb 행과 마지막 Kb 열의 교집합에 의해 구성된 서브 행렬은 크기가 Kb×Kb인 하나의 단위 행렬이며;
    여기서, 상기 단위 행렬의 상기 주대각선 위치상의 모든 요소가 Z×Z 단위행렬에 대응하고, 상기 단위 행렬에서 주대각선 요소 이외의 모든 요소가 Z×Z 영행렬에 대응하고;
    Hb3의 앞 Kb 행과 마지막 Kb 열의 교집합에 의해 구성된 서브 행렬의 모든 요소는 모두 Z×Z 영행렬에 대응하는 요소이며;
    Hb3의 마지막 Kb행과 Kb+1 번째 열부터 2×Kb 열까지 하나의 서브 행렬을 구성하며, 해당 서브 행렬의 L1 열에서 각 열의 모든 0이 아닌 정방행렬에 대응하는 요소는 하나뿐이며, 해당 서브 행렬의 나머지 Kb-L1 열의 모든 요소는 모두 Z×Z 0인 정방행렬에 대응하는 요소이며, 여기서, L1은 0 이상이고 Kb보다 작은 정수인 통신 장치.
  15. 메모리 및 복호화기를 포함하는 통신 장치에 있어서,
    상기 메모리는 복호화에 사용되는 기본 행렬 Hb 및 미리 설정된 비트수의 부호 워드를 저장하도록 배치되되, 상기 기본 행렬 Hb은 시스템 비트에 대응하는 Mb×Kb의 블록 A와 검사 비트에 대응하는 Mb×Mb의 블록 B를 포함하며, 즉 Hb=[A, B]이며, 여기서, hbij는 상기 기본 행렬 Hb의 제i행과 제j열의 요소를 표시하고, i는 상기 기본 행렬 Hb의 행 인덱스이고, j는 상기 기본 행렬 Hb의 열 인덱스이며, Kb=Nb-Mb이고, Nb는 정수이며, Kb는 4이상이고 10이하의 정수이고, i=1, ..., Mb이고, j=1, ..., Nb이며, Nb는 3×Kb이상이고;
    상기 기본 행렬 Hb은 복수 개의 서브 행렬을 포함하되, 상기 서브 행렬은 왼쪽상부 서브 행렬 Hb1과 왼쪽상부 서브 행렬 Hb2을 포함하며, 여기서, 상기 왼쪽상부 서브 행렬 Hb1과 상기 왼쪽상부 서브 행렬 Hb2의 행 수는 모두 상기 기본 행렬 Hb의 행 수보다 작으며, 상기 왼쪽상부 서브 행렬 Hb1과 상기 왼쪽상부 서브 행렬 Hb2의 열 수는 모두 상기 기본 행렬 Hb의 열 수보다 작으며, 상기 왼쪽상부 서브 행렬 Hb1은 왼쪽상부 서브 행렬 Hb2의 왼쪽상부 서브 행렬이며;
    상기 복호화기는 상기 기본 행렬 Hb 및 상기 기본 행렬 Hb에 대응하는 확장계수 Z를 결정하고, 미리 설정된 비트수의 부호 워드에 대해 복호화 연산을 수행하여 소스 정보 비트 시퀀스를 획득하도록 배치되며, 여기서 Z는 1 이상의 양의 정수이며;
    상기 왼쪽상부 서브 행렬 Hb1은 상기 행렬 Hb의 앞 4 행과 앞 Kb+4 열의 교집합으로 구성되고, 상기 왼쪽상부 서브 행렬 Hb1의 각 행의 Z×Z 비영행렬(nonzero matrix)에 대응하는 요소들의 수는 모두 Kb+2 이하이고 Kb-2 이상이며, 상기 왼쪽상부 서브 행렬 Hb1의 마지막 4개 열의 정방행렬은 하나의 좌하삼각 행렬 또는 준-좌하삼각 행렬이며;
    여기서, 좌하삼각 행렬은 주대각선 상부의 모든 요소가 Z×Z 영행렬(zero matrix)에 대응되며 주대각선 위치상의 모든 요소가 하나의 Z×Z 단위행렬(unit matrix)에 대응되는 정방행렬이고;
    여기서, 상기 Z×Z 영행렬(zero matrix)은 행렬의 모든 원소가 0인 Z×Z 정방행렬이고; 상기 Z×Z 단위행렬(unit matrix)은 행렬의 주대각선 위치상의 모든 원소가 1이고, 나머지 원소가 0일 경우인 Z×Z 정방행렬이고; 상기 Z×Z 비영행렬(nonzero matrix)은 상기 Z×Z 단위행렬 또는 상기 Z×Z 단위행렬의 순환 쉬프트 행렬이며;
    여기서, 준-좌하삼각 행렬은 L×L의 오른쪽상부 서브 행렬을 포함하는 4×4의 정방행렬이고, 여기서, L×L의 오른쪽상부 서브 행렬을 좌하삼각 행렬이고, 여기서, L×L의 오른쪽상부 서브 행렬은 왼쪽상부 서브 행렬 Hb1의 앞 L행과 마지막 L열의 교집합으로 구성되고, L은 2 또는 3이고;
    여기서, 상기 왼쪽상부 서브 행렬 Hb2은 상기 행렬 Hb의 앞 Kb 행과 앞 2×Kb 열의 교집합으로 구성되고, 상기 왼쪽상부 서브 행렬 Hb2의 마지막 Kb-4 행과 앞 Kb열의 교집합은 하나의 서브 행렬을 구성하며, 상기 하나의 서브 행렬에서 각 행의 Z×Z 비영행렬(nonzero matrix)에 대응하는 요소들의 수는 모두 Kb-2보다 작은 통신장치.
  16. 삭제
  17. 삭제
  18. 삭제
KR1020217007505A 2016-05-13 2017-01-06 구조화된 ldpc의 부호화 및 복호화 방법 및 장치 KR102347823B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
CN201610319410 2016-05-13
CN201610319410.1 2016-05-13
CN201610884876.6A CN107370490B (zh) 2016-05-13 2016-10-10 结构化ldpc的编码、译码方法及装置
CN201610884876.6 2016-10-10
KR1020187036299A KR102229233B1 (ko) 2016-05-13 2017-01-06 구조화된 ldpc의 부호화 및 복호화 방법 및 장치
PCT/CN2017/070488 WO2017193614A1 (zh) 2016-05-13 2017-01-06 结构化ldpc的编码、译码方法及装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020187036299A Division KR102229233B1 (ko) 2016-05-13 2017-01-06 구조화된 ldpc의 부호화 및 복호화 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20210032007A KR20210032007A (ko) 2021-03-23
KR102347823B1 true KR102347823B1 (ko) 2022-01-05

Family

ID=60304554

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020217007505A KR102347823B1 (ko) 2016-05-13 2017-01-06 구조화된 ldpc의 부호화 및 복호화 방법 및 장치
KR1020187036299A KR102229233B1 (ko) 2016-05-13 2017-01-06 구조화된 ldpc의 부호화 및 복호화 방법 및 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020187036299A KR102229233B1 (ko) 2016-05-13 2017-01-06 구조화된 ldpc의 부호화 및 복호화 방법 및 장치

Country Status (5)

Country Link
US (2) US10892778B2 (ko)
EP (2) EP4231532A3 (ko)
JP (2) JP7025349B2 (ko)
KR (2) KR102347823B1 (ko)
CN (2) CN116827357A (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018117651A1 (en) * 2016-12-20 2018-06-28 Samsung Electronics Co., Ltd. Apparatus and method for channel encoding/decoding in communication or broadcasting system
WO2018126914A1 (zh) * 2017-01-09 2018-07-12 中兴通讯股份有限公司 准循环低密度奇偶校验码的编码方法及装置、存储介质
CN108365911B (zh) * 2017-01-26 2021-07-20 华为技术有限公司 一种信息的编码方法及设备
CN108809506B (zh) * 2017-05-05 2020-09-04 华为技术有限公司 一种编码方法及装置
CN109951250B (zh) * 2017-12-21 2021-01-08 华为技术有限公司 通信信号的ldpc编码方法和装置
CN110034845B (zh) * 2018-01-12 2021-09-14 华为技术有限公司 信息处理方法和无线传输设备
CN108880563A (zh) * 2018-06-14 2018-11-23 东南大学 一种ldpc码的改进编码方法及系统
US11497053B2 (en) * 2018-06-20 2022-11-08 Qualcomm Incorporated Collision management
WO2021049888A1 (en) 2019-09-10 2021-03-18 Samsung Electronics Co., Ltd. Method and apparatus for data decoding in communication or broadcasting system
CN111162797B (zh) * 2020-01-21 2023-05-30 华侨大学 一种速率兼容的5g ldpc码的编码装置及编码方法
JP2021141369A (ja) 2020-03-02 2021-09-16 キオクシア株式会社 メモリシステム
EP4329202A1 (en) 2021-05-25 2024-02-28 Samsung Electronics Co., Ltd. Neural network-based self-correcting min-sum decoder and electronic device comprising same
KR20220159071A (ko) * 2021-05-25 2022-12-02 삼성전자주식회사 신경망 자기 정정 최소합 복호기 및 이를 포함하는 전자 장치
CN114421972B (zh) * 2022-01-27 2022-11-22 石家庄市经纬度科技有限公司 一种多进制ldpc码译码方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101191196B1 (ko) 2006-06-07 2012-10-15 엘지전자 주식회사 패리티 검사 행렬을 이용하여 부호화 및 복호화하는 방법
KR101433375B1 (ko) 2006-12-04 2014-08-29 삼성전자주식회사 통신 시스템에서 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR101445080B1 (ko) 2008-02-12 2014-09-29 삼성전자 주식회사 하이브리드 자동 반복 요구 방식을 사용하는 통신 시스템에서 신호 송신 방법 및 장치

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7996746B2 (en) * 2004-10-12 2011-08-09 Nortel Networks Limited Structured low-density parity-check (LDPC) code
CN100550655C (zh) 2004-11-04 2009-10-14 中兴通讯股份有限公司 一种低密度奇偶校验码的编码器/译码器及其生成方法
US7343548B2 (en) * 2004-12-15 2008-03-11 Motorola, Inc. Method and apparatus for encoding and decoding data
CN100486150C (zh) * 2005-01-23 2009-05-06 中兴通讯股份有限公司 基于非正则低密度奇偶校验码的编译码器及其生成方法
US8464120B2 (en) * 2006-10-18 2013-06-11 Panasonic Corporation Method and system for data transmission in a multiple input multiple output (MIMO) system including unbalanced lifting of a parity check matrix prior to encoding input data streams
US8161363B2 (en) * 2006-12-04 2012-04-17 Samsung Electronics Co., Ltd Apparatus and method to encode/decode block low density parity check codes in a communication system
CN101217337B (zh) * 2007-01-01 2013-01-23 中兴通讯股份有限公司 一种支持递增冗余混合自动重传的低密度奇偶校验码编码装置和方法
CN101325474B (zh) * 2007-06-12 2012-05-09 中兴通讯股份有限公司 Ldpc码的混合自动请求重传的信道编码及调制映射方法
CN101431337A (zh) 2007-11-09 2009-05-13 松下电器产业株式会社 提高编码并行度实现降低编码时延的方法
CN101459430B (zh) * 2007-12-14 2010-12-08 中兴通讯股份有限公司 低密度生成矩阵码的编码方法及装置
US8443270B2 (en) * 2008-12-09 2013-05-14 Entropic Communications, Inc. Multiple input hardware reuse using LDPC codes
US8433972B2 (en) 2009-04-06 2013-04-30 Nec Laboratories America, Inc. Systems and methods for constructing the base matrix of quasi-cyclic low-density parity-check codes
US8245097B2 (en) * 2009-04-27 2012-08-14 Kan Ling Capital, L.L.C. Iterative decoding of punctured low-density parity check codes by selection of decoding matrices
US8392789B2 (en) * 2009-07-28 2013-03-05 Texas Instruments Incorporated Method and system for decoding low density parity check codes
US8196012B2 (en) * 2009-10-05 2012-06-05 The Hong Kong Polytechnic University Method and system for encoding and decoding low-density-parity-check (LDPC) codes
TWI419481B (zh) * 2009-12-31 2013-12-11 Nat Univ Tsing Hua 低密度奇偶檢查碼編解碼器及其方法
CN102412842B (zh) * 2010-09-25 2016-06-15 中兴通讯股份有限公司 一种低密度奇偶校验码的编码方法及装置
US8627166B2 (en) * 2011-03-16 2014-01-07 Samsung Electronics Co., Ltd. LDPC code family for millimeter-wave band communications in a wireless network
CN103236860B (zh) * 2013-05-02 2016-09-07 广州海格通信集团股份有限公司 用于生成ldpc码校验矩阵的方法、及该ldpc码编码方法
CN104868925B (zh) 2014-02-21 2019-01-22 中兴通讯股份有限公司 结构化ldpc码的编码方法、译码方法、编码装置和译码装置
CN103944586A (zh) * 2014-04-10 2014-07-23 重庆邮电大学 一种码率兼容qc-ldpc码的构造方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101191196B1 (ko) 2006-06-07 2012-10-15 엘지전자 주식회사 패리티 검사 행렬을 이용하여 부호화 및 복호화하는 방법
KR101433375B1 (ko) 2006-12-04 2014-08-29 삼성전자주식회사 통신 시스템에서 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR101445080B1 (ko) 2008-02-12 2014-09-29 삼성전자 주식회사 하이브리드 자동 반복 요구 방식을 사용하는 통신 시스템에서 신호 송신 방법 및 장치

Also Published As

Publication number Publication date
KR20210032007A (ko) 2021-03-23
JP7025349B2 (ja) 2022-02-24
CN107370490B (zh) 2023-07-14
US20210091790A1 (en) 2021-03-25
US11323134B2 (en) 2022-05-03
JP2019517209A (ja) 2019-06-20
US10892778B2 (en) 2021-01-12
KR20190008335A (ko) 2019-01-23
US20200244287A1 (en) 2020-07-30
EP3457575C0 (en) 2023-08-23
KR102229233B1 (ko) 2021-03-22
EP3457575A4 (en) 2019-12-04
JP7372369B2 (ja) 2023-10-31
CN116827357A (zh) 2023-09-29
EP3457575A1 (en) 2019-03-20
EP4231532A3 (en) 2023-08-30
JP2022058949A (ja) 2022-04-12
CN107370490A (zh) 2017-11-21
EP3457575B1 (en) 2023-08-23
EP4231532A2 (en) 2023-08-23

Similar Documents

Publication Publication Date Title
KR102347823B1 (ko) 구조화된 ldpc의 부호화 및 복호화 방법 및 장치
KR102151739B1 (ko) Ldpc 부호의 부호화 장치, 그의 부호화 방법, 복호화 장치 및 그의 복호화 방법
KR100641052B1 (ko) Ldpc 부호기 및 복호기, 및 ldpc 부호화 방법 및복호화 방법
US8347170B2 (en) Method and apparatus for performing decoding using LDPC code
US11177833B2 (en) Method and apparatus for encoding and decoding low density parity check codes
US20090164863A1 (en) Method of encoding and decoding using low density parity check matrix
WO2010041466A1 (ja) 符号化器、送信装置及び符号化方法
WO2015123979A1 (zh) 结构化ldpc的编码方法、译码方法、编码装置和译码装置
JP4832447B2 (ja) チャネルコードを用いた復号化装置及び方法
KR20070068675A (ko) 채널 코드를 이용한 복호화 방법 및 장치
KR20080084532A (ko) Ldpc 코드를 이용한 부호화 및 복호화 방법
WO2017193614A1 (zh) 结构化ldpc的编码、译码方法及装置
JP5160904B2 (ja) 符号化方法、符号化器、復号器
KR20140145977A (ko) 패리티 검사 부호의 부호화 장치, 그의 부호화 방법, 복호화 장치 및 그의 복호화 방법
KR101405961B1 (ko) Ldpc 코드를 이용한 부호화/복호화 방법
TW202203238A (zh) 使用預測性量值映射以用於準循環低密度奇偶校驗碼之垂直分層解碼之方法及設備
JP2009100234A (ja) 符号化器、符号化方法、及び復号方法

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant