KR102206307B1 - 폴라 코드를 사용하여 데이터를 인코딩하는 방법 및 장치 - Google Patents

폴라 코드를 사용하여 데이터를 인코딩하는 방법 및 장치 Download PDF

Info

Publication number
KR102206307B1
KR102206307B1 KR1020197010597A KR20197010597A KR102206307B1 KR 102206307 B1 KR102206307 B1 KR 102206307B1 KR 1020197010597 A KR1020197010597 A KR 1020197010597A KR 20197010597 A KR20197010597 A KR 20197010597A KR 102206307 B1 KR102206307 B1 KR 102206307B1
Authority
KR
South Korea
Prior art keywords
subchannels
bits
subchannel
bit
subset
Prior art date
Application number
KR1020197010597A
Other languages
English (en)
Other versions
KR20190053899A (ko
Inventor
후아지 장
지아지에 통
롱 리
준 왕
원 퉁
이쿤 제
샤오청 류
공정 장
지안 왕
난 청
치방 장
Original Assignee
후아웨이 테크놀러지 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 후아웨이 테크놀러지 컴퍼니 리미티드 filed Critical 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20190053899A publication Critical patent/KR20190053899A/ko
Application granted granted Critical
Publication of KR102206307B1 publication Critical patent/KR102206307B1/ko

Links

Images

Classifications

    • 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
    • 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/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/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
    • 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/611Specific encoding aspects, e.g. encoding by means of decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • 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/0041Arrangements at the transmitter end
    • H04L1/0043Realisations of complexity reduction techniques, e.g. use of look-up tables
    • 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
    • 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
    • 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/0064Concatenated codes
    • H04L1/0065Serial concatenated codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

실시 예 기술은 그들의 행 가중치에 기반하여 패리티 비트를 서브채널에 매핑한다. 서브채널에 대한 행 가중치는 크로네커 행렬의 대응하는 행에 있는 "1"의 수, 또는 서브채널 인덱스(아래에 추가로 기술된)의 이진 표현에서의 "1"의 수인 지수(즉, 해밍 가중치)를 가지는 2의 거듭제곱으로 볼 수 있다. 일 실시 예에서, 특정 행 가중치 값을 갖는 후보 서브채널이 패리티 비트(들)에 대해 예약된다. 그 후, K개의 정보 비트가 K개의 가장 신뢰할 수 있는 나머지 서브채널에 매핑될 수 있고, 다수의 프로즌 비트(예를 들어, N-K)는 가장 신뢰도가 낮은 나머지 서브채널에 매핑될 수 있다. 패리티 비트는 그 다음 후보 서브채널에 매핑될 수 있고, 패리티 비트 값은 정보 비트의 함수에 기반하여 결정된다.

Description

폴라 코드를 사용하여 데이터를 인코딩하는 방법 및 장치
본 특허 출원은 2016년 9월 15일자로 출원되고 "동적 프로즌 비트를 할당하고 폴라 코드로 그에 대한 패리티 함수를 구성하는 방법 및 디바이스"라는 명칭의 미국 임시 특허 출원 제62/395,312호, 2016년 9월 19일자로 출원되고 "동적 프로즌 비트를 할당하고 폴라 코드로 그에 대한 패리티 함수를 구성하는 방법 및 디바이스"라는 명칭의 미국 임시 특허 출원 제62/395,618호, 2016년 9월 30일자로 출원되고 "병렬 폴라 코드 인코딩/디코딩을 위한 방법 및 디바이스"라는 명칭의 미국 임시 특허 출원 제62/402,862호, 2016년 12월 9일자로 출원되고 "룩업 테이블을 사용하여 폴라 코드 기반의 패리티 검사(Pc)를 구성하는 방법"이라는 명칭의 미국 임시 특허 출원 제62/432,448호, 2016년 12월 9일자로 출원되고 "패리티 검사(PC)-폴라-구성을 병렬화하기 위한 방법 및 시스템"이라는 명칭의 미국 임시 특허 출원 제62/434,416호, 2016년 12월 13일자로 출원되고 "룩업 테이블을 사용하여 폴라 코드 기반의 패리티 검사(PC)를 구성하는 방법"이라는 명칭의 미국 임시 특허 출원 제62/433,127호, 2017년 9월 8일자로 출원되고 "폴라 코드를 사용하여 데이터를 인코딩하는 방법 및 장치"라는 명칭의 미국 특허 출원 제15/699,967호에 대한 우선권을 주장하는 바이며, 모두 그 전체로서 원용에 의해 본 명세서에 포함된다.
본 발명은 데이터 송신(transmission) 방법 및 장치에 관한 것으로, 특히 인코딩 방법 및 장치에 관한 것이다.
폴라(polar) 코드는 전체 송신 용량을 향상시키기 위해 채널 양극화(channel polarization)를 활용(exploit)하는 선형 블록 에러 정정 코드이다. 특히, 폴라 코드는 신뢰도가 낮은 서브채널(예를 들어, 노이즈가 많은 서브채널)을 통해 고정된(또는 프로즌(frozen)) 비트를 송신하고, 신뢰도가 높은 서브채널(예를 들어, 노이즈가 적은 서브채널)을 통해 정보 비트를 송신하도록 설계된다. 폴라 인코딩은 "채널 양극화 및 폴라 코드"라는 명칭의 학술 논문에 더 자세히 기술되어 있으며, 이는 전체적으로 재현된 것처럼 참조에 의해 여기에 통합된다.
기술적 이점이 양극화 인코딩을 위한 방법 및 장치를 설명하는 본 개시의 실시 예에 의해 일반적으로 달성된다.
일 실시 예에 따르면, 폴라 코드로 데이터를 인코딩하는 방법이 제공된다. 본 실시 예에서, 상기 방법은 폴라 인코딩 정보 비트 및 적어도 하나의 패리티 비트를 포함하여 디바이스의 인코더로 인코딩된 데이터를 획득한다. 적어도 하나의 패리티 비트는 가중치 파라미터에 기반하여 적어도 하나의 패리티 비트에 대해 선택된 적어도 하나의 서브채널에 배치된다. 상기 방법은 인코딩된 데이터를 다른 디바이스로 송신하는 단계를 더 포함한다. 일 예에서, 가중치 파라미터는 최소 가중치를 포함한다. 이러한 예에서, 적어도 하나의 패리티 비트는 최소 가중치를 갖는 제1 개수의 서브채널 또는 최소 가중치의 2배를 갖는 제2 개수의 서브채널 중 적어도 하나에 배치될 수 있다. 동일한 예 또는 다른 예에서, 상기 방법은 순서가 정해진 서브채널의 세그먼트로부터 최소 가중치를 갖는 적어도 하나의 서브채널을 선택하는 단계를 더 포함할 수 있다. 최소 가중치를 갖는 적어도 하나의 서브채널은 순서가 정해진 서브채널의 K개의 서브채널의 세그먼트로부터 선택될 수 있고, K개의 서브채널 각각은 순서가 정해진 서브채널의 N0-K 세그먼트의 서브채널보다 더 높은 신뢰도 메트릭을 가지며, 여기서, K는 정보 블록 길이이고, N0는 마더 코드(mother code) 길이이다. 동일한 예 또는 다른 예에서, 순서가 정해진 서브채널의 세그먼트에서, 최소 가중치를 갖는 적어도 하나의 서브채널은, K개의 서브채널의 세그먼트에서 최소 가중치를 갖는 서브채널의 개수 n이 미리 설정된 값 F보다 크면, K개의 서브채널의 세그먼트로부터, 신뢰도 메트릭의 내림차순으로 최소 가중치를 갖는 F개의 서브채널을 선택하는 단계를 포함한다. 이 예 또는 다른 예에서, 인코더는 적어도 하나의 패리티 비트 각각에 대한 값을 결정하기 위해 패리티 검사 함수(function)를 적용할 수 있다. 이러한 예에서, 패리티 검사 함수는 소수(prime number) 패리티 검사 함수일 수 있다. 전술한 예 또는 다른 예에서, 상기 방법은 순서가 정해진 서브채널이 신뢰도 메트릭에 기반하여 정렬되는 것을 더 포함한다. 전술한 예들 중 어느 하나 또는 다른 예에서, 가중치 파라미터는 가장 낮은 행 가중치를 포함할 수 있다. 상기 방법은 서브채널들의 순서가 정해진 시퀀스의 K개의 가장 신뢰할 수 있는 서브채널의 서브세트에서 가장 낮은 행 가중치를 갖는 적어도 하나의 서브채널을 선택하는 단계를 더 포함할 수 있으며, 여기서 서브채널의 행 가중치는 행이 서브채널에 대응하는 크로네커(Kronecker) 행렬의 행에서의 1의 수이다. 이러한 예에서, K개의 가장 신뢰할 수 있는 서브채널의 서브세트에서 가장 낮은 행 가중치를 갖는 적어도 하나의 서브채널을 선택하는 것은, K개의 가장 신뢰할 수 있는 서브채널 중에서 가장 낮은 행 가중치를 갖는 서브채널의 수가 미리 설정된 수 Fp보다 크면, K개의 가장 신뢰할 수 있는 서브채널의 서브세트에서 가장 낮은 행 가중치를 갖는 Fp개의 서브채널을 선택하는 것을 포함한다. 동일한 예 또는 다른 예에서, 가장 낮은 행 가중치를 갖는 적어도 하나의 서브채널이 내림차순 신뢰도 순서에 따라 K개의 가장 신뢰할 수 있는 서브채널의 서브세트로부터 선택될 수 있다. 동일한 예 또는 다른 예에서, 상기 방법은 정보 비트에 대해 선택된 서브채널의 수가 K에 도달할 때까지 적어도 하나의 패리티 비트에 대해 선택된 적어도 하나의 서브채널을 스킵(skip)하면서, 서브채널의 순서가 정해진 시퀀스에서 정보 비트에 대한 서브채널을 선택하는 단계를 더 포함할 수 있다. 본 방법을 수행하는 장치가 또한 제공된다.
다른 실시 예에 따르면, 폴라 코드로 데이터를 인코딩하도록 구성된 디바이스가 제공된다. 본 실시 예에서, 상기 디바이스는 정보 비트 및 적어도 하나의 패리티 비트를 폴라 인코딩하여 인코딩된 데이터를 획득하도록 구성된 인코더를 포함한다. 적어도 하나의 패리티 비트는 가중치 파라미터에 기반하여 적어도 하나의 패리티 비트에 대해 선택된 적어도 하나의 서브채널에 배치되며, 인터페이스가 인코딩된 데이터를 다른 디바이스로 송신하도록 구성된다. 전술한 인코딩 실시 예의 임의 하나의 예에서, 가중치 파라미터는 최소 가중치를 포함한다. 이러한 예에서, 적어도 하나의 패리티 비트는 최소 가중치를 갖는 제1 개수의 서브채널 또는 최소 가중치의 2배를 갖는 제2 개수의 서브채널 중 적어도 하나에 배치될 수 있다. 동일한 예 또는 다른 예에서, 상기 인코더는 추가로, 순서가 정해진 서브채널의 세그먼트로부터 최소 가중치를 갖는 적어도 하나의 서브채널을 선택하도록 구성된다. 동일한 예 또는 다른 예에서, 최소 가중치를 갖는 적어도 하나의 서브채널은 순서가 정해진 서브채널의 K개의 서브채널의 세그먼트로부터 선택될 수 있고, K개의 서브채널 각각은 순서가 정해진 서브채널의 N0-K 세그먼트의 서브채널보다 더 높은 신뢰도 메트릭을 가지며, 여기서, K는 정보 블록 길이이고, N0는 마더 코드 길이이다. 동일한 예 또는 다른 예에서, 상기 디바이스/인코더는 순서가 정해진 서브채널의 세그먼트로부터 최소 가중치를 갖는 적어도 하나의 서브채널을 선택하고, K개의 서브채널의 세그먼트에서 최소 가중치를 갖는 서브채널의 개수가 미리 설정된 값 F보다 크면, K개의 서브채널의 세그먼트로부터 신뢰도 메트릭의 내림차순으로 최소 가중치를 갖는 F개의 서브채널을 선택할 수 있다. 이 예 또는 다른 예에서, 상기 인코더는 추가로 적어도 하나의 패리티 비트 각각에 대한 값을 결정하기 위해 패리티 검사 함수를 적용하도록 구성될 수 있다. 이러한 예에서, 패리티 검사 함수는 소수 패리티 검사 함수일 수 있다. 전술한 예 또는 다른 예에서, 순서가 정해진 서브채널이 신뢰도 메트릭에 기반하여 순서가 정해질 수 있다. 전술한 예들 중 어느 하나 또는 다른 예에서, 가중치 파라미터는 가장 낮은 행 가중치를 포함할 수 있으며, 상기 인코더는 추가로, 서브채널들의 순서가 정해진 시퀀스의 K개의 가장 신뢰할 수 있는 서브채널의 서브세트에서 가장 낮은 행 가중치를 갖는 적어도 하나의 서브채널을 선택하도록 구성될 수 있다. 서브채널의 행 가중치는 크로네커 행렬의 행에서의 1의 수이다. 행은 서브채널에 대응할 수 있다. 이러한 예에서, 상기 디바이스는 K개의 가장 신뢰할 수 있는 서브채널의 서브세트에서 가장 낮은 행 가중치를 갖는 적어도 하나의 서브채널을 선택할 수 있다. 상기 인코더는 추가로, K개의 가장 신뢰할 수 있는 서브채널 중에서 가장 낮은 행 가중치를 갖는 서브채널의 수 n이 미리 설정된 수 Fp보다 큰 경우, K개의 가장 신뢰할 수 있는 서브채널의 서브세트에서 가장 낮은 행 가중치를 갖는 Fp 개의 서브채널을 선택하도록 구성될 수 있다. 동일한 예 또는 다른 예에서, 가장 낮은 행 가중치를 갖는 적어도 하나의 서브채널이 내림차순 신뢰도 순서에 따라 K개의 가장 신뢰할 수 있는 서브채널의 서브세트로부터 선택될 수 있다. 동일한 예 또는 다른 예에서, 상기 인코더는 추가로, 정보 비트에 대해 선택된 서브채널의 수가 K에 도달할 때까지 적어도 하나의 패리티 비트에 대해 선택된 적어도 하나의 서브채널을 스킵하면서, 서브채널의 순서가 정해진 시퀀스에서 정보 비트에 대한 서브채널을 선택하도록 구성될 수 있다.
또 다른 실시 예에 따라, 데이터를 인코딩하는 또 다른 방법이 제공된다. 본 실시 예에서, 상기 방법은 서브채널의 세트의 서브세트에서의 서브채널에 대한 행 가중치에 기반하여 하나 이상의 패리티 비트에 대해 하나 이상의 서브채널을 할당하는 단계 및 정보 비트를 하나 이상의 패리티 비트에 대해 할당된 하나 이상의 서브채널에 매핑하지 않고, 정보 비트를 나머지 서브채널의 신뢰도에 기반하여 서브채널의 세트의 나머지 서브채널에 매핑하는 단계를 포함한다. 상기 방법은, 폴라 코드를 사용하여 정보 비트 및 하나 이상의 패리티 비트를 인코딩하여 인코딩된 비트 스트림을 획득하는 단계 및 인코딩된 비트 스트림을 송신하는 단계를 더 포함할수 있다. 전술한 인코딩 실시 예의 임의 일 예에서, 서브채널에 대한 행 가중치는 행이 서브채널에 대응하는 크로네커 행렬의 행에서의 1의 수를 나타낸다. 이 예 또는 다른 예에서, 상기 행 가중치는 적어도 최소 행 가중치를 포함할 수 있다. 이러한 예에서, 상기 방법은, 서브채널의 세트의 서브세트에서의 서브채널에 대한 행 가중치에 기반하여 하나 이상의 패리티 비트에 대해 하나 이상의 서브채널을 할당하는 단계; 및 서브채널의 서브세트에서 최소 행 가중치와 동일한 행 가중치를 갖는 다수의 서브채널을 하나 이상의 패리티 비트에 대해 할당하는 단계를 포함할 수 있다. 동일한 예 또는 다른 예에서 상기 할당된 서브채널의 수는 1이며, 상기 세트의 서브채널은 그들의 신뢰도에 기반하여 순서가 정해져 서브채널의 순서가 정해진 시퀀스를 형성할 수 있으며, 상기 서브채널의 서브세트는 순서가 정해진 시퀀스에서 가장 신뢰할 수 있는 서브세트를 포함한다. 동일한 예 또는 다른 예에서, 상기 서브채널의 가장 신뢰할 수 있는 서브세트는 정보 비트를 운반하기 위한 K개의 서브채널을 포함할 수 있다. 동일한 예 또는 다른 예에서, 상기 서브채널의 가장 신뢰할 수 있는 서브세트는 K+FP개의 서브채널을 포함할 수 있으며, K는 정보 비트와 연관된 정보 블록 길이이고, Fp는 하나 이상의 패리티 비트의 수를 나타낸다. 동일한 예 또는 다른 예에서, 서브채널의 서브세트에서 최소 행 가중치와 동일한 행 가중치를 갖는 가장 신뢰할 수 있는 서브채널은 하나 이상의 패리티 비트에 대해 할당될 수 있다. 전술한 예들 중 임의 하나 또는 다른 예에서, 상기 하나 이상의 패리티 비트는 하나 이상의 패리티 검사(parity check, PC) 비트를 포함할 수 있다. 이러한 예에서, 폴라 코드를 사용하여 정보 비트 및 하나 이상의 패리티 비트를 인코딩하여 인코딩된 비트 스트림을 획득하는 단계는, 하나 이상의 PC 비트에 대한 하나 이상의 값을 정보 비트의 값의 함수(function)로서 결정하는 단계; 및 하나 이상의 PC 비트를 PC 비트에 대해 할당된 적어도 하나 이상의 서브채널에 매핑하는 단계를 포함할 수 있다.
또 다른 실시 예에 따라, 폴라 코드로 데이터를 인코딩하는 디바이스가 제공된다. 본 실시 예에서, 상기 디바이스는, 서브채널의 세트의 서브세트에서의 서브채널에 대한 행 가중치에 기반하여 하나 이상의 패리티 비트에 대해 하나 이상의 서브채널을 할당하고, 정보 비트를 하나 이상의 패리티 비트에 대해 할당된 하나 이상의 서브채널에 매핑하지 않고, 정보 비트를 나머지 서브채널의 신뢰도에 기반하여 서브채널의 세트의 나머지 서브채널에 매핑하도록 구성된다. 상기 디바이스는 추가로, 폴라 코드를 사용하여 정보 비트 및 하나 이상의 패리티 비트를 인코딩하여 인코딩된 비트 스트림을 획득하고, 그리고 인코딩된 비트 스트림을 송신하도록 구성된다. 전술한 인코딩 실시 예의 임의 일 예에서, 상기 서브채널에 대한 행 가중치는 행이 서브채널에 대응하는 크로네커 행렬의 행에서의 1의 수를 나타낸다. 이 예 또는 다른 예에서, 상기 행 가중치는 적어도 최소 행 가중치를 포함한다. 이러한 예 또는 다른 예에서, 상기 디바이스는 서브채널의 세트의 서브세트에서의 서브채널에 대한 행 가중치에 기반하여 하나 이상의 패리티 비트에 대해 하나 이상의 서브채널을 할당할 수 있다. 상기 디바이스는 추가로, 서브채널의 서브세트에서 최소 행 가중치와 동일한 행 가중치를 갖는 다수의 서브채널을 하나 이상의 패리티 비트에 대해 할당하도록 구성될 수 있다. 전술한 예 중 임의 또는 다른 예에서, 상기 할당된 서브채널의 수는 1일 수 있으며, 상기 세트의 서브채널은 그의 신뢰도에 기반하여 순서가 정해져 서브채널의 순서가 정해진 시퀀스를 형성할 수 있으며, 상기 서브채널의 서브세트는 순서가 정해진 시퀀스에서 가장 신뢰할 수 있는 서브세트를 포함한다. 전술한 예 중 임의 또는 다른 예에서, 상기 서브채널의 가장 신뢰할 수 있는 서브세트는 정보 비트를 운반하기 위한 K개의 서브채널을 포함할 수 있으며, 상기 서브채널의 가장 신뢰할 수 있는 서브세트는 K+FP개의 서브채널을 포함하고, K는 정보 비트와 연관된 정보 블록 길이이고, Fp는 하나 이상의 패리티 비트의 수를 나타낸다. 동일한 예 또는 다른 예에서, 서브채널의 서브세트에서 최소 행 가중치와 동일한 행 가중치를 갖는 가장 신뢰할 수 있는 서브채널은 하나 이상의 패리티 비트에 대해 할당된다. 동일한 예 또는 다른 예에서, 상기 하나 이상의 패리티 비트는 하나 이상의 패리티 검사(parity check, PC) 비트를 포함한다.
또 다른 실시 예에 따라, 디바이스를 위한 디코딩 방법이 제공된다. 본 실시 예에서 상기 방법은, 다른 디바이스로부터 인코딩된 데이터에 기반한 신호를 수신하는 단계를 포함하며, 인코딩된 데이터는 폴라 코드, 정보 비트 그리고 적어도 하나의 패리티 비트로 인코딩하는 것에 의해 생성된다. 본 실시 예에서, 적어도 하나의 패리티 비트는 가중치 파라미터에 기반하여 선택된 적어도 하나의 서브채널에 배치된다. 상기 방법은 또한 디바이스의 디코더로, 폴라 코드를 사용하여 신호와 적어도 하나의 패리티 비트를 디코딩하여 정보 비트를 획득하는 단계를 포함한다.
일 예에서, 가중치 파라미터는 최소 가중치를 포함한다. 이러한 예에서, 적어도 하나의 패리티 비트는 최소 가중치를 갖는 제1 개수의 서브채널 또는 최소 가중치의 2배를 갖는 제2 개수의 서브채널 중 적어도 하나에 배치될 수 있다. 동일한 예 또는 다른 예에서, 선택된 적어도 하나의 서브채널은 최소 가중치를 가지며, 적어도 하나의 서브채널은 순서가 정해진 서브채널의 세그먼트로부터 선택된다. 최소 가중치를 갖는 적어도 하나의 서브채널은 순서가 정해진 서브채널의 K개의 서브채널의 세그먼트로부터 선택될 수 있으며, K개의 서브채널 각각은 순서가 정해진 서브 채널의 N0-K의 세그먼트의 서브채널보다 높은 신뢰도 메트릭을 가지며, 여기서, K는 정보 블록 길이이고, N0는 마더 코드 길이이다. 이 예 또는 다른 예에서, 적어도 하나의 패리티 비트의 각각의 값은 패리티 검사 함수에 기반한다. 이러한 예에서, 패리티 검사 함수는 소수 패리티 검사 함수일 수 있다. 전술한 예 또는 다른 예에서, 순서가 정해진 서브채널은 신뢰도 메트릭에 기반하여 순서가 정해진다. 전술한 예들 중 어느 하나 또는 다른 예에서, 가중치 파라미터는 가장 낮은 행 가중치를 포함할 수 있고, 선택된 적어도 하나의 서브채널은 서브채널의 순서가 정해진 시퀀스의 K개의 가장 신뢰할 수 있는 서브채널의 서브세트에서 가장 낮은 행 가중치를 갖으며, 여기서 서브채널의 행 가중치는 크로네커 행렬의 행에서의 1의 수이며, 행은 서브채널에 대응한다. 그러한 예에서. 동일한 예 또는 다른 예에서, 가장 낮은 행 가중치를 갖는 적어도 하나의 서브채널은 내림차순 신뢰도 순서에 따라 K개의 가장 신뢰할 수 있는 서브채널의 서브세트로부터 선택된다. 동일한 예 또는 다른 예에서, 정보 비트에 대한 서브채널은, 정보 비트에 대해 선택된 서브채널의 수가 K에 도달할 때까지 적어도 하나의 패리티 비트에 대해 선택된 적어도 하나의 서브채널을 스킵하는 것에 의해서, 서브채널의 순서가 정해진 시퀀스에서 선택된다. 본 방법을 수행하는 장치가 또한 제공된다.
또 다른 실시 예에 따르면, 디바이스에 대한 디코딩 방법이 제공된다. 본 실시 예에서, 상기 방법은 다른 디바이스로부터 인코딩된 비트 스트림에 기반한 신호를 수신하는 단계를 포함하며, 인코딩된 비트 스트림은 폴라 코드, 정보 비트 및 하나 이상의 패리티 비트로 인코딩하는 것에 의해 생성된다. 하나 이상의 패리티 비트는 서브채널의 세트의 서브세트에서의 서브채널에 대한 행 가중치에 기반하여할당된 하나 이상의 서브채널에 매핑되고, 정보 비트는 나머지 서브채널의 신뢰도에 기반하여 서브채널의 세트에서의 나머지 서브채널에 매핑된다. 상기 방법은 또한 폴라 코드 및 하나 이상의 패리티 비트를 사용하여 신호를 디코딩하여 정보 비트를 획득하는 단계를 포함한다.
전술한 디코딩 실시 예들 중 임의의 실시 예에서, 서브채널에 대한 행 가중치는 크로네커 행렬의 행에서의 1의 수를 나타내며, 행은 서브채널에 대응한다. 이 예 또는 다른 예에서, 행 가중치는 적어도 최소 행 가중치를 포함할 수 있다. 이러한 예에서, 하나 이상의 서브채널은 서브채널의 세트의 서브세트에서의 서브채널에 대한 행 가중치에 기반하여 하나 이상의 패리티 비트에 대해 할당된다. 다른 예에서, 서브채널의 서브세트에서 최소 행 가중치와 동일한 행 가중치를 갖는 다수의 서브채널이 하나 이상의 패리티 비트에 대해 할당된다. 동일한 예 또는 다른 예에서, 할당된 서브채널의 수는 1일 수 있고, 세트의 서브채널은 그들의 신뢰도에 기반하여 순서가 정해져 서브채널의 순서가 정해진 시퀀스를 형성할 수 있으며, 서브채널의 서브세트는 순서가 정해진 시퀀스에서 서브채널의 가장 신뢰할 수 있는 서브세트를 포함한다. 동일한 예 또는 다른 예에서, 서브채널의 가장 신뢰할 수 있는 서브세트는 정보 비트들을 운반하기 위한 K개의 서브채널들을 포함할 수 있다. 동일한 예 또는 다른 예에서, 서브채널들의 가장 신뢰할 수 있는 서브세트는 K+FP개의 서브채널을 포함할 수 있으며, K는 정보 비트와 연관된 정보 블록 길이이고, Fp는 하나 이상의 패리티 비트의 수를 나타낸다. 동일한 예 또는 다른 예에서, 서브채널의 서브세트에서 최소 행 가중치와 동일한 행 가중치를 갖는 가장 신뢰할 수 있는 서브채널은 하나 이상의 패리티 비트에 대해 할당될 수 있다. 전술한 예들 중 어느 하나 또는 다른 예에서, 하나 이상의 패리티 비트는 하나 이상의 패리티 검사(PC) 비트를 포함할 수 있다. 이러한 예 또는 다른 예에서, 하나 이상의 PC 비트에 대한 하나 이상의 값은 정보 비트의 값의 함수이다.
본 개시 및 그 이점에 대한 보다 완전한 이해를 위해, 첨부된 도면과 관련하여 취해진 다음의 설명이 이제 참조된다.
도 1은 폴라 코딩 생성 행렬이 커널(kernel)로부터 어떻게 생성(produce)될 수 있는지의 일례를 나타내는 다이어그램이다.
도 2는 코드워드를 생산하는 폴라 코딩 생성 행렬의 일례 및 폴라 인코더의 일례를 나타내는 도면이다.
도 3은 폭이 최대 주어진 리스트(list) 크기에 의해 제한되고 SCL(Successive Cancellation List) 폴라 디코더에서 사용되는 예시적인 결정 리스트 트리(tree)의 일부를 나타내는 도면이다.
도 4는 2x2(2-by-2) 커널에 기반한 폴라 인코더의 일례를 나타내는 블록도이다.
도 5a 내지 도 5g는 행 가중치가 계산되고 패리티 검사(parity check, PC) 비트에 대해 예약할 후보 서브채널을 선택하는 데 사용되는 방법을 설명하는 표이다.
도 6a 내지 도 6g는 패리티 검사(parity check, PC) 비트에 대해 예약할 후보 서브채널을 선택하는 데 해밍 가중치가 사용되는 방법을 설명하는 표이다.
도 7은 정보 비트의 시퀀스를 인코딩하는 일 실시 예의 방법의 흐름도이다.
도 8은 정보 비트의 시퀀스를 인코딩하는 일 실시 예의 방법의 흐름도이다.
도 9는 정보 비트의 시퀀스를 인코딩는 일 실시 예의 방법의 흐름도이다.
도 10은 통신 시스템의 블록도이다.
도 11은 폴라 인코딩 동안 프로즌 비트(frozen bit)를 선택하는 일 실시 예의 방법의 흐름도이다.
도12는 폴라 인코더/디코더에 구현된 레지스터의 블록도이다.
도 13a 내지 도 13d는 상이한 폴라 코드에 의해 달성된 블록 에러율(block error rate, BLER)의 그래프이다.
도 14a 및 도 14b는 데이터 스트림을 인코딩하기 위해 상이한 폴라 코드를 사용할 때 달성된 추정 노이즈 레벨의 그래프이다.
도 15는 실시 예 무선 디바이스의 블록도이다.
도 16은 PC 비트(들)을 위해 예약될 서브채널을 식별하기 위해 병렬 비교 연산(parallel comparison operation)을 사용하는 실시 예 기술의 다이어그램이다.
도 17은 정보 비트의 시퀀스를 인코딩하는 일 실시 예 방법의 흐름도이다.
도 18은 정보 비트의 시퀀스를 인코딩하는 다른 실시 예 방법의 흐름도이다.
도 19는 정보 비트의 시퀀스를 인코딩하는 다른 실시 예 방법의 흐름도이다.
도 20은 다른 실시 예의 인코더의 다이어그램이다.
도 21은 서브채널들의 순서가 정해진 시퀀스(ordered sequence)의 다이어그램이다.
도 22는 패리티 검사 디코더에 의해 사용되는 일 실시 예의 사이클 시프트 레지스터 동작(operation)의 다이어그램이다.
도 23은 패리티 검사 함수(function)의 다이어그램이다.
도 24는 정보 비트의 시퀀스를 인코딩하는 일 실시 예 방법의 흐름도이다.
도 25는 일 실시 예의 처리 시스템의 블록도이다.
도 26은 일 실시 예의 송수신기의 블록도이다.
실시 예들의 제작(making) 및 사용은 아래에서 상세히 논의된다. 그러나 본 개시는 다양한 특정 콘텍스트에서 구현될 수 있는 많은 적용 가능한 발명 개념을 제공함을 이해해야 한다. 논의된 특정 실시 예는 단지 본 발명을 제작하고 사용하기 위한 특정 방법의 예시이며, 본 발명의 범위를 제한하지 않는다.
패리티 비트는 폴라 인코딩 동안 정보 비트들의 스트링(string)에 부가되어, 디코딩을 지원하고(assist)하고 수신기에서의 에러 검출 또는 정정을 용이하게 한다. 용어 "패리티 검사(parity check, PC) 비트", "패리티 비트" 및 동적 프로즌 비트(dynamic frozen bit)는 본 개시 전체에서 상호 교환 가능하게 사용된다. 본 개시 내용의 많은 부분이 패리티 비트의 콘텍스트에서 발명의 실시 예를 설명하고 있지만, 패리티 비트는 특정 유형의 보조 비트(assistant bit)이고 본 개시에 개시된 원리는 다른 유형의 보조 비트, 예를 들어 다른 에러 정정 비트 또는 CRC(Cyclic Redundancy Check) 비트, 체크섬 비트, 해시(hash) 함수 비트, 암호 코드, 반복 코드 또는 에러 검출 비트 또는 코드와 같은 코드를 포함할 수 있다. 일부 실시 예에서, 패리티 비트는 패리티 검사(PC) 프로즌 비트(또는 간단히 "PF 비트")로 지칭된다.
폴라 인코딩 동안에 (P)개의 패리티 비트를 삽입할 때 발생하는 하나의 이슈(issue)는 패리티 비트를 송신할 (N 개의 서브채널 중) 서브채널(들)을 선택하는 방법이다. 폴라 인코딩 동안 패리티 비트를 취급(handling)하기 위한 하나의 옵션은 인코딩될 (K)개의 정보 비트(다른 보조 비트를 포함할 수도 있음)를 가장 신뢰할 수 있는(reliable) 서브채널에 매핑하고, 그 다음에 패리티 비트(들)를, 정보 비트를 가장 신뢰할 수 있는 서브채널에 매핑한 후에 이용 가능한 다음으로 가장 신뢰할 수 있는 서브채널(들)에 매핑하는 것이다. 다른 옵션은 패리티 비트(들)를 가장 신뢰할 수 있는 서브채널(들)에 매핑하고, 그 다음에 정보 비트(들)을, 패리티 비트(들)를 가장 신뢰할 수 있는 서브채널에 매핑한 후에 이용 가능한 다음으로 가장 신뢰할 수 있는 서브채널에 매핑하는 것이다.
시뮬레이션은 두 가지 옵션이 일반적으로 패리티 비트를 그들의 행 가중치를 기반으로 서브채널에 매핑하는 실시 예 기술들 보다 낮은 레벨의 성능을 제공함을 보여준다. 서브채널에 대한 행 가중치는 크로네커 행렬(Kronecker matrix)의 해당 행에 있는 "1(one)"의 수로, 또는 서브채널 인덱스의 2진 표현(이하에서 더 설명 됨)에서 "1"의 수인 지수(exponent)(즉, 해밍 가중치)를 가지는 2의 거듭제곱(a power of 2 with the exponent)으로 볼 수 있다. 일 실시 예에서, 특정 행 가중치 값(예를 들어, 최소 행 가중치 wmin 또는 최소 행 가중치의 2배(2*wmin))을 가지는 후보 서브채널이 따로 설정되어 패리티 비트(들)에 사용된다. 패리티 비트(들)를 위해 예약된 후보 서브채널은, 아래에 제공된 행 가중치를 계산하는 설명에 기반하여 이해될 수 있는 바와 같이, 반드시 가장 신뢰할 수 있는 서브채널일 필요는 없다. 후보 서브채널들이 식별된 후, K개의 정보 비트들은 K개의 가장 신뢰할 수 있는 나머지 서브채널들에 매핑되고, 다수의 프로즌 비트(예를 들어, N-K)가 가장 신뢰도가 낮은(the least reliable) 나머지 서브채널들로 매핑된다. 패리티 비트는 후보 서브채널에 매핑되고 패리티 비트 값은 정보 비트의 함수에 기반하여 결정된다.
서브채널에 대한 행 가중치를 결정하는 방법은 여러 가지가 있다. 일 실시 예에서, 행 가중치는 서브채널과 연관된 채널 인덱스의 해밍 가중치의 함수로서 계산될 수 있다. 해밍 가중치는 채널 인덱스를 나타내는 이진 시퀀스에서 0이 아닌 엘리먼트의 수이다. 일 실시 예에서, 서브채널(N)은 그들의 채널 신뢰도에 기반하여 순서가 정해진 시퀀스(Q)로 정렬됨으로써, 순서가 정해진 시퀀스(Q)는 신뢰도에 기반하여 오름차순으로(Q0, Q1, …, QN) 서브채널을 나열한다(여기서, QN이 가장 신뢰할 수 있는 채널임). 예를 들어, wmin 또는 dmin와 같이 본 개시 전체에 걸쳐서 상호 교환가능하게 표시(denote)되는 최소 행 가중치 값이, 예를 들어, K개의 정보 비트에 대해 사용되는 가장 신뢰할 수 있는 K 서브세트(Q(N-K+1)…QN) 또는 K개의 정보 비트 및 P개의 패리티 비트에 대해 사용되는 가장 신뢰할 수 있는 (K+P) 서브세트(예를 들어, Q(N-K-P)…QN)과 같이, 가장 신뢰할 수 있는 채널의 서브세트의 행 가중치에 기반하여 식별될 수 있다. 가장 신뢰할 수 있는 서브세트의 최소 행 가중치 값이 패리티 비트에 대한 서브채널을 예약하는데 사용될 수 있다.
일부 실시 예에서, wmin 파라미터를 동적으로 계산하는 프로세스가 인코딩 동작에 레이턴시(latency)를 추가하면, 룩업 테이블(look up table, LUT)이 wmin 파라미터를 식별하기 위해 사용될 수 있다.
더욱 상세하게, LUT 기반 기술은 폴라 인코딩 동안 사용될 수 있는 정보 블록 길이(K) 및 마더 코드 길이(mother code length) (M)의 잠재적인 조합의 함수로서 가능한 wmin 파라미터를 계산하는 것에 의해 룩업 테이블을 오프 라인으로 생성한다. 룩업 테이블은 온라인 폴라 인코딩 동안 wmin 파라미터를 결정하는데 사용된다. 표 1은 wmin 파라미터를 포함하는 코드 파라미터를 결정하는 데 사용될 수 있으며, 패리티 비트에 대해 예약될 후보 서브채널의 수를 결정하는데 사용되는 (f 1 ,f 2 )를 포함하는(자세한 내용은 아래에) 룩업 테이블의 예를 제공한다.
wmin,f1,f2 K=100 K=400 K=1000 K=2000 K=4000 K=6000 K=8000
K/M=1/5 32,12,0 32,5,7 32,2,11 32,1,13 64,20,0 64,20,0 64,21,0
K/M=1/3 32,13,0 16,4,9 16,1,13 32,19,0 32,21,0 32,17,4 32,15,5
K/M=2/5 8,1,8 16,10,4 16,5,10 16,3,13 16,2,14 16,1,15 16,1,16
K/M=1/2 8,10,1 8,1,10 16,17,0 16,14,3 16,9,8 16,7,10 16,6,11
K/M=2/3 4,3,7 8,15,0 8,7,7 8,5,10 8,3,12 8,2,14 8,2,14
K/M=3/4 4,11,0 4,1,10 8,15,0 8,17,0 8,16,1 8,7,8 8,11,7
K/M=5/6 2,1,6 4,5,5 4,4,7 4,2,10 4,1,12 4,1,12 8,18,0
K/M=8/9 2,2,4 4,11,0 4,12,1 4,8,4 4,4,9 4,3,10 4,3,10
온라인 폴라 인코딩 동안 wmin 파라미터를 식별하는 데 요구되는 시간은 큰 표(table)가 일반적으로 더 긴 검색 시간을 요구하기 때문에, 룩업 테이블의 크기에 크게 영향을 받는다. 결과적으로, 인코더의 레이턴시 요건은 룩업 테이블에서 이용 가능한 인코딩 조합의 세분성(granularity)을 제한할 수 있으며, 그에 따라 코딩 성능에 영향을 줄 수 있다.
본 개시의 다른 실시 예는 최소 해밍 가중치(umin) 파라미터에 기반하여 패리티 비트에 대한 서브채널을 예약 또는 할당하여, 행 가중치의 계산을 피하는(circumvent) 로우-레이턴시(low latency) 기술을 제공한다. 전술한 바와 같이, 행 가중치는 해밍 가중치의 함수로서 계산될 수 있다. 일례에서, 수식:
Figure 112019037781257-pct00001
에 기반하며, 여기서 rw는 주어진 서브채널에 대한 행 가중치이고, hw는 주어진 서브채널에 대한 채널 인덱스의 이진 표현의 해밍 가중치이다. 심볼 "hw" 및 "u"는 본 개시에서 상호 교환적으로 해밍 가중치를 지칭하기 위해 사용된다. 이것으로부터, 가장 낮은 해밍 가중치와 연관된 서브채널 또한 가장 낮은 행 가중치를 갖는 것이 명백하다. 따라서, 가장 신뢰할 수 있는 채널의 서브세트(예를 들어, Q(N-(K+ Fp )),… QN)의 서브채널과 연관된 해밍 가중치에 기반하여 최소 해밍 가중치(umin)를 식별하고, 그 다음에 패리티 비트에 대한 서브채널을 예약하기 위해 최소 해밍 가중치를 사용한다.
아래에 설명된 바와 같이, 패리티 비트에 대한 서브채널을 예약하기 위해 wmin과 함께 2배의 최소 행 가중치(2*wmin)가 때때로 사용된다. 예를 들어, wmin과 동일한 행 가중치를 갖는 제1 개수(예를 들어, f1)의 가장 신뢰할 수 있는 서브채널들이 패리티 비트에 대해 예약될 수 있고, 2*wmin 과 동일한 행 가중치를 갖는 제2 개수(예를 들어, f2)의 가장 신뢰할 수 있는 서브채널들이 패리티 비트에 대해 예약될 수 있다. 수식
Figure 112019037781257-pct00002
로부터, 2*wmin 파라미터가 최소 해밍 가중치에 1을 더한 값에 대응함이 분명하다. 따라서, 본 개시의 실시 예는 패리티 비트에 대한 최소 해밍 가중치와 동일한 해밍 가중치를 갖는 제1 개수의 가장 신뢰할 수 있는 서브채널과, 패리티 비트에 대한 최소 해밍 가중치에 1을 더한 값과 동일한 해밍 가중치를 갖는 제2 개수의 가장 신뢰할 수 있는 서브채널을 예약할 수 있다.
아래에보다 상세히 후술될 본 개시의 이들 및 다른 발명적 측면(aspect)들을 이해하는데 도움이 되도록 폴라 코딩에 대한 간단한 설명이 아래에 제공된다. 도1은 예시적인 방법으로 폴라 코딩 생성 행렬이 커널 G2(100)로부터 어떻게 생성될 수 있는지를 도시하는 도면이다. 도 1이 예임을 유의한다. 다른 형태의 커널도 가능하다. 양극화는 생성 행렬이 커널(또는 커널의 조합)로부터 생성되는 "중첩된(nested)" 방식에서 비롯된다.
도 1의 2-배 크로네커 곱 행렬(2-fold Kronecker product matrix)
Figure 112019037781257-pct00003
(102)와 3배 크로네커 곱 행렬
Figure 112019037781257-pct00004
(104)은 폴라 코딩 생성 행렬의 예들이다. 도1에 도시된 생성 행렬 접근법은, m배 크로네커 곱 행렬
Figure 112019037781257-pct00005
을 생산하도록 확장될 수 있다.
폴라 코드는 행렬 G2(100)에 기반한 크로네커 곱 행렬로부터 형성될 수 있다. 길이 N=2m의 코드워드를 갖는 폴라 코드의 경우, 생성 행렬은
Figure 112019037781257-pct00006
이다. 도2는 코드워드를 생산하는 폴라 코딩 생성 행렬의 사용 예 및 폴라 인코더의 개략도를 도시하는 다이어그램이다. 도 2에서, 생성 행렬
Figure 112019037781257-pct00007
(104)은 길이 23 = 8의 코드워드를 생성하는 데 사용된다. 코드워드 x는 200에서 지시된 바와 같이, 입력 벡터 u = [0 0 0 u3 0 u5 u6 u7] 와 생성 행렬
Figure 112019037781257-pct00008
(104)의 곱에 의해 형성된다. 입력 벡터 u는 정보 비트들 및 고정 또는 프로즌 비트들로 구성된다. 도 2에 도시된 특정 예에서, N=8이므로, 입력 벡터 u는 8 비트 벡터이고, 코드워드 x는 8비트 벡터이다. 입력 벡터는 위치 0, 1, 2 및 4에서 프로즌 비트를 가지며, 위치 3, 5, 6 및 7에 정보 비트를 갖는다. 코드워드를 생성하는 인코더의 예시적인 구현이 212에서 지시되며, 여기서 프로즌 비트 모두 0으로 설정되고, 원으로 표시된(circled) "+" 심볼은 모듈로 2 가산(modulo 2 addition)을 나타낸다. 도 2의 예의 경우, N=8 비트 입력 벡터는 K=4 정보 비트 및 N-K=4 프로즌 비트로 형성된다. 이 형식의 코드가 폴라 코드로 지칭되고, 인코더는 폴라 인코더로 지칭된다. 폴라 코드를 디코딩하는 디코더는 폴라 디코더로 지칭된다. 프로즌 비트는 도 2에 도시된 예에서 0으로 설정된다. 그러나 프로즌 비트는 인코더 및 디코더 모두에 알려진 다른 고정된 비트 값으로 설정될 수 있다. 설명의 용이함을 위해, 모든 제로 프로즌 비트가 본 개시에서 고려되며, 일반적으로 바람직할 수 있다.
도 3은 폭이 최대 주어진 리스트 크기에 의해 제한되고 SCL 폴라 디코더에서 사용되는 예시적인 결정 리스트 트리의 일부를 도시하는 다이어그램이다. 도 3에서, 리스트 크기 L은 4이다. 결정 트리의 5개의 레벨들(302, 304, 306, 308, 310)이 도시된다. 5개의 레벨이 도시되어 있지만, N 비트를 디코딩하는 결정 트리는 N+1개의 레벨을 갖는다는 것을 이해해야 한다. 루트 레벨(302) 후의 각각의 레벨에서, 최대 4 개의 살아남은(surviving) 디코딩 경로의 각각 하나가 1비트씩 연장된다. 루트 노드(320)의 리프(leaf) 또는 자식(child) 노드는 제1 비트에 대한 가능한 선택을 나타내고, 후속(subsequent) 리프 노드는 후속 비트에 대한 가능한 선택을 나타낸다. 루트 노드(320)로부터 리프 노드(330a)로의 디코딩 경로는 예를 들어, 0, 1, 0, 0의 추정된 코드워드 비트 시퀀스를 나타낸다. 레벨(308)에서, 가능한 경로의 수는 L보다 크므로, 가장 높은 우도(the highest likelihood)(최상의 경로 메트릭(best path metrics) 또는 PM)를 가지는 L개의 경로가 식별되고, 나머지 경로는 폐기된다. 레벨(306)에서 경로 정렬 및 프루닝(prun) 후에 생존하는 디코딩 경로가 도 3에서 굵게 도시된다. 유사하게, 레벨(310)에서, 가능한 경로의 수가 L보다 크므로, 가장 높은 우도(최상의 PM)를 갖는 L 개의 경로가 식별되고, 나머지 경로는 다시 폐기된다. 도시된 예에서, 리프 노드(330a, 330b, 330c 및 330d)에서 종료하는(terminating) 경로들은 가장 높은 우도 경로들을 나타낸다. 리프 노드(340a, 340b, 340c, 340d)에서 종료하는 경로는 폐기되는 하위 우도 경로(lower likelihood path)이다.
SCL 디코딩은 CRC 지원 리스트(CRC-aided list) 디코딩과 순수 리스트(pure list) 디코딩으로 더 나눌 수 있다. 후자에서 가장 높은 우도(likelihood)를 가진 생존 경로(survivor path)가 선택된다. SC 디코딩은 리스트 크기 L=1인 순수 리스트 디코딩의 특별한 경우이다. CRC 검사는 최종 경로 선택에서 보다 나은 에러 정정 성능을 제공할 수 있지만, SCL 디코딩에서는 선택적이다. 입력 벡터에 포함된 패리티 또는 "PC" 비트에 기반한 패리티 검사와 같은 다른 동작은 디코딩 동안 최종 경로 선택에서 CRC 대신에 및/또는 공동으로 사용될 수 있다.
SCL 디코딩은 제한된 코드 크기에 대해 폴라 코드의 성능을 향상시킬 수 있다. 그러나 LDPC(Low Density Parity Check) 코드 및 터보(Turbo) 코드의 코드 길이 및 코드율이 비슷한 것과 비교할 때, SCL 디코딩은 잘 설계된 LDPC 및 터보 코드보다 BLER(Block Error Rate)가 낮을 수 있다. CRC-지원 SCL(CA-SCL) 디코딩은 제한된 코드 길이를 갖는 폴라 코드의 BLER 성능을 향상시킬 수 있다. 예를 들어, 리스트 크기가 L=32인 CA-SCL 디코더는 유사한 계산 복잡도를 갖는 LDPC 및 터보 코드보다 훨씬 우수한 성능을 제공할 수 있다.
 SC- 타입 디코더의 경우, 사실상 폴라 코드는 채널을 N개의 서브채널로 나눈다. N은 마더 코드 길이라고 지칭되며, 2x2 행렬인 폴라 커널을 기반으로 하는 아리칸(Arikan) 폴라 코드에서 2의 거듭제곱이다. 폴라 코드에 대한 코드 구성의 핵심은, 여기에서 서브채널이라고도 지칭되는 비트-채널이 정보 비트에 대해 선택되거나 할당되고, 어떤 서브채널이 프로즌 비트에 할당되는지를 결정하는 것이다. 일부 실시 예들에서, 하나 이상의 서브채널들은 PC, CRC, 및/또는 본 개시에서 보조 비트(assistant bit)로 지칭되는 디코딩을 보조하기 위해 사용되는 다른 유형의 비트들에 또한 할당된다. 양극화 이론의 측면에서, 프로즌 비트를 위해 할당된 서브채널은 프로즌 서브채널로 불리며, 정보 비트를 위해 할당된 서브채널은 정보 서브채널이라고 불리며, 추가 보조 서브채널은 디코딩을 보조하기 위해 사용되는 보조 비트에 할당될 수 있다. 일부 실시 예들에서, 보조 비트들은 보다 신뢰할 수 있는 서브채널들이 선택되거나 할당되는 정보 비트의 형태로 고려된다.
2x2(2-by-2) 아리칸 커널 G2 의 크로네커 제품을 기반으로 하는 폴라 인코더가 위에 설명되어 있다. 도 4는 2x2 커널에 기반한 폴라 인코더의 일례를 나타내는 블록도이다. 서브채널들 및 코딩된 비트들은 도 4에서 라벨링되며, 채널이 위에 기술된 바와 같이 폴라 코드에 의해 N 개의 서브채널로 분할된다. 정보 블록과 프로즌 비트가 N개의 서브채널에 할당되며, 결과적으로 생성된 N개의 벡터가 폴라 인코더에 의해 NxN 크로네커 행렬(N-by-N Kronecker matrix)에 곱해져, N개의 코드된 비트를 포함하는 코드워드(codeword)를 생성한다. 정보 블록은 적어도 정보 비트를 포함하며, 또한, CRC 비트 또는 패리티 비트와 같은 보조 비트를 포함할 수 있다. 서브채널 선택기(selector)는 정보 비트 및 임의의 보조 비트에 대한 적어도 서브채널을 선택하기 위해 폴라 인코더에 결합될(coupled) 수 있으며, 나머지 서브채널은 프로즌 서브채널이다.
2x2 커널과 NxN 크로네커 행렬을 기반으로 하는 폴라 코드의 경우, N은 2의 거듭제곱이다. 커널과 같은 것을 기반으로 하는 이러한 유형의 커널과 폴라 코드가 여기서 예시적인 예로서 논의된다. 고차원 커널(higher-order kernel)을 생산하기 위하여 소수 커널(prime-number kernels)(예를 들어, 3x3 또는 5x5) 또는 커널(소수 또는 비소수 커널)의 조합과 같은 다른 형태의 양극화 커널은, 코드 서브채널 사이에서 양극화를 야기할 수 있다. 또한, 천공(puncturing), 단축(shortening), 제로 패딩 및/또는 반복과 같은 코딩된 비트 프로세싱은, 2x2 커널 또는 다른 유형의 커널에 기반한 폴라 코드와 함께 레이트 매칭 또는 예를 들면 다른 목적을 위해 사용될 수 있다는 것을 주목해야 한다.
SC, SCL 또는 CA-SCL 디코딩의 결과로서, 양극화 현상이 서브채널을 통해 나타난다. 일부 서브채널은 높은 용량(capacity)을 가지며, 일부 서브채널은 낮은 용량을 갖는다. 달리 말하면, 일부 서브채널은 동등하게 높은 신호 대 노이즈비(Signal-to-Noise Ratio, SNR)를 가지며, 다른 것들은 낮은 SNR을 갖는다. 이러한 메트릭(metric)은 서브채널 "신뢰도(reliability)"를 정량화하거나 분류하는 데 사용할 수 있는 특성의 예이다. 서브채널 신뢰도를 나타내는 다른 메트릭들이 또한 사용될 수 있다.
코드 구성(construction)은 코드율(정보 비트의 수 또는 얼마나 많은 서브채널이 정보 비트를 운반하는지)를 결정하고, 정보 비트를 운반할 N개의 이용 가능한 서브채널 중에서 특정 K개의 서브채널을 선택하는 것을 포함한다. 본 개시에서 참조하기 쉽도록, 정보 비트는 인코딩될 입력 비트 및 가능하게는 CRC 비트, 패리티 비트 및/또는 디코딩을 보조하는데 사용되는 다른 보조 비트를 포함할 수 있다. 서브채널 선택은 서브채널의 신뢰도에 기반하며, 전형적으로 가장 높은 신뢰도 서브채널이 정보 비트를 운반하기 위한 정보 서브채널로서 선택된다.
서브채널 신뢰도는 예를 들어, 하나 이상의 순서가 정해진 시퀀스로 특정될 수 있다. 서브채널의 단일, 중첩된, SNR-독립적 순서가 정해진 시퀀스는 코드 길이 Nmax에 대해 계산될 수 있고, 더 짧은 코드 길이 N에 대한 순서가 정해진 시퀀스는 더 긴 Nmax 시퀀스로부터 선택된다. 상이한 마더 코드 길이 Ni 의 관점에서 다수의 순서가 정해진 시퀀스가 대신에 계산될 수 있고, 마더 코드 길이 시퀀스 중 하나가 바람직한 코드 길이에 기반하여 특정 코드에 대해 선택될 수 있다. 또 다른 가능한 옵션은 SNR 값과 관련하여 다수의 순서가 정해진 시퀀스를 계산하는 것, 예를 들어, 측정된 SNR에 기반하여 순서가 정해진 시퀀스를 선택하는 것을 포함한다.
서브채널 신뢰도를 계산하는 여러 가지 방법이 있다. 예를 들어, R. Pedarsani의 "폴라 코드: 구성 및 성능 분석(Polar Codes: Construction and Performance Analysis)" (2011년 6월, EPFL 마스터 프로젝트)에서 제안된 지니 지원(genie-aided) 방법에 따르면, 인코더는 상이한 서브채널 상의 디코더에 알려진 트레이닝 시퀀스를 인코딩한다. 디코더는 디코더 결과를 인코더로 피드백함으로써, 인코더가 모든 서브채널에 대한 신뢰도 통계를 계산할 수 있고, 서브채널에 대해 잘 적응된 신뢰도 벡터가 획득된다.
2016년 5월 "폴라 코드에 대한 가우스 근사법의 평가 및 최적화(Evaluation and Optimization of Gaussian Approximation for Polar Codes)" 명칭의 비특허 문헌 공개에서 제안된 GA(Gaussian-approximation) 방법은, 모든 코딩된 비트가 동일한 에러 확률을 겪는 것으로 가정한다. 에러 확률로부터, 서브채널에 대한 신뢰도가 DE(density evolution) 알고리즘으로 획득된다. 코딩된 비트들에 대한 에러 확률은 수신 SNR과 관련되기 때문에, 이 방법은 SNR-관련이며 계산상 복잡하다.
커널과 생성 행렬에서 순서가 정해진 시퀀스를 생성하는 방법에는 여러 가지가 있다. 모든 면에서 반드시 중첩된 시퀀스로 이어질 수는 없으며 이 중첩 시퀀스가 반드시 고유하지는 않다. 중첩된 순서가 정해진 시퀀스는, 예를 들어, 그 전체로서 원용에 의해 본 명세서에 포함되는, 2016년 7월 29일자로 출원된 중국 특허 출원 제CN 161610619696.5호에 개시된 바와 같은 양극화 가중치, 또는 2016년 12월 23일자로 출원된 미국 특허 출원 제62/438565 호에 개시된 해밍 가중치에 기반하여 생성될 수 있다.
해밍 가중치가 보조 서브채널을 선택하기 위해 제2 메트릭으로서 어떻게 사용될 수 있는지의 일례가, 그 전체로서 원용에 의해 본 명세서에 포함되는, 2016년 12월 12일자로 출원된 미국 가출원 제62/433127호에서 보다 상세히 논의된다. 해밍 가중치는 제2 메트릭으로 사용될 수 있는 메트릭의 예일 뿐이다. 다른 예는 해밍 가중치(예를 들어, 2016년 12월 9일자로 출원된 미국 가출원 제62/432448호에 개시된 바와 같은 행 가중치)의 함수를 포함한다. 일반적으로, (양극화) 신뢰도를 나타내는 임의의 다른 메트릭이 제2 메트릭으로서 사용될 수 있다. 또 다르게는, 제2 메트릭은 제1 메트릭과 상이하지만, 양극화 신뢰도와 관련되거나 또는 양극화 신뢰도를 나타낼 수 있다. 그러나 또 다른 대안에서, 서브채널들의 자연적 순서(natural order)가 제2 메트릭으로서 사용될 수 있으므로, 예를 들어, 정보 서브채널들의 끝에 있는 서브채널(예를 들어, 자연수 오름차순)이 보조 서브채널로서 선택된다.
일부 실시 예들에서, 2개 이상의 메트릭들이 보조 서브채널을 선택하기 위해 사용될 수 있다. 또한, 전술한 메트릭들을 사용하는 다양한 보조 서브채널 선택 알고리즘들 중 임의의 것이 사용될 수 있다. 보조 서브채널을 선택하기 위한 다른 가능성이 존재한다.
전술한 바와 같이, 수신기에서 에러 정정 또는 검출을 용이하게 하고 디코딩을 보조하기 위해, CRC 또는 패리티 비트와 같은 보조 비트가 입력 비트 스트림에 포함될 수 있다. 폴라 인코딩 중에 보조 비트를 삽입할 때 발생하는 한 가지 문제는 어떻게 보조 비트를 송신할 서브채널을 선택하는 지이다. 특히, 폴라 인코더는 일반적으로 프로즌 비트를 신뢰도가 낮은 서브채널에 매핑하거나 그렇지 않으면 프로즌 비트를 신뢰도가 낮은 서브채널로 송신하거나 또는 신뢰도가 낮은 서브채널을 통해 송신하며, 정보 비트를 가장 신뢰할 수 있는 서브채널에 매핑하거나 그렇지 않으면 정보 비트를 가장 신뢰할 수 있는 서브채널로 송신하거나 또는 가장 신뢰할 수 있는 서브채널을 통해 송신한다. 보조 비트가 인코딩된 비트 스트림에도 도입될 때, 가장 신뢰할 수 있는 채널이 패리티 비트 또는 정보 비트를 위해 사용되어야 하는지 여부가 문제가 된다.
폴라 인코딩동안 패리티 비트를 핸들링하는 하나의 옵션은 정보 비트를 가장 신뢰할 수 있는(예를 들어, 순서가 정해진 시퀀스에 기반한) 서브채널에 매핑하고, 그 다음에 패리티 비트(들)를 정보 비트를 가장 신뢰할 수 있는 서브채널에 매핑한 후에 이용 가능한 다음으로 가장 신뢰할 수 있는 서브채널(들)에 매핑하는 것이다. 이러한 방식으로, 정보 비트는 패리티 비트보다 더 신뢰할 수 있는 채널을 통해 송신된다. 또 다른 옵션은 패리티 비트(들)를 가장 신뢰할 수 있는 서브채널(들)에 매핑한 다음 정보 비트를 패리티 비트(들)를 가장 신뢰할 수 있는 서브채널에 매핑한 후에 이용 가능한 다음으로 가장 신뢰할 수 있는 서브채널에 매핑하는 것이다. 이러한 방식으로, 패리티 비트는 정보 비트보다 더 신뢰할 수 있는 채널을 통해 송신된다.
시뮬레이션은 인코딩 성능의 보다 높은 레벨이 패리티 비트와 정보 비트가 가장 신뢰할 수 있는 채널에 산재해 있는(interspersed) 하이브리드 접근(approach)에 의해 실제적으로 달성될 수 있음을 보여준다. 정보 비트에 대한 서브채널의 선택이 (예를 들어, 순서가 정해진 시퀀스에 의해 지시된 바와 같이) 서브채널 양극화 신뢰도에 기반할 수 있지만, 패리티 비트에 대한 서브채널의 선택은 양극화 신뢰도 메트릭 이상에 기반할 수 있고, 예를 들어 이러한 패리티 서브채널의 위치가 정보 서브채널 사이에서 보다 랜덤하게 또는 보다 효율적으로 분산될 수 있게 한다.
일부 실시 예들에서, 2개의 상이한 메트릭이 패리티 또는 PC 서브채널 선택을 위해 사용된다. 예를 들어, 제1 메트릭은 양극화 신뢰도 메트릭(예를 들어, 순서가 정해진 시퀀스)일 수 있고, 제2 메트릭은 서브채널의 해밍 가중치(또는 행 가중치와 같은 해밍 가중치의 함수)와 같은 가중치일 수 있다. 일 실시 예에서, 원하는 수의 패리티 비트를 운반하는데 필요한 모든 서브채널은 하나 이상의 메트릭, 예를 들어, 양극화 신뢰도 메트릭 및 해밍/행 가중치에 기반하여 선택되며; 다른 실시 예에서, 패리티 비트에 대한 서브채널의 서브세트는 하나 이상의 메트릭, 예를 들어, 양극화 신뢰도 메트릭 및 해밍/행 가중치에 기반하여 선택되고, 나머지 서브세트는 단일 메트릭, 예를 들어, 양극화 신뢰도 메트릭에 기반하여 선택된다.
해밍 가중치는 단순성 때문에 RM(Reed-Muller) 코드에 의해 사용되기 때문에 부분적으로 선호될 수 있다. RM 코드는 폴라 코드의 특별한 예로 간주될 수 있는데, 이는 양극화 신뢰도보다 해밍 가중치를 기반으로 하며, ML(Maximum-Likelihood) 디코딩 알고리즘을 사용하지만(해밍-가중치 기반 RM 코드는 코드 길이가 작으면 ML 성능 경계에 접근한다), SC 또는 SCL 디코딩으로 디코딩될 수 있다.
서브채널의 해밍 가중치는 여기서 생성 행렬의 행의 해밍 가중치가 되는 것으로 정의된다. 폴라 코드에서, 서브채널의 해밍 가중치는 그의 생성 행렬(행 가중치 = 2 ^(해밍 가중치))에서 이 서브채널의 행 가중치와 관련된다. 일부 실시 예에서, 행 가중치는 서브채널의 정보가 분배되는 코딩된 비트의 수를 지시한다. 일반적으로 말하면, 서브채널에 입력된 정보 비트가 더 많은 코딩된 비트에 분배될수록, 서브채널이 보다 견고하여 신뢰도가 높아진다.
행 가중치와 같은 해밍 가중치 또는 해밍 가중치의 함수가 패리티 비트에 대한 서브채널을 선택하기 위한 제2 메트릭으로서 어떻게 사용될 수 있는지에 대한 일례는, 그 전체가 재현된 것처럼 원용에 의해 본 명세서에 포함되는, 2016년 12월 12일에 출원되고, "룩업 테이블을 사용하여 폴라 코드에 기반하여 패리티 검사(Parity Check, PC)를 구성하는 방법"의 명칭을 가지는 미국 가출원 제62/433,127호에 더 상세하게 설명되어 있다. 이들은 제2 메트릭으로 사용될 수 있는 메트릭의 예일 뿐이다. 일반적으로, (양극화) 신뢰도를 나타내는 임의의 다른 메트릭이 제2 메트릭으로서 사용될 수 있다. 또 다른 대안에서, 제2 메트릭은 제1 메트릭과 상이하지만, 양극화 신뢰도와 관련되거나 또는 양극화 신뢰도를 나타낸다. 그러나 또 다른 대안에서, 서브채널들의 자연적 순서는 제2 메트릭으로서 사용될 수 있으므로, 예를 들어, 정보 서브채널들의 끝에 있는 서브채널들이 보조 서브채널로서 선택된다. 일부 실시 예들에서, 보조 서브채널을 선택하기 위해 2개 이상의 메트릭들이 사용될 수 있다. 또한, 전술한 메트릭들을 사용하는 다양한 보조-채널 선택 알고리즘들 중 임의의 것이 사용될 수 있다. 보조 서브채널을 선택하기 위한 다른 가능성이 존재한다.
미국 가출원 제62/433,127호에 설명된 실시 예 기술은 정보 비트를 서브채널에 매핑하기 전에 패리티 비트(들)에 대한 후보 서브채널을 예약 및/또는 선택한다. 후보 서브채널들이 예약된 후에, 정보 비트는 가장 신뢰할 수 있는 나머지 서브채널들로 매핑되고, 다수의 프로즌 비트가 가장 신뢰도가 낮은 나머지 서브채널들로 매핑된다. 그 후, 예약된 서브채널들에 대한 패리티 비트 값이 정보 비트의 함수에 기반하여 결정된다. 특히, 패리티 비트(들)를 위해 예약된 후보 서브채널은 반드시 가장 신뢰할 수 있는 서브채널일 필요는 없지만, 신뢰할 수 있는 또는 정보 비트가 송신되는 서브채널의 적어도 하나보다 더 신뢰할 수 있는 몇몇 서브채널을 적어도 일반적으로 포함한다 이러한 방식으로, 정보 비트 및 패리티 비트는 디코딩 확률을 향상시키는 방식으로 가장 신뢰할 수 있는 채널을 통해 산재된다.
상술한 바와 같이, 일부 서브채널들은 폴라 인코딩 동안 PC 비트들을 위해 예약되거나 따로 설정될 수 있다. 도 5a-5g는 4개의 정보 비트의 시퀀스가 16의 마더 코드 길이로 인코딩될 때 인코딩 프로세스가 어떻게 발생할 수 있는지의 예를 도시한다. 도5a는 16의 마더 코드 길이에 대응하는 서브채널 u0, u1, u2, u3, u4, u5, u6, u7, u8, u9, u10, u11, u12, u13, u14, u15을 나열하는 표를 도시한다. 표의 두번째 행은 각각의 서브채널에 대한 채널 양극화 신뢰도를 나열한다. 서브채널은 채널 신뢰도에 기반하여 분류될 수 있다. 도 5b는 서브채널들 u0, u1, u2, u4, u8, u3, u5, u6, u9, u10, u12, u7, u11, u13, u14, u15 의 순서가 정해진 시퀀스(Q)를 나열하는 표를 도시한다. 각각의 채널에 대한 행 가중치는 채널 인덱스의 함수로서 계산될 수 있다. 일 예에서, 행 가중치는 수식
Figure 112019037781257-pct00009
를 기반으로 계산되며, rw는 주어진 서브채널에 대한 행 가중치이고, hw는 채널 인덱스의 이진 표현의 해밍 가중치이다. 도 5c는 서브채널들의 순서 시퀀스에서 각각의 서브채널의 이진 표현, 해밍 가중치 및 행 가중치를 나열한 표를 도시한다.
다음에, 서브채널들의 서브세트는 PC- 비트들에 대한 서브채널들을 예약하는데 사용될 파라미터 wmin, 2*wmin, f1, 및 f2 의 세트를 결정하기 위해 식별된다. 정보 및 패리티 비트를 운반하기 위한 서브채널의 서브세트는 K+Fp와 동일하고, 여기서 K는 정보 블록 길이(예를 들어, 인코딩할 정보 비트의 수)이고, Fp는 채널을 통해 송신할 패리티 비트의 수에 대응하는 파라미터이다. 일 실시 예에서, Fp는 수식
Figure 112019037781257-pct00010
에 따라 계산되며, 여기서, N은 마더 코드 길이이고, M은 (예를 들어, 천공 후) 송신될 코드워드 내의(부호화된) 비트의 수이며, K/M은 달성된 코드율이고, α는 정보 비트에 대한 패리티 비트의 비율을 변경하는 데 사용된 가중치 팩터(factor)이다. 그러나 Fp에 대한 상이한 함수가 사용될 수 있으며, 예를 들어, 비교적 적은 수의 패리티 비트에 대해 양호하게 동작하는 것처럼 보이는 Fp = log2((M-K)/32가 사용될 수 있다. 다르게는, 상이한 유형의 보조 비트(패리티 비트 이외) 및/또는 상이한 유형의 검사 함수 (PC 함수 이외)이 사용되는 경우와 같이, 함수가 상이할 수 있다. 일반적으로, PC 비트의 수 Fp는 일반적으로 K, N(M < N 이고 단축 및 천공이 사용되면 M)의 임의의 함수일 수 있다. 다른 실시 예에서, Fp 는 K, N(및/또는 M)와 독립적인 고정된 값, 예를 들어, 3일 수 있다. 또 다른 실시 예에서, Fp 는 후보 서브채널(최소 행 가중치 wmin를 가짐)에 매핑되는 총 패리티 비트의 수(예를 들어, 3)의 원하는 세트 또는 서브세트(예를 들어, 1)을 나타내며, 나머지 패리티 비트(예를 들어, 2)는 상이한 메트릭(예를 들어, K(또는 K+Fp)개의 가장 신뢰할 수 있는 채널 내에서의 가장 신뢰도가 낮은 서브채널)에 따라 다른 서브채널에 매핑된다. 다른 가능성이 Fp에 대해 존재한다.
PC 비트 및 Fp에 대한 함수를 사용하는 실시 예에서, α 파라미터는 1과 2 사이의 값으로 설정된다. 다른 실시 예에서, α 파라미터는 1과 1.5 사이의 값으로 설정된다. 높은 α 값은 일반적으로 더 높은 최소 코드 거리를 산출한다. 본 예에서, Fp는 2와 동일하다. 이와 같이, 정보 비트 및 패리티 비트를 운반하기 위한 서브채널의 서브세트는 6개의 가장 신뢰할 수 있는 서브채널(즉, K+Fp = 4+2 = 6)을 포함하며, 서브채널 u12, u7, u11, u13, u14, 및 u15이 있다. 다음에, 하나 이상의 행 가중치가 결정된다. 볼 수 있듯이, K+Fp 서브세트에서의 최소 행 가중치 wmin 는 4이다. 본 예에서, 행 가중치는 각각 4와 8인, 서브채널 u12, u7, u11, u13, u14, 및 u15의 서브세트에서 최소 행 가중치(wmin) 및 최소 행 가중치(2*wmin)의 두 배를 포함한다. 제1 인덱스(f1) 및 제2 인덱스(f2)가 또한 결정된다. 제1 인덱스(f1)는 wmin과 동일한 행 가중치를 갖는 서브채널을 얼마나 PC 비트에 대해 예약할지를 결정하고, 제2 인덱스(f2)는 2*wmin과 동일한 행 가중치를 갖는 서브채널을 얼마나 PC 비트에 대해 예약할지를 결정한다. 본 예에서 f1과 f2는 각각 1과 1이다.
그 후, 서브채널들이 파라미터 wmin, 2*wmin, f1, 및 f2에 기반하여 PC 비트에 대해 예약된다. 본 예에서, 행 가중치 wmin(즉, 4와 동일)를 가지는 가장 신뢰할 수 있는 서브채널과, 2*wmin(즉, 8과 동일)와 동일한 행 가중치를 가지는 가장 신뢰할 수 있는 서브채널이 선택되며, 이는 서브채널 u12 및 u14를 포함한다. 도 5d는 PC 비트에 대해 예약된 서브채널들을 나타내는 표를 도시한다. 그 후, 정보 비트는 나머지 가장 신뢰할 수 있는 채널로 매핑된다. 도5e는 서브채널 u15, u13, u11 및 u7이 4개의 정보 비트에 어떻게 매핑되는지를 나타내는 표를 도시한다. 본 예에서 K=4 및 N=16이다. 다른 예에서, 상이한 수의 정보 비트가 서브채널에 매핑될 수 있다. 그 후, 나머지 서브채널은 프로즌 비트로 매핑된다. 도 5f는 서브채널 u10, u9, u6, u5, u3, u8, u4, u2, u1 및 u0이 어떻게 프로즌 비트들에 매핑되는지를 나타내는 표를 도시한다.
일부 실시 예에서, 인코더는 프로즌 비트 세트가 매핑된 후에 PC 비트를 운반하기 위해 프로즌 비트 세트에서 일부 서브채널을 선택한다. 도5g는 프로즌 서브채널들이 PC 비트들을 운반하기 위해 어떻게 선택될 수 있는지를 보여주는 표를 도시한다. 도시된 바와 같이, wmin 또는 2*wmin와 동일한 행 가중치를 갖는 프로즌 세트의 서브채널은 PC 비트를 운반하도록 선택된다. 본 예에서, 서브채널 u10, u9, u6, u5, 및 u3은 추가적인 PC 비트로서 매핑된다. 일부 다른 실시 예에서, 모든 프로즌 서브채널은 추가적인 PC 비트로서 선택될 수 있다.
wmin, 2*wmin, f1 및 f2에 기반하여 Fp개의 PC비트에 대한 Fp개의 서브채널을 예약하거나 선택하는 대신에, 인코더는 상이한 세트 또는 이들 파라미터의 서브세트를 사용하여 서브채널을 예약할 수 있다. 일 실시 예에서, Fp개의 서브채널은 (단지) Wmin에 기반하여 N개의 서브채널 또는 M < N개의 서브채널(천공 또는 단축이 사용되면)의 (K+Fp) 가장 신뢰할 수 있는 서브세트내에서 예약되며, 예들 들어, wmin 값(아래에 추가 세부 사항)과 동일한 행 가중치를 갖는 Fp 개의 서브채널이 예약된다. 일부 구현 예에서, wmin에 동일한 행 가중치를 가지는 (K+Fp) 서브세트에 더 많은 서브채널이 있다면, 가장 신뢰할 수 있는 Fp 개의 서브채널이 예약된다. 일부 구현 예에서, 2*wmin과 동일한 행 가중치를 갖는 f2 개 이상의 서브채널이 있는 경우에도 동일한 선택이 적용된다. 다른 구현 예에서, wmin(또는 2*wmin)과 동일한 행 가중치를 갖는 (K+Fp) 서브세트의 가장 신뢰도가 낮은 Fp개의 서브채널이 예약된다. 또 다른 구현에서, PC 비트의 수는 wmin과 동일한 행 가중치를 갖는 모든 서브채널이 PC 비트에 대해 예약되도록 증가될 수 있다. 또 다른 구현에서, Fp는 wmin 및/또는 2*wmin에 기반하여 예약될 PC 비트에 대한 서브채널의 총수(예를 들어, 3)의 세트 또는 서브세트(예를 들어, 1)를 나타내며, PC 비트에 대한 서브채널의 총수의 나머지 서브세트(2)는 다른 메트릭, 예를 들어 K(또는 K+Fp)개의 가장 신뢰할 수 있는 서브채널 내의 가장 신뢰도가 낮은 서브채널에 기반하여 예약된다. 다른 구현도 가능하다.
일부 실시 예들에서, (K+Fp) 서브세트의 Fp개의 서브채널을 예약하는 것 이외에, 인코더는 추가적인 PC 비트들을 운반하기 위해 프로즌 비트-세트(N-K-Fp)의 몇몇 서브채널을 선택할 수 있다. 다른 실시 예에서, wmin과 동일한 행 가중치를 갖는 (K+Fp) 서브세트의 Fp개의 서브채널에 이외에, 프로즌 비트-세트의 모든 서브채널이 PC 비트를 운반하도록 선택된다.
일부 실시 예에서, PC 비트가 서브채널과 연관된 행 가중치에 기반하여 매핑될 때, 행 가중 계산은 인코딩 프로세스에 레이턴시를 도입할 수 있다. 본 개시의 다른 실시 예들은 그들의 해밍 가중치에 기반하여 서브채널을 예약하는 것에 의해 레이턴시를 완화하며, 이에 따라 행 가중치를 계산하는 추가적인 단계를 피한다. 도 6a-6g는 폴라 코드 인코딩 프로세스 동안 PC 비트에 대한 서브채널을 예약하기 위해 해밍 가중치가 어떻게 사용될 수 있는지의 예를 도시한다. 본 예에서, 4개의 정보 비트의 시퀀스가 16의 마더 코드 길이로 인코딩된다. 도 6a는 16의 마더 코드 길이에 대응하는 서브채널 u0, u1, u2, u3, u4, u5, u6, u7, u8, u9, u10, u11, u12, u13, u14, u15 을 나열하는 표를 도시한다. 표의 두 번째 행은 각각의 서브채널에 대한 채널 양극화 신뢰도를 나열한다. 서브채널들은 채널 신뢰도에 기반하여 정렬될 수 있다. 도 6b는 서브채널 u0, u1, u2, u4, u8, u3, u5, u6, u9, u10, u12, u7, u11, u13, u14, u15의 순서가 정해진 시퀀스(Q)를 나열하는 표를 도시한다. 각각의 채널 인덱스의 해밍 가중치는 각각의 서브채널에 대해 결정될 수 있다. 도 6c는 서브채널들의 순서가 정해진 시퀀스에서 각각의 서브채널의 해밍 가중치를 나열하는 표를 도시한다.
다음으로, 최소 해밍 가중치(umin)뿐만아니라 f1 및 f2 파라미터를 결정하기 위해 서브채널들의 서브세트가 식별되며, 이는 PC- 비트에 대한 서브채널을 예약하는데 사용될 것이다. 정보 및 패리티 비트를 운반하기 위한 서브채널의 서브세트는 K+Fp와 동일하며, K는 정보 블록 길이이고, Fp는 함수:
Figure 112019037781257-pct00011
에 따라 계산된 파라미터이며, N은 마더 코드 길이이고, M은 (예를 들어, 천공 후) 송신될 코드워드의 코딩된 비트 수이며, K/M은 달성된 코드율이고, α는 정보 비트에 대한 패리티 비트의 비율을 변화시키는데 사용되는 가중치 팩터이다. 그러나 구현에 따라, Fp에 대한 상이한 함수, 예를 들어, 비교적 적은 수의 PC 비트에 대해 잘 동작하는 것처럼 보이는 Fp =log2((M-K)/32가 사용될 수 있다. 다르게는, 예를 들어, 상이한 유형의 보조 비트(PC 비트 제외) 및/또는 상이한 유형의 검사 함수(PC 함수 이외)이 사용되면, 상이한 함수가 사용될 수 있다. 일반적으로, PC 비트의 수 Fp는 일반적으로 K, N 또는 M(M < N 이고 단축 및 천공이 사용되면)의 임의의 함수일 수 있다. 다른 실시 예에서, Fp 는 K, N(및/또는 M)와 독립적인 고정된 값, 예를 들어, 3일 수 있으며, 또는 최소 행 가중치 wmin를 가지는 후보 서브채널에 매핑되는 총 패리티 비트의 수(예를 들어, 3)의 원하는 세트 또는 서브세트(예를 들어, 1)을 나타낼 수 있으며, 나머지 패리티 비트(예를 들어, 2)는 상이한 메트릭(예를 들어, K(또는 K+Fp)개의 가장 신뢰할 수 있는 채널 내에서의 가장 신뢰도가 낮은 서브채널)에 따라 다른 서브채널에 매핑된다. 도 6a-6g의 예에서, Fp는 2와 동일하며, 가장 신뢰할 수 있는 서브채널의 서브세트는 서브채널 u12, u7, u11, u13, u14, 및 u15인 6개의 서브채널(즉, K+Fp = 4+2=6)를 포함한다. 다음으로, 서브채널들의 서브세트에 대한 최소 해밍 가중치가 결정된다. 본 예에서, 최소 해밍 가중치는 서브채널 u12의 해밍 가중치에 기반하여 2이다. 제1 인덱스(f1) 및 제2 인덱스(f2)가 또한 결정된다. 제1 인덱스(f1)는 umin과 동일한 해밍 가중치를 갖는 서브채널을 얼마나 많이 PC 비트에 대해 예약할지를 결정하며, 제2 인덱스(f2)는 1+umim 과 동일한 해밍 가중치를 갖는 서브채널을 얼마나 많이 PC 비트에 대해 예약할지를 결정한다. 본 예에서 f1과 f2는 각각 1과 1이다.
 그 후, 서브채널은 파라미터 umin, 1+umin, f1 및 f2에 기반하여 PC 비트에 대해 예약된다. 본 예에서, umin(즉, 2와 동일함)과 동일한 해밍 가중치를 갖는 가장 신뢰할 수 있는 서브채널과 1+umin(즉, 3과 동일함)과 동일한 해밍 가중치를 갖는 가장 신뢰할 수 있는 서브채널이 선택되며, 서브채널 u12 및 u14를 포함한다. 도 6d는 PC 비트에 대해 예약된 서브채널들을 나타내는 표를 도시한다. 그 후, 정보 비트는 나머지 가장 신뢰할 수 있는 서브채널에 매핑된다. 도 6e는 서브채널 u15, u13, u11 및 u7이 4개의 정보 비트에 어떻게 매핑되는지를 나타내는 표이다. 그 후, 나머지 서브채널은 프로즌 비트로 매핑된다. 도 6f는 서브채널 u10, u9, u6, u5, u3, u8, u4, u2, u1 및 u0이 어떻게 프로즌 비트들에 매핑되는지를 나타내는 표이다.
일부 실시 예에서, 인코더는 PC 비트를 운반하기 위해 프로즌 비트 세트에서 일부 서브채널을 선택한다. 도 6g는 umin 및 1+umin와 동일한 해밍 가중치를 갖는 프로즌 세트의 서브채널들이 PC 비트들을 운반하기 위해 어떻게 선택되는 지를 보여주는 표를 도시한다. 본 예에서, 서브채널 u10, u9, u6, u5, 및 u3은 추가적인 PC 비트를 운반하기 위해 매핑된다. 일부 다른 실시 예에서, 모든 프로즌 서브채널은 추가적인 PC 비트로서 선택될 수 있다.
umin, f1 및 f2에 기반하여 Fp개의 PC비트에 대한 Fp개의 서브채널을 예약하거나 선택하는 대신에, 인코더는 상이한 세트 또는 이들 파라미터의 서브세트를 사용하여 서브채널을 예약할 수 있다. 일 실시 예에서, Fp개의 서브채널은 (단지) umin에 기반하여 N( M < N개의 서브채널(천공 또는 단축이 사용되면))개의 서브채널의 (K+Fp) 가장 신뢰할 수 있는 서브세트내에서 예약되며, 예들 들어, umin 값(아래에 추가 세부 사항)과 동일한 행 가중치를 갖는 Fp 개의 서브채널이 예약된다. 일부 구현 예에서, umin에 동일한 행 가중치를 가지는 (K + Fp) 서브세트에 더 많은 서브채널이 있다면, 가장 신뢰할 수 있는 Fp 개의 서브채널이 예약된다. 일부 구현 예에서, 가장 신뢰할 수 있는 K+Fp 개의 서브채널내에서 2*wmin과 동일한 행 가중치를 갖는 f2개 이상의 서브채널이 있는 경우에도 동일한 선택이 적용된다. 다른 구현 예에서, umin과 동일한 행 가중치를 갖는 모든 서브채널이 PC 비트에 대해 예약되도록 PC 비트의 수가 증가될 수 있다. 또 다른 구현에서, Fp는 wmin 및/또는 2*wmin에 기반하여 예약될 PC 비트에 대한 서브채널의 총수(예를 들어, 3)의 서브세트를 나타내며, 나머지 서브세트(예를 들어, 2)가 다른 메트릭, 예를 들어, K(또는 K+Fp)개의 가장 신뢰할 수 있는 서브채널 내의 가장 신뢰도가 낮은 서브채널에 기반하여 예약된다. 다른 구현도 가능하다.
일부 실시 예들에서, (K+Fp) 서브세트의 Fp개의 서브채널을 예약하는 것 이외에, 인코더는 추가적인 PC 비트들을 운반하기 위해 프로즌 비트-세트(N-K-Fp)의 몇몇 서브채널을 선택할 수 있다. 다른 실시 예에서, wmin과 동일한 행 가중치를 갖는 (K+Fp) 서브세트의 Fp 개의 서브채널에 이외에, 프로즌 비트-세트의 모든 서브채널이 PC 비트를 운반하도록 선택된다.
본 개시의 실시 예는 가중치 파라미터에 기반하여 패리티 비트에 대한 하나 이상의 서브채널을 선택, 예약 또는 할당하는 기술을 제공한다. 도 7은 무선 디바이스에 의해 수행될 수 있는 폴라 코드를 사용하여 데이터를 인코딩하는 방법 (700)의 흐름도이다. 단계(710)에서, 무선 디바이스는 신뢰도 메트릭에 기반하여 순서가 정해질 수 있는 서브채널들의 세그먼트로부터, 가중치 파라미터에 기반하여적어도 하나의 패리티 비트(예를 들어, 후보 서브채널)를 운반하기 위한 적어도 하나의 서브채널을 (미리)선택한다. 가중치 파라미터는 최소 행 가중치(예를 들어, wmin, dmin) 파라미터일 수 있다. 하나의 예에서, 순서가 정해진 서브채널은 K개의 서브채널의 세그먼트 및 N0-K개의 서브채널의 세그먼트를 포함하고, 무선 디바이스는 K개의 서브채널의 세그먼트로부터 최소 가중치(dmin)를 가지는 적어도 하나의 후보 서브채널을 선택한다. 이러한 예에서, K개의 서브채널들의 각각은 N0-K개의 서브채널들 모두보다 높은 신뢰도 메트릭을 갖는다. 본 예에서, K는 인코딩할 정보 비트의 수 또는 다른 보조 비트(예를 들어, CRC 비트)를 포함하거나 포함하지 않을 수 있는 정보 블록 길이를 지칭하며, N0는 마더 코드 길이를 지칭한다. 다른 예에서, 세그먼트 K에서 최소 가중치를 갖는 서브채널의 수 n이 미리 결정된 값 F보다 크면, 무선 디바이스는 신뢰도 메트릭의 내림차순 순서(예를 들어, 높은 신뢰도에서 낮은 신뢰도로)에서 최소 가중치를 갖는 K개의 서브채널의 세그먼트로부터 F개의 서브채널들을 선택한다. 다른 예에서, 무선 디바이스는 최소 가중치(dmin)에 기반한 제1 개수의 서브채널 및/또는 최소 가중치의 2배(2*dmin)에 기반한 제2 개수의 서브채널를 선택한다. 또 다른 예에서, 무선 디바이스는, 예를 들어, 폴라 코드에 연관된 코드 길이와 인코딩될 데이터의 정보 블록 길이의 함수에 기반하여, 적어도 하나의 서브채널을 선택한다. 또 다른 예에서, 무선 디바이스는 프로즌 비트에 정상적으로 할당된 모든 서브채널을 적어도 하나의 패리티 비트를 운반하기 위한 서브채널로서 선택한다.
또 다른 예에서, 무선 디바이스는 (N)개의 서브채널의 순서가 정해진 시퀀스의 K개의 가장 신뢰할 수 있는 서브채널들의 서브세트에서 가장 낮은 행 가중치를 갖는 적어도 하나의 서브채널을 선택한다. 본 예에서, 서브채널의 행 가중치는 서브채널에 대응하는 (N 크기의) 크로네커 행렬의 행에서의 1의 수이다. 또 다른 예에서, K개의 가장 신뢰할 수 있는 서브채널 중에서 가장 낮은 행 가중치를 갖는 서브채널의 수 n이 미리 결정된 수 Fp보다 크면, 무선 디바이스는 K개의 가장 신뢰할 수 있는 서브채널의 서브세트에서 n개의 서브채널(예를 들어, 가장 낮은 행 가중치를 갖는)들 중에서 Fp 개의 서브채널들을 선택할 수 있다. 또 다른 예에서, 가장 낮은 행 가중치를 갖는 적어도 하나의 서브채널은 내림차순 신뢰도 순서에 따라 K개의 가장 신뢰할 수 있는 서브채널의 서브세트로부터 선택된다. 다시 말하자면, 선택된 적어도 하나의 서브채널은 가장 낮은 행 가중치를 갖는 K 서브세트에서의 가장 신뢰할 수 있는 서브채널이다.
단계(720)에서, 무선 디바이스는 패리티 검사 함수을 적용하여 적어도 하나의 패리티 비트 각각에 대한 값을 결정한다. 패리티 검사 함수는 적어도 하나의 패리티 비트에 대해 선택된 서브채널을 통해 수행될 수 있다. 패리티 검사 함수는 소수의 패리티 검사 함수일 수 있다. 단계(730)에서, 무선 디바이스는 선택된 서브채널에 배치된 정보 비트 및 적어도 하나의 패리티 비트를 폴라 인코딩하여 인코딩된 데이터를 획득한다. 일 예에서, 적어도 하나의 패리티 비트는 최소 가중치를 갖는 제1 개수의 서브채널 및/또는 최소 가중치의 2배를 갖는 제2 개수의 서브채널에 배치된다. 도시되지는 않았지만, 무선 디바이스는 또한 적어도 하나의 패리티 비트에 대해 선택된 적어도 하나의 서브채널을 스킵하면서, 정보 비트에 대해 선택된 서브채널의 수가 K(즉, 인코딩할 총 정보 비트 수)에 도달할 때까지, 서브채널들의 순서가 정해진 시퀀스에서 정보 비트에 대한 서브채널을 선택한다. 단계(740)에서, 무선 디바이스는 인코딩된 데이터를 다른 무선 디바이스로 송신한다.
도 8은 무선 디바이스에 의해 수행될 수 있는, 폴라 코드를 사용하여 데이터를 인코딩하는 실시 예의 방법(800)의 흐름도이다. 단계(810)에서, 무선 디바이스는 예를 들어, 신뢰도 메트릭에 기반하여 순서화될 수 있는 (N)개의 서브채널의 세트 또는 시퀀스에서 서브채널에 대한 행 가중치에 기반하여 하나 이상의 패리티 비트에 대한 하나 이상의 (후보) 서브채널을 예약하거나 할당한다. 행 가중치는 최소 행 가중치값(wmin) 및/또는 최소 행 가중치 파라미터의 정수배(예를 들어, 2*wmin)를 포함할 수 있다. 서브채널에 대한 행 가중치는 N-크기의 크로네커 행렬의 서브채널에 대응하는 행에서의 1의 수를 나타낼 수 있다. 순서가 정해진 서브채널로부터 패리티 비트에 대한 후보 서브채널을 예약(즉, 할당)하기 위한 다양한 기술이 있다. 예를 들어, 서브채널의 세트가 그들의 신뢰도에 기반하여 정렬된 후에, 무선 디바이스는 가장 높은 신뢰도 서브채널부터 시작하는 그들의 행 가중치에 기반하여 세트의 서브채널의 가장 신뢰성 있는 서브세트로부터 후보 서브채널을 예약할 수 있다. 일 예에서, 최소 행 가중치와 동일한 행 가중치를 갖는 제1 f1개의(즉, 가장 신뢰할 수 있는) 서브채널이 패리티 비트에 대해 예약되며, f1은 정수이며, 0보다 크다. 그러한 예에서, 최소 행 가중치는 서브채널의 순서가 정해진 시퀀스에서 가장 신뢰할 수 있는 K 또는 K+FP 개의 서브채널과 연관된 가장 낮은 행 가중치일 수 있으며, 여기서 K는 정보 비트의 시퀀스와 연관된 정보 블록 길이이며, Fp는 인코딩된 비트 스트림에 의해 운반되는 다수의 패리티 비트에 대응하는 파라미터 또는 함수이다. 이러한 실시 예에서, Fp
Figure 112019037781257-pct00012
의 함수에 따라 계산될 수 있으며, 여기서 M은 송신된 블록 길이이고, N은 마더 코드 길이이고, α는 정보 비트에 대한 패리티 비트의 비율을 변화시키는데 사용되는 가중치 팩터이다. Fp에 대한 상이한 값도 가능하다. 다른 예에서, 최소 행 가중치 값의 2배와 동일한 행 가중치를 갖는 제1 f2 개의 서브채널은 또한 패리티 비트(여기서 f2는 0보다 크거나 같은 정수)에 대해 예약될 수 있다. f1 파라미터는 함수:f1=(Fp+min(Fp,n))/2에 따라 계산될 수 있으며, n은 최소 행 가중치와 동일한 행 가중치를 갖는 서브채널들의 순서가 정해진 시퀀스의 가장 신뢰할 수 있는 K+FP 서브채널에서의 서브채널의 수이다. f2 파라미터는 함수:f2=(Fp-min(Fp,n))/2에 따라 계산될 수 있다. f1 및 f2 파라미터에 대해 상이한 값이 가능할 수 있다.
다른 실시 예에서, Fp는 정보 블록 크기 및 코드 길이와 독립적인 고정 값 (예를 들어, 3)일 수 있다. 다르게는, Fp는 사용될 패리티 비트의 총 수 (예를 들어, 3)의 원하는 서브세트 (예를 들어, 1)일 수 있고, 가장 신뢰할 수 있는 서브세트의 서브세트(예를 들어, K 또는(K+Fp))에서 최소 행 가중치 wmin을 갖는 후보 서브채널에 매핑될 수 있으며, 나머지 패리티 비트들(예를 들어, 2)은 상이한 메트릭(예를 들어, K (또는 K+Fp) 내의 가장 신뢰도가 낮은 서브채널들)에 따라 다른 서브채널들에 매핑된다.
단계(820)에서, 무선 디바이스는, 예를 들어 정보 비트를 하나 이상의 패리티 비트에 대해 예약된 하나 이상의 후보 서브채널에 매핑하지 않고, 정보 비트를 나머지 서브채널의 신뢰도에 기반하여 서브채널의 세트의 나머지 서브채널의 서브세트에 매핑한다. 단계(830)에서, 무선 디바이스는 적어도 하나 이상의 패리티 비트의 값을 정보 비트의 값의 함수로서 결정(예를 들어 계산)하고, 하나 이상의 패리티 비트를 예약된 후보 서브채널에 매핑한다(도시되지 않음). 단계(840)에서, 무선 디바이스는 폴라 코드를 사용하여 매핑된 정보 비트 및 하나 이상의 패리티 비트를 인코딩하여 인코딩된 비트 또는 인코딩된 비트 스트림을 획득한다. 단계(850)에서, 무선 디바이스는 인코딩된 비트를 (물리적인) 채널을 통해 송신한다.
본 개시의 실시 예는 인코딩 이전에 패리티 검사 함수을 구현하기 위한 무선 디바이스와 같은 디바이스를 위한 방법을 제공한다. 제1 단계 동안, 무선 디바이스는 신뢰도(Q)의 순서가 정해진 시퀀스를 획득하거나 체크 아웃하고, 코드율(R) 및 마더 코드 길이(N)에 기반하여 천공된 비트 세트(P)를 결정한다.
제2 단계에서 디바이스는 순서화된 시퀀스로부터 설정된 프로즌 비트 세트, PC-프로즌 비트 세트 및 정보 비트 세트를 결정한다. 두 번째 단계는 여러 서브단계 2.1-2.4(d)를 포함할 수 있다. 서브단계 2.1에서, 무선 디바이스는 시퀀스 Q(외쪽에서 오른쪽으로의 오름차순 신뢰도에 의해 순서가 정해진)를 3개의 서브세트 즉, (N-M)-서브세트, (M-K)-서브세트, 및 (K)-서브세트로 분할할 수 있다. 이 예가 표 2에 도시되어 있다. K-서브세트는 시퀀스 Q에서 가장 신뢰할 수 있는 비트 위치(서브채널)를 나타낸다. 서브단계 2.2 동안, 무선 디바이스는 (K)-서브세트에서 최소 또는 가장 작은 행 가중치를 결정할 수 있으며, 이는 dmin으로 표시하며, 여기서 서브채널의 행 가중치는 서브채널에 대응하는 크로네커 행렬의 행에 있는 "1"의 수를 나타낸다. 상술한 바와 같이, 행 가중치는 또한, 서브채널 인덱스의 이진 표현에서 "1"의 수인 지수를 가지는 2의 거듭제곱이다. 그 다음, 무선 디바이스는 dmin과 동일한 행 가중치를 갖는 (K)-서브세트에서 비트 위치(n)의 수를 결정할 수 있다. 서브단계(2.3) 동안, 무선 디바이스는 dmin에 따라 PC-프로즌 비트에 대한 K-서브세트의 서브채널의 세트를 선택하거나 플래그(flag)한다. 구체적으로, 무선 디바이스는 폴라 코드의 마더 코드 길이 및 정보 비트의 시퀀스의 정보 비트들의 수의 함수에 기반하여 패리티 검사(PC) 프로즌(PC-프로즌) 비트들의 수(FP)를 결정할 수 있다. 일 예에서, Fp는 함수:: F p = ceil(Log2 (N*K)/2)에 따라 계산된다. 무선 디바이스는 PC-프로즌 비트에 대한 다수의 서브채널을 선택 및/또는 플래그할 수 있다. n<Fp 이면, 무선 디바이스는 내림차순 신뢰도 순서에 따라 행 가중치 dmin을 갖는 (F p +n)/2개의 서브채널을 PC-프로즌 비트로서 선택 및/또는 플래그할 뿐만 아니라, 내림차순 신뢰도 순서에 따라 행 가중치 2×dmin를 갖는 (F p -n)/2개의 서브채널을 선택하거나 플래그한다. nF p 이면, 무선 디바이스는 내림차순 신뢰도 순서에 따라 행 가중치 dmin을 갖는 F p 개의 서브채널을 PC-프로즌 비트로서 선택 및/또는 플래그 할 수 있다. 다른 실시 예에서, Fp는 정보 블록 크기 및 코드 길이에 독립적인 값, 예를 들어 3일수 있다. 다르게는, Fp는 최소 가중치(dmin) 또는 2배의 최소 가중치(2dmin)를 가지는 서브채널에 매핑될 패리티 비트의 총수(예를 들어, 2)의 원하는 세트 또는 서브세트를 나타내며, 나머지 패리티 비트들(예를 들어, 2)은 상이한 메트릭(예를 들어, K-서브세트 또는 K+Fp-서브세트내의 가장 신뢰도가 낮은 서브채널들)에 따라 다른 서브채널들에 매핑된다. 서브단계 2.4(a)-2.4(d)에서, 무선 디바이스는 정보, PC 프로즌 및 프로즌 비트에 대한 위치를 결정할 수 있다. 특히, 서브단계 2.4(a)에서, 무선 디바이스는 플래그된 비트 위치를 스킵하면서, 정보 비트 위치의 수가 K 에 도달할 때까지, 가장 오른쪽에서 가장 왼쪽으로(신뢰도 내림차순으로) 하나씩 정보 비트 위치를 선택할 수 있다. 서브단계 2.4(b)에서, 무선 디바이스는 프론즈 비트가될 나머지 비트 위치들을 플래그할 수 있다. 서브단계 2.4(c)에서 무선 디바이스는 일부 프로즌 비트 위치, 예를 들어, 미리 선택된 PC-프로즌 비트와 동일한 행 가중치를 갖는 것들을 추가적인 PC-프로즌 비트로서 선택하거나 또는 모든 프로즌 비트 위치를 추가적인 PC-프로즌 비트 위치로서 선택할 수 있다. 단계 2.4(d)에서, 무선 디바이스는 예를 들어 아리칸 커널(Arikan kernel)을 가지는 폴라 인코딩을 위한 비트 시퀀스를 준비할 수 있다. 무선 디바이스는 K-정보 비트를 삽입하고 PC 프로즌 및 프로즌 비트를 마킹(mark)할 수 있다.
단계 3 동안, 무선 디바이스는 패리티 검사 함수에 기반하여 PC- 프로즌 비트에 대한 값을 설정할 수 있다. 일례에서, 이는 프라임 값의 길이를 갖는 레지스터에 대해 순환 시프트를 적용하는 것에 의해 달성된다.
Figure 112019037781257-pct00013
도 9는 무선 디바이스에 의해 수행될 수 있는 폴라 코드를 사용하여 데이터를 인코딩하는 실시 예 방법(900)의 흐름도이다. 단계(910)에서, 무선 디바이스는 서브채널들의 순서가 정해진 시퀀스에서 가장 신뢰할 수 있는 K개의 서브채널들 중에서 가장 낮은 행 가중치(dmin)를 결정한다. 단계(920)에서, 무선 디바이스는 가장 낮은 행 가중치에 따라 패리티 검사(PC) 프로즌(PC-프로즌) 비트에 대해 가장 신뢰할 수 있는 K개의 서브채널에서 서브채널 세트를 선택하거나 플래그한다. 선택되거나 플래그된 서브채널의 세트는 하나 이상의 서브채널을 포함할 수 있다는 것을 이해해야 한다. 선택적으로, 예를 들어, n과 같이 가장 낮은 행 가중치(dmin)를 갖는 서브채널이 미리 설정된 수의 PC-프로즌 비트, 예를 들어 Fp보다 적으면, 무선 디바이스는 내림차순 신뢰도 순서에 따라 순서가 정해진 시퀀스에서 행 가중치 dmin 를 갖는 (F p +n)/2개의 서브채널을 PC-프로즌 비트로서 선택하거나 플래그할 뿐만 아니라, 내림차순 신뢰도 순서에 따라 순서가 정해진 시퀀스에서 행 가중치 2×dmin을 갖는 (F p -n)/2개의 서브채널을 플래그한다. 선택적으로, 가장 낮은 행 가중치(dmin)를 갖는 서브채널의 수 n이 Fp보다 크면, 무선 디바이스는 내림차순 신뢰도 순서에 따라 순서가 정해진 시퀀스의 행 가중치 dmin 을 갖는 F p 개의 서브채널을 PC-프로즌 비트로서 선택하거나 플래그한다. 단계(930)에서, 무선 디바이스는 PC-프로즌 비트에 대해 플래그된 서브채널의 세트를 스킵하면서, 정보 비트의 시퀀스 K를 서브채널들의 순서가 정해진 시퀀스에서 가장 신뢰할 수 있는 나머지 서브채널들에 매핑한다. 단계(940)에서, 무선 디바이스는 PC- 프로즌 비트에 대해 플래그된 적어도 서브채널 세트에서 PC 비트에 대한 값을 설정하고, 단계(950)에서 K개의 정보 비트를 PC-프로즌 비트로 폴라 인코딩하여, 인코딩된 비트 또는 인코딩된 비트 스트림을 획득한다. 단계(960)에서, 무선 디바이스는 인코딩된 비트/비트 스트림의 적어도 일부를 송신한다.
도 10은 통신 시스템(1000)을 도시한다. 소스(1010)는 정보 데이터(베어러 데이터, 정보 블록, 비트)를 제공하고, (채널) 인코더(1020)는 정보 데이터를 인코딩하고, 인코딩된 정보 데이터는 채널(1030)을 통해 송신되며, 그 다음에 (채널) 디코더(1040)에서 디코딩됨으로써, 정보 데이터는 최종적으로 목적지(destination)(1050)에서 수신된다. 소스(1010) 및/또는 채널 인코더(1020)는 송신 포인트 또는 네트워크 컴포넌트 또는 사용자 장비와 같은 무선 디바이스에 내장되거나 포함될 수 있다. 네트워크 컴포넌트는 진화된 노드B(evolved NodeB, eNodeB), WiFi 액세스 포인트, 소형 셀(피코 셀, 펨토 셀) 액세스 포인트 또는 네트워크로의 액세스를 제공하는 임의의 다른 액세스 포인트와 같은 액세스 포인트일 수 있다. 채널 인코더(1020)는 많은 다른 방식으로 구현될 수 있다. 예를 들어, 채널 인코더(1020)는 데이터를 인코딩하고 및/또는 디바이스의 다른 컴포넌트(들)의 동작을 제어하고, 및/또는 그렇지 않으면 여기에 기술된 함수 및 실시 예의 실행을 제어하도록 구성된 프로세서와 같은, 하드웨어 회로에서 구현될 수 있다. 인코더의 프로세서-기반 구현에서, 여기에서 기술된 바와 같은 인코딩 동작을 수행하기 위한 프로세서-실행 가능 명령들은 송신 포인트 또는 디바이스의 내부 또는 외부의 비 시적인 메모리 또는 저장 매체에 저장된다, 비 일시적인 매체는 예를 들어, 메모리에서, 이동 가능하고 제거 가능할 수 있는 저장 매체를 갖는 하나 이상의 솔리드 상태 메모리 디바이스 및/또는 메모리 디바이스를 포함할 수 있다. 인코더(1020)는 개별적인 (Radio-Frequency-RF) 송신 모듈과 인터페이스하도록 구성될 수 있다. 예를 들어, 인코더(1020)는 개별적 (RF) 유닛에 의해 송신을 위해 여기서 기술된 데이터를 인코딩하기 위해, 하드웨어 또는 회로(예를 들어, 하나 이상의 칩셋, 마이크로프로세서, 주문형 집적 회로(application-specific integrated circuits, ASIC), 프로그래머블 게이트 어레이(field-programmable gate arrays, FPGAs), 전용 로직 회로 또는 이들의 조합)에 구현될 수 있다.
(채널) 디코더(1040) 및 목적지(1050)는 수신 포인트 또는 네트워크 컴포넌트 또는 사용자 장비(UE)와 같은 다른 무선 디바이스에 포함될 수 있으며, 또한 네트워크 컴포넌트 또는 디바이스에 많은 상이한 방식으로 구현될 수 있고, 예를 들어, 디코딩 동작을 수행하기 위한 명령을 실행하도록 구성된 칩셋 또는 프로세서와 같은 하드웨어 또는 회로에 포함될 수 있다. 디코더(1040)의 프로세서-기반 구현에서, 디코딩 동작들을 수행하기 위한 프로세서-실행 가능 명령들은 수신 포인트 또는 디바이스의 내부 또는 외부의 비일시적인 메모리 또는 저장 매체에 저장된다. 비 일시적인 매체는 예를 들어, 메모리에서 이동 가능하고 제거 가능할 수 있는 저장 매체를 갖는 하나 이상의 솔리드 상태 메모리 디바이스 및/또는 메모리 디바이스를 포함할 수 있다. 디코더(1040)는 별도의 (RF) 수신 모듈과 인터페이스하도록 구성될 수 있다. 예를 들어, 디코더(1040)는 여기에 기술된 바와 같이 정보 비트를 획득하기 위해 (예를 들어, 수신 모듈 또는 유닛을 통해) 수신된 신호를 디코딩하기 위해, 하드웨어 또는 회로(예를 들어, 하나 이상의 칩셋, 마이크로프로세서, ASIC, FPGA, 전용 로직 회로 또는 이들의 조합)에 구현될 수 있다. UE는 무선 전화, 스마트 폰, 태블릿, 개인 보조수단(assistant) 또는 임의의 다른 이동 디바이스일 수 있다. 다양한 실시 예에서, 소스(1010) 및 채널 인코더(1020)는 UE 및 채널 디코더(1040)에서 구현될 수 있으며, 목적지(1050)는 액세스 포인트에서 구현될 수도 있고 그 반대일 수도 있다. 채널(1030)은 무선을 통한 채널 또는 케이블 또는 버스와 같은 고정된 라인일 수 있다. 채널(1030)은 무선 인터페이스의 물리 계층일 수 있다. 채널(130)은 임의의 다른 송신 매체일 수 있다. 통신 시스템(1000)은 무선 데이터를 송신하는 것뿐만 아니라 유선 또는 다른 데이터를 송신하는 데에도 사용될 수 있다.
일부 실시 예들에서, 디코더(1040)는 채널(1030)을 통해 수신되는 인코딩된 데이터에 기반하여 신호들을 디코딩하도록 구성될 수 있다. 일 실시 예에서, 디코더(1040)는 다른 디바이스, 예를 들어, 인코더(1020)로부터, 폴라 코드로 인코딩된 정보 비트 및 하나 이상의 패리티 비트들로 인코더(1020)에서 생성된 인코딩된 데이터에 기반한 신호를 수신하도록 구성된다. 상술한 바와 같이, 디코더(1040)는 신호를 직접 수신하거나(예를 들어, 내부 수신 유닛으로) 또는 적절한 인터페이스를 통해 별도의 수신 유닛을 사용하여 간접적으로 수신하도록 구성될 수 있다. 본 실시 예에서, 패리티 비트(들)는 가중치 파라미터에 기반하여 선택된 서브채널에 배치되고, 디코더(1040)는 폴라 코드 및 패리티 비트를 사용하여 신호를 디코딩하여 정보 비트를 획득한다.
일 예에서, 가중치 파라미터는 최소 가중치를 포함한다. 이러한 예에서, 패리티 비트는 최소 가중치(예를 들어, dmin) 또는 최소 가중치의 2배(2xdmin)를 갖는 다수의 서브채널에 배치될 수 있다. 각각 선택된 서브채널이 최소 가중치를 갖는 예에서, 서브채널은 신뢰도 메트릭에 기반하여 순서가 정해진 N0개의 서브채널로부터 K개의 가장 신뢰할 수 있는 서브채널의 세그먼트로부터 선택된다. 본 예에서, K개의 서브채널들의 각각은 순서가 정해진 서브채널의 N0-K 세그먼트의 서브채널들의 신뢰도 메트릭보다 높은 신뢰도 메트릭을 갖으며, 여기서, K는 정보 블록 길이이고 N0이 마더 코드 길이이다. 소수 함수일 수 있는 패리티 체크 함수이 각각의 패리티 비트의 값을 결정하는 데 사용될 수 있다. 가중치 파라미터는 dmin과 같은 가장 낮은 행 가중치를 포함할 수 있고, 선택된 서브채널은 K 서브세트에서 가장 낮은 행 가중치를 가질 수 있으며, 여기서 서브채널의 행 가중치는 크로네커 행렬의 행에서의 1의 수이며, 행은 서브채널에 대응한다. 가장 낮은 행 가중치를 갖는 서브채널들은 내림차순 신뢰도 순서에 따라 K 서브세트로부터 선택될 수 있다. 정보 비트들에 대해 선택된 서브채널들의 수가 K에 도달할 때까지, 정보 비트에 대한 서브 채널이, 패리티 비트에 대해 선택된 서브채널을 스킵하는 것에 의해, 서브채널들의 순서가 정해진 시퀀스에서 선택될 수 있다.
다른 실시 예에서, 디코더(1040)는 폴라 코드로 인코딩된 정보 비트들 및 하나 이상의 패리티 비트들을 갖는 다른 디바이스(예를 들어, 인코더(1020))에서 생성된 비트 또는 비트 스트림에 기반하여 신호를 수신하도록 구성된다. 본 실시 예에서, 패리티 비트는 서브채널의 세트의 서브세트에서의 서브채널에 대한 행 가중치에 기반하여 할당된 서브채널에 매핑되고, 정보 비트는 나머지 서브채널의 신뢰도에 기반하여 서브채널의 세트에서의 나머지 서브채널에 매핑된다. 디코더(1040)는 또한, 폴라 코드 및 패리티 비트를 사용하여 신호를 디코딩하여 정보 비트를 획득하도록 구성된다.
일 예에서, 서브채널에 대한 행 가중치는 서브채널에 대응하는 크로네커 행렬의 행에서의 1의 수를 나타낸다. 행 가중치는 최소 행 가중치를 포함할 수 있다. 서브채널의 서브세트에서 최소 행 가중치 또는 2배의 최소 행 가중치와 동일한 행 가중치를 갖는 다수의 서브채널이 패리티 비트에 대해 할당된다. 할당된 서브채널들의 수는 1일 수 있고, 세트의 서브채널은 그들의 신뢰도에 기반하여 순서가 정해져서 서브채널들의 순서가 정해진 시퀀스를 형성할 수 있으며, 서브채널들의 서브세트는 순서가 정해진 시퀀스에서 가장 신뢰할 수 있는 서브세트를 포함한다. 예를 들어, 가장 신뢰할 수 있는 서브세트는 정보 비트를 운반하기 위한 K개의 서브채널 또는 K+FP 개의 서브채널을 포함하며, K는 정보 비트와 관련된 정보 블록 길이이고, Fp는 패리티 비트의 수를 나타낸다. 본 예에서, 서브세트(예를 들어, K 또는 K+Fp) 서브채널에서 최소 행 가중치와 동일한 행 가중치를 갖는 가장 신뢰할 수 있는 서브채널이 패리티 비트에 대해 할당될 수 있다. 패리티 비트는 패리티 검사(PC) 비트를 포함할 수 있고, PC 비트에 대한 값은 정보 비트의 값의 함수일 수 있다.
폴라 코드는 제로 또는 임의의 다른 알려진 값일 수 있는 프로즌 비트에 대해 상대적으로 신뢰할 수 없는 서브채널 및 정보 비트에 대해 비교적 신뢰할 수 있는 서브채널을 이용하는 선형 블록 에러 정정 코드이다. 패리티 검사가 덜 신뢰할 수 없는 일부 프로즌 비트에 대해 작동될 수 있으면 최소 코딩 거리가 증가될 수 있다. 패리티 비트에 사용되는 프로즌 비트는 그들의 비트 값이 송신되는 데이터 정보와 함께 동적으로 변경되기 때문에 동적 프로즌 비트라고 불린다.
종래의 애플리케이션에서, 디코더는 정보 블록(정보 비트)을 송신하기 위한 최상의 서브채널을 식별하기 위해 연속 소거(successive cancellation, SC) 방법을 사용한다. 성능을 향상시키기 위해 CRC 지원된 SC 리스트 디코딩 알고리즘이 사용되어 다수의 SC 디코딩 경로를 허용하며, 그 다음에 CRC 가 사용되어 마지막 단계에서 올바른 경로를 선택한다. 이 방법은 CRC 비트의 검출 용량(capability)을 소비하며, 그 후에는 블라인드 검출과 같은 다른 목적을 위해 사용될 수 없다. 비 -CRC 지원된 리스트 디코더는 CRC 비트 이외의 소스에 기반하여 패리티 검사를 수행하는 소정의 방법을 갖는 것이 바람직하다. 일부 폴라 코드에서, 패리티 비트는 패리티 검사 능력(parity check ability)을 제공하기 위해 프로즌 비트(동적 프로즌 세트)의 일부에 놓인다. 그러나 폴라 코드 연산의 성능은 동적 프로즌 세트의 선택과 그들에 대한 패리티 검사 방법에 따라 달라지며, 너무 많아서 결정론적인 방식(deterministic way)으로 적절한 프로즌 세트(들)(비트 또는 심볼)을 선택하는 것은 매우 어렵다.
실시 예에서, 동적 프로즌 비트 세트를 선택하는 것은 최소 코딩 거리의 함수 또는 양극화 가중치와 같은 최소의 신뢰할 수 있는 가중치의 함수이다. 다른 신뢰도 메트릭도 사용될 수 있다. 실시 예들은 양호하고 신뢰할 수 있는 블록 에러율(block error rate, BLER) 성능을 나타내는 적절히 선택된 동적 프로즌 비트에 기반한 폴라 코드를 제공한다. 폴라 코드는 폴라 코드 CRC(cyclic redundancy check)일 수 있다. 다양한 실시 예들에서, 모든 프로즌 비트는 동적 프로즌 비트로서 선택되고, 소수에 의해 유도된 검사 함수(prime-number-derived check function)가 이들 모두에 적용된다.
도 11은 폴라 코드에 대해 프로즌 비트 세트를 선택하기 위한 실시 예 방법(1100)의 흐름도이다. 코딩 방법은 인코더 및 디코더 모두에서 구현될 수 있다. 코딩 방법은 단계(1110)에서 다수의 후보 프로즌 세트(또는 다수의 후보 프로즌 비트 세트)를 미리 선택하는 것과, 단계(1150)에서 다수의 후보 비트 세트로부터, 선택된 프로즌 비트 세트를 선택하는 것을 포함한다.
단계(1110)는 그들의 서브채널에 적용되는 신뢰도 메트릭에 따라 프로즌 비트의 미리 선택된 서브채널을 정렬하는 것을 포함한다. 일부 실시 예들에서, 단계(1110)는 신뢰도 메트릭 함수에 따라 모든 서브채널들을 정렬하는 것을 포함한다. 다양한 실시 예들에서, 양극화 가중치 알고리즘과 같은 결정론적 함수가 사용될 수 있다. 다르게는, 결정론적 함수는 양극화 거리 함수일 수 있다. 프로즌 비트의 서브채널은 오름차순 방식으로, 즉 낮은 양극화 가중치로부터 높은 양극화 가중치(또는 그 반대)로 정렬될 수 있다. 정렬된 채널은 2개의 세그먼트와 같은 복수의 세그먼트로 분할된다. 다음 단계에서, 상부(upper) 세그먼트(또는 다시 말하자면, 가장 신뢰할 수 있는 서브채널을 갖는 세그먼트)에서 최소 가중치 dmin가 선택되거나 결정된다(아래 예 참조). 일 예에서, 서브채널의 가중치는 행 가중치, 즉 서브채널에 대응하는 폴라 코드 생성 행렬(Polar code generator matrix) 또는 크로네커 행렬의 행에서의 "1"의 수일 수 있으며, 또는 등가적으로 서브채널 인덱스의 2진 표현에서 "1"의 수인 지수를 가지는 2의 거듭제곱이다. 본 예에서 최소 가중치 dmin은 최소 행 가중치일 수 있다. 최소 가중치 dmin의 경우, 최소 가중치 dmin을 갖는 채널의 수는 n일 수 있다. 미리 정해진 값 F를 정의한다. 일 실시 예에서, F는 F = ceil(LOG2(N*K)/2)일 수 있다. 다른 실시 예에서, F는 상이한 값을 가질 수 있다. 또 다른 실시 예에서, F는 dmin 및/또는 2*dmin에 기반하여 미리 선택될 동적 프로즌 비트(예를 들어, 3)에 대한 서브채널의 총수의 세트 또는 서브세트(예를 들어, 1)을 나타내며, 동적 프로즌 비트에 대한 서브채널의 총수의 나머지서브세트(예를 들어, 2)는 다른 메트릭, 예를 들어, K개의 가장 신뢰할 수 있는 서브채널 내에서 가장 신뢰도가 낮은 서브채널에 기반하여 미리 선택된다. 가중치 dmin을 가지는 (F-n)/2개의 채널을 미리 선택하고, 가중치 2xdmin을 가지는 (F+n)/2 개의 채널을 미리 선택한다. n≥F일때, 가중치 dmin의 F개의 채널을 미리 선택한다. 미리 선택한 채널을 역순으로 정리한다(order). 예를 들어, 채널들은 내림차순 방식으로 즉, 높은 것에서부터 낮은 것으로의 양극화 가중치 값으로 또는 신뢰도 내림차순으로 순서가 정해진다. 다시 말하자면, K개의 가장 신뢰할 수 있는 세그먼트에서 가중치 dmin 및/또는 2*dmin을 갖는 가장 신뢰할 수 있는 서브채널이 미리 선택된다. 따라서, 단계(1110)는 다수의 순서가 정해진 미리 선택된 서브채널(후보 비트 세트)을 제공하며, 일부 실시 예에서, 동적 프로즌 비트를 위해 사용될 수 있다. 그러나 일반적으로 동적 프로즌 비트에 대한 미리 선택된 서브채널의 수는 작거나 클 수 있다.
실질적인 예에서, N0는 마더 코드 길이이고, N은 레이트(rate) 매칭 후의 코드 길이이며, K는 정보 블록 길이이다. 일 실시 예에서, N0는 N0=2^ceil(log2(N))로서 정의될 수 있다. 프로즌 비트 서브채널이 정렬되어 두 개의 세그먼트로 나눠질 수 있으며, 다시 말하자면, 프로즌 비트 서브채널을 포함한 모든 비트 서브채널이 정렬되어 표 3에 도시된 바와 같이, 두 개의 세그먼트로 나눠질 수 있다. 알 수 있는 바와 같이, 서브채널은 오름차순으로, 즉 가장 신뢰할 수 있는 K개의 서브채널과 가장 신뢰도가 낮은 (No-K)개의 서브채널을 가지고 정렬된다.
Figure 112019037781257-pct00014
다음 단계에서, 단계(1150)에서, 프로즌 비트의 세트(또는 다시 말하자면 프로즌 비트에 대한 서브채널)가 다수의 미리 선택된 후보 비트 세트로부터 선택되거나 또는 그에 기반하여 선택된다. 선택된 프로즌 비트 세트는 오름차순 양극화 가중치 순서에 따라 비트 단위로 선택될 수 있다. 프로즌 비트 또는 프로즌 비트에 대한 서브채널의 선택된 세트는 비트의 수가 N0-K 일 때 완료될 수 있으며, 프로즌 비트에 대해 선택된 서브채널의 세트는 미리 선택된 서브채널의 일부 또는 전부를 포함할 수 있으며, 선택된 서브채널의 일부 또는 전부는 동적 프로즌 비트에 사용될 수 있다. 다른 실시 예에서, 프로즌 비트에 대해 선택된 서브채널 세트는 미리 선택된 서브채널과 분리되며(즉, 포함하지 않음), 선택된 서브채널의 세트는 서브채널의 수가 N0-K-F일 때 완료될 수 있다. 나머지(K) 서브채널들(즉, 프로즌 및/또는 동적 프로즌 비트들에 대해 사용되지 않는 것들) 모두는 (K) 정보 비트들에 대한 서브채널들이다. 일부 실시 예들에서, 선택된 프로즌 서브채널들(예를 들어, 미리 선택된 후보 프로즌 비트 세트 또는 모든 프로즌 서브채널) 중 일부는 동적 프로즌 비트에 대해 사용될 수 있다.
선택된 프로즌 비트 세트를 선택하는 것은 소수 p를 결정하는 것을 포함한다. 다양한 실시 예들에서, 고유한 소수는 5, 7 또는 11일 수 있다. 최종적으로 프로즌 비트 세트를 선택하기 위해, 인코더 및 디코더는 인코더 및 디코더에 구현된 p-길이 순환 시프트 레지스터를 동작시킬 수 있다. 순환 시프트 레지스터는 각각의 비트를 인코딩/디코딩할 때 왼쪽으로 시프트할 수 있다. 도 12는 인코더 및 디코더 중 적어도 하나의 길이 5(p-길이)를 갖는 순환 시프트 레지스터를 도시한다. 비트가 레지스터의 정보 비트(info bit)이면 무시되며 (disregarded)(XOR), 비트가 프로즌 비트이면 이 비트의 비트 값이 사용되고 선택된다. 다양한 실시 예에서, 비트는 레지스터에서 초기화될 때 0으로 설정된다. 일부 실시 예에서, 프로즌 비트 세트는 코드워드에서 코드워드로 변경될 수 있다.
또 다른 실시 예에서, 제3 단계는 패리티 검사 함수을 구성하고 정보 비트 및(정적) 프로즌 비트에 대해서뿐만 아니라 동적 프로즌 비트에 대한 비트 값을 결정한다. 소수 p가 결정된다. 다양한 실시 예들에서, 고유한 소수는 5, 7 또는 11일 수 있다. 패리티 검사 함수을 구성하고 프로즌 비트 값을 결정하기 위해, p 길이 순환 시프트 레지스터가 인코더(및 디코더). 순환 쉬프트 레지스터는 인코딩동안 또는 비트 값을 디코딩할 때 입력 비트 벡터에 대한 비트 값을 결정할 때 왼쪽으로 시프트할 수 있다.도 12는 인코더 및 디코더 중 적어도 하나의 길이 5(p-길이)를 갖는 순환 시프트 레지스터를 도시한다. 전술한 두 단계에 의해 결정된 바와 같이, 비트가 정보 비트이면, 레지스터의 제1 비트는 현재의 정보 비트 값과 XOR되고 순환 시프트된다. 비트가 (정적) 프로즌 비트이면, 비트 값은 인코더 및 디코더에 의해 알려진 고정 값(예를 들어, 0)으로 설정되고 그 후에 순환 쉬프트된다. 비트가 동적 프로즌 비트이면 레지스터의 제1 비트의 값이 현재 동적 프로즌 비트 값으로서 할당된다. 다양한 실시 예에서, 비트는 레지스터에서 초기화될 때 0으로 설정된다. 일부 실시 예에서, 프로즌 비트 세트는 코드워드에서 코드워드로 변경될 수 있다.
방법(1100)은 복수의 이점을 제공할 수 있다: 인코더는 패리티 함수의 온라인 컴퓨팅을 수행할 필요가 없을 수 있다. 인코더는 패리티 함수을 저장할 필요가 없다. 디코더는 패리티 함수을 검색할 필요가 없으므로 덜 복잡하게 동작될 수 있다.
또한, 도 13a - 도 13d는 실시 예에 따라 선택된 프로즌 비트 세트에 대한 폴라 코드의 성능을 도시한다. 도 13a는 K = 40개의 정보 비트 및 QPSK 변조에 대한 성능을 도시하고, 도 13b는 K = 60개의 정보 비트 및 QPSK 변조에 대한 성능을 도시하며, 도 13c는 K = 80개의 정보 비트 및 QPSK 변조에 대한 성능을 도시하고, 도 13d는 K = 120개의 정보 비트 및 QPSK 변조에 대한 성능을 도시한다. 그래프로부터 알 수 있는 바와 같이, 본 개시의 폴라 코드는 다른 코드를 나타내는 다른 그래프와 비교하여 더 나은 성능 및 덜 복잡성을 제공한다.
도 14a 및 도 14b는 주어진 블록 에러율(BLER)에 대한 평균 수신 Es/N0 포인트를 도시한다. 도시된 그래프에 도시된 바와 같이, 선택된 프로즌 비트의 세트(실시 예에 따라 선택됨)를 갖는 폴라 코드는 다른 폴라 코드보다 우수한 성능을 제공한다.
도 15는 무선 디바이스, 송신 포인트 또는 수신 포인트, 예컨대 네트워크 컴포넌트 또는 사용자 장비와 같은 디바이스(1500)의 블록도이다. 디바이스(1500)는 CPU(1502), 대용량 저장 컴포넌트(mass storage component)(1504), 네트워크 인터페이스(1506), 인코더/디코더(1508), 메모리(1510), 비디오 어댑터(1512) 및 I/O 인터페이스(1514)를 포함한다.
디바이스(1500)는 도시된 모든 컴포넌트 또는 컴포넌트의 서브세트만을 이용할 수 있으며, 통합 수준은 구현에 따라 달라질 수 있다. 더욱이, 디바이스(1500)는 다수의 CPU(1502) 등과 같은 컴포넌트의 다수의 예를 포함할 수 있다. 디바이스(1500)는 네트워크 인터페이스(1506)를 사용하여 네트워크(1520)에 연결하고, 비디오 어댑터(1512)를 사용하여 디스플레이(1516)에 연결하며, I/O 인터페이스(1514)를 사용하여 스피커, 마이크로폰, 마우스, 터치 스크린, 키패드, 키보드, 프린터 등과 같은 하나 이상의 입력/출력 디바이스(1518)에 연결할 수 있다.
일부 실시 예에서, CPU(1502)는 범용 컴퓨터 하드웨어 플랫폼의 컴포넌트일 수 있는 임의의 프로세서일 수 있다. 다른 실시 예에서, CPU(1502)(프로세서)는 특수 목적 하드웨어 플랫폼의 컴포넌트일 수 있다. 예를 들어, CPU(1502)는 내장 프로세서일 수 있고, 명령들은 펌웨어로서 제공될 수 있다. 일부 실시 예는 하드웨어만을 사용하여 구현될 수 있다. 일부 실시 예에서, 프로세서에 의한 실행을 위한 명령이 소프트웨어 제품의 형태로 실시될 수 있다. 소프트웨어 제품은 예를 들어 CD-ROM(compact disk read-only memory), USB(universal serial bus) 플래시 디스크 또는 제거 가능한 하드 디스크일 수 있는 비 휘발성 또는 비 일시적인 메모리에 저장될 수 있다.
인코더/디코더(1508)는 인코딩 컴포넌트, 디코딩 컴포넌트, 또는 두 개 모두를 포함할 수 있다. 일부 실시 예에서, 인코더/디코더(1508)는 여기서 개시된 바와 같이 데이터를 인코딩하거나 선택, 매핑 및/또는 인코딩 동작을 수행하도록 구성된 프로세서와 같은 회로로 구현된다. 인코더/디코더(1508)의 프로세서-기반 구현에서, 인코딩 동작을 수행하기 위한 프로세서-실행 가능 명령은 비일시적 프로세서-판독 가능 매체에 저장된다. 비 일시적인 매체는 예를 들어, 메모리(1510)에서, 이동 가능하고 제거 가능할 수 있는 저장 매체를 갖는 하나 이상의 솔리드 상태 메모리 디바이스 및/또는 메모리 디바이스를 포함할 수 있다.
버스는 메모리 버스 또는 메모리 컨트롤러, 주변 버스, 비디오 버스 등을 포함하는 임의의 유형의 여러 버스 아키텍처 중 하나 이상일 수 있다. CPU(1502)는 임의의 유형의 전자 데이터 프로세서를 포함할 수 있다. 메모리(1510)는 SRAM(Static Random Access Memory), DRAM(Dynamic Random Access Memory), SDRAM(Synchronous DRAM), ROM(read-only memory) 또는 이들의 조합 등과 같은 임의의 유형의 시스템 메모리를 포함할 수 있다. 일부 실시 예들에서, 메모리(1510)는 인코더/디코더(1508) 또는 디바이스의 다른 컴포넌트(들)의 동작을 구현 및/또는 제어하기 위해 및/또는 그렇지 않으면 여기에 설명된 함수 및/또는 실시 예의 실행을 제어하기 위해 프로세서에 의한 실행을 위한 명령들을 포함하는 비일시적 컴퓨터 판독 가능 매체이다. 일 실시 예에서, 메모리(1510)는 부트-업시에 사용하기 위한 ROM, 및 프로그램을 실행하는 동안 프로그램 및 데이터 저장을 위한 DRAM을 포함할 수 있다.
대용량 저장 컴포넌트(mass storage component)(1504)는 데이터, 프로그램 및 다른 정보를 저장하고, 데이터, 프로그램 및 다른 정보를 버스를 통해 액세스 가능하게 만들도록 구성된 임의의 유형의 저장 디바이스를 포함할 수 있다. 대용량 저장 컴포넌트(1504)는 예를 들어, 솔리드 스테이트 드라이브, 하드 디스크 드라이브, 자기 디스크 드라이브, 광학 디스크 드라이브 등의 하나 이상을 포함할 수 있다.
비디오 어댑터(1512) 및 I/O 인터페이스(1514)는 외부 입력 및 출력 디바이스를 처리 유닛에 연결하기 위한 인터페이스를 제공한다. 도시된 바와 같이, 입력 및 출력 디바이스의 예는 비디오 어댑터(1512)에 결합된 디스플레이(1516) 및 I/O 인터페이스(1514)에 결합된 마우스/키보드/프린터를 포함한다. 다른 디바이스는 처리 유닛에 결합될 수 있고, 추가 또는 더 적은 인터페이스 카드가 활용될 수 있다. 예를 들어, 범용 직렬 버스(Universal Serial Bus, USB)(도시되지 않음)와 같은 직렬 인터페이스가 프린터용 인터페이스를 제공하는데 사용될 수 있다.
네트워크 인터페이스(1506)는 이더넷 케이블 등과 같은 유선 링크 및/또는 액세스 노드 또는 상이한 네트워크에 대한 무선 링크를 포함할 수 있다. 네트워크 인터페이스(1506)는 예를 들어, 인코딩된 데이터 또는 비트들을 송신 및/또는 수신하는 것을 포함하며, 디바이스 및/또는 처리 유닛이 네트워크(1520)를 통해 원격 유닛과 통신할 수 있게 구성될 수 있다. 예를 들어, 네트워크 인터페이스(1506)는 하나 이상의 송신기/송신 안테나 및 하나 이상의 수신기/수신 안테나를 통해 무선 통신을 제공할 수 있다. 일 실시 예에서, 처리 유닛은 다른 처리 유닛, 인터넷, 원격 저장 설비 등과 같은 원격 디바이스와의 데이터 처리 및 통신을 위해 근거리 통신망 또는 광역 네트워크에 연결된다.
도시되지는 않았지만, 네트워크 인터페이스(1506)는 송신 체인의 변조기, 증폭기, 안테나 및/또는 다른 모듈 또는 컴포넌트 그리고 추가적으로 또는 다르게는, 수신 체인의 복조기, 증폭기, 안테나 및/또는 다른 모듈 또는 컴포넌트를 포함할 수 있다. 다르게는, 네트워크 인터페이스(1506)는 개별(RF) 송신 및/또는 수신 모듈과 인터페이스하도록 구성될 수 있다. 예를 들어, 인코더/디코더(1508)는 여기에 설명된 바와 같이 개별(RF) 송신 유닛에 의해 네트워크 인터페이스(1506)를 통해 송신을 위한 데이터를 인코딩(밀/또는 디코딩)하기 위해 또는 개별(RF) 수신 유닛에 의해 그리고 네트워크 인터페이스(1506)를 통해 수신된 신호를 디코딩하여 정보 비트를 획득하기 위해, 하드웨어 또는 회로(예를 들어, 하나 이상의 칩셋, 마이크로 프로세서, ASIC, FPGA, 전용 로직 회로 또는 이들의 조합)으로 구현될 수 있다.
전술한 바와 같이, 패리티 비트가 서브채널과 연관된 행 가중치에 기반하여 매핑되는 경우, 행 가중치(예를 들어, wmin, 2*wmin)를 서브채널의 행 가중치와 비교하여 어떤 서브채널들이 패리티 비트(들)을 위해 예약되었는지를 식별한다. 본 개시의 실시 예들은 행 가중치(예를 들어, wmin, 2*wmin)를 다수의 서브채널들의 행 가중치들과 병렬로 비교한다. 이는 비교 동작과 연관된 레이턴시를 감소시킬 수 있어, 인코딩 프로세스가 보다 신속하고 효율적으로 수행될 수 있게 한다. 도 16은 병렬 비교 연산을 사용하여 PC 비트(들)에 대해 예약될 서브채널을 식별하는 기술의 다이어그램이다. 본 예에서, 정보 비트(1620), PC 비트(1630) 및 프로즌 비트(1640)는 서브채널 신뢰도 오름차순으로 정렬되어 있는 서브채널들(1611-1619)에 매핑된다. 정보 비트(1620)를 서브채널들(1611-1619) 중 임의의 것에 매핑하기 전에, 적어도 2개의 서브채널들(1618, 1619)의 행 가중치가 하나 이상의 행 가중치(예를 들어, wmin, 2*wmin)와 비교되고, 하나 이상의 행 가중치와 매칭하는 행 가중치를 갖는 가장 신뢰할 수 있는 서브채널이 PC 비트(1630)에 대해 예약된다. 일부 실시 예에서, 제1 행 가중치(예를 들어, wmin)와 매칭하는 행 가중치를 갖는 특정 수(f 1 )의 서브채널이 PC 비트에 대해 예약되고, 제2 행 가중치(예를 들어, 2*wmin)와 매칭하는 행 가중치를 갖는 특정 수(f 2 )의 서브채널이 PC 비트에 대해 예약된다. 하나 이상의 행 가중치 값 및 각각의 개별적인 행 가중치 값에 대해 예약된 특정 수의 서브 채널을 정의하는 인덱스들이 코드율 및/또는 블록 길이 파라미터에 기반하여 결정될 수 있다.
도 17은 정보 비트의 시퀀스를 인코딩하는 일 실시 예 방법(1700)을 도시한다. 단계(1710)에서, 인코더는 PC 비트에 대한 서브채널을 예약하기 위해 적어도 행 가중치 값을 결정한다. 적어도 하나의 행 가중치는 인코딩될 정보 비트의 시퀀스와 연관된 채널의 코드율 및 블록 길이에 기반하여 결정될 수 있다. 단계(1720)에서, 인코더는 하나 이상의 서브채널을 예약하도록 결정하기 위해, 적어도 하나의 행 가중치 값을 2 이상의 서브채널의 행 가중치와 병렬로 비교하여 PC 비트(들)에 대한 한다. 일 실시 형태에서, 인코더는 서브채널들의 순서가 정해진 시퀀스에 따라 신뢰도 내림차순으로 서브채널들을 평가할 수 있으므로, 보다 신뢰할 수 있는 서브채널들이 신뢰도가 낮은 서브채널보다 먼저 평가된다. 다르게는, 정보 또는 PC 비트(예를 들어, K+Fp 서브채널)에 매핑될 서브채널의 서브세트의 모든 서브채널은 병렬로 평가된다.
단계(1730)에서, 인코더는 충분한 서브채널들이 PC 비트(들)에 대해 예약되었는지의 여부를 결정한다. 예로서, 인코더는 wmin 과 동일한 행 가중치를 갖는 적어도 f 1 개의 서브채널이 예약되었는지 및/또는 2*wmin과 동일한 행 가중치를 갖는 적어도 f 2 개의 서브채널이 예약되어 있는지의 여부를 결정할 수 있다. 그렇지 않다면, 방법(1700)은 단계(1720)으로 되돌아가며, 인코더는 다음 2개 이상의 서브채널을 평가한다. 인코더가 PC 비트들에 대해 충분한 서브채널들이 예약되었다고 결정하면, 본 방법은 단계(1740)로 진행하여, 인코더는 정보 비트를 가장 신뢰할 수 있는 나머지 서브채널에 매핑한다. 단계(1750)에서, 인코더는 프로즌 비트를 가장 신뢰도가 낮은 나머지 서브채널에 매핑한다. 일부 실시 예에서, 추가적인 PC 비트는 프로즌 비트 세트로부터 선택될 수 있다. 일 실시 예에서, PC 비트에 대한 서브채널을 예약하기 위해 사용되는 적어도 하나의 행 가중치와 동일한 행 가중치를 갖는 모든 프로즌 서브채널이 선택될 수 있으며, 또 다른 구현에서, 모든 프로즌 서브채널이 선택될 수 있다. 단계(1760)에서, 인코더는 정보 비트의 PC 함수에 기반하여 예약된 서브채널에 대한 PC 비트 값을 설정한다. 단계 1740, 1750 및 1760는 임의의 순서로 수행될 수 있다. 또한, PC 비트에 대한 서브채널의 수는 많은 상이한 방식으로 결정될 수 있으며, 앞서 언급한 바와 같이, PC 비트에 대해 예약된 서브채널의 수는 고정될 수 있으며 예를 들어 3일 수 있으며, 및/또는 예약된 서브채널의 일부 또는 모두는 dmin에 기반할 수 있다.
도 18은 인코더에 의해 수행될 수 있는 바와 같이 룩업 테이블을 사용하여 폴라 인코딩을 수행하는 방법(1800)의 흐름도를 도시한다. 단계(1810)에서, 인코더는 코드율 및 정보 블록 길이에 기반하여 룩업 테이블을 검색하여 코드 파라미터를 결정한다. 단계(1820)에서, 인코더는 서브채널을 정보 비트, 패리티 비트 및 프로즌 비트에 매핑한다. 단계(1830)에서, 인코더는 정보 비트의 패리티 검사 함수에 기반하여 패리티 비트 값을 설정한다.
도 19는 인코더에 의해 수행될 수 있는 최소 해밍 가중치 값을 결정하는 방법(1900)의 흐름도를 도시한다. 단계(1910)에서, 인코더는 그들의 신뢰도에 기반하여 오름차순(Q0, Q1, … QN)으로 서브채널을 나열하는 순서가 정해진 시퀀스(Q)를 획득하기 위해 채널 신뢰도에 기반하여 서브채널을 정렬한다. 단계(1920)에서, 인코더는 가장 신뢰할 수 있는 서브채널의 서브세트를 식별한다. 폴라 인코딩 단계 후에 천공 단계가 수행되는 예들에서, 가장 신뢰할 수 있는 서브채널들의 서브세트는 천공된 서브채널들을 배제할 수 있다.
가장 신뢰할 수 있는 서브채널의 세트에서의 서브채널의 수는 min(length(UM),K+F p ))의 수식에 따라 결정될 수 있으며, 여기서, UM 은 천공 후에 남아 있는 서브채널의 세트이며, K는 정보 블록의 길이이고,
Figure 112019037781257-pct00015
이며, 여기서, M은 마더 코드 길이이고 α는 1보다 큰 값, 예를 들어 α = 1.5로 설정된다. 일부 다른 실시 예들에서, F p 는 고정 값, 예컨대 3일 수 있다. 단계(1930)에서, 인코더는 가장 신뢰할 수 있는 서브채널의 서브세트에서 서브채널의 최소 해밍 가중치(umin)를 결정한다.
단계(1940)에서, 가장 신뢰할 수 있는 서브채널들의 서브세트 내에서, 인코더는 PC 비트에 대한 최소 해밍 가중치(umin)와 동일한 해밍 가중치를 갖는 제1 개수의 서브채널을 PC 비트에 대해 예약하고, 최소 해밍 가중치에 1을 더한 값(1+ umin)과 동일한 해밍 가중치를 갖는 제2 개수의 서브채널을 PC 비트에 대해 예약한다. 인코더는 예를 들어 순차 방식으로 서브채널들의 순서가 정해진 시퀀스를 스캐닝하는 것에 의한 것을 포함하는, 다수의 상이한 방식으로 서브채널들을 예약할 수 있다. 다른 구현들에서, Fp 개의 서브채널의 하나의 서브세트만이 umin 및/또는 1+umin 에 기반하여 예약되고, Fp 개의 서브채널의 나머지 서브세트는 다른 메트릭, 예를 들어, K+ Fp 개의 가장 신뢰할 수 있는 서브채널내에서 가장 신뢰도가 낮은 서브채널에 기반하여 예약된다. 서브채널들이 PC 비트에 대해 예약되거나 그렇지 않으면 할당되면, 나머지 서브채널들은 정보 및 프로즌 비트에 할당된다. 단계(1950)에서, 인코더는 정보 비트를 가장 신뢰할 수 있는 나머지 서브채널에 매핑하고, 프로즌 비트를 가장 신뢰도가 낮은 나머지 서브채널에 매핑한다. 일부 실시 예에서, 추가적인 PC 비트는 프로즌 비트 세트로부터 선택될 수 있다. 일 구현 예에서, PC 비트에 대해 예약된 서브채널의 해밍 가중치와 동일한 해밍 가중치를 갖는 일부 또는 모든 프로즌 서브채널이 선택될 수 있다. 다른 실시 예들에서, 모든 프로즌 서브채널이 PC 비트로서 선택될 수 있다. 단계(1960)에서, 인코더는 정보 비트의 패리티 검사 함수에 기반하여 패리티 비트 값을 설정한다. 구현에 따라, 서브채널이 할당되는 순서는 변할 수 있다. 마찬가지로, PC 비트, 정보 비트 또는 프로즌 비트가 할당된 서브채널에 매핑되는 순서 또한 변할 수 있음을 알 수 있다.
일부 실시 예들에서, 아리칸 인코더가 폴라 코드 인코딩을 달성하기 위해 사용될 수 있다. 도 20은 실시 예 인코더(2000)의 다이어그램이다. 인코더는 코드 구성기(code constructor)(2010), 아리칸 인코더(2020), 및 천공기(2030)를 포함한다. 코드 구성기(2010)는 서브채널 유형들의 세트를 결정할 수 있다. 각각의 서브채널은 정보 비트, PC 비트 또는 프로즌 비트(또는 그 반대)에 매핑된다. 양극화 이론에 따르면, 각각의 서브채널의 신뢰도(또는 상호 채널 용량)는 서로 상이하다. 신뢰도가 높은 서브채널은 정보 비트를 송신하도록 선택된다. 이러한 서브채널의 위치의 세트는 정보 세트( I )로 명명된다. 레이트 매칭에 의해 야기되는 신뢰할 수 없는 서브채널을 포함하여 낮은 신뢰도를 갖는 서브채널은 0으로 설정되고 그들의 위치 세트는 프로즌-세트( F )로 표시된다. 일부 서브채널은 PC 비트를 송신하도록 선택되며, 그들의 위치 세트는 PC-프로즌-세트( PF )로 표시된다. 하나의 폴라 블록의 서브채널의 전체 수( N )는 2의 거듭제곱 값(power-of-two value)일 수 있으며, 마더 코드 블록 길이( N = I + F + PF )로서 지칭될 수 있다. 코드 구성기(2010)는 또한 정보 비트 값 및 서브채널 유형에 기반하여 서브채널 값의 세트를 결정할 수 있다. 특히, 정보 비트에 매핑된 서브채널은 정보 비트의 값에 기반하여 설정될 수 있고, PC 비트에 매핑되는 서브채널은 패리티 검사 함수에 기반하여 설정될 수 있으며, 프로즌 비트에 대한 서브채널은 0으로 설정된다. 아리칸 인코더(2020)는 N -크기의 서브 채널 블록을 크로네커 행렬에 곱하여 N -비트 코드워드를 획득할 수 있다. 아리칸 인코더(2020)는 다음의 수식:
Figure 112019037781257-pct00016
에 따라 곱셈을 수행할 수 있으며, 가장 오른쪽 행렬은 아리칸 폴라 코드에 대한 N×N 생성 행렬이다. 천공기(2030)는 N -비트의 코드워드를 천공 비트 세트(P)에 의해 M -크기의 코드길이로 천공/단축할 수 있다. 코드율( R )과 코드 길이( M )의 조합이 주어지면, 인코더 및 디코더는 동일한 결정론적 프로토콜을 사용하여, 프로즌-세트( F ), PC-프로즌 세트( PF ) 및 단축/천공-비트 세트( P )를 계산할 수 있다.
마더 코드 길이 N을 갖는 폴라 코드는 길이 N/2의 2개의 폴라 코드의 중첩된 조합으로서 모델링될 수 있다. 따라서, 길이 N/2의 폴라 코드에 대한 순서가 정해진 시퀀스가 길이 N의 폴라 코드에 대한 순서가 정해진 시퀀스의 서브세트가 되도록, 비트 위치의 순서가 정해진 시퀀스(인덱스 시퀀스)를 구성하는 것이 가능하다. 이러한 최대 코드 길이 Nmax 의 폴라 코드에 대한 시퀀스
Figure 112019037781257-pct00017
가 중첩된 방식에서 Nmax 보다 작은 코드율 및 코드 길이(2의 거듭제곱)의 임의 조합을 커버하며, 여기서 Nmax는 2의 거듭제곱이다. 레이트 매칭이 비교적 미세한 세분성으로 낮은 복잡성으로 수행될 수 있다. 다르게는, 상이한 길이의 순서가 정해진 시퀀스의 생성은 오프라인으로(예를 들어, 인코딩 동작 전에) 생성될 수 있고, 각각의 순서가 정해진 시퀀스에 대응하는 파라미터들은 룩업 테이블에 저장될 수 있다.
신호 대 노이즈비(Signal to noise ratio, SNR) 독립 신뢰도 추정(independent reliability estimation)은 각각의 서브채널의 신뢰도를 컴퓨팅하고, 최대 코드 길이 Nmax의 폴라 코드에 대해 순서가 정해진 인덱스 시퀀스
Figure 112019037781257-pct00018
를 정렬하는 것에 의해 수행될 수 있다. 서브채널의 신뢰도 순서는 가중치 시퀀스
Figure 112019037781257-pct00019
를 통해 추정될 수 있으며,
Figure 112019037781257-pct00020
이고
Figure 112019037781257-pct00021
를 가정하여,
Figure 112019037781257-pct00022
에 의해 계산될 수 있으며, 여기서 n = log2(N)이다.
일 예에서, N max =16의 마더 코드 길이, n= log 2 (16) = 4 및 i=3(
Figure 112019037781257-pct00023
)이며, W 3 W 3 = 1*2(0*(1/4)) + 1*2(1*(1/4)) + 0*2(2*(1/4)) + 0*2(3*(1/4)) = 2.1892로서 계산될 수 있다. 전체 가중치 벡터는
Figure 112019037781257-pct00024
=[0 1 1.1892 2.1892 1.4142 2.4142 2.6034 3.6034 1.6818 2.6818 2.8710 3.8710 3.0960 4.0960 4.2852 5.2852]이며, 값이 클수록 높은 신뢰도를 의미한다.
Figure 112019037781257-pct00025
가 획득되면, 서브채널이 양극화 가중치에 의해 정렬될 수 있으므로,
Figure 112019037781257-pct00026
이다. 결과적으로 정렬된 시퀀스는
Figure 112019037781257-pct00027
이다.
Figure 112019037781257-pct00028
는 온-더-플라이(on-the-fly) 방식으로 계산되거나 메모리에서 직접 로드될 수 있으므로, 모든 인코딩 및 디코딩 레이트 매칭 작업을 위해 계산될 필요가 없다.
천공 패턴은 내림차순으로 순서가 정해진 이진 인덱스 [N- 1,N -2,…,1,0], [N-1, N-2,…, 1,0]를 비트 역전(bit-reversing)시키고, 가장 높은 비트 반전된 값을 가지는 N-M 인덱스를 천공 위치로 마킹하는 것에 의해 결정론적 방식으로 계산될 수 있다. 예를 들어, N max = 16의 마더 코드 길이를 고려한다. 인코더와 디코더 모두 시퀀스
Figure 112019037781257-pct00029
를 저장한다. 코드 길이 M을 획득하고 [12(1100), 13(1101), 14(1110), 15(1111)](= [M, …N-3, N-2, N-1] )의 시퀀스를 비트 역전에 의해 길이-4 천공 패턴 P를
Figure 112019037781257-pct00030
= [BitRev(M), …, BitRev(N-3), BitRev(N-2),BitRev(N-1)]로서 계산하기 위해 천공될 4개의 비트(4=N-M)가 있다.
PC-프로즌-세트(PF)는 양극화 신뢰도, 서브채널 인덱스에 관련하여 크로네커 커널의 행 가중치 및 해밍 가중치 그리고 단축/천공 패턴( P )에 따라 결정될 수 있다. 가장 신뢰할 수 있는 서브채널의 서브세트내에서 최소 행 가중치(wmin)(들) 및 각각의 PC- 프로즌 세트의 크기(f 1 , f 2 )는 코드율 및 정보 블록 길이에 기반하여 결정될 수 있다.
다음은 정보 비트의 시퀀스를 인코딩하는 일 실시 예 5단계 기술의 예이다.
제1 단계에서, 인코더는
Figure 112019037781257-pct00031
에 따라 후보 PC- 프로즌 서브채널의 수를 계산할 수 있다. 사전 플래그된 PC-프로즌 비트의 총 수는 N-K 다 작거나 동일할 수 있다(N-K 와 동일할 때, 모든 프로즌 비트는 PC-프로즌 비트로 처리됨). 실제로, F p 는 (N-K)/2에 의해 상한될(upper bounded) 수 있고, α는 1보다 큰 값, 예를 들어 α = 1.5로 설정된다. 일부 다른 실시 예에서, F p 는 N, M 및 K의 상이한 함수를 가질 수 있거나 고정될 수 있다.
제2 단계에서, 인코더는 천공된/단축된 서브채널을 가장 왼쪽으로 이동시킨 다음 나머지 서브채널을 신뢰도의 오름차순 순서로 두 개의 서브세트로 나눌 수 있다. 이것의 예가 도 21에 도시되어있다.
제3 단계에서, 인코더는 서브채널의 (K+ F p )-서브세트 내에서 가장 작은 행 가중치를 발견하고 이를 w min로서 표시하며, f 1 =(F p +min(F p ,n))/2, f 2 =(F p -min(F p ,n))/2를 계산한다. (K+ F p )-서브세트에서 가중치 w min을 갖는 서브채널의 수가 f 1 보다 작으면, f 1 = n 을 설정하고 f 1 에서 나머지 양의 절반을 f 2 에 더한다 즉, 2, 즉 f 2 = f 2 +(f 1 -n)/2이다.
제4 단계에서, 인코더는 (K+ F p )-서브세트에서 후보 PC-프로즌 서브채널을 선택할 수 있다. 그렇게 함으로써, 인코더는 오른쪽에서 왼쪽으로 w min의 행 가중치를 갖는 f 1 개의 서브채널을 선택하고, 오른쪽에서 왼쪽으로 2xw min의 행 가중치를 갖는 f 2 개의 서브채널을 후보 PC-프로즌 서브채널로서 선택할 수 있다. 일부 다른 실시 예들에서, F p 개의 서브채널의 서브세트는 행 가중치 w min에 기반하여 결정될 수 있고, F p 개의 서브채널의 나머지 서브세트는 (K+ F p )-서브세트 내의 가장 신뢰도가 낮은 서브채널과 같은 적어도 하나의 다른 메트릭에 기반하여 결정될 수 있다.
제5 단계에서, 인코더는 정보-세트, PC-프로즌 세트 및 프로즌-세트를 결정할 수 있다. 그렇게 함으로써, 인코더는 K 개의 서브채널들이 선택될 때까지 정보 서브채널들을 가장 오른쪽에서부터 가장 왼쪽으로 선택하고 후보 PC-프로즌 서브채널을 스킵할 수 있다. 그 다음, 인코더는 나머지 서브채널을 프로즌 서브채널로서 선택할 수 있고, 후보 PC-프로즌 서브채널의 행 가중치(즉, w min 및 2×w min)와 동일한 행 가중치를 갖는 프로즌 서브채널 위치들로부터 추가적인 PC-프로즌 서브채널로서 선택한다. 일부 다른 실시 예에서, 모든 프로즌 서브채널은 추가적인 PC-프로즌 서브채널로서 선택될 수 있다. PC-프로즌 비트가 첫 번째 정보 비트 앞에 있으면 프로즌 비트와 동등할 수 있다.
인코더는 레지스터 상의 순환 시프트에 기반하여 패리티 검사 함수을 수행할 수 있다. 레지스터의 길이는 소수일 수 있다. 인코더는 p-길이 순환 시프트 레지스터 y[0],…,y[p-1]를 0으로 초기화할 수 있으며, i = 0 내지 N- 1 이다. 자연수 순서에서 첫 번째 비트부터 시작하여 인코더는 i 번째 비트, a i ,를 읽고, 레지스터를 비트 단위로 순환 왼쪽 시프트할 수 있다. a i ,가 정보 비트이면 비트 값은 변하지 않고, 인코더는 y [0] =(a i XOR y[0])를 업데이트한다. a i 가 PC 비트이면, 인코더는 a i =y [0]을 설정한다. a i 가 프로즌 비트이면 인코더는 a i = 0을 설정한다.
도 22는 PC(parity-check)-SCL 디코더에 의해 사용되는 일 실시 예의 순환 시프트 레지스터 동작을 도시한다. PC 함수은 PC 행렬 W에 의해 정의될 수 있다. 다음 예는 코드 블록 길이가 M=16이고 정보 비트 길이가 K=8이라고 가정한다. 이로부터, 서브채널
Figure 112019037781257-pct00032
들의 순서가 정해진 시퀀스 Q를 얻을 수 있다: 위에 제공된 수식(예를 들어,
Figure 112019037781257-pct00033
등) 에 기반하여, F p 는 6으로 계산되고, w min n 은 각각 2와 3이며. n<Fp이기 때문에, 행 가중치 w min =2를 가지는 f 1 =3개의 서브채널 및 행 가중치 2×d min = 4를 갖는 f 2 =3개의 서브채널이 PC-프로즌 비트로서 선택된다. 신뢰도 순서를 내림차순으로 하는 것에 의해, 이러한 PC-프로즌 비트는
Figure 112019037781257-pct00034
이다. 정보 및 추가 프로즌 비트는 Q 에 따라 채널 신뢰도에 기반하여 매핑된다. 정보 비트 집합은
Figure 112019037781257-pct00035
이고, 프로즌 비트 집합은
Figure 112019037781257-pct00036
이다. 2와 4의 행 가중치를 갖는 프로즌 비트를 선택하는 것에 의해, PC-프로즌 비트 집합은
Figure 112019037781257-pct00037
이다. 최종적으로, p=5인 프라임-길이 순환 레지스터는
Figure 112019037781257-pct00038
에서 각각의 PC-프로즌 비트에 대한 패리티 함수을 만드는 데 사용된다. 순환 레지스터는 비트를 일정한 간격(spacing) 5로 연결한다. 특히,
Figure 112019037781257-pct00039
Figure 112019037781257-pct00040
는 정적 프로즌 비트와 동등하다. 부가적으로,
Figure 112019037781257-pct00041
Figure 112019037781257-pct00042
는 각각
Figure 112019037781257-pct00043
Figure 112019037781257-pct00044
의 패리티 함수에 기반하여 PC 비트에 매핑되며,
Figure 112019037781257-pct00045
Figure 112019037781257-pct00046
는 정보 비트이다. 도 23은 본 예에 대한 패리티 검사 행렬을 도시한다. 도시된 바와 같이, W 는 u0, u1, u2, u4를 정적 프로즌 비트로 설정하고,
Figure 112019037781257-pct00047
Figure 112019037781257-pct00048
Figure 112019037781257-pct00049
이 되도록 하는 셀프 패리티 검사 함수에 기반하여 PC 비트로 설정하는 것에 의해 획득된다. 표 1은 본 개시를 통해 사용된 표기법(notation)을 나열한다.
Figure 112019037781257-pct00050
도 24는 인코더에 의해 수행될 수 있는 바와 같이, 정보 비트들의 시퀀스를 인코딩하는 일 실시 예 방법(2400)을 도시한다. 단계(2410)에서, 인코더는
Figure 112019037781257-pct00051
(여기서, i 는 서브채널의 인덱스이고, B j 는 가장 중요하지 않은 숫자부터 카운팅하는 서브 채널 i의 이진 표현의 (j+1) 번째 숫자의 비트 값 {0 또는 1} 임)에 따라 가중치 시퀀스를 계산하고, W i 를오름차순 순서로 정렬하고, 순서가 정해진 시퀀스 Qi를 저장한다. 단계(2420)에서, 인코더는 예를 들어, P= [BitRev(M), BitRev(M+1), …BitRev(N-1)]에 따라 천공/단축 패턴을 계산한다. 다른 천공/단축 패턴이 가능할 수도 있다. 단계(2430)에서, 인코더는
Figure 112019037781257-pct00052
에 의해 Fp를 계산하고, 서브 채널(가중치 또는 신뢰도의 오름차순 순서로)를 3개의 서브세트 N-M, M-K-Fp, K+Fp로 나누며, 여기서, K+Fp 서브세트는 가장 신뢰할 수 있는 서브채널을 포함한다(천공/단축이 고려되는 경우). 인코더는 또한 (K+Fp)-서브세트내에서 wmin 를 가장 작은 행 가중치로서 찾고, n을 동일한 wmin를 가지는 (K+Fp)-서브세트의 서브채널의 수로서 찾으며, f1=(Fp+min(Fp,n))/2를 계산하고, f2=(Fp-min(Fp,n))/2를 계산한다. 단계(2440)에서, 인코더는 가중치 wmin 를 가지는 f1개의 서브채널과 가중치 2*wmin를 가지는 f2개의 서브채널을 선택하는 것에 의해 K+Fp 서브세트에서 PC 비트에 대한 후로 서브채널을 예약하거나 그렇지 않으면 할당한다. 일부 실시 예들에서, F p 는 고정 값, 예를 들어 3일 수 있다. 다른 실시 예들에서, PC 비트에 대한 F p 개의 서브채널의 서브세트만이 행 가중치 wmin 및/또는 2*wmin에 기반하여 선택되고, PC 비트에 대한 F p 개의 서브채널의 나머지 서브세트는 적어도 다른 메트릭, 예를 들어, K+F p 서브채널 내에서 가장 신뢰도가 낮은 서브채널에 기반하여 선택된다. 일단 후보 PC 서브채널들이 할당되면, 인코더는 또한 K+Fp 서브세트에서의 K개의 (가장 신뢰할 수 있는 나머지) 서브채널을 할당하고(즉, 예약된 후보PC 서브채널을 스킵), 정보 비트를 그것에 매핑하여 정보 세트 I를 획득한다. 인코더는 또한 프로즌 비트를 나머지 서브채널(예를 들어, N-M 및/또는 M-K-Fp 서브세트)에 매핑하여 프로즌 세트(F)를 획득한다. 다른 실시 예들에서, 인코더는 프로즌 세트 F로부터 PC 비트에 대한 추가적인 서브채널을 예약하거나 할당한다. 프로즌 세트 F로부터 선택된 추가적인 서브채널은 wmin 및/또는 2*wmin과 동일한 행 가중치를 가질 수 있거나, 모든 프로즌 세트 F는 PC 비트에 대한 추가적인 서브채널로서 취급될 수 있다. 예약된 서브채널은 PC 비트에 매핑되어 PC 프로즌 세트 PF 획득할 수 있다. 단계(2450)에서, 인코더는 레지스터의 순환 시프트를 사용하여 패리티 체크 함수에 기반하여 PC 비트의 값을 설정한다. 레지스터는 소수와 동일한 길이를 가질 수 있다. 구현에 따라, 서브채널들이 할당되는 순서는 변할 수 있다. 마찬가지로, PC 비트, 정보 비트 또는 프로즌 비트가 할당된 서브채널에 매핑되는 순서 또한 변할 수 있다.
도 25는 본 개시에 설명된 인코딩 방법을 수행하기 위한 실시 예 처리 시스템(2500)의 블록도를 도시하며, 이는 호스트 디바이스에 설치될 수 있다. 도시된 바와 같이, 처리 시스템(2500)은 프로세서(2504), 메모리(2506) 및 인터페이스(2510-2514)를 포함하며, 이들은 도 25에 도시된 바와 같이 배열될 수 있다. 프로세서(2504)는 여기에서 설명된 선택, 매핑 및/또는 다른 인코딩 동작 또는 디코딩 동작과 같은 계산 및/또는 다른 프로세싱 관련 태스크를 수행하도록 구성된 임의의 컴포넌트 또는 컴포넌트의 집합(collection)일 수 있으며, 메모리(2506)는 프로세서(2504)에 의한 실행을 위한 프로그래밍 및/또는 명령들을 저장하도록 구성된 컴포넌트 또는 컴포넌트의 집합일 수 있다. 일 실시 예에서, 메모리(2506)는 비 일시적인 컴퓨터 판독 가능 매체를 포함한다. 인터페이스(2510, 2512, 2514)는 인코딩된 데이터의 송신 또는 인코딩된 데이터에 기반한 신호의 수신을 허용하기 위해, 처리 시스템(2500)이 다른 디바이스/컴포넌트 및/또는 사용자와 통신하도록 구성되는 임의의 컴포넌트 또는 컴포넌트의 집합일 수 있다. 예를 들어, 하나 이상의 인터페이스(2510, 2512, 2514)는 데이터, 제어 또는 관리 메시지를 프로세서(2504)로부터 호스트 디바이스 및/또는 원격 디바이스에 설치된 애플리케이션으로 전달하도록 적응될 수 있다. 다른 예로서, 인터페이스(2510, 2512, 2514) 중 하나 이상은 사용자 또는 사용자 디바이스(예를 들어, 퍼스널 컴퓨터(personal computer, PC) 등)가 처리 시스템(2500)과 상호 작용/통신할 수 있도록 적응될 수 있다. 처리 시스템(2500)은 장시간 저장 장치(예를 들어, 비휘발성 메모리)와 같은 도 25에 도시되지 않은 추가적인 컴포넌트를 포함할 수 있다.
일부 실시 예에서, 처리 시스템(2500)은 원격 통신 네트워크에 액세스하거나 그렇지 않으면 네트워크 디바이스의 일부를 구성하는 네트워크 디바이스에 포함된다. 일 예에서, 처리 시스템(2500)은 기지국, 중계국, 스케줄러, 컨트롤러, 게이트웨이, 라우터, 애플리케이션 서버 또는 원격 통신 네트워크의 임의 다른 디바이스와 같은 무선 또는 유선 원격 통신 네트워크의 네트워크 측 디바이스에 있다. 다른 실시 예에서, 처리 시스템(2500)은 이동국, 사용자 장비(user equipment, UE), 무선 디바이스, 퍼스널 컴퓨터(PC), 태블릿, 무선 통신 디바이스(예를 들어, 스마트워치 등) 또는 원격 통신 네트워크에 액세스하도록 적응된 임의 다른 디바이스와 같은 무선 또는 유선 원격 통신 네트워크를 액세스하는 사용자 측 디바이스에 있다.
일부 실시 예들에서, 인터페이스들(2510, 2512, 2514) 중 하나 이상은 처리 시스템(2500)을 원격 통신 네트워크를 통해 시그널링을 송신 및 수신하도록 적응된 송수신기에 연결시킨다. 도 26은 원격 통신 네트워크를 통해 시그널링 또는 인코딩된 데이터를 송신 및 수신하도록 적응된 송수신기(2600)의 블록도를 도시한다. 송수신기(2600)는 호스트 디바이스에 설치될 수 있다. 도시된 바와 같이, 송수신기(2600)는 네트워크 측 인터페이스(2602), 커플러(2604), 송신기(2606), 수신기(2608), 신호 프로세서(2610) 및 디바이스 측 인터페이스(2612)를 포함한다. 네트워크 측 인터페이스(2602)는 무선 또는 유선 원격 통신 네트워크를 통해 신호를 송신하거나 수신하도록 적응된 임의의 컴포넌트 또는 컴포넌트의 집합을 포함할 수 있다. 커플러(2604)는 네트워크 측 인터페이스(2602)를 통한 양방향 통신을 용이하게 하도록 적응된 임의의 컴포넌트 또는 컴포넌트의 집합을 포함할 수 있다. 송신기(2606)는 기저 대역 신호를 네트워크 측 인터페이스(2602)를 통한 송신에 적합한 변조된 캐리어 신호로 변환하도록 적응된 임의의 컴포넌트 또는 컴포넌트의 집합(예를 들어, 업 컨버터, 전력 증폭기 등)을 포함할 수 있다. 수신기(2608)는 네트워크 측 인터페이스(2602)를 통해 수신된 캐리어 신호를 기저 대역 신호로 변환하도록 적응된 임의의 컴포넌트 또는 컴포넌트의 집합(예를 들어, 다운 컨버터, 저잡음 증폭기(low noise amplifier) 등)을 포함할 수 있다. 신호 프로세서(2610)는 기저 대역 신호를 디바이스 측 인터페이스(들)(2612)를 통한 통신에 적합한 데이터 신호로 또는 그 역으로 변환하도록 적응된 임의의 컴포넌트 또는 컴포넌트의 집합을 포함할 수 있다. 디바이스 측 인터페이스(들)(2612)는 신호 프로세서(2610)와 호스트 디바이스내의 컴포넌트(예를 들어, 처리 시스템(2500), 근거리 통신망(LAN) 포트 등) 사이에서 데이터 신호를 통신하도록 적응된 임의의 컴포넌트 또는 컴포넌트 집합을 포함할 수 있다. 송수신기(2600)는 임의의 유형의 통신 매체를 통해 시그널링을 송신 및 수신할 수 있다. 일부 실시 예에서, 송수신기(2600)는 무선 매체를 통해 시그널링을 송신 및 수신한다. 예를 들어, 송수신기(2600)는 셀룰러 프로토콜(예를 들어, LTE(long-term evolution) 등), WLAN(wireless local area network) 프로토콜(예를 들어, Wi-Fi 등) 또는 다른 유형의 임의 무선 프로토콜(예를 들어, 블루투스(Bluetooth), 근거리 통신(near field communication, NFC)) 등과 같은 무선 원격 통신 프로토콜에 따라 통신하도록 적응된 무선 송수신기일 수 있다. 이러한 실시 예에서, 네트워크 측 인터페이스(2602)는 하나 이상의 안테나/방사 엘리먼트를 포함한다. 예를 들어, 네트워크측 인터페이스(2602)는 단일 안테나, 다수의 개별 안테나, 또는 다층 통신, 예를 들어, 단일 입력 다중 출력(single input multiple output, SIMO), 다중 입력 단일 출력(multiple input single output, MISO), 다중 입력 다중 출력(multiple input multiple output, MIMO) 등을 위해 구성된 다중 안테나 어레이를 포함할 수 있다. 다른 실시 예에서, 송수신기(2600)는 유선 매체, 예를 들어 트위스트 페어 케이블(twisted-pair cable), 동축 케이블, 광섬유 등을 통해 시그널링을 송신 및 수신한다. 특정 처리 시스템 및/또는 송수신기는, 도시된 모든 컴포넌트 또는 컴포넌트의 서브세트만 포함할 수 있으며, 통합 레벨은 디바이스마다 다를 수 있다.
본 발명의 다양한 예시들에 따라, 폴라 코드를 사용하여 데이터를 인코딩하기 위한 방법 및 장치가 개시된다. 제1 예시에서는, 폴라 코드로 데이터를 인코딩하기 위한 디바이스가 제공된다. 이 디바이스는 서브채널의 세트의 서브세트에서의 서브채널에 대한 행 가중치에 기반하여 하나 이상의 패리티 비트에 대해 하나 이상의 서브채널을 할당하도록 구성된다. 이 디바이스는, 정보 비트를 하나 이상의 패리티 비트에 대해 할당된 하나 이상의 서브채널에 매핑하지 않고, 정보 비트를 나머지 서브채널의 신뢰도에 기반하여 서브채널의 세트의 나머지 서브채널에 매핑하도록 추가로 구성된다. 이 디바이스는 폴라 코드를 사용하여 정보 비트 및 하나 이상의 패리티 비트를 인코딩하여 인코딩된 비트 스트림을 획득하도록 추가로 구성된다. 마지막으로, 이 디바이스는 인코딩된 비트 스트림을 송신하도록 구성된다.
제2 예시에서는, 제1 예시에서의 디바이스에서, 서브채널에 대한 행 가중치는 행이 서브채널에 대응하는 크로네커 행렬의 행에서의 1의 수를 나타낸다.
제3 예시에서는, 제1 예시 또는 제2 예시 중 하나의 디바이스에서, 상기 행 가중치는 적어도 최소 행 가중치를 포함한다.
제4 예시에서는, 제1 내지 제3 예시 중 어느 하나의 디바이스가, 서브채널의 세트의 서브세트에서의 서브채널에 대한 행 가중치에 기반하여 하나 이상의 패리티 비트에 대해 하나 이상의 서브채널을 할당하기 위해, 서브채널의 서브세트에서 최소 행 가중치와 동일한 행 가중치를 갖는 다수의 서브채널을 하나 이상의 패리티 비트에 대해 할당하도록 구성된다.
제5 예시에서는, 제4 예시에서의 디바이스에서, 할당된 서브채널의 수는 1이다. 제6 예시에서는, 제4 예시에서의 디바이스에서, 세트의 서브채널은 그의 신뢰도에 기반하여 순서가 정해져 서브채널의 순서가 정해진 시퀀스를 형성하고, 서브채널의 서브세트는 순서가 정해진 시퀀스에서 가장 신뢰할 수 있는 서브세트를 포함한다. 제7 예시에서는, 제4 예시의 디바이스에서, 서브채널의 가장 신뢰할 수 있는 서브세트는 정보 비트를 운반하기 위한 K개의 서브채널을 포함한다. 제8 예시에서는, 제4 예시에서의 디바이스에서, 서브채널의 가장 신뢰할 수 있는 서브세트는 K+FP개의 서브채널을 포함하고, K는 정보 비트와 연관된 정보 블록 길이이고, Fp는 하나 이상의 패리티 비트의 수를 나타낸다. 제9 예시에서는, 제4 예시에서의 디바이스에서, 서브채널의 서브세트에서 최소 행 가중치와 동일한 행 가중치를 갖는 가장 신뢰할 수 있는 서브채널은 하나 이상의 패리티 비트에 대해 할당된다.
제10 예시에서, 제1 내지 제9 예시 중 어느 하나의 디바이스에서, 하나 이상의 패리티 비트는 하나 이상의 패리티 검사(parity check, PC) 비트를 포함한다. 제11 예시에서, 제10 예시의 장치는 폴라 코드를 사용하여 정보 비트 및 하나 이상의 패리티 비트를 인코딩하여 인코딩된 비트 스트림을 획득하기 위해, 하나 이상의 PC 비트에 대한 하나 이상의 값을 정보 비트의 값의 함수으로서 결정하고, 그리고, 하나 이상의 PC 비트를 PC 비트에 대해 할당된 적어도 하나 이상의 서브채널에 매핑하도록 추가로 구성된다.

Claims (24)

  1. 데이터를 인코딩하는 디바이스에 대한 방법으로서,
    서브채널의 세트의 서브세트에서의 서브채널에 대한 행 가중치에 기반하여 하나 이상의 패리티 비트에 대해 하나 이상의 서브채널을 할당하는 단계 - 상기 서브채널에 대한 행 가중치는 행이 상기 서브채널에 대응하는 크로네커(Kronecker) 행렬의 행에서의 1(one)의 수를 나타냄 -;
    정보 비트를 하나 이상의 패리티 비트에 대해 할당된 하나 이상의 서브채널에 매핑하지 않고, 정보 비트를 상기 서브채널의 세트의 서브세트에서의 나머지 서브채널의 신뢰도(reliability)에 기반하여 상기 나머지 서브채널에 매핑하는 단계;
    폴라(polar) 코드를 사용하여 정보 비트 및 하나 이상의 패리티 비트를 인코딩하여 인코딩된 비트 스트림을 획득하는 단계; 및
    인코딩된 비트 스트림을 송신하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 행 가중치는 적어도 최소 행 가중치를 포함하는, 방법.
  3. 제1항에 있어서,
    상기 하나 이상의 서브채널을 할당하는 단계는,
    상기 서브채널의 세트의 서브세트에서 최소 행 가중치와 동일한 행 가중치를 갖는 다수의 서브채널을 하나 이상의 패리티 비트에 대해 할당하는 단계
    를 포함하는, 방법.
  4. 제3항에 있어서,
    상기 할당된 서브채널의 수는 1 인, 방법.
  5. 제3항에 있어서,
    상기 서브세트에서의 서브채널은 그들의 신뢰도에 기반하여 순서가 정해져 서브채널의 순서가 정해진 시퀀스를 형성하고, 상기 서브채널의 세트의 서브세트는 순서가 정해진 시퀀스에서 상기 서브채널의 세트에서 가장 신뢰할 수 있는 서브세트를 포함하는, 방법.
  6. 제5항에 있어서,
    상기 서브채널의 세트에서 가장 신뢰할 수 있는 서브세트는 정보 비트를 운반하기 위한 K개의 서브채널을 포함하는, 방법.
  7. 제5항에 있어서,
    상기 서브채널의 세트에서 가장 신뢰할 수 있는 서브세트는 K+FP개의 서브채널을 포함하고, K는 정보 비트와 연관된 정보 블록 길이이고, Fp는 하나 이상의 패리티 비트의 수를 나타내는, 방법.
  8. 제3항에 있어서,
    상기 서브채널의 세트의 서브세트에서 최소 행 가중치와 동일한 행 가중치를 갖는 가장 신뢰할 수 있는 서브채널은 하나 이상의 패리티 비트에 대해 할당되는, 방법.
  9. 제1항에 있어서,
    상기 하나 이상의 패리티 비트는 하나 이상의 패리티 검사(parity check, PC) 비트를 포함하는, 방법.
  10. 제9항에 있어서,
    상기 폴라 코드를 사용하여 정보 비트 및 하나 이상의 패리티 비트를 인코딩하여 인코딩된 비트 스트림을 획득하는 단계는,
    하나 이상의 PC 비트에 대한 하나 이상의 값을 정보 비트의 값의 함수(function)로서 결정하는 단계; 및
    하나 이상의 PC 비트를 PC 비트에 대해 할당된 적어도 하나 이상의 서브채널에 매핑하는 단계
    를 포함하는, 방법.
  11. 폴라 코드로 데이터를 인코딩하는 디바이스로서,
    상기 디바이스는, 제1항 내지 제10항 중 어느 한 항에 따른 방법에서의 단계들을 구현하도록 구성되어 있는, 디바이스.
  12. 디바이스를 위한 디코딩 방법으로서,
    다른 디바이스로부터 인코딩된 비트 스트림에 기반한 신호를 수신하는 단계 - 인코딩된 비트 스트림은 폴라 코드, 정보 비트 그리고 하나 이상의 패리티 비트로 인코딩하는 것에 의해 생성되며, 하나 이상의 패리티 비트는 서브채널의 세트의 서브세트에서의 서브채널에 대한 행 가중치에 기반하여 할당된 하나 이상의 서브채널에 매핑되고, 상기 서브채널에 대한 행 가중치는 행이 상기 서브채널에 대응하는 크로네커(Kronecker) 행렬의 행에서의 1(one)의 수를 나타내고, 정보 비트는 상기 서브채널의 세트의 서브세트에서의 나머지 서브채널의 신뢰도에 기반하여 상기 나머지 서브채널에 매핑됨 -; 및
    폴라 코드 및 하나 이상의 패리티 비트들을 사용하여 신호를 디코딩하여 정보 비트를 획득하는 단계
    를 포함하는 디코딩 방법.
  13. 폴라 코드로 디코딩하도록 구성된 디바이스로서,
    다른 디바이스로부터 인코딩된 비트 스트림에 기반한 신호를 수신하도록 - 인코딩된 비트 스트림은 폴라 코드, 정보 비트 그리고 하나 이상의 패리티 비트로 인코딩하는 것에 의해 생성되며, 하나 이상의 패리티 비트는 서브채널의 세트의 서브세트에서의 서브채널에 대한 행 가중치에 기반하여 할당된 하나 이상의 서브채널에 매핑되고, 상기 서브채널에 대한 행 가중치는 행이 상기 서브채널에 대응하는 크로네커(Kronecker) 행렬의 행에서의 1(one)의 수를 나타내고, 정보 비트는 상기 서브채널의 세트의 서브세트에서의 나머지 서브채널의 신뢰도에 기반하여 상기 나머지 서브채널에 매핑됨 - 구성된 인터페이스; 및
    폴라 코드 및 하나 이상의 패리티 비트들을 사용하여 신호를 디코딩하여 정보 비트를 획득하도록 구성된 디코더
    를 포함하는 디바이스.
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
KR1020197010597A 2016-09-15 2017-09-13 폴라 코드를 사용하여 데이터를 인코딩하는 방법 및 장치 KR102206307B1 (ko)

Applications Claiming Priority (15)

Application Number Priority Date Filing Date Title
US201662395312P 2016-09-15 2016-09-15
US62/395,312 2016-09-15
US201662396618P 2016-09-19 2016-09-19
US62/396,618 2016-09-19
US201662402862P 2016-09-30 2016-09-30
US62/402,862 2016-09-30
US201662432448P 2016-12-09 2016-12-09
US201662432416P 2016-12-09 2016-12-09
US62/432,416 2016-12-09
US62/432,448 2016-12-09
US201662433127P 2016-12-12 2016-12-12
US62/433,127 2016-12-12
US15/699,967 US10637607B2 (en) 2016-09-15 2017-09-08 Method and apparatus for encoding data using a polar code
US15/699,967 2017-09-08
PCT/CN2017/101528 WO2018050062A1 (en) 2016-09-15 2017-09-13 Method and apparatus for encoding data using a polar code

Publications (2)

Publication Number Publication Date
KR20190053899A KR20190053899A (ko) 2019-05-20
KR102206307B1 true KR102206307B1 (ko) 2021-01-21

Family

ID=61560541

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020197010597A KR102206307B1 (ko) 2016-09-15 2017-09-13 폴라 코드를 사용하여 데이터를 인코딩하는 방법 및 장치
KR1020197010149A KR102199298B1 (ko) 2016-09-15 2017-09-13 극성 코드를 이용하여 데이터를 인코딩하기 위한 방법 및 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020197010149A KR102199298B1 (ko) 2016-09-15 2017-09-13 극성 코드를 이용하여 데이터를 인코딩하기 위한 방법 및 장치

Country Status (11)

Country Link
US (7) US10637607B2 (ko)
EP (3) EP3510700B1 (ko)
JP (2) JP6881859B2 (ko)
KR (2) KR102206307B1 (ko)
CN (3) CN110855299B (ko)
AU (2) AU2017326022B2 (ko)
BR (2) BR112019005074B1 (ko)
CA (2) CA3036759C (ko)
MY (1) MY195393A (ko)
WO (2) WO2018050062A1 (ko)
ZA (2) ZA201901831B (ko)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018505597A (ja) * 2015-01-08 2018-02-22 上海交通大学Shanghai Jiao Tong University メディアコンテンツに基づくfecメカニズム
US10784901B2 (en) 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
US11043966B2 (en) 2016-05-11 2021-06-22 Qualcomm Incorporated Methods and apparatus for efficiently generating multiple lifted low-density parity-check (LDPC) codes
US10454499B2 (en) 2016-05-12 2019-10-22 Qualcomm Incorporated Enhanced puncturing and low-density parity-check (LDPC) code structure
US10469104B2 (en) 2016-06-14 2019-11-05 Qualcomm Incorporated Methods and apparatus for compactly describing lifted low-density parity-check (LDPC) codes
US10637607B2 (en) 2016-09-15 2020-04-28 Huawei Technologies Co., Ltd. Method and apparatus for encoding data using a polar code
WO2018058352A1 (en) * 2016-09-28 2018-04-05 Qualcomm Incorporated Sub-channel mapping
US10484130B2 (en) 2016-09-30 2019-11-19 Huawei Technologies Co., Ltd. Method and device for parallel polar code encoding/decoding
WO2018107430A1 (en) * 2016-12-15 2018-06-21 Qualcomm Incorporated Crc bits for joint decoding and verification of control information using polar codes
CN109889304B (zh) * 2017-01-05 2020-06-16 华为技术有限公司 速率匹配方法、编码装置和通信装置
CN108289010B (zh) * 2017-01-09 2022-04-15 中兴通讯股份有限公司 一种数据处理方法和装置
CN115664583A (zh) 2017-01-09 2023-01-31 中兴通讯股份有限公司 一种数据处理方法和装置
CN108575116B (zh) * 2017-01-09 2019-09-24 联发科技股份有限公司 比特映射方法及其发送装置
WO2018129695A1 (en) * 2017-01-12 2018-07-19 Qualcomm Incorporated Puncturing and repetition for data encoding
CN108365914B (zh) * 2017-01-26 2023-04-18 华为技术有限公司 Polar码编译码方法及装置
US10608786B2 (en) * 2017-02-24 2020-03-31 Huawei Technologies Co., Ltd. Apparatus and methods of specifying ordered sequences of coding sub-channels
EP3602793A4 (en) * 2017-03-23 2020-11-11 Qualcomm Incorporated PARITY BIT CHANNEL ASSIGNMENT FOR POLAR CODING
CN107342844B (zh) 2017-03-24 2022-09-02 华为技术有限公司 一种编码方法和装置
JP7357541B2 (ja) * 2017-04-20 2023-10-06 クアルコム,インコーポレイテッド ポーラ符号のための動的凍結ビットおよび誤り検出
CN108809486B (zh) * 2017-05-03 2020-09-04 华为技术有限公司 Polar码编译码方法及装置
WO2018208672A1 (en) * 2017-05-08 2018-11-15 Coherent Logix, Inc. Enhanced polarization weighting to enable scalability in polar code bit distribution
US10312939B2 (en) 2017-06-10 2019-06-04 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code
CN107425857A (zh) 2017-06-19 2017-12-01 华为技术有限公司 一种极化码编译码方法及装置
CN109286402B (zh) 2017-07-21 2022-01-14 华为技术有限公司 一种Polar码编码方法及装置
WO2019047206A1 (en) * 2017-09-11 2019-03-14 Qualcomm Incorporated PHYSICAL DIFFUSION CHANNEL DESIGN FOR POLAR CODES
EP3711169A1 (en) * 2017-11-15 2020-09-23 IDAC Holdings, Inc. Urllc transmissions with polar codes
KR102438982B1 (ko) * 2017-11-16 2022-09-01 삼성전자주식회사 무선 통신 시스템에서 부호화 및 복호화를 위한 방법 및 장치
US10540379B2 (en) * 2017-12-11 2020-01-21 International Business Machines Corporation Searching base encoded text
KR102550075B1 (ko) * 2018-03-23 2023-06-30 삼성전자주식회사 무선 통신 시스템에서 순환 중복 검사를 이용한 복호화를 위한 장치 및 방법
KR102541319B1 (ko) * 2018-03-29 2023-06-08 삼성전자주식회사 무선 통신 시스템에서 극 부호를 이용한 부호화 및 복호화를 위한 장치 및 방법
CN108809329B (zh) * 2018-05-03 2021-09-28 东南大学 一种能同时处理极化码和ldpc码的bp译码器的配置方法
US20190356418A1 (en) * 2018-05-17 2019-11-21 Industrial Technology Research Institute Method of transmitting data encoded in polar code and electronic device using the same
CN110752891B (zh) * 2018-07-24 2022-04-29 中兴通讯股份有限公司 极化码译码方法及装置、存储介质、电子装置
CN109450457B (zh) * 2018-08-09 2022-05-24 山东科技大学 一种码长自由的极化码编码方法
US11050519B2 (en) * 2018-09-14 2021-06-29 Idac Holdings, Inc. Methods, apparatus, systems and procedures for hybrid automatic repeat requests (HARQs) using polar codes
US10644835B1 (en) 2018-10-12 2020-05-05 Samsung Electronics Co., Ltd. System and method for interleaving distributed CRC in polar codes for early termination
KR102632560B1 (ko) * 2018-10-19 2024-02-02 삼성전자주식회사 경로 메트릭을 이용하여 입력 데이터를 디코딩하는 장치 및 이를 이용하는 디코딩 방법
CN111200476B (zh) * 2018-11-16 2021-12-14 华为技术有限公司 Polar码编码方法及装置
CN111385059B (zh) * 2018-12-27 2021-08-31 华为技术有限公司 极化编码调制的方法和装置
CN111446969B (zh) * 2019-01-17 2023-10-20 华为技术有限公司 一种级联crc码的极化码编码方法及装置
CN109889307B (zh) * 2019-01-24 2021-06-01 东南大学 一种基于组合极化码的打孔方法
CN111756384B (zh) * 2019-03-28 2022-08-26 华为技术有限公司 译码方法、装置及设备
KR20210006807A (ko) * 2019-07-09 2021-01-19 삼성전자주식회사 통신 시스템에서 신호 송수신 장치 및 방법
CN110380737B (zh) * 2019-07-12 2020-10-02 北京邮电大学 一种极化码距离谱分析的方法及装置
EP3813278B1 (en) * 2019-10-22 2023-03-01 Mitsubishi Electric R&D Centre Europe B.V. Multilevel polar-coded modulation transmitting and receiving methods and devices
CN111130566B (zh) * 2019-12-18 2021-05-11 清华大学 Polar码译码器中寻找L个最大路径度量值的电路实现方法
US11418220B2 (en) 2020-03-20 2022-08-16 Huawei Technologies Co., Ltd. Method, system, and apparatus for a segmented polarization-adjusted convolutional (PAC) code
CN115622572A (zh) * 2020-04-22 2023-01-17 华为技术有限公司 编码、译码方法、装置及设备
CN112087285B (zh) * 2020-09-10 2021-07-20 西南交通大学 基于码距与极化信道可靠度的极化码比特反转译码方法
CN113438023B (zh) * 2021-06-18 2022-08-05 重庆理工大学 一种自由空间光通信中极化码级联编码方法及装置
US11791844B2 (en) * 2021-12-22 2023-10-17 Huawei Technologies Co., Ltd. Systems and methods for using special nodes for polar encoding in polar codes

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5317715A (en) * 1987-12-15 1994-05-31 Advanced Micro Devices, Inc. Reduced instruction set computer system including apparatus and method for coupling a high performance RISC interface to a peripheral bus having different performance characteristics
US6307868B1 (en) * 1995-08-25 2001-10-23 Terayon Communication Systems, Inc. Apparatus and method for SCDMA digital data transmission using orthogonal codes and a head end modem with no tracking loops
US6625219B1 (en) 1999-02-26 2003-09-23 Tioga Technologies, Ltd. Method and apparatus for encoding/framing for modulated signals over impulsive channels
US20020194571A1 (en) 2001-06-13 2002-12-19 Michael Parr System and method of coding cyclic redundancy check bits to enhance frequency reuse in a communications network
US7406647B2 (en) 2001-12-06 2008-07-29 Pulse-Link, Inc. Systems and methods for forward error correction in a wireless communication network
US20040019845A1 (en) * 2002-07-26 2004-01-29 Hughes Electronics Method and system for generating low density parity check codes
KR101102396B1 (ko) 2006-02-08 2012-01-05 엘지전자 주식회사 이동통신 시스템에서의 코드워드 크기 정합 방법 및 송신장치
US8312323B2 (en) * 2006-12-22 2012-11-13 Commvault Systems, Inc. Systems and methods for remote monitoring in a computer network and reporting a failed migration operation without accessing the data being moved
CN101325474B (zh) * 2007-06-12 2012-05-09 中兴通讯股份有限公司 Ldpc码的混合自动请求重传的信道编码及调制映射方法
US8386879B2 (en) * 2007-08-23 2013-02-26 Nec Laboratories America, Inc. GLDPC encoding with Reed-Muller component codes for optical communications
US8233532B2 (en) 2007-09-21 2012-07-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Information signal, apparatus and method for encoding an information content, and apparatus and method for error correcting an information signal
US8776161B2 (en) 2008-02-12 2014-07-08 Ciena Corporation Systems and methods for video processing in network edge devices
US20090271686A1 (en) 2008-04-28 2009-10-29 Qualcomm Incorporated Communication signal decoding with iterative cooperation between turbo and reed-solomon decoding
US8327234B2 (en) * 2009-02-27 2012-12-04 Research In Motion Limited Code block reordering prior to forward error correction decoding based on predicted code block reliability
US8352827B2 (en) * 2009-06-25 2013-01-08 Nec Laboratories America, Inc. LDPC hard decision decoder for high-speed wireless data communications
US9215082B2 (en) 2009-10-06 2015-12-15 Thomson Licensing Method and apparatus for hop-by-hop reliable multicast in wireless networks
US9116826B2 (en) 2010-09-10 2015-08-25 Trellis Phase Communications, Lp Encoding and decoding using constrained interleaving
US8879640B2 (en) 2011-02-15 2014-11-04 Hong Kong Applied Science and Technology Research Institute Company Limited Memory efficient implementation of LDPC decoder
CN102122966B (zh) * 2011-04-15 2012-11-14 北京邮电大学 基于信道极化的交错结构重复码的编码器及其编译码方法
CN102164025B (zh) * 2011-04-15 2013-06-05 北京邮电大学 基于重复编码和信道极化的编码器及其编译码方法
CN102694625B (zh) * 2012-06-15 2014-11-12 北京邮电大学 一种循环冗余校验辅助的极化码译码方法
CN103516476B (zh) 2012-06-29 2016-12-21 华为技术有限公司 编码方法和设备
CN106899311B (zh) * 2012-09-24 2023-11-03 华为技术有限公司 混合极性码的生成方法和生成装置
AU2013234368B2 (en) 2012-10-01 2016-08-18 Hybrid Electronics Australia Pty. Ltd. Residual current device (rcd) with earth current sensing
CN108650057B (zh) 2012-10-17 2023-10-13 华为技术有限公司 一种编译码的方法、装置及系统
CN103825669B (zh) 2012-11-16 2017-10-24 华为技术有限公司 数据处理的方法和装置
KR102007770B1 (ko) 2012-12-14 2019-08-06 삼성전자주식회사 패킷의 부호화 방법과 그 복호화 장치 및 방법
KR101951663B1 (ko) 2012-12-14 2019-02-25 삼성전자주식회사 Crc 부호와 극 부호에 의한 부호화 방법 및 장치
US9304859B2 (en) 2012-12-29 2016-04-05 Emc Corporation Polar codes for efficient encoding and decoding in redundant disk arrays
CN103023618B (zh) * 2013-01-11 2015-04-22 北京邮电大学 一种任意码长的极化编码方法
US9362956B2 (en) 2013-01-23 2016-06-07 Samsung Electronics Co., Ltd. Method and system for encoding and decoding data using concatenated polar codes
US9235467B2 (en) 2013-03-15 2016-01-12 Pmc-Sierra Us, Inc. System and method with reference voltage partitioning for low density parity check decoding
CN104079370B (zh) 2013-03-27 2018-05-04 华为技术有限公司 信道编译码方法及装置
CN103281166B (zh) * 2013-05-15 2016-05-25 北京邮电大学 一种基于极化码的混合自动重传请求传输方法
CN109361402B (zh) * 2013-05-31 2019-09-20 华为技术有限公司 编码方法及编码设备
US9459956B2 (en) * 2013-07-19 2016-10-04 Seagate Technology Llc Data decoder with trapping set flip bit mapper
US20160301582A1 (en) 2013-10-11 2016-10-13 Hewlett-Packard Enterprise Development LP Utilizing collected data from a software-defined networking network to diagnose a user experience
US9489256B2 (en) * 2013-11-07 2016-11-08 Seagate Technology Llc Device quality metrics using unsatisfied parity checks
KR101496182B1 (ko) 2013-12-16 2015-03-09 성균관대학교산학협력단 최소거리가 확장된 극 부호 생성 방법 및 장치
ES2857075T3 (es) 2013-12-24 2021-09-28 Huawei Tech Co Ltd Método de decodificación del código Polar y aparato de decodificación
US10193578B2 (en) 2014-07-10 2019-01-29 The Royal Institution For The Advancement Of Learning / Mcgill University Flexible polar encoders and decoders
US9722651B2 (en) * 2015-01-09 2017-08-01 Qualcomm Incorporated Adaptive channel coding using polarization
US10298271B2 (en) 2015-02-03 2019-05-21 Infineon Technologies Ag Method and apparatus for providing a joint error correction code for a combined data frame comprising first data of a first data channel and second data of a second data channel and sensor system
CN105099622B (zh) * 2015-07-01 2018-10-19 北京邮电大学 极化编码调制中信道可靠度的确定方法及装置
CN105680883B (zh) 2015-12-23 2017-11-14 华中科技大学 一种极化码和多比特奇偶校验码级联的纠错编码方法
CN105656604B (zh) * 2016-01-21 2019-03-26 北京邮电大学 一种比特交织极化编码调制方法及装置
CN105743621B (zh) * 2016-02-02 2019-03-26 北京邮电大学 基于极化码的harq信号发送、接收方法及装置
CN105811998B (zh) 2016-03-04 2019-01-18 深圳大学 一种基于密度演进的极化码构造方法及极化码编译码系统
US10728080B2 (en) 2016-05-20 2020-07-28 Qualcomm Incorporated Polar codes and modulation mappings
US10432234B2 (en) 2016-07-19 2019-10-01 Mediatek Inc. Low complexity rate matching for polar codes
CN107666370B (zh) 2016-07-29 2023-09-22 华为技术有限公司 编码方法和设备
US10389484B2 (en) 2016-07-29 2019-08-20 Lg Electronics Inc. Method for performing polar coding and apparatus therefor
US11431441B2 (en) 2016-08-10 2022-08-30 Idac Holdings, Inc. Priority-based channel coding for control information
US10637607B2 (en) * 2016-09-15 2020-04-28 Huawei Technologies Co., Ltd. Method and apparatus for encoding data using a polar code
CN110582955B (zh) 2017-05-04 2022-07-19 上海诺基亚贝尔股份有限公司 用于极化码的编码装置

Also Published As

Publication number Publication date
CN110808813B (zh) 2020-12-25
KR20190053899A (ko) 2019-05-20
MY195393A (en) 2023-01-18
US11374682B2 (en) 2022-06-28
WO2018050063A1 (en) 2018-03-22
EP3510699A4 (en) 2019-09-04
US10700808B2 (en) 2020-06-30
CN110855299A (zh) 2020-02-28
BR112019005074A2 (pt) 2019-07-09
BR112019004937A2 (pt) 2019-06-25
KR102199298B1 (ko) 2021-01-06
JP2019533345A (ja) 2019-11-14
US20180076929A1 (en) 2018-03-15
JP2019530333A (ja) 2019-10-17
US10491326B2 (en) 2019-11-26
EP3510700A4 (en) 2019-09-04
JP6859429B2 (ja) 2021-04-14
ZA201901830B (en) 2021-02-24
CN110808813A (zh) 2020-02-18
US10637607B2 (en) 2020-04-28
US20190089481A1 (en) 2019-03-21
CA3036916C (en) 2021-08-24
CN110855299B (zh) 2021-02-12
ZA201901831B (en) 2021-05-26
AU2017326022A1 (en) 2019-04-11
EP3940961A1 (en) 2022-01-19
US20190068316A1 (en) 2019-02-28
US20230046507A1 (en) 2023-02-16
AU2017326021B2 (en) 2020-09-03
CN109716662B (zh) 2024-01-30
EP3510700B1 (en) 2022-02-23
CN109716662A (zh) 2019-05-03
CA3036759C (en) 2022-05-10
KR20190052054A (ko) 2019-05-15
US20200092035A1 (en) 2020-03-19
US11923973B2 (en) 2024-03-05
EP3510700A1 (en) 2019-07-17
CN109804566A (zh) 2019-05-24
WO2018050062A1 (en) 2018-03-22
CA3036759A1 (en) 2018-03-22
BR112019005074B1 (pt) 2023-02-14
WO2018050062A9 (en) 2018-04-12
AU2017326021A1 (en) 2019-04-11
US11509414B2 (en) 2022-11-22
EP3510699B1 (en) 2021-06-02
EP3510699A1 (en) 2019-07-17
US10644829B2 (en) 2020-05-05
US20180076922A1 (en) 2018-03-15
AU2017326022B2 (en) 2020-08-27
JP6881859B2 (ja) 2021-06-02
US20200295867A1 (en) 2020-09-17
CA3036916A1 (en) 2018-03-22

Similar Documents

Publication Publication Date Title
KR102206307B1 (ko) 폴라 코드를 사용하여 데이터를 인코딩하는 방법 및 장치
CN110326221B (zh) 一种用于为极化码生成有序序列的方法
JP2020504508A (ja) Polar符号構築に用いる装置及び方法
CN111446969A (zh) 一种级联crc码的极化码编码方法及装置
CN111525980B (zh) 译码方法及装置
CN109804566B (zh) 使用极化码编码数据的方法和装置

Legal Events

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