KR102213345B1 - 패리티 검사 연접 극 부호의 설계 방법 및 그 장치 - Google Patents

패리티 검사 연접 극 부호의 설계 방법 및 그 장치 Download PDF

Info

Publication number
KR102213345B1
KR102213345B1 KR1020190078570A KR20190078570A KR102213345B1 KR 102213345 B1 KR102213345 B1 KR 102213345B1 KR 1020190078570 A KR1020190078570 A KR 1020190078570A KR 20190078570 A KR20190078570 A KR 20190078570A KR 102213345 B1 KR102213345 B1 KR 102213345B1
Authority
KR
South Korea
Prior art keywords
parity
information
indices
indexes
generating
Prior art date
Application number
KR1020190078570A
Other languages
English (en)
Other versions
KR20210002817A (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 한국과학기술원
Priority to KR1020190078570A priority Critical patent/KR102213345B1/ko
Priority to US16/917,165 priority patent/US11283470B2/en
Publication of KR20210002817A publication Critical patent/KR20210002817A/ko
Application granted granted Critical
Publication of KR102213345B1 publication Critical patent/KR102213345B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/01Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/098Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit using single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/253Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with concatenated codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

패리티 검사 연접 극 부호의 설계 방법 및 그 장치가 개시된다. 본 발명의 일 실시예에 따른 극 부호 설계 방법은 부호 길이, 메시지 길이 및 채널 정보를 수신하는 단계; 상기 수신된 부호 길이, 메시지 길이 및 채널 정보에 기초하여 극 부호의 정보 집합(information set)과 패리티 집합(parity set)을 생성하는 단계; 및 상기 생성된 정보 집합 및 패리티 집합에 기초하여 상기 정보 집합의 원소들을 포함하는 패리티 노드를 생성하는 단계를 포함한다.

Description

패리티 검사 연접 극 부호의 설계 방법 및 그 장치 {METHOD FOR CONSTRUCTING PARITY-CHECK CONCATENATED POLAR CODES AND APPARATUS THEREFOR}
본 발명은 극 부호 설계 기술에 관한 것으로, 보다 상세하게는 극 부호(polar code)와 패리티 검사 부호(parity-check code)를 연접(concatenation)함으로써, 부호의 최소 거리와 오류정정 능력을 향상시킬 수 있는 극 부호 설계 방법 및 그 장치에 관한 것이다.
극 부호(polar code)는 이산 무기억 대칭 채널(binary-input discrete memoryless symmetric channel)에서 채널 용량을 달성한다고 알려진 최초의 부호로 5G의 초광대역 이동통신(enhanced mobile broadband, eMBB)의 제어 신호 표준 및 초고신뢰 저지연 통신(ultra-reliable and low latency communications, URLLC)의 핵심기술로서 많은 주목을 받고 있다. 극 부호는 채널 분극화 과정을 통해 설계된다. 채널 분극화 이론에 따르면 채널 용량이 C인 N개의 이산 무기억 대칭 채널을 변환하여 N이 무한히 클 경우 NC개의 신뢰도가 높은 채널과 N(1-C)개의 신뢰도가 낮은 채널을 생성할 수 있다. 이 때, 신뢰도가 높은 채널에 원하는 메시지를 보내고 신뢰도가 낮은 부분에 송/수신자 모두가 아는 값을 보내면 수신자는 연속 소거 복호기를 이용하여 N log(N)의 복잡도로 원래 메시지를 완벽히 복구할 수 있다. 하지만 부호의 길이가 유한할 경우 부분적으로 분극화된 채널이 존재하여 연속 소거 복호기의 오류정정 능력이 다른 부호보다 떨어지게 된다. 이를 극복하기 위해, 종래 일 실시예의 기술은 목록 연속 소거 복호기와 순환 중복 검사 연접 부호를 제안한 바 있다. 해당 기술에서는 메시지에 CRC(cyclical redundancy check) 부호가 덧붙어져 전송되며 수신자는 목록 복호기를 이용해 메시지의 후보 목록을 생성하고 CRC 검사를 통해 목록 중 올바른 메시지를 찾아낸다. 종래 기술은 이러한 방식을 이용할 경우 극 부호가 기존 부호보다 뛰어난 성능을 낼 수 있음을 보여주었다. 하지만 5G의 URLLC 서비스를 위해서는 종래 방식보다 낮은 오류율이 요구되고 있으며 CRC 부호는 극 부호에 최적화 되어있지 않기 때문에 발전된 방식이 필요하다.
기존의 극 부호는 다음과 같은 단계를 통해 설계된다. 길이 N 극 부호의 부호어 cN 1은 메시지 벡터 uN 1와 행렬
Figure 112019066941606-pat00001
을 곱하여 생성된다. 이 때
Figure 112019066941606-pat00002
, n=logN일 수 있다. 분극화된 채널
Figure 112019066941606-pat00003
, i=1, 2, ..., N의 바타차리야(Bhattacharyya) 척도를 계산함으로써, 각 메시지 벡터의 원소의 신뢰도를 알아낸다. 이 때, 신뢰도가 높은 k개의 원소들은 정보 비트라 칭하고 그 인덱스들의 집합은 정보 집합
Figure 112019066941606-pat00004
로 정의한다. 나머지 N-k개의 신뢰도가 낮은 원소들은 동결 비트라 부르고 마찬가지로 동결 집합
Figure 112019066941606-pat00005
Figure 112019066941606-pat00006
를 정의한다. 이렇게 생성된 극 부호의 최소 거리 dmin
Figure 112019066941606-pat00007
로 표현되며 wH는 이진 벡터의 해밍(Hamming) 웨이트(벡터 내의 1의 개수)를 의미하고, BIN은 십진수를 이진 벡터로 변환하는 함수를 의미한다. 기존 방식으로 설계된 극 부호는 정보 집합의 대수적 성질을 고려하지 않기 때문에 일반적으로 낮은 최소 거리를 갖는다.
따라서, 최소 거리를 향상시키면서 오류정정 능력을 향상시킬 수 있는 극 부호 설계 방법의 필요성이 대두된다.
본 발명의 실시예들은, 극 부호(polar code)와 패리티 검사 부호(parity-check code)를 연접(concatenation)함으로써, 부호의 최소 거리와 오류정정 능력을 향상시킬 수 있는 극 부호 설계 방법 및 그 장치를 제공한다.
본 발명의 일 실시예에 따른 극 부호 설계 방법은 부호 길이, 메시지 길이 및 채널 정보를 수신하는 단계; 상기 수신된 부호 길이, 메시지 길이 및 채널 정보에 기초하여 극 부호의 정보 집합(information set)과 패리티 집합(parity set)을 생성하는 단계; 및 상기 생성된 정보 집합 및 패리티 집합에 기초하여 상기 정보 집합의 원소들을 포함하는 패리티 노드를 생성하는 단계를 포함한다.
상기 패리티 집합을 생성하는 단계는 전체 인덱스들 중 미리 설정된 해밍 웨이트(hamming weight)보다 작거나 같은 인덱스들을 상기 극 부호의 동결 집합(frozen set)으로 생성하는 단계; 상기 동결 집합으로 선택된 인덱스들을 제외한 나머지 인덱스들 중에서 미리 설정된 방식에 의해 선택된 인덱스들을 상기 패리티 집합으로 생성하는 단계; 및 상기 나머지 인덱스들 중 상기 패리티 집합으로 선택된 인덱스들을 제외한 인덱스들을 상기 정보 집합으로 생성하는 단계를 포함할 수 있다.
상기 패리티 집합으로 생성하는 단계는 상기 나머지 인덱스들에 대하여 분극화된 채널의 바타차리야(Bhattacharyya) 척도를 계산하고, 상기 계산된 바타차리야 척도를 정렬한 후 일정 개수의 상위 척도에 대한 인덱스들을 상기 패리티 집합으로 생성할 수 있다.
상기 패리티 노드를 생성하는 단계는 상기 패리티 집합의 인덱스 각각에 대하여, 상기 정보 집합의 인덱스들 중 상기 패리티 집합의 해당 인덱스보다 작은 정보 인덱스들을 찾고, 상기 해당 인덱스에 대한 벡터와 상기 정보 인덱스들 각각에 대한 벡터의 합의 웨이트 값과 상기 정보 인덱스들 각각에 대한 벡터의 웨이트 값에 기초하여 상기 패리티 노드 각각에 포함되는 상기 정보 집합의 원소들을 결정함으로써, 상기 패리티 노드를 생성할 수 있다.
상기 패리티 노드를 생성하는 단계는 상기 해당 인덱스에 대한 벡터와 상기 정보 인덱스들 각각에 대한 벡터의 논리 곱에 대한 웨이트 값이 상기 정보 인덱스들 각각에 대한 벡터의 웨이트 값보다 작을 때의 정보 인덱스를 해당 패리티 노드에 포함되는 상기 정보 집합의 원소로 결정함으로써, 상기 패리티 노드를 생성할 수 있다.
나아가, 본 발명의 일 실시예에 따른 극 부호 설계 방법은 상기 패리티 집합의 인덱스들 각각에 대응하는 벡터의 웨이트 값과 상기 정보 집합의 인덱스들 각각에 대응하는 벡터의 웨이트 값을 계산하고, 상기 패리티 집합의 인덱스들 각각에 대한 웨이트 값들 중 가장 높은 웨이트 값 이하의 웨이트 값을 가지는 상기 정보 집합의 인덱스들을 후보 집합으로 결정하는 단계를 더 포함하고, 상기 생성하는 단계는 상기 후보 집합 및 상기 패리티 집합에 기초하여 상기 후보 집합의 원소들을 포함하는 상기 패리티 노드를 생성할 수 있다.
본 발명의 다른 일 실시예에 따른 극 부호 설계 방법은 부호 길이, 메시지 길이 및 채널 정보를 수신하는 단계; 상기 수신된 부호 길이, 메시지 길이 및 채널 정보에 기초하여 극 부호의 정보 집합(information set)과 패리티 집합(parity set)을 생성하는 단계; 및 상기 생성된 정보 집합 및 패리티 집합에 기초하여 패리티 검사 부호와 연접한 극 부호를 설계하는 단계를 포함한다.
상기 패리티 집합을 생성하는 단계는 전체 인덱스들 중 미리 설정된 해밍 웨이트보다 작거나 같은 인덱스들을 상기 극 부호의 동결 집합으로 생성하는 단계; 상기 동결 집합으로 선택된 인덱스들을 제외한 나머지 인덱스들 중에서 미리 설정된 방식에 의해 선택된 인덱스들을 상기 패리티 집합으로 생성하는 단계; 및 상기 나머지 인덱스들 중 상기 패리티 집합으로 선택된 인덱스들을 제외한 인덱스들을 상기 정보 집합으로 생성하는 단계를 포함할 수 있다.
상기 패리티 집합으로 생성하는 단계는 상기 나머지 인덱스들에 대하여 분극화된 채널의 바타차리야(Bhattacharyya) 척도를 계산하고, 상기 계산된 바타차리야 척도를 정렬한 후 일정 개수의 상위 척도에 대한 인덱스들을 상기 패리티 집합으로 생성할 수 있다.
상기 극 부호를 설계하는 단계는 상기 패리티 집합의 인덱스 각각에 대하여, 상기 정보 집합의 인덱스들 중 상기 패리티 집합의 해당 인덱스보다 작은 정보 인덱스들을 찾고, 상기 해당 인덱스에 대한 벡터와 상기 정보 인덱스들 각각에 대한 벡터의 합의 웨이트 값과 상기 정보 인덱스들 각각에 대한 벡터의 웨이트 값에 기초하여 패리티 노드 각각에 포함되는 상기 정보 집합의 원소들을 결정함으로써, 상기 패리티 노드를 생성할 수 있다.
나아가, 본 발명의 다른 일 실시예에 따른 극 부호 설계 방법은 상기 패리티 집합의 인덱스들 각각에 대응하는 벡터의 웨이트 값과 상기 정보 집합의 인덱스들 각각에 대응하는 벡터의 웨이트 값을 계산하고, 상기 패리티 집합의 인덱스들 각각에 대한 웨이트 값들 중 가장 높은 웨이트 값 이하의 웨이트 값을 가지는 상기 정보 집합의 인덱스들을 후보 집합으로 결정하는 단계를 더 포함하고, 상기 극 부호를 설계하는 단계는 상기 후보 집합 및 상기 패리티 집합에 기초하여 상기 후보 집합의 원소들을 포함하는 패리티 노드를 생성함으로써, 상기 패리티 검사 부호와 연접한 극 부호를 설계할 수 있다.
본 발명의 일 실시예에 따른 극 부호 설계 장치는 부호 길이, 메시지 길이 및 채널 정보를 수신하는 수신부; 상기 수신된 부호 길이, 메시지 길이 및 채널 정보에 기초하여 극 부호의 정보 집합(information set)과 패리티 집합(parity set)을 생성하는 집합 생성부; 및 상기 생성된 정보 집합 및 패리티 집합에 기초하여 상기 정보 집합의 원소들을 포함하는 패리티 노드를 생성하는 패리티 노드 생성부를 포함한다.
상기 집합 생성부는 전체 인덱스들 중 미리 설정된 해밍 웨이트보다 작거나 같은 인덱스들을 상기 극 부호의 동결 집합으로 생성하고, 상기 동결 집합으로 선택된 인덱스들을 제외한 나머지 인덱스들 중에서 미리 설정된 방식에 의해 선택된 인덱스들을 상기 패리티 집합으로 생성하며, 상기 나머지 인덱스들 중 상기 패리티 집합으로 선택된 인덱스들을 제외한 인덱스들을 상기 정보 집합으로 생성할 수 있다.
상기 집합 생성부는 상기 나머지 인덱스들에 대하여 분극화된 채널의 바타차리야(Bhattacharyya) 척도를 계산하고, 상기 계산된 바타차리야 척도를 정렬한 후 일정 개수의 상위 척도에 대한 인덱스들을 상기 패리티 집합으로 생성할 수 있다.
상기 패리티 노드 생성부는 상기 패리티 집합의 인덱스 각각에 대하여, 상기 정보 집합의 인덱스들 중 상기 패리티 집합의 해당 인덱스보다 작은 정보 인덱스들을 찾고, 상기 해당 인덱스에 대한 벡터와 상기 정보 인덱스들 각각에 대한 벡터의 합의 웨이트 값과 상기 정보 인덱스들 각각에 대한 벡터의 웨이트 값에 기초하여 상기 패리티 노드 각각에 포함되는 상기 정보 집합의 원소들을 결정함으로써, 상기 패리티 노드를 생성할 수 있다.
상기 패리티 노드 생성부는 상기 해당 인덱스에 대한 벡터와 상기 정보 인덱스들 각각에 대한 벡터의 논리 곱에 대한 웨이트 값이 상기 정보 인덱스들 각각에 대한 벡터의 웨이트 값보다 작을 때의 정보 인덱스를 해당 패리티 노드에 포함되는 상기 정보 집합의 원소로 결정함으로써, 상기 패리티 노드를 생성할 수 있다.
나아가, 본 발명의 일 실시예에 따른 극 부호 설계 장치는 상기 패리티 집합의 인덱스들 각각에 대응하는 벡터의 웨이트 값과 상기 정보 집합의 인덱스들 각각에 대응하는 벡터의 웨이트 값을 계산하고, 상기 패리티 집합의 인덱스들 각각에 대한 웨이트 값들 중 가장 높은 웨이트 값 이하의 웨이트 값을 가지는 상기 정보 집합의 인덱스들을 후보 집합으로 결정하는 결정부를 더 포함하고, 상기 패리티 노드 생성부는 상기 후보 집합 및 상기 패리티 집합에 기초하여 상기 후보 집합의 원소들을 포함하는 상기 패리티 노드를 생성할 수 있다.
본 발명의 실시예들에 따르면, 극 부호(polar code)와 패리티 검사 부호(parity-check code)를 연접(concatenation)함으로써, 부호의 최소 거리와 오류정정 능력을 향상시킬 수 있다.
본 발명을 이용할 경우 기존에 널리 사용되던 터보 부호나 저밀도 패리티 검사 부호(low-density-parity-check codes)보다 부호 길이가 2000보다 작을 때 뛰어난 오류정정 능력을 가진 부호를 설계할 수 있으며, 이를 적용하여 5G의 초광대역 이동통신(eMBB) 제어 신호 및 초고신뢰도 저지연 통신(URLLC)의 데이터 전송을 위한 오류정정 부호로 활용될 수 있다.
이러한 본 발명은 자율 자동차, 데이터 센터, 원격 의료, 무인화 공장 등 오류에 민감하고 높은 데이터 처리 속도를 요구하는 분야에서 활용될 수 있으며 그 외 가상 현실(virtual reality, VR) 기기, 사물 인터넷, 데이터센터, 반도체저장장치 등 오류정정부호가 필요한 산업분야 전반에 적용할 수 있다.
도1은 패리티 검사 부호와 극 부호의 연접 구조에 대한 일 예시도를 나타낸 것이다.
도 2는 본 발명의 일 실시예에 따른 극 부호 설계 방법에 대한 동작 흐름도를 나타낸 것이다.
도 3은 패리티 노드를 설계하는 알고리즘에 대한 일 예시도를 나타낸 것이다.
도 4는 패리티 노드 알고리즘을 설계하는 과정에 대한 진행도를 나타낸 것이다.
도 5는 기존 부호와 본 발명의 방법에 의한 성능을 비교한 일 예시도를 나타낸 것이다.
도 6은 본 발명의 일 실시예에 따른 극 부호 설계 장치에 대한 구성을 나타낸 것이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며, 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예들을 보다 상세하게 설명하고자 한다. 도면 상의 동일한 구성요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 발명의 실시예들은, 극 부호(polar code)와 패리티 검사 부호(parity-check code)를 연접(concatenation)함으로써, 부호의 최소 거리와 오류정정 능력을 향상시킬 수 있는 극 부호를 설계하는 것을 그 요지로 한다.
기존 사용된 방식은 CRC 부호를 활용하지만, 본 발명에서는 패리티 검사 부호를 사용하기 때문에 표준화된 CRC부호 대신 패리티 부호를 이용하여 연접할 경우 기존과 다른 설계 방식이 요구될 수 있다. 여기서, 본 발명에서 활용된 패리티 검사 부호는 극 부호의 최소 거리를 최대화하고 그로 인해 오류 정정 성능을 최대화 하는 방법으로 설계될 수 있다.
본 발명에서는 극 부호의 정보 집합(information set)과 동결 집합(frozen set) 외에 패리티 집합(parity set)
Figure 112019066941606-pat00008
를 추가적으로 정의한다. 패리티 집합에 해당하는 메시지의 값은 이전 정보 집합 중 몇 개의 합으로 생성하며 아래 <수학식 1>과 같이 나타낼 수 있다.
[수학식 1]
Figure 112019066941606-pat00009
여기서, Hi는 i번째 패리티 비트를 생성하기 위해 더해야 하는 정보 비트의 집합을 의미할 수 있으며, 패리티 노드일 수 있다.
예를 들어, H1이 도 1에 도시된 바와 같이 정의되어 있을 때 u6 = u3 + u4로 결정된다. 본 발명은 이러한 패리티 검사 부호를 연접한 극 부호를 설계하는 기술에 대해 설명한다.
도 2는 본 발명의 일 실시예에 따른 극 부호 설계 방법에 대한 동작 흐름도를 나타낸 것으로, 패리티 검사 부호를 연접한 극 부호를 설계하는 방법에 대한 동작 흐름도를 나타낸 것이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 극 부호 설계 방법은 부호 길이 N, 메시지 길이 k, 채널 W(채널의 특성을 나타내는 행렬)를 수신하고, 수신된 부호 길이, 메시지 길이 및 채널 정보에 기초하여 극 부호의 정보 집합과 패리티 집합을 생성한다(S210, S220).
여기서, 단계 S220은 도 1를 예로 들어 설명하면 극 부호의 N × N 행렬에 대한 전체 인덱스들 중 미리 설정된 해밍 웨이트(hamming weight)보다 작거나 같은 인덱스들을 극 부호의 동결 집합(frozen set)으로 생성하고, 동결 집합으로 선택된 인덱스들을 제외한 나머지 인덱스들 중에서 미리 설정된 방식에 의해 선택된 인덱스들을 패리티 집합으로 생성하며, 전체 인덱스들 중 동결 집합과 패리티 집합으로 선택된 인덱스들을 제외한 인덱스들을 정보 집합으로 생성할 수 있다.
이 때, 단계 S220은 분극화된 채널의 바타차리야(Bhattacharyya) 척도를 계산하여 패리티 집합의 인덱스들을 선택할 수 있으며, 구체적으로 동결 집합으로 선택된 인덱스들을 제외한 나머지 인덱스들에 대하여 분극화된 채널의 바타차리야 척도를 계산하고, 계산된 바타차리야 척도를 정렬한 후 정보 집합의 인덱스들에 대한 개수를 제외한 나머지 개수의 상위 척도에 대한 인덱스들을 패리티 집합으로 선택함으로써, 패리티 집합을 생성할 수 있다.
단계 S220에 의해 극 부호의 동결 집합과 정보 집합 그리고 패리티 집합이 생성되면 즉, 동결 집합과 정보 집합 그리고 패리티 집합의 인덱스들이 선택되면 생성된 패리티 집합과 정보 집합에 기초하여 패리티 검사 부호의 패리티 노드를 생성한다(S230).
여기서, 단계 S230은 패리티 집합의 인덱스들 각각에 대하여, 정보 집합의 인덱스들 중 패리티 집합의 해당 인덱스보다 작은 인덱스들(정보 인덱스들)을 찾고, 패리티 집합의 해당 인덱스에 대한 벡터와 정보 인덱스들 각각에 대한 벡터의 합의 웨이트 값과 정보 인덱스들 각각에 대한 벡터의 웨이트 값에 기초하여 패리티 노드 각각에 포함되는 정보 집합의 원소들을 결정함으로써, 패리티 노드를 생성할 수 있다. 예를 들어 단계 S230은 패리티 집합의 해당 인덱스에 대한 벡터와 정보 인덱스들 각각에 대한 벡터의 논리 곱에 대한 웨이트 값이 정보 인덱스들 각각에 대한 벡터의 웨이트 값보다 작을 때의 정보 인덱스를 해당 패리티 노드에 포함되는 정보 집합의 원소로 결정함으로써, 패리티 노드를 생성할 수도 있다.
나아가, 단계 S230은 패리티 집합의 인덱스들 각각에 대응하는 벡터의 웨이트 값과 정보 집합의 인덱스들 각각에 대응하는 벡터의 웨이트 값을 계산하고, 패리티 집합의 인덱스들 각각에 대한 웨이트 값들 중 가장 높은 웨이트 값 이하의 웨이트 값을 가지는 정보 집합의 인덱스들을 후보 집합으로 결정한 후 후보 집합과 패리티 집합에 기초하여 후보 집합의 원소들을 포함하는 패리티 노드를 생성할 수 있다.
이 때, 본 발명은 정보 집합에 대한 후보 집합을 결정하는 과정을 통해 패리티 검사 연접 극 부호를 설계하는 연산 복잡도를 줄일 수 있으면서 부호의 최소 거리와 오류정정 능력을 향상시킬 수 있다.
이러한 본 발명의 방법에 대해 도 3 내지 도 5를 참조하여 상세히 설명하면 다음과 같다.
본 발명의 실시예에 따른 방법은 입력으로 부호 길이 N, 메시지 길이 k, 채널 W(채널의 특성을 나타내는 매트릭스)가 주어졌을 때 최소 거리가 증가된 극 부호의 정보 집합, 동결 집합, 패리티 집합
Figure 112019066941606-pat00010
와 패리티 노드 Hi들을 다음과 같은 과정을 통해 생성한다.
1. 초기화: 모든 집합을 공집합 즉,
Figure 112019066941606-pat00011
으로 초기화 한다.
2. 동결 집합
Figure 112019066941606-pat00012
생성: 아래 <수학식 2>를 만족하는 가장 큰 s의 값을 찾는다.
[수학식 2]
Figure 112019066941606-pat00013
즉, 전체 인덱스들 {0, 1, 2, ..., N-1} 중 이진 벡터로 변환하였을 때 해밍 웨이트가 s보다 작거나 같은 인덱스들을 전부 동결 집합
Figure 112019066941606-pat00014
으로 정의한다.
3. 패리티 집합
Figure 112019066941606-pat00015
생성: 동결 집합으로 선택된 인덱스들을 제외한 나머지 인덱스들에 대하여, 분극화된 채널의 바타차리야 척도
Figure 112019066941606-pat00016
을 계산한다. 즉, 본 발명은 동결 집합으로 이미 선택된 인덱스를 제외하고 나머지 인덱스들에 대하여 바타차리야 척도가 높은 순부터 낮은 순으로 정렬한 후 정보 집합의 인덱스들에 대한 개수 k를 제외한 나머지 개수의 상위 척도에 대한 인덱스들을 정보 집합으로 생성한다.
4. 정보 집합
Figure 112019066941606-pat00017
생성: 정보 집합은 인덱스 집합 {0, 1, 2, ..., N-1}에서 동결 집합과 패리티 집합을 제외한 나머지 원소들의 집합
Figure 112019066941606-pat00018
이다. 즉, 정보 집합은 전체 인덱스들 중 동결 집합의 인덱스들과 패리티 집합의 인덱스들을 제외한 나머지 인덱스들을 정보 집합으로 생성할 수 있다.
5. 패리티 노드 Hi 생성: 패리티 노드 Hi는 패리티 비트 ui를 생성하기 위해 더해 주어야 하는 정보 비트들의 인덱스를 원소로 갖는다. 상술한 과정 1 내지 4를 통해 집합
Figure 112019066941606-pat00019
,
Figure 112019066941606-pat00020
,
Figure 112019066941606-pat00021
가 정의되었다 가정하면,
Figure 112019066941606-pat00022
의 부분집합
Figure 112019066941606-pat00023
를 후보 집합이라 하고 아래 <수학식 3>과 같이 정의할 수 있다.
[수학식 3]
Figure 112019066941606-pat00024
즉, 후보 집합은 패리티 집합에서 해밍 웨이트가 가장 큰 원소를 찾고 정보 집합에서 그 웨이트보다 낮은 인덱스들을 모은 집합이다. 이후 각각의 pi에 대하여 아래 <수학식 4>의 두 조건을 만족하는
Figure 112019066941606-pat00025
의 모든 원소를 Hi에 포함 시킨다.
[수학식 4]
Figure 112019066941606-pat00026
여기서, 조건 A는 패리티 비트를 생성하기 위해서 그보다 이전의 정보 비트만을 이용해야 하기 때문에 생긴 조건이며, 조건 B는 패리티 검사 부호를 통해 부호의 최소 거리가 증가할 필요 조건일 수 있다.
패리티 노드를 생성하는 과정에 대해 도 3과 도 4를 참조하여 조금 더 설명하면 다음과 같다.
도 3은 패리티 노드를 설계하는 알고리즘에 대한 일 예시도를 나타낸 것이고, 도 4는 패리티 노드 알고리즘을 설계하는 과정에 대한 진행도를 나타낸 것이다.
도 3과 도 4를 참조하면, 패리티 노드를 생성하는 과정은 정보 집합의 후보 집합과 패리티 집합을 입력으로 하여 패리티 노드를 출력하는 과정으로, 패리티 집합의 인덱스들 pi 각각을 변경하는 외부 루프와 패리티 집합의 해당 인덱스 pi보다 작은 후보 집합의 인덱스들 aj에 대하여 상기 수학식 4의 B를 만족하는 후보 집합의 인덱스를 해당 패리티 노드의 원소들로 추가시키는 내부 루프를 포함한다.
즉, 패리티 집합이 i개의 인덱스들을 포함하고, 후보 집합이 j개의 인덱스들을 포함하는 경우 패리티 집합의 인덱스 pi에 대하여 비교기(comparator)를 이용하여 후보 집합의 인덱스들 aj를 비교함으로써, 인덱스 pi보다 작은 후보 집합의 인덱스 aj를 찾아서 웨이트 함수(operator)를 적용함으로써, 인덱스 pi에 대한 벡터와 해당 인덱스 aj에 대한 벡터의 합의 웨이트 값과 해당 인덱스 aj에 대한 벡터의 웨이트 값을 비교(comparator)하여 i번째 패리티 노드 Hi에 포함되는 후보 집합의 원소들을 결정한다. 예를 들어, 인덱스 pi에 대한 벡터와 해당 인덱스 aj에 대한 벡터의 논리 곱의 웨이트 값이 해당 인덱스 aj에 대한 벡터의 웨이트 값보다 작으면 해당 인덱스 aj를 해당 패리티 노드 Hi의 원소로 포함시킴으로써, 최소 거리와 오류정정 능력을 향상시킬 수 있는 패리티 노드 Hi를 생성할 수 있다.
이러한 과정이 패리티 집합의 인덱스 pi 각각과 후보 집합의 인덱스 aj 각각에 대하여 반복적으로 수행될 수 있다. 예를 들어, 인덱스 p1보다 작은 후보 집합의 인덱스에 대하여 도 3의 알고리즘에서 3번 과정을 수행하여 이를 만족하는 경우 패리티 노드 H1에 해당 후보 집합의 인덱스를 포함시키고, 이를 모든 후보 집합의 인덱스에 대해 순차적으로 수행 즉, j=j+1를 통한 내부 루프를 이용하여 순차적으로 수행한 후 그 다음 인덱스 p2 즉, i=i+1에 대해 이러한 과정을 수행하며, 이러한 과정을 인덱스 pi까지 수행함으로써, 모든 패리티 노드 즉, H1 내지 Hi에 후보 집합의 원소들을 포함시킬 수 있다.
도 5는 기존 부호와 본 발명의 방법에 의한 성능을 비교한 일 예시도를 나타낸 것으로, 길이 256, 부호율 1/2 그리고 AWGN(Additive white Gaussian noise) 채널에 대해 기존 부호(polar-CRC code)와 본 발명의 방법(proposed code)에 대한 성능 비교 실험 결과를 나타낸 것이다.
도 5를 통해 알 수 있듯이, 본 발명에 따른 방법은 극 부호와 패리티 검사 부호를 연접한 극 부호를 설계함으로써, 기존 부호(polar-CRC code)보다 최소 거리가 확장되는 것을 알 수 있으며, 오류정정 능력을 또한 기존 부호보다 뛰어난 성능을 보이는 것을 알 수 있다.
또한, 본 발명의 방법은 부호의 최소 거리가 향상시킬 수 있으며, 기존에 널리 사용되던 터보 부호나 저밀도 패리티 검사 부호(low-density-parity-check codes)보다 부호 길이가 2000보다 작을 때 뛰어난 오류정정 능력을 가진 부호를 설계할 수 있다.
이와 같이, 본 발명의 실시예에 따른 방법은 극 부호와 패리티 검사 부호를 연접함으로써, 부호의 최소 거리와 오류정정 능력을 향상시킬 수 있으며, 따라서 5G의 초광대역 이동통신(eMBB) 제어 신호 및 초고신뢰도 저지연 통신(URLLC)의 데이터 전송을 위한 오류정정 부호로 활용될 수 있고 나아가 본 발명의 부호를 사용할 수 있는 다양한 분야 예를 들어, 가상 현실 기기, 사물 인터넷, 데이터센터, 반도체저장장치 등 오류정정부호가 필요한 산업분야 전반에 적용할 수 있다.
즉, 본 발명은 패리티 검사 부호와 연접한 극 부호를 설계하는 방법으로, 상술한 내용에 기초하여 설명하면, 부호 길이, 메시지 길이 및 채널 정보를 수신하고, 수신된 부호 길이, 메시지 길이 및 채널 정보에 기초하여 극 부호의 정보 집합과 패리티 집합을 생성한 후 생성된 정보 집합 및 패리티 집합에 기초하여 패리티 검사 부호와 연접한 극 부호를 설계할 수 있다.
여기서, 패리티 집합을 생성하는 과정은 상술한 바와 같이 전체 인덱스들 중 미리 설정된 해밍 웨이트보다 작거나 같은 인덱스들을 상기 극 부호의 동결 집합으로 생성하는 과정, 동결 집합으로 선택된 인덱스들을 제외한 나머지 인덱스들 중에서 미리 설정된 방식에 의해 선택된 인덱스들을 패리티 집합으로 생성하는 과정과 나머지 인덱스들 중 패리티 집합으로 선택된 인덱스들을 제외한 인덱스들을 정보 집합으로 생성하는 과정을 포함할 수 있다.
물론, 이 외의 다른 내용 또한 도 1 내지도 5에서 설명한 모든 내용을 포함할 수 있다.
도 6은 본 발명의 일 실시예에 따른 극 부호 설계 장치에 대한 구성을 나타낸 것으로, 상기 도 1 내지 도 5의 방법을 수행하는 장치에 대한 개념적인 구성을 나타낸 것이다.
도 6을 참조하면, 본 발명의 실시예에 따른 장치(600)는 수신부(610), 집합 생성부(620), 패리티 노드 생성부(630) 및 결정부(640)를 포함한다.
수신부(610)는 부호 길이 N, 메시지 길이 k, 채널 W(채널의 특성을 나타내는 행렬)를 수신한다.
집합 생성부(620)는 수신된 부호 길이, 메시지 길이 및 채널 정보에 기초하여 극 부호의 정보 집합과 패리티 집합을 생성한다.
여기서, 집합 생성부(620)는 극 부호의 N × N 행렬에 대한 전체 인덱스들 중 미리 설정된 해밍 웨이트보다 작거나 같은 인덱스들을 극 부호의 동결 집합으로 생성하고, 동결 집합으로 선택된 인덱스들을 제외한 나머지 인덱스들 중에서 미리 설정된 방식에 의해 선택된 인덱스들을 패리티 집합으로 생성하며, 전체 인덱스들 중 동결 집합과 패리티 집합으로 선택된 인덱스들을 제외한 인덱스들을 정보 집합으로 생성할 수 있다.
이 때, 집합 생성부(620)는 분극화된 채널의 바타차리야 척도를 계산하여 패리티 집합의 인덱스들을 선택할 수 있으며, 구체적으로 동결 집합으로 선택된 인덱스들을 제외한 나머지 인덱스들에 대하여 분극화된 채널의 바타차리야 척도를 계산하고, 계산된 바타차리야 척도를 정렬한 후 정보 집합의 인덱스들에 대한 개수를 제외한 나머지 개수의 상위 척도에 대한 인덱스들을 패리티 집합으로 선택함으로써, 패리티 집합을 생성할 수 있다.
패리티 노드 생성부(630)는 극 부호의 동결 집합과 정보 집합 그리고 패리티 집합이 생성되면 즉, 동결 집합과 정보 집합 그리고 패리티 집합의 인덱스들이 선택되면 생성된 패리티 집합과 정보 집합에 기초하여 패리티 검사 부호의 패리티 노드를 생성한다.
이 때, 패리티 노드 생성부(630)는 패리티 집합의 인덱스들 각각에 대하여, 정보 집합의 인덱스들 중 패리티 집합의 해당 인덱스보다 작은 인덱스들(정보 인덱스들)을 찾고, 패리티 집합의 해당 인덱스에 대한 벡터와 정보 인덱스들 각각에 대한 벡터의 합의 웨이트 값과 정보 인덱스들 각각에 대한 벡터의 웨이트 값에 기초하여 패리티 노드 각각에 포함되는 정보 집합의 원소들을 결정함으로써, 패리티 노드를 생성할 수 있다. 예를 들어, 패리티 노드 생성부(630)는 패리티 집합의 해당 인덱스에 대한 벡터와 정보 인덱스들 각각에 대한 벡터의 논리 곱에 대한 웨이트 값이 정보 인덱스들 각각에 대한 벡터의 웨이트 값보다 작을 때의 정보 인덱스를 해당 패리티 노드에 포함되는 정보 집합의 원소로 결정함으로써, 패리티 노드를 생성할 수도 있다.
결정부(640)는 패리티 집합의 인덱스들 각각에 대응하는 벡터의 웨이트 값과 정보 집합의 인덱스들 각각에 대응하는 벡터의 웨이트 값을 계산하고, 패리티 집합의 인덱스들 각각에 대한 웨이트 값들 중 가장 높은 웨이트 값 이하의 웨이트 값을 가지는 정보 집합의 인덱스들을 후보 집합으로 결정한다.
따라서, 패리티 노드 생성부(630)는 결정부(640)에 의해 후보 집합이 결정되면, 후보 집합과 패리티 집합에 기초하여 후보 집합의 원소들을 포함하는 패리티 노드를 생성할 수 있다.
비록, 도 6에 도시된 극 부호 설계 장치에서 그 설명이 생략되었더라도 본 발명에 따른 극 부호 설계 장치는 도 1 내지 도 5에서 설명한 모든 내용을 포함할 수 있다는 것은 이 기술 분야에 종사하는 당업자에게 있어서 자명하다.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 시스템, 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예들에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (17)

  1. 부호 길이, 메시지 길이 및 채널 정보를 수신하는 단계;
    상기 수신된 부호 길이, 메시지 길이 및 채널 정보에 기초하여 극 부호의 정보 집합(information set)과 패리티 집합(parity set)을 생성하는 단계; 및
    상기 생성된 정보 집합 및 패리티 집합에 기초하여 상기 정보 집합의 원소들을 포함하는 패리티 노드를 생성하는 단계
    를 포함하고,
    상기 패리티 노드는
    패리티 비트를 생성하기 위해 더해야 하는 상기 정보 집합의 원소들인 정보 비트의 집합인 것을 특징으로 하는 극 부호 설계 방법.
  2. 제1항에 있어서,
    상기 패리티 집합을 생성하는 단계는
    상기 극 부호의 전체 인덱스들 중 이진 벡터로 변환하였을 때, 해밍 웨이트(hamming weight)가 미리 설정된 값보다 작거나 같은 인덱스들을 상기 극 부호의 동결 집합(frozen set)으로 생성하는 단계;
    상기 동결 집합으로 선택된 인덱스들을 제외한 나머지 인덱스들 중에서 미리 설정된 방식에 의해 선택된 인덱스들을 상기 패리티 집합으로 생성하는 단계; 및
    상기 나머지 인덱스들 중 상기 패리티 집합으로 선택된 인덱스들을 제외한 인덱스들을 상기 정보 집합으로 생성하는 단계
    를 포함하는 것을 특징으로 하는 극 부호 설계 방법.
  3. 제2항에 있어서,
    상기 패리티 집합으로 생성하는 단계는
    상기 나머지 인덱스들에 대하여 분극화된 채널의 바타차리야(Bhattacharyya) 척도를 계산하고, 상기 계산된 바타차리야 척도를 정렬한 후 일정 개수의 상위 척도에 대한 인덱스들을 상기 패리티 집합으로 생성하는 것을 특징으로 하는 극 부호 설계 방법.
  4. 제2항에 있어서,
    상기 패리티 노드를 생성하는 단계는
    상기 패리티 집합의 인덱스 각각에 대하여, 상기 정보 집합의 인덱스들을 비교하여 상기 정보 집합의 인덱스들 중 상기 패리티 집합의 해당 인덱스보다 작은 인덱스들인 정보 인덱스들을 찾고, 상기 해당 인덱스에 대한 벡터와 상기 정보 인덱스들 각각에 대한 벡터의 합의 제1 웨이트 값과 상기 정보 인덱스들 각각에 대한 벡터의 제2 웨이트 값을 비교하여 상기 제1 웨이트 값이 상기 제2 웨이트 값보다 작은 정보 인덱스를 상기 패리티 노드 각각에 포함되는 상기 정보 집합의 원소들로 결정함으로써, 상기 패리티 노드를 생성하는 것을 특징으로 하는 극 부호 설계 방법.
  5. 제4항에 있어서,
    상기 패리티 노드를 생성하는 단계는
    상기 해당 인덱스에 대한 벡터와 상기 정보 인덱스들 각각에 대한 벡터의 논리 곱에 대한 웨이트 값이 상기 정보 인덱스들 각각에 대한 벡터의 웨이트 값보다 작을 때의 정보 인덱스를 해당 패리티 노드에 포함되는 상기 정보 집합의 원소로 결정함으로써, 상기 패리티 노드를 생성하는 것을 특징으로 하는 극 부호 설계 방법.
  6. 제1항에 있어서,
    상기 패리티 집합의 인덱스들 각각에 대응하는 벡터의 합인 웨이트 값과 상기 정보 집합의 인덱스들 각각에 대응하는 벡터의 합인 웨이트 값을 계산하고, 상기 패리티 집합의 인덱스들 각각에 대한 웨이트 값들 중 가장 높은 웨이트 값 이하의 웨이트 값을 가지는 상기 정보 집합의 인덱스들을 후보 집합으로 결정하는 단계
    를 더 포함하고,
    상기 패리티 노드를 생성하는 단계는
    상기 후보 집합 및 상기 패리티 집합에 기초하여 상기 후보 집합의 원소들을 포함하는 상기 패리티 노드를 생성하는 것을 특징으로 하는 극 부호 설계 방법.
  7. 부호 길이, 메시지 길이 및 채널 정보를 수신하는 단계;
    상기 수신된 부호 길이, 메시지 길이 및 채널 정보에 기초하여 극 부호의 정보 집합(information set)과 패리티 집합(parity set)을 생성하는 단계; 및
    상기 생성된 정보 집합 및 패리티 집합에 기초하여 패리티 노드를 포함하는 패리티 검사 부호(parity check code)와 연접한 극 부호를 설계하는 단계
    를 포함하며,
    상기 패리티 노드는
    패리티 비트를 생성하기 위해 더해야 하는 상기 정보 집합의 원소들인 정보 비트의 집합인 것을 특징으로 하는 극 부호 설계 방법.
  8. 제7항에 있어서,
    상기 패리티 집합을 생성하는 단계는
    상기 극 부호의 전체 인덱스들 중 이진 벡터로 변환하였을 때, 해밍 웨이트가 미리 설정된 값보다 작거나 같은 인덱스들을 상기 극 부호의 동결 집합으로 생성하는 단계;
    상기 동결 집합으로 선택된 인덱스들을 제외한 나머지 인덱스들 중에서 미리 설정된 방식에 의해 선택된 인덱스들을 상기 패리티 집합으로 생성하는 단계; 및
    상기 나머지 인덱스들 중 상기 패리티 집합으로 선택된 인덱스들을 제외한 인덱스들을 상기 정보 집합으로 생성하는 단계
    를 포함하는 것을 특징으로 하는 극 부호 설계 방법.
  9. 제8항에 있어서,
    상기 패리티 집합으로 생성하는 단계는
    상기 나머지 인덱스들에 대하여 분극화된 채널의 바타차리야(Bhattacharyya) 척도를 계산하고, 상기 계산된 바타차리야 척도를 정렬한 후 일정 개수의 상위 척도에 대한 인덱스들을 상기 패리티 집합으로 생성하는 것을 특징으로 하는 극 부호 설계 방법.
  10. 제7항에 있어서,
    상기 극 부호를 설계하는 단계는
    상기 생성된 정보 집합 및 패리티 집합에 기초하여 상기 정보 집합의 원소들을 포함하는 상기 패리티 노드를 생성하는 단계
    를 포함하고,
    상기 패리티 노드를 생성하는 단계는
    상기 패리티 집합의 인덱스 각각에 대하여, 상기 정보 집합의 인덱스들을 비교하여 상기 정보 집합의 인덱스들 중 상기 패리티 집합의 해당 인덱스보다 작은 인덱스들인 정보 인덱스들을 찾고, 상기 해당 인덱스에 대한 벡터와 상기 정보 인덱스들 각각에 대한 벡터의 합의 제1 웨이트 값과 상기 정보 인덱스들 각각에 대한 벡터의 제2 웨이트 값을 비교하여 상기 제1 웨이트 값이 상기 제2 웨이트 값보다 작은 정보 인덱스를 패리티 노드 각각에 포함되는 상기 정보 집합의 원소들로 결정함으로써, 상기 패리티 노드를 생성하는 것을 특징으로 하는 극 부호 설계 방법.
  11. 제7항에 있어서,
    상기 패리티 집합의 인덱스들 각각에 대응하는 벡터의 합인 웨이트 값과 상기 정보 집합의 인덱스들 각각에 대응하는 벡터의 합인 웨이트 값을 계산하고, 상기 패리티 집합의 인덱스들 각각에 대한 웨이트 값들 중 가장 높은 웨이트 값 이하의 웨이트 값을 가지는 상기 정보 집합의 인덱스들을 후보 집합으로 결정하는 단계
    를 더 포함하고,
    상기 극 부호를 설계하는 단계는
    상기 후보 집합 및 상기 패리티 집합에 기초하여 상기 후보 집합의 원소들을 포함하는 상기 패리티 노드를 생성함으로써, 상기 패리티 검사 부호와 연접한 극 부호를 설계하는 것을 특징으로 하는 극 부호 설계 방법.
  12. 부호 길이, 메시지 길이 및 채널 정보를 수신하는 수신부;
    상기 수신된 부호 길이, 메시지 길이 및 채널 정보에 기초하여 극 부호의 정보 집합(information set)과 패리티 집합(parity set)을 생성하는 집합 생성부; 및
    상기 생성된 정보 집합 및 패리티 집합에 기초하여 상기 정보 집합의 원소들을 포함하는 패리티 노드를 생성하는 패리티 노드 생성부
    를 포함하며,
    상기 패리티 노드는
    패리티 비트를 생성하기 위해 더해야 하는 상기 정보 집합의 원소들인 정보 비트의 집합인 것을 특징으로 하는 극 부호 설계 장치.
  13. 제12항에 있어서,
    상기 집합 생성부는
    상기 극 부호의 전체 인덱스들 중 이진 벡터로 변환하였을 때, 해밍 웨이트가 미리 설정된 값보다 작거나 같은 인덱스들을 상기 극 부호의 동결 집합으로 생성하고, 상기 동결 집합으로 선택된 인덱스들을 제외한 나머지 인덱스들 중에서 미리 설정된 방식에 의해 선택된 인덱스들을 상기 패리티 집합으로 생성하며, 상기 나머지 인덱스들 중 상기 패리티 집합으로 선택된 인덱스들을 제외한 인덱스들을 상기 정보 집합으로 생성하는 것을 특징으로 하는 극 부호 설계 장치.
  14. 제13항에 있어서,
    상기 집합 생성부는
    상기 나머지 인덱스들에 대하여 분극화된 채널의 바타차리야(Bhattacharyya) 척도를 계산하고, 상기 계산된 바타차리야 척도를 정렬한 후 일정 개수의 상위 척도에 대한 인덱스들을 상기 패리티 집합으로 생성하는 것을 특징으로 하는 극 부호 설계 장치.
  15. 제12항에 있어서,
    상기 패리티 노드 생성부는
    상기 패리티 집합의 인덱스 각각에 대하여, 상기 정보 집합의 인덱스들을 비교하여 상기 정보 집합의 인덱스들 중 상기 패리티 집합의 해당 인덱스보다 작은 인덱스들인 정보 인덱스들을 찾고, 상기 해당 인덱스에 대한 벡터와 상기 정보 인덱스들 각각에 대한 벡터의 합의 제1 웨이트 값과 상기 정보 인덱스들 각각에 대한 벡터의 제2 웨이트 값을 비교하여 상기 제1 웨이트 값이 상기 제2 웨이트 값보다 작은 정보 인덱스를 상기 패리티 노드 각각에 포함되는 상기 정보 집합의 원소들로 결정함으로써, 상기 패리티 노드를 생성하는 것을 특징으로 하는 극 부호 설계 장치.
  16. 제15항에 있어서,
    상기 패리티 노드 생성부는
    상기 해당 인덱스에 대한 벡터와 상기 정보 인덱스들 각각에 대한 벡터의 논리 곱에 대한 웨이트 값이 상기 정보 인덱스들 각각에 대한 벡터의 웨이트 값보다 작을 때의 정보 인덱스를 해당 패리티 노드에 포함되는 상기 정보 집합의 원소로 결정함으로써, 상기 패리티 노드를 생성하는 것을 특징으로 하는 극 부호 설계 장치.
  17. 제12항에 있어서,
    상기 패리티 집합의 인덱스들 각각에 대응하는 벡터의 합인 웨이트 값과 상기 정보 집합의 인덱스들 각각에 대응하는 벡터의 합인 웨이트 값을 계산하고, 상기 패리티 집합의 인덱스들 각각에 대한 웨이트 값들 중 가장 높은 웨이트 값 이하의 웨이트 값을 가지는 상기 정보 집합의 인덱스들을 후보 집합으로 결정하는 결정부
    를 더 포함하고,
    상기 패리티 노드 생성부는
    상기 후보 집합 및 상기 패리티 집합에 기초하여 상기 후보 집합의 원소들을 포함하는 상기 패리티 노드를 생성하는 것을 특징으로 하는 극 부호 설계 장치.
KR1020190078570A 2019-07-01 2019-07-01 패리티 검사 연접 극 부호의 설계 방법 및 그 장치 KR102213345B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190078570A KR102213345B1 (ko) 2019-07-01 2019-07-01 패리티 검사 연접 극 부호의 설계 방법 및 그 장치
US16/917,165 US11283470B2 (en) 2019-07-01 2020-06-30 Method for constructing parity-check concatenated polar codes and apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190078570A KR102213345B1 (ko) 2019-07-01 2019-07-01 패리티 검사 연접 극 부호의 설계 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20210002817A KR20210002817A (ko) 2021-01-11
KR102213345B1 true KR102213345B1 (ko) 2021-02-08

Family

ID=74065864

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190078570A KR102213345B1 (ko) 2019-07-01 2019-07-01 패리티 검사 연접 극 부호의 설계 방법 및 그 장치

Country Status (2)

Country Link
US (1) US11283470B2 (ko)
KR (1) KR102213345B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102213345B1 (ko) * 2019-07-01 2021-02-08 한국과학기술원 패리티 검사 연접 극 부호의 설계 방법 및 그 장치
KR20220157146A (ko) * 2021-05-20 2022-11-29 삼성전자주식회사 극 부호의 부호화 및 복호화를 위한 방법 및 장치
WO2023090473A1 (ko) * 2021-11-17 2023-05-25 엘지전자 주식회사 대수적 부호 기반 연접 극 부호를 이용한 신호 송수신 방법 및 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101817168B1 (ko) 2016-11-16 2018-01-10 연세대학교 산학협력단 극 부호의 근사화된 신뢰전파 복호화 방법 및 장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160144263A (ko) * 2015-06-08 2016-12-16 한국전기연구원 연접 부호 장치 및 방법
CN108809482B (zh) * 2017-04-28 2023-09-01 华为技术有限公司 Polar码的速率匹配方法及装置
KR102213345B1 (ko) * 2019-07-01 2021-02-08 한국과학기술원 패리티 검사 연접 극 부호의 설계 방법 및 그 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101817168B1 (ko) 2016-11-16 2018-01-10 연세대학교 산학협력단 극 부호의 근사화된 신뢰전파 복호화 방법 및 장치

Also Published As

Publication number Publication date
US11283470B2 (en) 2022-03-22
US20210006267A1 (en) 2021-01-07
KR20210002817A (ko) 2021-01-11

Similar Documents

Publication Publication Date Title
KR102223968B1 (ko) 극 부호의 병렬화된 연속 제거 디코딩 및 연속 제거 리스트 디코딩을 위한 장치 및 방법
KR102213345B1 (ko) 패리티 검사 연접 극 부호의 설계 방법 및 그 장치
US10411735B1 (en) Systems and methods for an iterative decoding scheme
CN107370560B (zh) 一种极化码的编码和速率匹配方法、装置及设备
JP5705106B2 (ja) ユークリッド空間リード−マラー符号の軟判定復号を実行する方法
US10790857B1 (en) Systems and methods for using decoders of different complexity in a hybrid decoder architecture
JP2002353946A (ja) 有限サイズのデータブロックに対して誤り訂正符号を評価する方法
Kuijper et al. Erasure codes with simplex locality
CN110661535B (zh) 一种提高Turbo译码性能的方法、装置及计算机设备
US20240048157A1 (en) Encoding method, decoding method, electronic device and storage medium
US11463113B2 (en) Apparatus and method for multi-code distributed storage
US11894863B2 (en) Method and apparatus for generating a decoding position control signal for decoding using polar codes
US8892985B2 (en) Decoding and optimized implementation of SECDED codes over GF(q)
KR101537445B1 (ko) 거짓 양성 성능을 개선할 수 있는 블룸 필터 처리 장치 및 블룸 필터 처리 방법
WO2018219031A1 (zh) 一种Polar码处理方法、译码器和终端
KR101976315B1 (ko) 이산대칭채널에서의 극 부호 설계 방법 및 그 장치
JP2010535459A (ja) 線形計画法復号のための座標上昇法
KR20230102654A (ko) 양자 부호화 회로를 이용한 오류 정정 부호의 디코딩 방법 및 장치
US20240097706A1 (en) Decoding method and decoding device
CN107124186B (zh) 基于网格复杂度的ldpc码两阶段译码方法
CN118210446A (zh) 数据存储***、电子设备及存储介质
Zhang et al. Distributed Fog Computing Based on Improved LT codes for Deep Learning in Web of Things
CN117200807A (zh) 一种数据处理方法、装置、电子设备及存储介质
CN118210445A (zh) 数据存储方法、数据读取方法及相应装置、设备、介质
JP4862658B2 (ja) 復号方法および復号装置、並びにプログラム

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant