KR20220122559A - 통신 시스템에서 LDPC(low-density parity-check) 부호에 기초한 복호 방법 및 장치 - Google Patents

통신 시스템에서 LDPC(low-density parity-check) 부호에 기초한 복호 방법 및 장치 Download PDF

Info

Publication number
KR20220122559A
KR20220122559A KR1020220025864A KR20220025864A KR20220122559A KR 20220122559 A KR20220122559 A KR 20220122559A KR 1020220025864 A KR1020220025864 A KR 1020220025864A KR 20220025864 A KR20220025864 A KR 20220025864A KR 20220122559 A KR20220122559 A KR 20220122559A
Authority
KR
South Korea
Prior art keywords
node
ldpc
check
decoding
communication
Prior art date
Application number
KR1020220025864A
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 KR20220122559A publication Critical patent/KR20220122559A/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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • H04L1/0011Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding applied to payload information
    • 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

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

Abstract

통신 시스템에서 수신 노드에 의해 수행되는 LDPC(low-density parity-check) 부호에 기초한 복호화 방법은, LDPC 부호 방식에 기초한 베이스 그래프를 구성하는 전체 행들을, 상기 베이스 그래프의 천공 구역에 포함되는 엔트리들의 표현값들에 기초하여 그룹 별로 구분하는 단계, 상기 천공 구역에서, 상기 구분하는 단계를 통하여 구분된 제1 그룹에 포함되는 행들에 대응되는 검사 노드의 갱신 동작 및 변수 노드의 갱신 동작을 수행하는 단계, 상기 천공 구역에서, 상기 제1 그룹 및 상기 구분하는 단계를 통하여 구분된 제2 그룹에 포함되는 행들에 대응되는 검사 노드의 갱신 동작 및 변수 노드의 갱신 동작을 수행하는 단계, 및 상기 베이스 그래프의 전체 구역에서, 계층적 복호화 동작을 수행하는 단계를 포함할 수 있다.

Description

통신 시스템에서 LDPC(low-density parity-check) 부호에 기초한 복호 방법 및 장치{METHOD AND APPARATUS FOR DECODING BASED ON LOW-DENSITY PARITY-CHECK CODE IN COMMUNICATION SYSTEM}
본 발명은 통신 시스템에서의 복호 기술에 관한 것으로, 보다 구체적으로는 LDPC(low-density parity-check) 부호에 기초한 복호 동작의 성능을 향상시키기 위한 기술에 관한 것이다.
정보통신 기술의 발전과 더불어 다양한 무선 통신 기술이 개발되고 있다. 대표적인 무선 통신 기술로 3GPP(3rd generation partnership project) 표준에서 규정된 LTE(long term evolution), NR(new radio) 등이 있다. LTE는 4G(4th Generation) 무선 통신 기술들 중에서 하나의 무선 통신 기술일 수 있고, NR은 5G(5th Generation) 무선 통신 기술들 중에서 하나의 무선 통신 기술일 수 있다.
통신 시스템에서 통신 노드가 무선 채널을 통해 다른 통신 노드로 데이터를 전송하는 경우, 유/무선 채널의 상태에 따라 데이터 정보에 오류가 발생할 수 있다. 특히, 한정된 통신 자원 상에서 통신 신호가 과밀화되어 송수신될 경우, 오류 발생 확률이 증가할 수 있다. 따라서, 전송된 데이터를 수신한 통신 노드가 데이터 정보를 정확하게 검출하기 위해서는 우수한 오류 정정 능력을 갖는 오류 정정 부호가 필요할 수 있다.
일례로, 통신 시스템에서는 오류 정정 부호 중 하나로 LDPC(low-density parity-check) 부호가 사용될 수 있다. 송신 노드(예를 들어, 기지국 또는 단말)는 LDPC 부호를 사용하여 데이터(예를 들어, 정보 비트)에 대한 부호화(encoding) 동작을 수행할 수 있고, 수신 노드(예를 들어, 단말 또는 기지국)는 LDPC 부호 방식에 기초한 복호화(decoding) 동작을 수행함으로써 데이터(예를 들어, 정보 비트)를 복원할 수 있다. 수신 노드에서의 LDPC 부호 방식에 기초한 복호화 성능 및 데이터 복원 성능을 향상시키기 위한 기술이 요구될 수 있다.
이 배경기술 부분에 기재된 사항은 발명의 배경에 대한 이해를 증진하기 위하여 작성된 것으로서, 이 기술이 속하는 분야에서 통상의 지식을 가진 자에게 이미 알려진 종래 기술이 아닌 사항을 포함할 수 있다.
상기와 같은 문제를 해결하기 위한 본 발명의 목적은, 통신 시스템에서 LDPC 부호에 기초한 복호화 동작의 효율성을 향상시키기 위한 복호화 방법 및 장치를 제공하는 데 있다.
상기한 목적을 달성하기 위한 통신 시스템의 일 실시예에서 수신 노드에 의해 수행되는 LDPC(low-density parity-check) 부호에 기초한 복호화 방법은, LDPC 부호 방식에 기초한 베이스 그래프를 구성하는 전체 행들을, 상기 베이스 그래프의 천공 구역에 포함되는 엔트리들의 표현값들에 기초하여 그룹 별로 구분하는 단계, 상기 천공 구역에서, 상기 구분하는 단계를 통하여 구분된 제1 그룹에 포함되는 행들에 대응되는 검사 노드의 갱신 동작 및 변수 노드의 갱신 동작을 수행하는 단계, 상기 천공 구역에서, 상기 제1 그룹 및 상기 구분하는 단계를 통하여 구분된 제2 그룹에 포함되는 행들에 대응되는 검사 노드의 갱신 동작 및 변수 노드의 갱신 동작을 수행하는 단계, 및 상기 베이스 그래프의 전체 구역에서, 계층적 복호화 동작을 수행하는 단계를 포함할 수 있다.
통신 시스템에서 LDPC 부호에 기초한 복호 방법 및 장치에 따르면, 수신 노드는 LDPC 부호 방식에 기초한 복호화 동작 및 데이터 복원 동작을 효율적으로 수행할 수 있다. 수신 노드는 복호화 절차를 위한 위한 검사 노드 및 변수 노드에 대한 갱신 동작을 수행함에 있어서, BG 1, BG 2 등의 베이스 그래프에서 일부의 열들로 구성되는 '천공 구역'(punctured region)에서의 노드 갱신 동작을 우선적으로 수행하고, 이후에 베이스 그래프의 전체 영역에서 계층적 반복 복호 동작을 수행할 수 있다. 이를 통해, LDPC 부호에 기초한 복호화 동작의 신뢰도가 향상될 수 있다.
도 1은 통신 시스템의 제1 실시예를 도시한 개념도이다.
도 2는 통신 시스템을 구성하는 통신 노드의 제1 실시예를 도시한 블록도이다.
도 3은 LDPC 부호의 BG(base graph) 1에 대한 베이스 패리티 검사 구조의 제1 실시예를 도시한 개념도이다.
도 4는 LDPC 부호의 BG 2에 대한 베이스 패리티 검사 구조의 제1 실시예를 도시한 개념도이다.
도 5는 통신 시스템에서 데이터의 송수신 동작을 수행하는 통신 노드의 제1 실시예를 도시한 블록도이다.
도 6은 LDPC 부호의 복호화 동작의 제1 실시예를 도시한 흐름도이다.
도 7은 LDPC 부호의 복호화 동작의 제2 실시예를 도시한 흐름도이다.
도 8은 LDPC 부호의 복호화 동작의 제3 실시예를 도시한 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 출원의 실시예들에서, "A 및 B 중에서 적어도 하나"는 "A 또는 B 중에서 적어도 하나" 또는 "A 및 B 중 하나 이상의 조합들 중에서 적어도 하나"를 의미할 수 있다. 또한, 본 출원의 실시예들에서, "A 및 B 중에서 하나 이상"은 "A 또는 B 중에서 하나 이상" 또는 "A 및 B 중 하나 이상의 조합들 중에서 하나 이상"을 의미할 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명에 따른 실시예들이 적용되는 통신 시스템(communication system)이 설명될 것이다. 본 발명에 따른 실시예들이 적용되는 통신 시스템은 아래 설명된 내용에 한정되지 않으며, 본 발명에 따른 실시예들은 다양한 통신 시스템에 적용될 수 있다. 여기서, 통신 시스템은 통신 네트워크(network)와 동일한 의미로 사용될 수 있다.
명세서 전체에서 망(network)은, 예를 들어, WiFi(wireless fidelity)와 같은 무선인터넷, WiBro(wireless broadband internet) 또는 WiMax(world interoperability for microwave access)와 같은 휴대인터넷, GSM(global system for mobile communication) 또는 CDMA(code division multiple access)와 같은 2G 이동통신망, WCDMA(wideband code division multiple access) 또는 CDMA2000과 같은 3G 이동통신망, HSDPA(high speed downlink packet access) 또는 HSUPA(high speed uplink packet access)와 같은 3.5G 이동통신망, LTE(long term evolution)망 또는 LTE-Advanced망과 같은 4G 이동통신망, 및 5G 이동통신망 등을 포함할 수 있다.
명세서 전체에서 단말(terminal)은 이동국(mobile station), 이동 단말(mobile terminal), 가입자국(subscriber station), 휴대 가입자국(portable subscriber station), 사용자 장치(user equipment), 접근 단말(access terminal) 등을 지칭할 수도 있고, 단말, 이동국, 이동 단말, 가입자국, 휴대 가입자 국, 사용자 장치, 접근 단말 등의 전부 또는 일부의 기능을 포함할 수도 있다.
여기서, 단말로 통신이 가능한 데스크탑 컴퓨터(desktop computer), 랩탑 컴퓨터(laptop computer), 태블릿(tablet) PC, 무선전화기(wireless phone), 모바일폰(mobile phone), 스마트 폰(smart phone), 스마트 워치(smart watch), 스마트 글래스(smart glass), e-book 리더기, PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 디지털 카메라(digital camera), DMB(digital multimedia broadcasting) 재생기, 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player) 등을 사용할 수 있다.
명세서 전체에서 기지국(base station)은 접근점(access point), 무선 접근국(radio access station), 노드B(node B), 고도화 노드B(evolved nodeB), 송수신 기지국(base transceiver station), MMR(mobile multihop relay)-BS 등을 지칭할 수도 있고, 기지국, 접근점, 무선 접근국, 노드B, eNodeB, 송수신 기지국, MMR-BS 등의 전부 또는 일부의 기능을 포함할 수도 있다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 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)을 포함할 수 있다. 복수의 통신 노드들은 3GPP(3rd generation partnership project) 표준에서 규정된 4G 통신(예를 들어, LTE(long term evolution), LTE-A(advanced)), 5G 통신(예를 들어, NR(new radio)) 등을 지원할 수 있다. 4G 통신은 6GHz 이하의 주파수 대역에서 수행될 수 있고, 5G 통신은 6GHz 이하의 주파수 대역뿐만 아니라 6GHz 이상의 주파수 대역에서 수행될 수 있다.
예를 들어, 4G 통신 및 5G 통신을 위해 복수의 통신 노드들은 CDMA(code division multiple access) 기반의 통신 프로토콜, WCDMA(wideband CDMA) 기반의 통신 프로토콜, TDMA(time division multiple access) 기반의 통신 프로토콜, FDMA(frequency division multiple access) 기반의 통신 프로토콜, OFDM(orthogonal frequency division multiplexing) 기반의 통신 프로토콜, Filtered OFDM 기반의 통신 프로토콜, CP(cyclic prefix)-OFDM 기반의 통신 프로토콜, DFT-s-OFDM(discrete Fourier transform-spread-OFDM) 기반의 통신 프로토콜, OFDMA(orthogonal frequency division multiple access) 기반의 통신 프로토콜, SC(single carrier)-FDMA 기반의 통신 프로토콜, NOMA(Non-orthogonal Multiple Access), GFDM(generalized frequency division multiplexing) 기반의 통신 프로토콜, FBMC(filter bank multi-carrier) 기반의 통신 프로토콜, UFMC(universal filtered multi-carrier) 기반의 통신 프로토콜, SDMA(Space Division Multiple Access) 기반의 통신 프로토콜 등을 지원할 수 있다.
또한, 통신 시스템(100)은 코어 네트워크(core network)를 더 포함할 수 있다. 통신 시스템(100)이 4G 통신을 지원하는 경우, 코어 네트워크는 S-GW(serving-gateway), P-GW(PDN(packet data network)-gateway), MME(mobility management entity) 등을 포함할 수 있다. 통신 시스템(100)이 5G 통신을 지원하는 경우, 코어 네트워크는 UPF(user plane function), SMF(session management function), AMF(access and mobility management function) 등을 포함할 수 있다.
한편, 통신 시스템(100)을 구성하는 복수의 통신 노드들(110-1, 110-2, 110-3, 120-1, 120-2, 130-1, 130-2, 130-3, 130-4, 130-5, 130-6) 각각은 다음과 같은 구조를 가질 수 있다.
도 2는 통신 시스템을 구성하는 통신 노드의 일 실시예를 도시한 블록도이다.
도 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), 복수의 단말들(130-1, 130-2, 130-3, 130-4, 130-5, 130-6)을 포함할 수 있다. 기지국(110-1, 110-2, 110-3, 120-1, 120-2) 및 단말(130-1, 130-2, 130-3, 130-4, 130-5, 130-6)을 포함하는 통신 시스템(100)은 "액세스 네트워크"로 지칭될 수 있다. 제1 기지국(110-1), 제2 기지국(110-2) 및 제3 기지국(110-3) 각각은 매크로 셀(macro cell)을 형성할 수 있다. 제4 기지국(120-1) 및 제5 기지국(120-2) 각각은 스몰 셀(small cell)을 형성할 수 있다. 제1 기지국(110-1)의 셀 커버리지(cell coverage) 내에 제4 기지국(120-1), 제3 단말(130-3) 및 제4 단말(130-4)이 속할 수 있다. 제2 기지국(110-2)의 셀 커버리지 내에 제2 단말(130-2), 제4 단말(130-4) 및 제5 단말(130-5)이 속할 수 있다. 제3 기지국(110-3)의 셀 커버리지 내에 제5 기지국(120-2), 제4 단말(130-4), 제5 단말(130-5) 및 제6 단말(130-6)이 속할 수 있다. 제4 기지국(120-1)의 셀 커버리지 내에 제1 단말(130-1)이 속할 수 있다. 제5 기지국(120-2)의 셀 커버리지 내에 제6 단말(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), RSU(road side unit), RRH(radio remote head), TP(transmission point), TRP(transmission and reception ooint), eNB, gNB 등으로 지칭될 수 있다.
복수의 단말들(130-1, 130-2, 130-3, 130-4, 130-5, 130-6) 각각은 UE(user equipment), 터미널(terminal), 액세스 터미널(access terminal), 모바일 터미널(mobile terminal), 스테이션(station), 가입자 스테이션(subscriber station), 모바일 스테이션(mobile station), 휴대 가입자 스테이션(portable subscriber station), 노드(node), 다바이스(device), IoT(Internet of Thing) 장치, 탑재 장치(mounted module/device/terminal 또는 on board device/terminal 등) 등으로 지칭될 수 있다.
한편, 복수의 기지국들(110-1, 110-2, 110-3, 120-1, 120-2) 각각은 서로 다른 주파수 대역에서 동작할 수 있고, 또는 동일한 주파수 대역에서 동작할 수 있다. 복수의 기지국들(110-1, 110-2, 110-3, 120-1, 120-2) 각각은 아이디얼 백홀 링크(ideal backhaul link) 또는 논(non)-아이디얼 백홀 링크를 통해 서로 연결될 수 있고, 아이디얼 백홀 링크 또는 논-아이디얼 백홀 링크를 통해 서로 정보를 교환할 수 있다. 복수의 기지국들(110-1, 110-2, 110-3, 120-1, 120-2) 각각은 아이디얼 백홀 링크 또는 논-아이디얼 백홀 링크를 통해 코어 네트워크와 연결될 수 있다. 복수의 기지국들(110-1, 110-2, 110-3, 120-1, 120-2) 각각은 코어 네트워크로부터 수신한 신호를 해당 단말(130-1, 130-2, 130-3, 130-4, 130-5, 130-6)에 전송할 수 있고, 해당 단말(130-1, 130-2, 130-3, 130-4, 130-5, 130-6)로부터 수신한 신호를 코어 네트워크에 전송할 수 있다.
또한, 복수의 기지국들(110-1, 110-2, 110-3, 120-1, 120-2) 각각은 MIMO 전송(예를 들어, SU(single user)-MIMO, MU(multi user)-MIMO, 대규모(massive) MIMO 등), CoMP(coordinated multipoint) 전송, CA(carrier aggregation) 전송, 비면허 대역(unlicensed band)에서 전송, 단말 간 직접 통신(device to device communication, D2D)(또는, ProSe(proximity services)) 등을 지원할 수 있다. 여기서, 복수의 단말들(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)에 의해 지원되는 동작을 수행할 수 있다. 예를 들어, 제2 기지국(110-2)은 SU-MIMO 방식을 기반으로 신호를 제4 단말(130-4)에 전송할 수 있고, 제4 단말(130-4)은 SU-MIMO 방식에 의해 제2 기지국(110-2)으로부터 신호를 수신할 수 있다. 또는, 제2 기지국(110-2)은 MU-MIMO 방식을 기반으로 신호를 제4 단말(130-4) 및 제5 단말(130-5)에 전송할 수 있고, 제4 단말(130-4) 및 제5 단말(130-5) 각각은 MU-MIMO 방식에 의해 제2 기지국(110-2)으로부터 신호를 수신할 수 있다.
제1 기지국(110-1), 제2 기지국(110-2) 및 제3 기지국(110-3) 각각은 CoMP 방식을 기반으로 신호를 제4 단말(130-4)에 전송할 수 있고, 제4 단말(130-4)은 CoMP 방식에 의해 제1 기지국(110-1), 제2 기지국(110-2) 및 제3 기지국(110-3)으로부터 신호를 수신할 수 있다. 복수의 기지국들(110-1, 110-2, 110-3, 120-1, 120-2) 각각은 자신의 셀 커버리지 내에 속한 단말(130-1, 130-2, 130-3, 130-4, 130-5, 130-6)과 CA 방식을 기반으로 신호를 송수신할 수 있다. 제1 기지국(110-1), 제2 기지국(110-2) 및 제3 기지국(110-3) 각각은 제4 단말(130-4)과 제5 단말(130-5) 간의 D2D를 제어할 수 있고, 제4 단말(130-4) 및 제5 단말(130-5) 각각은 제2 기지국(110-2) 및 제3 기지국(110-3) 각각의 제어에 의해 D2D를 수행할 수 있다.
다음으로, 통신 시스템에서 LDPC(low-density parity-code) 부호에 기초한 복호화 방법들이 설명될 것이다. 통신 노드들 중에서 제1 통신 노드에서 수행되는 방법(예를 들어, 신호의 전송 또는 수신)이 설명되는 경우에도 이에 대응하는 제2 통신 노드는 제1 통신 노드에서 수행되는 방법과 상응하는 방법(예를 들어, 신호의 수신 또는 전송)을 수행할 수 있다. 즉, 기지국(예를 들어, 송신 노드)의 동작이 설명된 경우에 이에 대응하는 단말(예를 들어, 수신 노드)은 기지국의 동작과 상응하는 동작을 수행할 수 있다. 반대로, 단말(예를 들어, 수신 노드)의 동작이 설명된 경우에 이에 대응하는 기지국(예를 들어, 송신 노드)은 단말의 동작과 상응하는 동작을 수행할 수 있다.
QC(quasi-cyclic) LDPC 부호는 프로토그래프(protograph) 부호에 속할 수 있고, 순열 매트릭스(permutation matrix)로 구성될 수 있다. 프로토그래프는 베이스 그래프(base graph)로 지칭될 수 있다. QC LDPC 부호의 PCM(parity check matrix)은 베이스 그래프에 의해 구성될 수 있다. QC LDPC 부호는 코어 검사 부분(core check part)과 확대 검사 부분(extension check part)으로 구성될 수 있다. 계층적(layered) 반복 복호 절차에서 계층 복호 순서의 설정(또는, 결정)을 통해 BER(bit error rate) 및/또는 BLER(block error rate)의 성능은 향상될 수 있다. 베이스 그래프의 코어 검사 부분을 포함하는 PCM H 매트릭스의 행에 대한 부분 신드롬 연산 및 부호(sign) 변화를 판단하는 연산이 적용됨으로써, 복호 동작은 조기 종료될 수 있다. 따라서 LDPC 복호기에서 연산 복잡도, 복호 지연 시간, 및/또는 전력 소모는 감소할 수 있다.
LDPC 부호는 선형 블록 부호의 하나의 예일 수 있다. LDPC 부호는 PCM H 매트릭스로 정의될 수 있다. PCM H 매트릭스는 "PCM" 또는 "H 매트릭스"를 의미할 수 있다. LDPC 복호기는 채널을 통해 수신된 신호를 LLR(log-likelihood ratio)로 변환할 수 있다. LLR은 입력으로 사용될 수 있다. LLR은 확률 메시지를 의미할 수 있다. 복호 동작은 Tanner 그래프에서 정의된 검사 노드(check node)와 "변수 노드(variable node) 또는 비트 노드(bit node)" 간의 확률 메시지 교환에 의해 수행될 수 있다.
Tanner 그래프는 코드워드(codeword) 내의 비트열에 해당하는 변수 노드(들)의 집합과 해당 비트열이 만족해야 하는 패리티 검사에 해당하는 검사 노드(들)의 집합으로 구성되는 이분 그래프(bipartite graph)일 수 있다. 따라서 변수 노드는 PCM의 열에 해당할 수 있고, 검사 노드는 PCM의 행에 해당할 수 있다. PCM에서 non-zero 값을 가지는 엔트리(entry)에 상응하는 변수 노드와 검사 노드는 연결될 수 있다.
LDPC 부호의 성능은 PCM의 구성에 따라 달라질 수 있다. LDPC 부호의 성능 개선 및 병렬 연산을 통한 고속 데이터 처리를 위해, QC LDPC 부호가 사용될 수 있다. QC LDPC 부호의 PCM은 "zero-valued Z
Figure pat00001
Z all-zero matrix"와 "non-zero-valued Z
Figure pat00002
Z permutation matrix"에 의해 구성될 수 있다. "Z
Figure pat00003
Z permutation matrix"는 "Z
Figure pat00004
Z identity matrix"의 순환 시프트(cyclic shift)에 의해 획득될 수 있다.
LDPC 부호의 PCM는 "H 매트릭스의 행에 대한 검사 노드"와 "H 매트릭스의 열에 대한 비트 노드 또는 변수 노드"로 구성될 수 있다. QC LDPC 부호의 성능 개선을 위해, H 매트릭스의 행에 대한 검사 노드는 코어(core) 검사들과 확대(extension) 검사들로 구성될 수 있고, H 매트릭스의 열에 대한 비트 노드 또는 변수 노드는 정보 열들, 코어 패리티 열들, 및 확대 패리티 열들로 구성될 수 있다.
LDPC 부호의 PCM은 구조화된 그래프(structured graph)일 수 있고, 베이스 그래프를 리프팅(lifting)함으로써 큰 그래프(예를 들어, 리프트(lifted) 그래프)가 구성될 수 있다. 베이스 그래프의 Z 복사본이 획득될 수 있고, Z 복사본들 사이의 베이스 경계(edge)의 Z 복사본을 순환(permuting)함으로써 리프트 그래프는 구성될 수 있다. 결과적으로, 부호가 순환 그룹의 동작에 따라 변하지 않기 때문에, QC LDPC 부호가 될 수 있다.
LDPC 부호는 부호와 LDGM(low-density generator matrix)의 연결로 구성될 수 있다. LDPC 부호의 구조는 상대적으로 높은 코드율을 가지는 LDPC 부분으로 시작할 수 있다. LDPC 부분은 베이스 그래프의 코어 부분일 수 있다. 코드 부분의 패리티 검사 노드의 개수는 mcore일 수 있다. 예를 들어, mcore는 4일 수 있다. 변수 노드는 kb개의 정보 변수 노드와 mcore개의 패리티 변수 노드로 구성될 수 있다. 베이스 그래프 1(BG 1)이 사용되는 경우에 kb는 22일 수 있고, 베이스 그래프 2(BG 2)가 사용되는 경우에 kb는 20일 수 있다. mcore는 4일 수 있다. LDGM 부분에서 모든 추가 변수 노드는 다른 변수 노드의 이웃 코어로부터 획득된 고유한 검사 노드들 각각에 연결된 "확대 정도(extension degree)가 1인 변수 노드"일 수 있다.
그래프에서 제공되는 리프팅 크기들(lifting sizes)의 집합은 "Z = A
Figure pat00005
2j"의 모든 값일 수 있다. Z의 범위는 2 ~ 384일 수 있다. "A = {2, 3, 5, 7, 9, 11, 13, 15}"으로 정의될 수 있고, "j = 0, 1, 2, ..., 7"로 정의될 수 있다. 따라서 Z의 전체 리프팅 집합은 51개의 요소(element)들을 포함할 수 있다. 51개의 요소들은 {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 22, 24, 26, 28, 30, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288, 320, 352, 384}일 수 있다.
도 3은 LDPC 부호의 BG(base graph) 1에 대한 베이스 패리티 검사 구조의 제1 실시예를 도시한 개념도이고, 도 4는 LDPC 부호의 BG 2에 대한 베이스 패리티 검사 구조의 제1 실시예를 도시한 개념도이다.
도 3 및 도 4를 참조하면, 베이스 패리티 검사 구조는 검사 노드와 변수 노드로 구성될 수 있다. 매트릭스 내에서 1은 베이스 경계(edge)가 존재하는 것을 지시할 수 있다. 베이스 그래프 구조에서 열은 정보 열들(core columns), 코어 패리티 열들(core parity columns), 및 확대 패리티 열들(extension parity columns)로 구성될 수 있다. 확대 패리티 열들은 "extension degree one parity-bit columns"일 수 있다. 확대 패리티 열들은 '레이트 매칭 조정 영역'(rate matching adjustment region)과 같이 칭할 수 있다.
리프트 크기 Z를 가지는 리프트 그래프에서, 각 열은 Z개의 변수 노드들에 상응할 수 있다. 1을 가지는 엔트리는 integer modulo Z로 대치될 수 있다. 이 동작에 의하면, QC LDPC 부호의 리프트(lifted) PCM 표현이 생성될 수 있다.
베이스 그래프 구조의 행은 코어 검사 행과 확대 검사 행으로 구성될 수 있다. 코어 패리티 열 내의 비트들은 코어 패리티 검사를 만족할 수 있다. 확대 패리티 열의 각 degree one parity bit는 확대 검사를 만족할 수 있다.
2가지의 rate-compatible base graphs(예를 들어, BG 1 및 BG 2)는 LDPC 부호의 베이스 그래프로 사용될 수 있다. BG 1 및 BG 2 중에서 하나가 사용될 수 있다. LDPC 부호에 사용되는 BG는 TBS(transport block size)와 부호율(code rate)에 기초하여 결정될 수 있다. TBS는 A로 지칭될 수 있고, 부호율은 R로 지칭될 수 있다. "A ≤ 292인 경우", "A ≤ 3824이고, R ≤ 0.67인 경우", 또는 "R ≤ 0.25인 경우", BG 2가 사용될 수 있다. 그 외의 경우에 BG 1이 사용될 수 있다.
BG 1과 BG 2는 유사한 구조를 가질 수 있다. BG 1은 68개의 열들과 46개의 행들로 구성될 수 있다. 68개의 열들은 22개의 정보 비트 열들, 4개의 코어 패리티 열들, 및 42개의 확대 패리티 열들을 포함할 수 있다. 46개의 행들은 4개의 코어 검사들 및 42개의 확대 검사들을 포함할 수 있다. BG 2는 52개의 열들과 42개의 행들로 구성될 수 있다. 52개의 열들은 10개의 정보 비트 열들, 4개의 코어 패리티 열들, 및 38개의 확대 패리티 열들을 포함할 수 있다. 42개의 행들은 4개의 코어 검사들 및 38개의 확대 검사들을 포함할 수 있다. BG 1이 사용되는 경우, QC LDPC 부호의 리프트 PCM의 크기는 [46
Figure pat00006
Z
Figure pat00007
68
Figure pat00008
Z]일 수 있다. BG 2가 사용되는 경우, QC LDPC 부호의 리프트 PCM의 크기는 [42
Figure pat00009
Z
Figure pat00010
52
Figure pat00011
Z]일 수 있다.
LDPC 부호 방식의 일 실시예에서는, 검사 행렬에 해당하는 H 매트릭스를 구성하는 엔트리들 중 일부는 1로 표현될 수 있고, 나머지 일부는 0으로 표현될 수 있다. 이를 다르게 표현하면, H 매트릭스를 구성하는 엔트리들 중 일부에는 노드가 존재할 수 있고, 나머지 일부에는 노드가 존재하지 않을 수 있다. 이를테면, 1로 표현되는 엔트리에는 QC LDPC 부호에 따른 리프트 크기 Z만큼의 정방 행렬 크기를 가지는 노드가 존재하는 것으로 볼 수 있다. 0으로 표현되는 엔트리에는 노드가 존재하지 않는 것으로 볼 수 있다. 다르게 표현하면, 0으로 표현되는 엔트리는 ‘공허한’ 것으로 볼 수 있다.
BG 1 및 BG 2에서, 정보 열들 중 첫 번째 2개의 열들을 '천공 구역'이라고 일컬을 수 있다. BG 1 및 BG 2를 구성하는 각각의 행들은, 천공 구역에서 2개의 엔트리들을 가질 수 있다. 각각의 엔트리는 0 또는 1로 표현될 수 있다. BG 1 및 BG 2를 구성하는 각각의 행들은, 천공 구역에서 0으로 표현되는 2개의 엔트리들을 가지거나, 0으로 표현되는 1개의 엔트리와 1로 표현되는 1개의 엔트리를 가지거나, 1로 표현되는 2개의 엔트리들을 가질 수 있다. 이를 다르게 표현하면, BG 1 및 BG 2를 구성하는 각각의 행들의 천공 구역에서는, 2개의 엔트리들에 모두 노드가 존재하지 않거나, 1개의 엔트리에는 노드가 존재하고 다른 1개의 엔트리에는 노드가 존재하지 않거나, 또는 2개의 엔트리들에 모두 노드가 존재할 수 있다. 베이스 그래프를 구성하는 각각의 행들 중 적어도 일부는, 천공 구역에서 천공될 수 있다.
LDPC 부호 방식의 일 실시예에서는, H 매트릭스에서 노드 밀도(node density)가 상대적으로 높은 (또는 제1 기준값보다 높은) 하나 이상의 열들로 구성되는 천공 구역이 설계될 수 있다. 송신 노드는 데이터를 LDPC 부호 방식에 따라 부호화함에 있어서, 천공 구역을 구성하는 엔트리들 중 일부를 천공시킬 수 있다. 다르게 표현하면, 송신 노드는 데이터를 LDPC 부호 방식에 따라 부호화함에 있어서, 천공 구역을 구성하는 엔트리들 중 일부에 대응되는 코드워드 비트를 천공시킬 수 있다. 천공된 비트와 관련된 채널에 대응되는 데이터는 수신 노드에서 높은 신뢰도로 정확히 복원될 수 있을 것으로 기대될 수 있다. 천공된 비트는 순환 버퍼(circular buffer)에 저장되지 않을 수 있다. 천공된 비트와 관련된 채널에 대응되는 데이터는 수신 노드에서 높은 신뢰도로 정확히 복원될 수 있을 것으로 기대될 수 있다. 천공된 비트와 관련된 채널에 대응되는 LLR 값은 수신 노드에 제공되지 않을 수 있다. 다르게 표현하면, 천공된 비트와 관련된 채널에 대응되는 LLR 값은 0으로 볼 수 있다.
도 5는 통신 시스템에서 데이터의 송수신 동작을 수행하는 통신 노드의 제1 실시예를 도시한 블록도이다.
도 5를 참조하면, 송신 노드(510)는 LDPC 부호기(511), 변조기(512) 등을 포함할 수 있다. LDPC 부호기(511) 및 변조기(512)의 동작들은 송신 노드(510)에 포함된 프로세서(예를 들어, 도 2에 도시된 프로세서(210))에 의해 수행될 수 있다. 송신 노드(510)는 기지국 또는 단말일 수 있다. 수신 노드(520)는 LDPC 복호기(521), 복조기(522) 등을 포함할 수 있다. LDPC 복호기(521) 및 복조기(522)의 동작들은 수신 노드(520)에 포함된 프로세서(예를 들어, 도 2에 도시된 프로세서(210))에 의해 수행될 수 있다.
수신 노드(520)는 단말 또는 기지국일 수 있다. 데이터의 전송 동작에서, 데이터(예를 들어, 정보 비트)는 LDPC 부호기(511)에 입력될 수 있다. LDPC 부호기(511)는 데이터에 대한 부호화 동작을 수행할 수 있고, 부호화된 데이터(예를 들어, 코드워드)를 출력할 수 있다. 부호화된 데이터는 변조기(512)에 입력될 수 있다. 변조기(512)는 부호화된 데이터에 대한 변조 동작을 수행함으로써 변조 심볼(들)을 생성할 수 있다. 변조 심볼(들)은 무선 자원(예를 들어, 채널)을 통해 전송될 수 있다.
수신 노드(520)는 송신 노드(510)로부터 신호(예를 들어, 변조 심볼(들))를 수신할 수 있다. 복조기(522)는 신호에 대한 복조 동작을 수행함으로써 복조 심볼(들)을 생성할 수 있다. 복조 심볼(들)은 LDPC 복호기(521)에 입력될 수 있다. LDPC 복호기(521)에 입력되는 복조 심볼(들)은 LLR 값들(예를 들어, 소프트 비트들(soft bits))일 수 있다. LDPC 복호기(521)는 복조 심볼(들)에 대한 복호화 동작을 수행함으로써 데이터를 복구할 수 있다. 복호화 동작은 Tanner 그래프에서 검사 노드와 변수 노드 간에 LLR 확률 메시지를 교환함으로써 수행될 수 있다.
한편, LDPC 복호기는 미리 설정된 반복 횟수만큼 반복 복호 동작을 수행할 수 있다. 예를 들어, LDPC 복호기는 LLR 값들에 기초하여 검사 노드의 갱신(update) 동작, 변수 노드의 갱신 동작, 부호화 비트의 경판정 동작, 및 종료 판정 동작을 수행할 수 있다. LDPC 부호에 기초한 복호를 위해 메시지 전달(message passing) 알고리즘 및 BPA(brief-propagation algorithm)가 사용될 수 있다. 초기화 과정 이후의 반복 루프 내에서 검사 노드의 갱신 동작, 변수 노드의 갱신 동작, 복호 데이터의 경판정 동작, 및 종료 판정 동작이 수행될 수 있다.
도 6은 LDPC 부호에 기초한 복호화 동작의 제1 실시예를 도시한 흐름도이다.
도 6을 참조하면, LDPC 부호에 기초한 복호화 동작은 도 5에 도시된 LDPC 복호기(521)에서 수행될 수 있다. LDPC 복호기(521)의 동작(들)은 도 2에 도시된 프로세서(210)에 의해 수행될 수 있다. LDPC 부호에 기초한 반복 복호 동작에서 사용되는 변수들은 아래 표 1과 같이 정의될 수 있다. LDPC 복호기의 동작은 복잡도 감소를 위해 LLR 영역에서 기술될 수 있다. 여기서,
Figure pat00012
가 정의될 수 있다.
Figure pat00013
BPA에 기초한 복호 동작은 초기화 동작(S601) 및 반복 복호 동작(예를 들어, S602 내지 S605)을 포함할 수 있다. BPA는 SPA(sum-product algorithm)에 의해 구현될 수 있다. 초기화 동작(S601)은 변수 노드의 메시지의 초기화 동작을 의미할 수 있다. 반복 복호 동작은 검사 노드의 갱신 동작(S602), 변수 노드의 갱신 동작(S603), LLR 값의 계산 동작(S604), LLR 값에 대한 경판정 동작(S605), 및 복호 동작의 종료 판정 동작(S606)을 포함할 수 있다. S606은 조기 종료 판정 동작일 수 있다. S602 내지 S606은 반복 수행될 수 있다.
수신 노드(예를 들어, 수신 노드에 포함된 LDPC 복호기)는 초기화 동작을 수행할 수 있다(S601). 수신 노드는 "통신 장치"일 수 있다. 초기화 동작(S601)은 아래 수학식 1에 기초하여 수행될 수 있다.
Figure pat00014
초기화 동작(S601)이 완료된 경우, 수신 노드는 검사 노드의 갱신 동작을 수행할 수 있다(S602). 검사 노드의 갱신 동작(S602)은 아래 수학식 2에 기초하여 수행될 수 있다.
Figure pat00015
여기서,
Figure pat00016
가 정의될 수 있다. x가 0 미만인 경우, sign(x)는 -1일 수 있다. x가 0 이상인 경우, sign(x)는 1일 수 있다.
검사 노드의 갱신 동작(S602)이 완료된 경우, 수신 노드는 변수 노드의 갱신 동작을 수행할 수 있다(S603). 변수 노드의 갱신 동작(S603)은 아래 수학식 3에 기초하여 수행될 수 있다.
Figure pat00017
변수 노드의 갱신 동작(S603)이 완료된 경우, 수신 노드는 변수 노드(
Figure pat00018
)에 대한 LLR 값을 계산할 수 있다(S604). 변수 노드(
Figure pat00019
)에 대한 LLR 값은 아래 수학식 4에 기초하여 계산될 수 있다. 여기서,
Figure pat00020
가 정의될 수 있다.
Figure pat00021
LLR 값의 계산 동작(S604)이 완료된 경우, 수신 노드는 LLR 값(예를 들어, LLR 데이터)에 대한 경판정 동작을 수행함으로써 출력 값(
Figure pat00022
)을 결정할 수 있다(S605). 경판정 동작(S605)은 아래 수학식 5에 기초하여 수행될 수 있다. 출력 값(
Figure pat00023
)은 LDPC 복호기의 출력 값일 수 있다.
Figure pat00024
수신 노드는 S605의 출력 값(
Figure pat00025
)에 기초하여 복호 동작의 종료 여부를 판단할 수 있다(S606). 복호 동작의 종료 여부를 판단하기 위해, "신드롬(syndrome) 연산을 통한 조기 종료의 판단 동작", "복호 데이터의 부호(sign)의 변화를 통한 조기 종료의 판단 동작", 또는" 최대 반복 횟수의 도달 여부에 기초한 조기 종료의 판단 동작"이 사용될 수 있다. 신드롬 연산을 통한 조기 종료의 판단 동작이 사용되는 경우, 복호 데이터의 경판정 값과 패리티 검사 매트릭스 간의 신드롬 연산 결과(예를 들어, 신드롬 검사 결과)가
Figure pat00026
인 경우", 반복 복호 동작은 종료(예를 들어, 조기 종료)될 수 있다. 복호 데이터의 부호의 변화를 통한 조기 종료의 판단 동작이 사용되는 경우, 수신 노드는 이전 반복 복호 단계에서 복호 데이터의 부호(sign)와 현재 반복 복호 단계에서 복호 데이터의 부호(sign) 간의 변화가 확인할 수 있다. 모든 복호 데이터에 대한 부호(sign) 변화가 없는 경우, 수신 노드는 반복 복호 동작은 종료(예를 들어, 조기 종료)할 수 있다. 반복 복호 동작의 수행 횟수가 최대 반복 횟수에 도달하는 경우, 반복 복호 동작은 종료(예를 들어, 조기 종료)될 수 있다. 반복 복호 동작이 종료되지 않은 것으로 판단되면, 반복 복호 동작(예를 들어, S602 내지 S606)이 다시 수행될 수 있다.
한편, SPA가 사용되는 경우, 검사 노드의 갱신 동작(S602)을 위한 계산의 복잡도는 높을 수 있다. 이러한 문제점을 해결하기 위해 MSA(min-sum algorithm)가 사용될 수 있다. 이 경우, S602는 아래 수학식 6에 기초하여 수행될 수 있다.
Figure pat00027
MSA가 사용되는 경우, SPA의 근사화에 따른 에러 정정 능력의 손실이 수반될 수 있다. 이러한 문제점을 해결하기 위해 N(normalized)-MSA 또는 O(offset)-MSA가 사용될 수 있다. N-MSA는 정규화 계수가 반영된 MSA일 수 있고, O-MSA는 오프셋이 반영된 MSA일 수 있다.
N-MSA가 사용되는 경우, S602는 아래 수학식 7에 기초하여 수행될 수 있다. 아래 수학식 7에서
Figure pat00028
는 정규화 계수일 수 있다.
Figure pat00029
O-MSA가 사용되는 경우, S602는 아래 수학식 8에 기초하여 수행될 수 있다. 아래 수학식 8에서
Figure pat00030
는 오프셋일 수 있다.
Figure pat00031
한편, BPA 기반의 LDPC 부호에 기초한 복호화 동작에서, 검사 노드의 갱신을 위해 모든 검사 노드들에 대한 계산이 수행될 수 있고, 변수 노드의 갱신을 위해 모든 변수 노드들에 대한 계산이 수행될 수 있다. 이 경우, 많은 메모리가 필요한 문제점이 있다. BPA 기반의 LDPC 부호에 기초한 복호화 동작에서, 반복 복호 횟수의 감소를 통해 복호 성능을 개선하기 위해 계층적(layered) BPA가 사용될 수 있다. LDPC 부호에 대한 계층적 반복 복호 동작이 수행되는 경우, 반복 복호 루프 내에서 PCM(예를 들어, H 매트릭스)의 행(들)은 계층으로 구분될 수 있다. 수신 노드는 각 계층 내에서 검사 노드와 변수 노드를 갱신함으로써 복호 동작을 수행할 수 있다.
도 7은 LDPC 부호의 복호화 동작의 제2 실시예를 도시한 흐름도이다.
도 7을 참조하면, LDPC 부호의 복호화 동작은 도 5에 도시된 LDPC 복호기(521)에서 수행될 수 있다. LDPC 복호기(521)의 동작(들)은 도 2에 도시된 프로세서(210)에 의해 수행될 수 있다. 도 7에 도시된 복호화 동작은 계층적 복호화 동작일 수 있다.
반복 복호 동작이 수행되는 경우, 복호 루프 내에서 계층 루프가 구성될 수 있고, 수신 노드(예를 들어, 수신 노드에 포함된 LDPC 복호기)는 각 계층 루프 내에서 임시 변수 노드의 연산 동작(S702), 검사 노드의 갱신 동작(S703), 및 변수 노드의 갱신 동작(S704)을 수행할 수 있고, 채널 LLR 데이터(예를 들어, LLR 값)를 계산할 수 있다(S705). 모든 계층 루프들에서 채널 LLR 데이터의 계산이 완료된 경우, 수신 노드는 각 반복 루프에 대한 복호 데이터 추출 및 경판정 동작(S706)을 수행할 수 있고, 그 결과에 기초하여 복호 동작의 종료(예를 들어, 조기 종료) 여부를 결정할 수 있다.
단계 S707에서 수신 노드는 반복 루프마다 "신드롬 연산을 통한 조기 종료의 판단 동작", "복호 데이터의 부호(sign)의 변화를 통한 조기 종료의 판단 동작", 또는" 최대 반복 횟수의 도달 여부에 기초한 조기 종료의 판단 동작"을 수행할 수 있다. 또는, 수신 노드는 계층 루프마다 "부분 신드롬 연산을 통한 조기 종료의 판단 동작" 또는 "부분 복호 데이터의 부호(sign)의 변화를 통한 조기 종료의 판단 동작"을 수행할 수 있다.
SPA 방식에 따른 LDPC 부호의 계층적 반복 복호 동작(예를 들어, 도 7에 도시된 계층적 반복 복호 동작)은 다음과 같이 수행될 수 있다. 초기화 동작(S701) 이후의 계층적 반복 복호 동작에서 모든 계층 루프들에 대한 연산은 순차적으로 수행될 수 있다. 수신 노드는 각 계층 루프 내에서 모든 이웃 변수 노드들에 대한 임시 변수 노드(
Figure pat00032
)의 연산 동작(S702), 검사 노드(
Figure pat00033
)의 갱신 동작(S703), 및 변수 노드(
Figure pat00034
)의 갱신 동작(S704)을 수행할 수 있다. 각 계층적 반복 복호 동작 내에서 모든 계층 루프들에 대한 연산이 완료된 경우, 수신 노드는 복호 데이터의 경판정 동작(S706)을 수행함으로써 복호 데이터(
Figure pat00035
)를 획득할 수 있다.
초기화 동작(S701)은 아래 수학식 9에 기초하여 수행될 수 있다.
Figure pat00036
초기화 동작(S701)이 완료된 경우, 계층적 반복 복호 동작(예를 들어, S702 내지 S706)은 아래 수학식 10에 기초하여 수행될 수 있다.
Figure pat00037
"
Figure pat00038
이고, x가 0보다 작은 경우", sign(x)는 -1일 수 있다. 그 외의 경우, sign(x)는 1일 수 있다.
계층적 반복 복호 동작에서 SPA가 사용되는 경우, 에러 복원 성능은 우수하지만, 복잡한 연산으로 인하여 구현이 어려울 수 있다. 구현 복잡도를 낮추기 위해, 계층적 반복 복호 동작에서 MSA가 사용될 수 있다. MSA 기반의 LDPC 부호의 복호화 동작은 다음과 같이 수행될 수 있다. 이 경우, LDPC 부호의 복호 동작은 모든 변수 노드들의 인덱스(
Figure pat00039
)에 대한
Figure pat00040
의 부호 연산 및 최소 값의 연산을 통해 수행될 수 있다.
수신 노드는 아래 수학식 11에 기초하여 초기화 동작을 수행할 수 있다.
Figure pat00041
초기화 동작이 완료된 경우, 수신 노드는 아래 수학식 12에 기초하여 계층적 반복 복호 동작을 수행할 수 있다.
Figure pat00042
상술한 계층적 반복 복호 동작에서 N-MSA가 적용되는 경우, 수학식 12에서 "
Figure pat00043
"는 수학식 7로 대체될 수 있다. 또는, 상술한 계층적 반복 복호 동작에서 O-MSA가 적용되는 경우, 수학식 12에서 "
Figure pat00044
"는 수학식 8로 대체될 수 있다.
도 8은 LDPC 부호의 복호화 동작의 제3 실시예를 도시한 흐름도이다.
도 8을 참조하면, LDPC 부호의 복호화 동작은 도 5에 도시된 LDPC 복호기(521)에서 수행될 수 있다. LDPC 복호기(521)의 동작(들)은 도 2에 도시된 프로세서(210)에 의해 수행될 수 있다. 도 8에 도시된 복호화 동작은 계층적 복호화 동작일 수 있다.
도 3 및 4를 참조하여 설명한 바와 같이, BG 1 및 BG 2에서 정보 열들 중 첫 번째 2개의 열들을 '천공 구역'이라고 일컬을 수 있다. BG 1 및 BG 2를 구성하는 각각의 행들은, 천공 구역에서 2개의 엔트리들을 가질 수 있다. 각각의 엔트리는 0 또는 1로 표현될 수 있다. 0으로 표현되는 엔트리에는 노드가 존재하지 않는 것으로 볼 수 있다.
베이스 그래프를 구성하는 각각의 행들은, 천공 구역에서 0으로 표현되는 2개의 엔트리들을 가지거나, 0으로 표현되는 1개의 엔트리와 1로 표현되는 1개의 엔트리를 가지거나, 1로 표현되는 2개의 엔트리들을 가질 수 있다. 베이스 그래프를 구성하는 각각의 행들 중 적어도 일부는, 천공 구역에서 천공될 수 있다.
이를테면, 도 3에 도시된 BG 1의 일 실시예에서, 2번째, 7번째, 11번째, 14번째 행 등은 천공 구역에서 0으로 표현되는 1개의 엔트리와 1로 표현되는 1개의 엔트리를 가질 수 있다. 도 3에 도시된 BG 1의 일 실시예에서, 1번째, 3-6번째, 8-10번째, 12번째, 13번째 행 등은 천공 구역에서 1로 표현되는 2개의 엔트리들을 가질 수 있다.
도 4에 도시된 BG 2의 일 실시예에서, 2번째, 4번째, 7번째, 8번째, 10번째 행 등은 천공 구역에서 0으로 표현되는 1개의 엔트리와 1로 표현되는 1개의 엔트리를 가질 수 있다. 도 4에 도시된 BG 2의 일 실시예에서, 1번째, 5번째, 6번째, 9번째, 11번째 행 등은 천공 구역에서 1로 표현되는 2개의 엔트리들을 가질 수 있다.
송신 노드는 데이터를 LDPC 부호 방식에 따라 부호화함에 있어서, 천공 구역을 구성하는 엔트리들 중 일부를 천공시킬 수 있다. 다르게 표현하면, 송신 노드는 데이터를 LDPC 부호 방식에 따라 부호화함에 있어서, 천공 구역을 구성하는 엔트리들 중 일부에 대응되는 코드워드 비트를 천공시킬 수 있다. 천공된 비트와 관련된 채널에 대응되는 LLR 값은 제공되지 않을 수 있다. LLR 값이 제공되지 않은 상태에서 검사 노드 갱신 등의 동작을 수행할 때, 복호화 동작에 오류가 발생할 수 있다. 이를테면, 천공된 비트와 관련하여 LLR 값이 제공되지 않은 상태에서 수신 노드가 검사 노드 갱신을 수행하며 임의의 LLR 값(이를테면, 양의 값을 가지는 LLR)을 사용할 때, 송신 노드에서의 LLR 값(이를테면, 음의 값을 가지는 LLR)과 다른 값이 사용되면 검사 노드 갱신 동작에 잘못된 영향 또는 오류 전파(error propagation) 등이 발생할 가능성이 있다. 이를 방지하기 위해, 천공 구역의 검사 노드들 및 변수 노드들을 우선적으로 갱신하는 방식의 계층적 복호화 동작이 수행될 수 있다.
계층적 복호화 동작의 제3 실시예에는 다음과 같이 수행될 수 있다. 초기화 동작(S810) 이후, 수신 노드는 BG 1 및 BG 2 등 베이스 그래프의 천공 구역에서, 노드 수에 기초하여 일부 행들에 대한 검사 노드 및 변수 노드 갱신을 선택적으로 수행할 수 있다(S820). 이후 수신 노드는 베이스 그래프의 천공 구역에서, 전체 행들에 대한 검사 노드 및 변수 노드 갱신을 수행할 수 있다(S830). 이후, 수신 노드는 계층적 반복 복호 동작을 수행할 수 있다(S840).
초기화 동작(S810)은 도 6을 참조하여 설명한 S601 단계에서의 초기화 동작, 또는 도 7을 참조하여 설명한 S701 단계에서의 초기화 동작과 동일 또는 유사하게 수행될 수 있다. 이후, 수신 노드는 베이스 그래프를 구성하는 전체 행들을, 천공 구역에 포함되는 엔트리들의 표현값들에 기초하여 제1 그룹, 제2 그룹 및 제3 그룹으로 구분할 수 있다. 여기서, 제1 그룹은 천공 구역에서 0으로 표현되는 1개의 엔트리와 1로 표현되는 1개의 엔트리를 가지는 행들을 포함하도록 구성될 수 있다. 제2 그룹은 천공 구역에서 1로 표현되는 2개의 엔트리를 가지는 행들을 포함하도록 구성될 수 있다. 제3 그룹은 천공 구역에서 0으로 표현되는 2개의 엔트리를 가지는 행들을 포함하도록 구성될 수 있다. 여기서, 제3 그룹의 행들에 대해서는 검사 노드 갱신 및/뜨는 변수 노드 갱신 등의 동작이 수행되지 않을 수 있다. 통신 시스템의 일 실시예에서, 제3 그룹은 존재할 수도 있고, 존재하지 않을 수도 있다.
이를테면, 도 3에 도시된 BG 1의 일 실시예에서, 0으로 표현되는 1개의 엔트리와 1로 표현되는 1개의 엔트리를 가지는 2번째, 7번째, 11번째, 14번째 행 등은 그룹 1로 분류될 수 있다. 한편 도 3에 도시된 BG 1의 일 실시예에서, 2로 표현되는 2개의 엔트리들을 가지는 1번째, 3-6번째, 8-10번째, 12번째, 13번째 행 등은 그룹 2로 분류될 수 있다.
한편, 도 4에 도시된 BG 2의 일 실시예에서, 0으로 표현되는 1개의 엔트리와 1로 표현되는 1개의 엔트리를 가지는 2번째, 4번째, 7번째, 8번째, 10번째 행 등은 그룹 1로 분류될 수 있다. 한편, 도 4에 도시된 BG 2의 일 실시예에서, 1로 표현되는 2개의 엔트리들을 가지는 1번째, 5번째, 6번째, 9번째, 11번째 행 등은 그룹 2로 분류될 수 있다.
수신 노드는 그룹 1에 포함되는 행들에 대하여, 천공 구역에서 검사 노드의 갱신 동작 및 변수 노드의 갱신 동작을 수행할 수 있다(S820). S820 단계에서의 선택적인 갱신 동작에 기초하여, 그룹 1에 포함되는 행들에 대한 LLR 값이 적어도 부분적으로 복구될 수 있다.
S820 단계 이후에, 수신 노드는 그룹 1에 포함되는 행들 및 그룹 2에 포함되는 행들에 대하여, 검사 노드의 갱신 동작 및 변수 노드의 갱신 동작을 수행할 수 있다(S830). 만약 S810 단계에서 그룹 3으로 분류되는 행이 존재하지 않을 경우, 수신 노드는 베이스 그래프의 전체 행들에 대하여, 천공 구역에서 검사 노드의 갱신 동작 및 변수 노드의 갱신 동작을 수행할 수 있다(S830). S820 단계 및 S830 단계에서와 같이, 천공 구역에 포함되는 일부의 열들에 대한 복호 동작을, '컬럼별(column-wise) 복호 동작'과 같이 칭할 수 있다.
S830 단계 이후에, 수신 노드는 베이스 그래프의 전체 구역에서, 복호화 동작을 수행할 수 있다(S840). 이를테면, S840 단계에서의 복호화 동작은 계층적 반복 복호 동작에 해당할 수 있다. S840 단계에서의 복호화 동작은 SPA 방식에 따라서 수행되는 계층적 반복 복호 동작에 해당할 수 있다.
통신 시스템에서 LDPC 부호에 기초한 복호 방법 및 장치에 따르면, 수신 노드는 LDPC 부호 방식에 기초한 복호화 동작 및 데이터 복원 동작을 효율적으로 수행할 수 있다. 수신 노드는 복호화 절차를 위한 위한 검사 노드 및 변수 노드에 대한 갱신 동작을 수행함에 있어서, BG 1, BG 2 등의 베이스 그래프에서 일부의 열들로 구성되는 '천공 구역'(punctured region)에서의 노드 갱신 동작을 우선적으로 수행하고, 이후에 베이스 그래프의 전체 영역에서 계층적 반복 복호 동작을 수행할 수 있다. 이를 통해, LDPC 부호에 기초한 복호화 동작의 신뢰도가 향상될 수 있다.
다만, 통신 시스템에서 LDPC 부호에 기초한 복호 방법 및 장치가 달성할 수 있는 효과는 이상에서 언급한 것들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 본 출원의 명세서 상에 기재된 구성들로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양 하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (1)

  1. 통신 시스템에서 수신 노드에 의해 수행되는 LDPC(low-density parity-check) 부호에 기초한 복호화 방법으로서,
    LDPC 부호 방식에 기초한 베이스 그래프를 구성하는 전체 행들을, 상기 베이스 그래프의 천공 구역에 포함되는 엔트리들의 표현값들에 기초하여 그룹 별로 구분하는 단계;
    상기 천공 구역에서, 상기 구분하는 단계를 통하여 구분된 제1 그룹에 포함되는 행들에 대응되는 검사 노드의 갱신 동작 및 변수 노드의 갱신 동작을 수행하는 단계;
    상기 천공 구역에서, 상기 제1 그룹 및 상기 구분하는 단계를 통하여 구분된 제2 그룹에 포함되는 행들에 대응되는 검사 노드의 갱신 동작 및 변수 노드의 갱신 동작을 수행하는 단계; 및
    상기 베이스 그래프의 전체 구역에서, 계층적 복호화 동작을 수행하는 단계를 포함하는, 복호화 방법.
KR1020220025864A 2021-02-26 2022-02-28 통신 시스템에서 LDPC(low-density parity-check) 부호에 기초한 복호 방법 및 장치 KR20220122559A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210026584 2021-02-26
KR20210026584 2021-02-26

Publications (1)

Publication Number Publication Date
KR20220122559A true KR20220122559A (ko) 2022-09-02

Family

ID=83280728

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220025864A KR20220122559A (ko) 2021-02-26 2022-02-28 통신 시스템에서 LDPC(low-density parity-check) 부호에 기초한 복호 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20220122559A (ko)

Similar Documents

Publication Publication Date Title
CN109075802B (zh) 增强型打孔和低密度奇偶校验(ldpc)码结构
EP3217662B1 (en) Rate matching method and apparatus for polar code, and wireless communication device
KR102652057B1 (ko) 저밀도 패리티 체크 (ldpc) 원형 버퍼 레이트 매칭
TWI725308B (zh) Ldpc速率相容設計中的列正交性
CN109314600B (zh) 用于在使用通用极化码时进行速率匹配的系统和方法
TWI691173B (zh) 通訊用錯誤更正編碼方法和裝置
KR102277656B1 (ko) 체크 매트릭스를 결정하기 위한 방법 및 장치, 컴퓨터 저장 매체
WO2019158031A1 (zh) 编码的方法、译码的方法、编码设备和译码设备
CN109964411B (zh) 对ldpc码的有效的列表解码
US20210376857A1 (en) High-rate long ldpc codes
JP2020516157A (ja) 符号化方法、復号方法、装置、および装置
CN109314524A (zh) 使用通用极化码时通过异构内核进行速率匹配的系统和方法
KR102349879B1 (ko) 폴라 코드들에 대한 crc 인터리빙 패턴
CN115996061A (zh) 使用行正交结构的ldpc码传输方法以及用于此的设备
CN111357218A (zh) 用于在通信或广播系统中对信道进行编码和解码的方法和设备
US11595060B2 (en) Method and apparatus for decoding low-density parity-check code
CN110612679B (zh) 信息处理的方法和通信装置
CN110870207A (zh) 信息处理的方法和通信装置
EP3592074A1 (en) Resource mapping method and apparatus thereof
KR20220122559A (ko) 통신 시스템에서 LDPC(low-density parity-check) 부호에 기초한 복호 방법 및 장치
KR20210015634A (ko) 통신 시스템에서 폴라 코드를 사용한 신호의 송수신 방법 및 장치
KR20220033981A (ko) LDPC(low-density parity-check) 부호의 복호화 방법 및 장치
US11689218B2 (en) Decoding method and apparatus based on polar code in communication system
US20240223214A1 (en) Ldpc encoding and decoding method
KR20230133618A (ko) 폴라 코드를 사용하는 통신 시스템에서의 harq 방법 및 장치