Nothing Special   »   [go: up one dir, main page]

KR20240103984A - 계층적 신뢰전파 복호를 위한 스케줄링 방법 및 장치 - Google Patents

계층적 신뢰전파 복호를 위한 스케줄링 방법 및 장치 Download PDF

Info

Publication number
KR20240103984A
KR20240103984A KR1020230181296A KR20230181296A KR20240103984A KR 20240103984 A KR20240103984 A KR 20240103984A KR 1020230181296 A KR1020230181296 A KR 1020230181296A KR 20230181296 A KR20230181296 A KR 20230181296A KR 20240103984 A KR20240103984 A KR 20240103984A
Authority
KR
South Korea
Prior art keywords
layers
connectivity
decoding
layer
order
Prior art date
Application number
KR1020230181296A
Other languages
English (en)
Inventor
김상효
윤찬호
고영조
장갑석
조원철
조은영
마이 당
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Publication of KR20240103984A publication Critical patent/KR20240103984A/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/1108Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
    • 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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

계층적 신뢰전파 복호를 위한 스케줄링 기술에 관한 것으로, 통신 노드의 방법으로서, 저-밀도 패리티 검사(low-density parity check) 부호에 대한 패리티 검사 행렬(parity check matrix)의 최대 반복 복호 횟수를 설정하는 단계; 상기 최대 반복 복호 횟수 내의 반복 복호 별로 상기 패리티 검사 행렬의 계층들의 연결성을 파악하는 단계; 및 복호시에 상기 반복 복호 별로 상기 파악한 상기 패리티 검사 행렬의 계층들의 연결성에 기반하여 상기 패리티 검사 행렬의 계층들의 처리 순서를 스케줄링하는 단계를 포함하는, 통신 노드의 방법이 제공될 수 있다.

Description

계층적 신뢰전파 복호를 위한 스케줄링 방법 및 장치{METHOD AND APPARATUS FOR SCHEDULING OF LAYERED BELIEF PROPAGATION DECODING}
본 개시는 계층적 신뢰전파 복호를 위한 스케줄링 기술에 관한 것으로, 더욱 상세하게는 계층의 연결성과 변수 노드의 연결성에 기반하여 계층의 복호 순서를 결정하도록 하는 계층적 신뢰전파 복호를 위한 스케줄링 기술에 관한 것이다.
정보 통신 기술의 발전과 더불어 다양한 무선 통신 기술이 개발될 수 있다. 대표적인 무선 통신 기술로 3GPP(3rd generation partnership project) 표준에서 규정된 LTE(long term evolution), NR(new radio), 6G(6th Generation) 등이 있을 수 있다. LTE는 4G(4th Generation) 무선 통신 기술들 중에서 하나의 무선 통신 기술일 수 있고, NR은 5G(5th Generation) 무선 통신 기술들 중에서 하나의 무선 통신 기술일 수 있다.
4G 통신 시스템(예를 들어, LTE를 지원하는 통신 시스템)의 상용화 이후에 급증하는 무선 데이터의 처리를 위해, 4G 통신 시스템의 주파수 대역(예를 들어, 6GHz 이하의 주파수 대역)뿐만 아니라 4G 통신 시스템의 주파수 대역보다 높은 주파수 대역(예를 들어, 6GHz 이상의 주파수 대역)을 사용하는 5G 통신 시스템(예를 들어, NR을 지원하는 통신 시스템)이 고려될 수 있다. 5G 통신 시스템은 eMBB(enhanced Mobile BroadBand), URLLC(Ultra-Reliable and Low Latency Communication) 및 mMTC(massive Machine Type Communication)를 지원할 수 있다.
이러한 통신 시스템을 위하여 물리 계층에서 채널 부복호화 기술과 같은 다양한 요소 기술이 꾸준히 개발되고 있을 수 있다. 그 중 저밀도 패리티 검사(low-density parity check, LDPC) 부호는 5G NR 데이터 채널에도 채택이 되는 등 활발히 연구가 진행되는 채널 부호일 수 있다. 통신 시스템은 LDPC 부호의 복호와 관련하여 병렬화 기반의 복호기 개발을 위해서 계층적 신뢰전파(layered belief propagation, LBP) 복호 기술 등을 사용할 수 있다. 통신 시스템은 LBP 복호를 수행할 때에 하나의 반복 내에서 계층의 연산을 순차적으로 진행할 수 있다. 통신 시스템은 계층의 연산 순서를 변경할 수 있다. 다시 말하면, 통신 시스템은 계층 스케줄링을 통하여 계층의 연산 순서를 변경할 수 있다. 그 결과, 통신 시스템은 더 빠른 수렴을 통해 개선된 복호 성능을 얻을 수 있다. 또한, 통신 시스템은 반복(iteration)마다 다른 계층 시퀀스를 적용(다시 말하면, 반복 별 상이한 스케줄링 운용)할 수 있다. 이에 따라, 통신 시스템은 이와 같이 LBP 복호 기술에 주목해, 새로운 계층(layer) 시퀀스를 설계하는 것을 필요로 할 수 있다.
상기와 같은 문제점을 해결하기 위한 본 개시의 목적은, 계층의 연결성과 변수 노드의 연결성에 기반하여 계층의 복호 순서를 결정하도록 하는 계층적 신뢰전파 복호를 위한 스케줄링 방법 및 장치를 제공하는데 있다.
상기 목적을 달성하기 위한 본 개시의 제1 실시예에 따른 계층적 신뢰전파 복호를 위한 스케줄링 방법은, 통신 노드의 방법으로서, 저-밀도 패리티 검사(low-density parity check) 부호에 대한 패리티 검사 행렬(parity check matrix)의 최대 반복 복호 횟수를 설정하는 단계; 상기 최대 반복 복호 횟수 내의 반복 복호 별로 상기 패리티 검사 행렬의 계층들의 연결성을 파악하는 단계; 및 복호시에 상기 반복 복호 별로 상기 파악한 상기 패리티 검사 행렬의 계층들의 연결성에 기반하여 상기 패리티 검사 행렬의 계층들의 처리 순서를 스케줄링하는 단계를 포함할 수 있다.
여기서, 상기 최대 반복 복호 횟수 내의 반복 복호 별로 상기 패리티 검사 행렬의 계층들의 연결성을 파악하는 단계는, 상기 최대 반복 복호 횟수 내의 상기 반복 복호 별로 상기 패리티 검사 행렬의 계층들의 각각에 대한 에지 개수를 산출하는 단계; 및 상기 계층들의 각각에 대하여 산출한 에지 개수를 상기 계층들의 연결성으로 파악하는 단계를 포함할 수 있다.
여기서, 상기 복호시에 상기 반복 복호 별로 상기 파악한 계층들의 연결성에 기반하여 상기 패리티 검사 행렬의 계층들의 처리 순서를 스케줄링하는 단계는, 상기 반복 복호 별로 상기 파악한 계층들의 연결성에서 최대 연결성을 가진 계층을 최선의 계층으로 하는 단계; 상기 반복 복호 별로 상기 파악한 상기 최대 연결성을 가진 계층을 기준으로 연결성이 감소하는 순서대로 계층들을 순차적으로 나열하는 단계; 및 상기 복호시에 상기 계층들의 나열 순서를 상기 계층들의 처리 순서로 스케줄링하는 단계를 포함할 수 있다.
여기서, 상기 반복 복호 별로 상기 파악한 상기 최대 연결성을 가진 계층을 기준으로 연결성이 감소하는 순서대로 계층들을 순차적으로 나열하는 단계에서 동일한 연결성을 가진 계층들이 존재하면 상기 동일한 연결성을 가진 계층들을 랜덤하게 나열할 수 있다.
여기서, 상기 반복 복호 별로 상기 파악한 상기 최대 연결성을 가진 계층을 기준으로 연결성이 감소하는 순서대로 계층들을 순차적으로 나열하는 단계에서 동일한 연결성을 가진 계층들이 존재하면 상기 동일한 연결성을 가진 계층들을 상기 패리티 검사 행렬의 계층 순서에 따라 나열할 수 있다.
여기서, 상기 반복 복호 별로 상기 파악한 상기 최대 연결성을 가진 계층을 기준으로 연결성이 감소하는 순서대로 계층들을 순차적으로 나열하는 단계는, 동일한 연결성을 가진 계층들이 존재하면 상기 동일한 연결성을 가진 계층들에 연결된 변수 노드들의 연결성에 기반하여 처리 순서를 나열하는 단계를 포함할 수 있다.
여기서, 상기 동일한 연결성을 가진 계층들이 존재하면 상기 동일한 연결성을 가진 계층들을 연결된 변수 노드들의 연결성에 기반하여 처리 순서를 스케줄링하는 단계는, 상기 동일한 연결성을 가진 계층들이 존재하면 상기 동일한 연결성을 가진 계층들에 연결된 변수 노드들의 연결성을 파악하는 단계; 상기 파악한 계층들에 연결된 변수 노드들의 연결성에서 최대 연결성을 가진 계층을 최선이 계층으로 하는 단계; 상기 파악한 상기 최대 연결성을 가진 계층을 기준으로 연결성이 감소하는 순서대로 계층들을 순차적으로 나열하는 단계; 및 상기 계층들의 나열 순서를 상기 동일한 연결성을 가진 계층들의 처리 순서로 나열하는 단계를 포함할 수 있다.
여기서, 상기 동일한 연결성을 가진 계층들이 존재하면 상기 동일한 연결성을 가진 계층들을 연결된 변수 노드들의 연결성에 기반하여 처리 순서를 나열하는 단계는, 상기 동일한 연결성을 가진 계층들이 존재하면 상기 동일한 연결성을 가진 계층들에 연결된 변수 노드들의 연결성을 파악하는 단계; 상기 파악한 계층들에 연결된 변수 노드들의 연결성에서 최소 연결성을 가진 계층을 최선의 계층으로 하는 단계; 상기 파악한 상기 최소 연결성을 가진 계층을 기준으로 연결성이 증가하는 순서대로 계층들을 순차적으로 나열하는 단계; 및 상기 계층들의 나열 순서를 상기 동일한 연결성을 가진 계층들의 처리 순서로 나열하는 단계를 포함할 수 있다.
여기서, 상기 복호시에 상기 반복 복호 별로 상기 파악한 계층들의 연결성에 기반하여 상기 패리티 검사 행렬의 계층들의 처리 순서를 스케줄링하는 단계는, 상기 반복 복호 별로 상기 파악한 계층들의 연결성에서 최소 연결성을 가진 계층을 최선의 계층으로 하는 단계; 상기 반복 복호 별로 상기 파악한 상기 최소 연결성을 가진 계층을 기준으로 연결성이 증가하는 순서대로 계층들을 순차적으로 나열하는 단계; 및 상기 복호 시 상기 계층들의 나열 순서를 상기 계층들의 처리 순서로 스케줄링하는 단계를 포함할 수 있다.
여기서, 상기 복호시에 상기 반복 복호 별로 상기 파악한 계층들의 연결성에 기반하여 상기 패리티 검사 행렬의 계층들의 처리 순서를 스케줄링하는 단계는, 상기 최대 반복 횟수 내의 일정 개수의 반복 복호들을 선정하는 단계; 상기 복호시에 상기 선정된 일정 개수의 반복 복호들의 각각에 대하여 상기 파악한 계층들의 연결성이 증가하는 순서대로 계층들을 나열하여 상기 계층들의 처리 순서를 스케줄링하는 단계; 및 상기 복호시에 선정되지 않은 나머지 반복 복호들의 각각에 대하여 상기 파악한 계층들의 연결성이 감소하는 순서대로 계층들을 나열하여 상기 계층들의 처리 순서를 스케줄링하는 단계를 포함할 수 있다.
한편, 상기 목적을 달성하기 위한 본 개시의 제2 실시예에 따른 계층적 신뢰전파 복호를 위한 스케줄링 장치는, 통신 노드로서, 프로세서(processor)를 포함하며, 상기 프로세서는 상기 통신 노드가, 저-밀도 패리티 검사(low-density parity check) 부호에 대한 패리티 검사 행렬(parity check matrix)의 최대 반복 복호 횟수를 설정하고; 상기 최대 반복 복호 횟수 내의 반복 복호 별로 상기 패리티 검사 행렬의 계층들의 연결성을 파악하고; 그리고 복호시에 상기 반복 복호 별로 상기 파악한 상기 패리티 검사 행렬의 계층들의 연결성에 기반하여 상기 패리티 검사 행렬의 계층들의 처리 순서를 스케줄링하도록 야기할 수 있다.
여기서, 상기 최대 반복 복호 횟수 내의 반복 복호 별로 상기 패리티 검사 행렬의 계층들의 연결성을 파악하는 단계에서 상기 프로세서는 상기 통신 노드가, 상기 최대 반복 복호 횟수 내의 상기 반복 복호 별로 상기 패리티 검사 행렬의 계층들의 각각에 대한 에지 개수를 산출하고; 그리고 상기 계층들의 각각에 대하여 산출한 에지 개수를 상기 계층들의 연결성으로 파악하도록 야기할 수 있다.
여기서, 상기 복호시에 상기 반복 복호 별로 상기 파악한 계층들의 연결성에 기반하여 상기 패리티 검사 행렬의 계층들의 처리 순서를 스케줄링하는 단계에서 상기 프로세서는 상기 통신 노드가, 상기 반복 복호 별로 상기 파악한 계층들의 연결성에서 최대 연결성을 가진 계층을 최선의 계층으로 하고; 상기 반복 복호 별로 상기 파악한 상기 최대 연결성을 가진 계층을 기준으로 연결성이 감소하는 순서대로 계층들을 순차적으로 나열하고; 그리고 상기 복호시에 상기 계층들의 나열 순서를 상기 계층들의 처리 순서로 스케줄링하도록 야기할 수 있다.
여기서, 상기 반복 복호 별로 상기 파악한 상기 최대 연결성을 가진 계층을 기준으로 연결성이 감소하는 순서대로 계층들을 순차적으로 나열하는 단계에서 상기 프로세서는 상기 통신 노드가 동일한 연결성을 가진 계층들이 존재하면 상기 동일한 연결성을 가진 계층들을 연결된 변수 노드들의 연결성에 기반하여 처리 순서를 나열할 수 있다.
여기서, 상기 복호시에 상기 반복 복호 별로 상기 파악한 계층들의 연결성에 기반하여 상기 패리티 검사 행렬의 계층들의 처리 순서를 스케줄링하는 단계에서 상기 프로세서는 상기 통신 노드가, 상기 반복 복호 별로 상기 파악한 계층들의 연결성에서 최소 연결성을 가진 계층을 최선의 계층으로 하고; 상기 반복 복호 별로 상기 파악한 상기 최소 연결성을 가진 계층을 기준으로 연결성이 증가하는 순서대로 계층들을 순차적으로 나열하고; 그리고 상기 복호시에 상기 계층들의 나열 순서를 상기 계층들의 처리 순서로 스케줄링하도록 야기할 수 있다.
여기서, 상기 복호시에 상기 반복 복호 별로 상기 파악한 계층들의 연결성에 기반하여 상기 패리티 검사 행렬의 계층들의 처리 순서를 스케줄링하는 단계에서 상기 프로세서는 상기 통신 노드가, 상기 최대 반복 횟수 내의 일정 개수의 반복 복호들을 선정하고; 상기 복호시에 상기 선정된 일정 개수의 반복 복호들의 각각에 대하여 상기 파악한 계층들의 연결성이 증가하는 순서대로 계층들을 나열하여 상기 계층들의 처리 순서를 스케줄링하고; 그리고 상기 복호시에 선정되지 않은 나머지 반복 복호들의 각각에 대하여 상기 파악한 계층들의 연결성이 감소하는 순서대로 계층들을 나열하여 상기 계층들의 처리 순서를 스케줄링하도록 야기할 수 있다.
본 개시에 의하면, 수신기는 계층 연결성 및 계층에 연결된 변수 노드의 연결성에 따른 계층 스케줄링을 적용하여 우수한 복호 성능을 확보할 수 있다. 또한, 본 개시에 의하면, 수신기는 계층의 처리 순서를 효과적으로 관리하여 보다 빠른 수렴을 통해 개선된 복호 성능을 얻을 수 있다. 또한, 본 개시에 의하면, 수신기는 QC-LDPC(Quasi-Cyclic Low Density Parity Check) 부호에 적용 시 병렬화 기반의 복호기 운용이 가능하며, Tbps급 대용량 스루풋을 필요로 하는 통신 시나리오에 기여할 수 있다.
도 1은 통신 시스템의 제1 실시예를 도시한 개념도이다.
도 2는 통신 시스템을 구성하는 통신 노드의 제1 실시예를 도시한 블록도이다.
도 3은 변수 노드 업데이트 과정의 제1 실시예를 나타내는 개념도이다.
도 4는 검사 노드 업데이트 과정의 제1 실시예를 나타내는 개념도이다.
도 5는 플러딩 스케줄링 신뢰전파 복호 방법의 제1 실시예를 나타내는 개념도이다.
도 6은 계층 스케줄링 신뢰전파 복호 방법의 제1 실시예를 나타내는 개념도이다.
도 7은 변수 노드 업데이트 과정의 제2 실시예를 나타내는 개념도이다.
도 8은 계층적 신뢰전파 복호 방법에서 검사 노드 순서의 제1 실시예를 나타내는 개념도이다.
도 9는 계층적 신뢰전파 복호를 위한 스케줄링 방법의 제1 실시예를 나타내는 개념도이다.
도 10은 계층적 신뢰전파 복호를 위한 스케줄링 방법의 제2 실시예를 나타내는 개념도이다.
도 11은 5G NR의 저 밀도 패리티 검사 부호의 베이스 그래프(base graph)의 제1 실시예를 나타내는 개념도이다.
도 12는 계층적 신뢰전파 복호를 위한 스케줄링 방법의 제3 실시예를 나타내는 흐름도이다.
도 13은 도 12의 계층의 연결성을 기준으로 스케줄링하는 과정의 제1 실시예를 나타내는 개념도이다.
도 14는 도 11의 계층의 연결성을 기준으로 스케줄링하는 과정의 제2 실시예를 나타내는 개념도이다.
도 15a 내지 도 15d는 다양한 부호 길이에서 계층 신뢰전파 복호 방법과 오름 차순 스케줄링 방법의 신호대 잡음비에 대한 블록오율을 도시한 그래프이다.
도 16은 와이기그(WiGig) 부호에서 계층 신뢰전파 복호 방법과 오름 차순 스케줄링 방법의 신호대 잡음비에 대한 블록오율을 도시한 그래프이다.
도 17은 도 12의 변수 노드들의 연결성을 기준으로 스케줄링을 수행하는 과정의 제1 실시예를 나타내는 개념도이다.
도 18a 내지 도 18d는 다양한 부호 길이에서 계층 신뢰전파 복호 방법, 오름 차순 스케줄링 방법 및 2단계 스케줄링 방법의 신호대 잡음비에 대한 블록오율을 도시한 그래프이다.
도 19는 와이기그 부호에서 오름 차순 스케줄링 방법의, 내림 차순 스케줄링 방법 및 2단계 스케줄링 방법의 블록오율을 도시한그래프이다.
도 20은 계층 신뢰전파 복호 방법, 오름 차순 스케줄링 방법, 2단계 스케줄링 방법 및 오름 차순 스케줄링과 내림 차순 스케줄링의 병합 방법의 블록오율을 도시한 그래프이다.
본 개시는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 개시를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 개시의 실시예들에서, "A 및 B 중에서 적어도 하나"는 "A 또는 B 중에서 적어도 하나" 또는 "A 및 B 중 하나 이상의 조합들 중에서 적어도 하나"를 의미할 수 있다. 또한, 본 개시의 실시예들에서, "A 및 B 중에서 하나 이상"은 "A 또는 B 중에서 하나 이상" 또는 "A 및 B 중 하나 이상의 조합들 중에서 하나 이상"을 의미할 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 개시에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 개시를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 개시에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 개시에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 개시의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 개시를 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 통신 시스템의 제1 실시예를 도시한 개념도이다.
도 1을 참조하면, 통신 시스템(100)은 복수의 통신 노드들(110-1, 110-2, 110-3, 120-1, 120-2, 130-1, 130-2, 130-3, 130-4, 130-5, 130-6)을 포함할 수 있다. 여기서, 통신 시스템은 "통신 네트워크"로 지칭될 수 있다. 복수의 통신 노드들 각각은 적어도 하나의 통신 프로토콜을 지원할 수 있다. 예를 들어, 복수의 통신 노드들 각각은 CDMA(code division multiple access) 기반의 통신 프로토콜, WCDMA(wideband CDMA) 기반의 통신 프로토콜, TDMA(time division multiple access) 기반의 통신 프로토콜, FDMA(frequency division multiple access) 기반의 통신 프로토콜, OFDM(orthogonal frequency division multiplexing) 기반의 통신 프로토콜, OFDMA(orthogonal frequency division multiple access) 기반의 통신 프로토콜, SC(single carrier)-FDMA 기반의 통신 프로토콜, NOMA(non-orthogonal multiple access) 기반의 통신 프로토콜, SDMA(space division multiple access) 기반의 통신 프로토콜 등을 지원할 수 있다. 복수의 통신 노드들 각각은 다음과 같은 구조를 가질 수 있다.
도 2는 통신 시스템을 구성하는 통신 노드의 제1 실시예를 도시한 블록도이다.
도 2를 참조하면, 통신 노드(200)는 적어도 하나의 프로세서(210), 메모리(220) 및 네트워크와 연결되어 통신을 수행하는 송수신 장치(230)를 포함할 수 있다. 또한, 통신 노드(200)는 입력 인터페이스 장치(240), 출력 인터페이스 장치(250), 저장 장치(260) 등을 더 포함할 수 있다. 통신 노드(200)에 포함된 각각의 구성 요소들은 버스(bus)(270)에 의해 연결되어 서로 통신을 수행할 수 있다. 다만, 통신 노드(200)에 포함된 각각의 구성요소들은 공통 버스(270)가 아니라, 프로세서(210)를 중심으로 개별 인터페이스 또는 개별 버스를 통하여 연결될 수도 있다. 예를 들어, 프로세서(210)는 메모리(220), 송수신 장치(230), 입력 인터페이스 장치(240), 출력 인터페이스 장치(250) 및 저장 장치(260) 중에서 적어도 하나와 전용 인터페이스를 통하여 연결될 수도 있다.
프로세서(210)는 메모리(220) 및 저장 장치(260) 중에서 적어도 하나에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(210)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 개시의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(220) 및 저장 장치(260) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(220)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중에서 적어도 하나로 구성될 수 있다.
다시 도 1을 참조하면, 통신 시스템(100)은 복수의 기지국들(base stations)(110-1, 110-2, 110-3, 120-1, 120-2), 복수의 UE들(user equipment)(130-1, 130-2, 130-3, 130-4, 130-5, 130-6)을 포함할 수 있다. 제1 기지국(110-1), 제2 기지국(110-2) 및 제3 기지국(110-3) 각각은 매크로 셀(macro cell)을 형성할 수 있다. 제4 기지국(120-1) 및 제5 기지국(120-2) 각각은 스몰 셀(small cell)을 형성할 수 있다. 제1 기지국(110-1)의 커버리지(coverage) 내에 제4 기지국(120-1), 제3 UE(130-3) 및 제4 UE(130-4)가 속할 수 있다. 제2 기지국(110-2)의 커버리지 내에 제2 UE(130-2), 제4 UE(130-4) 및 제5 UE(130-5)가 속할 수 있다. 제3 기지국(110-3)의 커버리지 내에 제5 기지국(120-2), 제4 UE(130-4), 제5 UE(130-5) 및 제6 UE(130-6)가 속할 수 있다. 제4 기지국(120-1)의 커버리지 내에 제1 UE(130-1)가 속할 수 있다. 제5 기지국(120-2)의 커버리지 내에 제6 UE(130-6)가 속할 수 있다.
여기서, 복수의 기지국들(110-1, 110-2, 110-3, 120-1, 120-2) 각각은 노드B(NodeB), 고도화 노드B(evolved NodeB), BTS(base transceiver station), 무선 기지국(radio base station), 무선 트랜시버(radio transceiver), 액세스 포인트(access point), 액세스 노드(node), 노변 장치(road side unit; RSU), DU(digital unit), CDU(cloud digital unit), RRH(radio remote head), RU(radio unit), TP(transmission point), TRP(transmission and reception point), 중계 노드(relay node) 등으로 지칭될 수 있다. 복수의 UE들(130-1, 130-2, 130-3, 130-4, 130-5, 130-6) 각각은 터미널(terminal), 액세스 터미널(access terminal), 모바일 터미널(mobile terminal), 스테이션(station), 가입자 스테이션(subscriber station), 모바일 스테이션(mobile station), 휴대 가입자 스테이션(portable subscriber station), 노드(node), 다바이스(device) 등으로 지칭될 수 있다.
복수의 통신 노드들(110-1, 110-2, 110-3, 120-1, 120-2, 130-1, 130-2, 130-3, 130-4, 130-5, 130-6) 각각은 셀룰러(cellular) 통신(예를 들어, 3GPP(3rd generation partnership project) 표준에서 규정된 LTE(long term evolution), LTE-A(advanced) 등)을 지원할 수 있다. 복수의 기지국들(110-1, 110-2, 110-3, 120-1, 120-2) 각각은 서로 다른 주파수 대역에서 동작할 수 있고, 또는 동일한 주파수 대역에서 동작할 수 있다. 복수의 기지국들(110-1, 110-2, 110-3, 120-1, 120-2) 각각은 아이디얼 백홀(ideal backhaul) 또는 논(non)-아이디얼 백홀을 통해 서로 연결될 수 있고, 아이디얼 백홀 또는 논-아이디얼 백홀을 통해 서로 정보를 교환할 수 있다. 복수의 기지국들(110-1, 110-2, 110-3, 120-1, 120-2) 각각은 아이디얼 백홀 또는 논-아이디얼 백홀을 통해 코어(core) 네트워크(미도시)와 연결될 수 있다. 복수의 기지국들(110-1, 110-2, 110-3, 120-1, 120-2) 각각은 코어 네트워크로부터 수신한 신호를 해당 UE(130-1, 130-2, 130-3, 130-4, 130-5, 130-6)에 전송할 수 있고, 해당 UE(130-1, 130-2, 130-3, 130-4, 130-5, 130-6)로부터 수신한 신호를 코어 네트워크에 전송할 수 있다.
복수의 기지국들(110-1, 110-2, 110-3, 120-1, 120-2) 각각은 OFDMA 기반의 하향링크(downlink) 전송을 지원할 수 있고, SC-FDMA 기반의 업링크(uplink) 전송을 지원할 수 있다. 또한, 복수의 기지국들(110-1, 110-2, 110-3, 120-1, 120-2) 각각은 MIMO(multiple input multiple output) 전송(예를 들어, SU(single user)-MIMO, MU(multi user)-MIMO, 대규모(massive) MIMO 등), CoMP(coordinated multipoint) 전송, 캐리어 애그리게이션(carrier aggregation) 전송, 비면허 대역(unlicensed band)에서 전송, 단말 간 직접(device to device, D2D) 통신(또는, ProSe(proximity services) 등을 지원할 수 있다. 여기서, 복수의 UE들(130-1, 130-2, 130-3, 130-4, 130-5, 130-6) 각각은 기지국(110-1, 110-2, 110-3, 120-1, 120-2)과 대응하는 동작, 기지국(110-1, 110-2,110-3, 120-1, 120-2)에 의해 지원되는 동작을 수행할 수 있다.
한편, 6G(6th generation) 통신 시나리오의 실현은 1Tbps 이상의 스루풋(throughput)을 요구할 수 있다. 왜냐하면 6G 통신 시스템은 자율 주행 자동차, 가상 현실(virtual reality) 등의 어플리케이션(application)을 지원할 수 있는데, 이를 위하여 Tbps급 대용량의 전송 용량을 필요로 하기 때문일 수 있다. 동시에, 6G 통신 시스템은 고신뢰, 고속 및 저지연 통신 요구 사항을 만족시킬 수 있다. 이러한 6G 통신 시스템을 위하여 물리 계층에서 채널 부복호화 기술과 같은 다양한 요소 기술이 꾸준히 개발되고 있을 수 있다.
그 중 저밀도 패리티 검사(low-density parity check, LDPC) 부호는 5G NR 데이터 채널에도 채택이 되는 등 활발히 연구가 진행되는 채널 부호일 수 있다. 이러한 LDPC 부호는 비교적 복잡도가 낮은 복호기 운영을 가능하도록 할 수 있다. 이에 따라, LDPC 부호는 대용량의 전송 용량을 요구하는 통신 시스템을 위한 채널 부호로 사용될 수 있다.
통신 시스템은 LDPC 부호의 복호와 관련하여 병렬화 기반의 복호기 개발을 위해서 계층적 신뢰전파(layered belief propagation, LBP) 복호 기술 등을 사용할 수 있다. LBP 복호는 신뢰전파(belief propagation, BP) 복호 대비 약 절반의 최대 반복 횟수(the number of maximum iterations)로도 비슷한 복호 성능을 얻을 수 있다. 이에, 통신 시스템은 적은 최대 반복 횟수를 유지하면서 더욱 개선된 복호 성능을 얻을 수 있는 기술을 통해서 고용량, 고신뢰, 고속 통신에 기여할 수 있다.
통신 시스템은 LBP 복호를 수행할 때에 하나의 반복 내에서 계층의 연산을 순차적으로 진행할 수 있다. 통신 시스템은 계층의 연산 순서를 변경할 수 있다. 다시 말하면, 통신 시스템은 계층 스케줄링을 통하여 계층의 연산 순서를 변경할 수 있다. 그 결과, 통신 시스템은 더 빠른 수렴을 통해 개선된 복호 성능을 얻을 수 있다. 또한, 통신 시스템은 반복(iteration)마다 다른 계층 시퀀스를 적용(다시 말하면, 반복 별 상이한 스케줄링 운용)할 수 있다. 따라서 본 개시는 이와 같이 LBP 복호 기술에 주목해, 새로운 계층(layer) 시퀀스를 설계하는 것, 즉 스케줄링 관리 방식을 제안할 수 있다.
1. 배경
본 절에서는 제안 기법을 설명하기 위한 기초 개념으로 LDPC부호 및 복호 기법에 대해 소개할 수 있다. 그리고, 본 절에서는 계층적 신뢰전파(layered belief propagation, LBP) 복호 기법의 기본적인 동작을 소개할 수 있다.
2. 시스템 모델
본 항에서는 종래 기법 및 제안 기법을 설명하기 전에 본 개시에서 가정한 전송 시스템 모델을 소개할 수 있다. 이전 LDPC 부호의 부호 길이는 일 수 있고, 메시지 길이는 일 수 있다. 여기서, 는 양의 정수일 수 있다. 길이 인 메시지가 전체 부호의 왼쪽에 치우쳐 배치된 체계적인(systematic) 구조를 사용할 수 있다. 이때, 부호어(codeword) 로 표현될 수 있다. 여기서, 번째 비트일 수 있다. 부호어에서 메시지를 제외한 부분은 패리티(parity)일 수 있다. 패리티의 길이 일 수 있다. 여기서, 은 양의 정수일 수 있다. 통신 시스템의 송신기는 생성된 부호어를 BPSK(binary phase shift keying) 변조하여 생성된 심벌 를 수신기로 전송할 수 있다.
이때, 심벌 로 표현될 수 있다. 이때, 전송 채널은 AWGN(additive white Gaussian noise) 채널로 가정할 수 있다, 이때 수신기는 송신기에서 신호를 수신할 수 있다. 이때, 수신기에서 수신한 수신 신호 일 수 있다. 이때, 수신 신호 로 표현될 수 있다. 여기서, 은 가우시안(Gaussian) 잡음 벡터일 수 있다. 그리고, 의 길이는 일 수 있고, 각 심볼(symbol)의 평균은 0, 분산은 일 수 있다. 그리고, 수신 신호의 LLR (log likelihood ratio) 로 표현될 수 있다. 복호기의 출력 값인 추정된 부호어 로 표현될 수 있다.
3. LDPC 부호 및 QC-LDPC 부호
LDPC 부호는 섀넌(Shannon)의 채널 용량에 근접하는 오류 정정 부호이다. LDPC 부호는 다른 채널 용량 달성 부호에 비해 설계 자유도가 높을 수 있다. 이진(binary) LDPC 부호는 희소(sparse) 이진 행렬 에 의해 정의될 수 있다. LDPC 부호의 임의의 부호어 로 표현될 수 있다. 그리고, 의 관계는 항상 성립할 수 있다. 여기서, 는 변환행렬을 의미한다.
여기서 LDPC부호를 정의하는 이진 행렬 는 패리티 검사 행렬(parity-check matrix)일 수 있다. 이진 행렬 의 이진 행렬일 수 있다. 여기서, 은 양의 정수일 수 있다. 또한, 이진 행렬 에서 0이 아닌 원소가 행렬의 크기 대비 매우 적기 때문에 저밀도(low-density)로 불릴 수 있다. 패리티 검사 행렬 는 태너(Tanner) 그래프라고 불리는 이분 그래프(bipartite graph)로 표현 가능할 수 있다.
이분 그래프는 변수 노드(variable nodes) 집합 , 검사 노드(check nodes) 집합 및 변수 노드와 검사 노드를 있는 에지(edges) 집합 로 구성될 수 있다. 여기서, 로 표현될 수 있고, 로 표현될 수 있다. 번째 행, 번째 열의 원소인 의 값이 1이라면 번째 변수 노드 번째 검사 노드 가 에지에 의해 서로 연결될 수 있다. 따라서 변수 노드 집합, 검사 노드 집합, 그리고 에지 집합은 각각 패리티 검사 행렬의 열, 행, 성분에 대응하게 되며, 변수 노드는 부호어의 각 비트, 검사 노드는 이진 선형 방정식(linear binary constraint)으로 표현될 수 있다.
4. LDPC 부호 복호 방법
LDPC 부호의 복호는 태너 그래프에서 변수 노드와 검사 노드 간 메시지 교환(message passing) 방법을 이용한 신뢰-전파(belief propagation, BP)를 이용하여 이루어질 수 있다. 변수 노드는 검사 노드로부터 수신한 메시지를 합산할 수 있다. 검사 노드는 변수 노드로부터 수신한 메시지들에 연산 혹은 선별을 취할 수 있다. 이때의 메시지는 앞선 항에서 언급한 LLR(Log-Likelihood ratio)이므로 신뢰도를 포함하는 값일 수 있다. 또한, 메시지는 반복적인 전파(혹은 메시지 교환)를 통해 오류를 정정할 수 있다.
부호 길이가 길어질수록 BP 복호는 최대 사후 확률(maximum a posteriori)에 근접한 성능을 보일 수 있다. BP 복호는 계산 방법에 따라 합 곱 알고리즘(sum-product algorithm, SPA), 최소 합 알고리즘(min-sum algorithm, MSA) 그리고 그 변형 기법들이 존재할 수 있다. 이 중에서 본 개시는 가장 기본적인 BP 알고리즘인 SPA에 대해 단계 별로 설명할 수 있다.
[SPA 단계]
단계 1: 수신기는 수신 심벌로부터 각 비트 값에 대한 LLR 메시지 를 수학식 1을 사용하여 계산할 수 있다. 여기서, 로 표현될 수 있다. 여기서, 는 수신 신호일 수 있고, 는 송신 신호일 수 있으며, 은 잡음 벡터일 수 있다. 그리고, 일 수 있다.
단계 2: 수신기는 를 상응하는 변수 노드에 위치시킬 수 있다. 그리고, 수신기는 각 변수 노드에 이웃한 검사 노드에 를 전달할 수 있다.
단계 3: 수신기는 변수 노드에 연결된 인접한 검사 노드에 LLR 값을 전달할 수 있고, 아래 수학식 2와 같이 처리하여, 다시 인접한 변수 노드에 전달하는 메시지 교환 동작을 수행할 수 있다. 수학식 2에서 기호는 각 노드에 연결된 인접 노드를 의미할 수 있다.
여기서, 일 수 있고, 이 때, 가 되어 는 자기역함수(self-inverse function)이다.
단계 4: 수신기는 변수 노드를 와 인접한 검사 노드로부터 수신한 메시지 값을 아래 수학식 3과 같이 처리하여 다시 검사 노드로 전달할 수 있다. 이때 메시지 는 경험적(posteriori) LLR 메시지로, 후에 경판정을 통해 부호어 값으로 결정될 수 있다. 수신기는 메시지 를 해당 변수 노드에 연결된 인접 검사 노드로 다시 전파할 수 있다.
여기서, 는 다음 수학식 4와 같을 수 있다. 단 여기서 는 노드 와 연결된 이웃 검사 노드들의 집합을 의미한다.
단계 5: 수신기는 각 검사 노드의 LLR 총합을 경판정(hard decision)해서 추정한 부호어 의 결과가 를 만족하면 복호를 종료할 수 있다. 이와 달리, 수신기는 만족하지 않는 경우에 단계 3과 단계 4의 과정을 계속 반복해서 수행할 수 있다. 이때, 수신기는 최대 반복 복호 횟수 이상을 단계 3과 단계 4의 과정을 반복하여 수행하여도 인 경우 복호 실패를 선언할 수 있고, 복호를 종료할 수 있다.
도 3은 변수 노드 업데이트 과정의 제1 실시예를 나타내는 개념도이다.
도 3을 참조하면, 수신기는 변수 노드에 에지가 3개씩 연결되어 있는 LDPC 부호의 SPA 복호 과정에서 변수 노드의 업데이트를 수행할 수 있다. 수신기는 변수 노드에 연결된 인접한 검사 노드에 LLR 값을 전달할 수 있고, 수학식 2와 같이 처리하여, 다시 인접한 변수 노드에 전달하는 메시지 교환 동작을 수행할 수 있다.
도 4는 검사 노드 업데이트 과정의 제1 실시예를 나타내는 개념도이다.
도 4를 참조하면, 수신기는 검사 노드에 에지가 3개씩 연결되어 있는 LDPC 부호의 SPA 복호 과정에서 검사 노드의 업데이트를 수행할 수 있다. 수신기는 변수 노드를 와 인접한 검사 노드로부터 수신한 메시지 값을 수학식 3과 같이 처리하여 다시 검사 노드로 전달할 수 있다.
한편, 합 곱 알고리즘 이외의 메시지 전달 복호 기술로는 최소 합 알고리즘(min-sum algorithm, MSA)이 있을 수 있다. MSA는 수학식 5와 같이 SPA의 검사 노드(SPA단계 3)에서 tanh 연산 대신 최소값 비교 연산을 수행함으로써, 계산 복잡도를 낮춘 알고리즘일 수 있다.
하지만, MSA는 SPA 대비 계산 과정이 간단해진 대신에 복호 성능이 저하되는 단점이 있을 수 있다. 이러한 성능 저하 문제를 해결하기 위해서 오프셋(offset) MSA와 정규화(normalized) MSA 기법이 제안되었을 수 있다. 아래 수학식 6과 7에서 는 각각 오프셋 인자(offset factor)와 정규화 인자(normalized factor)로, 매우 왜곡된 MSA의 검사 노드 메시지를 보완해 보다 정확한 메시지를 변수 노드에 전달하도록 할 수 있다.
수학식 6과 7은 오프셋 MSA와 정규화 MSA의 검사 노드 계산과정으로, 최소값 비교 시 보정 값을 적용하여 SPA에 거의 근접하는 성능을 얻을 수 있다.
5. 계층적 신뢰전파(LBP) 복호 기법
계층적 신뢰전파(layered belief propagation, LBP) 복호 방법은 신뢰전파(BP) 복호 방법에 기반할 수 있다. 그에 더해서, 계층적 신뢰전파 복호 방법은 a) 저장하는 메시지와 b) 검사 노드 처리 순서의 관점에서 BP 복호와 상이할 수 있다. 특히, 계층적 신뢰전파 복호 방법에서 QC(Quasi-Cyclic)-LDPC 부호의 프로토 검사 노드(proto check node)가 하나의 계층(layer)을 형성할 수 있다. 계층적 신뢰전파 복호 방법은 계층적 스케줄링(layered scheduling) BP 복호라고 할 수 있다. 기존의(conventional) BP는 플러딩 스케줄링(flooding scheduling) BP 라고 할 수 있다.
도 5는 플러딩 스케줄링 신뢰전파 복호 방법의 제1 실시예를 나타내는 개념도이다.
도 5를 참조하면, 플러딩 스케줄링 신뢰전파 복호 방법에서 수신기는 모든 계층들에서 독립적으로 동시에 연산을 수행하도록 할 수 있다. 여기서, CN은 검사 노드의 약어일 수 있고, VN은 가변 노드의 약어일 수 있다.
도 6은 계층 스케줄링 신뢰전파 복호 방법의 제1 실시예를 나타내는 개념도이다.
도 6을 참조하면, 계층 스케줄링 신뢰전파 복호 방법에서 수신기는 각 계층들에서 순차적으로 연산하도록 할 수 있다. 이때, 계층 스케줄링 신뢰전파 복호 방법에서 수신기는 변수 노드에서 검사노드로 전달하는 를 저장하지 않을 수 있다. 여기서, CN은 검사 노드의 약어일 수 있고, VN은 가변 노드의 약어일 수 있다.
도 7은 변수 노드 업데이트 과정의 제2 실시예를 나타내는 개념도이다.
도 7을 참조하면, 수신기는 변수 노드에 에지가 3개씩 연결되어 있는 LDPC 부호의 SPA 복호 과정에서 변수 노드의 업데이트를 수행할 수 있다. 수신기는 변수 노드에 연결된 인접한 검사 노드에 LLR 값을 전달할 수 있고, 수학식 2와 같이 처리하여, 다시 인접한 변수 노드에 전달하는 메시지 교환 동작을 수행할 수 있다. 이때, 수신기는 를 각 계층의 연산 시 저장해 두었던 메시지 와 경험적 LLR 메시지인 에서 수학식 8과 같은 뺄셈을 통해 매 순간마다 바로바로(on-the-fly)로 생성할 수 있다.
다시, 도 6을 참조하면, 계층 스케줄링 신뢰전파 복호 방법은 QC-LDPC 부호의 구조와 함께 아래 단계들과 같이 부분적으로 평행한(partially parallel) 복호를 가능하게 할 수 있다.
단계 1: 수신기는 수신 심벌로부터 각 비트 값에 대한 LLR 메시지 를 수학식 1을 사용하여 계산할 수 있다. 여기서, 로 표현될 수 있다. 여기서, 는 수신 신호일 수 있고, 는 송신 신호일 수 있으며, 은 잡음 벡터일 수 있다. 그리고, 일 수 있다. 수신기는 를 상응하는 변수 노드에 위치시킬 수 있다. 그리고, 수신기는 각 변수 노드에 이웃한 노드에 를 전달할 수 있다.
단계 2: 수신기는 변수 노드에 연결된 인접한 검사 노드에 LLR 값을 전달할 수 있고, 수학식 2와 같이 처리하여, 다시 인접한 변수 노드에 전달하는 메시지 교환 동작을 수행할 수 있다. 수학식 2에서 기호는 각 노드에 연결된 인접 노드들의 집합을 의미할 수 있다.
단계 3: 수신기는 변수 노드를 와 인접한 검사 노드로부터 수신한 메시지 값을 수학식 3과 같이 처리하여 다시 검사 노드로 전달할 수 있다. 이때, 수신기는 를 각 계층의 연산 시 저장해 두었던 메시지 와 경험적 LLR 메시지인 에서 수학식 8과 같은 뺄셈을 통해 매 순간마다 바로바로 (on-the-fly)로 생성할 수 있다. 이때 메시지 는 경험적(posteriori) LLR 메시지로, 후에 경판정을 통해 부호어 값으로 결정될 수 있다. 수신기는 메시지 를 해당 변수 노드에 연결된 인접 검사 노드로 다시 전파할 수 있다.
단계 4: 수신기는 각 검사 노드의 LLR 총합을 경판정(hard decision)해서 추정한 부호어 의 결과가 를 만족하면 복호를 종료할 수 있다. 이와 달리, 수신기는 만족하지 않는 경우에 단계 2와 단계 3의 과정을 계속 반복해서 수행할 수 있다. 이때, 수신기는 최대 반복 복호 횟수 이상을 단계 2와 단계 3의 과정을 반복하여 수행하여도 가 되지 않는 경우 복호 실패를 선언할 수 있고, 복호를 종료할 수 있다.
한편, 계층적 신뢰전파(layered belief propagation, LBP) 복호 방법은 BP 복호 방법과 대비하여 약 절반의 최대 반복 횟수로도 비슷한 오율 성능을 낼 수 있다. 이러한 LBP 복호 방법은 LDPC 부호의 구조를 결정하는 패리티 검사 행렬(parity check matrix, PCM)의 모양 그대로 수행할 수 있다. 다시 말하면, 계층(혹은 검사 노드 혹은 프로토 검사 노드)별 연산 순서는 PCM의 구조 내 검사 노드 순서를 따를 수 있다.
도 8은 계층적 신뢰전파 복호 방법에서 검사 노드 순서의 제1 실시예를 나타내는 개념도이다.
도 8을 참조하면, 수신기는 모든 반복(iteration)에서 태너 그래프의 프로토 검사 노드의 연산 순서를 왼쪽에서 오른쪽으로 진행할 수 있다. 그리고, 수신기는 모든 반복에서 PCM의 행의 연산 순서를 위쪽에서 아래쪽으로 진행할 수 있다.
이와 같은 LBP 기술은 Tbps급 통신을 위한 병렬화 기반의 BP 복호 방식임에도 병렬화 순서를 어떻게 결정할 것인지에 대한 연구가 미비할 수 있다. 예를 들면, 수신기는 QC-LDPC부호에서 프로토 검사 노드 별로 계층을 구성해 순차적인 스케줄링을 진행할 때 최적화 되지 않은 계층 처리 순서를 적용할 수 있다. LBP 복호 시 BP 대비 적은 최대 반복 횟수로 비슷한 오율 성능을 얻을 수 있는데, 적은 반복 횟수 내에서 추가적인 스케줄링 수행에 따라 최적화된 성능을 얻을 여지가 있다.. 더욱이 순차적인 계층 별 연산을 하는 기법이므로 매 반복(iteration)마다 효과적인 계층 스케줄링 방법을 모색해 기존 LBP보다 빠른 수렴을 유도할 수 있다.
본 개시의 목적은 LBP 복호의 성능을 개선하기 위해서 계층의 스케줄링 방법을 제안하는 것일 수 있다. LBP 복호는 BP 대비 적은 최대 반복 횟수로 복호 과정이 진행되는데, 적은 반복에서는 계층의 스케줄링 순서가 복호 성능에 영향을 줄 수 있다. 따라서 본 개시는 계층 연산 순서를 관리하지 않는 종래 LBP 복호와 달리 계층 연산 순서를 효과적으로 관리해 개선된 복호 성능을 갖도록 하는 스케줄링 방법을 찾는 것을 목적으로 할 수 있다. 특히, 본 개시는 계층 별 연결성과 같은 LDPC부호의 구조를 활용해 스케줄링 방법을 제안할 수 있다.
본 개시는 새로운 계층 스케줄링 방법을 적용한 계층적 신뢰전파 복호 운용 방식을 제안할 수 있고, 그 성능을 확인할 수 있다. 본 개시는 매 반복(iteration)에서 계층의 연산 순서를 결정하는 새로운 방식을 두 개의 기준(criterion)으로 제안해 계층의 시퀀스(sequence)를 제안할 수 있고, 매 반복마다 서로 다른 계층 시퀀스를 적용하는 등 LBP 복호 운용 방식을 제안할 수 있다. 이때, 계층 시퀀스를 결정하는 두 개의 기준은 a) 계층의 연결성과 b) 계층과 연결된 변수 노드의 연결성일 수 있다. 본 개시는 먼저 계층의 연결성을 1차적으로 (depth-1) 고려해 매 반복 내에서 효과적으로 신뢰도 높은 메시지 (reliable message) 생성해 내도록 할 수 있고, 동일한 연결성을 갖는 계층에 대해서 2차적으로 (depth-2) 메시지의 전파성을 극대화할 수 있도록 하는 방식을 제안할 수 있다. 이하에서, 제안 기술의 세부 동작이 자세히 설명될 수 있고, 제안 기법에 대한 성능도 함께 제시될 수 있다. 이하에서, 본 개시는 5G LDPC 부호 구조의 예시를 들어 설명할 수 있다.
먼저, 수신기는 최대 반복 횟수를 로 정의할 수 있다. 그리고, 수신기는 계층의 개수를 으로 정의할 수 있다. 여기서, 은 양의 정수일 수 있다. 또한, 총 번의 반복 복호에서 계층 시퀀스 벡터는 로 표시될 수 있다. 계층 시퀀스 벡터의 번째 반복에서 계층 시퀀스 열 벡터는 로 표시될 수 있다. 여기서, 계층 시퀀스 열 벡터는 계층 인덱스 시퀀스 벡터라고 부를 수 있다.
이때, 각각의 계층 인덱스 시퀀스 벡터 는 연산하는 계층 순서로 정의될 수 있다. 일 예로 하나의 계층 인덱스 시퀀스 벡터 은 LDPC 부호의 PCM 내 계층(검사 노드) 순차 순서대로 정의될 수 있다. 다시 말하면, 하나의 계층 인덱스 시퀀스 벡터 은 LDPC 부호의 PCM 내 계층(검사 노드) 순서인 1,2,…,M으로 정의될 수 있다. 이러한 계층 순서 1,2,3,…,M은 으로 표기할 수 있으며 순차 순서라고 부를 수 있다. 이때, 일 수 있다. 따라서, 하나의 계층 인덱스 시퀀스 벡터 은 다음 수학식 10과 같을 수 있다.
도 9는 계층적 신뢰전파 복호를 위한 스케줄링 방법의 제1 실시예를 나타내는 개념도이다.
도 9를 참조하면, 수신기는 계층 시퀀스 벡터를 모든 반복 복호에서 의 계층 인덱스 시퀀스 벡터로 스케줄링할 수 있다. 이때, 계층 시퀀스 벡터는 다음 수학식 11과 같을 수 있다.
다른 예시로 다른 하나의 계층 인덱스 시퀀스 벡터 는 LDPC 부호의 PCM 내 계층(검사 노드) 순서의 반대 순서로 정의될 수 있다. 다시 말하면, 다른 하나의 계층 인덱스 시퀀스 벡터 는 LDPC 부호의 PCM 내 계층(검사 노드) 순서의 반대 순서인 M,(M-1),??,2,1으로 정의될 수 있다. 이러한, 반대 순서 M,M-1,M-2,??,2,1은 으로 표기할 수 있다. 따라서, 다른 하나의 계층 인덱스 시퀀스 벡터 는 다음 수학식 12와 같을 수 있다.
이때, 계층 시퀀스 벡터는 다음 수학식 13과 같을 수 있다.
도 10은 계층적 신뢰전파 복호를 위한 스케줄링 방법의 제2 실시예를 나타내는 개념도이다.
도 10을 참조하면, 수신기는 반복 복호의 진행에 따라 계층 인덱스 시퀀스를 다르게 운용할 수 있다. 수신기는 수학식 14와 같이 를 반복하여 계층 인덱스 시퀀스를 운용할 수 있다.
본 개시는 동적 계층 시퀀스 벡터 를 제안할 수 있다. 그리고, 본 개시는 개선된 복호 성능을 얻도록 하는 동적 계층 인덱스 시퀀스 벡터 를 위한 수학식 15와 같이 두 개의 기준(criterion)을 제안할 수 있다. 여기서, 는 주어진 동적 계층 인덱스 시퀀스 벡터의 순열(permutation)일 수 있다.
수신기는 동적 계층 인덱스 시퀀스 를 결정할 때 2개의 기준을 고려하여 결정할 수 있다. 이러한 2개의 기준은 a) 계층의 연결성과 b) 계층과 연결된 변수 노드의 연결성일 수 있다. 이때의 연결성은 변수 노드와 계층(혹은 프로토 검사 노드)의 차수(degree)일 수 있다. 첫 번째 기준을 고려한 1단계 동적 계층 인덱스 시퀀스는 로, 두 번째 기준까지 고려한 2 단계 동적 계층 인덱스 시퀀스는 로 표시할 수 있다.
첫 번째 기준은 계층의 연결성일 수 있다. 수신기는 계층의 연결성이 낮은 계층부터 높은 계층으로 차례대로 연산 순서를 운용할 수 있다. 5G LDPC부호의 계층(혹은 프로토 검사 노드)의 연결성은 차수(degree) 특성으로 이해할 수 있다.
도 11은 5G NR의 저밀도 패리티 검사 부호의 베이스 그래프(base graph)의 제1 실시예를 나타내는 개념도이다.
도 11을 참조하면, 베이스 그래프에서 각 행은 프로토 검사 노드에 대응될 수 있다. 이에 따라, 리프팅(lifting) 정도에 따라 전체 부호어 길이는 다양하게 결정될 수 있다. 이때, 46개의 계층은 일 예로 다음 수학식 16과 같은 차수(다시 말하면 연결성 혹은 에지 개수) CN_deg를 가질 수 있다.
다시 말하면, 수학식 16을 참조하면 46개의 계층은 첫 4개의 계층에서 19개의 노드와 연결되어 있을 수 있고, 그 다음 5번째 계층에서 3개의 변수 노드와 연결되어 있는 등의 연결성을 가질 수 있다. 이때, 표 1은 각각의 연결성의 계층의 개수를 보여줄 수 있다.
표 1을 참조하면, 계층들은 3부터 19까지의 다양한 연결성을 가질 수 있다. 또한, 표 1을 참조하면 일부 계층은 소수이지만 19과 같은 높은 연결성을 가질 수 있다. 또한, 표 1을 참조하면, 일부 계층은 3-6의 연결성을 가질 수 있다.
도 12는 계층적 신뢰전파 복호를 위한 스케줄링 방법의 제3 실시예를 나타내는 흐름도이다.
도 12를 참조하면, 수신기는 최대 반복 복호 횟수 를 결정할 수 있다(S1200). 그리고, 수신기는 반복 복호 횟수 를 1로 설정할 수 있다(S1201). 수신기는 번째 반복 복호에 대하여 계층들의 각각의 연결성을 확인할 수 있다(S1202). 이때, 수신기는 번째 반복 복호에서 동일한 연결성을 가지는 계층들이 존재하는지를 판단할 수 있다(S1203). 판단 결과, 수신기는 번째 반복 복호에서 동일한 연결성을 가지는 계층들이 존재하지 않으면 계층들의 각각의 연결성을 기반으로 스케줄링을 수행할 수 있다(S1204). 이후에, 수신기는 와 같은지를 판단할 수 있다(S1205). 판단 결과, 수신기는 와 같으면 종료할 수 있다. 이와 달리, 수신기는 와 같지 않으면 에 1을 가산한 후에(S1206) 단계 S1202부터 반복할 수 있다.
한편, 수신기는 단계 S1203의 판단 결과 동일한 연결성을 가진 계층들이 존재하면 동일한 연결성을 가진 계층들에 대하여 변수 노드들의 연결성을 기반으로 스케줄링을 수행할 수 있다(S1207). 이후에, 수신기는 번째 반복 복호에서 동일한 연결성을 가지는 계층들이 존재하지 않으면 계층들의 각각의 연결성을 기반으로 스케줄링을 수행할 수 있다(S1204). 이후에, 수신기는 와 같은지를 판단할 수 있다(S1205). 판단 결과, 수신기는 와 같으면 종료할 수 있다. 이와 달리, 수신기는 와 같지 않으면 에 1을 가산한 후에(S1206) 단계 S1202부터 반복할 수 있다.
도 13은 도 12의 계층의 연결성을 기준으로 스케줄링하는 과정의 제1 실시예를 나타내는 개념도이다.
도 13을 참조하면, 수신기는 4의 차수를 가진 계층과 19의 차수를 가진 계층에서 먼저 4의 차수를 가진 계층을 반복 복호한 후에 19의 차수를 가진 계층을 반복 복호하도록 스케줄링할 수 있다.
이처럼 수신기는 낮은 차수의 계층을 먼저 반복 복호하도록 한 후에 높은 차수의 계층을 나중에 반복 복호하도록 스케줄링할 수 있다. 이와 같은 스케줄링 방법은 계층 차수의 오름차순 스케줄링 방법이라고 부를 수 있다. 이와 같은 오름차순 스케줄링 방법에서 오름차순 계층 인덱스 시퀀스는 로 표기될 수 있다. 여기서, 첨자 l2h는 low-to-high의 약자일 수 있다.
도 14는 도 11의 계층의 연결성을 기준으로 스케줄링하는 과정의 제2 실시예를 나타내는 개념도이다.
도 14를 참조하면, 수신기는 4의 차수를 가진 계층과 19의 차수를 가진 계층에서 먼저 19의 차수를 가진 계층을 반복 복호한 후에 4의 차수를 가진 계층을 반복 복호하도록 스케줄링할 수 있다.
이처럼 수신기는 높은 차수의 계층을 먼저 반복 복호하도록 한 후에 낮은 차수의 계층을 나중에 반복 복호하도록 스케줄링할 수 있다. 이와 같은 스케줄링 방법은 계층 차수의 내림차순 스케줄링 방법이라고 부를 수 있다. 이와 같은 내림차순 스케줄링 방법에서 내림차순 계층 인덱스 시퀀스는 로 표기될 수 있다. 여기서, 첨자 h2l은 high-to-low의 약자일 수 있다.
한편, 수신기는 오름차순 스케줄링 방법을 통해서 오름 차순 계층 인덱스 시퀀스를 사용하게 되면 하나의 반복 복호 내에서 더 빠르게 신뢰도가 높은 메시지를 생성해서 우수한 복호 성능을 얻을 수 있다. 첫 번째 계층은 다른 계층으로부터 얻은 정보(메시지)가 없으므로 높은 신뢰도의 메시지를 생성하기 어려울 수 있다. 따라서, 수신기는 스케줄링 초반 계층에서 많은 변수 노드에 메시지를 전달하는 것보다 보다 적은 변수 노드에 메시지를 전달할 수 있다. 그리고, 수신기는 순차적으로 계층 별 복호를 진행함에 따라 초반에 높은 신뢰도의 메시지를 생성하여 후반에 처리되는 계층에서 더 많은 변수 노드에 메시지를 전달할 수 있다. 다시 말하면, 도 12의 오름차순 스케줄링 방법이 도 13의 내림차순 스케줄링 방식보다 효과적일 수 있다. 한편, 차수가 동일한 계층들은 랜덤한 시퀀스를 가질 수 있다. 또는, 차수가 동일한 계층들은 PCM 내 계층 인덱스 순서를 따를 수 있다.
도 15a 내지 도 15d는 다양한 부호 길이에서 계층 신뢰전파 복호 방법과 오름 차순 스케줄링 방법의 신호대 잡음비에 대한 블록오율을 도시한 그래프이다.
도 15a 내지 도 15d를 참조하면, 부호율 R은 0.324일 수 있다. 그리고, 비트 길이 n은 도 15a에서 544일 수 있고, 도 15b에서 1088일 수 있고, 도 15c에서 1496일 수 있고, 도 15d에서 2176일 수 있다. 최대 반복 복호 횟수 Max는 5일 수 있다. 부호 길이 별로 오름 차순 스케줄링 방법(도면에서 L2H로 표기)의 효과는 블록오율(block error rate, BLER)과 신호대 잡음비(signal noise ratio, SNR)에서 상이할 수 있다. 하지만, 모든 부호 길이에서 오름차순 스케줄링 방법은 LBP보다 우수한 복호 성능을 가질 수 있다.
도 16은 와이기그(WiGig) 부호에서 계층 신뢰전파 복호 방법과 오름 차순 스케줄링 방법의 신호대 잡음비에 대한 블록오율을 도시한 그래프이다.
도 16를 참조하면, 와이기그(WiGig) 부호에서 부호율 R은 0.5일 수 있고, 부호 길이 n은 672일 수 있다. 와이기그 부호의 경우, 총 336개의 계층의 차수(degree)가 5,6,7, 그리고 8인 구조일 수 있다. 오름차순 스케줄링 방법으로 스케줄링을 하면 신호대 잡음비가 내림차순 대비 BLER인 10-3에서 약 0.1 dB 이상 개선될 수 있다.
다시 도 12를 참조하면, 수신기는 S1207에서 동일한 차수를 갖는 계층들에 대해서 각 계층에 연결된 변수 노드들의 차수를 기반으로 부가적인 기준을 설정하여 스케줄링 순서를 결정할 수 있다. 이처럼 수신기는 첫 번째 기준에서 계층의 차수를 고려해 L2H 스케줄링 한 것을 기반으로, 동일한 차수를 갖는 계층들을 대상으로 더 많은 메시지 전파에 기여할 수 있도록 연산 순서를 추가 관리할 수 있다.
도 17은 도 12의 변수 노드들의 연결성을 기준으로 스케줄링을 수행하는 과정의 제1 실시예를 나타내는 개념도이다.
도 17을 참조하면, 수신기는 동일한 차수를 갖는 계층 1과 2에 대해서 연결된 변수 노드들의 차수 총합을 산출할 수 있다. 그리고, 수신기는 총합을 내림차순(high-to-low)이 되도록 계층의 연산 순서를 결정할 수 있다.
다시 말하면, 수신기는 태너 그래프를 참조하여 계층 1과 2에 연결된 변수 노드를 확인할 수 있다. 이때, 수신기는 차수 4인 계층 1에 대하여 30,12,1,1의 변수 노드들의 차수들을 확인할 수 있다. 또한, 수신기는 차수 4인 계층 2에 대하여 28,10,12,1의 변수 노드들의 차수들을 확인할 수 있다.
이때, 계층과 연결된 변수 노드의 차수의 총합은 각 계층에서 결정된 메시지를 얼마나 많은 검사 노드로 전달하는 지를 보여주는 척도일 수 있다. 따라서, 수신기는 계층 1에서 결정된 메시지를 총 44개의 검사 노드로 전달할 수 있다. 그리고, 수신기는 계층 2에서 결정된 메시지를 51개의 검사 노드에 전달할 수 있다. 이와 같이 스케줄링 하면 동일한 계층의 차수를 갖는 계층들에서 연결된 변수 노드들이 더 많은 계층이 메시지를 더 많이 전달할 수 있어 빠르게 정보를 전달할 수 있다. 수신기는 반복(iteration) 복호의 진행에 따라 계층 인덱스 시퀀스 를 수학식 17과 같이 연속적으로 동일하게 적용할 수 있다.
또는, 수신기는 수학식 18에서 알 수 있는 바와 같이 전체 반복 횟수에서 일정 횟수의 반복에서 계층 인덱스 시퀀스 를 연속적으로 동일하게 적용할 수 있고, 전체 반복 횟수에서 나머지 반복에서 계층 인덱스 시퀀스 를 연속적으로 동일하게 적용할 수 있다. 이처럼 수신기는 다양한 계층 인덱스 시퀀스를 적용해 스케줄링을 운용할 수도 있다.
도 18a 내지 도 18d는 다양한 부호 길이에서 계층 신뢰전파 복호 방법, 오름 차순 스케줄링 방법 및 2단계 스케줄링 방법의 신호대 잡음비에 대한 블록오율을 도시한 그래프이다.
도 18a 내지 도 18d를 참조하면, 부호율 R은 0.33일 수 있다. 그리고, 비트 길이 n은 도 18a에서 544일 수 있고, 도 18b에서 1088일 수 있고, 도 18c에서 1496일 수 있고, 도 18d에서 2176일 수 있다. 최대 반복 복호 횟수는 5일 수 있다. 부호 길이 별로 오름 차순 스케줄링 방법(도면에서 L2H로 표기)의 효과는 블록오율(block error rate, BLER)과 신호대 잡음비(signal noise ratio, SNR)에서 상이할 수 있다. 하지만, 모든 부호 길이에서 오름차순 스케줄링 방법은 LBP보다 우수한 복호 성능을 가질 수 있다. 또한, 부호 길이 별로 오름 차순 스케줄링 방법(도면에서 L2H로 표기)에 변수의 연결성을 고려한 스케줄링 방법의 2단계 스케줄링 방법(도면에서 D2로 표기)효과는 블록오율(block error rate, BLER)과 신호대 잡음비(signal noise ratio, SNR)에서 상이할 수 있다. 하지만, 모든 부호 길이에서 2 단계 스케줄링 방법은 LBP보다 우수한 복호 성능을 가질 수 있다.
도 19는 와이기그 부호에서 오름 차순 스케줄링 방법의, 내림 차순 스케줄링 방법 및 2단계 스케줄링 방법의 블록오율을 도시한 그래프이다.
도 19를 참조하면, 와이기그 부호에서 부호율 R은 0.5일 수 있고, 부호 길이 n은 672일 수 있다. 와이기그 부호의 경우, 총 336개의 계층의 차수(degree)가 5,6,7, 그리고 8인 구조일 수 있다. 오름차순 스케줄링 방법으로 스케줄링을 하면 신호대 잡음비가 내림차순 대비 BLER인 10-3(혹은 1e-3)에서 약 0.1 dB 이상 개선될 수 있다.
L2H는 첫 번째 기준만을 적용했을 때의 성능으로, 그 반대 기준인 계층 연결성의 내림차순 스케줄링인 H2L 대비 우수한 성능을 가지는 것을 확인할 수 있다. 반면 첫 번째 기준만을 고려한 L2H와 두 번째 기준까지 고려한 2단계 계층 인덱스 시퀀스인 를 비교하면, 거의 성능 개선이 없음을 확인할 수 있다. 이러한 이유는 아래 표 2에서 확인할 수 있다.
위의 표 2는 5G LDPC부호 BG1과 와이기그 LDPC부호의 동일한 연결성을 갖는 계층에 대해 2 단계에서의 연결성 합의 범위를 확인할 수 있는 표일 수 있다. 계층 연결성 열에서 괄호 밖 숫자는 각 계층(혹은 프로토 검사노드)이 갖는 차수일 수 있고, 괄호 안 숫자는 해당 차수를 갖는 계층의 개수일 수 있다.
다시 말하면, 5G LDPC부호의 경우, 차수가 5인 계층은 18개, 차수가 6인 계층은 8개라는 의미일 수 있고, 와이기그 LDPC부호의 경우, 차수 5,6,7,8인 계층의 개수가 각각 42,126,126,42개라는 의미일 수 있다. 오른쪽 열 2 단계는 동일한 차수를 갖는 계층에 대해, 그 계층과 연결된 변수 노드의 차수의 합의 범위를 의미할 수 있다. 다시 말하면, 5G LDPC부호 내 차수 5인 18개의 계층의 경우, 각 계층에 연결된 변수 노드의 차수의 합을 2 단계로 관찰했을 때, 그 차수의 합의 범위가 54에서 64임을 의미할 수 있다. 차수 6인 8개의 계층은 2 단계 메트릭 값이 64-91 범위이므로 그 차이가 매우 커, 두 번째 기준을 적용해 시퀀스를 설계했을 때, 그 차이로부터 복호 성능 차이가 날 수 있음을 의미할 수 있다. 반대로 와이기그 LDPC부호 내 동일한 차수를 갖는 계층에서는 2 단계에서 메트릭 값 차이가 거의 없을 수 있다.
예를 들면 차수가 7인 126개의 계층의 2단계 메트릭 값을 확인했을 때, 23, 24, 그리고 25 정도의 매우 작은 차이가 있는데, 이는 두 번째 기준이 효과를 크게 낼 수 없는 구조임을 볼 수 있다.
도 20은 계층 신뢰전파 복호 방법, 오름 차순 스케줄링 방법, 2단계 스케줄링 방법 및 오름 차순 스케줄링과 내림 차순 스케줄링의 병합 방법의 블록오율을 도시한 그래프이다.
도 20을 참조하면, 부호율이 약 0.33, 부호 길이가 1088인 5G LDPC부호의 복호 성능을 알 수 있다. 검정색 그래프는 기존 LBP 복호 성능, 파란색 그래프는 총 5번의 최대 반복 복호 동안 모든 스케줄링 시퀀스가 인 경우의 성능일 수 있다. 즉, 파란색 그래프는 인 경우일 수 있다. 녹색 그래프는 모든 최대 반복 복호 동안 모든 스케줄링 시퀀스가 인 경우로, 인 경우일 수 있다. 모든 반복에서 L2H 스케줄링을 가질 때보다 모든 반복에서 D2 스케줄링을 가질 때 더 우수한 성능을 나타낼 수 있다.
적색 두 그래프는 반복 복호가 진행됨에 따라 서로 다른 스케줄링이 적용되는 경우일 수 있다. 삼각형 마커를 갖는 적색 그래프는 5번의 최대 반복 복호 횟수 중 1-2회 반복 동안은 스케줄링을, 3-5회 반복 동안은 스케줄링을 적용하는 경우이며, 로 표시할 수 있다. 사각형 마커를 사용한 적색 그래프는 1-3회 반복 동안은 스케줄링을, 4-5회 반복 동안은 스케줄링을 적용하는 경우이며, 로 표시할 수 있다. 모든 반복에서 파란색 그래프에서와 같이 동일한 스케줄링 시퀀스를 적용하는 경우보다, 앞선 두-세 번의 반복 동안은 L2H 스케줄링이 적용되고, 그 이후 반복 동안은 그 반대인 H2L 스케줄링이 적용되는 경우 더 우수한 성능을 가질 수 있다. 이는 앞선 두 세번의 반복에서는 메시지의 신뢰도가 높지 않으니 L2H 스케줄링으로 점차 오류를 정정하는 과정을 거치고, 그 이후 반복에서는 조금 더 신뢰도가 높아진 메시지들이 H2L 스케줄링으로 빠르게 전파되면서 더 우수한 복호 성능을 갖게 한 것이라 해석할 수 있다.
본 개시에 따르면, 계층 및 계층에 연결된 변수 노드의 연결성에 따른 계층 스케줄링을 적용하면 우수한 LBP 복호 성능을 확보할 수 있다. 특히 본 개시는 계층 간 연결성 차이가 큰 구조의 LDPC부호에 적용할 때에 극대화된 복호 성능 개선 효과를 얻을 수 있는데, 그 예로 5G NR LDPC 부호 등이 있을 수 있다. 계층의 처리 순서를 효과적으로 관리하여 보다 빠른 수렴을 통해 개선된 복호 성능을 얻을 수 있으며, 복잡도 오버헤드는 거의 없다고 해도 무방할 수 있다. QC-LDPC부호에 적용 시 병렬화 기반의 복호기 운용이 가능하며, Tbps 급 대용량 스루풋을 필요로 하는 통신 시나리오에 기여할 수 있다.
본 개시의 실시 예에 따른 방법의 동작은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 프로그램 또는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 정보가 저장되는 모든 종류의 기록장치를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산 방식으로 컴퓨터로 읽을 수 있는 프로그램 또는 코드가 저장되고 실행될 수 있다.
또한, 컴퓨터가 읽을 수 있는 기록매체는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다. 프로그램 명령은 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드 뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
본 개시의 일부 측면들은 장치의 문맥에서 설명되었으나, 그것은 상응하는 방법에 따른 설명 또한 나타낼 수 있고, 여기서 블록 또는 장치는 방법 단계 또는 방법 단계의 특징에 상응한다. 유사하게, 방법의 문맥에서 설명된 측면들은 또한 상응하는 블록 또는 아이템 또는 상응하는 장치의 특징으로 나타낼 수 있다. 방법 단계들의 몇몇 또는 전부는 예를 들어, 마이크로프로세서, 프로그램 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 이용하여) 수행될 수 있다. 몇몇의 실시 예에서, 가장 중요한 방법 단계들의 적어도 하나 이상은 이와 같은 장치에 의해 수행될 수 있다.
실시 예들에서, 프로그램 가능한 로직 장치(예를 들어, 필드 프로그래머블 게이트 어레이)가 여기서 설명된 방법들의 기능의 일부 또는 전부를 수행하기 위해 사용될 수 있다. 실시 예들에서, 필드 프로그래머블 게이트 어레이(field-programmable gate array)는 여기서 설명된 방법들 중 하나를 수행하기 위한 마이크로프로세서(microprocessor)와 함께 작동할 수 있다. 일반적으로, 방법들은 어떤 하드웨어 장치에 의해 수행되는 것이 바람직하다.
이상 본 개시의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 개시의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 개시를 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (16)

  1. 통신 노드의 방법으로서,
    저-밀도 패리티 검사(low-density parity check) 부호에 대한 패리티 검사 행렬(parity check matrix)의 최대 반복 복호 횟수를 설정하는 단계;
    상기 최대 반복 복호 횟수 내의 반복 복호 별로 상기 패리티 검사 행렬의 계층들의 연결성을 파악하는 단계; 및
    복호시에 상기 반복 복호 별로 상기 파악한 상기 패리티 검사 행렬의 계층들의 연결성에 기반하여 상기 패리티 검사 행렬의 계층들의 처리 순서를 스케줄링하는 단계를 포함하는,
    통신 노드의 방법.
  2. 청구항 1에 있어서,
    상기 최대 반복 복호 횟수 내의 반복 복호 별로 상기 패리티 검사 행렬의 계층들의 연결성을 파악하는 단계는,
    상기 최대 반복 복호 횟수 내의 상기 반복 복호 별로 상기 패리티 검사 행렬의 계층들의 각각에 대한 에지 개수를 산출하는 단계; 및
    상기 계층들의 각각에 대하여 산출한 에지 개수를 상기 계층들의 연결성으로 파악하는 단계를 포함하는,
    통신 노드의 방법.
  3. 청구항 1에 있어서,
    상기 복호시에 상기 반복 복호 별로 상기 파악한 계층들의 연결성에 기반하여 상기 패리티 검사 행렬의 계층들의 처리 순서를 스케줄링하는 단계는,
    상기 반복 복호 별로 상기 파악한 계층들의 연결성에서 최대 연결성을 가진 계층을 최선의 계층으로 하는 단계;
    상기 반복 복호 별로 상기 파악한 상기 최대 연결성을 가진 계층을 기준으로 연결성이 감소하는 순서대로 계층들을 순차적으로 나열하는 단계; 및
    상기 복호시에 상기 계층들의 나열 순서를 상기 계층들의 처리 순서로 스케줄링하는 단계를 포함하는,
    통신 노드의 방법.
  4. 청구항 3에 있어서,
    상기 반복 복호 별로 상기 파악한 상기 최대 연결성을 가진 계층을 기준으로 연결성이 감소하는 순서대로 계층들을 순차적으로 나열하는 단계에서 동일한 연결성을 가진 계층들이 존재하면 상기 동일한 연결성을 가진 계층들을 랜덤하게 나열하는,
    통신 노드의 방법.
  5. 청구항 3에 있어서,
    상기 반복 복호 별로 상기 파악한 상기 최대 연결성을 가진 계층을 기준으로 연결성이 감소하는 순서대로 계층들을 순차적으로 나열하는 단계에서 동일한 연결성을 가진 계층들이 존재하면 상기 동일한 연결성을 가진 계층들을 상기 패리티 검사 행렬의 계층 순서에 따라 나열하는,
    통신 노드의 방법.
  6. 청구항 3에 있어서,
    상기 반복 복호 별로 상기 파악한 상기 최대 연결성을 가진 계층을 기준으로 연결성이 감소하는 순서대로 계층들을 순차적으로 나열하는 단계는,
    동일한 연결성을 가진 계층들이 존재하면 상기 동일한 연결성을 가진 계층들에 연결된 변수 노드들의 연결성에 기반하여 처리 순서를 나열하는 단계를 포함하는,
    통신 노드의 방법.
  7. 청구항 5에 있어서,
    상기 동일한 연결성을 가진 계층들이 존재하면 상기 동일한 연결성을 가진 계층들을 연결된 변수 노드들의 연결성에 기반하여 처리 순서를 나열하는 단계는,
    상기 동일한 연결성을 가진 계층들이 존재하면 상기 동일한 연결성을 가진 계층들에 연결된 변수 노드들의 연결성을 파악하는 단계;
    상기 파악한 계층들에 연결된 변수 노드들의 연결성에서 최대 연결성을 가진 계층을 최선이 계층으로 하는 단계;
    상기 파악한 상기 최대 연결성을 가진 계층을 기준으로 연결성이 감소하는 순서대로 계층들을 순차적으로 나열하는 단계; 및
    상기 계층들의 나열 순서를 상기 동일한 연결성을 가진 계층들의 처리 순서로 나열하는 단계를 포함하는,
    통신 노드의 방법.
  8. 청구항 5에 있어서,
    상기 동일한 연결성을 가진 계층들이 존재하면 상기 동일한 연결성을 가진 계층들을 연결된 변수 노드들의 연결성에 기반하여 처리 순서를 나열하는 단계는,
    상기 동일한 연결성을 가진 계층들이 존재하면 상기 동일한 연결성을 가진 계층들에 연결된 변수 노드들의 연결성을 파악하는 단계;
    상기 파악한 계층들에 연결된 변수 노드들의 연결성에서 최소 연결성을 가진 계층을 최선의 계층으로 하는 단계;
    상기 파악한 상기 최소 연결성을 가진 계층을 기준으로 연결성이 증가하는 순서대로 계층들을 순차적으로 나열하는 단계; 및
    상기 계층들의 나열 순서를 상기 동일한 연결성을 가진 계층들의 처리 순서로 나열하는 단계를 포함하는,
    통신 노드의 방법.
  9. 청구항 1에 있어서,
    상기 복호시에 상기 반복 복호 별로 상기 파악한 계층들의 연결성에 기반하여 상기 패리티 검사 행렬의 계층들의 처리 순서를 스케줄링하는 단계는,
    상기 반복 복호 별로 상기 파악한 계층들의 연결성에서 최소 연결성을 가진 계층을 최선의 계층으로 하는 단계;
    상기 반복 복호 별로 상기 파악한 상기 최소 연결성을 가진 계층을 기준으로 연결성이 증가하는 순서대로 계층들을 순차적으로 나열하는 단계; 및
    상기 복호시에 상기 계층들의 나열 순서를 상기 계층들의 처리 순서로 스케줄링하는 단계를 포함하는,
    통신 노드의 방법.
  10. 청구항 1에 있어서,
    상기 복호시에 상기 반복 복호 별로 상기 파악한 계층들의 연결성에 기반하여 상기 패리티 검사 행렬의 계층들의 처리 순서를 스케줄링하는 단계는,
    상기 최대 반복 횟수 내의 일정 개수의 반복 복호들을 선정하는 단계;
    상기 복호시에 상기 선정된 일정 개수의 반복 복호들의 각각에 대하여 상기 파악한 계층들의 연결성이 증가하는 순서대로 계층들을 나열하여 상기 계층들의 처리 순서를 스케줄링하는 단계; 및
    상기 복호시에 선정되지 않은 나머지 반복 복호들의 각각에 대하여 상기 파악한 계층들의 연결성이 감소하는 순서대로 계층들을 나열하여 상기 계층들의 처리 순서를 스케줄링하는 단계를 포함하는,
    통신 노드의 방법.
  11. 통신 노드로서,
    프로세서(processor)를 포함하며,
    상기 프로세서는 상기 통신 노드가,
    저-밀도 패리티 검사(low-density parity check) 부호에 대한 패리티 검사 행렬(parity check matrix)의 최대 반복 복호 횟수를 설정하고;
    상기 최대 반복 복호 횟수 내의 반복 복호 별로 상기 패리티 검사 행렬의 계층들의 연결성을 파악하고; 그리고
    복호시에 상기 반복 복호 별로 상기 파악한 상기 패리티 검사 행렬의 계층들의 연결성에 기반하여 상기 패리티 검사 행렬의 계층들의 처리 순서를 스케줄링하도록 야기하는,
    통신 노드.
  12. 청구항 11에 있어서,
    상기 최대 반복 복호 횟수 내의 반복 복호 별로 상기 패리티 검사 행렬의 계층들의 연결성을 파악하는 단계에서 상기 프로세서는 상기 통신 노드가,
    상기 최대 반복 복호 횟수 내의 상기 반복 복호 별로 상기 패리티 검사 행렬의 계층들의 각각에 대한 에지 개수를 산출하고; 그리고
    상기 계층들의 각각에 대하여 산출한 에지 개수를 상기 계층들의 연결성으로 파악하도록 야기하는,
    통신 노드.
  13. 청구항 11에 있어서,
    상기 복호시에 상기 반복 복호 별로 상기 파악한 계층들의 연결성에 기반하여 상기 패리티 검사 행렬의 계층들의 처리 순서를 스케줄링하는 단계에서 상기 프로세서는 상기 통신 노드가,
    상기 반복 복호 별로 상기 파악한 계층들의 연결성에서 최대 연결성을 가진 계층을 최선의 계층으로 하고;
    상기 반복 복호 별로 상기 파악한 상기 최대 연결성을 가진 계층을 기준으로 연결성이 감소하는 순서대로 계층들을 순차적으로 나열하고; 그리고
    상기 복호시에 상기 계층들의 나열 순서를 상기 계층들의 처리 순서로 스케줄링하도록 야기하는,
    통신 노드.
  14. 청구항 13에 있어서,
    상기 반복 복호 별로 상기 파악한 상기 최대 연결성을 가진 계층을 기준으로 연결성이 감소하는 순서대로 계층들을 순차적으로 나열하는 단계에서 상기 프로세서는 상기 통신 노드가
    동일한 연결성을 가진 계층들이 존재하면 상기 동일한 연결성을 가진 계층들을 연결된 변수 노드들의 연결성에 기반하여 처리 순서를 나열하는,
    통신 노드.
  15. 청구항 11에 있어서,
    상기 복호시에 상기 반복 복호 별로 상기 파악한 계층들의 연결성에 기반하여 상기 패리티 검사 행렬의 계층들의 처리 순서를 스케줄링하는 단계에서 상기 프로세서는 상기 통신 노드가,
    상기 반복 복호 별로 상기 파악한 계층들의 연결성에서 최소 연결성을 가진 계층을 최선으로 하고;
    상기 반복 복호 별로 상기 파악한 상기 최소 연결성을 가진 계층을 기준으로 연결성이 증가하는 순서대로 계층들을 순차적으로 나열하고; 그리고
    상기 복호시에 상기 계층들의 나열 순서를 상기 계층들의 처리 순서로 스케줄링하도록 야기하는,
    통신 노드.
  16. 청구항 11에 있어서,
    상기 복호시에 상기 반복 복호 별로 상기 파악한 계층들의 연결성에 기반하여 상기 패리티 검사 행렬의 계층들의 처리 순서를 스케줄링하는 단계에서 상기 프로세서는 상기 통신 노드가,
    상기 최대 반복 횟수 내의 일정 개수의 반복 복호들을 선정하고;
    상기 복호시에 상기 선정된 일정 개수의 반복 복호들의 각각에 대하여 상기 파악한 계층들의 연결성이 증가하는 순서대로 계층들을 나열하여 상기 계층들의 처리 순서를 스케줄링하고; 그리고
    상기 복호시에 선정되지 않은 나머지 반복 복호들의 각각에 대하여 상기 파악한 계층들의 연결성이 감소하는 순서대로 계층들을 나열하여 상기 계층들의 처리 순서를 스케줄링하도록 야기하는,
    통신 노드.
KR1020230181296A 2022-12-26 2023-12-13 계층적 신뢰전파 복호를 위한 스케줄링 방법 및 장치 KR20240103984A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20220184927 2022-12-26
KR1020220184927 2022-12-26

Publications (1)

Publication Number Publication Date
KR20240103984A true KR20240103984A (ko) 2024-07-04

Family

ID=91913222

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230181296A KR20240103984A (ko) 2022-12-26 2023-12-13 계층적 신뢰전파 복호를 위한 스케줄링 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20240103984A (ko)

Similar Documents

Publication Publication Date Title
US11139835B2 (en) Method and apparatus for data processing with structured LDPC codes
US8560911B2 (en) System and method for structured LDPC code family
US9559722B1 (en) Network devices and methods of generating low-density parity-check codes and performing corresponding encoding of data
EP3479486B1 (en) Methods and systems for encoding and decoding for ldpc codes with rate 7/8
US10484010B2 (en) Apparatus and method for channel encoding/decoding in communication or broadcasting system
US8495450B2 (en) System and method for structured LDPC code family with fixed code length and no puncturing
KR102343780B1 (ko) 데이터 인코딩 방법 및 디바이스, 저장 매체, 및 프로세서
US10560218B2 (en) Apparatus and methods for decoding assistant bit-based polar code construction
US11671115B2 (en) High-rate long LDPC codes
US10735154B2 (en) Methods and apparatus for coding sub-channel selection
KR102694927B1 (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
KR102277656B1 (ko) 체크 매트릭스를 결정하기 위한 방법 및 장치, 컴퓨터 저장 매체
KR20200127783A (ko) 무선 통신 시스템에서 저밀도 패리티-검사 부호의 복호화를 위한 장치 및 방법
KR102525414B1 (ko) LDPC(low-density parity-check) 부호의 복호화 방법 및 장치
JP2020501429A (ja) 多重ldpcコードからldpcベースコードを選択する方法及びそのための装置
KR20240103984A (ko) 계층적 신뢰전파 복호를 위한 스케줄링 방법 및 장치
KR20220033981A (ko) LDPC(low-density parity-check) 부호의 복호화 방법 및 장치
US11683051B2 (en) Method and apparatus for data processing with structured LDPC codes
US12040819B2 (en) Method and apparatus for decoding of data in communication and broadcasting systems
JP7030932B2 (ja) Ldpc符号の符号化および復号化のための方法およびシステム
US12107604B2 (en) Network node and method performed therein for handling received signal
CN119094080A (zh) 编码或解码的方法和通信装置
KR20220122559A (ko) 통신 시스템에서 LDPC(low-density parity-check) 부호에 기초한 복호 방법 및 장치
CN119154890A (zh) 一种编码方法、译码方法、装置以及存储介质

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20231213

PG1501 Laying open of application