KR20210081952A - 통신 시스템에서 극부호의 복호화 장치 및 방법 - Google Patents

통신 시스템에서 극부호의 복호화 장치 및 방법 Download PDF

Info

Publication number
KR20210081952A
KR20210081952A KR1020190174395A KR20190174395A KR20210081952A KR 20210081952 A KR20210081952 A KR 20210081952A KR 1020190174395 A KR1020190174395 A KR 1020190174395A KR 20190174395 A KR20190174395 A KR 20190174395A KR 20210081952 A KR20210081952 A KR 20210081952A
Authority
KR
South Korea
Prior art keywords
bit
decoding
bits
code
polar code
Prior art date
Application number
KR1020190174395A
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 삼성전자주식회사
Priority to KR1020190174395A priority Critical patent/KR20210081952A/ko
Priority to PCT/KR2020/018557 priority patent/WO2021132983A1/ko
Priority to EP20904850.3A priority patent/EP4075672A4/en
Priority to US17/788,526 priority patent/US20230034299A1/en
Publication of KR20210081952A publication Critical patent/KR20210081952A/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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/155Shortening or extension of 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/13Linear 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • H03M13/3927Log-Likelihood Ratio [LLR] computation by combination of forward and backward metrics into LLRs
    • 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
    • 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

Abstract

본 개시는 LTE(Long Term Evolution)와 같은 4G(4th generation) 통신 시스템 이후 보다 높은 데이터 전송률을 지원하기 위한 5G(5th generation) 또는 pre-5G 통신 시스템에 관련된 것이다. 본 개시는 통신 시스템에서 극부호(polar code)의 복호화를 위한 것으로, 수신 장치의 동작 방법은, 극부호(polar)를 이용하여 부호화된, 복수의 비트들을 포함하는 데이터를 수신하는 과정과, 상기 복수의 비트들 중 복호 연산이 불필요한 적어도 하나의 비트를 확인하는 과정과, 상기 적어도 하나의 비트를 제외한 나머지 비트들 중 적어도 일부에 대한 복호를 수행하는 과정을 포함한다.

Description

통신 시스템에서 극부호의 복호화 장치 및 방법{APPARTUS AND METHOD FOR POLAR CODE DECODING IN COMMUNICATION SYSTEM}
본 개시(disclosure)는 일반적으로 통신 시스템에서 자원 할당에 관한 것으로, 보다 구체적으로 통신 시스템에서 극부호(polar code)의 복호화를 위한 장치 및 방법에 관한 것이다.
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) 라고도 불린다.
오류 정정 부호 기법에는 다양한 방식들이 존재한다. 예컨대, 컨볼루션 부호(convolutional coding), 터보 부호(turbo coding), 저밀도 패리티 검사 부호(low-density parity-check coding, LDPC coding), 및 극부호(polar coding) 방식 등이 존재한다. 특히 터보 부호, 저밀도 패리티 검사 부호, 극부호는 이론적인 채널 용량(channel capacity) 에 거의 근접하는 성능을 갖는 우수한 부호로 오늘날 다양한 통신 시스템에서 활용되고 있다. 이러한 오류 정정 부호 기법들 중 polar code 은 순차적 제거(successive cancellation, SC) 복호 시 발생하는 채널 양극화(channel polarization) 현상을 바탕으로 낮은 복호 복잡도로 점대점(point-to-point) 채널 용량을 달성함이 이론적으로 증명된 최초의 부호이다. 또한, 짧은 길이의 극부호는 SCl(SC-list) 복호 등을 사용하였을 때 다른 채널 부호 대비 성능이 우수함이 확인되었다. 이러한 이유로 5G 통신 표준인 3GPP 릴리즈(release)-15 NR에서 제어 정보를 전송할 때 극부호를 사용하고 있다.
상술한 바와 같은 논의를 바탕으로, 본 개시(disclosure)는, 통신 시스템에서 극부호(polar code)를 이용한 복호화의 복잡도 및 지연을 낮추기 위한 장치 및 방법을 제공한다.
또한, 본 개시는, 통신 시스템에서 극부호를 이용한 복호화 동작의 연산 횟수를 줄이기 위한 장치 및 방법을 제공한다.
또한, 본 개시는, 통신 시스템에서 극부호를 이용한 복호화 동작에서 연산이 불필요한 비트를 결정하기 위한 장치 및 방법을 제공한다.
본 개시의 다양한 실시 예들에 따르면, 통신 시스템에서 수신 장치의 동작 방법은, 극부호(polar)를 이용하여 부호화된, 복수의 비트들을 포함하는 데이터를 수신하는 과정과, 상기 복수의 비트들 중 복호 연산이 불필요한 적어도 하나의 비트를 확인하는 과정과, 상기 적어도 하나의 비트를 제외한 나머지 비트들 중 적어도 일부에 대한 복호를 수행하는 과정을 포함한다.
본 개시의 다양한 실시 예들에 따르면, 통신 시스템에서 수신 장치는, 송수신기와, 상기 송수신기와 연결된 적어도 하나의 프로세서를 포함한다. 상기 적어도 하나의 프로세서는, 극부호(polar)를 이용하여 부호화된, 복수의 비트들을 포함하는 데이터를 수신하고, 상기 복수의 비트들 중 복호 연산이 불필요한 적어도 하나의 비트를 확인하고, 상기 적어도 하나의 비트를 제외한 나머지 비트들 중 적어도 일부에 대한 복호를 수행한다.
본 개시의 다양한 실시 예들에 따른 장치 및 방법은, 복호 동작의 일부를 생략함으로써 복호 복잡도와 지연을 낮출 수 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템을 도시한다.
도 2는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 수신단 장치의 구성의 예를 도시한다.
도 3은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 극부호의 부호화 과정의 일 예를 나타낸다.
도 4는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 극부호의 복호화 과정의 일 예를 나타낸다.
도 5는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 극부호에 대응하는 그래프의 일 예를 도시한다.
도 6는 본 개시의 다양한 실시 예에 따른 통신 시스템에서 LR 계산 과정을 도시한다.
도 7은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 복호 이진 트리(decoding binary tree)의 일 예를 도시한다.
도 8은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 이진 결정 트리(binary decision tree)의 예를 도시한다.
도 9는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 수신단의 복호화를 위한 흐름도를 도시한다.
도 10은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 수신단의 복호화를 위한 다른 흐름도를 도시한다.
도 11은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 시작 비트 인덱스의 분포에 대한 일 예를 도시한다.
도 12은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 시작 비트 인덱스의 분포에 대한 다른 예를 도시한다.
도 13은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 시작 비트 인덱스의 분포에 대한 또 다른 예를 도시한다.
도 14는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 단축된 비트가 존재하는 경우 종료 비트 인덱스 분포에 대한 예를 도시한다.
도 15는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 복호기의 구성을 도시한다.
도 16 및 17은 본 개시의 다양한 실시 예들에 따른 복호 기법의 성능을 도시한다.
본 개시에서 사용되는 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 개시에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 개시에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 개시에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 개시에서 정의된 용어일지라도 본 개시의 실시 예들을 배제하도록 해석될 수 없다.
이하에서 설명되는 본 개시의 다양한 실시 예들에서는 하드웨어적인 접근 방법을 예시로서 설명한다. 하지만, 본 개시의 다양한 실시 예들에서는 하드웨어와 소프트웨어를 모두 사용하는 기술을 포함하고 있으므로, 본 개시의 다양한 실시 예들이 소프트웨어 기반의 접근 방법을 제외하는 것은 아니다.
이하 본 개시는 통신 시스템에서 극부호(polar code)를 이용한 복호화를 위한 장치 및 방법에 관한 것이다. 구체적으로, 본 개시는 통신 시스템에서 극부호에 기반한 복호 동작의 복잡도를 낮추기 위한 기술을 설명한다. 보다 상세하게, 본 개시는 데이터를 전송하거나, 저장하는 과정에서 잡음, 간섭 등의 다양한 원인으로 인해 오류 및 소실이 발생하거나 발생할 여지가 있을 때, 이를 정정, 복원하는 오류-정정 부호(error-correcting codes)에 관한 것이다. 다시 말해, 본 개시는 극부호를 사용하는 통신 시스템에서 수신기가 수행하는 복호화와 관련된 것으로서, 극부호로 부호화된 부호어를 낮은 복잡도와 지연으로 복호화하는 기술에 대한 것이다.
이하 설명에서 사용되는 파라미터들을 지칭하는 용어, 리던던시(redanduncy) 비트를 지칭하는 용어(예: 패리티 체크 비트), 정보 비트를 지칭하는 용어, 채널을 지칭하는 용어, 제어 정보를 지칭하는 용어, 네트워크 객체(network entity)들을 지칭하는 용어, 장치의 구성 요소를 지칭하는 용어 등은 설명의 편의를 위해 예시된 것이다. 따라서, 본 개시가 후술되는 용어들에 한정되는 것은 아니며, 동등한 기술적 의미를 가지는 다른 용어가 사용될 수 있다.
또한, 본 개시는, 일부 통신 규격(예: 3GPP(3rd Generation Partnership Project))에서 사용되는 용어들을 이용하여 다양한 실시 예들을 설명하지만, 이는 설명을 위한 예시일 뿐이다. 본 개시의 다양한 실시 예들은, 다른 통신 시스템에서도, 용이하게 변형되어 적용될 수 있다.
극부호는 2008년 E. Arikan 에 의해 제안된 오류 정정 부호로 낮은 부호화/복잡도 성능을 가지면서도 모든 B-DMCs(binary discrete memoryless channel) 에서 데이터 전송 한계인 채널 용량(channel capacity)을 달성하는 것이 증명된 최초의 오류 정정 부호이다. 극부호는 다른 채널 용량 근접 부호(capacity-approaching codes)인 터보 코드(turbo code), LDPC(low-density parity-check) 코드 대비 짧은 길이의 부호를 전송할 때 오류-정정 성능 및 복호 복잡도 상 이점이 있다. 이러한 장점으로 인해 2017년 현재 5세대 이동통신 를 위해 진행 중인 3GPP NR 표준화에서 짧은 길이의 제어 정보를 전송하는 용도로 극부호의 사용을 결정하였다.
본 개시는 통신 시스템에 사용되는 극부호의 부호화 및 복호화 시스템을 고려한다. 기본적인 극부호의 복호 방법은 순차적 제거(SC) 복호이다. SC 복호기는 부호화 입력 비트 시퀀스를 한 비트씩 순차적으로 복호해가며, 어떤 비트를 복호함에 있어서 그 이전까지 복호된 비트 결과를 이용한다. 성능 향상을 위해 사용되는 SCL(SC-list) 복호, SCS(SC-stack) 복호, SCF(SC-flip) 복호 등도 기본적으로는 순차적인 복호 방식을 사용한다. 이러한 순차적인 복호 동작의 특성으로 인해 SC 기반의 복호기들(SC-based decoders)은 병렬화 구조(parallelized architecture), 파이프라인 구조(pipeline architecture) 로 구현하는 것이 적합하지 않으며, 병렬 프로세싱에 적합한 Turbo 부호와 LDPC 부호의 복호에 필요한 클락 사이클(clock cycle) 이 더 크다는 단점이 있다. 즉, polar code의 SC 기반 복호기는 복호 처리율(decoding throughput) 은 일반적으로 낮다.
또한 성능 향상을 위해 사용되는 SCL 복호기의 경우 복잡도가 높다는 문제점이 있다. SCL 복호기는 사전에 설정된 리스트(list) 수만큼의 후보군을 유지해가며 각 후보군에 대해서 독립적인 복호를 진행한다. 매 비트의 복호 과정에서 각 리스트에 대한 복호는 독립적으로 이루어지며, 복호 결과를 바탕으로 확률이 높은 리스트를 유지하고 낮은 리스트를 제외한다. 따라서 SCL 복호기가 수행하는 연산의 수와 시간은 리스트의 수에 비례하여 증가하게 된다.
본 발명은 다양한 부호 파라미터(부호 길이, 부호율 등) 와 설정을 지원하는 극부호 시스템의 SC, SCL 복호기 등의 복호 복잡도 및 지연을 감소시키는 것을 목적으로 한다. 본 발명이 적용되는 일 실시 예로는 3GPP NR 제어 신호 전송을 위해 사용되는 극부호 시스템이 있다. 3GPP NR 극부호 시스템은 길이 12 부터 1706 까지의 비트를 부호화하며, 다양한 부호율을 지원한다. 본 발명은 이와 같이 다양한 부호 길이와 부호율을 지원하는 극부호 시스템에서 사용되는 SC, SCL 복호기의 복잡도 및 지연을 효과적으로 감소시키는 것을 목적으로 한다. 또한 본 발명은 상기 목적을 달성을 위해 수반하게 되는 추가적인 하드웨어, 연산량, 연산 시간 등의 비용(cost) 을 최소화하는 것을 목적으로 한다. 일례로, 종래에는 부호 파라미터에 따른 polar code의 구조를 사전에 분석하고, 분석된 결과에 맞춰 해당 부호 전용의(dedicated) 간략화된(simplified) SCL 복호기를 구성하는 방법이 제안된 바 있다. 이와 같이 부호 구조를 사전에 분석하고 전용의 연산 블록을 추가하는 방법은 부호 구조가 고정되어 있거나(static) 사용하는 부호 파라미터의 종류가 적은 경우에는 효과적일 수 있다. 하지만 만약 지원해야 하는 부호 파라미터의 수가 많은 경우(가령 3GPP NR 과 같이 다양한 부호 길이와 부호율을 지원하는 경우), 상기 간략화된 SCL 복호기를 구성하는 것이 비효율적일 수 있다. 주어지는 부호 파라미터를 기반으로 간략화된 SCL 복호기를 구성하기 위해 추가되는 부호 분석 과정과 연산은 복호기의 간략화라는 본래의 목적과 다르게 전반적인 연산량과 연산 시간을 오히려 증가시킬 수 있다. 본 발명은 상기와 같은 종래 기술이 다양한 파라미터를 지원하는 통신 시스템에 적합하지 않거나 효율적이지 않은 문제를 해결한다. 즉, 본 발명은 다양한 부호 파라미터와 부호 구조를 지원함에 있어서, 추가로 실시하게 되는 SCL 본래 복호 동작 외의 연산과 이에 의해 유발되는 지연을 최소화하는 것을 주 목적으로 한다.
도 1은 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템을 도시한다. 도 1은 무선 통신 시스템에서 무선 채널을 이용하는 노드(node)들의 일부로서, 송신단(transmitting device)(110)과 수신단(receiving device)(120)를 예시한다. 도 1은 하나의 송신단(110) 및 하나의 수신단(120)를 도시하나, 복수의 송신단 또는 복수의 수신단을 포함할 수 있다. 또한, 설명의 편의를 위하여, 본 개시에서 송신단(110)과 수신단(120)이 별개의 개체인 것으로 설명하나, 송신단(110)과 수신단(120)의 기능은 서로 바뀔 수 있다. 예를 들어, 셀룰러 통신 시스템의 상향링크의 경우, 송신단(110)는 단말, 수신단(120)는 기지국이 될 수 있다. 하향링크의 경우, 송신단(110)는 기지국, 수신단(120)이 단말이 될 수 있다. 일부 실시 예들에서, 송신단(110)는, 정보 비트들의 극부호를 이용하여 부호화를 수행한 후, 송신할 수 있다. 수신단(120)는 송신단(110)에서 송신된 부호화된 정보를 극부호를 이용하여 복호함으로써 정보 비트들을 복원할 수 있다.
도 2는 본 개시의 다양한 실시 예들에 따른 무선 통신 시스템에서 수신단 장치의 구성의 예를 도시한다. 즉, 도(2에 예시된 구성은 수신단(120)의 구성으로서 이해될 수 있다. 이하 사용되는 '...부', '...기' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 2를 참고하면, 수신단(120)는 통신부(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)는 '송신부', '수신부' 또는 '송수신부(transceiver)'로 지칭될 수 있다. 또한, 이하 설명에서, 무선 채널을 통해 수행되는 송신 및 수신은 통신부(210)에 의해 상술한 바와 같은 처리가 수행되는 것을 포함하는 의미로 사용된다. 또한, 통신부(210)는 백홀(backhaul) 망을 통해 연결된 다른 네트워크 개체와의 통신을 위한 백홀 통신부를 포함할 수 있다.
통신부(210)는 본 개시의 다양한 실시 예들에 따른 복호화를 수행하기 위해 복호화기(decoder)(미도시)를 포함할 수 있다. 복호화기는 극부호에 기반하여 복호 동작을 수행할 수 있다.
저장부(220)는 수신단(120)의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장할 수 있다. 저장부(220)는 휘발성 메모리, 비휘발성 메모리 또는 휘발성 메모리와 비휘발성 메모리의 조합으로 구성될 수 있다. 그리고, 저장부(220)는 제어부(230)의 요청에 따라 저장된 데이터를 제공할 수 있다.
제어부(230)는 수신단(120)의 전반적인 동작들을 제어할 수 있다. 예를 들어, 제어부(230)는 통신부(220)를 통해 신호를 송신 및 수신할 수 있다. 또한, 제어부(230)는 저장부(230)에 데이터를 기록하거나 읽을 수 있다. 이를 위해, 제어부(230)는 적어도 하나의 프로세서 또는 마이크로(micro) 프로세서를 포함하거나, 또는, 프로세서의 일부일 수 있다. 다시 말해, 제어부(230)는 통신부(220)에 포함된 각 구성들의 동작을 제어할 수 있다. 예를 들어, 제어부(230)는 수신단(120)이 후술하는 다양한 실시 예들에 따른 동작들을 수행하도록 제어할 수 있다.
도 3은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 극부호의 부호화 과정의 일 예를 나타낸다. 도 3에 예시된 동작들 중, 시스템의 요구 조건 및 특징에 따라 과정 중 일부가 생략될 수 있고, 혹은 별도의 동작이 추가될 수 있다. 도 3에서, 송신단이 전송하고자 하는 정보 비트(information bit) 개수는
Figure pat00001
, 부호화 후 채널을 통해 전송되는 부호어 비트(codeword bit) 개수는
Figure pat00002
라 표현된다. 송신단에서 수행되는 부호화의 각 단계는 다음과 같다.
1) 정보 비트 시퀀스 생성(Information bit sequence generation)
전송하고자 하는 길이
Figure pat00003
의 정보 비트 시퀀스
Figure pat00004
가 주어진다. 정보 비트 시퀀스는 전송하고자 하는 전체 정보의 일부, 즉 세그먼트(segment)일 수 있다.
2) 외부 부호화(Outer code)
연접 외부 인코더(concatenated outer endoer)(302)에서, 정보 비트 시퀀스
Figure pat00005
는 성능 향상을 위해 먼저 외부 부호(concatenated outer code)로 부호화된다. 이러한 외부 부호는 보통 극부호의 SCL(SC-list) 복호와 같이 다수의 부호어 후보군들을 고려하여 복호를 진행하는 복호기의 성능을 높이기 위해 사용된다. SCL 복호는 이하 수신단 동작에서 자세하게 설명하기로 한다. 이러한 목적으로 극부호 에 연접되어 사용되는 외부 부호로는 CRC(cyclic redundancy check) 부호와 같은 오류 검출 부호나 BCH 부호, PC(parity check), 컨볼루션(convolutional) 부호 등 오류 정정 부호가 있다. 외부 부호는 하나만 사용될 수 있고, 혹은 둘 이상의 외부 부호가 복합적으로 사용될 수도 있다. 예를 들어, 3GPP NR에 정의된 극부호 중 상향링크(uplink) 제어 정보를 위해 사용되는 극부호는 정보 비트의 길이에 따라 정보 비트 길이가 20비트 이상이면 11 비트 CRC 부호와 함께 사용되고, 정보 비트 길이가 19비트 이하이면 3비트 PC 부호와 6비트 CRC 부호와 함께 사용된다. 이러한 외부 부호화는 보통 시스테메틱(systematic) 부호로서, 입력된 비트 시퀀스에 패리티 비트를 추가한다. 하나 이상의 외부 부호에 의해 생성된 전체 패리티 비트의 길이를
Figure pat00006
이라고 하고, 외부 부호화에 의해 생성된 부호어의 길이를
Figure pat00007
이라고 한다. 그리고 외부 부호화의 결과로 생성된 비트 시퀀스는
Figure pat00008
라고 한다. 외부 부호화는 극 부호화(polar coding) 자체에 필수적인 동작은 아니기 때문에, 외부 부호화는 생략될 수 있고, 이 경우
Figure pat00009
이고
Figure pat00010
이다.
3) 부채널 할당(Sub-channel allocation)
부채널 할당기(304)에서, 비트 시퀀스
Figure pat00011
는 극부호 부호화를 위해 길이
Figure pat00012
의 비트 시퀀스
Figure pat00013
에 매핑된다. 여기서,
Figure pat00014
은 모부호(mother polar code)의 크기로 2의 거듭 제곱수이며,
Figure pat00015
보다는 큰 값 중 사전에 결정된 기준에 의해 결정된다. 비트 시퀀스
Figure pat00016
는 극부호 부호화기의 입력 비트 시퀀스(encoder input bit sequence)이며, 사전에 정해진 방법 및 기준에 따라
Figure pat00017
의 비트가
Figure pat00018
에 매핑된다(304). 부호화 입력 비트 시퀀스
Figure pat00019
의 각 비트는 이후 송신단과 수신단의 동작에 의한 채널 분화(channel polarization)에 의해 서로 다른 품질의 가상 채널인 부채널(split channel, sub-channel)을 통과하는 것처럼 해석될 수 있다. 이때, 각 부채널을 합성 채널(synthetic channel)이라고 일컫기도 한다. 따라서, 상기
Figure pat00020
의 비트들을 우수한 품질의 부채널을 통과하는
Figure pat00021
의 비트들에 매핑하기 위해서 각 부채널의 채널 용량(symmetric capacity), Bhatacharayya 파라미터, 밀도 진화(density evolution)의 결과 등을 이용한다. 또한, 이 과정에서는 이후 수행되는 부호율-조정(rate-matching) 동작이 고려된다. 이러한 특징 때문에,
Figure pat00022
Figure pat00023
에 매핑하는 과정은 부채널 할당 과정으로도 지칭된다. 이 과정에서,
Figure pat00024
가 매핑되는 부채널에 해당하는
Figure pat00025
의 비트는 비-동결(unfrozen) 비트라고 지칭되며, 나머지 부채널에 해당하는
Figure pat00026
의 비트는 동결(frozen) 비트라 지칭된다. 명칭과 같이, 동결 비트는 그 값이 고정되는데, 일반적으로 그 값은 0 이다.
4) 생성 행렬 곱셈(Generator Matrix Multiplication)
생성 행렬 곱셈부(306)에서, 길이
Figure pat00027
의 부호화 입력 비트 시퀀스
Figure pat00028
는 극부호의 생성 행렬(generator matrix)
Figure pat00029
와 곱해지며, 이에 따라 동일한 길이
Figure pat00030
의 부호화 출력 비트 시퀀스
Figure pat00031
가 생성된다. 최초 Arikan에 의해 극부호가 제안되었을 때, 생성 행렬
Figure pat00032
는 [수학식 1] 과 같이 정의되었다.
[수학식 1]
Figure pat00033
위의 식에서
Figure pat00034
이며, 위 첨자
Figure pat00035
연산은
Figure pat00036
회의 크로네커 곱(Kronecker power)을 의미한다. 예를 들어,
Figure pat00037
이며,
Figure pat00038
이다. 그리고,
Figure pat00039
은 크기
Figure pat00040
비트-역전 퍼뮤테이션(bit-reversal permutation) 행렬이다. 예를 들어 길이 8인 벡터
Figure pat00041
Figure pat00042
비트-역전 퍼뮤테이션(bit-reversal permutation) 행렬
Figure pat00043
이 곱해져 인덱스가 비트-역전 퍼뮤테이션(bit-reversal permutation) 된
Figure pat00044
가 얻어진다. 하지만, 다른 실시 예에 따라,
Figure pat00045
을 제외한 단순한 형태의 [수학식 2]와 같은 생성 행렬이 사용될 수 있다.
[수학식 2]
Figure pat00046
이하 설명에서, 별도의 언급이 없으면
Figure pat00047
으로 정의된 생성 행렬의 사용이 가정된다. 이와 같은 가정으로 설명된 내용은 비트-역전 퍼뮤테이션(bit-reversal permutation) 동작을 바탕으로
Figure pat00048
으로 정의된 생성 행렬을 사용한 극부호로 쉽게 변경되어 설명될 수 있음에 유의하여야 한다.
5) 부호율-조정(Rate-matching)
부호율 조정부(308)에서, 생성된 부호화 출력 비트 시퀀스
Figure pat00049
로부터 전송하고자 하는 길이
Figure pat00050
의 비트 시퀀스를 생성하는 동작이 수행된다. 이와 같이 부호율 조정을 통해 얻어지는 전송 비트 시퀀스는
Figure pat00051
로 표현된다. 부호율-조정에 따라, 극부호의 성능 향상을 위해 부호화 출력 비트 시퀀스
Figure pat00052
는 재조정 수 있다. 예를 들어, 3GPP NR 극 부호화 시스템에서, 부호화 출력 비트 시퀀스
Figure pat00053
는 32개의 서브-블록(sub-block) 단위로 인터리빙되고, 순환 버퍼(circular buffer)에 저장되고, 순차적으로 추출됨으로써 길이
Figure pat00054
의 부호어 시퀀스가 생성된다. 만약 부호어의 길이
Figure pat00055
가 극부호 모부호의 크기
Figure pat00056
보다 작다면, 천공(puncturing) 혹은 단축(shortening) 중 하나의 동작이 수행될 수 있다. 부호화 출력 비트 시퀀스
Figure pat00057
의 일부 비트가 천공되면, 부호화 입력 비트 시퀀스
Figure pat00058
가 겪는 부채널의 일부가 불능(incapable)이 되며, 부채널 할당 과정은 이러한 불능 비트(incapable bit)를 고려하여 이뤄진다. 만약 부호화 출력 비트 시퀀스
Figure pat00059
의 일부 비트를 단축하고자 하는 경우, 부호화 입력 비트 시퀀스
Figure pat00060
의 일부 비트 또한 단축되어야 하며, 부채널 할당 과정은 이러한 단축 비트(shortening bit)를 고려하여 수행된다. 반면, 부호어의 길이
Figure pat00061
가 극부호 모부호의 크기
Figure pat00062
보다 크다면, 반복(repetition)이 수행될 수 있다.
도 4는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 극부호의 복호화 과정의 일 예를 나타낸다. 도 4에 예시된 동작들 중 시스템의 요구 조건 등에 따라 다른 동작이 추가될 수도 있고 혹은 포함된 동작이 생략될 수도 있다.
1) 복조 LLR 생성(Demodulated LLR generation)
수신된 신호를 복조(demodulation) 하여 전송된 비트
Figure pat00063
에 대응되는 확률 정보가 생성된다. 확률 정보는 확률 벡터, LR(likelihood ratir), LLR(log-likelihood ratio) 등의 값으로 주어진다. 간결한 설명을 위해 아래에서는 별도의 언급이 없다면 LLR을 고려한다. 하지만, 본 발명은 LLR 기반의 복호 동작에 한정되지 아니한다. 전송 비트 시퀀스
Figure pat00064
에 대응되는 LLR 시퀀스는
Figure pat00065
라고 지칭된다.
2) 부호율-역조정(Rate-dematching)
부호율 역조정부(402)에서, 길이
Figure pat00066
의 LLR 시퀀스
Figure pat00067
는 길이
Figure pat00068
의 극부호 복호화기(404)에 입력되도록 송신단의 부호율-조정의 역과정을 거친다. 송신단의 부호율 조정단에서 천공(puncturing) 이 발생했다면 해당 비트에 대한 LLR 값은 0으로 결정되며, 단축(shortening) 이 발생했다면 해당 비트에 대한 LLR 값은 비트 값 0에 대응하는 LLR 값의 최대값으로 결정된다. 만약 특정 비트에 대해서 반복이 발생했다면 대응되는 LLR 값을 모두 더해서(combining) 해당 비트에 대한 LLR 값이 결정된다. 이와 같은 과정을 통해서 결정된 길이
Figure pat00069
의 LLR 시퀀스를
Figure pat00070
로 지칭된다.
3) 외부 부호화를 이용한 SC 복호(Outer Code aided SC-based decoding)
극부호 복호화기(404)에서, 길이
Figure pat00071
의 LLR 시퀀스
Figure pat00072
가 계산 혹은 결정되면 이를 바탕으로 SC-기반의 복호 동작이 수행된다. SC-기반의 복호로는 일반적인 SC 복호, SCL(SC-list) 복호, SCS(SC-stack) 복호 등이 있다. SC-기반의 복호는 부호화 입력 시퀀스의 각 비트를 인덱스 순서에 따라 한 비트씩 순차적으로 복호한다. 이러한 복호기들은 부호화 입력 비트 시퀀스의 인덱스 값 순서로, 즉,
Figure pat00073
순서로 각 비트에 대한 복호를 수행한다. 구체적으로
Figure pat00074
번째 비트,
Figure pat00075
에 대한 복호는 아래의 절차에 의해 이뤄진다.
① 수신 신호와 앞서 복호된 비트들의 추정값
Figure pat00076
을 기반으로
Figure pat00077
값의 0과 1에 대한 확률 기반 지표(metric) 계산한다.
② 계산한 확률 기반 지표를 기반으로 비트 값
Figure pat00078
추정(estimation) 한다.
③ 다음 비트의 복호를 위해 추정값
Figure pat00079
를 순차적 제거(successive cancellation) 기반으로 복호기에 반영한다.
상술한 바와 같이 각 비트에 대한 복호는 이전까지 복호가 되어 추정된 비트 값을 기반으로 이뤄진다. 가령, 비트
Figure pat00080
의 복호 시에는 이전에 복호된 비트(
Figure pat00081
에 대한 추정 값인 (
Figure pat00082
과 그에 대한 확률 정보 혹은 확률 정보에 준하는 값의 누적 값 등이 이용된다. 여기서, 각 부분적인 비트 시퀀스(
Figure pat00083
는 리스트(list) 혹은 경로(path)라 지칭되며, 각 경로에 대한 복호를 수행해오면서 계산한 누적된 확률 정보 혹은 확률 정보에 준하는 값은 PM(path-metric)이라 지칭된다. SCL 복호기는 비트
Figure pat00084
의 복호 시 설정된 리스트 크기
Figure pat00085
개만큼의 리스트(
Figure pat00086
를 유지해가며 복호를 진행하는 방식이다. 가령, SCL 복호기는 지금까지 복호에서 유지하고 있는 리스트(
Figure pat00087
를 바탕으로
Figure pat00088
값 0과 1에 대한 확률 정보를 계산한다. 그리고, 각
Figure pat00089
의 확률 정보 계산 시 고려한 각 리스트(
Figure pat00090
에 대한 PM 에
Figure pat00091
비트 값에 0, 1에 대한 확률 정보 혹은 확률 정보에 준하는 값을 업데이트하며, 총
Figure pat00092
개의 리스트(
Figure pat00093
에 대한 PM 을 계산한다. 만약,
Figure pat00094
가 동결 비트(frozen bit)인 경우, 계산된 PM과 상관없이 송/수신단이 서로 약속한 결정된 비트값으로 추정값
Figure pat00095
이 결정된다. 만약,
Figure pat00096
가 비동결 비트(unfrozen bit) 중 정보 비트(information bit)에 해당하면, 총
Figure pat00097
개의 리스트 중에 PM 값을 바탕으로 확률이 높다고 판단한
Figure pat00098
개의 리스트(
Figure pat00099
가 선택된다. SCL 복호기는 이와 같은 방식으로 각 비트의 복호마다 총
Figure pat00100
개의 리스트를 유지하며 복호를 진행한다. 그리고, 모든 비트에 대한 복호가 완료되면, 최종적으로 얻은
Figure pat00101
개의 리스트들, 즉 후보 비트 시퀀스들 중에 가장 확률이 높은 부호어가 PM 기반으로 선택된다. 만약
Figure pat00102
이 1로 설정되어 있으면 SCL 복호기는 기본적인 SC 복호기와 동일하게 동작한다. SCL 복호 중간 혹은 완료 후, 연접된 외부 부호화를 활용하여 오류 정정 성능을 향상시킬 수 있다. 가령 CRC 부호가 연접되어 사용된 경우, 복호 후 얻은
Figure pat00103
개의 리스트 중에서 CRC 부호의 제약 조건을 만족하면서 가장 확률이 확률이 높은 부호어를 최종 복호 결과로 추정한다.
4) 메시지 비트 추출(Message bit extraction)
메시지 비트 추출부(405)에서, 추정된 부호화 입력 비트 시퀀스
Figure pat00104
로부터 정해진 위치의 메시지 비트가 획득된다. 최종적으로 추정된 메시지 비트 시퀀스는
Figure pat00105
로 표기된다.
도 3을 참고하여 설명된 부호화 과정 중 생성 행렬 곱셈 과정과 도 4를 참고하여 설명된 복호화의 과정 중 SC 기반의 복호 과정은 극부호에 대응하는 그래프를 이용하여 설명될 수 있다.
도 5는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 극부호에 대응하는 그래프의 일 예를 도시한다. 도 5는 크기가 8인 극부호에 대한 이진 그래프(bipartite graph)예시한다.
도 5를 참고하면, 이진 그래프는 원으로 표시되는 변수 노드들(variable nodes)(511), 정사각형으로 표시되는 검사 노드들(check nodes)(512), 그리고 이 노드들을 연결하는 연결선들(edges)(513)을 포함한다. 부호화 과정에서 변수 노드는 개개의 비트를 나타내며, 복호화 과정에서 각 변수 노드에서는 해당 비트에 대한 LLR 등의 확률 정보를 나타낸다. 검사 노드는 연결된 이웃 변수 노드들의 선형 제약(linear constraint)을 나타내며, 하나의 검사 노드에 이웃한 변수 노드에 대응되는 모든 비트의 이진-합(modulo-2 sum)은 0이다. 길이
Figure pat00106
의 극부호 그래프는
Figure pat00107
개의 단계(stage)로 구성될 수 있다. 기호
Figure pat00108
가 그래프에서 단계의 인덱스를 나타내며, 그래프의 가장 왼쪽의 변수 노드들에 대한 단계 인덱스는
Figure pat00109
, 그래프의 가장 오른쪽의 변수 노드들에 대한 단계 인덱스는
Figure pat00110
이다. 극부호 그래프의 특징들 중 하나는 전체 그래프가 Z 모양을 갖는
Figure pat00111
기본적인 요소(531)들의 연결들로 구성된다는 것이다. 전체 극부호 그래프에서 기본적인 요소들 사이의 연결은 [수학식 2]의 생성 행렬로부터 결정된다.
도 3을 참고하여 설명된 부호화 과정 중 생성 행렬 곱셈 과정은 도 5의 그래프 상에서 이해될 수 있다. 도 5의 그래프 상에서 가장 왼쪽
Figure pat00112
개의 변수 노드들(521)은 도 3의 부호화 과정의 길이
Figure pat00113
의 부호화 입력 비트 시퀀스
Figure pat00114
에 대응하며, 가장 오른쪽
Figure pat00115
개의 변수 노드들(522)은 길이
Figure pat00116
의 부호화 출력 비트 시퀀스
Figure pat00117
에 대응한다. 부호화 과정은 가장 왼쪽에 있는 부호화 입력 비트 시퀀스
Figure pat00118
로부터 가장 오른쪽에 있는 부호화 출력 비트 시퀀스
Figure pat00119
를 검사 노드의 관계식을 만족하도록 계산하는 과정을 나타낸다. 즉, 부호화 과정은 도 5에 예시된 그래프의 왼쪽으로부터 오른쪽으로 연결된 변수 노드들과 검사 노드의 관계에 따라 비트값을 단계적으로 업데이트하는 동작으로 이해될 수 있다.
도 4를 참고하여 설명된 복호화 과정 중 SC 기반의 복호 과정 또한 도 5의 그래프 상에서 신뢰-전파(belief-propagation)로 이해될 수 있다. 복호를 위한 첫 단계로, 부호율-역조정된
Figure pat00120
개의 내재적(intrinsic) LLR 등 소프트 값(soft-value) 확률 정보가 그래프의 가장 오른쪽의
Figure pat00121
개의 변수 노드들(521)에 입력된다. 여기서, 간결한 설명을 위해 소프트 값(soft-value) 확률 정보를 LLR로 가정하나, 이러한 가정이 본 발명의 적용 범위를 제한하지는 아니한다. 상기와 같이 내재적(intrinsic) LLR 을 설정한 뒤, 정해진 절차에 따라 SC 기반의 복호가 수행된다. SC 기반 복호의 가장 중요한 특징은 그래프의 가장 왼쪽
Figure pat00122
개의 변수 노드에 해당하는 부호화 입력 비트 시퀀스
Figure pat00123
가 비트 인덱스에 따라 한 비트씩 순차적으로 복호된다는 점이다. 부호화 입력 비트 시퀀스
Figure pat00124
의 각 비트에 대한 순차적인 복호는 해당 비트에 대한 사후 LLR(a-posteriori LLR, AP-LLR)을 계산하고, 계산된 LLR을 바탕으로 비트 값을 추정하는 과정이다. 각 비트의 AP-LLR은 그래프의 가장 오른쪽 편에 주어진 내재적(intrinsic) LLR 값으로부터 계산되는데, 이 과정은 그래프 오른편에서 왼편으로, 각 단계(stage) 별 변수 노드에 대한 LLR 값을 순차적으로 계산하는 것으로 이루어진다. 즉, 초기 내재적(intrinsic) LLR은
Figure pat00125
단계에 주어지며, 이로부터
Figure pat00126
순서로 각 단계의 일부 변수 노드에 대한 LLR 값이 계산된다. 이러한 과정을 통해
Figure pat00127
단계의 각 변수 노드에 대한 LLR 값, 즉, 하나의 부호화 입력 비트에 대한 AP-LLR 이 계산된다.
극부호 그래프 상에서의 상세한 LLR 계산 과정은 다음과 같다. 모든 LLR 값의 계산은 그래프를 구성하는 Z 모양의 기본 요소(531) 상에서 이루어진다. 도 6는 본 개시의 다양한 실시 예에 따른 통신 시스템에서 LR 계산 과정을 도시한다. Z 모양의 왼쪽 두 변수 노드에 해당하는 비트
Figure pat00128
와 오른쪽 두 변수 노드에 해당하는 비트
Figure pat00129
Figure pat00130
polar coding을 묘사하며, 이를 수학식으로 표현하면 아래와 같다.
[수학식 3]
Figure pat00131
비트
Figure pat00132
에 대응하는 LLR 값을 각각
Figure pat00133
라하면, 각 기본 요소에 대한 복호에서 오른쪽 두 변수 노드에 해당하는
Figure pat00134
Figure pat00135
가 주어지며, 단계에 따라
Figure pat00136
Figure pat00137
중 하나의 LLR 값이 계산된다. 만약
Figure pat00138
중 어느 하나의 비트 값도 현재 추정되지 아니하면, 도 6의 좌측(610)과 같이 이하 [수학식 4]의 연산을 통해
Figure pat00139
이 계산될 수 있다.
[수학식 4]
Figure pat00140
위의 식은 비트들의 관계에 따라 정확하게 LLR 값을 계산하는 방식이며, 구현을 위해 이하 [수학식 5]와 같이 근사화될 수 있다.
[수학식 5]
Figure pat00141
[수학식 5]에서, 함수
Figure pat00142
Figure pat00143
의 부호(sign)를 출력하는 함수로,
Figure pat00144
의 값이 0보다 크면 1을, 0보다 작으면 -1을 출력한다. [수학식 4] 혹은 [수학식 5]와 같이
Figure pat00145
의 LLR을 계산하는 함수는
Figure pat00146
함수라 지칭된다. 복호의 진행에 따라 비트
Figure pat00147
의 추정 값
Figure pat00148
이 얻어지면 도 6의 우측(620)과 같이 이하 [수학식 6]을 통해
Figure pat00149
를 계산한다.
[수학식 6]
Figure pat00150
[수학식 6]과 같이
Figure pat00151
의 LLR 을 계산하는 함수는
Figure pat00152
함수라 지칭되 수 있다. 앞서 기술한 바와 같이, SC 기반의 복호에서 비트 인덱스에 따라 순차적으로 비트의 복호 및 추정이 이루어지며, 따라서
Figure pat00153
에 대한 복호는
Figure pat00154
의 복호 후에 수행된다. 상술한 바와 같이 계산된
Figure pat00155
Figure pat00156
는 그래프 상에서 왼편으로 연결된 다른 Z 모양의 기본 요소로 전달된다. 이와 같은 방식으로 그래프의 가장 왼편의 변수 노드, 즉, 단계
Figure pat00157
의 부호화 입력 비트의 LLR 값이 얻어지면, 이를 바탕으로 비트 값이 추정된다. 만약 해당 비트가 동결 비트이면 LLR 값에 상관없이 송신단과 수신단이 서로 약속한 값이 대입되며, 비동결 비트이면 업데이트된 LLR 값을 경판정(hard-decision)한 값이 대입된다. 추정된 비트는 그래프의 왼쪽으로부터 오른쪽으로 현재 복호 단계에서 가능한 범위의 변수 노드로 전달되어, [수학식 6]의 과정과 같이 다른 변수 노드의 LLR 계산에 이용된다.
도 7은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 복호 이진 트리(decoding binary tree)의 일 예를 도시한다. 도 7은 앞서 설명한 SC 기반의 복호기가 수행하는 연산의 종류와 절차를 효율적으로 설명하기 위해 널리 활용되는 복호 이진 트리를 예시한 것으로, 크기 8의 극부호에 대한 복호에 대한 예이다. 이 이진 트리는 SC 복호기가 수행하는 연산의 종류를 확인하고, 각 연산이 어떠한 순서로 이루어지는지를 이해하는데 유용하다. 이진 트리에서 깊이(depth)는 도 5의 극부호 그래프의 단계(stage)와 대응한다. 이진 트리의 가장 아래쪽 리프(leaf) 노드는 단계
Figure pat00158
의 변수 노드에 대응하며, 루트(root) 노드는 단계
Figure pat00159
의 변수 노드들에 대응한다. 따라서, 이진 트리의 깊이를
Figure pat00160
라고 할 때, 대응하는 극부호 그래프의 단계와의 관계는
Figure pat00161
가 된다. 이진 트리에서 깊이
Figure pat00162
의 노드들은 극부호 그래프의 단계
Figure pat00163
의 변수 노드들에 대응한다. 이진 트리에서 깊이
Figure pat00164
의 한 노드가 나타내는 극부호 그래프의 단계
Figure pat00165
의 변수 노드들의 수는
Figure pat00166
개가 된다. 따라서 깊이
Figure pat00167
의 루트 노드는 극부호 그래프의 단계
Figure pat00168
의 모든
Figure pat00169
개의 변수 노드들에 대응한다. 또한, 깊이
Figure pat00170
의 리프 노드는 도 7에 도시된 것과 같이 극부호 그래프의 단계
Figure pat00171
Figure pat00172
개의 변수 노드에 대응된다. 즉, 이진 트리에서
Figure pat00173
번째 리프 노드는
Figure pat00174
번째 부호화 입력 비트
Figure pat00175
를 나타낸다.
SC 기반의 복호 절차는 이진 트리에서 루트 노트로부터 각 리프 노드를 깊이-우선 탐색(depth-first search, DFS) 방식으로 방문(visit) 또는 탐색(search)하는 것으로 이해할 수 있다. 각 노드를 DFS 방식으로 방문하는 과정에서, 트리의 왼쪽 노드를 방문할 때는 대응하는 변수 노드들의 LLR 값은 [수학식 4] 혹은 [수학식 5]의
Figure pat00176
함수에 의해 계산되며, 트리의 오른쪽 노드를 방문할 때 대응하는 변수 노드들의 LLR 값은 [수학식 6]의
Figure pat00177
함수에 의해 계산된다. 예를 들어, SC 복호의 첫 번째 동작으로서, 깊이
Figure pat00178
의 루트 노드로부터 깊이
Figure pat00179
의 왼쪽 노드를 방문하는 것은, 단계
Figure pat00180
Figure pat00181
개의 변수 노드에 있는 내재적(intrinsic) LLR을 가지고, 단계
Figure pat00182
Figure pat00183
/2개의 변수 노드에 대한 LLR 을
Figure pat00184
함수로 계산하는 것으로 이해될 수 있다. 이와 같이, 상기 이진 트리에서의 DFS 방식의 방문에 의해, 부모 노드(parent node)가 나타내는 변수 노드들의 LLR들을 이용하여 자식 노드(child node)가 나타내는 절반의 변수 노드들 LLR 값을 노드의 위치에 따라
Figure pat00185
함수 혹은
Figure pat00186
함수로 계산하게 된다. DFS 방식으로 상기 과정을 진행하여 만약
Figure pat00187
번째 리프 노드의 LLR 값이 계산되면, 이 값이 해당
Figure pat00188
번째 부호화 입력 비트
Figure pat00189
에 대한 AP-LLR이 된다. 이를 바탕으로
Figure pat00190
를 추정하면, 추정된 비트 값은 DFS 방식의 역-추적(traceback) 순서에 의해 다시 부모 노드에 대응하는 변수 노드들로 전달되며, 해당 부모 노드의 오른편 자식 노드를 방문할 때 각 Z 모양의 기본 요소에서 [수학식 6]과 같은
Figure pat00191
함수 연산을 가능케 한다.
이진 트리를 바탕으로 설명된 복호 과정으로부터
Figure pat00192
번째 부호화 입력 비트
Figure pat00193
의 복호를 위해서 수행되는 극부호 그래프 상에서의 단계 별 연산의 종류와 횟수를 확인할 수 있다. 예를 들어, 길이 8의 극부호 에서
Figure pat00194
에 대한 복호를 할 때, 극부호 그래프의 단계 2, 1, 0 에서는 각각
Figure pat00195
연산이 각각 4회, 2회, 1회 수행된다. 또 다른 예로,
Figure pat00196
에 대한 복호 시, 극부호 그래프의 단계 2, 1, 0 에서는
Figure pat00197
연산이 4회, 2회, 1회 수행된다. 이를 일반화하면,
Figure pat00198
의 복호를 위해서 수행되는 연산의 단계 별 종류는 비트 인덱스
Figure pat00199
의 이진 표현(binary representation)으로부터 확인될 수 있다. 비트 인덱스
Figure pat00200
를 2진수
Figure pat00201
로 표기할 경우,
Figure pat00202
는 곧 극부호 그래프에서 단계
Figure pat00203
에서 수행하는 연산의 종류를 나타내게 된다. 만약
Figure pat00204
이면,
Figure pat00205
의 복호 과정 중 단계
Figure pat00206
에서는
Figure pat00207
연산이 수행되며, 만약
Figure pat00208
이면,
Figure pat00209
의 복호 과정 중 단계
Figure pat00210
에서는
Figure pat00211
연산이 수행된다.
또한 상기 이진 트리의 DFS 방식을 이용한 설명으로부터, SC 복호기 동작의 연산 절차와 순서를 확인할 수 있다. SC 복호기가 길이
Figure pat00212
의 극부호의
Figure pat00213
번째 비트
Figure pat00214
를 복호하는 상황을 고려하자. 복호기가 수행하는 두 종류의
Figure pat00215
함수와
Figure pat00216
함수는 동일한 복잡도와 지연으로 구현할 수 있다고 가정하며,
Figure pat00217
함수와
Figure pat00218
함수 구분 없이 총 수행하는 모든 함수 연산의 횟수가 확인될 수 있다. 만약 특별한 방법을 사용하지 않고, 길이
Figure pat00219
의 극부호 에서 한 부호화 입력 비트를 복호할 때 필요한
Figure pat00220
함수와
Figure pat00221
함수의 연산 총 횟수는 다음과 같이 계산될 수 있다. 앞서 살펴보았던 바와 같이, 단계
Figure pat00222
에서 LLR 값이 계산되는 변수 노드의 개수, 즉 총 연산의 횟수는
Figure pat00223
이다. 각 비트의 복호를 위해서, 단계
Figure pat00224
으로부터
Figure pat00225
로의 연산이 발생하며, 단계
Figure pat00226
에서 변수 노드
Figure pat00227
개의 LLR에 대한 연산이 각각 이루어지므로, 총 연산의 횟수는 이하 [수학식 7]과 같이 계산될 수 있다.
[수학식 7]
Figure pat00228
Figure pat00229
개의 부호화 입력 비트들에 대해서 전술한 연산이 수행되므로, 극부호의 SC 복호에 필요한
Figure pat00230
함수와
Figure pat00231
함수 연산의 총 수는
Figure pat00232
이다. 하지만, 극부호의 구조를 적절하게 활용하면, 각 부호화 입력 비트를 복호하기 위해 항상
Figure pat00233
회의 연산을 수행할 필요는 없다. 예를 들어, 길이 8의 극부호에서
Figure pat00234
Figure pat00235
를 복호하는 것을 고려하면, 비트
Figure pat00236
의 복호 시 단계 2, 1, 0 에서 각각
Figure pat00237
함수 연산이 발생하고,
Figure pat00238
의 복호 시 단계 2, 1, 0 에서 각각
Figure pat00239
함수 연산이 수행된다. 비트
Figure pat00240
Figure pat00241
의 복호에서 수행하는 단계 2와 단계 1에서의 함수 종류와 입력 대상이 모두 동일하기 때문에, 순차적인 복호 과정에서 비트
Figure pat00242
의 복호 시 해당 연산을 다시 수행할 필요가 없다. 즉, 비트
Figure pat00243
의 복호 시 단계
Figure pat00244
에서의
Figure pat00245
함수 연산만이 요구된다. 이와 같이, 각 부호화 입력 비트의 복호 시 필요한 연산만 수행될 경우, 전체 수행되는 연산의 총 횟수는
Figure pat00246
가 된다. 즉, SC 복호기는 효율적으로 구현할 경우, 복잡도는
Figure pat00247
가 아니라
Figure pat00248
로 구현될 수 있다.
상술한 과정을 이진 트리 상에서의 DFS를 이용하여 설명한다. DFS 방식으로 노드들을 방문하는 과정에서, 복호기는 특정 리프 노드에 도달하면, 다시 부모 노드로 역-추적(traceback)하고, 부모 노드의 오른쪽에 있는 노드를 방문했는지 여부가 확인된다. 부모 노드의 오른쪽에 있는 노드를 방문하지 않았다면, 복호기는 해당 노드를 방문하게 되고, 그렇지 않았다면 상위의 부모 노드로 역-추적(traceback)한다. 이진 트리 상에서 이러한 절차는 앞서 설명한 효율적으로 구현된 SC 복호의 동작을 정확하게 묘사한다. 도 7의 예에서, 비트
Figure pat00249
에 대응하는 리프 노드를 방문한 뒤에, 단계
Figure pat00250
(깊이
Figure pat00251
)의 부모 노드를 들러 바로 오른편에 있는 단계
Figure pat00252
(깊이
Figure pat00253
)의 비트
Figure pat00254
에 대응하는 리프 노드를 찾게 된다. 이는 곧 비트
Figure pat00255
의 복호 후에 바로 단계
Figure pat00256
의 연산을 수행하는 것을 묘사한다. 이때 수행되는 연산의 횟수는 단계
Figure pat00257
의 노드가 나타내는 변수 노드의 수
Figure pat00258
개이며, 비트
Figure pat00259
에 대응하는 노드가 부모 노드의 오른편 노드이기 때문에 연산의 종류는
Figure pat00260
함수이다. 이후, 비트
Figure pat00261
의 복호 시 DFS의 절차에 따라 단계
Figure pat00262
의 연산이 먼저 수행된다.
SCL 복호는 다음과 같이 수행된다. SCL 복호는 각 부호화 입력 비트에 대한 LLR 값 계산 및 추정 단계에서 사전에 정한
Figure pat00263
개의 후보군을 유지하는 방법이다. SCL 복호기는 비트
Figure pat00264
에 대한 복호 시, 앞선 비트들
Figure pat00265
의 복호 과정에서 얻어진
Figure pat00266
개의
Figure pat00267
부분(partial) 추정 비트 시퀀스를 고려한다. 각 부분 추정 비트 시퀀스 후보군은 리스트(list) 혹은 경로(path)라고 지칭되며, 각 리스트에 대해서 확률 정보인 경로 메트릭(path-metric, PM)이 각 비트 복호 시마다 업데이트된다. PM은 각 리스트에 대한 확률 정보로서, LLR 기반으로 구현된 SCL 복호기의 경우, 리스트의 PM이 낮을수록 해당 리스트의 확률이 높은 것을 의미한다. SCL 복호기는 복호 시작 전에 각 리스트의 PM을 사전에 정한 값으로 초기화하는데, 초기 값은 보통 0이다. SCL 복호기는 각 리스트
Figure pat00268
에 대해서
Figure pat00269
의 LLR 등의 확률 정보를 계산하고,
Figure pat00270
가 각각 0과 1일 경우에 대한 LLR 등의 확률을 계산하여
Figure pat00271
개의 리스트
Figure pat00272
,
Figure pat00273
에 대한 PM을 업데이트한다. 업데이트된
Figure pat00274
개의 리스트
Figure pat00275
중 PM 을 바탕으로
Figure pat00276
개의 리스트를 선택하고 나머지는 폐기한다(pruning). 이러한 과정은 비트 인덱스에 따라 순차적으로 수행된다. 최초
Figure pat00277
를 복호하는 과정에서 고려되는 리스트의 개수는 1개이며, 복호하는 비트의 인덱스가 작은 복호 초반의 경우에는 고려하는 리스트 개수는
Figure pat00278
개보다 작다. 비동결 비트를 한 비트씩 복호할 때마다 리스트의 개수는 2배가 되며, 복호가 진행되면서 앞서 설명한 바와 같이
Figure pat00279
개의 리스트들이 고려된다. 각 리스트에 대한 복호는 서로 다른 부분 추정 비트 시퀀스
Figure pat00280
를 독립적으로 고려하여 진행되므로, SCL 복호기가 수행하는 연산량은 SC 복호기의 연산량의 대략
Figure pat00281
배가 된다.
도 8은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 이진 결정 트리(binary decision tree)의 예를 도시한다. 도 8은 길이 8의 극부호에 대해 SCL 복호기가 순차적 비트를 추정하는 과정을 묘사한 이진 결정 트리의 일 실시 예다. 도 8의 이진 결정 트리는 앞서 살펴본 도 5의 극부호 그래프, 도 6의 복호 이진 트리와는 다르다. SCL 복호는 SC 복호와 마찬가지로 비트 인덱스 순으로 부호화 입력 비트를 복호한다. SCL 복호의 이러한 동작은 도 8의 이진 결정 트리에서 루트 노드로부터 시작하여 발생할 수 있는 경로 중 최대
Figure pat00282
개를 유지하며 한 깊이씩 순차적으로 내려가는 동작으로 이해될 수 있다. 도 8의 예는 SCL 복호기의 리스트 크기
Figure pat00283
로 결정된 상황을 가정하며, 매 깊이마다 최대 4 개의 경로가 유지된다. 또한, 도 8의 예는 길이 8 극부호의 부호화 입력 비트 중
Figure pat00284
가 동결 비트이고, 나머지 비트
Figure pat00285
가 비동결 비트로 결정된 상황을 가정한다.
비트
Figure pat00286
는 동결 비트이기 때문에, 계산된 LLR 의 값에 상관없이 비트 값이 0으로 결정된다. 비트
Figure pat00287
가 모두 0이라는 가정 하에, 비동결 비트
Figure pat00288
에 대한 LLR 값을 계산한다. 도 8에 표기된
Figure pat00289
은 부호화 입력 비트
Figure pat00290
가 값
Figure pat00291
을 가질 경우에 대한 확률값으로 BM(branch metric) 라고 일컬으며, LLR 값으로부터 얻어진다. PM은 각 비트에 대한 BM을 함께 고려하여 얻어진다. 도 8의 SCL 복호기는 최대
Figure pat00292
의 리스트를 고려할 수 있기 때문에,
Figure pat00293
에 대한 복호 후 두 리스트들
Figure pat00294
,
Figure pat00295
는 도 8에 도시된 것과 같이 모두 유지될 수 있다. 두 리스트들에 대한 PM 은 각 비트 값에 대해 계산한 BM을 바탕으로 업데이트된다. 그리고, 비트
Figure pat00296
는 동결 비트이므로, 두 리스트들은
Figure pat00297
,
Figure pat00298
으로 업데이트되며, 리스트들 각각에 대한 PM도 업데이트 된다. 이때, 비록
Figure pat00299
가 동결 비트이고 값이 0으로 공통이지만, 각 리스트에서 가정하는
Figure pat00300
의 값이 다르므로, 서로 다른 LLR, BM이 계산될 수 있다. 이러한 절차에 의해, 비동결 비트
Figure pat00301
에 대한 복호가 수행된다. 도 8의 예에서, 비동결 비트
Figure pat00302
에 대한 SCL 복호를 수행해야 비로소
Figure pat00303
보다 많은 8개의 후보군이 생성되는데, 이때 계산된 PM 을 바탕으로
Figure pat00304
개의 리스트가 선택되고, 나머지 4개는 버려진다. 이와 같은 절차에 의해, 모든 비트에 대한 복호를 마무리하면, 총
Figure pat00305
개의 리스트들이 만들어지는데, 복호기는 이 중 PM 을 바탕으로 확률이 가장 높다고 판단한 하나의 리스트를 선택 및 출력한다. 만약 CRC 부호 등의 외부 부호화가 함께 연접되었다면, 리스트 중 CRC 부호의 조건을 만족하면서 PM 기반으로 확률이 가장 높다고 판단한 리스트가 선택 및 출력된다.
다양한 실시 예들에 따른 복호 기술은 SCL 복호기를 성능 손실 없이 낮은 복잡도와 지연을 가질 수 있다. 이를 위해, SCL 복호기가 수행하는 동작을 보다 자세하게 분석하여 복잡도/지연 관점에서 개선할 수 있는 부분을 확인하도록 한다. 도 8의 이진 결정 트리를 참고하며, 일 실시 예에 따른 복호 과정을 설명하면 다음과 같다.
각 비트
Figure pat00306
,
Figure pat00307
에 대해서, 추정 값에 따라 계산하는 BM 은 이진 결정 트리에서 최대
Figure pat00308
개의 경로 또는 리스트를 선택하는 과정에서 고려된다. 도 8에 도시된 바와 같이, 첫 비동결 비트 이전의 동결 비트들을 위해 계산한 BM은 이후의 모든 PM들에 동일한 값으로서 포함되며, 이는 서로 다른 PM들 사이에 공통으로 포함된 일종의 상수와 같이 작용한다. 따라서, SCL 복호기에서 첫번째 비동결 비트 이전의 동결 비트들을 위해 계산한 BM은 이후 순차적인 복호를 진행하면서
Figure pat00309
개의 리스트를 선택함에 있어서 아무런 영향을 주지 않는다. 비동결 비트 인덱스 중 가장 작은 값을
Figure pat00310
라 하면, 부호화 입력 비트
Figure pat00311
는 동결 비트들이며, 전술한 내용에 근거하여 해당 비트들에 대한 PM을 업데이트할 필요가 없으며, 나아가, 해당 비트들에 대해서 복호 자체를 수행할 필요가 없다.
부호화 과정에서, 부호율 조정을 위해 단축(shortening) 동작이 수행될 수 있다. 오류 정정 부호에 대한 단축은 부호의 길이(예: 출력 비트 개수) 및 차원(예: 입력 비트 개수)를 동일한 크기만큼 줄이는 동작이다. 단축된 극부호(shortened polar code)에서 단축된 비트의 값은 동결 비트와 동일하게 고정되며, 일반적으로 0이다. 일부 문헌에서, 단축된 비트(shortened bits) 및 동결 비트를 구분하지 않고 표기하기도 하지만, 단축된 비트 미 동결 비트는 다른 목적에 의해 사용된다.
극부호의 구조적 특성으로 인해, 단축을 할 비트들은 이진 지배(binary domination) 규칙에 의해 결정될 수 있다. 길이
Figure pat00312
의 극부호에서
Figure pat00313
비트를 단축하는 것을 고려하면, 단축되는 비트들의 인덱스 집합을
Figure pat00314
라고 할 때,
Figure pat00315
는 이진 지배의 특성에 따라 보통 모집합
Figure pat00316
에서 큰 값을 갖는 인덱스들로 구성된다. 큰 인덱스를 갖는 비트들이 단축된다는 것은, 곧 순차적인 복호 순서 상 뒤쪽의 비트들이 단축됨을 의미한다.
다양한 실시 예들에 따른 복호 기술의 일 동기는 단축된 극부호에서 가장 마지막 비동결 비트 이후에 위치한 단축된 비트(shortened bit)들에 대해서 PM을 업데이트 할 필요가 없다는 것이다. 단축된 비트의 값은 보통 0으로 고정되므로, 정보를 포함하지 아니한다. 따라서, 복호기는 해당 비트에 대한 복호를 수행할 필요가 없다. 또한, 극부호의 비트 생성의 인과성(causality)으로 인해, 복호 순서 상 뒤쪽에 있는 단축된 비트가 앞쪽에 위치한 다른 비트들의 생성 및 복호에 영향을 주지 아니한다. 단축된 극부호에서 비동결 비트 인덱스 중 가장 큰 값을
Figure pat00317
라고 하면, 부호화 입력 비트
Figure pat00318
는 단축된 비트들이며, 앞서 설명한 것처럼 단축된 비트들에 대해서 PM을 업데이트할 필요가 없다. 즉, 단축된 비트들에 대한 복호는 수행되지 아니할 수 있다.
전술한 동결 비트들 및 단축된 비트들에 근거하여 수행되는 복호 동작, 즉, 수신단의 동작은 이하 도 9 또는 이하 도 10과 같다.
도 9는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 수신단의 복호화를 위한 흐름도를 도시한다. 도 9는 수신단(120)의 동작 방법을 예시한다.
도 9를 참고하면, 901 단계에서, 수신단은 데이터를 수신한다. 데이터는 극부호를 이용하여 부호화된 복수의 비트들을 포함한다. 수신단이 단말인 경우, 수신단은 데이터의 수신에 앞서 DCI(downlink control information)을 수신할 수 있다. 수신단이 기지국인 경우, 수신단은 데이터의 수신에 앞서 UCI(uplink control information) 를 송신할 수 있다.
903 단계에서, 수신단은 복호가 불필요한 전단의 적어도 하나의 비트를 확인한다. 일 실시 예에 따라, 수신단은 DCI 또는 UCI에 포함되는 정보에 기반하여 적어도 하나의 비트를 확인할 수 있다.
905 단계에서, 수신단은 나머지 비트들 중 적어도 일부에 대한 복호를 수행한다. 예를 들어, 복호가 불필요한 적어도 하나의 비트가 복수의 비트들의 후단에도 존재하는 경우, 수신단은 복호 동작을 복수의 비트들의 마지막 비트 전에 종료할 수 있다.
도 10은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 수신단의 복호화를 위한 다른 흐름도를 도시한다. 도 10은 수신단(120)의 동작 방법을 예시한다.
도 10을 참고하면, 1001 단계에서, 수신단은 극 부호의 입력 비트 개수 K 및 출력 비트 개수 E를 확인한다. 다시 말해, 수신단은 주어지는 부호 파라미터인 부호의 입력 비트 개수에 대응하는 코드 차원(code dimension) 및 출력 비트 개수에 대응하는 코드 길이(code length)를 확인한다.
1003 단계에서, 수신단은 사용할 극부호의 부호를 구성한다. 예를 들어, 수신단은 부호 파라미터에 기반하여 사용할 극부호의 모부호(mother code), 부호율-조정(rate matching) 방식 등을 결정한다.
1005 단계에서, 수신단은 부호화의 시작 비트 인덱스 s 및 종료 비트 인덱스 e를 결정한다. 수신단은 결정된 부호 파라미터, 부호 설정 등에 기반하여 SCL 복호기를 시작할 비트 인덱스
Figure pat00319
및 종료할 비트 인덱스
Figure pat00320
를 결정할 수 있다. 부호 파라미터, 설정에 기반하여 시작/종료 비트 인덱스
Figure pat00321
Figure pat00322
를 결정함에 있어서, 다양한 방법들이 활용될 수 있다. 일 실시 예에 따라,
Figure pat00323
Figure pat00324
는 부호 파라미터, 설정과 관련된 수학식에 의해 결정될 수 있다. 다른 실시 예에 따라,
Figure pat00325
Figure pat00326
는 부호 파라미터, 설정과 관련된 참조 테이블에 의해 결정될 수 있다. 또한, 또 다른 실시 예에 따라,
Figure pat00327
Figure pat00328
는 부호 파라미터, 설정과 관련된 적절한 함수에 의해 결정될 수 있다. 또 다른 실시 예에 따라,
Figure pat00329
Figure pat00330
는 머신 러닝, 딥러닝, 강화학습 중 적어도 하나에 기반하여 결정될 수 있다. 결정된 시작 인덱스 및 종료 비트 인덱스에 기반하여, SCL 복호가 수행된다.
1007 단계에서, 수신단은 비트
Figure pat00331
로부터 복호를 시작한다. 다양한 실시 예들에 따른 SCL 복호는 종래의 SCL 복호와 달리
Figure pat00332
에 대한 LLR을 계산하는 것으로 시작된다. 즉,
Figure pat00333
의 복호에 앞서, 어떠한 연산도 수행되지 아니할 수 있다. 따라서,
Figure pat00334
의 LLR 계산을 위해서 활용할 수 있는 사전에 계산된 결과가 없기 때문에,
Figure pat00335
의 복호에 필요한 모든 연산이 수행될 수 있다. 즉,
Figure pat00336
의 LLR 계산 시 채널을 통해 주어지는 단계
Figure pat00337
의 내재적(intrinsic) LLR을 바탕으로, 각 단계
Figure pat00338
에서
Figure pat00339
개의 변수 노드에 대한 LLR 값이 순차적으로 계산된다. 이 경우, 전체 연산의 횟수는 [수학식 7]과 같이
Figure pat00340
회가 된다.
1009 단계에서, 수신단은 비트
Figure pat00341
까지 순차적으로 복호를 수행한다. 즉, 수신단은 비트
Figure pat00342
에 대한 복호를 수행한다. 이때, 각 비트에 대한 복호 시, 해당 비트보다 앞서 복호된 비트들에 대해 수행된 연산의 결과가 활용될 수 있다.
1011 단계에서, 수신단은 추정 부호화 입력 비트를 선택하고, 출력한다. 즉,
Figure pat00343
에 대한 복호가 완료되면, 수신단은 SCL 복호를 종료하고, 리스트들 중 하나를 출력한다. 이때 출력되는 리스트는 PM, 외부 부호화에 대한 복호화 결과 중 적어도 하나에 기반하여 선택될 수 있다.
도 10과 같은 방식을 통해, 수신단의 SCL 복호기는
Figure pat00344
이전 적어도 하나의 비트 및
Figure pat00345
이후 적어도 하나의 비트에 대한 복호를 수행하지 아니하고, 생략할 수 있으며, 이를 통해 복호에 필요한 연산량과 지연이 감소된다.
상기의 동작에서
Figure pat00346
혹은
Figure pat00347
인 경우에는, 본 발명의 동작이 아니어도
Figure pat00348
회의 연산이 수행되지만, 극부호 시퀀스의 이진 지배(binary domination)에 의한 부분 순서 특성 상
Figure pat00349
,
Figure pat00350
이 될 수 없음에 유의하여 한다. 이러한 점에서, 전술한 복호 동작은 종래의 기법과 차별성을 가진다.
다양한 실시 예들에 따라, 시작/종료 비트 인덱스
Figure pat00351
Figure pat00352
는 다음과 같이 결정될 수 있다.
일 실시 예에 따르면, 복호기는 주어지는 부호 파라미터와 설정에 따라 구성되는 극부호의 가장 작은 비동결 비트 인덱스
Figure pat00353
과 가장 큰 비동결 비트 인덱스
Figure pat00354
를 확인하고, 이에 따라 각각
Figure pat00355
,
Figure pat00356
를 설정할 수 있다. 이러한 설정에서 만약 극부호의 부호율-조정(rate-matching) 방법이 단축(shortening) 이 아닌 천공(puncturing), 반복(repetition), 확장(extension) 등인 경우에는
Figure pat00357
로 고정할 수 있다. 이는 단축 외의 부호율-조정 방법을 사용할 경우, 부호화 입력 비트 중에 가장 신뢰도가 높은 비트가
Figure pat00358
이기 때문에, 이 비트는 반드시 비동결 비트로 선택된다는 특징을 사전에 고려한 것이다. 이와 같이 부호 파라미터에 따라 결정되는
Figure pat00359
Figure pat00360
를 각각 시작/종료 비트 인덱스로 활용하면, 가장 많은 비트에 대한 복호를 스킵할 수 있으며, 가장 큰 복잡도 및 지연 저감 효과를 얻을 수 있다.
다른 실시 예에 따르면, 복호기는 주어지는 부호 파라미터와 설정에 따라 구성되는 극부호의 가장 작은 비동결 비트 인덱스
Figure pat00361
과 가장 큰 비동결 비트 인덱스
Figure pat00362
를 확인하고, 이에 따라 각각
Figure pat00363
,
Figure pat00364
을 만족하는 범위에서
Figure pat00365
Figure pat00366
를 결정할 수 있다. 이 실시 예에 의해 구성된 복호기는 모든 부호 파라미터마다 시작/종료 비트 인덱스를
Figure pat00367
,
Figure pat00368
로 설정하는 실시 예의 복호기보다는 더 적은 비트에 대한 복호를 스킵한다. 따라서, 앞서 살펴본 실시 예보다는 높은 복호 복잡도 및 지연을 보인다. 하지만, 복호기가 부호 파라미터마다
Figure pat00369
Figure pat00370
를 결정하는데 사용하는 연산량, 메모리 등이 더 적다는 장점이 있다.
도 11은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 시작 비트 인덱스의 분포에 대한 일 예를 도시한다. 도 11은 3GPP NR 하향링크를 위한 극부호 시스템에서, 부호화 입력 비트 수
Figure pat00371
및 부호율-조정 후 출력 비트 수
Figure pat00372
에 따라 구성된 극부호의 첫 번째 비동결 비트 인덱스, 즉,
Figure pat00373
을 예시한다. 도 11에서,
Figure pat00374
의 값이 명암으로 표시되어 있으며, 밝을수록 그 값이 크고, 어두울수록 그 값이 작다. 도 11에 나타난 바와 같이, 일정 범위의
Figure pat00375
조합에서는
Figure pat00376
값이 동일하다. 또한, 동일한 모부호 크기
Figure pat00377
을 사용하게 되는 유사한 파라미터
Figure pat00378
조합에서의
Figure pat00379
값 또한 비슷하다. 더불어, 부호율 조정 방법으로 단축이 사용될 경우에는 높은 인덱스의 비트들인 단축되면서, 상대적으로 낮은 인덱스의 비트가 비동결 비트가 되기 때문에
Figure pat00380
이 작아진다. 이러한 특징들을 활용하면, 부호 파라미터
Figure pat00381
, 모부호 크기
Figure pat00382
, 사용하는 부호율-조정 방법 등을 바탕으로 시작 비트 인덱스
Figure pat00383
를 효율적으로 결정하는 것이 가능하다.
도 12 및 도 13은
Figure pat00384
조합에 따른
Figure pat00385
값을 바탕으로 복호를 시작한 비트 인덱스
Figure pat00386
를 결정하는 일 실시 예들을 나타낸다. 앞서 살펴본 바와 같이 극부호 복호의 복잡도와 처리 시간은 모부호의 크기
Figure pat00387
에 비례한다. 모부호의 크기
Figure pat00388
이 크면, 복잡도 및 처리 시간이 크기 때문에, 결정되는
Figure pat00389
에 따라 적응적으로 시작 비트 인덱스
Figure pat00390
를 결정할 수 있다. 다음은 도 12에 도시된 것과 같이 하향링크를 위한 극부호 시스템에서 시작 비트 인덱스
Figure pat00391
를 결정하는 일 예를 나타낸다. 하기의 실시 예는 편의 상 가장 간단한 시스템에 대한 것으로, 실제 시스템은 더 다양한 분기에 의해 구성될 수 있음에 유의하여야 한다.
(1) 만약
Figure pat00392
이면,
Figure pat00393
으로 설정한다. 3GPP NR 하향링크 극부호 시스템에서 최대 모부호의 크기는
Figure pat00394
이며, 이 경우가 가장 복잡도와 처리 시간이 크다.
Figure pat00395
이 256 이하이면 복잡도와 처리 시간이 최대보다 절반 이하가 되므로, 이 이러한 경우에는
Figure pat00396
으로 설정할 수 있다. 물론
Figure pat00397
이 256 이하인 경우에 대해서도
Figure pat00398
을 참고하여
Figure pat00399
값을 0보다 크도록 결정할 수 있다.
(2) 만약
Figure pat00400
,
Figure pat00401
이고 단축이 아닌 다른 부호율-조정 방법이 사용되었다면, 도 9에 표시된 것과 같이 해당 영역에서 가장 작은
Figure pat00402
인 127 을
Figure pat00403
로 설정한다.
(3) 만약
Figure pat00404
,
Figure pat00405
이고 단축이 아닌 다른 부호율-조정 방법이 사용되었다면, 도 12에 표시된 것과 같이 해당 영역에서 가장 작은
Figure pat00406
인 223 을
Figure pat00407
로 설정한다.
다음은 도 13에 도시된 것과 같이 하향링크를 위한 극부호 시스템에서 시작 비트 인덱스
Figure pat00408
를 결정하는 또 다른 일 예를 나타낸다.
(1) 만약
Figure pat00409
이면,
Figure pat00410
으로 설정한다.
(2) 만약
Figure pat00411
,
Figure pat00412
이고 단축이 아닌 다른 부호율-조정 방법이 사용되었다면, 도 13에 도시된 것과 같이 해당 영역에서 가장 작은
Figure pat00413
인 127 을
Figure pat00414
로 설정한다.
(3) 만약
Figure pat00415
,
Figure pat00416
이고 단축이 아닌 다른 부호율-조정 방법이 사용되었다면, 도 10에 표시된 것과 같이 해당 영역에서 가장 작은
Figure pat00417
인 223 을
Figure pat00418
로 설정한다.
(4) 만약
Figure pat00419
,
Figure pat00420
이고 단축이 아닌 다른 부호율-조정 방법이 사용되었다면, 도 10에 표시된 것과 같이 해당 영역에서 가장 작은
Figure pat00421
인 31 을
Figure pat00422
로 설정한다.
(5) 만약
Figure pat00423
,
Figure pat00424
이고 단축이 아닌 다른 부호율-조정 방법이 사용되었다면, 도 10에 표시된 것과 같이 해당 영역에서 가장 작은
Figure pat00425
인 95 를
Figure pat00426
로 설정한다.
상기의 예제들과 같이 일정 범위의
Figure pat00427
Figure pat00428
조합에 대해서 가장 작은
Figure pat00429
Figure pat00430
로 설정함으로써 복호를 스케줄링하는데 필요한 복잡도, 메모리, 지연 등을 감소시킬 수 있다. 동일한 값의
Figure pat00431
를 사용할
Figure pat00432
조합의 범위는 시스템을 설계할 때 요구 사항과 특징 등을 고려하여 미리 결정될 수 있다. 만약 복호 복잡도와 지연의 감소를 목표로 하면 더 세세하게 작은
Figure pat00433
범위에 따라
Figure pat00434
를 설정할 수 있다. 만약 복호 복잡도와 처리 시간의 감소보다 간단한 복호 스케줄링을 목표로 하면 큰
Figure pat00435
조합의 범위를 기반으로
Figure pat00436
를 설정할 수 있다.
부호 파라미터
Figure pat00437
에 따른
Figure pat00438
값 분포를 바탕으로
Figure pat00439
를 결정하는 것과 마찬가지로 부호 파라미터
Figure pat00440
에 따른
Figure pat00441
값 분포를 바탕으로
Figure pat00442
범위에서
Figure pat00443
가 결정할 수 있다. 이 때 앞서 언급한 바와 같이 단축이 아닌 천공, 확장, 반복 등의 부호율-조정 방법이 사용된 경우, 혹은
Figure pat00444
가 2의 제곱수라 어떠한 부호율-조정 방법도 사용되지 않은 경우,
Figure pat00445
이 자연스러운 결정임을 고려하여
Figure pat00446
값의 설정이 보다 단순화될 수 있다. 즉, 부호율-조정 방법이 단축인 경우에 대해서만
Figure pat00447
를 고려하여
Figure pat00448
범위에서
Figure pat00449
를 결정하고, 그렇지 않은 경우에는
Figure pat00450
로 고정할 수 있다. 도 14는 3GPP NR 하향링크를 위한 극부호 시스템에서, 부호화 입력 비트 수
Figure pat00451
와 부호율-조정 후 출력 비트 수
Figure pat00452
에 따라 구성된 극부호의 마지막 비동결 비트 인덱스, 즉,
Figure pat00453
을 도시한다. 도 14는 극부호의 구성이 단축을 사용하는 경우에 대해서만
Figure pat00454
를 도시한다. 이와 같이, 사전에 기-결정된
Figure pat00455
의 정보를 바탕으로,
Figure pat00456
범위에서
Figure pat00457
를 결정한다.
Figure pat00458
Figure pat00459
의 설정을 위해
Figure pat00460
Figure pat00461
분포를 확인하는 것은 복호기 혹은 복호기의 사전 프로세서의 설계와 관련된 것이다. 이러한 동작은 복호 동작과 관련이 없음에 유의하여야 한다. 즉, 이러한 동작은 시스템 설계 시 1회의 설계(one-time design)에 해당하는 부분이며, 복호 동작의 복잡도 및 처리 시간을 크게 상승시키지 아니할 것이다.
종래에도 SC 및 SCL 복호기의 복잡도와 지연을 감소시키기 위한 방법들이 제안된 바 있다. 대표적인 방법이 간략화된 SC(simplified SC, SSC) 복호 기법, 간략화된 SSCL(simplified SCL, SSCL) 복호 기법이다. 이러한 방법들은 부호 파라미터에 따라 도 5에 보인 복호 이진 트리를 수정하여 일부 노드들을 합쳐 특수 노드로 만들고, 특수 노드를 별도의 방법으로 효율적으로 처리함으로써 전체적으로 수행되는 연산을 감소시킨다. 대표적인 특수 노드로는 rate-0 노드, rate-1 노드, 반복(repetition) 노드, 단일 패리티 검사(single parity-check, SPC) 노드 등이 있다.
SSC 복호기 또는 SSCL 복호기를 구현하기 위해서, 부호 파라미터에 따라 복호 이진 트리의 분석 및 수정과 같이 복호기의 동작을 스케줄링하는 동작의 선행이 요구된다. 만약 시스템에서 지원해야 하는 부호 파라미터의 조합 개수가 적은 경우, 사전에 스케줄링된 정보를 메모리 등에 저장함으로써, 효율적인 구현이 가능하다. 하지만, 3GPP NR 극부호 시스템과 같이 무수한 부호 파라미터 조합들을 고려하는 경우, 사전에 스케줄링된 정보를 메모리에 저장하는 것이 어려우며, 복호기는 각 부호 파라미터마다 사전에 복호 이진 트리를 분석하고, 스케줄링을 진행해야 한다. 또한, 특수 노드들(예: rate-0, rate-1, repetition, SPC 노드 등) 을 처리하기 위해서 별도의 함수, 프로세스, 메모리 등이 필요하다. 특수 노드의 종류는 동일하더라도, 하나의 특수 노드가 포함하는 자식 노드들의 개수에 따라 서로 다른 함수, 프로세스, 메모리가 필요할 수도 있다. 그리고, 특수 노드에서는 LLR과 PM 계산을 위해 수행하는 연산은 간략화되는 것이지, 연산 자체가 되는 것은 아니다.
다양한 실시 예들에 따른 복호기는 전술한 SSC 복호기 또는 SSCL 복호기에 비하여 간단하게 구현될 수 있다. 도 15는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 복호기의 구성을 도시한다. 도 15를 참고하면, 복호기는 디코딩 제어기(1520) 및 SCL 디코더(1570)를 포함한다. 디코딩 제어기(1520)은 전술한 실시 예들 중 하나에 따라 시작 비트 인덱스 또는 종료 비트 인덱스를 결정한다. SCL 복호기(1570)는 디코딩 제어기(1520)에 의해 결정된 시작 비트 인덱스 또는 종료 비트 인덱스에 기반하여 복호 동작을 수행한다.
다양한 실시 예들에 따른 복호기에게 요구되는 복호에 대한 스케줄링은 SSC, SSCL 복호보다 간단하다. 본 개시의 다양한 실시 예들에 따른 복호 동작은 복호 이진 트리의 분석을 요구하지 아니하며, 단순히 시작 비트 인덱스 및 종료 비트 인덱스를 결정하는 것만을 요구한다. 나아가, 본 개시의 다양한 실시 예들에 따른 복호기의 경우, 앞서 살펴본 발명의 일 실시 예에 따라, 약간의 성능 손해를 감수하면서 복호기를 스케줄링 하는 복잡도, 메모리 등을 더 감소시키는 것도 가능하다. 또한, 본 개시의 다양한 실시 예들에 따른 복호 방식은 특수 노드를 고려하지 아니하므로, 특수 노드의 종류와 크기에 따라 별도의 함수, 프로세스, 메모리 등을 구성하는 것이 요구되지 아니한다. 마지막으로, SSC 복호 또는 SSCL 복호의 경우, 각 특수 노드에 대해서 PM 등이 계산되지만, 본 개시의 다양한 실시 예들에 따른 복호기는 일부 비트에 대해서 연산 자체를 수행하지 않는다.
도 16 및 17은 본 개시의 다양한 실시 예들에 따른 복호 기법의 성능을 도시한다. 도 16 및 17은 3GPP NR 상향링크 극부호 시스템을 고려한다. 도 16 및 도 17은 극부호 입력 비트 수
Figure pat00462
및 부호율-조정 출력 비트 수
Figure pat00463
에 따른 일반적인 SCL 복호 대비 본 개시의 다양한 실시 예들에 따른 복호 기법의 지연 저하율(latency reduction ratio) 및 복잡도 저하율(complexity reduction ratio)을 각각 보여준다. 각 파라미터에서의 저하율은 일반적인 SCL 복호기와 본 발명의 SCL 복호기가 수행하는 실제 연산 수와 단계를 계산하여 얻어진 것이다. 여기서, 저하율 0은 복잡도 및 지연 저하가 없다는 의미이고, 저하율 1은 모든 연산의 생략됨을 의미한다. 즉, 저하율이 크면 클수록 복잡도 저하율 및 지연 저하율이 크다 의미한다. 이 저하율은 각 도면에서 명암으로 표시되며, 밝을수록 그 값이 크고, 어두울수록 그 값이 작다. 각 도면에 나타난 바와 같이
Figure pat00464
가 작은 경우, 본 발명에 의한 복호 복잡도와 지연 저감이 최대 40% 수준까지 커진다. 3GPP NR 상향링크를 통해 전송되는 UCI(uplink control information) 가 일반적으로 100 비트 이하임을 고려하면, 대부분의 UCI 전송 상황에서 상당한 복호 복잡도 및 지연의 안정적인 저감을 기대할 수 있다.
다양한 실시 예들에 따르면, 극부호 부호화된 부호어의 SCL 복호기 등으로 복호함에 있어, 불필요한 연산을 생략함으로써, 필요한 연산량, 연산 시간이 감소된다. 특히, 전술한 바와 같이, 복호 과정의 단순화를 위해 부호의 구성을 사전에 분석하거나, 분석된 결과에 따라 특정 요소마다 적응적으로 연산을 수행하는 블록이 요구되지 아니한다. 이를 통해, 극부호의 복호 단순화를 위해 추가로 사용/구성하는 연산 및 하드웨어가 최소화된다. 또한, 본 개시의 다양한 실시 예들에 따른 복호 기법은 넓은 범위의 부호 차원(code dimension), 부호 길이(code length), 부호율(code rate) 로 부호화된 부호어의 복호를 빈틈없이 포괄적으로 지원할 수 있다. 본 개시의 다양한 실시 예들에 따르면, 낮은 부호율이 사용되는 경우, 약 절반 이상의 연산이 생략되고, 이로 인해 복호 복잡도 및 지연이 약 40% 가량 낮아질 수 있다.
본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(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. 통신 시스템에서 수신 장치의 동작 방법에 있어서,
    극부호(polar)를 이용하여 부호화된, 복수의 비트들을 포함하는 데이터를 수신하는 과정과,
    상기 복수의 비트들 중 복호 연산이 불필요한 적어도 하나의 비트를 확인하는 과정과,
    상기 적어도 하나의 비트를 제외한 나머지 비트들 중 적어도 일부에 대한 복호를 수행하는 과정을 포함하는 방법.
  2. 청구항 1에 있어서,
    상기 복호 연산이 불필요한 적어도 하나의 비트는, 극부호의 입력 비트 개수 및 출력 비트 개수에 기반하여 확인되는 방법.
  3. 청구항 1에 있어서,
    상기 복호 연산이 불필요한 적어도 하나의 비트는, 극부호의 입력 비트 개수 및 출력 비트 개수의 조합이 속하는 범위에 대응하는 인덱스 값을 검색함으로써 확인되는 방법.
  4. 청구항 3에 있어서,
    상기 범위에 대응하는 인덱스 값은, 상기 범위에 속하는 상기 입력 비트 개수 및 상기 출력 비트 개수의 조합들의 첫번째 비동결(unfrozen) 비트의 인덱스들 중 최소 값인 방법.
  5. 청구항 1에 있어서,
    상기 복호 연산이 불필요한 적어도 하나의 비트는, 극부호의 입력 비트 개수 및 출력 비트 개수에 기반하여 결정되는 상기 극부호에 관련된 부호 설정에 기반하여 결정되며,
    상기 부호 설정은, 모부호(mother code)의 크기, 부호율 조정(rate matching) 방식 중 적어도 하나를 포함하는 방법.
  6. 청구항 1에 있어서,
    상기 복호 연산이 불필요한 적어도 하나의 비트는, 복호에 대한 시작 비트 인덱스 및 복호에 대한 종료 비트 인덱스 중 적어도 하나에 의해 특정되는 방법.
  7. 청구항 1에 있어서,
    상기 복호 연산이 불필요한 적어도 하나의 비트는, 상기 복수의 비트들 중 전단에 위치한 적어도 하나의 동결(frozne) 비트 및 상기 복수의 비트들 중 후단에 위치한 적어도 하나의 단축된(shortened) 비트 중 적어도 하나를 포함하는 방법.
  8. 청구항 1에 있어서,
    상기 적어도 일부에 대한 복호를 수행하는 과정은,
    상기 적어도 일부 중 가장 앞에 위치한 비트를 복호하기 위해, 상기 복수의 비트들의 개수 보다 1 작은 횟수의 LLR(log likelihood ratio) 계산 연산을 수행하는 과정을 포함하는 방법.
  9. 청구항 1에 있어서,
    상기 데이터의 수신에 앞서 DCI(downlink control information)을 수신하는 과정을 더 포함하며,
    상기 복호 연산이 불필요한 적어도 하나의 비트는, 상기 DCI에 포함되는 정보에 기반하여 확인되는 방법.
  10. 청구항 1에 있어서,
    상기 데이터의 수신에 앞서 UCI(uplink control information)을 송신하는 과정을 더 포함하며,
    상기 복호 연산이 불필요한 적어도 하나의 비트는, 상기 UCI에 포함되는 정보에 기반하여 확인되는 방법.
  11. 통신 시스템에서 수신 장치에 있어서,
    송수신기와,
    상기 송수신기와 연결된 적어도 하나의 프로세서를 포함하며,
    상기 적어도 하나의 프로세서는,
    극부호(polar)를 이용하여 부호화된, 복수의 비트들을 포함하는 데이터를 수신하고,
    상기 복수의 비트들 중 복호 연산이 불필요한 적어도 하나의 비트를 확인하고,
    상기 적어도 하나의 비트를 제외한 나머지 비트들 중 적어도 일부에 대한 복호를 수행하는 수신 장치.
  12. 청구항 11에 있어서,
    상기 복호 연산이 불필요한 적어도 하나의 비트는, 극부호의 입력 비트 개수 및 출력 비트 개수에 기반하여 확인되는 수신 장치.
  13. 청구항 11에 있어서,
    상기 복호 연산이 불필요한 적어도 하나의 비트는, 극부호의 입력 비트 개수 및 출력 비트 개수의 조합이 속하는 범위에 대응하는 인덱스 값을 검색함으로써 확인되는 수신 장치.
  14. 청구항 13에 있어서,
    상기 범위에 대응하는 인덱스 값은, 상기 범위에 속하는 상기 입력 비트 개수 및 상기 출력 비트 개수의 조합들의 첫번째 비동결(unfrozen) 비트의 인덱스들 중 최소 값인 수신 장치.
  15. 청구항 11에 있어서,
    상기 복호 연산이 불필요한 적어도 하나의 비트는, 극부호의 입력 비트 개수 및 출력 비트 개수에 기반하여 결정되는 상기 극부호에 관련된 부호 설정에 기반하여 결정되며,
    상기 부호 설정은, 모부호(mother code) 의 크기, 부호율 조정(rate matching) 방식 중 적어도 하나를 포함하는 수신 장치.
  16. 청구항 11에 있어서,
    상기 복호 연산이 불필요한 적어도 하나의 비트는, 복호에 대한 시작 비트 인덱스 및 복호에 대한 종료 비트 인덱스 중 적어도 하나에 의해 특정되는 수신 장치.
  17. 청구항 11에 있어서,
    상기 복호 연산이 불필요한 적어도 하나의 비트는, 상기 복수의 비트들 중 전단에 위치한 적어도 하나의 동결(frozne) 비트 및 상기 복수의 비트들 중 후단에 위치한 적어도 하나의 단축된(shortened) 비트 중 적어도 하나를 포함하는 수신 장치.
  18. 청구항 11에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 적어도 일부 중 가장 앞에 위치한 비트를 복호하기 위해, 상기 복수의 비트들의 개수 보다 1 작은 횟수의 LLR(log likelihood ratio) 계산 연산을 수행하는 수신 장치.
  19. 청구항 11에 있어서,
    상기 적어도 하나의 프로세서는, 상기 데이터의 수신에 앞서 DCI(downlink control information)을 수신하도록 제어하며,
    상기 복호 연산이 불필요한 적어도 하나의 비트는, 상기 DCI에 포함되는 정보에 기반하여 확인되는 수신 장치.
  20. 청구항 11에 있어서,
    상기 적어도 하나의 프로세서는, 상기 데이터의 수신에 앞서 UCI(uplink control information)을 송신하도록 제어하며,
    상기 복호 연산이 불필요한 적어도 하나의 비트는, 상기 UCI에 포함되는 정보에 기반하여 확인되는 수신 장치.
KR1020190174395A 2019-12-24 2019-12-24 통신 시스템에서 극부호의 복호화 장치 및 방법 KR20210081952A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020190174395A KR20210081952A (ko) 2019-12-24 2019-12-24 통신 시스템에서 극부호의 복호화 장치 및 방법
PCT/KR2020/018557 WO2021132983A1 (ko) 2019-12-24 2020-12-17 통신 시스템에서 극부호의 복호화 장치 및 방법
EP20904850.3A EP4075672A4 (en) 2019-12-24 2020-12-17 DEVICE AND METHOD FOR POLAR CODE DECODING IN A COMMUNICATION SYSTEM
US17/788,526 US20230034299A1 (en) 2019-12-24 2020-12-17 Device and method for decoding polar code in communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190174395A KR20210081952A (ko) 2019-12-24 2019-12-24 통신 시스템에서 극부호의 복호화 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20210081952A true KR20210081952A (ko) 2021-07-02

Family

ID=76574465

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190174395A KR20210081952A (ko) 2019-12-24 2019-12-24 통신 시스템에서 극부호의 복호화 장치 및 방법

Country Status (4)

Country Link
US (1) US20230034299A1 (ko)
EP (1) EP4075672A4 (ko)
KR (1) KR20210081952A (ko)
WO (1) WO2021132983A1 (ko)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101951663B1 (ko) * 2012-12-14 2019-02-25 삼성전자주식회사 Crc 부호와 극 부호에 의한 부호화 방법 및 장치
CN107733562B (zh) * 2016-08-12 2021-02-23 上海诺基亚贝尔股份有限公司 极化码的编解码方法及装置
WO2018161274A1 (en) * 2017-03-08 2018-09-13 Qualcomm Incorporated Polar coding design for performance and latency
US11005597B2 (en) * 2017-06-14 2021-05-11 Idac Holdings, Inc. Two-stage scrambling for polar coded PDCCH transmission
GB201711055D0 (en) * 2017-07-10 2017-08-23 Accelercomm Ltd Electronic device with bit pattern generation, integrated circuit and method for polar coding
WO2019227276A1 (en) * 2018-05-28 2019-12-05 Qualcomm Incorporated Polar code construction for incremental redundancy

Also Published As

Publication number Publication date
WO2021132983A1 (ko) 2021-07-01
EP4075672A1 (en) 2022-10-19
EP4075672A4 (en) 2023-01-18
US20230034299A1 (en) 2023-02-02

Similar Documents

Publication Publication Date Title
CN108631930B (zh) Polar编码方法和编码装置、译码方法和译码装置
US11025278B2 (en) Polar coding encoding/decoding method and apparatus
US11637653B2 (en) Method and apparatus of rate-matching for communication and broadcasting systems
KR20190038933A (ko) Qc ldpc 코드의 레이트 매칭 방법 및 이를 위한 장치
KR102541319B1 (ko) 무선 통신 시스템에서 극 부호를 이용한 부호화 및 복호화를 위한 장치 및 방법
CN111082812B (zh) 使用路径度量解码输入数据的设备及使用其的解码方法
US10666392B2 (en) Apparatus and methods for rate matching in polar coding
EP4050805A1 (en) Method and apparatus for decoding polar code in communication and broadcasting system
US10812107B2 (en) Apparatus and methods for polar code construction and bit position allocation
CN109478896A (zh) 使用行正交结构的ldpc码传输方法以及用于此的设备
CN110383727B (zh) 用于ldpc码的分层解码方法及其装置
US10819372B2 (en) Method for dividing transport block of LDPC code and apparatus therefor
US10756761B2 (en) Method for dividing carrying block of LDPC code and apparatus therefor
US11824654B2 (en) Method and apparatus for decoding polar code in communication and broadcasting system
US11018696B2 (en) Soft output decoding of polar codes
KR102338852B1 (ko) 무선 통신 시스템에서 신호를 복호하기 위한 장치 및 방법
KR20210081952A (ko) 통신 시스템에서 극부호의 복호화 장치 및 방법
CN112737600B (zh) 译码方法和译码器
KR101835341B1 (ko) Sc-ldpc 코드의 쌍방향 슬라이딩 윈도우 복호 방법 및 이를 위한 장치
US11239949B2 (en) Apparatus and methods for polar code construction and coding
Oliveira et al. Polarization-driven puncturing for polar codes in 5g systems
CN113162633B (zh) 极化码的译码方法及装置、译码器、设备、存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal