KR102519413B1 - 무선 통신 시스템에서 저밀도 패리티-검사 부호의 복호화를 위한 장치 및 방법 - Google Patents

무선 통신 시스템에서 저밀도 패리티-검사 부호의 복호화를 위한 장치 및 방법 Download PDF

Info

Publication number
KR102519413B1
KR102519413B1 KR1020190052566A KR20190052566A KR102519413B1 KR 102519413 B1 KR102519413 B1 KR 102519413B1 KR 1020190052566 A KR1020190052566 A KR 1020190052566A KR 20190052566 A KR20190052566 A KR 20190052566A KR 102519413 B1 KR102519413 B1 KR 102519413B1
Authority
KR
South Korea
Prior art keywords
decoding
check
syndrome
parity check
codeword
Prior art date
Application number
KR1020190052566A
Other languages
English (en)
Other versions
KR20200127783A (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 to KR1020190052566A priority Critical patent/KR102519413B1/ko
Priority to EP20801812.7A priority patent/EP3963722A4/en
Priority to PCT/KR2020/005288 priority patent/WO2020226304A1/en
Priority to US16/855,524 priority patent/US11171667B2/en
Publication of KR20200127783A publication Critical patent/KR20200127783A/ko
Application granted granted Critical
Publication of KR102519413B1 publication Critical patent/KR102519413B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1128Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/114Shuffled, staggered, layered or turbo decoding schedules
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2948Iterative decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing

Landscapes

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

Abstract

본 개시는 LTE(Long Term Evolution)와 같은 4G(4th generation) 통신 시스템 이후 보다 높은 데이터 전송률을 지원하기 위한 5G(5th generation) 또는 pre-5G 통신 시스템에 관련된 것이다. 본 개시는 무선 통신 시스템에서 LDPC(low-density parity-check, LDPC) 부호의 복호화에 대한 것으로, LDPC 부호의 복호화 방법은, 코드워드를 수신하는 과정과, 상기 코드워드에 대하여, 패리티 검사 행렬을 이용하여 미리 정의된 최대 횟수만큼의 반복 복호(decoding)들을 수행하는 과정과, 상기 패리티 검사 행렬의 일부 영역을 이용하여 부분적인 복호를 수행하는 과정과, 상기 부분적인 복호의 결과에 기반하여 상기 코드워드의 복호 성공 또는 실패를 판단하는 과정을 포함할 수 있다.

Description

무선 통신 시스템에서 저밀도 패리티-검사 부호의 복호화를 위한 장치 및 방법 {APPARTUS AND METHOD FOR DECODING OF LOW-DENSITY PARITY CHECK CODES IN WIRELES COMMUNICATION SYSTEM}
본 개시(disclosure)는 일반적으로 무선 통신 시스템에 관한 것으로, 보다 구체적으로 무선 통신 시스템에서 저밀도 패리티-검사(low-density parity-check, LDPC) 부호의 복호화를 위한 장치 및 방법에 관한 것이다.
4G(4th generation) 통신 시스템 상용화 이후 증가 추세에 있는 무선 데이터 트래픽 수요를 충족시키기 위해, 개선된 5G(5th generation) 통신 시스템 또는 pre-5G 통신 시스템을 개발하기 위한 노력이 이루어지고 있다. 이러한 이유로, 5G 통신 시스템 또는 pre-5G 통신 시스템은 4G 네트워크 이후(Beyond 4G Network) 통신 시스템 또는 LTE(Long Term Evolution) 시스템 이후(Post LTE) 시스템이라 불리어지고 있다.
높은 데이터 전송률을 달성하기 위해, 5G 통신 시스템은 초고주파(mmWave) 대역(예를 들어, 60기가(60GHz) 대역과 같은)에서의 구현이 고려되고 있다. 초고주파 대역에서의 전파의 경로손실 완화 및 전파의 전달 거리를 증가시키기 위해, 5G 통신 시스템에서는 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO), 전차원 다중입출력(Full Dimensional MIMO, FD-MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 및 대규모 안테나(large scale antenna) 기술들이 논의되고 있다.
또한 시스템의 네트워크 개선을 위해, 5G 통신 시스템에서는 진화된 소형 셀, 개선된 소형 셀(advanced small cell), 클라우드 무선 액세스 네트워크(cloud radio access network, cloud RAN), 초고밀도 네트워크(ultra-dense network), 기기 간 통신(Device to Device communication, D2D), 무선 백홀(wireless backhaul), 이동 네트워크(moving network), 협력 통신(cooperative communication), CoMP(Coordinated Multi-Points), 및 수신 간섭제거(interference cancellation) 등의 기술 개발이 이루어지고 있다.
이 밖에도, 5G 시스템에서는 진보된 코딩 변조(Advanced Coding Modulation, ACM) 방식인 FQAM(Hybrid Frequency Shift Keying and Quadrature Amplitude Modulation) 및 SWSC(Sliding Window Superposition Coding)과, 진보된 접속 기술인 FBMC(Filter Bank Multi Carrier), NOMA(Non Orthogonal Multiple Access), 및 SCMA(Sparse Code Multiple Access) 등이 개발되고 있다.
일반적으로, 통신 및 방송 시스템에서 송신기 및 수신기 간에 데이터가 송신 및 수신되는 경우, 통신 채널에 존재하는 잡음으로 인해 데이터 오류가 발생할 수 있다. 이처럼 통신 채널에 의해 발생된 오류를 수신기에서 정정할 수 있도록 설계된 부호화 방식으로서, 오류 검출 부호(error detection codes) 및 오류 정정 부호(error correcting codes, ECC) 방식들이 존재한다. 특히, 송수신기 간의 통신을 위해 사용되는 오류 정정 부호는, 일반적으로 채널 코딩(channel coding)이라고 지칭될 수 있다. 오류 정정 부호 방식에서, 송신기는 전송하고자 하는 데이터 비트에 추가 비트(redundant bit)를 추가함으로써 데이터를 송신하고, 수신기는 추가 비트를 이용하여 데이터 비트에 포함된 오류를 정정하는 복호화(decoding) 동작을 수행한다.
실질적으로 통신 및 방송 시스템에서, 컨볼루션 부호(convolutional coding), 터보 부호(turbo coding), 저밀도 패리티 검사 부호(low-density parity-check coding, LDPC coding), 및 극 부호(polar coding)와 같은 다양한 채널 코딩 방식들이 사용되고 있다. 이러한 채널 코딩 방식들 중 LDPC 부호는 부호의 길이가 증가함에 따라 다른 채널 코딩 방식들 대비 우수한 오류 정정 성능을 나타낸다. 또한, LDPC 부호의 부호 구조 및 이에 따른 신뢰-전파(belief-propagation, BP) 복호화 동작은 병렬화에 적합하므로, LDPC 부호는 고-처리율(high-throughput)을 요구하는 응용 시스템에서 사용하기에 적합하다. 이러한 장점으로 인하여, LDPC 부호는 IEEE(Institute of Electrical and Electronical Engineers) 802.11n/ad Wi-Fi, DVB(digital video broadcasting)-T2/C2/S2, ATSC(advanced television systems committee) 3.0 등의 다양한 통신 및 방송 시스템에서 사용되고 있다. 특히 최근 가장 대표적인 5G 이동 통신 시스템인 3GPP NR(new radio)에서, 데이터 채널을 통해 신호를 전송하기 위하여 LDPC 부호를 사용하는 것이 합의되었다.
상술한 바와 같은 논의를 바탕으로, 본 개시(disclosure)는, 무선 통신 시스템에서 저밀도 패리티-검사(low-density parity-check, LDPC) 부호를 효율적으로 복호화하기 위한 장치 및 방법을 제공한다.
또한, 본 개시는 레이어드(layered) 스케줄링 혹은 그에 준하는 방식을 이용하여 LDPC 부호의 복호화를 진행하는 도중 및 복호화 종료 후에 복호의 성공 또는 실패를 판단하는 신드롬 검사(syndrome-check)를 효율적으로 수행하기 위한 장치 및 방법을 제공한다.
본 개시의 다양한 실시 예들에 따르면, 무선 통신 시스템에서 LDPC(low density parity check code) 부호의 복호화 방법은, 코드워드를 수신하는 과정과, 상기 코드워드에 대하여, 패리티 검사 행렬을 이용하여 미리 정의된 최대 횟수만큼의 반복 복호(decoding)들을 수행하는 과정과, 상기 패리티 검사 행렬의 일부 영역을 이용하여 부분적인 복호를 수행하는 과정과, 상기 부분적인 복호의 결과에 기반하여 상기 코드워드의 복호 성공 또는 실패를 판단하는 과정을 포함할 수 있다.
본 개시의 다양한 실시 예들에 따르면, 무선 통신 시스템에서 LDPC 부호의 복호화 방법은, 코드워드를 수신하는 과정과, 상기 코드워드에 대하여, 패리티 검사 행렬을 이용하여 복호를 수행하는 과정과, 상기 복호에 의해 얻어진 값들 중 메시지 비트 벡터에 대응하는 값들을 재부호화함으로써 제1 코드워드를 생성하는 과정과, 상기 복호에 의해 얻어진 값들에 대한 경판정을 수행하여 제2 코드워드를 생성하는 과정과, 상기 제1 코드워드 및 상기 제2 코드워드의 비교 결과에 기반하여 상기 코드워드의 복호 성공 또는 실패를 판단하는 과정을 포함할 수 있다.
본 개시의 다양한 실시 예들에 따르면, 무선 통신 시스템에서 LDPC부호를 이용하는 장치는 송수신부와, 상기 송수신부와 연결된 적어도 하나의 프로세서를 포함할 수 있다. 상기 적어도 하나의 프로세서는, 코드워드를 수신하고, 상기 코드워드에 대하여, 패리티 검사 행렬을 이용하여 미리 정의된 최대 횟수만큼의 반복 복호(decoding)들을 수행하고, 상기 패리티 검사 행렬의 일부 영역을 이용하여 부분적인 복호를 수행하고, 상기 부분적인 복호의 결과에 기반하여 상기 코드워드의 복호 성공 또는 실패를 판단할 수 있다.
본 개시의 다양한 실시 예들에 따르면, 무선 통신 시스템에서 LDPC 부호를 이용하는 장치는 송수신부와, 상기 송수신부와 연결된 적어도 하나의 프로세서를 포함할 수 있다. 상기 적어도 하나의 프로세서는, 코드워드를 수신하고, 상기 코드워드에 대하여, 패리티 검사 행렬을 이용하여 복호를 수행하고, 상기 복호에 의해 얻어진 값들 중 메시지 비트 벡터에 대응하는 값들을 재부호화함으로써 제1 코드워드를 생성하고, 상기 복호에 의해 얻어진 값들에 대한 경판정을 수행하여 제2 코드워드를 생성하고, 상기 제1 코드워드 및 상기 제2 코드워드의 비교 결과에 기반하여 상기 코드워드의 복호 성공 또는 실패를 판단할 수 있다.
본 개시의 다양한 실시 예들에 따른 장치 및 방법은, 레이어드(layered) 스케줄링 방식을 사용하는 LDPC(low-density parity-check) 부호를 효율적으로 복호화함과 동시에 높은 신뢰도의 신드롬 검사 결과를 획득할 수 있도록 한다. 구체적으로, 본 개시의 다양한 실시 예들에 따른 장치 및 방법은, 레이어드 스케줄링 방식에서 높은 신뢰도의 신드롬 검사 결과를 출력함으로써 시스템 전반의 신뢰도를 향상시키고, 오류 검출 성능을 향상시킬 수 있다.
또한, 본 개시의 다양한 실시 예들에 따른 장치 및 방법은, 단일한 신드롬 검사 결과를 출력함으로써 LDPC 부호의 성능 저하를 방지할 수 있게 한다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템을 도시한다.
도 2는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 통신을 수행하는 장치의 구성의 예를 도시한다.
도 3a는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 LDPC(low-density parity-check) 부호에 대한 패리티 검사 행렬의 일 예를 도시한다.
도 3b는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 LDPC 부호의 패리티 검사 행렬에 대응하는 이진 그래프를 도시한다.
도 4는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 LDPC 부호에 대한 플루딩(flooding) 방식의 복호를 수행하기 위한 흐름도를 도시한다.
도 5a는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 LDPC 부호의 패리티 검사 행렬을 도시한다.
도 5b는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 LDPC 부호에 대한 패리티 검사 행렬의 부행렬의 예를 도시한다.
도 6은 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 LDPC 부호에 대한 레이어드(layered) 방식의 복호를 수행하기 위한 흐름도를 도시한다.
도 7은 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 신드롬 검사를 포함하는 LDPC 부호에 대한 레이어드 방식의 복호를 수행하기 위한 흐름도를 도시한다.
도 8은 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 복호 종료 후 사전 부호화 부분에 대한 추가적인 반복 복호를 통해 신드롬 검사를 수행하기 위한 흐름도를 도시한다.
도 9는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 유사 신드롬 검사를 수행하기 위한 기능적 구성을 도시한다.
본 개시에서 사용되는 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 개시에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 개시에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 개시에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 개시에서 정의된 용어일지라도 본 개시의 실시 예들을 배제하도록 해석될 수 없다.
이하에서 설명되는 본 개시의 다양한 실시 예들에서는 하드웨어적인 접근 방법을 예시로서 설명한다. 하지만, 본 개시의 다양한 실시 예들에서는 하드웨어와 소프트웨어를 모두 사용하는 기술을 포함하고 있으므로, 본 개시의 다양한 실시 예들이 소프트웨어 기반의 접근 방법을 제외하는 것은 아니다.
이하 본 개시는 무선 통신 시스템에서 LDPC(low-density parity-check) 부호의 복호화를 위한 장치 및 방법에 관한 것이다. 구체적으로, 본 개시는, 무선 통신 시스템에서 레이어드(layered) 스케줄링 또는 이에 준하는 방식에 기반하여 LDPC 부호를 복호화하는 경우, 복호의 성공 여부를 판단하기 하기 위한 기술을 설명한다.
이하 설명에서 사용되는 신호를 지칭하는 용어, 채널을 지칭하는 용어, 제어 정보를 지칭하는 용어, 네트워크 객체(network entity)들을 지칭하는 용어, 장치의 구성 요소를 지칭하는 용어 등은 설명의 편의를 위해 예시된 것이다. 따라서, 본 개시가 후술되는 용어들에 한정되는 것은 아니며, 동등한 기술적 의미를 가지는 다른 용어가 사용될 수 있다.
또한, 본 개시에서, 특정 조건의 만족(satisfied), 충족(fulfilled) 여부를 판단하기 위해, 초과 또는 미만의 표현이 사용되었으나, 이는 일 예를 표현하기 위한 기재일 뿐 이상 또는 이하의 기재를 배제하는 것이 아니다. '이상'으로 기재된 조건은 '초과', '이하'로 기재된 조건은 '미만', '이상 및 미만'으로 기재된 조건은 '초과 및 이하'로 대체될 수 있다.
도 1은 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템을 도시한다. 도 1은 무선 통신 시스템에서 무선 채널을 이용하는 장치(device) 또는 노드(node)들의 일부로서, 송신단 110과 수신단 120을 예시한다. 도 1은 하나의 송신단 110 및 하나의 수신단 120을 도시하나, 복수의 송신단 또는 복수의 수신단을 포함할 수 있다. 또한, 설명의 편의를 위하여, 본 개시에서, 송신단 110과 수신단 120이 별개의 개체인 것으로 설명하나, 송신단 110과 수신단 120의 기능은 서로 바뀔 수 있다. 예를 들어, 셀룰러 통신 시스템의 상향링크의 경우, 송신단 110은 단말, 수신단 120은 기지국이 될 수 있다. 하향링크의 경우, 송신단 110은 기지국, 수신단 120이 단말이 될 수 있다.
다양한 실시 예들에서, 송신단 110은 LDPC 부호에 기반하여 정보 비트들을 부호화함으로써 코드워드를 생성하고, 수신단 120은 수신된 코드워드를 LDPC 부호에 기반하여 복호화할 수 있다. 예를 들어, 수신단 120은 레이어드 스케줄링 방식을 이용할 수 있고, 신드롬 검사를 수행할 수 있다. 송신단 110 및 수신단 120은 서로 알고 있는 패리티 검사 행렬을 이용하여 LDPC 부호화 및 복호화를 수행한다. 예를 들어, 패리티 검사 행렬은 5G(5th generation) NR(new radio) 규격에서 정의하는 패리티 검사 행렬을 포함할 수 있다.
도 2는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 통신을 수행하는 장치의 구성의 예를 도시한다. 즉, 도 2에 예시된 구성은 수신단 120의 구성으로서 이해될 수 있다. 이하 사용되는 '...부', '...기' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 2를 참고하면, 장치는 통신부 210, 저장부 220, 제어부 230를 포함할 수 있다.
통신부 210은 무선 채널을 통해 신호를 송수신하기 위한 기능들을 수행할 수 있다. 예를 들어, 통신부 210은 시스템의 물리 계층 규격에 따라 기저대역 신호 및 비트열 간 변환 기능을 수행할 수 있다. 예를 들어, 데이터 송신 시, 통신부 210은 송신 비트열을 부호화 및 변조함으로써 복소 심벌들을 생성할 수 있다. 또한, 데이터 수신 시, 통신부 210은 기저대역 신호를 복조 및 복호화를 통해 수신 비트열을 복원할 수 있다. 또한, 통신부 210은 기저대역 신호를 RF(radio frequency) 대역 신호로 상향변환한 후 안테나를 통해 송신하고, 안테나를 통해 수신되는 RF 대역 신호를 기저대역 신호로 하향변환할 수 있다.
이를 위해, 통신부 210은 송신 필터, 수신 필터, 증폭기, 믹서(mixer), 오실레이터(oscillator), DAC(digital to analog convertor), ADC(analog to digital convertor) 등을 포함할 수 있다. 또한, 통신부 210은 다수의 송수신 경로(path)들을 포함할 수 있다. 나아가, 통신부 210은 다수의 안테나 요소들(antenna elements)로 구성된 적어도 하나의 안테나 어레이(antenna array)를 포함할 수 있다. 하드웨어의 측면에서, 통신부(310)는 디지털 유닛(digital unit) 및 아날로그 유닛(analog unit)으로 구성될 수 있으며, 아날로그 유닛은 동작 전력, 동작 주파수 등에 따라 다수의 서브 유닛(sub-unit)들로 구성될 수 있다. 또한, 통신부 210은 본 개시의 다양한 실시 예들에 따른 복호화를 수행하기 위해 복호화부를 포함할 수 있다.
통신부 210은 상술한 바와 같이 신호를 송신 및 수신한다. 이에 따라, 통신부 210은 '송신부', '수신부' 또는 '송수신부(transceiver)'로 지칭될 수 있다. 또한, 이하 설명에서, 무선 채널을 통해 수행되는 송신 및 수신은 통신부 210에 의해 상술한 바와 같은 처리가 수행되는 것을 포함하는 의미로 사용된다. 또한, 도 2의 장치가 기지국인 경우, 통신부 210은 백홀(backhaul) 망을 통해 연결된 다른 네트워크 개체와의 통신을 위한 백홀 통신부를 더 포함할 수 있다.
저장부 220은 수신단 120의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장할 수 있다. 저장부 220은 휘발성 메모리, 비휘발성 메모리 또는 휘발성 메모리와 비휘발성 메모리의 조합으로 구성될 수 있다. 그리고, 저장부 220은 제어부 230의 요청에 따라 저장된 데이터를 제공할 수 있다.
제어부 230은 장치의 전반적인 동작들을 제어할 수 있다. 예를 들어, 제어부 230은 통신부 220를 통해 신호를 송신 및 수신할 수 있다. 또한, 제어부 230은 저장부 230에 데이터를 기록하거나 읽을 수 있다. 이를 위해, 제어부 230은 적어도 하나의 프로세서 또는 마이크로(micro) 프로세서를 포함하거나, 또는, 프로세서의 일부일 수 있다. 다양한 실시 예들에 따라, 제어부 230은 장치가 후술하는 다양한 실시 예들에 따른 동작들을 수행하도록 제어할 수 있다.
레이어드 스케줄링 방식으로 구현된 LDPC 부호의 복호는, 전체 패리티 검사 행렬(parity-check matrix)을 복수의 레이어(layer)들 나누고, 연산 장치(예: 프로세서, 메모리, 버퍼 등)가 각 레이어를 순차적으로 복호하는 방식을 의미한다. 레이어드 스케줄링 방식은 복호에 필요한 연산 장치의 크기를 줄일 수 있다는 장점이 있으므로, 실질적인 LDPC 부호 복호기 구현에 다양하게 활용되고 있다. 각 레이어에 대한 복호 과정은, 레이어 처리(layer processing)로 지칭되고, 모든 레이어들에 대해 레이어 처리를 수행하는 것은 단위 반복(iteration) 복호 라고 지칭된다. LDPC 부호의 복호는, 단위 반복 복호를 사전에 지정된 횟수만큼 반복적으로 수행하는 것을 포함하며, 수행되는 단위 반복 복호의 횟수는 적게는 수회, 많게는 수십 또는 수백회에 이른다.
단위 반복 복호 사이에는 일반적으로 복호의 성공 또는 실패 여부를 확인하는 신드롬 검사가 수행된다. 신드롬 검사는 CRC(cyclic redundancy check) 비트가 아닌 LDPC 부호의 특성에 기반하여 복호의 성공 여부를 판단하는 동작이다. 따라서, 신드롬 검사는 '비-CRC 오류 검사', 'LDPC 오류 검사' 또는 이와 동등한 기술적 의미를 가지는 다른 용어로 지칭될 수 있다. 신드롬 검사는, 전체 패리티 검사 행렬 또는 사전에 지정된 일부 부분에 포함되는 모든 선형 제약(linear constraint)이 만족되는지 여부를 확인하는 동작이다. 예를 들어, 신드롬 검사를 통해, 각 변수 노드의 업데이트된 LLR(log likelihood ratio) 값을 경판정(hard-decision)함으로써 대응하는 비트 추정값이 획득되고, 관련된 비트 추정값들이 각 검사 노드에 의해 정의되는 모든 선형 제약들을 만족하는지 여부가 확인된다. 모든 선형 제약들이 만족되는 경우 신드롬 검사 성공이 선언되고, 적어도 하나의 선형 제약이 만족되지 않는 경우 신드롬 검사 실패가 선언된다. 상술한 신드롬 검사 과정을 통해, 복호가 성공한 것으로 판단되는 경우, 해당 시점까지의 결과가 출력되고 복호가 종료될 수 있다. 신드롬 검사는 복호를 조기 종료(early termination)함으로써, 의미 없는 연산을 감소시키고 복호 동작을 효율화한다는 측면에서 중요하다. 또한, 신드롬 검사의 결과는 LDPC 부호의 자체적인 오류-검출(error detection) 결과로 활용될 수 있으므로, 시스템의 전반적인 신뢰성을 향상에 기여한다.
각 레이어 처리는, 변수 노드(variable node, VN) 연산, 검사 노드(check node, CN) 연산을 통해 수행된다. 신드롬 검사는 1회의 단위 반복 복호 후 수행되거나, 또는, 각 레이어 처리 과정의 일부로서 수행될 수 있다. 신드롬 검사를 각 레이어 처리 과정의 일부로서 수행하는 것은, 신드롬 검사 동작 및 검사 노드 연산에 공통되는 부분이 많으므로, 두 동작들을 함께 설계하는 것이 용이하기 때문이다. 5G 시스템과 같이 고-처리율을 요구하는 시스템에서, 복호에 따른 전력 소모 및 지연에 대한 요구 조건이 엄격하다. 따라서, 복호를 위한 구현을 효율화하는 것이 요구되므로, 레이어 처리 과정에 신드롬 검사 동작이 포함될 수 있다. 본 개시의 다양한 실시 예들은 이와 같은 시스템을 고려한다.
각 레이어 처리 과정에 신드롬 검사가 포함되는 경우, 신드롬 검사 결과의 오판 확률이 증가할 수 있다. 레이어드 스케줄링은 각 레이어를 순차적으로 복호하는 방식이다. 즉, 1회의 단위 반복 복호 내에서 수행되는 각 레이어 처리 과정에 의해 변수 노드의 LLR 값들이 실시간으로 업데이트된다. 따라서, 이전의 레이어 처리 과정에서 수행된 과정들, 즉, 레이어 단위의 검사 노드 연산, 변수 노드 연산, LLR의 경판정, 및 신드롬 검사에서 획득된 신드롬 검사 결과는 다른 레이어 처리 이후 변수 노드의 LLR 값이 업데이트 되는 것에 의해 변경될 수 있다. 예를 들어, 1회의 단위 반복 복호 내의 i번째 레이어에서 신드롬 검사의 수행 결과가 저장된 경우, 이후의 레이어 처리에서 i번째 레이어와 관련된 변수 노드의 LLR 값이 업데이트 될 수 있다. 이에 따라, i번째 레이어의 신드롬 검사 결과가 실질적으로 달라질 수 있다. 그러나, 복호기는 i번째 레이어에 대한 신드롬 검사를 다시 수행하지 않는 이상 해당 사실을 인식할 수 없다. 이처럼 레이어 단위의 신드롬 검사가 수행되는 경우, 신드롬 검사 결과를 신뢰하기 어렵다는 측면에서 신뢰성이 높은 시스템을 구현하는 데 어려움이 있다.
이러한 문제를 해결하기 위해, 2회의 연속된 단위 반복 복호들에서의 신드롬 검사 결과를 활용하는 방법을 통해 LDPC 부호 복호의 안정성(stability)이 확인될 수 있다. 구체적으로, 2회의 연속된 단위 반복 복호들에서, 패리티 검사 행렬의 모든 선형 제약들 또는 미리 지정된 일부의 선형 제약들이 각 레이어 단위에서의 신드롬 검사를 모두 통과하는 경우에 한하여 신드롬 검사를 통과했다고 선언함으로써, 신드롬 검사의 신뢰성이 향상될 수 있다. 그러나, 상술한 방법은, 신드롬 검사를 보수적으로 취급한다는 문제점이 존재할 수 있다. 예를 들어, 사전에 지정된 최대 반복 복호 횟수를 I max 라고 가정하는 경우, LDPC 부호의 복호가 I max -1번째 단위 반복 복호까지 실패하고 I max 번째 단위 반복 복호에서 성공적으로 수행되더라도, 상술한 보수적인 신드롬 검사 방식에 따르면 복호는 실패한 것으로 판단된다. 이와 같은 보수적인 신드롬 검사 방식은 1회의 단위 반복 복호 연산 효과를 상쇄함으로써, LDPC 부호 성능을 저하시킬 수 있다.
따라서, 본 개시는 레이어드 스케줄링 방식으로 동작하는 LDPC 부호의 복호 과정에서, 신드롬 검사 수행의 효율성, 신드롬 검사 결과의 신뢰도, 및 LDPC 부호의 성능 간의 트레이드 오프를 효과적으로 해소하기 위한 다양한 실시 예들을 설명한다. 구체적으로, 본 개시는 레이어드 스케줄링 방식으로 동작하는 LDPC 부호의 복호 과정 도중에, 또는 복호 과정 종료 이후에 신드롬 검사를 효율적으로 수행하기 위한 실시 예들을 설명하고, LDPC 부호의 성능 손실 없이 높은 신뢰도의 신드롬 검사 결과를 출력시키는 것을 목표로 한다.
LDPC 부호는 선형 부호(linear code)로서, 생성 행렬(generator matrix) 및 패리티 검사 행렬(parity-check matrix)에 의해 정의된다. 예를 들어, LDPC 부호를 이용하여 부호화되는 정보 비트들의 수, 다시 말해, 부호 차원(code dimension)은 K, 부호화 결과인 부호어 비트들의 수, 다시 말해, 부호 길이(code length)는 N으로 나타내질 수 있다. 또한,
Figure 112019045961560-pat00001
를 이진 필드(binary field)로 나타낼 수 있고, 부호어 비트 벡터는
Figure 112019045961560-pat00002
라고 표현될 수 있다. 패리티 검사 행렬이
Figure 112019045961560-pat00003
와 같이 주어지는 경우, 부호어 비트 벡터는 이하의 <수학식 1>의 관계를 나타내도록 생성될 수 있다.
Figure 112019045961560-pat00004
즉, 옳은 부호어 비트 벡터 x및 패리티 검사 행렬 H를 곱하는 경우, 모든 결과는 0이 되어야 한다. 여기서, H의 i번째 행은 h i 라고 표현될 수 있다.
부호어 비트 벡터에 이진 오류가 더해진 것을 고려하는 경우, 아래와 같이 부호어 비트 벡터 x에 오류가 존재하는 위치의 값이 1인 오류 벡터
Figure 112019045961560-pat00005
가 더해진 x+e로 표현될 수 있다. 이렇게 오류가 더해지는 경우, <수학식 1>은 이하의 <수학식 2>와 같이 표현될 수 있다.
Figure 112019045961560-pat00006
만약 오류가 존재하지 않는 경우,
Figure 112019045961560-pat00007
이며, <수학식 2>의 결과도
Figure 112019045961560-pat00008
이 된다. 반면, 오류가 존재하는 경우,
Figure 112019045961560-pat00009
이며, 일반적으로
Figure 112019045961560-pat00010
이 된다. 패리티 검사 행렬 H의 구성에 따라
Figure 112019045961560-pat00011
가 될 수 있는
Figure 112019045961560-pat00012
가 존재하지만, 부호 길이가 충분이 크거나 H를 이에 유의하여 설계할 경우 해당 확률을 낮출 수 있다. 일반적인 선형 부호의 복호기는 <수학식 2>와 같은 동작을 수행함으로써 부호어에 오류가 존재하는지 여부를 판단하며, 이는 신드롬 검사(syndrome check)라고 지칭될 수 있다.
<수학식 2>에 따른 신드롬 검사 과정을 포함하는 LDPC 부호의 일반적인 복호 과정은 아래와 같이 설명될 수 있다. LDPC 부호의 복호는 패리티 검사 행렬에 대응하는 이진 그래프(bipartite graph) 상에서 메시지를 교환하는(message-passing), 즉 신뢰 전파(belief-propagation) 과정으로 이해될 수 있다. 패리티 검사 행렬에서의 1들의 개수는 밀도 (density)라고 표현되고, 밀도는 부호화 및 복호화의 복잡도를 결정할 수 있다. LDPC 부호의 일반적인 패리티 검사 행렬의 밀도는 전체 패리티 검사 행렬의 차원과 대비하여 매우 낮기 때문에, LDPC 부호로 지칭된다.
패리티 검사 행렬의 일 예는 도 3a와 같다. 도 3a는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 LDPC 부호에 대한 패리티 검사 행렬의 일 예를 도시한다. 도 1a는 행의 수가 N-K=5이고 열의 수가 N=10인 이진 LDPC 부호의 패리티 검사 행렬
Figure 112019045961560-pat00013
의 일 예를 나타낸다.
도 3a에 도시된 패리티 검사 행렬은 예시적인 것으로서, 매우 작은 행렬이기 때문에 밀도가 상대적으로 높다. 일반적으로 사용되는 더 큰 패리티 검사 행렬의 밀도는 도 3a의 예 보다 더 낮을 수 있다.
도 3b는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서LDPC 부호의 패리티 검사 행렬에 대응하는 이진 그래프를 도시한다. 도 3b는 도 3a에 도시된 패리티 검사 행렬에 대응하는 이진 그래프를 나타낸다. 이진 그래프는, 변수 노드(variable node) 집합, 검사 노드(check node) 집합, 및 두 집합들의 원소들을 연결하는 연결선(edge) 집합으로 구성된다. 변수 노드는 부호어 비트 벡터
Figure 112019045961560-pat00014
의 각 비트에 대응하고, 검사 노드는 패리티 검사 행렬 H의 각 행 및 부호어 비트 벡터 x의 곱이 나타내는 선형 방정식(linear equation)을 나타낸다. 즉, i번째 검사 노드는, 그래프 상에서 i번째 검사 노드에 연결된 변수 노드의 비트 값에 대한 이진-합(modulo-2 sum, XOR)의 결과가 0임을 나타내기 위한,
Figure 112019045961560-pat00015
에 해당하는 선형 방정식을 의미한다.
메시지 교환(message-passing)을 이용한 복호는, 변수 노드에 대응하는 비트 값 및 검사 노드의 관계를 이용하여 변수 노드 집합 및 검사 노드 집합이 서로 메시지를 생성하고 전달하는 과정으로 이해될 수 있다. 이진 그래프의 특징에 따르면, 변수 노드들 및 검사 노드들은 서로 연결되지 않으므로, 모든 변수 노드들의 연산은 병렬적으로 수행될 수 있고, 모든 검수 노드들의 연산 또한 병렬적으로 수행될 수 있다. 이러한 특징에 따라, 한 번에 모든 변수 노드들에 대한 연산을 수행하고, 변수 노드들에 대한 연산 수행 결과를 이용하여 모든 검사 노드들에 대한 연산을 수행하는 복호 스케줄링 방식은 플루딩(flooding) 방식으로 지칭될 수 있다.
도 4는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 LDPC 부호에 대한 플루딩 방식의 복호를 수행하기 위한 흐름도를 도시한다. 도 4는 장치(예: 수신단 120)의 동작 방법을 예시한다.
도 4를 참고하면, 401 단계에서, 각 변수 노드에는 수신된 신호로부터 생성된, 대응되는 비트의 채널 LLR(log likelihood ratio) 또는 본질적(intrinsic) LLR로 일컫는 값이 입력된다. 입력되는 LLR 값들은 레이트 디매칭된(rate de-matched) LLR 값들일 수 있다. 403 단계에서, 각 변수 노드의 본질적(intrinsic) LLR은 이웃한 검사 노드에 전달되고, 모든 검사 노드들은 전달받은 메시지에 기반하여 각 변수 노드에 전달할 외적인(extrinsic) LLR에 해당하는 메시지를 계산한다. 플루딩 방식의 LDPC 부호 복호기는 모든 검사 노드들이 메시지 값을 계산하고, 업데이트한다. 계산된 외적인(extrinsic) LLR에 해당하는 메시지는 0 연결된 연결선을 따라 이웃한 변수 노드에 전달된다. 405 단계에서, 모든 변수 노드들은 전달받은 외적인(extrinsic) LLR에 해당하는 메시지 및 본질적(intrinsic) LLR 값들에 기반하여, 검사 노드들에게 전달할 메시지 및 비트 값을 판정하기 위한 최종(complete) LLR을 생성한다. 최종 LLR은 APP(posteriori probability) 메트릭(metric), APP LLR 또는 이와 동등한 기술적 의미를 가지는 다른 용어로 지칭될 수 있다. 플루딩 방식의 LDPC 부호 복호기는 모든 변수 노드들이 메시지 값을 계산하고, 업데이트 한다.
407 단계에서, 변수 노드는 검사 노드에게 메시지를 전달하기 전, 최종 LLR을 경판정(hard-decision)함으로써 비트 값을 추정한다. 409 단계에서, 추정된 비트 값이 패리티 검사 행렬에 의해 결정되는 <수학식 2>의 신드롬 검사식이 만족하는지 여부가 검사된다. 신드롬 검사식을 만족하는 것이 확인되는 경우, 411 단계에서, 복호가 성공한 것으로 판단되고, 복호의 성공이 출력 및 보고된다. 신드롬 검사식을 만족하지 않는 것이 확인되는 경우, 413 단계에서, 현재까지 수행된 반복 복호 횟수가 사전에 지정된 최대 반복 복호 횟수에 도달하였는지 여부가 확인된다. 현재까지 수행한 반복 복호 횟수가 최대 반복 복호 횟수에 도달하지 않은 경우, 상기 일련의 과정들이 다시 반복된다. 현재까지 수행한 반복 복호 횟수가 최대 반복 복호 횟수에 도달할 때까지 복호의 결과가 <수학식 2>의 신드롬 검사식을 만족하지 않은 경우, 415 단계에서, 복호 실패가 출력 및 보고된다.
이하, 각 변수 노드 및 검사 노드가 메시지를 계산하는 과정이 설명된다. 403 단계에서, 검사 노드는 이웃한(neighbor) 변수 노드로부터 전달받은 메시지를 이용하여 다시 이웃한 변수 노드로 전달할 메시지를 계산한다. 검사 노드 c 와 이웃한 모든 변수 노드의 집합은 Vc, mv→c는 변수 노드 v가 검사 노드 c에게 전달하는 메시지, mv→c는 검사 노드 c가 변수 노드 v에 전달하는 메시지라고 가정될 수 있다. 이 경우, 검사 노드 c가 이웃한 변수 노드 v∈Vc에게 전달하는 메시지는 이하 <수학식 3>과 같이 계산될 수 있다.
Figure 112019045961560-pat00016
<수학식 3>에 의해 생성되는 메시지는, 검사 노드 c가 가지고 있는 선형 관계식에 의해 계산한, 변수 노드 v의 비트 값에 대한 외적인(extrinsic) LLR을 의미한다. <수학식 3>에 표현된 검사 노드 메시지 연산식은 일반적인 프로세서로 간단하게 구현하기 용이하지 않은 형태를 가진다. <수학식 3>에 표현된 연산식을 이용하는 경우, 프로세서는 단위 연산들을 통해 복잡한 tanh(·) 연산을 수행해야 하며, 곱셈의 구현 역시 덧셈을 구현하는 것에 비하여 용이하지 않다. 이에 따라 <수학식 3>의 연산식을 쉽게 구현하기 위한 다양한 방법들이 사용되고 있다. 대표적으로, log(tanh(·))를 통해 메시지를 로그 도메인으로 변환함으로써 곱셈 연산을 덧셈으로 변경하는 방법, 참조 테이블(look-up table)을 이용하여 각 단위 연산을 수행하는 방법들이 사용된다. 또한, 약간의 성능 손해를 감수하고 <수학식 3>의 과정을 이하의 <수학식 4>와 같이 근사화하는 최소-합(min-sum) 기반의 방식이 사용될 수 있다.
Figure 112019045961560-pat00017
405 단계에서, 변수 노드는 이웃한 검사 노드들로부터 수신한 메시지 및 본질적(intrinsic) LLR 값을 합한 값을 획득하고, 다시 이웃한 검사 노드들에 전달한다. 변수 노드 v가 채널 및 복조기(demodulator), 소프트 맵퍼(soft-mapper) 등을 통해 수신하는 본질적(intrinsic) LLR은 Lv라고 나타내질 수 있다. 변수 노드 v와 이웃한 모든 검사 노드들의 집합을 Cv라고 할 때, 변수 노드 v가 하나의 이웃한 검사 노드 c∈Cv에게 전달하는 메시지는 이하의 <수학식 5>와 같이 계산될 수 있다.
Figure 112019045961560-pat00018
<수학식 5>에 따르면, 변수 노드 v 는 검사 노드 c를 제외한 다른 모든 이웃 검사 노드들로부터 수신한 메시지 및 본질적(intrinsic) LLR 값을 더한 값을 검사 노드 c에게 전달한다. 최초의 반복 복호의 경우, 검사 노드로부터 변수 노드에게 전달되는 메시지가 존재하지 않기 때문에, 변수 노드는 본질적(intrinsic) LLR 값에 0을 합산한다. 즉, 최초의 반복 복호에서, 각 변수 노드의 본질적(intrinsic) LLR 값이 그대로 이웃한 검사 노드들에게 전달된다. 또한, 변수 노드는 비트 값의 추정을 위해 최종(complete) LLR을 계산한다. 변수 노드 v의 최종(complete) LLR 값
Figure 112019045961560-pat00019
는 이하의 <수학식 6>과 같이 계산될 수 있다.
Figure 112019045961560-pat00020
<수학식 5>의 변수 노드 메시지 생성식과 <수학식 6> 의 최종(complete) LLR 값 계산식은 유사하기 때문에, 복호기의 구현에서 중복되는 연산을 줄일 수 있는 효율적인 방식이 활용될 수 있다.
407 단계에서, 수신단은 <수학식 6>에 의해 계산된 최종(complete) LLR 값에 기반한 경판정을 수행함으로써 각 변수 노드에 대응하는 비트 값을 추정한다. 경판정을 통해 획득된 부호어 비트 벡터의 추정(estimation)은
Figure 112019045961560-pat00021
로 표현될 수 있다, <수학식 2>의 신드롬 검사식에 의하면, i번째 신드롬 값인
Figure 112019045961560-pat00022
에 해당하는 값은 그래프 상에서 i번째 검사 노드에 연결된 모든 변수 노드들의 추정 비트 값들을 이진-합(modulo-2 sum, XOR)한 결과와 동일하다. 따라서, 신드롬 검사는 각 변수 노드가 추정한 비트 값을 이웃한 검사 노드에 전달하고, 각 검사 노드가 전달받은 모든 추정 비트값들의 이진-합이 0인지 여부를 확인하는 과정으로 이해될 수 있다. 장치는 모든 검사 노드들 또는 검사 노드들 중 미리 지정한 일부에 해당하는 신드롬의 값이 모두 0인 경우 복호가 성공했다고 판단하고, 복호를 조기 종료(early termination)하거나, 또는 복호의 성공을 출력 및 보고한다. 신드롬 검사 과정은 변수 노드가 이웃하는 검사 노드에게 추정 비트 값인 메시지를 전달하고, 검사 노드가 전달받은 값을 바탕으로 연산을 수행한다는 측면에서 202 단계의 검사 노드 연산 과정과 유사하다. 이에 따라, 검사 노드 연산 및 신드롬 검사는 함께 구현될 수 있다.
상술한 신드롬 검사 과정에서, 패리티 검사 행렬을 구성하는 전체 검사 노드들이 각각 신드롬 검사를 수행하거나, 또는 일부 검사 노드들이 각각 신드롬 검사를 수행할 수 있다. 특히, ATSC(advanced television systems committee) 3.0, 3GPP NR 등에서 사용되는 사전 부호(precoder), SPC(single parity check) 확장(extension) 부호의 2단계의 부호화가 수행되는 LDPC 부호의 경우, 사전 부호에 해당하는 검사 노드에 대해서만 신드롬 검사가 수행될 수 있다. 사전 부호는, 정보 비트들을 LDPC 부호화하고, LDPC 부호화의 결과에 대하여 다시 LDPC 부호화함으로써 최종 코드워드를 생성하는 방식에서, 첫번째 LDPC 부호화를 의미한다. 따라서, 사전 부호는 '1차 부호화', '제1 부호화', 'LDPC 내부 부호화' 또는 이와 동등한 기술적 의미를 가지는 다른 용어로 지칭될 수 있다.
도 5a는 본 발명의 LDPC 부호의 패리티 검사 행렬 500의 일 예를 도시한다. 부분 510은 패리티 검사 행렬 중 사전 부호에 해당하는 부분이며, 사전 부호를 내부 부호(inner code)로 설정하고 외부 부호(outer code)인 SPC 확장을 수행하면 부분 520에 해당하는 최종 패리티 검사 행렬이 획득된다. 상술한 관계에 따라, 도 5a에 도시된 패리티 검사 행렬에서 열들 501에 해당하는 변수 노드들은 부호화 입력인 정보 비트들에 대응하고, 열들 502에 해당하는 변수 노드들은 사전 부호에 의해 생성되는 패리티 비트들에 대응한다. 또한, 열들 503에 해당하는 변수 노드들은 SPC 확장 부호에 의해 생성되는 패리티 비트들에 대응한다. 또한, 도 5a에서, 행들 504에 해당하는 검사 노드들은 사전 부호의 검사 노드들에 대응하고, 행들 505에 해당하는 검사 노드들은 SPC 확장 부호의 검사 노드들에 대응한다. 도 5a의 형태와 같은 패리티 검사 행렬로 정의되는 LDPC 부호에 대한 신드롬 검사는, 행들 504에 해당하는, 내부 부호인 사전 부호에 대응하는 패리티 검사 행렬의 검사 노드들에 대해서만 수행될 수 있다.
도 5a의 형태를 가지는 LDPC 부호에 대해, 사전 부호 부분에 대해서만 신드롬 검사가 수행되는 이유는 SPC 확장 부분의 검사 노드들 505에 차수-1(degree-1)인 취약한 변수 노드들 503이 연결되어 있기 때문이다. 일반적으로, 변수 노드가 연산하는 최종(complete) LLR의 신뢰도는 해당 변수 노드의 차수, 즉 얼마나 많은 검사 노드로부터 메시지를 받는지에 의해 결정된다. 차수-1 인 변수 노드가 활용할 수 있는 정보는, 본질적(intrinsic) LLR과 하나의 이웃하는 검사 노드로부터 받는 메시지뿐이므로, 계산된 최종(complete) LLR의 값은 일반적으로 신뢰도가 낮다. 낮은 신뢰도의 최종(complete) LLR을 경판정함으로써 획득되는 추정 비트 값에 기반하여 신드롬 검사가 수행되는 경우, 해당 신드롬 검사의 신뢰도 역시 낮아지게 된다. 따라서, 도 5a와 같이, 사전 부호 및 SPC 확장 부호의 연접을 통해 구성되는 LDPC 부호에 대해서는, 신뢰도가 높은 변수 노드들만 연결되는 사전 부호의 검사 노드에 대해서만 신드롬 검사가 수행될 수 있다.
상술한 플루딩 방식의 복호의 경우, 1회의 반복 복호 시 모든 변수 노드들이 동시에 메시지를 계산 및 업데이트하고, 모든 검사 노드들이 동시에 메시지를 계산 및 업데이트한다. 이러한 방식의 경우, 전체 변수 노드들의 수만큼의 변수 노드 연산 유닛들 및 전체 검사 노드들의 수만큼의 검사 노드 연산 유닛들이 요구된다. LDPC 부호의 크기가 큰 경우 연산 유닛들의 수가 크게 증가하기 때문에 일반적인 구현의 경우, 플루딩 방식과는 구별되는 레이어드 방식이 활용된다. 레이어드 스케줄링 방식의 LDPC 부호 복호기는, 전체 패리티 검사 행렬을 정해진 크기의 부행렬(submatrix)들로 나누고, 각 부행렬에 대해 순차적으로 복호를 진행한다. 이러한 부행렬은 레이어(layer)라고 지칭된다. 예를 들어, 도 5a와 같은 예에서, 각 행이 하나의 부행렬로 정의될 수 있다.
레이어드 방식에 따르면, 레이어에 대응하는 부행렬의 크기에 해당하는 변수 노드 연산 유닛 및 검사 노드 연산 유닛만을 이용하여 복호기가 구성될 수 있으므로, 복호기를 구성하는 프로세서들 및 메모리들의 수가 감소될 수 있다. 또한, 1회의 반복 복호에서 각 변수 노드 및 각 검사 노드가 한 번만 메시지를 계산 및 업데이트하는 것이 아니라, 관련된 레이어의 복호 시마다 메시지를 계산 및 업데이트한다는 측면에서, 레이어드 방식은 빠른 수렴 속도(convergence speed)를 제공한다. 반면, 플루딩 방식의 경우, 연산이 일괄 처리되지만, 레이어드 방식의 경우, 연산이 부분적으로 나뉘어 순차적으로 처리되기 때문에 복호 속도가 감소하게 된다.
레이어드 스케줄링 방식은 IEEE(Institute of Electrical and Electronical Engineers) 802.11n/ad, DVB(digital video broadcasting)-T2/C2/S2, ATSC 3.0, 3GPP NR과 같이 다양한 시스템에서 사용되는 QC(quasi-cyclic)-LDPC 부호의 복호에 적합하다. QC-LDPC 부호의 패리티 검사 행렬은, 크기가 Z×Z인 작은 정사각 부행렬(square sub-matrix)들을 이용하여 구성되고, 각 부행렬은 크기 Z×Z의 단위 행렬이 순환 시프트(circularly shift)된 원형 퍼뮤테이션(circulant-permutation) 행렬로 만들어진다.
도 5b는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 LDPC 부호에 대한 패리티 검사 행렬의 부행렬의 예를 도시한다. 도 5b의 패리티 검사 행렬 500은 QC-LDPC 부호의 일 예이다. 도 5b에서 숫자가 기록된 사각형들(예: 사각형 531)은 크기 Z×Z 단위 행렬로서, 기록된 숫자만큼 오른쪽으로 순환 시프트된 원형 퍼뮤테이션 행렬을 나타낸다. 여기서, 사각형 내에 기록된 숫자는 지수(exponent)로 지칭될 수 있다. 지수가 0인 행렬은 크기 Z×Z의 단위 행렬이 된다. 반면, 지수가 없는 사각형(예: 사각형 532)은 크기 Z×Z의 0 행렬을 나타낸다. 원형 퍼뮤테이션 부행렬들 각각에 대응하는 변수 노드들 및 검사 노드들은 서로 독립적으로 구성되기 때문에, 원형 퍼뮤테이션 부행렬 단위의 복호 동작이 용이하게 구현될 수 있다. 따라서, QC-LDPC 부호를 위한 레이어드 복호에서, 하나의 레이어는 적어도 하나의 원형 퍼뮤테이션 행렬을 이용하여 구성된다. QC-LDPC 부호를 위한 레이어드 복호 방식의 일 예에 따르면, 하나의 레이어는 도 5b에 도시된 바와 같이, 패리티 검사 행렬의 특정 행에 위치한 원형 퍼뮤테이션 행렬들을 이용하여 구성된다. 여기서, 하나의 레이어를 구성하는 부행렬의 크기는 Z×N 이거나(예: 행 541) 또는 자연수
Figure 112019045961560-pat00023
에 대한 αZ×N가 된다(예: 행들 542). QC-LDPC 부호를 위한 레이어드 방식의 다른 예에서, 하나의 레이어는 Z×Z 크기의 기본 원형 퍼뮤테이션 행렬을 이용하여 구성될 수 있다(예: 사각형 531). 이 경우, 레이어드 복호기는 영행렬이 아닌 원형 퍼뮤테이션 행렬들 각각에 대해 순차적으로 복호를 수행한다. 이하 설명에서, 하나의 레이어를 특정 행의 모든 원형 퍼뮤테이션 행렬들을 이용하여 구성하는 방식을 가정함으로써 본 개시의 동작 및 동작에 필요한 내용이 설명된다. 그러나, 본 개시의 내용은 특정 방식의 레이어드 복호에 국한되지 않으며, 어떠한 방식의 레이어드 복호에도 활용될 수 있는 점에 유의하여야 한다.
도 6은 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 LDPC 부호에 대한 레이어드 방식의 복호를 위한 흐름도를 도시한다. 플루딩 방식과의 차이점은 상술한 바와 같이, 1회의 반복 복호에서 변수 노드 연산 및 검사 노드 연산이 레이어 단위로서 순차적으로 수행되는 것이다. 도 6은 장치(예: 수신단 120)의 동작 방법을 예시한다.
도 6을 참고하면, 601 단계에서, 수신단은 본질적(intrinsic) LLR을 각 변수 노드에 입력한다. 603 단계에서, 순서가 된 레이어에 속한 검사 노드는 연결된 변수 노드로부터 메시지를 수신한다. 검사 노드는 계산 및 업데이트한 메시지를 이웃한 변수 노드에게 전달한다. 605 단계에서, 업데이트된 메시지를 수신한 변수 노드들은 검사 노드에게 전달하기 위한 메시지 및 최종(complete) LLR을 계산 및 업데이트한다. 상술한 바와 같은 하나의 레이어에 대한 일련의 연산 과정은 레이어 처리(layer processing)로 지칭된다. 모든 레이어들에 대해 레이어 처리가 수행되면, 607 단계에서, 수신단은 각 변수 노드에서 계산한 최종(complete) LLR을 경판정함으로써 비트 추정값을 계산한다. 609 단계에서, 수신단은 비트 추정값에 기반하여 신드롬 검사를 수행함으로써 복호의 성공 또는 실패 여부를 확인한다. 이 경우, 신드롬 검사에 해당하는 패리티 검사 행렬의 검사 노드는 전체 검사 노드들이거나 또는 사전 부호의 검사 노드와 같이 일부 검사 노드들일 수 있다.
도 6과 같은 레이어드 방식의 LDPC 부호에 대한 복호를 구현함에 있어서, 복호 지연의 증가를 감소시키기 위해 검사 노드 연산 과정에 신드롬 검사가 추가될 수 있다. 신드롬 검사가 추가된 복호화 동작은 이하 도 7과 같다.
도 7은 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 신드롬 검사를 포함하는 LDPC 부호에 대한 레이어드 방식의 복호를 수행하기 위한 흐름도를 도시한다. 도 7은 장치(예: 수신단 120)의 동작 방법을 예시한다.
상술한 바와 같이, 검사 노드 연산 및 신드롬 검사는, 각 검사 노드가 이웃 변수 노드로부터 메시지를 전달받고 연산 및 판단을 수행한다는 측면에서 공통점이 있다. 레이어드 방식의 복호의 경우, 각 레이어에 대한 검사 노드 연산 721과 해당 레이어에 대응하는 신드롬 검사 723이 함께 구현될 수 있다. 715 단계에서, 각 레이어에 대한 신드롬 검사 결과는 메모리, 버퍼 등에 저장된다. 다른 방식의 복호에서와 마찬가지로, 신드롬 검사는 레이어에 속한 모든 검사 노드들에 대해서 수행되거나, 또는 사전 부호에 속하는지 여부 등의 조건을 만족하는 일부 검사 노드들에 대해서만 수행될 수 있다. 모든 레이어들에 대한 복호가 완료되면, 복호기는 메모리, 버퍼 등에 저장된 신드롬 검사 결과들을 이용하여 복호 성공 또는 실패 여부를 확인한다.
도 7과 같은 복호 절차는 검사 노드 연산 및 신드롬 검사 간에 중복되거나 유사한 연산을 함께 구현함으로써, 복호 지연 및 연산량을 감소시킬 수 있는 장점을 가진다. 반면, 도 7과 같은 복호 절차의 경우, 획득된 신드롬 검사 결과의 신뢰도가 높지 않다는 문제점이 존재한다. 레이어드 스케줄링은 각 레이어를 순차적으로 복호하는 방식이다. 즉, 1회의 단위 반복 복호 내에서 수행되는 각 레이어 처리 과정에 의해 변수 노드의 LLR 값들이 실시간으로 업데이트된다. 따라서, 이전의 레이어 처리 과정에서 수행된 과정들, 즉, 레이어 단위의 검사 노드 연산, 변수 노드 연산, LLR의 경판정, 및 신드롬 검사에서 획득된 신드롬 검사 결과는 다른 레이어 처리 이후 변수 노드의 LLR 값이 업데이트 되는 것에 의해 변경될 수 있다. 예를 들어, 1회의 단위 반복 복호 내의 i번째 레이어에서 신드롬 검사의 수행 결과가 저장된 경우, 이후의 레이어 처리에서 i번째 레이어와 관련된 변수 노드의 LLR 값이 업데이트 될 수 있다. 이에 따라, i번째 레이어의 신드롬 검사 결과가 실질적으로 달라질 수 있다. 그러나, 복호기는 i번째 레이어에 대한 신드롬 검사를 다시 수행하지 않는 이상 해당 사실을 인식할 수 없다. 이처럼 레이어 단위의 신드롬 검사가 수행되는 경우, 신드롬 검사 결과를 신뢰하기 어렵다는 측면에서 신뢰성이 높은 시스템을 구현하는 데 어려움이 있다.
이러한 문제를 해결하기 위해, 2회의 연속된 단위 반복 복호들에서의 신드롬 검사 결과를 활용하는 방법을 통해 LDPC 부호에 대한 복호 결과의 안정성(stability)이 확인될 수 있다. 일 예로, 2회의 연속된 단위 반복 복호들에서, 패리티 검사 행렬의 모든 선형 제약들 또는 미리 지정된 일부의 선형 제약들이 각 레이어 단위에서의 신드롬 검사를 모두 통과하는 경우에 한하여 신드롬 검사를 통과했다고 선언함으로써, 신드롬 검사의 신뢰성이 향상될 수 있다. 그러나, 상술한 방법은, 신드롬 검사를 보수적으로 취급한다는 문제점이 존재할 수 있다. 예를 들어, 사전에 지정된 최대 반복 복호 횟수를 I max 라고 가정하는 경우, LDPC 부호의 복호가 I max -1번째 단위 반복 복호까지 실패하고 I max 번째 단위 반복 복호에서 성공적으로 수행되더라도, 상술한 보수적인 신드롬 검사 방식에 따르면 복호는 실패한 것으로 판단된다. 이와 같은 보수적인 신드롬 검사 방식은 1회의 단위 반복 복호 연산 효과를 상쇄함으로써, LDPC 부호 성능을 저하시킬 수 있다.
다른 안정성 검사의 예로서, 연속된 반복 복호동안 추정 비트들의 값이 변화하지 아니함을 확인하는 방안, AP-LLR의 절대값이 감소하지 아니함을 확인하는 방안 등 다양한 방법이 사용될 수도 있다. 따라서, 본 발명은 구체적인 안정성 방안에 제한되지 아니한다.
상술한 문제점을 극복하기 위한 본 개시의 일 실시 예는 다음과 같다.
도 7과 같이 각 레이어 처리 과정이 신드롬 검사를 포함하는 LDPC 부호의 복호화 절차에 있어서, I max 회의 반복 복호를 수행한 후, 추가적으로 LDPC 부호의 구조를 고려함으로써 사전에 결정된 패리티 검사 행렬의 특정 부분에 대해서만 부분적인 추가 복호가 수행될 수 있다. 부분적인 추가 복호가 수행될 패리티 검사 행렬의 일부는 다양한 기준에 의해 결정될 수 있고, LDPC 부호가 도 5a와 같이 사전 부호화 및 SPC 확장을 통해 구성되는 경우, 사전 부호화에 해당하는 부분이 부분적인 추가 복호가 수행될 대상으로서 결정될 수 있다. 일관된(consistent) 동작의 수행을 위해 추가적인 복호 동작은 일반적인 복호 동작과 동일하며, 추가 복호는 단지 사전에 결정된 부분에 기반하여 레이어의 범위만을 제한함으로써 수행된다. 또한, 부분적인 범위에 대한 신드롬 검사 결과가 출력 및 보고(report)된다.
도 8은 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 복호 종료 후 사전 부호화 부분에 대한 추가적인 반복 복호를 통해 신드롬 검사를 수행하기 위한 흐름도를 도시한다. 도 8은 장치(예: 수신단 120)의 동작 방법을 예시한다.
도 8을 참고하면, 800 단계에서, 장치는 미리 지정된 최대 반복 복호 횟수 I max 만큼 레이어드 반복 복호를 수행한다. 이 경우, 검사 노드 연산에 신드롬 검사가 수행되지 아니할 수 있다. 예를 들어, 일 실시 예에 따라, 복호기 회로에서 신드롬 검사를 위한 모듈이 800 단계 수행 동안 디스에이블(disable)될 수 있다. 이를 위해, 신드롬 검사를 위한 모듈을 제어하기 위한 제어 단자(예: 디스에이블 단자)가 복호기 회로에 포함되고, 복호화 진행에 따라 제어 신호가 인가될 수 있다. 하지만, 복호기 구성에 따라 일관된(consistent) 동작이 요구되는 경우, 다른 실시 예에 따라, 검사 노드 연산 및 신드롬 검사가 함께 수행되고, 신드롬 검사의 결과가 무시될 수 있다. 다시 말해, 신드롬 검사가 수행되더라도, 수신단은 해당 신드롬 검사 결과에 기반하여 복호 성공 또는 실패를 판단함으로써 조기 종료를 수행하지는 아니할 수 있다.
811 단계에서, 장치는 반복 복호 횟수가 최대 반복 복호 횟수 I max 에 도달하는지 판단한다. 반복 복호 횟수가 최대 반복 복호 횟수에 도달하면, 805 단계에서, 장치는 사전에 지정된 부분 패리티 검사 행렬에 대해 추가 복호를 수행한다. 851 단계에서, 장치는 검사 노드 연산(예: 853 단계) 및 신드롬 검사(예: 855 단계)를 함께 수행하고, 859 단계에서, 각 레이어에 대한 신드롬 검사 결과를 메모리, 버퍼 등에 저장한다. 사전에 결정된 부분에 대한 추가 복호 과정 이 종료되면, 장치는 메모리, 버퍼에 저장된 각 레이어에 대한 신드롬 검사 결과에 기반하여 복호의 성공 또는 실패 여부를 판단한다. 예를 들어, 장치는 모든 신드롬 검사들의 결과가 만족되었는지 여부에 기반하여 복호의 성공 또는 실패 여부를 확인한다. 복호가 성공된 것으로 판단하는 경우, 861 단계에서, 장치는 복호 결과들을 출력하고, 복호 성공을 판단한다. 복호가 실패한 것으로 판단하는 경우, 861 단계에서, 장치는 필요한 결과들을 출력하고, 복호 실패를 판단한다.
도 8을 참고하여 설명한 실시 예에서, 레이어드 반복 복호 중 신드롬 검사가 수행되지 아니하거나, 수행되더라도 검사의 결과는 무시될 수 있다. 그러나, 다른 실시 예에 따라, 신드롬 검사가 수행된 경우, 검사의 결과는 조기 종료를 위해 사용될 수 있다. 전술한 바와 같이, 검사 노드 연산에 신드롬 검사는 포함될 필요가 없지만, 만약 복호기 구성에 따라 일관된(consistent) 동작이 필요할 경우, 신드롬 검사가 수행될 수도 있다. 따라서, 신드롬 검사가 수행된다면, 장치는 신드롬 검사 및 안정성 검사를 함께 활용하여 조기 종료(early termination)를 수행할 수도 있다.
상술한 바와 같은 본 개시의 일 실시 예는 최소한의 동작을 추가적으로 수행함으로써 신뢰도가 높은 신드롬 검사 결과를 생성할 수 있다는 장점이 있다. 복호를 수행하는 시간이 주어진 요구 조건을 만족시키는 데 여유가 있다면 I max 이후 수행되는 부분적인 추가 복호는 전체 시간에 큰 영향을 미치지 않는다. 반면, 복호를 수행하는 시간이 주어진 요구 조건을 만족시키기 어려운 경우, 최대 반복 복호 횟수를 I max -1로 설정함으로써 요구 조건이 만족될 수 있다. 도 7에 도시된 종래 기술의 경우, 최종 수행된 반복 복호의 효과가 사라지고, 신드롬 검사의 결과가 불확실하게 된다. 반면, 본 개시의 일 실시 예에 의한 방법은 최대 반복 복호 횟수를 1회 감소시킴으로써 도 7에 도시된 종래 기술과 유사한 성능을 달성하면서도, 신뢰도가 높은 신드롬 검사 결과를 출력할 수 있게 한다.
본 개시의 다른 실시 예에 따르면, 복호기에서 추가로 출력하는 정보를 이용하여 유사 신드롬 검사(pseudo syndrome-check)가 수행될 수 있다. MIMO(multiple input multiple output), 비-직교 다중 접속(non-orthogonal multiple-access, NOMA) 등을 이용하는 통신 및 방송 시스템에서, LDPC 부호 복호기 또는 복호기를 포함하는 연산 블록들은 점진적인 간섭 제거(successive interference cancellation, SIC) 등의 후속 과정을 수행하기 위해, 복호 성공 시 재-부호화 부호어 벡터를 생성하고, 출력한다. 또한, LDPC 부호 복호기 또는 복호기를 포함하는 연산 블록들은 MIMO, NOMA 등을 이용하는 시스템의 성능 향상과 잔여 오류 검출을 위해 활용할 수 있는 최종 업데이트 된 최종(complete) LLR 값을 연판정 값(soft-output)으로서 출력한다. 장치는 재-부호화된 부호어 비트 벡터 및 최종(complete) LLR 연판정 값 벡터를 이용하여 유사 신드롬 복호를 수행한다. 유사 신드롬 검사를 수행하는 실시 예는 어떠한 방식의 복호를 사용하는 LDPC 부호 복호기에도 적용될 수 있다.
먼저, CRC 검사 등을 통해 복호가 성공하였다고 판단되는 경우, 추정된 메시지 비트 벡터가
Figure 112019045961560-pat00024
으로 가정될 수 있다. 수신기는 메시지 비트 벡터
Figure 112019045961560-pat00025
를 다시 부호화하고, 부호어 비트 벡터
Figure 112019045961560-pat00026
를 생성 및 출력할 수 있다. <수학식 1>을 이용함으로써, 이하 <수학식 7>과 같은 관계를 가지도록 부호화가 수행될 수 있다.
Figure 112019045961560-pat00027
CRC 부호가 함께 사용된 경우, CRC 검사 등을 통해 복호가 성공하였다고 판단하였을 때, 추정한 메시지 비트 벡터를
Figure 112019045961560-pat00028
라고 하자. 또는, CRC 부호가 사용되지 않았거나, 사용되었어도 복호 후에 활용되지 않을 수 있는데, 이 경우, 최종(complete) LLR 값에 대한 경판정을 수행하여 추정 메시지 비트 벡터
Figure 112019045961560-pat00029
가 얻어질 수 있다. 즉, 송신단에서 CRC 부호가 수행되지 아니한 경우, CRC 검사 없이 추정 메시지 비트 벡터가 얻어질 수 있다. 또한, 송신단에서 CRC 부호가 수행되더라도, CRC 검사 없이 추정 메시지 비트 벡터가 얻어질 수 있다
CRC 검사에 의해 오류가 검출되지 않을 확률이 낮다고 가정하면, 일반적으로
Figure 112019045961560-pat00030
라고 가정될 수 있다. 실제 시스템에서 사용되는 IEEE 802.11n/ad Wi-Fi, DVB-T2/C2/S2, ATSC 3.0, 3GPP NR의 LDPC 부호들과 같은 시스테매틱(systematic) 부호를 고려하면, 재-부호화 부호어 벡터는
Figure 112019045961560-pat00031
라고 표현될 수 있으며, 여기서,
Figure 112019045961560-pat00032
Figure 112019045961560-pat00033
에 기반하여 계산된 패리티 비트 벡터를 의미한다. 전술한 바와 같이, 부호화가 사전 부호화 및 SPC 확장의 2 단계로서 수행되는 경우,
Figure 112019045961560-pat00034
라고 표현될 수 있으며, 여기서,
Figure 112019045961560-pat00035
는 각각 사전 부호화 및 SPC 확장으로 생성된 패리티 비트 벡터를 의미한다. 도 5a에 도시된 부분 510과 같은 사전 부호화에 해당하는 패리티 검사 행렬을 Hp라고 설정하는 경우, 재-부호화된 부호어 비트 벡터의 일부인 [
Figure 112019045961560-pat00036
는 이하의 <수학식 8>을 만족하도록 표현될 수 있다.
Figure 112019045961560-pat00037
길이
Figure 112019045961560-pat00038
의 연판정 값 LLR 벡터를
Figure 112019045961560-pat00039
로 표현되는 경우, 각 비트에 대한 수신 신호 벡터가
Figure 112019045961560-pat00040
인 경우의 i번째 부호어 비트에 대한 LLR 값
Figure 112019045961560-pat00041
은 이하의 <수학식 9>과 같이 우도(likelihood)에 대한 비율로서 표현될 수 있다.
Figure 112019045961560-pat00042
<수학식 9>에 기반하여, i번째 부호어 비트 xi에 대해 경판정을 수행함으로써 획득되는 추정 비트값
Figure 112019045961560-pat00043
는 이하의 <수학식 10>를 이용하여 표현될 수 있다.
Figure 112019045961560-pat00044
<수학식 10>를 통해 획득된 추정 부호어 비트 벡터를
Figure 112019045961560-pat00045
라고 하면, 재-부호화 부호어 비트 벡터
Figure 112019045961560-pat00046
와 같이, 추정 부호어 비트 벡터
Figure 112019045961560-pat00047
또한 메시지 비트 벡터와 패리티 비트 벡터를 분리함으로써
Figure 112019045961560-pat00048
또는
Figure 112019045961560-pat00049
와 같이 표현될 수 있다. 복호기에서 애초에 수행하고자 하는 신드롬 검사는 이하의 <수학식 11> 또는 <수학식 12>에 따라 0 벡터가 계산되는지 여부를 확인하는 것과 같다.
Figure 112019045961560-pat00050
Figure 112019045961560-pat00051
복호화기의 출력이 결정되면, 복호화 동작이 완료된 것이므로, 뒤늦게 상기 신드롬 검사를 수행하는 것은 연산 복잡도를 높일 수 있다. 따라서, 추정된 부호어 비트 벡터
Figure 112019045961560-pat00052
및 재-부호화된 부호어 비트 벡터
Figure 112019045961560-pat00053
를 이용하여 유사 신드롬 검사가 수행될 수 있다. 패리티 검사 행렬의 모든 검사 노드들에 대한 신드롬 검사가 수행되는 경우, <수학식 6> 및 <수학식 11>은 이하의 <수학식 13>와 같이 비교될 수 있다.
Figure 112019045961560-pat00054
Figure 112019045961560-pat00055
Figure 112019045961560-pat00056
<수학식 13>에 의해 신드롬 검사가 성공한다고 가정하면, 추정된 부호어 비트 벡터
Figure 112019045961560-pat00057
와 재-부호화된 부호어 비트 벡터
Figure 112019045961560-pat00058
는 서로 같아야 한다. 따라서, 두 벡터를 비교 시, 애초에 수행하려고 한 신드롬 검사와 동일한 판정이 기대된다. 단, <수학식 13>에서 추정된 부호어 비트 벡터
Figure 112019045961560-pat00059
와 재-부호화된 부호어 비트 벡터
Figure 112019045961560-pat00060
의 메시지 비트 부분
Figure 112019045961560-pat00061
Figure 112019045961560-pat00062
은 동일하게 최종(complete) LLR 에 대한 경판정으로 얻어지기 때문에, 비교 대상에서 제외될 수 있다.
즉, 추정된 부호어 비트 벡터
Figure 112019045961560-pat00063
및 재-부호화된 부호어 비트 벡터
Figure 112019045961560-pat00064
가 동일한 경우 신드롬 검사와 동일한 판정이 기대될 수 있다. 2 단계로 구성되는 패리티 검사 행렬에서 사전 부호화에 해당하는 검사 노드에 대해서만 신드롬 검사가 수행되는 경우, <수학식 8> 및 <수학식 12>이 이하의 <수학식 14>과 같이 비교될 수 있다.
Figure 112019045961560-pat00065
Figure 112019045961560-pat00066
Figure 112019045961560-pat00067
즉, 추정된 부호어 비트 벡터의 일부인
Figure 112019045961560-pat00068
와 재-부호화된 부호어 비트 벡터의 일부인
Figure 112019045961560-pat00069
가 동일한 경우, 신드롬 검사와 동일한 판정이 기대될 수 있다. 상술한 바와 같이, 수신기는 재-부호화된 부호어 비트 벡터 및 최종(complete) LLR 연판정 값을 이용하여 유사 신드롬 검사를 수행한다.
<수학식 14>에 의하여 신드롬 검사가 성공한다고 가정하면, 추정된 부호어 비트 벡터의 일부인
Figure 112019045961560-pat00070
와 재-부호화된 부호어 비트 벡터의 일부인
Figure 112019045961560-pat00071
는 서로 같아야 한다. 따라서 두 벡터를 비교 시, 애초에 수행하려고 한 신드롬 검사와 동일한 판정이 기대된다. 단, <수학식 14>에서 추정된 부호어 비트 벡터
Figure 112019045961560-pat00072
와 재-부호화되 부호어 비트 벡터
Figure 112019045961560-pat00073
의 메시지 비트 부분
Figure 112019045961560-pat00074
Figure 112019045961560-pat00075
은 동일하게 최종(complete) LLR 에 대한 경판정으로 얻어지기 때문에, 비교 대상에서 제외될 수 있다.
전술한 바에 따라, 복호기 내부에서 신뢰도가 높은 신드롬-검사를 수행하는 것이 불가능할 경우, 장치는 복호기 밖에서 재-부호화한 부호어 비트 벡터와 최종(complete) LLR 연판정 값(soft-output)을 활용하여 유사 신드롬 검사를 수행할 수 있다. 유사 신드롬 검사를 위한 기능적 구성이 이하 도 9를 참고하여 설명된다.
도 9는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 유사 신드롬 검사를 수행하기 위한 기능적 구성을 도시한다. 도 9는 장치(예: 수신단 120)의 일부 구성으로 이해될 수 있다.
도 9를 참고하면, 장치는 LDPC 디코더 910, 경판정부 920, 비교부 930을 포함한다.
LDPC 디코더 910은 정해진 방식을 통해 복호를 수행하고 결과를 출력한다. 출력되는 복호 결과는, 복호 결과 메시지 비트 벡터를 이용하여 재부호화한 부호어 벡터 902 및 복호 LLR 연판정 값 벡터 902를 포함한다. 복호 LLR 연판정 값 벡터는 경판정기 920에 입력되고, 경판정부 920은 추정 부호어 비트 벡터 903을 출력한다. 또한, 재부호화된 부호어 벡터 901 및 추정 부호어 비트 벡터 903은 비교부 930에 입력된다. 비교부 930은 재부호화된 부호어 벡터 901과 추정 부호어 비트 벡터 903의 전체 또는 일부를 비교하고, 비교 결과를 유사 신드롬 검사 결과로서 출력한다. 두 비트 벡터들을 비교하는 부분을 결정하기 위해, LDPC 부호의 패리티 검사 행렬의 특성이 고려될 수 있다. 예를 들어, 사전 부호화에 의해 생성되는 부호어 부분만이 비교되거나, 또는 사전 부호화에 의해 생성되는 패리티 부분만이 비교될 수 있다.
전술한 바와 같이, 본 개시의 일 실시 예에 따르면, 각 레이어 처리 과정이 신드롬 검사를 포함하는 LDPC 부호의 레이어드 스케줄링의 복호를 수행함에 있어,
Figure 112019045961560-pat00076
횟수의 단위 반복 복호를 수행한 후, 추가적으로 LDPC 부호의 구조를 고려해 사전에 결정된 패리티 검사 행렬의 특정 부분에 대해서만 부분적인 추가 복호를 수행하여 신드롬 결과를 출력하는 것을 특징으로 한다. 3GPP 5G NR, ATSC 3.0 등에서 사용되는 LDPC 부호는 사전 부호화(precoder) 와 SPC 확장 의 두 단계에 걸쳐 부호화되는 구조를 가지고 있으며, 이러한 특징은 패리티 검사 행렬에도 반영되어 있다. 본 개시의 일 실시 예에서, layered 스케줄링 방식의 복호를 수행함에 있어서,
Figure 112019045961560-pat00077
횟수의 단위 반복 복호를 최종적으로 수행한 경우, 사전 부호화에 해당하는 부분에 대해서만 추가적인 복호 동작을 수행하는 것을 특징으로 한다. 일관된 (consistent) 동작의 수행을 위해 상기 추가적인 복호 동작은 일반적인 복호 동작과 동일하며, 복호를 수행하는 레이어의 범위만을 제한하여 이루어진다. 그리고 이러한 부분적인 범위에 대한 신드롬 검사 결과를 출력하여 보고(report) 한다.
또 다른 본 개시의 일 실시 예는 LDPC 부호를 복호함에 있어, 복호 종료 후 획득할 수 있는 재-부호화 부호어 시퀀스 (re-encoded codeword sequence) 와 soft-output이라고 불리는 최종 업데이트 된 LLR 값의 시퀀스를 활용하여 유사 신드롬 검사를 수행하는 것을 특징으로 한다. 다중 안테나 시스템(multiple input multiple output, MIMO), 비-직교 다중 접속 (non-orthogonal multiple-access, NOMA) 등을 사용하는 통신 및 방송 시스템에서의 LDPC 부호 복호기, 혹은 이를 포함하는 일련의 연산 블록은 점진적인 간섭 제거(successive interference cancellation, SIC) 등의 후속 과정을 수행하기 위해 복호 성공 시 재-부호화 부호어 시퀀스를 생성하여 출력한다. 또한 LDPC 부호 복호기, 혹은 이를 포함하는 일련의 연산 블록은 MIMO, NOMA 시스템의 성능 향상과 잔여 오류 검출을 위해 활용할 수 있는 최종 업데이트 된 LLR 값을 연판정 값(soft-output)으로 출력한다. 장치는 출력된 정보를 이용하여 LDPC 부호의 복호기에서 수행하는 신드롬 검사와 거의 동일한 유사 신드롬 검사 (pseudo syndrome-check)를 수행할 수 있다.
전술한 2가지 실시 예들, 즉, 도 8을 참고하여 설명한 부분적 복호를 추가하는 실시 예 및 도 9를 참고하여 설명한 유사 신드롬 검사에 대한 실시 예는 함께 실시될 수 있다. 즉, 부분적 복호 결과에 기반한 신드롬 검사의 결과 및 복호 완료 후 재부호화에 기반한 유사 신드롬 검사가 모두 수행됨으로써, 보다 정확한 복호 성공 여부 판단이 이루어질 수 있다.
본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체가 제공될 수 있다. 컴퓨터 판독 가능 저장 매체에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금 본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(read only memory, ROM), 전기적 삭제가능 프로그램가능 롬(electrically erasable programmable read only memory, EEPROM), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(compact disc-ROM, CD-ROM), 디지털 다목적 디스크(digital versatile discs, DVDs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.
또한, 프로그램은 인터넷(Internet), 인트라넷(Intranet), LAN(local area network), WAN(wide area network), 또는 SAN(storage area network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 본 개시의 실시 예를 수행하는 장치에 접속할 수 있다. 또한, 통신 네트워크상의 별도의 저장장치가 본 개시의 실시 예를 수행하는 장치에 접속할 수도 있다.
상술한 본 개시의 구체적인 실시 예들에서, 개시에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 개시가 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (20)

  1. 무선 통신 시스템의 수신 장치에 의해 수행되는 LDPC(low density parity check code) 부호의 복호화 방법에 있어서,
    이너 코드(inner code) 및 아우터 코드(outer code)를 포함하는 코드워드를 수신하는 단계;
    상기 코드워드에 대하여, 패리티 검사 행렬을 이용하여 미리 정의된 최대 횟수만큼의 복호화 반복(decoding iteration)들을 수행하는 단계;
    상기 코드워드에 대하여 상기 복호화 반복들을 수행한 뒤, 상기 패리티 검사 행렬의 일부 영역을 이용한 부분적인(partial) 복호화를 수행하는 단계; 및
    상기 부분적인 복호화의 결과에 기반하여 상기 코드워드의 복호화 성공 또는 실패를 판단하는 단계를 포함하고,
    상기 일부 영역은 상기 이너 코드와 관련된 영역을 포함하며,
    상기 복호화 반복들은, 상기 패리티 검사 행렬에 포함되는 레이어들 각각에 대해 신드롬 검사(syndrome check) 없이 순차적으로 복호화를 수행하는 과정을 포함하며,
    상기 부분적인 복호화는, 상기 레이어들 각각에 대해서 상기 일부 영역에 대응하는 검사 노드(check node)들에 대한 신드롬 검사를 수행하는 과정을 포함하며,
    상기 부분적인 복호화의 결과는, 상기 레이어들 모두에 대해서 상기 신드롬 검사가 만족되는지에 따라 결정되는 것인, 방법.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 패리티 검사 행렬에서 상기 일부 영역을 제외한 나머지 영역은, 차수(degree) 1의 패리티 부분(parity portion)을 포함하는 것인, 방법.
  4. 청구항 1에 있어서,
    상기 레이어들 각각은 상기 패리티 검사 행렬에 포함되는 부행렬(sub-matrix)들을 포함하는 것인, 방법.
  5. 삭제
  6. 청구항 1에 있어서,
    상기 방법은,
    2회의 연속적인 신드롬 검사가 통과되면, 복호화를 종료하는 단계를 더 포함하는 것인, 방법.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 무선 통신 시스템에서 LDPC(low density parity check code) 부호를 복호화 하는 수신 장치에 있어서,
    송수신부; 및
    상기 송수신부와 연결된 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는:
    이너 코드(inner code) 및 아우터 코드(outer code)를 포함하는 코드워드를 수신하고,
    상기 코드워드에 대하여, 패리티 검사 행렬을 이용하여 미리 정의된 최대 횟수만큼의 복호화 반복(decoding iteration)들을 수행하고,
    상기 코드워드에 대하여 상기 복호화 반복들을 수행한 뒤, 상기 패리티 검사 행렬의 일부 영역을 이용한 부분적인(partial) 복호화를 수행하고,
    상기 부분적인 복호화의 결과에 기반하여 상기 코드워드의 복호화 성공 또는 실패를 판단하도록 설정되며,
    상기 일부 영역은 상기 이너 코드와 관련된 영역을 포함하고,
    상기 복호화 반복들은, 상기 패리티 검사 행렬에 포함되는 레이어들 각각에 대해 신드롬 검사(syndrome check) 없이 순차적으로 복호화를 수행하는 과정을 포함하고,
    상기 부분적인 복호화는, 상기 레이어들 각각에 대해서 상기 일부 영역에 대응하는 검사 노드(check node)들에 대한 신드롬 검사를 수행하는 과정을 포함하고,
    상기 부분적인 복호화의 결과는, 상기 레이어들 모두에 대해서 상기 신드롬 검사가 만족되는지에 따라 결정되는 것인, 수신 장치.
  12. 삭제
  13. 청구항 11에 있어서,
    상기 패리티 검사 행렬에서 상기 일부 영역을 제외한 나머지 영역은, 차수(degree) 1의 패리티 부분(parity portion)을 포함하는 것인, 수신 장치.
  14. 청구항 11에 있어서,
    상기 레이어들 각각은 상기 패리티 검사 행렬에 포함되는 부행렬(sub-matrix)들을 포함하는 것인, 수신 장치.
  15. 삭제
  16. 청구항 11에 있어서,
    상기 적어도 하나의 프로세서는, 2회의 연속적인 신드롬 검사가 통과되면, 복호화를 종료하도록 설정되는 것인, 수신 장치.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020190052566A 2019-05-03 2019-05-03 무선 통신 시스템에서 저밀도 패리티-검사 부호의 복호화를 위한 장치 및 방법 KR102519413B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020190052566A KR102519413B1 (ko) 2019-05-03 2019-05-03 무선 통신 시스템에서 저밀도 패리티-검사 부호의 복호화를 위한 장치 및 방법
EP20801812.7A EP3963722A4 (en) 2019-05-03 2020-04-22 APPARATUS AND METHOD FOR DECODING USING LOW DENSITY PARITY CHECK CODES IN A WIRELESS COMMUNICATION SYSTEM
PCT/KR2020/005288 WO2020226304A1 (en) 2019-05-03 2020-04-22 Apparatus and method for decoding of low-density parity check codes in wireless communication system
US16/855,524 US11171667B2 (en) 2019-05-03 2020-04-22 Apparatus and method for decoding of low-density parity check codes in wireless communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190052566A KR102519413B1 (ko) 2019-05-03 2019-05-03 무선 통신 시스템에서 저밀도 패리티-검사 부호의 복호화를 위한 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20200127783A KR20200127783A (ko) 2020-11-11
KR102519413B1 true KR102519413B1 (ko) 2023-04-07

Family

ID=73017912

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190052566A KR102519413B1 (ko) 2019-05-03 2019-05-03 무선 통신 시스템에서 저밀도 패리티-검사 부호의 복호화를 위한 장치 및 방법

Country Status (4)

Country Link
US (1) US11171667B2 (ko)
EP (1) EP3963722A4 (ko)
KR (1) KR102519413B1 (ko)
WO (1) WO2020226304A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11695504B1 (en) * 2020-10-09 2023-07-04 Ethernovia Inc. Forward error correction decoder failure detection
CN113114273B (zh) * 2021-04-14 2022-11-18 深圳市统先科技股份有限公司 Ldpc码的校验矩阵提取方法及系统、设备
KR20230019636A (ko) 2021-08-02 2023-02-09 삼성전자주식회사 통신 및 방송 시스템에서 데이터 복호화 방법 및 장치
CN114142870B (zh) * 2021-11-17 2023-02-07 北京得瑞领新科技有限公司 Ldpc码的译码方法、装置、存储介质及ssd设备
KR102669005B1 (ko) 2022-08-25 2024-05-24 연세대학교 산학협력단 무선 통신 채널 잡음을 제거하는 오토 인코더 기반 수신기 및 수신 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180262211A1 (en) * 2017-03-07 2018-09-13 Commissariat A L'energie Atomique Et Aux Energies Alternatives Stopping criterion for decoding quasi-cyclic ldpc codes

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080155372A1 (en) 2006-12-21 2008-06-26 Radiospire Networks, Inc. Methods and apparatus for improving error indication performance in systems with low-density parity check codes
US8190962B1 (en) * 2008-12-30 2012-05-29 Qualcomm Atheros, Inc. System and method for dynamic maximal iteration
EP2464019A1 (en) * 2010-12-09 2012-06-13 Nxp B.V. Low density parity-check code decoding
US8756479B2 (en) 2011-01-14 2014-06-17 Marvell World Trade Ltd. LDPC multi-decoder architectures
US9116822B2 (en) 2012-12-07 2015-08-25 Micron Technology, Inc. Stopping criteria for layered iterative error correction
KR102104937B1 (ko) * 2013-06-14 2020-04-27 삼성전자주식회사 Ldpc 부호의 부호화 장치, 그의 부호화 방법, 복호화 장치 및 그의 복호화 방법
US9973212B2 (en) * 2015-09-08 2018-05-15 Storart Technology Co. Ltd. Decoding algorithm with enhanced parity check matrix and re-encoding scheme for LDPC code
KR102616481B1 (ko) 2016-04-04 2023-12-21 삼성전자주식회사 수신 장치 및 그의 신호 처리 방법
US10374632B2 (en) * 2016-10-10 2019-08-06 Nec Corporation Low density parity check coded modulation for optical communications

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180262211A1 (en) * 2017-03-07 2018-09-13 Commissariat A L'energie Atomique Et Aux Energies Alternatives Stopping criterion for decoding quasi-cyclic ldpc codes

Also Published As

Publication number Publication date
EP3963722A4 (en) 2022-09-21
EP3963722A1 (en) 2022-03-09
US20200350927A1 (en) 2020-11-05
WO2020226304A1 (en) 2020-11-12
US11171667B2 (en) 2021-11-09
KR20200127783A (ko) 2020-11-11

Similar Documents

Publication Publication Date Title
KR102519413B1 (ko) 무선 통신 시스템에서 저밀도 패리티-검사 부호의 복호화를 위한 장치 및 방법
US11451243B2 (en) Method and apparatus for decoding data in communication or broadcasting system
US8924812B2 (en) Non-binary LDPC code decoder
Angarita et al. Reduced-complexity min-sum algorithm for decoding LDPC codes with low error-floor
US8010869B2 (en) Method and device for controlling the decoding of a LDPC encoded codeword, in particular for DVB-S2 LDPC encoded codewords
US8484531B1 (en) Post-processing decoder of LDPC codes for improved error floors
KR20070045134A (ko) 저밀도 패리티 검사 코드를 사용하는 통신 시스템에서 신호수신 장치 및 방법
US20180076830A1 (en) Elementary check node processing for syndrome computation for non-binary ldpc codes decoding
EP4050805A1 (en) Method and apparatus for decoding polar code in communication and broadcasting system
CN112005499A (zh) Ldpc码的译码方法和装置
CN111130563B (zh) 处理信息的方法和装置
US20210167800A1 (en) Method for selecting ldpc base code in multiple ldpc codes and apparatus therefor
KR20180128061A (ko) 행-직교 구조(row-orthogonal)를 이용한 LDPC 코드 전송 방법 및 이를 위한 장치
US20200099398A1 (en) Sc-ldpc code encoding method and device therefor
US11824654B2 (en) Method and apparatus for decoding polar code in communication and broadcasting system
US10756761B2 (en) Method for dividing carrying block of LDPC code and apparatus therefor
US20170264393A1 (en) Decoding method and apparatus in system using sequentially connected binary codes
US10673461B2 (en) Hybrid scheduling and latch-based pipelines for low-density parity-check decoding
US20210143838A1 (en) Simplified check node processing in non-binary ldpc decoder
KR20180122255A (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
US9281842B2 (en) Method and device for improving decoding of data received from one source by several receivers
KR20200132720A (ko) 통신 또는 방송 시스템에서 데이터 복호화 방법 및 장치
KR101835341B1 (ko) Sc-ldpc 코드의 쌍방향 슬라이딩 윈도우 복호 방법 및 이를 위한 장치
US12040819B2 (en) Method and apparatus for decoding of data in communication and broadcasting systems
Anggraeni et al. Design of rateless polar accumulate tornado codes using EXIT chart for UAV communications

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant