KR20220157146A - 극 부호의 부호화 및 복호화를 위한 방법 및 장치 - Google Patents

극 부호의 부호화 및 복호화를 위한 방법 및 장치 Download PDF

Info

Publication number
KR20220157146A
KR20220157146A KR1020210064862A KR20210064862A KR20220157146A KR 20220157146 A KR20220157146 A KR 20220157146A KR 1020210064862 A KR1020210064862 A KR 1020210064862A KR 20210064862 A KR20210064862 A KR 20210064862A KR 20220157146 A KR20220157146 A KR 20220157146A
Authority
KR
South Korea
Prior art keywords
bits
bit
parity
weak
polar code
Prior art date
Application number
KR1020210064862A
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 KR1020210064862A priority Critical patent/KR20220157146A/ko
Priority to US17/749,636 priority patent/US11936400B2/en
Publication of KR20220157146A publication Critical patent/KR20220157146A/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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/098Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit using single parity bit
    • 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/1575Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
    • 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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/253Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with concatenated 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/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/618Shortening and 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/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/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • 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
    • 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/0061Error detection codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1157Low-density generator matrices [LDGM]
    • 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/0061Error detection codes
    • H04L1/0063Single parity check

Landscapes

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

Abstract

본 개시는 극 부호의 부호화 및 복호화를 위한 방법 및 장치에 관한 것이다. 본 개시의 일 실시예에 따르면, 부호화 장치는 극 부호를 구성하는 비트들의 인덱스 집합에 기초하여 각 비트의 상태를 지시하는 상태 지시 정보를 획득하고, 상태 지시 정보에 따라 결정된 취약 비트의 수 및 패리티 비트로 이용하고자 하는 비트 수에 기초하여, 극 부호의 pc-체인 내부 및 상기 극 부호의 pc-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 취약 비트 또는 차취약 비트를 패리티 비트로 식별하며, 극 부호의 pc-체인 내부 및 극 부호의 pc-체인 간의 연결 관계에 따라 식별된 패리티 비트의 수가 패리티 비트로 이용하고자 하는 비트 수에 대응됨에 따라, 취약 비트 또는 차취약 비트의 상기 패리티 비트로의 식별을 종료하고, 식별된 패리티 비트를 포함하는 극 부호를 획득할 수 있다.

Description

극 부호의 부호화 및 복호화를 위한 방법 및 장치 {METHOD AND APPARATUS FOR ENCODING AND DECODING POLAR CODE}
본 개시는 극 부호의 부호화를 위한 방법 및 그 장치에 관한 것이다. 또한, 본 개시는 극 부호의 복호화를 위한 방법 및 그 장치에 관한 것이다.
채널 코딩(channel coding)은 데이터의 전송 시 패리티(parity) 비트들을 활용하여 높은 신뢰도를 가지고 안전하게 메시지가 전송될 수 있도록 하는 기술이다. 데이터가 높은 신뢰도를 가지고 안전하게 전송되도록 하기 위해서는 오류정정부호의 활용이 필수적이다. Shannon은 신뢰성 있는 통신이 가능한 최대 정보 전송량을 '채널 용량(channel capacity)'으로 정의하였다. 이후 Shannon의 채널용량에 접근하기 위한 수많은 오류정정부호에 관한 연구들이 진행되었다. Hamming, BCH (Bose-Chaudhuri-Hocquenghem), RS (Reed-Solomon) 부호와 같은 고전 부호들을 시작으로 저밀도 패리티 검사 부호(low-density parity check: LDPC), 터보(turbo) 부호, 극부호(polar codes) 등 다양한 현대 부호들이 새롭게 제안되었으며, 특히 LDPC 부호는 대표적인 채널용량 접근(approaching) 부호로 알려져 있다.
그 중에서도 극부호는 2009년 Arikan에 의해 처음 제안된 오류정정부호로, 부호길이가 길어짐에 따라 채널용량을 달성(achieving)하는 것이 이론적으로 증명된 부호이다. 연속 제거(successive cancellation: SC) 복호 기반의 극부호 복호 성능은 LDPC 부호나 터보 부호에 비해 매우 저하되었으나, 이후 연속 제거 리스트(SC-List: SCL) 복호 기반의 개선된 복호 알고리듬을 통해 크게 복호 성능이 개선되었다. 특히, 5G 표준화 과정을 통해 순환중복검사(cyclic redundancy check: CRC) 부호와 패리티 검사(parity check: PC) 부호를 활용하여 복호의 중간 및 최종 단계에서 오류정정 및 검출 능력을 더욱 향상시켜 초광대역 통신(enhanced mobile broadband: eMBB) 제어용 채널을 위한 오류정정부호로 채택되었다.
극부호의 설계는 채널 양극화(channel polarization) 과정을 통해 얻어진 서로 다른 비트채널들 중 신뢰도가 높은 비트채널들을 선택하여 데이터를 전송하는 과정으로 정의될 수 있다. 이 때 실제 채널 환경에 따라 비트채널들의 퀄리티(quality) 및 신뢰도 우열 관계가 항상 달라질 수 있으므로, 극부호의 부호설계는 채널 의존적(channel-dependent)이다. 극부호의 부호설계를 위한 비트 채널 퀄리티 평가에는 밀도 진화(density evolution), 가우시안 근사(Gaussian approximation), 양극화 신뢰도(polarization weight)와 같은 다양한 방법들이 사용될 수 있다. 한편, RM (Reed-Muller) 부호는 극부호와 동일한 생성행렬을 사용하지만 다른 부호설계 철학을 가진다. RM 부호는 부호어의 최소 거리(minimum distance)를 최대화하는 정보집합을 결정하게 되는데, 특정 비트에 상응하는 생성행렬 내 행 무게(row weight)가 큰 것부터 정보집합에 포함시킨다. 따라서 RM 부호는 채널 비의존적(channel-independent)인 부호설계 특징을 갖는다. 즉, RM 부호는 채널 파라미터에 따라 최적화된 부호 시퀀스를 따로 정의하지 않는다.
하지만, 극부호의 SCL 복호 시 우수한 복호 성능(e.g., 블록 에러율)을 위해서는 정보집합의 최소거리(minimum distance)와 실제 비트채널들의 퀄리티를 모두 반영한 부호 설계 방법에 관한 연구가 필요하다.
본 개시는 비트들 간의 다양한 연결 관계를 고려해 효과적으로 패리티 비트들의 위치를 결정하여 복호 성능을 향상시키는 패리티 극부호의 부호화 및 복호화를 위한 기술을 제공하고자 한다.
본 개시의 일 실시예에 따른 극 부호의 부호화를 위한 방법은, 극 부호를 구성하는 비트들의 인덱스 집합에 기초하여 각 비트의 상태를 지시하는 상태 지시 정보를 획득하는 단계; 상태 지시 정보에 따라 결정된 취약 비트의 수 및 패리티 비트로 이용하고자 하는 비트 수에 기초하여, 극 부호의 PC-체인 내부 및 극 부호의 PC-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 취약 비트 또는 차취약 비트를 패리티 비트로 식별하는 단계; 극 부호의 PC-체인 내부 및 극 부호의 PC-체인 간의 연결 관계에 따라 식별된 패리티 비트의 수가 패리티 비트로 이용하고자 하는 비트 수에 대응됨에 따라, 취약 비트 또는 차취약 비트의 패리티 비트로의 식별을 종료하는 단계; 및 식별된 패리티 비트를 포함하는 극 부호를 획득하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따른 극 부호의 복호화를 위한 방법은, 극 부호에서 극 부호의 PC-체인 내부 및 극 부호의 PC-체인 간의 연결 관계에 따라 식별된 패리티 비트의 인덱스에 관한 정보 및 극 부호를 획득하는 단계; 및 패리티 비트의 인덱스에 관한 정보를 기초로 획득된 극 부호를 복호화하는 단계를 포함하고, 패리티 비트는, 상태 지시 정보에 따라 결정된 취약 비트의 수 및 패리티 비트로 이용하고자 하는 비트 수에 기초하여, 극 부호의 PC-체인 내부 및 극 부호의 PC-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 취약 비트 또는 차취약 비트를 포함하고, 상태 지시 정보는, 극 부호를 구성하는 비트들의 인덱스 집합에 기초하여 각 비트의 상태를 지시하는 정보일 수 있다.
본 개시의 일 실시예에 따른 극 부호의 부호화를 위한 장치는, 송수신부; 및 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는, 극 부호를 구성하는 비트들의 인덱스 집합에 기초하여 각 비트의 상태를 지시하는 상태 지시 정보를 획득하고, 상태 지시 정보에 따라 결정된 취약 비트의 수 및 패리티 비트로 이용하고자 하는 비트 수에 기초하여, 극 부호의 PC-체인 내부 및 극 부호의 PC-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 취약 비트 또는 차취약 비트를 패리티 비트로 식별하며, 극 부호의 PC-체인 내부 및 극 부호의 PC-체인 간의 연결 관계에 따라 식별된 패리티 비트의 수가 패리티 비트로 이용하고자 하는 비트 수에 대응됨에 따라, 취약 비트 또는 차취약 비트의 패리티 비트로의 식별을 종료하고, 식별된 패리티 비트를 포함하는 극 부호를 획득할 수 있다.
본 개시의 일 실시예에 따른 극 부호의 복호화를 위한 장치는, 송수신부; 및 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는, 극 부호에서 극 부호의 PC-체인 내부 및 극 부호의 PC-체인 간의 연결 관계에 따라 식별된 패리티 비트의 인덱스에 관한 정보 및 극 부호를 획득하고, 패리티 비트의 인덱스에 관한 정보를 기초로 획득된 극 부호를 복호화하며, 패리티 비트는, 상태 지시 정보에 따라 결정된 취약 비트의 수 및 패리티 비트로 이용하고자 하는 비트 수에 기초하여, 극 부호의 PC-체인 내부 및 극 부호의 PC-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 취약 비트 또는 차취약 비트를 포함하고, 상태 지시 정보는, 극 부호를 구성하는 비트들의 인덱스 집합에 기초하여 각 비트의 상태를 지시하는 정보일 수 있다.
본 개시에 따른 극 부호의 부호화 및 복호화를 위한 방법 및 장치는 극부호의 복호 시 적절하게 배치된 패리티 비트들이 연속 제거 리스트 복호 과정에서 올바른 복호 경로를 선택할 수 있도록 도와주는 역할을 수행한다.
도 1은 극부호를 위한 채널 합성 및 채널 분리 과정을 설명하기 위한 도면이다.
도 2는 PC 극 부호를 위한 송신기 구조를 나타낸 도면이다.
도 3은 PC 극 부호를 위한 비트 분류 과정을 설명하기 위한 도면이다.
도 4는 PC 프리코딩 과정을 설명하기 위한 도면이다.
도 5는 극 부호에서 PC 체인 별 연결 관계를 설명하기 위한 도면이다.
도 6은 기존의 PC 극 부호의 패리티 집합 결정 방법을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시예에 따라 패리티 비트를 포함하는 극 부호를 획득하는 방법을 설명하기 위한 흐름도이다.
도 8은 본 개시의 일 실시예에서 PC-체인 내/외의 구조를 고려하여 설정된 패리티 비트 선택 우선 순위를 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시예에 따른 패리티 비트 선택 과정을 설명하기 위한 도면이다.
도 10은 본 개시의 다른 실시예에 따른 패리티 비트 선택 과정을 설명하기 위한 도면이다.
도 11은 본 개시의 다른 실시예에 따른 패리티 비트 선택 과정을 설명하기 위한 도면이다.
도 12a는 본 개시의 일 실시예에 따른 식별된 패리티 비트들을 포함한 극 부호의 부호화 파라미터 별 BLER을 설명하기 위한 그래프이다.
도 12b는 본 개시의 일 실시예에 따른 식별된 패리티 비트들을 포함한 극 부호의 부호화 파라미터 별 BLER을 설명하기 위한 그래프이다.
도 12c는 본 개시의 일 실시예에 따라 식별된 패리티 비트들을 포함한 극 부호의 패리티 비트의 개수에 따른 요구 SNR[dB]을 설명하기 위한 그래프이다.
도 13은 일 실시예에 따른 극 부호의 부호화 및 복호화 방법을 수행하는 UE와 기지국의 동작을 설명하기 위한 흐름도이다.
도 14는 일 실시예에 따른 부호화 장치의 블록도이다.
도 15는 일 실시예에 따른 복호화 장치의 블록도이다.
이하, 본 개시의 실시예들을 첨부된 도면을 참조하여 상세히 설명한다.
본 개시를 설명함에 있어서 본 개시가 속하는 기술 분야에 익히 알려져 있고 본 개시와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 개시의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
마찬가지 이유로 첨부된 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성 요소에는 동일한 참조 번호를 부여하였다.
본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시의 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. 또한 본 개시를 설명함에 있어서 관련된 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하, 기지국(base station: BS)은 단말의 자원 할당을 수행하는 주체로서, gNode B, eNode B, Node B, (또는 xNode B (여기서 x는 g, e를 포함하는 알파벳)), 무선 접속 유닛, 기지국 제어기, 위성 (satellite), 비행체 (airborn), 또는 네트워크 상의 노드 중 적어도 하나일 수 있다. 단말(user equipment: UE)은 MS (Mobile Station), 차량 (Vehicular), 위성 (satellite), 비행체 (airborn), 셀룰러폰, 스마트폰, 컴퓨터, 또는 통신기능을 수행할 수 있는 멀티미디어 시스템을 포함할 수 있다. 본 개시에서 하향링크(Downlink, DL)는 기지국이 단말에게 전송하는 신호의 무선 전송경로이고, 상향링크(Uplink, UL)는 단말이 기국에게 전송하는 신호의 무선 전송경로를 의미한다. 추가적으로 단말이 또 다른 단말에게 전송하는 신호의 무선 전송 경로를 의미하는 사이드링크(sidelink, SL)가 존재할 수 있다.
또한, 이하에서 LTE, LTE-A 또는 5G 시스템을 일 예로서 설명할 수도 있지만, 유사한 기술적 배경 또는 채널형태를 갖는 여타의 통신시스템에도 본 개시의 실시예가 적용될 수 있다. 예를 들어 5G 이동통신 기술(혹은 new radio, NR) 이후에 개발되는 5G-Advance 또는 NR-Advance 또는 6세대 이동통신 기술(6G)이 이에 포함될 수 있으며, 이하의 5G는 기존의 LTE, LTE-A 및 유사한 다른 서비스를 포함하는 개념일 수도 있다. 또한, 본 개시는 숙련된 기술적 지식을 가진 자의 판단으로써 본 개시의 범위를 크게 벗어나지 아니하는 범위에서 일부 변형을 통해 다른 통신시스템에도 적용될 수 있다.
이때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예를 들면, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이때, 본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다. 또한 실시예에서 '~부'는 하나 이상의 프로세서를 포함할 수 있다.
도 1은 극부호를 위한 채널 합성 및 채널 분리 과정을 설명하기 위한 도면이다.
극 부호(polar codes)는 채널용량을 이론적으로 달성할 수 있는 오류정정부호로, 채널 합성(combining) 및 분리(splitting)로 구성되는 '채널 양극화(channel polarization)' 현상을 이용해 부호가 설계될 수 있다.
Figure pat00001
비트들 (
Figure pat00002
:
Figure pat00003
번째 소스비트)과 생성행렬
Figure pat00004
크로네커 곱(Kronecker product))과의 곱을 통해
Figure pat00005
비트들 (
Figure pat00006
:
Figure pat00007
번째 코드워드 비트)이 생성될 수 있다. 또한, 각각의 코드워드 비트들은 i.i.d (independently and identically distributed)인 채널
Figure pat00008
를 경험해
Figure pat00009
비트들 (
Figure pat00010
:
Figure pat00011
번째 수신신호 비트)로 생성될 수 있다. 이 때
Figure pat00012
도메인(domain)의 비트들과
Figure pat00013
도메인의 비트들을 연결 짓는 하나의 커다란 합성채널
Figure pat00014
이 획득될 수 있으며, 이러한 과정을 채널 합성이라 한다.
채널 분리는 합성채널
Figure pat00015
로부터 각각의
Figure pat00016
비트들이 겪게 되는 비트 채널(bit channel)인
Figure pat00017
들을 얻는 과정을 일컫는다. u 비트들이 겪게 되는 비트 채널은 가상의 비트 채널이다. 채널 분리 과정에서 각각의 소스(
Figure pat00018
) 비트들이 순차적으로 1비트씩 복호화될 수 있다. 이 때, 각
Figure pat00019
비트들이 겪게 되는 비트채널들의 퀄리티를 평가하기 위해 이전까지 복호화된 결과물(
Figure pat00020
)들이 올바르게 복호화 된 것으로 가정하면,
Figure pat00021
번째 소스비트를 입력으로 하고,
Figure pat00022
Figure pat00023
을 출력으로 하는 비트채널을 얻을 수 있다. 예를 들어
Figure pat00024
에 대해 입력이
Figure pat00025
이고 출력이
Figure pat00026
인 비트채널
Figure pat00027
을 얻을 수 있다.
전술한 채널 합성과 채널 분리로 구성된 채널 양극화를 통해 i.i.d인 동일한 퀄리티를 가지는
Figure pat00028
개의 채널
Figure pat00029
로부터 서로 다른 퀄리티를 가지는
Figure pat00030
개의 비트 채널인
Figure pat00031
이 획득될 수 있다. 이 때
Figure pat00032
개의 비트 채널들에 대한 퀄리티를 평가하기 위해 밀도 진화, 가우시안 근사, 양극화 신뢰도와 같은 방법들이 고려될 수 있다. 본 개시에서는 다양한 퀄리티 평가 방법들 중 양극화 신뢰도 기반의 비트채널 퀄리티 평가 방법을 이용하여, 극 부호의 설계를 위한 패리티 비트를 제공할 수 있다.
양극화 신뢰도(polarization weight) 방법은 각 비트 채널들의 퀄리티를 가중치 합(weighted sum) 기반으로 표현한 것으로, 부호길이
Figure pat00033
에 대해 인덱스(i.e., decimal 인덱스)가
Figure pat00034
인 비트채널
Figure pat00035
의 퀄리티는 아래의 수학식 1과 같이 나타낼 수 있다.
[수학식 1]
Figure pat00036
수학식 1에 있어서,
Figure pat00037
는 인덱스
Figure pat00038
의 이진표현일 수 있다. 인덱스
Figure pat00039
의 이진 표현이
Figure pat00040
인 경우,
Figure pat00041
Figure pat00042
내 비트값을 의미한다.
Figure pat00043
가 LSB (least significant bit)이고,
Figure pat00044
이 MSB (most significant bit)이다. 예를 들어
Figure pat00045
인 경우 모든 8개 비트채널들의 퀄리티는
Figure pat00046
이고, 퀄리티 값이 클수록 신뢰도가 높다고 판단될 수 있다. 양극화 신뢰도 평가 방법은 비트채널들의 퀄리티가 채널 유형 및 부호 파라미터(e.g.
Figure pat00047
)에 관계없이 단순 가중치 합으로 계산될 수 있다. 양극화 신뢰도 평가 방법은 채널 부호 파라미터에 따라 개별적으로 부호설계를 수행하는 밀도 진화나 가우시안 근사 방법과는 다르게, 단일 시퀀스(single sequence)로 여러 부호율을 지원(rate-compatible)할 수 있다.
하지만, 기존 극부호의 부호설계 시
Figure pat00048
양극화 커널 행렬(polarization kernel matrix)을 고려하기 때문에 부호길이가
Figure pat00049
로 제한된다. 극부호가 실제 어플리케이션에서 적용되기 위해선 임의 길이(arbitrary code-length)를 지원해야 하므로, 천공(puncturing)/단축(shortening)/반복(repetition)과 같은 다양한 부호율-매칭(rate-matching) 방식이 적용될 수 있다.
천공(puncturing)은
Figure pat00050
도메인에서
Figure pat00051
개의 비트를 제거하여 코드워드 비트가
Figure pat00052
이 되도록 하는 방법으로, 천공된
Figure pat00053
개의 비트들은 전송되지 않는다. 복호화기는 천공되는 비트들에 대한 어떠한 정보도 가지고 있지 않으므로 해당 비트들에 상응하는 로그-우도 비(log-likelihood ratio: LLR)를 0으로 설정한다. 단축(shortening)은
Figure pat00054
도메인에서 단축하고자 하는
Figure pat00055
개의 비트들을 선택하고, 이 비트들의 값을 0으로 고정한다. 천공과는 달리 수신기에서도 선택된 비트들의 값이 0으로 결정되었다는 정보를 알고 있다. 따라서 이 비트들의 LLR 값은 복호 전에 매우 큰 값 (예를 들어, 하드웨어에서 설정할 수 있는 최대값)으로 초기 설정될 수 있다.
본 개시에 대응되는 대표적인 종래 기술로는 패리티 검사(parity check: PC)를 활용한 극 부호를 위한 부호 설계 방법이 있다. PC 극 부호에서는 극부호의 SC 복호 상에서 오류에 취약할 수 있는 소스(
Figure pat00056
)비트들이 단일 패리티 검사(single-parity-check) 프리코딩을 통해 보호(protect)될 수 있다. 또한 부호 관점에서는 최소 무게(minimum weight)를 가지는 비트들을 패리티 비트로 이용함으로써 부호의 최소 거리 특성을 개선(최소 거리를 높이거나, 최소 무게를 가지는 부호어들의 수를 줄임)해주고, SCL 복호 성능을 더욱 개선하는 효과를 가진다. PC 극부호는 CRC만을 단독으로 사용하는 극부호에 비해 전반적인 부호 파라미터(e.g. 다양한
Figure pat00057
) 값에 대해서 우수한 오율 성능을 가질 수 있다.
한편, 본 개시에서 PC 극 부호는 패리티 비트를 포함한 극 부호로 설명될 수도 있다.
도 2는 PC 극 부호를 위한 송신기 구조를 나타낸 도면이다.
도 2를 참조하면, PC 극 부호를 위한 송신기에서는 CRC 부호가 연접되지 않는 일반적인 극부호의 송신 구조와는 다르게, 극부호화 이전에 비트 분류(bit-classification)과 PC 프리코딩(pc pre-coding)의 두 단계 과정이 추가적으로 수행될 수 있다. 도 2에서의 극 부호화 및 채널은 도 1을 참조하여 전술한 바와 대응될 수 있다.
PC 극부호를 위한 극부호의 설계 목표는 부호의 최소 거리 및 정보집합 내 비트들의 총 신뢰도를 높게 유지하고, SCL 복호 시 우수한 오율 성능을 가지도록 하는 것이다. 비트 분류 단계에서는 정보비트/패리티/부호율 매칭을 위한 단축 비트로 활용할 인덱스 집합
Figure pat00058
가 결정될 수 있으며, 입력은
Figure pat00059
이고 출력은
Figure pat00060
이다. 여기서
Figure pat00061
는 정보비트들의 인덱스 집합,
Figure pat00062
는 프리코딩을 위한 패리티 비트들의 인덱스 집합,
Figure pat00063
를 부호율 매칭을 위하여 단축되는 비트들의 인덱스 집합이다. 이하에서는, 도 3을 참조하여 극 부호화 이전에 수행되는 비트 분류에 대해 보다 구체적으로 설명하고, 도 4를 참조하여 PC 프리코딩에 대해 보다 구체적으로 설명하도록 한다.
도 3은 PC 극 부호를 위한 비트 분류 과정을 설명하기 위한 도면이다.
도 3을 참조하면, 먼저 길이가
Figure pat00064
인 극부호의 모부호에서 메시지의 길이가
Figure pat00065
인 경우, 최종적으로
Figure pat00066
개의 정보비트 채널을 고르기 위하여, 먼저 양극화 신뢰도 관점에서 가장 우수한 (
Figure pat00067
)개의 비트채널들 중 복호 성능에 크리티컬(critical)한 영향을 줄 수 있는
Figure pat00068
개의 비트들이 패리티로 활용되고 나머지
Figure pat00069
개 비트채널에 메시지 비트가 할당될 수 있다. 채널 양극화 관점에서 가장 우수한 (
Figure pat00070
)개 비트들의 인덱스 집합은
Figure pat00071
라 정의될 수 있다.
패리티 비트는 본래 비트들이 속해 있던 위치에 따라 서로 다른 인덱스 집합
Figure pat00072
,
Figure pat00073
의 합집합으로 정의될 수 있다 (
Figure pat00074
). 구체적으로 집합
Figure pat00075
로부터 선택된
Figure pat00076
개 패리티 비트들의 인덱스 집합은
Figure pat00077
, 나머지 집합
Figure pat00078
내 모든 비트들의 인덱스 집합은
Figure pat00079
로 정의될 수 있다.
Figure pat00080
의 값은 아래 수학식2에 의해 결정될 수 있으나, 이는 일 실시예일 뿐,
Figure pat00081
의 값을 결정하는 방법이 이에 한정되는 것은 아니다. 수학식 2에서,
Figure pat00082
는 리스트의 크기(
Figure pat00083
)가 8인 SCL 복호의 경우 1의 값으로 설정될 수 있다.
[수학식 2]
Figure pat00084
도 3을 참조하면, 양극화 신뢰도를 기반으로 제일 오른쪽에 가장 신뢰도가 높은 비트채널의 인덱스가 위치함을 확인할 수 있다. 가장 오른쪽부터
Figure pat00085
개 비트채널들의 인덱스들이 집합
Figure pat00086
를 이룬다. 양극화 신뢰도 상위
Figure pat00087
개의 비트채널들을 포함하는 그룹(group 2)은 양극화 신뢰도는 높지만 대응되는 생성행렬 내 행 무게(row weight)가 낮은 비트들을 포함할 수 있다. 반면에,
Figure pat00088
)부터
Figure pat00089
번째 비트채널들을 포함하는 그룹(group1)은 양극화 신뢰도가 낮지만 행 무게(row weight)가 높은 비트들을 포함할 수 있다.
예를 들어, 도 3의
Figure pat00090
=32인 부호 시퀀스에서, group 2에 포함된 인덱스가 '24'인 비트는 양극화 신뢰도는 높지만 행 무게가 4인 반면에 group 1에 포함된 인덱스가 '7'인 비트는 양극화 신뢰도는 낮지만 행 무게가 8로 더 클 수 있다. 하지만 최소 무게(minimum weight)을 갖는 비트들이 실제 복호 성능에 중요한 영향을 줄 수 있으므로, group 1과 group 2의 합집합인
Figure pat00091
에서 최소거리 관점에서 취약한 비트들(e.g., 인덱스가 '24'인 비트)이 패리티로 활용될 수 있다.
본 개시에서는 집합
Figure pat00092
에서 최소 무게를 가지는 비트들을 취약 비트(weak-bit)로 설명하도록 하고, 차-최소 무게를 가지는 비트들은 차-취약 비트(second weak-bit)로 설명하도록 한다. 본 개시의 일 실시예에 따르면, 취약 비트들 중 일부 혹은 전부가 패리티 비트로 선택될 수 있고, 차-취약 비트들 중 일부도 패리티 비트로 선택될 수 있다.
최소 무게를 가지는 취약 비트들(weak-bit)과 차-최소 무게(second minimum weight)를 가지는 차-취약 비트들(second weak-bit)의 인덱스 집합은 [수학식 3]과 같이 정의될 수 있다.
[수학식 3]
Figure pat00093
Figure pat00094
수학식 3에서,
Figure pat00095
는 양극화 신뢰도(e.g., polarization weight) 상위 (
Figure pat00096
)개 비트들의 인덱스 집합,
Figure pat00097
Figure pat00098
번째 비트채널에 상응하는 생성행렬
Figure pat00099
내의 행 무게,
Figure pat00100
은 양극화 신뢰도 상위
Figure pat00101
개 각 비트채널들에 상응하는 행 무게 중 최소값을 의미한다.
본 개시의 일 실시예에 따르면, 실제 선택해야 하는 패리티(i.e., 패리티 그룹 2)들의 수(
Figure pat00102
)보다 집합
Figure pat00103
내 취약 비트들의 수(
Figure pat00104
)가 더 많다면,
Figure pat00105
개 중
Figure pat00106
개의 취약 비트들이 패리티로 선택될 수 있다. 기존에는 취약 비트들 중
Figure pat00107
개의 패리티 비트들을 선택하는 기준으로 양극화 신뢰도(polarization weight)가 이용되었으며, 양극화 신뢰도 값이 가장 큰
Figure pat00108
개가 선택될 수 있다. 또한, 실제 선택해야 하는 패리티들의 수(
Figure pat00109
)가 취약 비트들의 수(
Figure pat00110
) 보다 많은 경우(i.e.,
Figure pat00111
) 취약 비트들은 모두 패리티로 선택되고, 차-취약 비트(second weak-bit)들 중에서 패리티를 추가 선택될 수 있다. 이 때, 기존에는 차-취약 비트들 내에서의 패리티 비트 선택 기준으로 양극화 신뢰도 내림차순이 이용되었다.
양극화 신뢰도를 기준으로 한 패리티 선택 과정을 통해 패리티 인덱스 집합
Figure pat00112
가 결정될 수 있으며, 비트 분류(bit classification)를 통해 결정된
Figure pat00113
)는 도 4와 같이 표현될 수 있다.
도 4는 PC 프리코딩 과정을 설명하기 위한 도면이다.
전술한 바와 같이 패리티(패리티 그룹 2:
Figure pat00114
)/혹은 정보비트(
Figure pat00115
)로 사용할 비트들의 인덱스 집합이 결정된 후, PC 프리코딩을 통해 패리티 비트들의 값이 결정될 수 있다.
PC 프리코딩은
Figure pat00116
도메인(domain)에 정의된 비트 그룹 내에서 수행될 수 있다. 먼저 정보 비트들과 패리티 비트들로 이루어진
Figure pat00117
도메인의 비트들이
Figure pat00118
개 집합으로 분류될 수 있다. 분류된 각 그룹 내에서 단일 패리티 부호(single parity-check code)를 이용한 프리코딩이 수행될 수 있다. 정보 비트는 부호화(encoding) 입력인 메시지 비트로 채워지고, 패리티 비트는 비트 그룹 내에서 앞선(preceding) 모든 정보 비트들의 이진 합(binary-sum)으로 결정될 수 있다.
기존에는 프리코딩을 위한 방법으로 하드웨어 구현(hardware implementation)에 용이한 순환 쉬프트 레지스터(cyclic shift register: CSR)가 이용된다. 길이가
Figure pat00119
인 CSR의 경우
Figure pat00120
도메인의 비트들이 총
Figure pat00121
개의 비트 그룹으로 나눠지며,
Figure pat00122
로 나눈 나머지가 같은 비트들끼리 그룹핑(grouping)될 수 있다. 그룹핑 결과 획득된 각 비트 그룹은 원소들이 부호화 과정에서 순차적으로 이용되므로 pc-체인(chain)이라 불린다. 예를 들어,
Figure pat00123
이 5인 경우 5로 나눈 나머지가 같은 인덱스를 가지는 비트들끼리 연결관계를 가질 수 있다.
도 5는 극 부호에서 PC 체인 별 연결 관계를 설명하기 위한 도면이다.
도 5를 참조하면 (32,18) 극부호에 대해 길이가 5인 CSR의 사용 시 각 PC-chain별 연결관계를 확인할 수 있다. PC-chain 0의 경우 인덱스가
Figure pat00124
인 비트들끼리 묶이게 되며, pc-chain 0 내에서 패리티 비트들의 인덱스 집합은
Figure pat00125
, 정보비트들의 인덱스 집합은
Figure pat00126
이다. 인덱스가 10인 패리티 비트
Figure pat00127
은 이전까지의 정보비트들의 합, 즉
Figure pat00128
로 결정된다. 이 때 양극화 신뢰도(e.g., polarization weight) 관점에서 상대적으로 높은 5번 비트 값을 weak한 비트인 10번 패리티 비트 값에 넣어 줌으로써 취약비트를 보호(protect)하는 효과를 얻을 수 있다.
Figure pat00129
=5는 실제 극부호의 SC 복호 시 발생하는 오류전파(error propagation)의 영향을 최대한 상쇄하기 위해 결정된 파라미터이지만, 이는 일 예일 뿐,
Figure pat00130
인 임의의 값을 가질 수 있다.
도 6은 기존의 PC 극 부호의 패리티 집합 결정 방법을 설명하기 위한 도면이다.
도 6을 참조하면, (128,70) 극부호에서의 패리티 비트들 중 집합
Figure pat00131
를 선택하는 방법을 확인할 수 있다. 집합
Figure pat00132
선택 전 PC-chain들의 표(610)에서 각 PC-chain에는 집합
Figure pat00133
내 비트들의 인덱스만이 표현되었으며, 인덱스가 표현되지 않은 모든 비트들은 집합
Figure pat00134
내 인덱스를 가지는 비트들이다. 또한, 집합
Figure pat00135
선택 전 PC-chain들의 표(610)에서 모든
Figure pat00136
개의 최소 무게를 가지는 취약 비트(weak-bit)들은 하이라이트 표시된 상태이다. 취약 비트들에 대한 프로필(620, e.g., 각 비트에 상응하는 양극화 신뢰도(polarization weight) 및 행 무게(row weight))을 포함할 수 있다. 도 6의 실시예에서는, 선택해야 하는 패리티 비트들의 개수(
Figure pat00137
)보다 취약 비트들의 수(i.e., 14개)가 더 많으므로, 양극화 신뢰도가 높은 상위 7개의 비트들이 패리티 비트로 선택될 수 있다. 즉, 집합
Figure pat00138
선택 후 PC-chain들의 표(620)에 표시된 바와 같이, 선택된 패리티 비트의 집합
Figure pat00139
Figure pat00140
이다. 반면, 집합
Figure pat00141
내 인덱스를 갖는 비트들을 제외한 나머지 비트들에서는 데이터가 전송될 수 있다 (집합
Figure pat00142
).
도 6을 참조하여 전술한 바와 같이, 기존 PC 극부호는 취약 비트 혹은 차-취약 비트들 중에서 인덱스 집합
Figure pat00143
를 결정하는 경우, 양극화 신뢰도가 유일한 선택 기준으로 활용되었다. 하지만, 부호 파라미터가 달라짐에 따라 각 pc-chain 내 취약 비트 및 정보비트들의 구성이 달라지며, 이 경우 각 부호 파라미터의 weakness를 최대한 보완할 수 있는 패리티 비트 선택 방법이 필요하다.
또한, 기존 PC 극부호는 pc-chain 내 취약 비트(혹은 취약 비트들)를(을) 포함한 서브 블록의 길이, 취약 비트의 수가 고려되지 않는다. 더 나아가, 극부호는 순차 복호(sequential decoding)를 수행함에 따라 특정 비트에서의 오류가 이후 비트들의 오류를 야기하는 오류 전파의 영향으로부터 자유로울 수 없다. 따라서 PC-chain들 간의 독립성이 보장되지 못하며, 오류 전파를 고려한 패리티 비트 선택 방법이 필요하다.
도 7은 본 개시의 일 실시예에 따라 패리티 비트를 포함하는 극 부호를 획득하는 방법을 설명하기 위한 흐름도이다.
본 개시에서는, pc-chain과 pc-chain 내의 비트들 간 복합적인 연결관계를 고려하여 패리티 비트가 선택될 수 있다. 일 실시예에 따른 부호화 장치는 선택하고자 하는 패리티 비트 수를 이용해 오류에 취약한 취약 비트들의 위치를 선정하고, 해당 비트들을 집합
Figure pat00144
에 추가함으로써 국부적인 보호 레벨(local protection level)을 강화할 수 있다.
극부호의 SC/SCL 복호는 순차(sequential) 복호이므로 비트 인덱스 오름차순으로 1비트씩 차례대로 복호를 수행하게 된다. 이 때, 특정 비트에서의 오류가 이후 비트로의 연속적인 오류를 유발할 수 있으며, 이를 오류전파(error propagation)라 한다. 특히 대부분의 오류전파는 극부호의 설계 특성 상
Figure pat00145
간격(spacing)으로 발생할 수 있다.
기존의 PC 극 부호가 오류전파의 영향을 상쇄하기 위해 길이가 5(
Figure pat00146
,
Figure pat00147
는 정수)인 CSR을 사용했지만, 여전히 인덱스가 맞닿은 비트가 모두 취약 비트 (혹은 차-취약 비트)인 경우 오류에 매우 취약할 수 있다. 즉, 임의의
Figure pat00148
을 사용하더라도 여전히 pc-chain 간 비트들끼리의 연관성이 남아 있게 됨에 따라 오류가 전파되는 문제가 발생할 수 있다.
또한, 특정 pc-chain 내 여러 개의 취약 비트들 (혹은 차-취약 비트들)이 존재하거나 길이가 긴 서브 블록에 취약 비트 (혹은 차-취약 비트)가 포함되는 경우, 복호 성능이 크게 저하된다. 본 개시에서는 pc-chain 내부의 비트들 간의 관계와 pc-chain 간 구조적 연결성을 고려한 패리티 비트 집합(i.e.,
Figure pat00149
Figure pat00150
) 결정 방법을 새롭게 제시하도록 한다.
이하에서는 본 개시의 일 실시예에 따라 pc-chain 내부의 비트들 간의 관계와 pc-chain 간 구조적 연결성을 고려한 패리티 비트 집합(i.e.,
Figure pat00151
Figure pat00152
) 결정 방법에 대해 보다 구체적으로 설명하도록 한다.
단계 710에서, 부호화 장치는 극 부호를 구성하는 비트들의 인덱스 집합에 기초하여 각 비트의 상태를 지시하는 상태 지시 정보를 획득할 수 있다.
일 실시예에 따른 상태 지시 정보는 상태 지시 행렬
Figure pat00153
를 포함할 수 있으며, 상태 지시 행렬은 부호화 과정 중 인덱스 행렬
Figure pat00154
내 각 비트채널들이 상태를 지시(indicate)할 수 있다. 상태 지시 행렬
Figure pat00155
에 대한 보다 구체적인 설명을 위해 아래와 같이 부호 길이
Figure pat00156
및 정보비트 수
Figure pat00157
인 극 부호를 예로 들어 상태 지시 행렬
Figure pat00158
를 획득하는데 필요한 파라미터들에 대해 정의하도록 한다.
부호 길이
Figure pat00159
및 정보비트 수
Figure pat00160
인 극 부호에 대해 각 비트 인덱스
Figure pat00161
)들의 집합이 하나의 순서로 정렬된(ordered) 인덱스 집합 (혹은 시퀀스, 행렬)이
Figure pat00162
로 정의될 수 있다. 또한 인덱스 집합 (혹은 시퀀스)의 서브 시퀀스
Figure pat00163
들이 정의될 수 있고, 서브 시퀀스들은 서로 배타적인 인덱스들을 가지며 이들의 합집합이
Figure pat00164
를 이룬다. 즉,
Figure pat00165
이고,
Figure pat00166
Figure pat00167
Figure pat00168
번째 서브 집합 (혹은 시퀀스, 행렬)로
Figure pat00169
를 만족한다.
PC 프리코딩 과정에서 만약
Figure pat00170
가 정보비트에 해당하는 인덱스라면, 다른 비트들과 독립(independent)적으로 메시지 비트 값이 결정될 수 있다.
Figure pat00171
가 패리티 비트에 해당하는 인덱스인 경우에는 아래의 수학식 4와 같이 패리티 부호화될 수 있다. 즉, 패리티 비트가 아닌 정보 비트 값의 이진 합으로 결정될 수 있다.
[수학식 4]
Figure pat00172
예를 들어
Figure pat00173
이고 서브 시퀀스들을 5로 나눈 나머지가 같은 비트들의 집합으로 결정하는 경우
Figure pat00174
로 표현될 수 있다. 본 개시의 일 실시예에서는 모듈로 (modulo) 연산이 서브그룹핑(sub-grouping) 과정 및 부호화 과정에 적용될 수 있다.
인덱스가
Figure pat00175
인 비트는 pc-chain
Figure pat00176
에 속하며
Figure pat00177
로 나눈 나머지가 같은 비트들끼리 동일한 pc-chain에서 연결관계를 가질 수 있다. 다시 말해, 각 비트들은 서브그룹핑되고, 프리코딩 과정은 각 PC-chain 내에서 배타적으로 이루어질 수 있다. 즉, PC-chain
Figure pat00178
Figure pat00179
, (
Figure pat00180
2 이상의 정수,
Figure pat00181
)와 같은 모듈로 연산을 통해 결정될 수 있다. 이 때,
Figure pat00182
번째 PC-chain 내 비트들의 (오름차순 혹은 ordered) 인덱스들로 구성된 인덱스 행렬을
Figure pat00183
라 정의하고, 모든 pc-chain들이 상하로 연접된 전체
Figure pat00184
개의 비트들의 인덱스 행렬
Figure pat00185
는 아래의 수학식 5와 같이 표현될 수 있다.
[수학식 5]
Figure pat00186
만약
Figure pat00187
인 경우, 인덱스 행렬
Figure pat00188
와 각 pc-chain에 해당하는 인덱스 서브행렬(sub-matrix)
Figure pat00189
는 아래의 수학식 6과 같이 나타낼 수 있다.
[수학식 6]
Figure pat00190
Figure pat00191
극부호의 부호 시퀀스(code sequence)
Figure pat00192
는 각 비트채널
Figure pat00193
)들의 신뢰도에 따라 내림차순 나열되는 순열이다. 각 비트채널의 신뢰도는 이론적으로 채널용량(channel capacity), 바타차라야(Bhattacharyya) 파라미터로 평가되는데, 이는 밀도 진화(density evolution), 가우시안 근사(Gaussian approximation), 양극화 신뢰도 (polarization weight)와 같은 다양한 방법을 통해 근사적으로 계산되거나 표현될 수 있다.
특정 방법에 의해 얻어진 극부호의 부호 시퀀스를
Figure pat00194
라 표기한다. 이 때 신뢰도 상위
Figure pat00195
)개의 비트들의 인덱스 집합 (혹은 시퀀스, 행렬)
Figure pat00196
Figure pat00197
이다. 또한, 집합
Figure pat00198
내 비트들에 상응하는 행 무게들의 최소값
Figure pat00199
Figure pat00200
와 같이 표현할 수 있으며,
Figure pat00201
는 극부호의 생성행렬
Figure pat00202
,
Figure pat00203
는 Kronecker product) 내
Figure pat00204
번째 비트채널
Figure pat00205
에 상응하는 행 무게(row weight)이다.
또한, 집합
Figure pat00206
내 비트 인덱스들 중 최소 해밍 무게(minimum Hamming weight:
Figure pat00207
) 및 2배의
Figure pat00208
을 가지는 비트들의 인덱스 집합
Figure pat00209
,
Figure pat00210
는 각각
Figure pat00211
와 같다.
상태 지시 행렬
Figure pat00212
의 각 원소들은 0,1,2,3,5의 값을 가질 수 있고, 여기서 0은 최종적으로 패리티로 결정된 상태, 1은 정보비트로 결정된 상태를 의미하며, 2와 3은 설계 과정 중에 사용하는 임시 상태를 지시한다. 또한 5는
Figure pat00213
내 인덱스가
Figure pat00214
이상인 비트들에 대한 디폴트(default) 값을 지시한다.
Figure pat00215
=16,
Figure pat00216
=5인 인덱스 행렬
Figure pat00217
는 아래의 수학식 7과 같은 형태를 가질 수 있다.
[수학식 7]
Figure pat00218
이 때 각 비트들(
Figure pat00219
)은 정보(
Figure pat00220
)/패리티 그룹1(
Figure pat00221
)/패리티 그룹2(
Figure pat00222
) 비트 중 하나의 상태를 가지게 된다. 먼저, 신뢰도 상위
Figure pat00223
개의 비트들에 속하지 않는 나머지
Figure pat00224
)개의 비트들(집합:
Figure pat00225
)은 모두 패리티 비트들로 사용되며, 상태를 '0'으로 표현한다. 집합
Figure pat00226
과 집합
Figure pat00227
에 포함되는 비트들은 각각 '2' (weak-bit; 취약 비트)와 '3' (second weak-bit; 차-취약 비트)로 표현한다. 또한, 집합
Figure pat00228
에 포함되는 비트들 중
Figure pat00229
Figure pat00230
내 비트 인덱스들을 제외한 나머지 비트들은 '1'로 표현하며 이 비트들은 패리티 비트로 선택하지 않는 (i.e., 무조건 정보비트로 선택되는) 유형이다. 이 때 '2' 혹은 '3'을 가지는 비트들 중 일부가 패리티 비트로 결정되어 결과적으로 그 값이 '0'으로 대체될 수 있다. 마지막으로, 위 생성행렬 예시에서 보이는 바와 같이 인덱스가
Figure pat00231
이상인 비트들은 실제 존재하지 않으므로, 16부터 19에 해당하는 비트들은 디폴트(default) 값인 '
Figure pat00232
(e.g., 5)'로 표현한다. 위 상태를 기반으로 각 비트에 상응하는 상태 지시(state-indicator) 행렬
Figure pat00233
가 표현될 수 있다.
예컨대
Figure pat00234
인 경우 인덱스가
Figure pat00235
인 비트는 인덱스 행렬
Figure pat00236
내 (
Figure pat00237
)번째 행 및 (
Figure pat00238
)번째 열에 위치(ex. 인덱스가 13인 비트는
Figure pat00239
=4번째 행,
Figure pat00240
=3번째 열에 속하며,
Figure pat00241
)함에 따라,
Figure pat00242
는 아래의 알고리즘 1과 같이 표현될 수 있다.
Figure pat00243
본 개시에서는 알고리즘 1에 의해 인덱스 행렬
Figure pat00244
와 부호 파라미터
Figure pat00245
에 따라 결정되는 상태 지시 행렬
Figure pat00246
가 초기화될 수 있다. 예컨대
Figure pat00247
=16이고
Figure pat00248
인 경우
Figure pat00249
이고,
Figure pat00250
이다. 또한, 이를 기반으로 결정되는
Figure pat00251
는 아래의 수학식 8과 같다.
[수학식 8]
Figure pat00252
수학식 8에서, 0은 패리티, 1은 정보비트, 5는 디폴트(default) 값을 나타내고, 0, 1과 5를 제외한 나머지 값을 가진 비트들은 패리티 비트 선택 방법에 따라 정보 비트('1')가 될 수도, 패리티 비트('0')가 될 수도 있는 비트들이다.
또한, PC-chain
Figure pat00253
)마다 연속된 넌-제로 엘리먼트(non-zero element)의 묶음이 '서브 블록(subblock)'이라 정의될 수 있다.
Figure pat00254
번째 PC-chain 내
Figure pat00255
번째 non-zero 서브 블록은
Figure pat00256
로, 총 서브 블록의 개수는
Figure pat00257
로 표현될 수 있다. 예를 들어,
Figure pat00258
인 경우
Figure pat00259
이며
Figure pat00260
이다.
단계 720에서, 부호화 장치는 상태 지시 정보에 따라 결정된 취약 비트의 수 및 패리티 비트로 이용하고자 하는 비트 수에 기초하여, 극 부호의 pc-체인 내부 및 극 부호의 pc-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 취약 비트 또는 차취약 비트를 패리티 비트로 식별할 수 있다.
부호화 장치는 극부호의 SC/SCL 복호 상에서 오류에 취약할 수 있는 비트들은 패리티 비트로 활용하여 단일 검사 패리티(single-parity-check) 프리코딩을 적용할 수 있다. 이 때 오류에 취약한 비트들(weak bit)은 부호의 최소거리 및 최소 무게(minimum weight)를 가지는 부호어들의 수에 큰 영향을 줄 수 있는 비트들로, 주로 최소 무게(i.e.,
Figure pat00261
)을 가진다.
일 실시예에 따른 부호화 장치는 패리티로 활용하고자 하는 비트 수(
Figure pat00262
)와, 집합
Figure pat00263
내 비트들 중 취약 비트 수의 대소관계에 따라 서로 다른 패리티 선택 방법을 적용할 수 있다. 예컨대 패리티로 활용하고자 하는 비트 수
Figure pat00264
보다 취약 비트들의 수가 많은 경우(i.e.,
Figure pat00265
) 모든 취약 비트들 중
Figure pat00266
개를 선택하는 문제임에 반해,
Figure pat00267
보다 취약 비트들의 수가 적은 경우(i.e.,
Figure pat00268
) 모든 취약 비트들을 선택하고 차-취약 비트들에서 추가적으로 패리티를 선택해야 하는 문제로 변형될 수 있다. 본 개시의 실시예에서는 각 경우 별로 적응적인 패리티 비트 선택 방법을 제시한다.
이하에서는 우선, 패리티로 활용하고자 하는 비트 수
Figure pat00269
보다 취약 비트들의 수가 많은 경우 취약 비트들 중
Figure pat00270
개를 선택하는 4개의 스텝에 대해 구체적으로 설명하도록 한다. 후술할 4개의 스텝은 순차적으로 진행될 수 있으며, 진행 중 선택된 패리티 비트 수가
Figure pat00271
에 도달하는 경우, 패리티 비트를 선택하기 위한 스텝의 진행이 종료될 수 있다.
스텝 1. 보호되지 않는 취약 비트의 제거 (removal of unprotected weak-bits)
각 pc-chain 내 제일 뒤 서브 블록(e.g.,
Figure pat00272
번째 pc-chain 내 가장 뒤에 위치한 연속된 non-zero element들의 묶음,
Figure pat00273
) 내 취약 비트들 중에서도 가장 인덱스가 큰 비트가 패리티 비트로 선택될 수 있다. 이를 수식적으로 표현하기 위해 pc-chain 내 취약 비트들의 집합이 개별 정의될 수 있으며,
Figure pat00274
번째 pc-chain에 속한 모든 weak-bit들의 인덱스 집합
Figure pat00275
은 아래의 수학식 9와 같이 표현될 수 있다.
[수학식 9]
Figure pat00276
만약
Figure pat00277
) 내 가장 뒤 서브 블록인
Figure pat00278
이 '2'를 포함한다면 (i.e., 취약 비트가 존재한다면) 해당 서브 블록 내 가장 뒤쪽 비트에 상응하는 인덱스 행렬
Figure pat00279
내 비트가 패리티로 선택될 수 있다. (i.e.,
Figure pat00280
번째 행 및
Figure pat00281
열에 상응하는
Figure pat00282
에 속한 인덱스가 패리티로 선택될 수 있다. 이러한 동작은
Figure pat00283
함수로 정의될 수 있으며,
Figure pat00284
함수는 아래의 알고리즘 2에 따라 패리티 비트를 선택할 수 있다.
Figure pat00285
알고리즘 2에서,
Figure pat00286
는 패리티 비트 (구체적으로는 패리티 그룹 2에 속한 비트)들의 인덱스 집합으로,
Figure pat00287
로 초기화된 상태에서 패리티 비트 선택 알고리듬에 의해 지속적으로 업데이트 될 수 있다.
스텝 2. 복수의 취약 비트 제거 (Multi weak-bit removal)
스텝 2는 스텝 1의 패리티 비트 선택 후에 수행되는 과정이며, 알고리즘 2에 의해 업데이트된 행렬
Figure pat00288
는 행벡터(row vector)
Figure pat00289
및 집합
Figure pat00290
를 이용할 수 있다. 만약
Figure pat00291
Figure pat00292
이 취약 비트인 정보비트이고,
Figure pat00293
은 패리티 비트로 선택되었다고 가정하는 경우
Figure pat00294
Figure pat00295
에서 모두 오류가 발생했을 때
Figure pat00296
는 정상적인 패리티 비트의 기능을 수행할 수 없다. 더 나아가 더 많은 수의 취약 비트들이(i.e.
Figure pat00297
이 취약 비트인 정보비트이고
Figure pat00298
이 패리티 비트) 패리티 비트로 선택되지 않은 경우, 짝수 개 비트 오류가 발생하여 정상적으로 패리티 비트의 기능을 수행하지 못할 확률이 높아지게 된다. 이에 본 개시에서는 다수의 취약 비트를 포함한 서브 블록 내 신뢰도가 낮은 비트를 패리티 비트로 선택할 수 있다.
또한 오류 전파(error propagation)의 영향을 고려해 패리티 비트가 선택될 수 있다. 극부호의 설계 특성 상
Figure pat00299
간격(spacing)으로 큰 비트 의존성(dependency)이 존재할 수 있다. 즉,
Figure pat00300
번째 비트에서의 오류가
Figure pat00301
번째 비트에서의 오류 발생 확률에 영향을 주게 된다 (error propagation). 이에 스텝 2에서는 PC-chain 내/외의 다양한 구조를 고려하여 패리티 비트 선택에 우선순위를 부여한다.
도 8은 본 개시의 일 실시예에서 PC-체인 내/외의 구조를 고려하여 설정된 패리티 비트 선택 우선 순위를 설명하기 위한 도면이다.
도 8은 유형별 패리티 비트 선택 우선순위를 나타낸 것으로, type A는 취약 비트의 수가 3개 이상이고 오류전파의 영향을 고려해 특정 비트와 맞닿은 (인덱스
Figure pat00302
혹은
Figure pat00303
) 비트 역시 취약 비트인 경우를 의미한다. 또한, type B는 type A와는 다르게 서브 블록 내 양 끝 비트와 비트 인덱스 관점에서 맞닿은 비트가 취약 비트인 경우를 의미한다. 또한, type C는 오류전파의 영향과는 무관하게 복수의 취약 비트를 포함한 경우를 의미한다. Type A와 Type B의 경우, 복수의 취약 비트를 포함하는 서브 블록을 끊어주는 역할을 함과 동시에 오류전파 영향을 완화하기 위해 교차 지점(intersection)에 있는 비트를 패리티 후보로 선택하며, 선택된 패리티 후보는 도 8에 v 표시로 나타나 있다.
부호화 장치는 가장 먼저, 알고리듬 3A(
Figure pat00304
함수)를 통해 type-A 유형의 패리티 비트 후보군을 탐색할 수 있다.
Figure pat00305
알고리듬 3A에 대한 의사 코드(pseudo code) 및 도 8에 도시된 type A를 참조하면. 취약 비트(weak-bit)들 중 특정 취약 비트 (인덱스:
Figure pat00306
)의 좌우에 각각 적어도 한 개 이상의 취약 비트를 포함하고 (왼쪽 서브 블록 탐색: 알고리즘 3A 의사 코드 line 5-15, 오른쪽 서브 블록 탐색: 알고리즘 3A 의사 코드 line 16-25), 그 비트와 맞닿은 비트 (인덱스:
Figure pat00307
혹은
Figure pat00308
) 중 적어도 한 개의 비트가 취약 비트인 경우 (알고리즘 3A 의사 코드 line 26-28), 해당 비트 인덱스들이 타입 A 유형의 패리티 후보로 추가될 수 있다. 이 때, 부호화 장치는 패리티 후보들 중 가장 신뢰도가 낮은 1비트를
Figure pat00309
에 추가한 후,
Figure pat00310
를 기반으로
Figure pat00311
를 업데이트(i.e., 패리티 비트로 선택된 비트에 상응하는 상태 지시 행렬
Figure pat00312
내 원소값을 0으로 설정) 할 수 있다. 이후 업데이트된
Figure pat00313
를 기반으로
Figure pat00314
함수를 통해 또 다른 type A 유형의 패리티 후보를 탐색하며, 더 이상 존재하지 않는 경우
Figure pat00315
단계로 넘어갈 수 있다.
만약
Figure pat00316
함수를 통해 업데이트된
Figure pat00317
Figure pat00318
에 도달한 경우, 이후 추가 선택을 수행하지 않고 패리티 선택 알고리즘이 종료될 수 있다. 업데이트된
Figure pat00319
Figure pat00320
에 도달하지 않은 경우, 부호화 장치는 알고리듬 3B의
Figure pat00321
함수를 통해 type-B 유형의 패리티 비트 후보군을 탐색할 수 있다.
Figure pat00322
알고리듬 3B에 대한 의사 코드(pseudo code) 및 도 8에 도시된 type B를 참조하면, 특정 비트의 왼/혹은 오른쪽 서브 블록 중 어느 한 개의 위치에 취약 비트(weak-bit)가 있고 (알고리즘 3B 의사 코드, line 5-15/16-25), 바로 다음 인덱스에 해당하는 비트 역시 취약 비트인 경우 (알고리즘 3B 의사 코드, line 26-28) 교차 위치에 있는 비트를 패리티 후보로 추가될 수 있다.
부호화 장치는, 선택해야 하는 총 패리티 비트 수에서 알고리듬 2 및 알고리듬 3A를 통해 선택된 비트들의 수를 뺀 값(i.e.,
Figure pat00323
)보다 알고리듬 3B로 얻어진 후보들의 수가 같거나 작다면, 알고리듬 3B로 선택된 모든 비트들을 패리티로 선택할 수 있다. 선택해야 하는 총 패리티 비트 수에서 알고리듬 2 및 알고리듬 3A를 통해 선택된 비트들의 수를 뺀 값(i.e.,
Figure pat00324
)보다 알고리듬 3B로 얻어진 후보들의 수가 더 크다면, 부호화 장치는 선택된 후보 비트들 중 양극화 신뢰도가 낮은 비트의 우선순위가 높은 것으로 판단할 수 있다.
부호화 장치는, 알고리듬 3B를 통해 선택된 비트들에 상응하는 상태 지시 행렬
Figure pat00325
내 원소값을 0으로 업데이트하고
Figure pat00326
역시 갱신할 수 있다.
만약
Figure pat00327
함수를 통해 업데이트된
Figure pat00328
Figure pat00329
에 도달한 경우, 이후 추가 선택을 수행하지 않고 패리티 선택 알고리즘이 종료될 수 있다. 업데이트된
Figure pat00330
Figure pat00331
에 도달하지 않은 경우, 부호화 장치는 알고리듬 3C의
Figure pat00332
함수를 통해 type-C 유형의 패리티 비트 후보군을 탐색할 수 있다.
Figure pat00333
부호화 장치는 알고리듬 3C의
Figure pat00334
함수를 통해 type-C 유형의 패리티 비트 후보군을 탐색할 수 있다. 알고리듬 3A 및 알고리듬 3B를 통해 오류전파 및 복수의 취약 비트의 영향을 동시에 감쇄하는 패리티 비트가 선택되었다면, 알고리듬 3C에서는 복수의 취약 비트를 포함하는 서브 블록 내 취약 비트가 패리티 비트로 선택될 수 있다.
이 때 우선순위는 취약 비트가 포함된 서브 블록 내 취약 비트의 수, 해당 서브 블록의 길이, 해당 비트의 신뢰도(e.g., polarization weight) 순으로 결정될 수 있다. 먼저 상태 지시 행렬
Figure pat00335
내 '2'를 가지는 비트들의 인덱스 집합이
Figure pat00336
, 이 비트들에 상응하는 서브 블록 내 취약 비트의 수, 서브 블록의 길이 및 각 비트의 신뢰도(e.g., polarization weight) 집합이
Figure pat00337
라 정의될 수 있다. 이 때, 부호화 장치는
Figure pat00338
를 행렬로 하는
Figure pat00339
를 정의하고,
Figure pat00340
에 대해
Figure pat00341
의 열들을 내림차순 정렬할 수 있다. 즉, 부호화 장치는 복수의 취약 비트의 수가 많은 것부터 내림차순 정렬한다. 만약 복수의 취약 비트의 수가 동률인 경우, 부호화 장치는 서브 블록의 길이 순으로 로컬하게(locally) 내림차순 정렬을 하고, 그 중에서 가장 신뢰도가 낮은 비트를 패리티 비트로 선택할 수 있다. 이러한 1회 패리티 비트 선택 과정을 수행한 후
Figure pat00342
Figure pat00343
이 업데이트될 수 있다.
업데이트된
Figure pat00344
Figure pat00345
에 도달하지 않은 경우, 부호화 장치는 스텝 3를 수행하여 패리티 비트를 추가로 선택할 수 있다.
스텝 3. 최소 보호 보장: 각 PC 체인에 패리티 삽입 (Minimum protection guarantee: parity insertion to each PC chain)
스텝 1과 스텝 2의 과정을 통해 각 pc-chain에서 패리티 비트로 선택된 비트 수를
Figure pat00346
로 설명하도록 한다. 부호화 장치는 이 때
Figure pat00347
(i.e., 아직 정해진 수의 패리티 비트까지 선택되지 못한 경우)이고
Figure pat00348
를 만족하는 경우
Figure pat00349
번째 PC-chain 내 weak-bit을 패리티 비트로 선택할 수 있다. 이는 각 pc-chain 내 비트들의 weakness를 고려하기 위함이며, 각 pc-chain 내 적어도 한 개의 취약 비트를 패리티 비트로 선택함으로써 전반적인 보호 레벨(overall protection level)을 강화하고자 함이다.
스텝 3의 과정을 수행하는 것 자체가 복수의 취약 비트를 포함하는 서브 블록이 없을 때이므로, 해당 pc-chain 내 취약 비트를 포함하는 서브 블록의 길이가 길수록 선택 우선순위가 높으며, 서브 블록의 길이가 같다면 양극화 신뢰도가 낮을수록 선택 우선순위가 높다. 이는 알고리듬 4와 같이 표현될 수 있다.
Figure pat00350
Figure pat00351
Figure pat00352
로 정의되는 각 pc-chain 내 취약 비트들의 위치 인덱스 집합이다.
Figure pat00353
내 첫 번째 위치의 비트에 해당하는 서브 블록의 길이와 그 비트의 양극화 신뢰도(e.g., polarization weight)를 각각
Figure pat00354
Figure pat00355
(
Figure pat00356
는 인덱스가
Figure pat00357
인 비트채널에 해당하는 양극화 신뢰도 값이다.
Figure pat00358
에 해당하는 인덱스는
Figure pat00359
로 표현할 수 있기 때문이다.) 라 할 때, 부호화 장치는 더 긴 길이의 서브 블록을 포함하거나, 서브 블록의 길이는 같지만 양극화 신뢰도가 더 낮은 비트를 발견할 경우 temp의 값을 바꾸어 패리티 비트의 후보를 변경할 수 있다. 알고리듬 4를 통해 모든 pc-chain 내 적어도 한 비트의 패리티 비트가 선택될 수 있으며, 부호화 장치는 step 3 과정을 수행한 후 행렬
Figure pat00360
및 패리티 비트들의 인덱스 집합 (구체적으로는 패리티 그룹 2의 인덱스 집합)
Figure pat00361
를 다시 업데이트할 수 있다.
Figure pat00362
함수는 변경된 패리티 비트 인덱스 집합에 의해 업데이트된
Figure pat00363
를 얻는 함수로 알고리듬 5에 나타나 있다. 한편, 알고리즘 5에 따른
Figure pat00364
업데이트는 전술한 스텝 1 및 스텝 2에서 각 알고리즘(예를 들어, 알고리즘 1, 2, 3A, 3B, 3C)에서
Figure pat00365
를 업데이트하는데 이용될 수 있다.
Figure pat00366
업데이트된
Figure pat00367
Figure pat00368
에 도달하지 않은 경우, 부호화 장치는 스텝 4를 수행하여 패리티 비트를 추가로 선택할 수 있다.
스텝 4. 오류 전파 완화 (Error propagation mitigation)
스텝 1 내지 스텝 3의 과정을 통해 선택된 패리티 비트들의 수가 여전히
Figure pat00369
보다 적은 경우, 부호화 장치는 스텝 4의 과정에서 알고리즘 6을 이용하여 추가적으로 패리티 비트를 선택할 수 있다.
Figure pat00370
인덱스가
Figure pat00371
인 비트와 인덱스가
Figure pat00372
)인 비트가 모두 취약 비트인 경우, 부호화 장치는 비트
Figure pat00373
를 패리티 비트로 선택하여 오류 전파(error propagation)의 영향을 줄일 수 있다. temp,
Figure pat00374
는 각각,
Figure pat00375
(i.e., 인덱스가
Figure pat00376
인 비트에 상응하는 상태 지시 행렬
Figure pat00377
내 원소값)와
Figure pat00378
(i.e., 인덱스가
Figure pat00379
인 비트에 상응하는 상태 행렬
Figure pat00380
내 원소값)가 '2(i.e., 취약 비트)'로 같은 값을 가지는 경우, 인덱스가
Figure pat00381
인 비트들의 인덱스 및 양극화 신뢰도 집합일 수 있다. 부호화 장치는
Figure pat00382
내 가장 작은 값 쪽에 상응하는 비트를 패리티 비트로 선택할 수 있다. 예컨대 부호화 장치는 step 4 내
Figure pat00383
개의 비트를 패리티로 선택하는 경우, PWtemp 내 양극화 신뢰도가 가장 작은
Figure pat00384
개 값에 상응하는 비트들을 패리티로 선택할 수 있다. 전술한 알고리즘 6은
Figure pat00385
함수를 통해 정의될 수 있다.
일 실시예에 따른 부호화 장치는 선택하고자 하는 패리티 비트의 수(
Figure pat00386
) 보다 집합
Figure pat00387
내 최소 무게를 가지는 비트(i.e., 취약 비트)들의 수(i.e.,
Figure pat00388
)가 많은 경우, 전술한 스텝 1 내지 스텝 4를 순차적으로 적용함으로써, 패리티 비트를 선택할 수 있다. 부호화 장치는 스텝 1 내지 스텝 4를 순차적으로 적용하는 과정에서 선택된 패리티의 수가 부호화 장치에서 선택하고자 하는 패리티 비트의 수(
Figure pat00389
)에 도달한 경우, 패리티 비트를 선택하는 스텝을 종료할 수 있다. 이하에서는, 알고리즘 7을 스텝 1 내지 스텝 4를 순차적으로 적용하여 패리티 비트를 선택하는 방법에 대해 설명하도록 한다.
(실시예 1)
Figure pat00390
일 때 패리티 비트 선택 방법
부호화 장치는 집합
Figure pat00391
내 최소 무게를 가지는 비트(i.e., 취약 비트)들의 수(i.e.,
Figure pat00392
)가 선택하고자 하는 패리티 비트의 수(
Figure pat00393
)보다 많은 경우,
Figure pat00394
개의 취약 비트들 중
Figure pat00395
개를 알고리즘 7에 기초하여 선택할 수 있다.
Figure pat00396
상기의 알고리즘 7을 참조하면, 부호화 장치는 먼저 선택할 패리티 비트들의 인덱스 집합
Figure pat00397
Figure pat00398
로 초기화하고, 전술한 스텝들에 따라
Figure pat00399
및 상태 지시(state-indicator) 행렬
Figure pat00400
를 업데이트할 수 있다. 구체적으로, 부호화 장치는 스텝 1의
Figure pat00401
함수를 통해 각 PC-chain마다 가장 뒤 서브 블록 내 취약 비트를 가지는 비트들 중 인덱스가 제일 큰 비트를
Figure pat00402
에 추가할 수 있다. 또한 부호화 장치는
Figure pat00403
에 해당하는 비트들의 인덱스 정보를 기반으로
Figure pat00404
를 업데이트할 수 있다.
부호화 장치는
Figure pat00405
함수 (line: 2-4)를 통해 선택된 비트 수가
Figure pat00406
에 미치지 못하는 경우, case 2의
Figure pat00407
함수 (line: 5-7)를 통해 복수의 취약 비트를 가지는 서브 블록이면서도 오류전파의 영향과 구조적으로 맞물린 비트들의 후보를 찾고, 조건에 따라 일부 또는 전체에 해당하는 비트들을
Figure pat00408
에 추가할 수 있다. 부호화 장치는 case 2까지 선택된 비트의 수가
Figure pat00409
개에 도달하면
Figure pat00410
Figure pat00411
의 업데이트를 중단하고, 모든 패리티 비트 선택 알고리즘을 종료할 수 있다.
부호화 장치는 선택된 패리티 비트의 수가
Figure pat00412
개에 도달하지 못한 경우에는 case 3 (
Figure pat00413
, 알고리즘 7 의사 코드 line: 8-10), case 4 (
Figure pat00414
, 알고리즘 7 의사 코드 line: 11-13), case 5 (
Figure pat00415
, 알고리즘 7 의사 코드 line: 14-16), case 6 (
Figure pat00416
, 알고리즘 7 의사 코드 line: 17-19) 함수를 통해 최종
Figure pat00417
개의 패리티 비트를 선택할 수 있다.
(실시예 2)
Figure pat00418
일 때 패리티 비트 선택 방법
부호화 장치는 집합
Figure pat00419
내 최소 무게를 가지는 비트(i.e., 취약 비트)들의 수(i.e.,
Figure pat00420
)가 선택하고자 하는 패리티 비트의 수(
Figure pat00421
)보다 적은 경우, 모든
Figure pat00422
개의 취약 비트들을 선택하고
Figure pat00423
개의 차-취약 비트들을 추가 선택할 수 있다. 이 때 부호화 장치는 알고리듬 8-1 및 알고리즘 8-2에 기초하여
Figure pat00424
개의 차-취약 비트들을 선택할 수 있다.
Figure pat00425
우선, 부호화 장치는 모든 취약 비트들 (개수:
Figure pat00426
)을 선택할 수 있다. 그리고 부호화 장치는
Figure pat00427
개의 비트를 보호되지 않는 비트 선택(unprotected bit selection)을 위한 목적으로 선택한 후,
Figure pat00428
이거나 업데이트된
Figure pat00429
로부터 multi 차-취약 비트를 포함하는 서브 블록이 있는 경우 단 한 개의 차-취약 비트를 추가적으로 선택할 수 있다.
하기의 알고리듬 8-2는
Figure pat00430
일 때
Figure pat00431
메트릭 기반의 패리티 비트 선택 방법을 나타낸다.
Figure pat00432
부호화 장치는 각각의 pc-chain (pc-chain
Figure pat00433
:
Figure pat00434
)들에 대하여, 가장 뒤 서브 블록(i.e.,
Figure pat00435
) 내 차-취약 비트들의 profile을 분석할 수 있다. 우선, 부호화 장치는 집합
Figure pat00436
공간에
Figure pat00437
내 차-취약 비트들에 해당하는 비트 인덱스들을 모두 저장할 수 있다. 이후, 부호화 장치는 적어도 하나의 차취약 비트 중 상기 각 서브 블록에서 첫번째에 위치한 차취약 비트를 제외한 차취약 비트를 식별할 수 있다. 즉, 부호화 장치는 각 차-취약 비트들에 해당하는
Figure pat00438
값이 0인 비트들을 모두 제외할 수 있다(i.e.,
Figure pat00439
). 이 과정을 통해 업데이트된
Figure pat00440
내 차-취약 비트들이 다수 존재하는 경우, 부호화 장치는
Figure pat00441
메트릭 (
Figure pat00442
)이 가장 낮은 값을 패리티로 결정하며 이는 서브 블록 내 취약 비트 분포를 최대한 균등하게 분할하기 위함이다.
Figure pat00443
메트릭은 서브 블록 내에서의 차취약 비트의 위치를 기초로 결정되는 밸런싱 파라미터일 수 있다. 이 과정을 수행하면 각
Figure pat00444
내에는 최대 1비트가 남아 있게 되며, 부호화 장치는 이 비트들의 인덱스 합집합을
Figure pat00445
에 저장할 수 있다(
Figure pat00446
).
하지만 이 비트들에 대해서도 우선순위가 존재할 수 있다. 따라, 부호화 장치는 집합
Figure pat00447
내에 포함된 차-취약 비트들이 속한 서브 블록 내 차-취약 비트들의 수가 클수록, 만약 같다면 신뢰도가 더 낮은 비트의 우선순위를 더 높게 부여할 수 있다. 예컨대 인덱스가 각각 a,b,c인 차-취약 비트들이 포함된 서브 블록 내 차-취약 비트들의 수가 각각 d,d,e (d<e)이고 양극화 신뢰도가 각각 f, g, h (f<g)라면, 우선순위가 c, a, b와 같이 정해질 수 있다.
위의 과정을 통해서 선택된 비트들의 수가
Figure pat00448
보다 같거나 큰 경우,
Figure pat00449
의 인덱스를 가지는 비트들이 패리티로 선택될 수 있다 (알고리즘 8-2 의사 코드 line 39-44). 반대로
Figure pat00450
보다 작은 경우,
Figure pat00451
내 모든 비트들을 패리티로 선택하고 다음 과정으로 넘어간다 (알고리즘 8-2 의사 코드 line 37-38).
부호화 장치는 이번에는 제일 뒤에서 2번째 서브 블록(i.e.,
Figure pat00452
) 내 차-취약 비트들의 profile을 분석할 수 있다. 이는 알고리듬 8-2와 유사한 방식으로 수행될 수 있다. 위와 마찬가지로 부호화 장치는
Figure pat00453
공간에
Figure pat00454
내 차-취약 비트들에 해당하는 비트 인덱스들을 모두 저장할 수 있다. 이후 부호화 장치는 각 차-취약 비트들에 해당하는
Figure pat00455
값이 0인 비트들을 모두 제외할 수 있다(i.e.,
Figure pat00456
.) 이 과정을 통해 업데이트된
Figure pat00457
내 차-취약 비트들이 다수 존재하는 경우, 부호화 장치는 인덱스가 가장 큰 비트를 패리티로 결정할 수 있다. 이 과정을 수행하면 각
Figure pat00458
내에는 최대 1비트가 남아 있게 되며, 부호화 장치는 이 비트들의 인덱스 합집합을
Figure pat00459
에 저장할 수 있다(
Figure pat00460
).
역시 이 비트들에 대해서도 우선순위가 존재하므로,
Figure pat00461
내에 포함된 차-취약 비트들이 속한 서브 블록 내 차-취약 비트들의 수가 클수록, 만약 같다면 신뢰도가 더 낮은 비트의 우선순위가 더 높게 부여될 수 있다. 위의 과정을 통해서 선택된 비트들의 수가
Figure pat00462
보다 같거나 큰 경우, 부호화 장치는
Figure pat00463
의 인덱스를 가지는 비트들을 패리티로 선택한다. 반대로
Figure pat00464
보다 작은 경우, 부호화 장치는
Figure pat00465
내 모든 비트들을 패리티로 선택하고 다음 과정으로 넘어간다.
여전히
Figure pat00466
이 0보다 큰 경우, 부호화 장치는 다시 제일 뒤 서브 블록(i.e.,
Figure pat00467
)으로 넘어가서, 각 PC-chain 내 차-취약 비트들 중 가장 reliability가 낮은 비트들부터 순차적으로
Figure pat00468
개의 비트를 패리티로 선택함으로써
Figure pat00469
개 선택을 종료할 수 있다. 상기 기술된 과정을 통해 선택된 패리티 비트들에 해당하는 상태 지시 행렬
Figure pat00470
내 원소값이 0으로 업데이트되고, 패리티 비트 인덱스 집합
Figure pat00471
가 업데이트될 수 있다.
마지막으로, 알고리듬 8-1에 기술된 바와 같이
Figure pat00472
이고 다수의 차-취약 비트들이 포함된 서브 블록이 한 개 이상 남아 있다면,
Figure pat00473
Figure pat00474
,
Figure pat00475
함수를 순차적으로 적용하여 1비트가 선택되면 부호화 장치는 차취약 비트들 중 패리티 비트를 선택하는 과정을 종료할 수 있다.
다시 도 7을 참조하여 설명하면, 단계 730에서, 부호화 장치는 극 부호의 pc-체인 내부 및 극 부호의 pc-체인 간의 연결 관계에 따라 식별된 패리티 비트의 수가 패리티 비트로 이용하고자 하는 비트 수에 대응됨에 따라, 취약 비트 또는 차취약 비트의 패리티 비트로의 식별을 종료할 수 있다. 전술한 알고리즘 1 내지 알고리즘 8-2 각각에서 설명한 바와 같이, 부호화 장치는 패리티 비트들을 선택하는 과정에서, 선택된 패리티 비트의 수가 선택하고자 하는 패리티 비트의 수(
Figure pat00476
)에 도달하는 경우 취약 비트 또는 차취약 비트의 패리티 비트로의 식별 과정을 종료할 수 있다.
단계 740에서, 부호화 장치는 식별된 패리티 비트를 포함하는 극 부호를 획득할 수 있다. 부호화 장치는 획득된 극 부호를 포함하는 신호를 복호화 장치에 전송할 수 있다. 한편, 부호화 장치는 획득된 극 부호의 전송에 앞서, 선택된 패리티 비트 또는 선택된 패리티 비트의 인덱스에 관한 정보를 복호화 장치에 전송할 수 있다. 다른 실시예에 따라, 부호화 장치는 획득된 극 부호와 함께 선택된 패리티 비트 또는 선택된 패리티 비트의 인덱스에 관한 정보를 복호화 장치에 전송할 수도 있다.
도 9는 본 개시의 일 실시예에 따른 패리티 비트 선택 과정을 설명하기 위한 도면이다.
도 9를 참조하면, (128,34) 부호에서
Figure pat00477
=7이며,
Figure pat00478
=13이므로 13개의 취약 비트들 중 7개의 패리티 비트들의 인덱스 집합
Figure pat00479
를 결정할 필요가 있다. 설명의 편의상 알고리즘 2를 통해 선택된 패리티 비트들의 인덱스 집합을
Figure pat00480
(by
Figure pat00481
함수), 알고리즘 3A, 알고리즘 3B, 알고리즘 3C를 (i.e., 복수의 취약 비트를 포함하는 서브 블록 내 패리티 선택) 통해 선택된 패리티 비트들의 인덱스 집합을
Figure pat00482
(by
Figure pat00483
함수), 그리고 알고리즘 4 및 알고리즘 6를 통해 선택된 패리티 비트들의 인덱스 집합을 각각
Figure pat00484
(by
Figure pat00485
함수),
Figure pat00486
(by
Figure pat00487
함수)라 정의한다.
부호화 장치는 먼저, 스텝 1을 통해 각 pc-chain의 제일 뒤 서브 블록에서 인덱스가 가장 큰 취약 비트를 패리티 비트로 선택할 수 있다. 즉, 부호화 장치는 pc-chain 0에서 인덱스가 120, pc-chain 1에서 인덱스가 116, pc-chain 3에서 인덱스가 113, pc-chain 4에서 인덱스가 114인 비트를 패리티로 선택할 수 있다. PC-chain 2의 경우 제일 마지막 서브 블록에 취약 비트가 없으므로 선택되지 않는다. 결과적으로 스텝 1을 통해 선택된 패리티 비트들의 인덱스 집합
Figure pat00488
Figure pat00489
이며, 부호화 장치는 해당 비트들에 상응하는 상태 지시(state indicator) 행렬
Figure pat00490
내 원소 값을 '0'으로 업데이트 할 수 있다. (현재까지
Figure pat00491
)
다음, 부호화 장치는 업데이트된 상태 지시 행렬
Figure pat00492
를 이용하여 스텝 2를 통해 패리티 비트 집합을 결정할 수 있다. 도 9를 참조하면, 인덱스 집합 내에 타입 A(Type-A) 유형의 서브 블록은 없으나, 타입 B 유형의 패리티 비트를 식별하기 위한
Figure pat00493
함수를 통해 복수의 취약 비트 및 오류전파 영향 관점에서 교차점에 위치한 인덱스가 '101'인 비트가 패리티로 추가 선택될 수 있다(
Figure pat00494
인 type-B의 구조를 하나 가진다). 즉,
Figure pat00495
이며, 이 비트에 상응하는
Figure pat00496
값은 0으로 업데이트될 수 있다. (현재까지
Figure pat00497
.)
부호화 장치는 현재까지 선택된 패리티 비트가 이용하고자 하는 패리티 비트의 수에 도달하지 않음에 따라, 스텝 3을 통해 패리티 비트를 추가로 선택할 수 있다. 스텝 3에서는, 각 pc-chain들의 전반적인 보호-레벨 향상 (protection-level enhancement) 관점에서 단 한 개의 취약 비트도 선택되지 않은 pc-chain 2의 '102'가 패리티로 선택될 수 있다. 92와 102가 포함된 서브 블록의 길이는 각각 2로 같으나, 더 양극화 신뢰도가 낮은 102가 패리티로 선택되며
Figure pat00498
이다. 부호화 장치는 인덱스가 102인 비트에 상응하는
Figure pat00499
값을 0으로 업데이트할 수 있다 (i.e.,
Figure pat00500
)
현재까지 선택된 비트가 6비트임에 따라, 부호화 장치는 스텝 4에 따른 오류 전파의 영향을 고려한 패리티 비트 선택 방법(i.e., step 4)을 적용할 수 있다. 부호화 장치는 인덱스가 89-90 (행렬
Figure pat00501
Figure pat00502
)와 인덱스가 105-106 (행렬
Figure pat00503
Figure pat00504
)인 타입 D 구조 중, 더 양극화 신뢰도가 낮은 89를 패리티로 선택할 수 있다. 즉,
Figure pat00505
이다. (
Figure pat00506
.) 양극화 신뢰도를 유일한 패리티 비트 선택 기준으로 활용하는 기존 기술의 경우, 선택된 패리티 비트들의 인덱스 집합
Figure pat00507
Figure pat00508
이다. 본 개시에 따른 패리티 비트 선택과 기존 기술에 따른 패리티 비트 선택은 결과적으로 3비트 차이가 나지만, 시뮬레이션 결과 블록 오율=
Figure pat00509
을 만족하는 SNR[dB] 관점에서 0.15dB의 성능 이득이 발생함을 확인할 수 있다.
도 10은 본 개시의 다른 실시예에 따른 패리티 비트 선택 과정을 설명하기 위한 도면이다.
도 10을 참조하면, (128,70) 극 부호에서
Figure pat00510
=7이며,
Figure pat00511
=14임에 따라, 부호화 장치는 14개의 취약 비트 패리티 후보들 중 7개의 패리티 비트를 선택할 수 있다.
부호화 장치는 스텝 1의
Figure pat00512
함수를 통해 각 pc-chain 내 제일 뒤 서브 블록에서 인덱스가 가장 큰 취약 비트를 패리티 비트로 선택할 수 있다. 즉, 부호화 장치는 pc-chain 0 내 '100', pc-chain 2 내 '112', pc-chain 3 내 '98', pc-chain 내 '104'의 인덱스를 선택할 수 있으며, 이에 따라
Figure pat00513
이다 (현재까지
Figure pat00514
).
또한, 부호화 장치는 스텝 2를 통해 복수의 취약 비트를 포함하는 서브 블록 내에서 취약 비트들을 선택할 수 있다. 부호화 장치는
Figure pat00515
) 함수를 통해, 인덱스가 76-81-82 (
Figure pat00516
)인 타입 B 구조 내 교차점에 위치한 81을 패리티 비트로 선택하고,
Figure pat00517
값을 0으로 업데이트할 수 있다. 이후 인덱스 집합에는 82-97 및 74-84를 포함하는 타입 C 구조가 남는다. 부호화 장치는
Figure pat00518
함수를 통해 각각의 서브 블록에서 더 낮은 양극화 신뢰도를 가지는 비트를 패리티로 선택하며, 이를 통해 82와 74가 패리티로 선택될 수 있다. (현재까지
Figure pat00519
)
스텝 1 및 스텝 2에 따라 선택된 패리티 비트들의 인덱스 집합
Figure pat00520
Figure pat00521
로, 부호화 장치에서 이용하고자 하는 패리티 비트의 수
Figure pat00522
=7에 선택된 패리티 비트들의 수가 도달함에 따라, 부호화 장치는 패리티 비트를 선택하기 위한 스텝을 종료할 수 있다. 한편, 기존 기술에 따라 선택된 패리티 비트들의 인덱스 집합
Figure pat00523
Figure pat00524
이다. 본 개시에 따른 패리티 비트 선택과 기존 기술에 따른 패리티 비트 선택은 결과적으로 3비트 차이가 나지만, 시뮬레이션 결과 블록 오율
Figure pat00525
을 달성하는 SNR[dB] 관점에서 0.13dB의 성능 이득이 발생한다.
도 11은 본 개시의 다른 실시예에 따른 패리티 비트 선택 과정을 설명하기 위한 도면이다.
도 11을 참조하면, (128,40) 극부호에서
Figure pat00526
=7이며,
Figure pat00527
=1임에 따라, 부호화 장치는 1개의 취약 비트(i.e., minimum weight을 가지는 비트)를 패리티 비트로 선택하고, 차-취약 비트들 중
Figure pat00528
개를 패리티 비트로 추가 선택할 수 있다.
부호화 장치는 우선, 집합
Figure pat00529
내 취약 비트를 모두 선택할 수 있다 (
Figure pat00530
).
다음으로, 부호화 장치는 각 pc-chain 내 제일 뒤 서브 블록(
Figure pat00531
) 내 차-취약 비트들 중
Figure pat00532
이 0이 아닌
Figure pat00533
메트릭이 가장 작은 비트들을
Figure pat00534
에 저장할 수 있다. 저장된 비트들의 인덱스는 pc-chain 1 내 '120', pc-chain 2 내 '116', pc-chain 3 내 '113', pc-chain 4 내 '114'이다. PC-chain 2 내 '102'는
Figure pat00535
이므로 선택되지 않을 수 있다. 이 비트들의 인덱스 합집합
Figure pat00536
이며, 해당 비트들이 포함된 서브 블록 내 차-취약 비트들의 수 및 각 비트들의 양극화 신뢰도를 고려해서 결정되는 우선순위는
Figure pat00537
와 같다.
Figure pat00538
이므로, 부호화 장치는
Figure pat00539
에 포함된 모든 차-취약 비트들을 패리티로 선택할 수 있다.
만약
Figure pat00540
이고 전술한 바에 따른 차-취약 비트 선택 과정 후에도 복수의 취약 비트를 포함하는 서브 블록이 남아 있다면, 부호화 장치는 복수의 차-취약 비트를 포함하는 서브 블록에서 비트 1개를 추가 선택할 수 있다.
Figure pat00541
함수 내 조건을 만족하는 차-취약 비트는 없으나,
Figure pat00542
함수 내 조건을 만족하는 차-취약 비트 후보들이 존재함에 따라,
Figure pat00543
함수 내 조건을 만족하는 차-취약 비트 후보들 중 가장 양극화 신뢰도가 낮은 '85'가
Figure pat00544
에 추가될 수 있다. 즉, 해당 도 11의 실시예에서 선택된 그룹 1 내 패리티 비트들의 인덱스 집합
Figure pat00545
Figure pat00546
이다.
도 12a는 본 개시의 일 실시예에 따른 식별된 패리티 비트들을 포함한 극 부호의 부호화 파라미터 별 BLER(block error rate)을 설명하기 위한 그래프이다.
도 12a는 부호 길이
Figure pat00547
=64에 대해 각각 1-bit fine granularity 시뮬레이션을 수행한 결과 그래프이며, 시뮬레이션에서 QPSK (quadrature phase shift keying) 변조 및 AWGN (additive white Gaussian noise) 채널을 사용하는 것으로 가정하였다. 또한, 리스트의 크기가 8인 SCL 복호를 고려하였다.
도 12a에는 다양한 부호화 파라미터에 대하여
Figure pat00548
=64 일 때, 기존 기술에 따라 패리티 비트를 선택한 경우 및 본 개시에 따라 패리티 비트를 선택한 경우의 BLER 성능을 비교한 그래프이다. 관심 있는 오율 영역이 BLER=
Figure pat00549
임에 따라, BLER=
Figure pat00550
를 달성하는 SNR[dB]을 확인한 결과, 본 개시에 따라 패리티 비트를 선택한 경우의 오율 성능이 기존 기술에 비해 항상 우수하며, 약 0.15-0.35dB의 성능 이득을 가짐을 확인할 수 있다.
도 12b는 본 개시의 일 실시예에 따른 식별된 패리티 비트들을 포함한 극 부호의 부호화 파라미터 별 BLER(block error rate)을 설명하기 위한 그래프이다.
도 12b는
Figure pat00551
=128,
Figure pat00552
=36,71,100에서 6비트 순환 중복 검사(cyclic redundancy check: CRC) 부호가 연접된 CRC-PC 극부호에 대한 기존 기술에 따른 패리티 선택 방법과 본 개시에 따른 패리티 선택 방법의 복호 성능을 비교한 그래프이다. 시뮬레이션에서는 두 기법 모두 신뢰도 상위
Figure pat00553
(
Figure pat00554
: CRC비트 수)개 비트들 내 취약 비트들의 수와
Figure pat00555
의 대소관계를 비교한 후 각기 다른 패리티 비트 선택 방법이 적용되었다. 시뮬레이션 결과, 해당 파라미터에서는 종래 패리티 비트 선택 방법에 비해 발명 패리티 비트 선택 방법을 적용한 경우 성능 이득 효과가 더 크게 나타남을 확인하였는데, 이를 통해 CRC가 정보블록 끝에 연접되므로 더 앞쪽 인덱스의 취약 비트들을 패리티로 선택함으로써 얻어지는 성능 이득이 크다는 점을 확인할 수 있다.
도 12c는 본 개시의 일 실시예에 따라 식별된 패리티 비트들을 포함한 극 부호의 패리티 비트의 개수에 따른 요구 SNR[dB]을 설명하기 위한 그래프이다.
도 12c는 패리티 비트 수에 따른 BLER=
Figure pat00556
을 달성하는 요구 SNR[dB] 을 비교한 그래프이다. 도 12c에서 왼쪽 그래프는
Figure pat00557
=64인 경우이며, 오른쪽 그래프는
Figure pat00558
=128인 경우를 나타내고, CRC 부호를 고려하지 않은 PC 극부호에 대해 시뮬레이션이 진행되었다.
도 12c의 그래프를 참조하면, 기존 기술에 따른 패리티 선택 방법의 성능과는 다르게, 본 개시에 따른 패리티 선택 방법을 적용했을 때 패리티 비트 수가 많아짐에 따라 전반적으로 더 낮은 요구 SNR로 목표 블록 오율이 달성됨을 확인할 수 있다.
도 13은 일 실시예에 따른 극 부호의 부호화 및 복호화 방법을 수행하는 UE와 기지국의 동작을 설명하기 위한 흐름도이다.
도 13의 실시예에서는 UE가 본 개시의 실시예에 따른 부호화 장치를 포함하고, 기지국이 본 개시의 실시예에 따라 부호화된 극 부호를 복호화할 수 있는 복호화 장치를 포함하는 것으로 가정한다. 다만, 이는 일 예일 뿐, 기지국 역시 본 개시에 따른 부호화 방법을 수행할 수 있으며, UE 역시 본 개시에 따른 복호화 방법을 수행할 수 있다.
단계 1310에서, UE는 기지국에 PC 극 부호 적용 여부를 문의하는 메시지를 전송할 수 있다.
단계 1320에서, 기지국은 UE에 PC 극 부호 적용 여부에 대한 응답을 포함하는 메시지를 전송할 수 있다.
단계 1330에서, UE는 극 부호의 pc-체인 내부 및 극 부호의 pc-체인 간의 연결 관계에 따라 식별된 패리티 비트의 정보를 전달할 수 있다.
일 실시예에 따른 UE는 기지국으로부터 PC 극 부호를 적용한다는 응답을 수신함에 따라, 본 개시에 따른 극 부호의 pc-체인 내부 및 극 부호의 pc-체인 간의 연결 관계에 따라 패리티 비트를 식별할 수 있다. UE는 식별된 패리티 비트에 관한 정보를 기지국에 전달할 수 있다.
단계 1340에서, 기지국은 극 부호의 pc-체인 내부 및 극 부호의 pc-체인 간의 연결 관계에 따라 식별된 패리티 비트의 정보를 수신함을 응답하는 메시지를 전송할 수 있다.
단계 1350에서, UE 및 기지국은 본 개시에 따른 부호화 방법에 따라 PC 극 부호를 설계하고, 이를 복호화할 수 있다. 예를 들어, UE가 기지국에 극 부호를 전송하는 경우, 기지국은 전술한 단계 1330에서 전달된 패리티 비트에 관한 정보를 기초로 극 부호를 복호화할 수 있다.
다만, 이는 일 실시예일 뿐, 기지국이 부호 파라미터에 맞는 패리티 비트 인덱스 집합(
Figure pat00559
Figure pat00560
)을 결정하여 UE에 전달하고, 전달된 패리티 비트 인덱스 집합에 기초하여 UE가 기지국으로부터 수신한 극 부호를 복호화할 수 있다.
본 개시에 따른 패리티 비트 선택 방법을 적용함으로써 기존 기술 대비 전반적인 부호 파라미터 영역에서 비슷하거나 우수한 복호(i.e., 블록 오율) 성능을 확보할 수 있음에 따라, beyond 5G 및 6G 등의 차세대 통신에 적용된 기존 극 부호를 대체하여 다양한 시나리오를 지원할 수 있다.
도 14는 일 실시예에 따른 부호화 장치의 블록도이다.
도 14을 참조하면, 부호화 장치(1400) 송수신부(1410), 프로세서(1420) 및 메모리(1430)를 포함할 수 있다.
송수신부(1410)는 무선 채널을 통해 신호를 송수신하기 위한 기능들을 수행할 수 있다. 예를 들어, 송수신부(1410)는 시스템의 물리 계층 규격에 따라 기저대역 신호 및 비트열 간 변환 기능을 수행할 수 있다. 예를 들어, 신호 송신시, 송수신부(1410)는 송신 비트열을 부호화 및 변조함으로써 복소 심볼들을 생성할 수 있다. 또한, 신호 수신시, 송수신부(1410)는 수신된 기저대역 신호의 복조 및 복호화를 통해 송신 비트열을 복원할 수 있다. 또한, 송수신부(1410)는 기저대역 신호를 RF 대역 신호로 상향변환한 후 안테나를 통해 송신하고, 안테나를 통해 수신되는 RF 대역 신호를 기저대역 신호로 하향변환할 수 있다. 예를 들어, 송수신부(1410)는 송신 필터, 수신 필터, 증폭기, 믹서, 오실레이터, DAC, ADC 등을 포함할 수 있다.
프로세서(1420)는 부호화 장치(1400)의 전반적인 동작들을 제어할 수 있다. 예를 들어, 프로세서(1420)는 송수신부(1410)를 통해 신호를 송신 및 수신할 수 있다. 또한, 프로세서(1420)는 메모리(1430)에 데이터를 기록하고, 읽는다. 그리고, 프로세서(1420)는 통신 규격에서 요구하는 프로토콜 스택의 기능들을 수행할 수 있다. 이를 위해, 프로세서(1420)는 적어도 하나의 프로세서 또는 마이크로(micro) 프로세서를 포함하거나, 또는, 프로세서의 일부일 수 있다. 일 실시예에 따라, 프로세서(1420)는 적어도 하나의 프로세서(at least one processor)를 포함할 수 있다. 또한, 일 실시예에 따라, 송수신부(1410)의 일부 및/또는 프로세서(1420)는 CP(communication processor)라 지칭될 수 있다.
프로세서(1420)는 전술한 부호화 방법에 관한 다양한 실시예들 중 적어도 하나에 따른 동작들을 수행하도록 제어할 수 있다. 예를 들어, 프로세서(1420)는 극 부호를 구성하는 비트들의 인덱스 집합에 기초하여 각 비트의 상태를 지시하는 상태 지시 정보를 획득할 수 있다. 또한, 프로세서(1420)는 상태 지시 정보에 따라 결정된 취약 비트의 수 및 패리티 비트로 이용하고자 하는 비트 수에 기초하여, 극 부호의 pc-체인 내부 및 극 부호의 pc-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 취약 비트 또는 차취약 비트를 패리티 비트로 식별할 수 있다. 프로세서(1420)는 극 부호의 pc-체인 내부 및 극 부호의 pc-체인 간의 연결 관계에 따라 식별된 패리티 비트의 수가 패리티 비트로 이용하고자 하는 비트 수에 대응됨에 따라, 취약 비트 또는 차취약 비트의 패리티 비트로의 식별을 종료할 수 있다. 프로세서(1420)는 식별된 패리티 비트를 포함하는 극 부호를 획득할 수 있다.
또한, 프로세서(1420)는 송수신부(1410)를 통해, 식별된 패리티 비트를 포함하는 극 부호를 전송할 수 있다.
메모리(1430)는 부호화 장치(1400)의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장할 수 있다. 메모리(1430)는 휘발성 메모리, 비휘발성 메모리 또는 휘발성 메모리와 비휘발성 메모리의 조합으로 구성될 수 있다. 그리고, 메모리(1430)는 프로세서(1420)의 요청에 따라 저장된 데이터를 제공할 수 있다.
도 15는 일 실시예에 따른 복호화 장치의 블록도이다.
도 15를 참조하면, 복호화 장치(1500) 송수신부(1510), 프로세서(1520) 및 메모리(1530)를 포함할 수 있다.
송수신부(1510)는 무선 채널을 통해 신호를 송수신하기 위한 기능들을 수행할 수 있다. 예를 들어, 송수신부(1510)는 시스템의 물리 계층 규격에 따라 기저대역 신호 및 비트열 간 변환 기능을 수행할 수 있다. 예를 들어, 신호 송신시, 송수신부(1510)는 송신 비트열을 부호화 및 변조함으로써 복소 심볼들을 생성할 수 있다. 또한, 신호 수신시, 송수신부(1510)는 수신된 기저대역 신호의 복조 및 복호화를 통해 송신 비트열을 복원할 수 있다. 또한, 송수신부(1510)는 기저대역 신호를 RF 대역 신호로 상향변환한 후 안테나를 통해 송신하고, 안테나를 통해 수신되는 RF 대역 신호를 기저대역 신호로 하향변환할 수 있다. 예를 들어, 송수신부(1510)는 송신 필터, 수신 필터, 증폭기, 믹서, 오실레이터, DAC, ADC 등을 포함할 수 있다.
프로세서(1520)는 복호화 장치(1500)의 전반적인 동작들을 제어할 수 있다. 예를 들어, 프로세서(1520)는 송수신부(1510)를 통해 신호를 송신 및 수신할 수 있다. 또한, 프로세서(1520)는 메모리(1530)에 데이터를 기록하고, 읽는다. 그리고, 프로세서(1520)는 통신 규격에서 요구하는 프로토콜 스택의 기능들을 수행할 수 있다. 이를 위해, 프로세서(1520)는 적어도 하나의 프로세서 또는 마이크로(micro) 프로세서를 포함하거나, 또는, 프로세서의 일부일 수 있다. 일 실시예에 따라, 프로세서(1520)는 적어도 하나의 프로세서(at least one processor)를 포함할 수 있다. 또한, 일 실시예에 따라, 송수신부(1510)의 일부 및/또는 프로세서(1520)는 CP(communication processor)라 지칭될 수 있다.
프로세서(1520)는 전술한 본 개시의 실시예에 따른 부호화 방법에 따라 식별된 패리티 비트를 포함하는 극 부호를 복호화할 수 있다. 예를 들어, 프로세서(1520)는 부호화 장치로부터 수신한 극 부호를 구성하는 비트들의 인덱스 집합에 기초하여 각 비트의 상태를 지시하는 상태 지시 정보를 획득할 수 있다. 또한, 프로세서(1520)는 상태 지시 정보에 따라 결정된 취약 비트의 수 및 패리티 비트로 이용하고자 하는 비트 수에 기초하여, 극 부호의 pc-체인 내부 및 극 부호의 pc-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 취약 비트 또는 차취약 비트를 패리티 비트로 식별할 수 있다. 프로세서(1520)는 극 부호의 pc-체인 내부 및 극 부호의 pc-체인 간의 연결 관계에 따라 식별된 패리티 비트의 수가 패리티 비트로 이용하고자 하는 비트 수에 대응됨에 따라, 취약 비트 또는 차취약 비트의 패리티 비트로의 식별을 종료할 수 있다. 프로세서(1520)는 식별된 패리티 비트에 기초하여 극 부호를 복호화함으로써 정보 비트를 획득할 수 있다.
또한, 프로세서(1520)는 송수신부(1510)를 통해, 식별된 패리티 비트를 포함하는 극 부호를 수신할 수 있다.
메모리(1530)는 복호화 장치(1500)의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장할 수 있다. 메모리(1530)는 휘발성 메모리, 비휘발성 메모리 또는 휘발성 메모리와 비휘발성 메모리의 조합으로 구성될 수 있다. 그리고, 메모리(1530)는 프로세서(1520)의 요청에 따라 저장된 데이터를 제공할 수 있다.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.

Claims (20)

  1. 극 부호의 부호화를 위한 방법에 있어서,
    극 부호를 구성하는 비트들의 인덱스 집합에 기초하여 각 비트의 상태를 지시하는 상태 지시 정보를 획득하는 단계;
    상기 상태 지시 정보에 따라 결정된 취약 비트의 수 및 패리티 비트로 이용하고자 하는 비트 수에 기초하여, 상기 극 부호의 pc-체인 내부 및 상기 극 부호의 pc-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 취약 비트 또는 차취약 비트를 패리티 비트로 식별하는 단계;
    상기 극 부호의 pc-체인 내부 및 상기 극 부호의 pc-체인 간의 연결 관계에 따라 식별된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 대응됨에 따라, 상기 취약 비트 또는 상기 차취약 비트의 상기 패리티 비트로의 식별을 종료하는 단계; 및
    상기 식별된 패리티 비트를 포함하는 극 부호를 획득하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 취약 비트 또는 상기 차취약 비트를 상기 패리티 비트로 식별하는 단계는,
    상기 상태 지시 정보를 기초로, 상기 인덱스 집합에서 PC(parity check) 체인 별로 연속된 0이 아닌 엘리먼트의 셋들을 각각의 서브 블록으로 결정하는 단계; 및
    상기 상태 지시 정보에 따라 결정된 취약 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수 보다 많은 것으로 식별됨에 따라, 상기 결정된 각각의 서브 블록 중 PC 체인 별로 가장 뒤의 서브 블록에 취약 비트가 포함되는 경우, 상기 취약 비트가 포함된 가장 뒤의 서브 블록에서 마지막에 위치한 비트를 식별하는 단계를 포함하고,
    상기 식별된 비트는 상기 패리티 비트로 업데이트 되는, 방법.
  3. 제2항에 있어서, 상기 취약 비트 또는 상기 차취약 비트를 상기 패리티 비트로 식별하는 단계는,
    상기 업데이트 이후에, 상기 각각의 서브 블록에 대하여 식별된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 도달하지 않음에 따라, 상기 각각의 서브 블록 중 취약 비트의 수가 3개 이상인 서브 블록에 포함된 취약 비트 중 맞닿은 비트가 취약 비트인 취약 비트를 타입 A 유형에 따른 패리티 비트로 식별하는 단계를 포함하는, 방법.
  4. 제 3항에 있어서, 상기 취약 비트 또는 상기 차취약 비트를 상기 패리티 비트로 식별하는 단계는,
    상기 타입 A 유형에 따른 패리티 비트의 식별 후에 업데이트 된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 도달하지 않음에 따라, 상기 각각의 서브 블록 중 가장 자리의 취약 비트와 맞닿은 비트가 취약 비트인 경우, 상기 가장 자리의 취약 비트를 타입 B 유형에 따른 패리티 비트로 식별하는 단계를 포함하는, 방법.
  5. 제 4항에 있어서, 상기 취약 비트 또는 상기 차취약 비트를 상기 패리티 비트로 식별하는 단계는,
    상기 타입 B 유형에 따른 패리티 비트의 식별 후에 업데이트 된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 도달하지 않음에 따라, 상기 각각의 서브 블록 중 복수의 취약 비트를 포함하는 서브 블록에 대하여 서브 블록 내 취약 비트의 수, 서브 블록의 길이, 취약 비트의 신뢰도에 기초하여 결정된 우선 순위에 따라 선택된 취약 비트를 타입 C 유형에 따른 패리티 비트로 식별하는 단계를 포함하는, 방법.
  6. 제 5항에 있어서, 상기 취약 비트 또는 상기 차취약 비트를 상기 패리티 비트로 식별하는 단계는,
    상기 타입 C 유형에 따른 패리티 비트의 식별 후에 업데이트 된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 도달하지 않음에 따라, 상기 각각의 서브 블록 중 패리티 비트가 식별되지 않은 적어도 하나의 서브 블록에 포함된 취약 비트를 식별하는 단계를 포함하고,
    상기 각각의 서브 블록 중 패리티 비트가 식별되지 않은 적어도 하나의 서브 블록에 포함된 취약 비트는 상기 패리티 비트로 업데이트 되는, 방법.
  7. 제 6항에 있어서, 상기 취약 비트 또는 상기 차취약 비트를 상기 패리티 비트로 식별하는 단계는,
    상기 업데이트 이후에, 상기 각각의 서브 블록에 대하여 식별된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 도달하지 않음에 따라, 상기 각각의 서브 블록에 포함된 비트 중 인덱스 i인 비트와 인덱스 i+1인 비트가 모두 취약 비트인 경우 상기 인덱스 i인 비트를 상기 패리티 비트로 식별하는 단계를 포함하는, 방법.
  8. 제1항에 있어서, 상기 취약 비트 또는 상기 차취약 비트를 상기 패리티 비트로 식별하는 단계는,
    상기 상태 지시 정보를 기초로, 상기 인덱스 집합에서 PC(parity check) 체인 별로 연속된 0이 아닌 엘리먼트의 셋들을 각각의 서브 블록으로 결정하는 단계;
    상기 상태 지시 정보에 따라 결정된 취약 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수 보다 적은 것으로 식별됨에 따라, 상기 결정된 취약 비트를 모두 상기 패리티 비트로 식별하는 단계; 및
    상기 극 부호의 pc-체인 내부 및 상기 극 부호의 pc-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 차취약 비트를 상기 패리티 비트로 식별하는 단계를 포함하는, 방법.
  9. 제8항에 있어서, 상기 차취약 비트를 상기 패리티 비트로 식별하는 단계는,
    적어도 하나의 차취약 비트 중 상기 각 서브 블록에서 첫번째에 위치한 차취약 비트를 제외한 차취약 비트를 식별하는 단계;
    상기 식별된 차취약 비트가 복수개인 경우, 식별된 복수개의 차취약 비트들 중 상기 서브 블록 내에서의 위치를 기초로 결정되는 밸런싱 파라미터 값이 가장 작은 차취약 비트를 패리티 비트로 업데이트하는 단계; 및
    업데이트 된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 도달하지 않음에 따라, 상기 식별된 차취약 비트 중 패리티 비트로 업데이트 되지 않은 차취약 비트의 적어도 일부를 상기 각각의 서브 블록 내의 차취약 비트의 수 및 차취약 비트의 신뢰도를 기초로 결정된 우선 순위에 따라 상기 패리티 비트로 식별하는 단계를 포함하는, 방법.
  10. 극 부호의 복호화를 위한 방법에 있어서,
    극 부호에서 상기 극 부호의 pc-체인 내부 및 상기 극 부호의 pc-체인 간의 연결 관계에 따라 식별된 패리티 비트의 인덱스에 관한 정보 및 상기 극 부호를 획득하는 단계; 및
    상기 패리티 비트의 인덱스에 관한 정보를 기초로 상기 획득된 극 부호를 복호화하는 단계를 포함하고,
    상기 패리티 비트는, 상태 지시 정보에 따라 결정된 취약 비트의 수 및 패리티 비트로 이용하고자 하는 비트 수에 기초하여, 극 부호의 pc-체인 내부 및 상기 극 부호의 pc-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 취약 비트 또는 차취약 비트를 포함하고,
    상기 상태 지시 정보는, 상기 극 부호를 구성하는 비트들의 인덱스 집합에 기초하여 각 비트의 상태를 지시하는 정보인, 방법.
  11. 극 부호의 부호화를 위한 장치에 있어서,
    송수신부; 및
    적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는,
    극 부호를 구성하는 비트들의 인덱스 집합에 기초하여 각 비트의 상태를 지시하는 상태 지시 정보를 획득하고,
    상기 상태 지시 정보에 따라 결정된 취약 비트의 수 및 패리티 비트로 이용하고자 하는 비트 수에 기초하여, 상기 극 부호의 pc-체인 내부 및 상기 극 부호의 pc-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 취약 비트 또는 차취약 비트를 패리티 비트로 식별하며,
    상기 극 부호의 pc-체인 내부 및 상기 극 부호의 pc-체인 간의 연결 관계에 따라 식별된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 대응됨에 따라, 상기 취약 비트 또는 상기 차취약 비트의 상기 패리티 비트로의 식별을 종료하고,
    상기 식별된 패리티 비트를 포함하는 극 부호를 획득하는, 장치.
  12. 제11항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 상태 지시 정보를 기초로, 상기 인덱스 집합에서 PC(parity check) 체인 별로 연속된 0이 아닌 엘리먼트의 셋들을 각각의 서브 블록으로 결정하고,
    상기 상태 지시 정보에 따라 결정된 취약 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수 보다 많은 것으로 식별됨에 따라, 상기 결정된 각각의 서브 블록 중 PC 체인 별로 가장 뒤의 서브 블록에 취약 비트가 포함되는 경우, 상기 취약 비트가 포함된 가장 뒤의 서브 블록에서 마지막에 위치한 비트를 식별하며,
    상기 식별된 비트는 상기 패리티 비트로 업데이트 되는, 장치.
  13. 제12항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 업데이트 이후에, 상기 각각의 서브 블록에 대하여 식별된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 도달하지 않음에 따라, 상기 각각의 서브 블록 중 취약 비트의 수가 3개 이상인 서브 블록에 포함된 취약 비트 중 맞닿은 비트가 취약 비트인 취약 비트를 타입 A 유형에 따른 패리티 비트로 식별하는, 장치.
  14. 제 13항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 타입 A 유형에 따른 패리티 비트의 식별 후에 업데이트 된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 도달하지 않음에 따라, 상기 각각의 서브 블록 중 가장 자리의 취약 비트와 맞닿은 비트가 취약 비트인 경우, 상기 가장 자리의 취약 비트를 타입 B 유형에 따른 패리티 비트로 식별하는, 장치.
  15. 제 14항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 타입 B 유형에 따른 패리티 비트의 식별 후에 업데이트 된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 도달하지 않음에 따라, 상기 각각의 서브 블록 중 복수의 취약 비트를 포함하는 서브 블록에 대하여 서브 블록 내 취약 비트의 수, 서브 블록의 길이, 취약 비트의 신뢰도에 기초하여 결정된 우선 순위에 따라 선택된 취약 비트를 타입 C 유형에 따른 패리티 비트로 식별하는, 장치.
  16. 제 15항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 타입 C 유형에 따른 패리티 비트의 식별 후에 업데이트 된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 도달하지 않음에 따라, 상기 각각의 서브 블록 중 패리티 비트가 식별되지 않은 적어도 하나의 서브 블록에 포함된 취약 비트를 식별하고,
    상기 각각의 서브 블록 중 패리티 비트가 식별되지 않은 적어도 하나의 서브 블록에 포함된 취약 비트는 상기 패리티 비트로 업데이트 되는, 장치.
  17. 제 16항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 업데이트 이후에, 상기 각각의 서브 블록에 대하여 식별된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 도달하지 않음에 따라, 상기 각각의 서브 블록에 포함된 비트 중 인덱스 i인 비트와 인덱스 i+1인 비트가 모두 취약 비트인 경우 상기 인덱스 i인 비트를 상기 패리티 비트로 식별하는, 장치.
  18. 제11항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 상태 지시 정보를 기초로, 상기 인덱스 집합에서 PC(parity check) 체인 별로 연속된 0이 아닌 엘리먼트의 셋들을 각각의 서브 블록으로 결정하고,
    상기 상태 지시 정보에 따라 결정된 취약 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수 보다 적은 것으로 식별됨에 따라, 상기 결정된 취약 비트를 모두 상기 패리티 비트로 식별하며,
    상기 극 부호의 pc-체인 내부 및 상기 극 부호의 pc-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 차취약 비트를 상기 패리티 비트로 식별하는, 장치.
  19. 제18항에 있어서, 상기 적어도 하나의 프로세서는,
    적어도 하나의 차취약 비트 중 상기 각 서브 블록에서 첫번째에 위치한 차취약 비트를 제외한 차취약 비트를 식별하고,
    상기 식별된 차취약 비트가 복수개인 경우, 식별된 복수개의 차취약 비트들 중 상기 서브 블록 내에서의 위치를 기초로 결정되는 밸런싱 파라미터 값이 가장 작은 차취약 비트를 패리티 비트로 업데이트하며,
    업데이트 된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 도달하지 않음에 따라, 상기 식별된 차취약 비트 중 패리티 비트로 업데이트 되지 않은 차취약 비트의 적어도 일부를 상기 각각의 서브 블록 내의 차취약 비트의 수 및 차취약 비트의 신뢰도를 기초로 결정된 우선 순위에 따라 상기 패리티 비트로 식별하는, 장치.
  20. 극 부호의 복호화를 위한 장치에 있어서,
    송수신부; 및
    적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는,
    극 부호에서 상기 극 부호의 pc-체인 내부 및 상기 극 부호의 pc-체인 간의 연결 관계에 따라 식별된 패리티 비트의 인덱스에 관한 정보 및 상기 극 부호를 획득하고,
    상기 패리티 비트의 인덱스에 관한 정보를 기초로 상기 획득된 극 부호를 복호화하며,
    상기 패리티 비트는, 상태 지시 정보에 따라 결정된 취약 비트의 수 및 패리티 비트로 이용하고자 하는 비트 수에 기초하여, 극 부호의 pc-체인 내부 및 상기 극 부호의 pc-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 취약 비트 또는 차취약 비트를 포함하고,
    상기 상태 지시 정보는, 상기 극 부호를 구성하는 비트들의 인덱스 집합에 기초하여 각 비트의 상태를 지시하는 정보인, 장치.
KR1020210064862A 2021-05-20 2021-05-20 극 부호의 부호화 및 복호화를 위한 방법 및 장치 KR20220157146A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210064862A KR20220157146A (ko) 2021-05-20 2021-05-20 극 부호의 부호화 및 복호화를 위한 방법 및 장치
US17/749,636 US11936400B2 (en) 2021-05-20 2022-05-20 Method and apparatus for encoding and decoding polar code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210064862A KR20220157146A (ko) 2021-05-20 2021-05-20 극 부호의 부호화 및 복호화를 위한 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20220157146A true KR20220157146A (ko) 2022-11-29

Family

ID=84235389

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210064862A KR20220157146A (ko) 2021-05-20 2021-05-20 극 부호의 부호화 및 복호화를 위한 방법 및 장치

Country Status (2)

Country Link
US (1) US11936400B2 (ko)
KR (1) KR20220157146A (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190013374A (ko) 2017-07-28 2019-02-11 삼성전자주식회사 통신 또는 방송 시스템에서 극부호 부호화/복호화 방법 및 장치
KR102213345B1 (ko) * 2019-07-01 2021-02-08 한국과학기술원 패리티 검사 연접 극 부호의 설계 방법 및 그 장치

Also Published As

Publication number Publication date
US20220393791A1 (en) 2022-12-08
US11936400B2 (en) 2024-03-19

Similar Documents

Publication Publication Date Title
US11374682B2 (en) Method and apparatus for encoding data using a polar code
CA3028013C (en) Systems and methods for piece-wise rate matching when using polar codes
CN109314600B (zh) 用于在使用通用极化码时进行速率匹配的系统和方法
CN108365914B (zh) Polar码编译码方法及装置
KR20200017520A (ko) 극성 코드 인코딩 방법 및 디바이스
CN108540141B (zh) Polar码编译码方法及装置
CN108282259B (zh) 一种编码方法及装置
CN110663189B (zh) 用于极化编码的方法和装置
KR102289928B1 (ko) 데이터 프로세싱 방법 및 디바이스
US20140040675A1 (en) Data processing method and apparatus
WO2019047246A1 (en) METHODS AND APPARATUS FOR POLAR CODING
KR20220157146A (ko) 극 부호의 부호화 및 복호화를 위한 방법 및 장치
KR20230160736A (ko) 극 부호의 송수신을 위한 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination