KR20220157146A - 극 부호의 부호화 및 복호화를 위한 방법 및 장치 - Google Patents
극 부호의 부호화 및 복호화를 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR20220157146A KR20220157146A KR1020210064862A KR20210064862A KR20220157146A KR 20220157146 A KR20220157146 A KR 20220157146A KR 1020210064862 A KR1020210064862 A KR 1020210064862A KR 20210064862 A KR20210064862 A KR 20210064862A KR 20220157146 A KR20220157146 A KR 20220157146A
- Authority
- KR
- South Korea
- Prior art keywords
- bits
- bit
- parity
- weak
- polar code
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 108
- 241000169170 Boreogadus saida Species 0.000 claims description 40
- 230000008569 process Effects 0.000 description 49
- 230000006870 function Effects 0.000 description 48
- 230000010287 polarization Effects 0.000 description 48
- 239000011159 matrix material Substances 0.000 description 39
- 238000010586 diagram Methods 0.000 description 26
- 230000015654 memory Effects 0.000 description 20
- 238000010187 selection method Methods 0.000 description 14
- 230000000694 effects Effects 0.000 description 13
- 238000013461 design Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 241000282472 Canis lupus familiaris Species 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 8
- 238000003860 storage Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000012937 correction Methods 0.000 description 6
- 238000004088 simulation Methods 0.000 description 6
- 238000000926 separation method Methods 0.000 description 5
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 4
- 229910052709 silver Inorganic materials 0.000 description 4
- 239000004332 silver Substances 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000013441 quality evaluation Methods 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 241000760358 Enodes Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/098—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit using single parity bit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1575—Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/25—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
- H03M13/253—Error 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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/2906—Coding, 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/618—Shortening and extension of codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/63—Joint error correction and other techniques
- H03M13/635—Error control coding in combination with rate matching
- H03M13/6362—Error control coding in combination with rate matching by puncturing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/1157—Low-density generator matrices [LDGM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
- H04L1/0063—Single parity check
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Error Detection And Correction (AREA)
Abstract
본 개시는 극 부호의 부호화 및 복호화를 위한 방법 및 장치에 관한 것이다. 본 개시의 일 실시예에 따르면, 부호화 장치는 극 부호를 구성하는 비트들의 인덱스 집합에 기초하여 각 비트의 상태를 지시하는 상태 지시 정보를 획득하고, 상태 지시 정보에 따라 결정된 취약 비트의 수 및 패리티 비트로 이용하고자 하는 비트 수에 기초하여, 극 부호의 pc-체인 내부 및 상기 극 부호의 pc-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 취약 비트 또는 차취약 비트를 패리티 비트로 식별하며, 극 부호의 pc-체인 내부 및 극 부호의 pc-체인 간의 연결 관계에 따라 식별된 패리티 비트의 수가 패리티 비트로 이용하고자 하는 비트 수에 대응됨에 따라, 취약 비트 또는 차취약 비트의 상기 패리티 비트로의 식별을 종료하고, 식별된 패리티 비트를 포함하는 극 부호를 획득할 수 있다.
Description
본 개시는 극 부호의 부호화를 위한 방법 및 그 장치에 관한 것이다. 또한, 본 개시는 극 부호의 복호화를 위한 방법 및 그 장치에 관한 것이다.
채널 코딩(channel coding)은 데이터의 전송 시 패리티(parity) 비트들을 활용하여 높은 신뢰도를 가지고 안전하게 메시지가 전송될 수 있도록 하는 기술이다. 데이터가 높은 신뢰도를 가지고 안전하게 전송되도록 하기 위해서는 오류정정부호의 활용이 필수적이다. Shannon은 신뢰성 있는 통신이 가능한 최대 정보 전송량을 '채널 용량(channel capacity)'으로 정의하였다. 이후 Shannon의 채널용량에 접근하기 위한 수많은 오류정정부호에 관한 연구들이 진행되었다. Hamming, BCH (Bose-Chaudhuri-Hocquenghem), RS (Reed-Solomon) 부호와 같은 고전 부호들을 시작으로 저밀도 패리티 검사 부호(low-density parity check: LDPC), 터보(turbo) 부호, 극부호(polar codes) 등 다양한 현대 부호들이 새롭게 제안되었으며, 특히 LDPC 부호는 대표적인 채널용량 접근(approaching) 부호로 알려져 있다.
그 중에서도 극부호는 2009년 Arikan에 의해 처음 제안된 오류정정부호로, 부호길이가 길어짐에 따라 채널용량을 달성(achieving)하는 것이 이론적으로 증명된 부호이다. 연속 제거(successive cancellation: SC) 복호 기반의 극부호 복호 성능은 LDPC 부호나 터보 부호에 비해 매우 저하되었으나, 이후 연속 제거 리스트(SC-List: SCL) 복호 기반의 개선된 복호 알고리듬을 통해 크게 복호 성능이 개선되었다. 특히, 5G 표준화 과정을 통해 순환중복검사(cyclic redundancy check: CRC) 부호와 패리티 검사(parity check: PC) 부호를 활용하여 복호의 중간 및 최종 단계에서 오류정정 및 검출 능력을 더욱 향상시켜 초광대역 통신(enhanced mobile broadband: eMBB) 제어용 채널을 위한 오류정정부호로 채택되었다.
극부호의 설계는 채널 양극화(channel polarization) 과정을 통해 얻어진 서로 다른 비트채널들 중 신뢰도가 높은 비트채널들을 선택하여 데이터를 전송하는 과정으로 정의될 수 있다. 이 때 실제 채널 환경에 따라 비트채널들의 퀄리티(quality) 및 신뢰도 우열 관계가 항상 달라질 수 있으므로, 극부호의 부호설계는 채널 의존적(channel-dependent)이다. 극부호의 부호설계를 위한 비트 채널 퀄리티 평가에는 밀도 진화(density evolution), 가우시안 근사(Gaussian approximation), 양극화 신뢰도(polarization weight)와 같은 다양한 방법들이 사용될 수 있다. 한편, RM (Reed-Muller) 부호는 극부호와 동일한 생성행렬을 사용하지만 다른 부호설계 철학을 가진다. RM 부호는 부호어의 최소 거리(minimum distance)를 최대화하는 정보집합을 결정하게 되는데, 특정 비트에 상응하는 생성행렬 내 행 무게(row weight)가 큰 것부터 정보집합에 포함시킨다. 따라서 RM 부호는 채널 비의존적(channel-independent)인 부호설계 특징을 갖는다. 즉, RM 부호는 채널 파라미터에 따라 최적화된 부호 시퀀스를 따로 정의하지 않는다.
하지만, 극부호의 SCL 복호 시 우수한 복호 성능(e.g., 블록 에러율)을 위해서는 정보집합의 최소거리(minimum distance)와 실제 비트채널들의 퀄리티를 모두 반영한 부호 설계 방법에 관한 연구가 필요하다.
본 개시는 비트들 간의 다양한 연결 관계를 고려해 효과적으로 패리티 비트들의 위치를 결정하여 복호 성능을 향상시키는 패리티 극부호의 부호화 및 복호화를 위한 기술을 제공하고자 한다.
본 개시의 일 실시예에 따른 극 부호의 부호화를 위한 방법은, 극 부호를 구성하는 비트들의 인덱스 집합에 기초하여 각 비트의 상태를 지시하는 상태 지시 정보를 획득하는 단계; 상태 지시 정보에 따라 결정된 취약 비트의 수 및 패리티 비트로 이용하고자 하는 비트 수에 기초하여, 극 부호의 PC-체인 내부 및 극 부호의 PC-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 취약 비트 또는 차취약 비트를 패리티 비트로 식별하는 단계; 극 부호의 PC-체인 내부 및 극 부호의 PC-체인 간의 연결 관계에 따라 식별된 패리티 비트의 수가 패리티 비트로 이용하고자 하는 비트 수에 대응됨에 따라, 취약 비트 또는 차취약 비트의 패리티 비트로의 식별을 종료하는 단계; 및 식별된 패리티 비트를 포함하는 극 부호를 획득하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따른 극 부호의 복호화를 위한 방법은, 극 부호에서 극 부호의 PC-체인 내부 및 극 부호의 PC-체인 간의 연결 관계에 따라 식별된 패리티 비트의 인덱스에 관한 정보 및 극 부호를 획득하는 단계; 및 패리티 비트의 인덱스에 관한 정보를 기초로 획득된 극 부호를 복호화하는 단계를 포함하고, 패리티 비트는, 상태 지시 정보에 따라 결정된 취약 비트의 수 및 패리티 비트로 이용하고자 하는 비트 수에 기초하여, 극 부호의 PC-체인 내부 및 극 부호의 PC-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 취약 비트 또는 차취약 비트를 포함하고, 상태 지시 정보는, 극 부호를 구성하는 비트들의 인덱스 집합에 기초하여 각 비트의 상태를 지시하는 정보일 수 있다.
본 개시의 일 실시예에 따른 극 부호의 부호화를 위한 장치는, 송수신부; 및 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는, 극 부호를 구성하는 비트들의 인덱스 집합에 기초하여 각 비트의 상태를 지시하는 상태 지시 정보를 획득하고, 상태 지시 정보에 따라 결정된 취약 비트의 수 및 패리티 비트로 이용하고자 하는 비트 수에 기초하여, 극 부호의 PC-체인 내부 및 극 부호의 PC-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 취약 비트 또는 차취약 비트를 패리티 비트로 식별하며, 극 부호의 PC-체인 내부 및 극 부호의 PC-체인 간의 연결 관계에 따라 식별된 패리티 비트의 수가 패리티 비트로 이용하고자 하는 비트 수에 대응됨에 따라, 취약 비트 또는 차취약 비트의 패리티 비트로의 식별을 종료하고, 식별된 패리티 비트를 포함하는 극 부호를 획득할 수 있다.
본 개시의 일 실시예에 따른 극 부호의 복호화를 위한 장치는, 송수신부; 및 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는, 극 부호에서 극 부호의 PC-체인 내부 및 극 부호의 PC-체인 간의 연결 관계에 따라 식별된 패리티 비트의 인덱스에 관한 정보 및 극 부호를 획득하고, 패리티 비트의 인덱스에 관한 정보를 기초로 획득된 극 부호를 복호화하며, 패리티 비트는, 상태 지시 정보에 따라 결정된 취약 비트의 수 및 패리티 비트로 이용하고자 하는 비트 수에 기초하여, 극 부호의 PC-체인 내부 및 극 부호의 PC-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 취약 비트 또는 차취약 비트를 포함하고, 상태 지시 정보는, 극 부호를 구성하는 비트들의 인덱스 집합에 기초하여 각 비트의 상태를 지시하는 정보일 수 있다.
본 개시에 따른 극 부호의 부호화 및 복호화를 위한 방법 및 장치는 극부호의 복호 시 적절하게 배치된 패리티 비트들이 연속 제거 리스트 복호 과정에서 올바른 복호 경로를 선택할 수 있도록 도와주는 역할을 수행한다.
도 1은 극부호를 위한 채널 합성 및 채널 분리 과정을 설명하기 위한 도면이다.
도 2는 PC 극 부호를 위한 송신기 구조를 나타낸 도면이다.
도 3은 PC 극 부호를 위한 비트 분류 과정을 설명하기 위한 도면이다.
도 4는 PC 프리코딩 과정을 설명하기 위한 도면이다.
도 5는 극 부호에서 PC 체인 별 연결 관계를 설명하기 위한 도면이다.
도 6은 기존의 PC 극 부호의 패리티 집합 결정 방법을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시예에 따라 패리티 비트를 포함하는 극 부호를 획득하는 방법을 설명하기 위한 흐름도이다.
도 8은 본 개시의 일 실시예에서 PC-체인 내/외의 구조를 고려하여 설정된 패리티 비트 선택 우선 순위를 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시예에 따른 패리티 비트 선택 과정을 설명하기 위한 도면이다.
도 10은 본 개시의 다른 실시예에 따른 패리티 비트 선택 과정을 설명하기 위한 도면이다.
도 11은 본 개시의 다른 실시예에 따른 패리티 비트 선택 과정을 설명하기 위한 도면이다.
도 12a는 본 개시의 일 실시예에 따른 식별된 패리티 비트들을 포함한 극 부호의 부호화 파라미터 별 BLER을 설명하기 위한 그래프이다.
도 12b는 본 개시의 일 실시예에 따른 식별된 패리티 비트들을 포함한 극 부호의 부호화 파라미터 별 BLER을 설명하기 위한 그래프이다.
도 12c는 본 개시의 일 실시예에 따라 식별된 패리티 비트들을 포함한 극 부호의 패리티 비트의 개수에 따른 요구 SNR[dB]을 설명하기 위한 그래프이다.
도 13은 일 실시예에 따른 극 부호의 부호화 및 복호화 방법을 수행하는 UE와 기지국의 동작을 설명하기 위한 흐름도이다.
도 14는 일 실시예에 따른 부호화 장치의 블록도이다.
도 15는 일 실시예에 따른 복호화 장치의 블록도이다.
도 2는 PC 극 부호를 위한 송신기 구조를 나타낸 도면이다.
도 3은 PC 극 부호를 위한 비트 분류 과정을 설명하기 위한 도면이다.
도 4는 PC 프리코딩 과정을 설명하기 위한 도면이다.
도 5는 극 부호에서 PC 체인 별 연결 관계를 설명하기 위한 도면이다.
도 6은 기존의 PC 극 부호의 패리티 집합 결정 방법을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시예에 따라 패리티 비트를 포함하는 극 부호를 획득하는 방법을 설명하기 위한 흐름도이다.
도 8은 본 개시의 일 실시예에서 PC-체인 내/외의 구조를 고려하여 설정된 패리티 비트 선택 우선 순위를 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시예에 따른 패리티 비트 선택 과정을 설명하기 위한 도면이다.
도 10은 본 개시의 다른 실시예에 따른 패리티 비트 선택 과정을 설명하기 위한 도면이다.
도 11은 본 개시의 다른 실시예에 따른 패리티 비트 선택 과정을 설명하기 위한 도면이다.
도 12a는 본 개시의 일 실시예에 따른 식별된 패리티 비트들을 포함한 극 부호의 부호화 파라미터 별 BLER을 설명하기 위한 그래프이다.
도 12b는 본 개시의 일 실시예에 따른 식별된 패리티 비트들을 포함한 극 부호의 부호화 파라미터 별 BLER을 설명하기 위한 그래프이다.
도 12c는 본 개시의 일 실시예에 따라 식별된 패리티 비트들을 포함한 극 부호의 패리티 비트의 개수에 따른 요구 SNR[dB]을 설명하기 위한 그래프이다.
도 13은 일 실시예에 따른 극 부호의 부호화 및 복호화 방법을 수행하는 UE와 기지국의 동작을 설명하기 위한 흐름도이다.
도 14는 일 실시예에 따른 부호화 장치의 블록도이다.
도 15는 일 실시예에 따른 복호화 장치의 블록도이다.
이하, 본 개시의 실시예들을 첨부된 도면을 참조하여 상세히 설명한다.
본 개시를 설명함에 있어서 본 개시가 속하는 기술 분야에 익히 알려져 있고 본 개시와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 개시의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
마찬가지 이유로 첨부된 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성 요소에는 동일한 참조 번호를 부여하였다.
본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시의 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. 또한 본 개시를 설명함에 있어서 관련된 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하, 기지국(base station: BS)은 단말의 자원 할당을 수행하는 주체로서, gNode B, eNode B, Node B, (또는 xNode B (여기서 x는 g, e를 포함하는 알파벳)), 무선 접속 유닛, 기지국 제어기, 위성 (satellite), 비행체 (airborn), 또는 네트워크 상의 노드 중 적어도 하나일 수 있다. 단말(user equipment: UE)은 MS (Mobile Station), 차량 (Vehicular), 위성 (satellite), 비행체 (airborn), 셀룰러폰, 스마트폰, 컴퓨터, 또는 통신기능을 수행할 수 있는 멀티미디어 시스템을 포함할 수 있다. 본 개시에서 하향링크(Downlink, DL)는 기지국이 단말에게 전송하는 신호의 무선 전송경로이고, 상향링크(Uplink, UL)는 단말이 기국에게 전송하는 신호의 무선 전송경로를 의미한다. 추가적으로 단말이 또 다른 단말에게 전송하는 신호의 무선 전송 경로를 의미하는 사이드링크(sidelink, SL)가 존재할 수 있다.
또한, 이하에서 LTE, LTE-A 또는 5G 시스템을 일 예로서 설명할 수도 있지만, 유사한 기술적 배경 또는 채널형태를 갖는 여타의 통신시스템에도 본 개시의 실시예가 적용될 수 있다. 예를 들어 5G 이동통신 기술(혹은 new radio, NR) 이후에 개발되는 5G-Advance 또는 NR-Advance 또는 6세대 이동통신 기술(6G)이 이에 포함될 수 있으며, 이하의 5G는 기존의 LTE, LTE-A 및 유사한 다른 서비스를 포함하는 개념일 수도 있다. 또한, 본 개시는 숙련된 기술적 지식을 가진 자의 판단으로써 본 개시의 범위를 크게 벗어나지 아니하는 범위에서 일부 변형을 통해 다른 통신시스템에도 적용될 수 있다.
이때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예를 들면, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이때, 본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다. 또한 실시예에서 '~부'는 하나 이상의 프로세서를 포함할 수 있다.
도 1은 극부호를 위한 채널 합성 및 채널 분리 과정을 설명하기 위한 도면이다.
극 부호(polar codes)는 채널용량을 이론적으로 달성할 수 있는 오류정정부호로, 채널 합성(combining) 및 분리(splitting)로 구성되는 '채널 양극화(channel polarization)' 현상을 이용해 부호가 설계될 수 있다. 비트들 (: 번째 소스비트)과 생성행렬 크로네커 곱(Kronecker product))과의 곱을 통해 비트들 (: 번째 코드워드 비트)이 생성될 수 있다. 또한, 각각의 코드워드 비트들은 i.i.d (independently and identically distributed)인 채널 를 경험해 비트들 (: 번째 수신신호 비트)로 생성될 수 있다. 이 때 도메인(domain)의 비트들과 도메인의 비트들을 연결 짓는 하나의 커다란 합성채널 이 획득될 수 있으며, 이러한 과정을 채널 합성이라 한다.
채널 분리는 합성채널 로부터 각각의 비트들이 겪게 되는 비트 채널(bit channel)인 들을 얻는 과정을 일컫는다. u 비트들이 겪게 되는 비트 채널은 가상의 비트 채널이다. 채널 분리 과정에서 각각의 소스() 비트들이 순차적으로 1비트씩 복호화될 수 있다. 이 때, 각 비트들이 겪게 되는 비트채널들의 퀄리티를 평가하기 위해 이전까지 복호화된 결과물()들이 올바르게 복호화 된 것으로 가정하면, 번째 소스비트를 입력으로 하고, 및 을 출력으로 하는 비트채널을 얻을 수 있다. 예를 들어 에 대해 입력이 이고 출력이 인 비트채널 을 얻을 수 있다.
전술한 채널 합성과 채널 분리로 구성된 채널 양극화를 통해 i.i.d인 동일한 퀄리티를 가지는 개의 채널 로부터 서로 다른 퀄리티를 가지는 개의 비트 채널인 이 획득될 수 있다. 이 때 개의 비트 채널들에 대한 퀄리티를 평가하기 위해 밀도 진화, 가우시안 근사, 양극화 신뢰도와 같은 방법들이 고려될 수 있다. 본 개시에서는 다양한 퀄리티 평가 방법들 중 양극화 신뢰도 기반의 비트채널 퀄리티 평가 방법을 이용하여, 극 부호의 설계를 위한 패리티 비트를 제공할 수 있다.
양극화 신뢰도(polarization weight) 방법은 각 비트 채널들의 퀄리티를 가중치 합(weighted sum) 기반으로 표현한 것으로, 부호길이 에 대해 인덱스(i.e., decimal 인덱스)가 인 비트채널 의 퀄리티는 아래의 수학식 1과 같이 나타낼 수 있다.
[수학식 1]
수학식 1에 있어서, 는 인덱스 의 이진표현일 수 있다. 인덱스 의 이진 표현이 인 경우, 는 내 비트값을 의미한다. 가 LSB (least significant bit)이고, 이 MSB (most significant bit)이다. 예를 들어 인 경우 모든 8개 비트채널들의 퀄리티는 이고, 퀄리티 값이 클수록 신뢰도가 높다고 판단될 수 있다. 양극화 신뢰도 평가 방법은 비트채널들의 퀄리티가 채널 유형 및 부호 파라미터(e.g. )에 관계없이 단순 가중치 합으로 계산될 수 있다. 양극화 신뢰도 평가 방법은 채널 부호 파라미터에 따라 개별적으로 부호설계를 수행하는 밀도 진화나 가우시안 근사 방법과는 다르게, 단일 시퀀스(single sequence)로 여러 부호율을 지원(rate-compatible)할 수 있다.
하지만, 기존 극부호의 부호설계 시 양극화 커널 행렬(polarization kernel matrix)을 고려하기 때문에 부호길이가 로 제한된다. 극부호가 실제 어플리케이션에서 적용되기 위해선 임의 길이(arbitrary code-length)를 지원해야 하므로, 천공(puncturing)/단축(shortening)/반복(repetition)과 같은 다양한 부호율-매칭(rate-matching) 방식이 적용될 수 있다.
천공(puncturing)은 도메인에서 개의 비트를 제거하여 코드워드 비트가 이 되도록 하는 방법으로, 천공된 개의 비트들은 전송되지 않는다. 복호화기는 천공되는 비트들에 대한 어떠한 정보도 가지고 있지 않으므로 해당 비트들에 상응하는 로그-우도 비(log-likelihood ratio: LLR)를 0으로 설정한다. 단축(shortening)은 도메인에서 단축하고자 하는 개의 비트들을 선택하고, 이 비트들의 값을 0으로 고정한다. 천공과는 달리 수신기에서도 선택된 비트들의 값이 0으로 결정되었다는 정보를 알고 있다. 따라서 이 비트들의 LLR 값은 복호 전에 매우 큰 값 (예를 들어, 하드웨어에서 설정할 수 있는 최대값)으로 초기 설정될 수 있다.
본 개시에 대응되는 대표적인 종래 기술로는 패리티 검사(parity check: PC)를 활용한 극 부호를 위한 부호 설계 방법이 있다. PC 극 부호에서는 극부호의 SC 복호 상에서 오류에 취약할 수 있는 소스()비트들이 단일 패리티 검사(single-parity-check) 프리코딩을 통해 보호(protect)될 수 있다. 또한 부호 관점에서는 최소 무게(minimum weight)를 가지는 비트들을 패리티 비트로 이용함으로써 부호의 최소 거리 특성을 개선(최소 거리를 높이거나, 최소 무게를 가지는 부호어들의 수를 줄임)해주고, SCL 복호 성능을 더욱 개선하는 효과를 가진다. PC 극부호는 CRC만을 단독으로 사용하는 극부호에 비해 전반적인 부호 파라미터(e.g. 다양한 ) 값에 대해서 우수한 오율 성능을 가질 수 있다.
한편, 본 개시에서 PC 극 부호는 패리티 비트를 포함한 극 부호로 설명될 수도 있다.
도 2는 PC 극 부호를 위한 송신기 구조를 나타낸 도면이다.
도 2를 참조하면, PC 극 부호를 위한 송신기에서는 CRC 부호가 연접되지 않는 일반적인 극부호의 송신 구조와는 다르게, 극부호화 이전에 비트 분류(bit-classification)과 PC 프리코딩(pc pre-coding)의 두 단계 과정이 추가적으로 수행될 수 있다. 도 2에서의 극 부호화 및 채널은 도 1을 참조하여 전술한 바와 대응될 수 있다.
PC 극부호를 위한 극부호의 설계 목표는 부호의 최소 거리 및 정보집합 내 비트들의 총 신뢰도를 높게 유지하고, SCL 복호 시 우수한 오율 성능을 가지도록 하는 것이다. 비트 분류 단계에서는 정보비트/패리티/부호율 매칭을 위한 단축 비트로 활용할 인덱스 집합 가 결정될 수 있으며, 입력은 이고 출력은 이다. 여기서 는 정보비트들의 인덱스 집합, 는 프리코딩을 위한 패리티 비트들의 인덱스 집합, 를 부호율 매칭을 위하여 단축되는 비트들의 인덱스 집합이다. 이하에서는, 도 3을 참조하여 극 부호화 이전에 수행되는 비트 분류에 대해 보다 구체적으로 설명하고, 도 4를 참조하여 PC 프리코딩에 대해 보다 구체적으로 설명하도록 한다.
도 3은 PC 극 부호를 위한 비트 분류 과정을 설명하기 위한 도면이다.
도 3을 참조하면, 먼저 길이가 인 극부호의 모부호에서 메시지의 길이가 인 경우, 최종적으로 개의 정보비트 채널을 고르기 위하여, 먼저 양극화 신뢰도 관점에서 가장 우수한 ()개의 비트채널들 중 복호 성능에 크리티컬(critical)한 영향을 줄 수 있는 개의 비트들이 패리티로 활용되고 나머지 개 비트채널에 메시지 비트가 할당될 수 있다. 채널 양극화 관점에서 가장 우수한 ()개 비트들의 인덱스 집합은 라 정의될 수 있다.
패리티 비트는 본래 비트들이 속해 있던 위치에 따라 서로 다른 인덱스 집합 , 의 합집합으로 정의될 수 있다 (). 구체적으로 집합 로부터 선택된 개 패리티 비트들의 인덱스 집합은 , 나머지 집합 내 모든 비트들의 인덱스 집합은 로 정의될 수 있다. 의 값은 아래 수학식2에 의해 결정될 수 있으나, 이는 일 실시예일 뿐, 의 값을 결정하는 방법이 이에 한정되는 것은 아니다. 수학식 2에서, 는 리스트의 크기()가 8인 SCL 복호의 경우 1의 값으로 설정될 수 있다.
[수학식 2]
도 3을 참조하면, 양극화 신뢰도를 기반으로 제일 오른쪽에 가장 신뢰도가 높은 비트채널의 인덱스가 위치함을 확인할 수 있다. 가장 오른쪽부터 개 비트채널들의 인덱스들이 집합 를 이룬다. 양극화 신뢰도 상위 개의 비트채널들을 포함하는 그룹(group 2)은 양극화 신뢰도는 높지만 대응되는 생성행렬 내 행 무게(row weight)가 낮은 비트들을 포함할 수 있다. 반면에, )부터 번째 비트채널들을 포함하는 그룹(group1)은 양극화 신뢰도가 낮지만 행 무게(row weight)가 높은 비트들을 포함할 수 있다.
예를 들어, 도 3의 =32인 부호 시퀀스에서, group 2에 포함된 인덱스가 '24'인 비트는 양극화 신뢰도는 높지만 행 무게가 4인 반면에 group 1에 포함된 인덱스가 '7'인 비트는 양극화 신뢰도는 낮지만 행 무게가 8로 더 클 수 있다. 하지만 최소 무게(minimum weight)을 갖는 비트들이 실제 복호 성능에 중요한 영향을 줄 수 있으므로, group 1과 group 2의 합집합인 에서 최소거리 관점에서 취약한 비트들(e.g., 인덱스가 '24'인 비트)이 패리티로 활용될 수 있다.
본 개시에서는 집합 에서 최소 무게를 가지는 비트들을 취약 비트(weak-bit)로 설명하도록 하고, 차-최소 무게를 가지는 비트들은 차-취약 비트(second weak-bit)로 설명하도록 한다. 본 개시의 일 실시예에 따르면, 취약 비트들 중 일부 혹은 전부가 패리티 비트로 선택될 수 있고, 차-취약 비트들 중 일부도 패리티 비트로 선택될 수 있다.
최소 무게를 가지는 취약 비트들(weak-bit)과 차-최소 무게(second minimum weight)를 가지는 차-취약 비트들(second weak-bit)의 인덱스 집합은 [수학식 3]과 같이 정의될 수 있다.
[수학식 3]
수학식 3에서, 는 양극화 신뢰도(e.g., polarization weight) 상위 ()개 비트들의 인덱스 집합, 는 번째 비트채널에 상응하는 생성행렬 내의 행 무게, 은 양극화 신뢰도 상위개 각 비트채널들에 상응하는 행 무게 중 최소값을 의미한다.
본 개시의 일 실시예에 따르면, 실제 선택해야 하는 패리티(i.e., 패리티 그룹 2)들의 수()보다 집합 내 취약 비트들의 수()가 더 많다면, 개 중 개의 취약 비트들이 패리티로 선택될 수 있다. 기존에는 취약 비트들 중 개의 패리티 비트들을 선택하는 기준으로 양극화 신뢰도(polarization weight)가 이용되었으며, 양극화 신뢰도 값이 가장 큰 개가 선택될 수 있다. 또한, 실제 선택해야 하는 패리티들의 수()가 취약 비트들의 수() 보다 많은 경우(i.e., ) 취약 비트들은 모두 패리티로 선택되고, 차-취약 비트(second weak-bit)들 중에서 패리티를 추가 선택될 수 있다. 이 때, 기존에는 차-취약 비트들 내에서의 패리티 비트 선택 기준으로 양극화 신뢰도 내림차순이 이용되었다.
양극화 신뢰도를 기준으로 한 패리티 선택 과정을 통해 패리티 인덱스 집합 가 결정될 수 있으며, 비트 분류(bit classification)를 통해 결정된 )는 도 4와 같이 표현될 수 있다.
도 4는 PC 프리코딩 과정을 설명하기 위한 도면이다.
PC 프리코딩은 도메인(domain)에 정의된 비트 그룹 내에서 수행될 수 있다. 먼저 정보 비트들과 패리티 비트들로 이루어진 도메인의 비트들이 개 집합으로 분류될 수 있다. 분류된 각 그룹 내에서 단일 패리티 부호(single parity-check code)를 이용한 프리코딩이 수행될 수 있다. 정보 비트는 부호화(encoding) 입력인 메시지 비트로 채워지고, 패리티 비트는 비트 그룹 내에서 앞선(preceding) 모든 정보 비트들의 이진 합(binary-sum)으로 결정될 수 있다.
기존에는 프리코딩을 위한 방법으로 하드웨어 구현(hardware implementation)에 용이한 순환 쉬프트 레지스터(cyclic shift register: CSR)가 이용된다. 길이가 인 CSR의 경우 도메인의 비트들이 총 개의 비트 그룹으로 나눠지며, 로 나눈 나머지가 같은 비트들끼리 그룹핑(grouping)될 수 있다. 그룹핑 결과 획득된 각 비트 그룹은 원소들이 부호화 과정에서 순차적으로 이용되므로 pc-체인(chain)이라 불린다. 예를 들어, 이 5인 경우 5로 나눈 나머지가 같은 인덱스를 가지는 비트들끼리 연결관계를 가질 수 있다.
도 5는 극 부호에서 PC 체인 별 연결 관계를 설명하기 위한 도면이다.
도 5를 참조하면 (32,18) 극부호에 대해 길이가 5인 CSR의 사용 시 각 PC-chain별 연결관계를 확인할 수 있다. PC-chain 0의 경우 인덱스가 인 비트들끼리 묶이게 되며, pc-chain 0 내에서 패리티 비트들의 인덱스 집합은 , 정보비트들의 인덱스 집합은 이다. 인덱스가 10인 패리티 비트 은 이전까지의 정보비트들의 합, 즉 로 결정된다. 이 때 양극화 신뢰도(e.g., polarization weight) 관점에서 상대적으로 높은 5번 비트 값을 weak한 비트인 10번 패리티 비트 값에 넣어 줌으로써 취약비트를 보호(protect)하는 효과를 얻을 수 있다. =5는 실제 극부호의 SC 복호 시 발생하는 오류전파(error propagation)의 영향을 최대한 상쇄하기 위해 결정된 파라미터이지만, 이는 일 예일 뿐, 인 임의의 값을 가질 수 있다.
도 6은 기존의 PC 극 부호의 패리티 집합 결정 방법을 설명하기 위한 도면이다.
도 6을 참조하면, (128,70) 극부호에서의 패리티 비트들 중 집합 를 선택하는 방법을 확인할 수 있다. 집합 선택 전 PC-chain들의 표(610)에서 각 PC-chain에는 집합 내 비트들의 인덱스만이 표현되었으며, 인덱스가 표현되지 않은 모든 비트들은 집합 내 인덱스를 가지는 비트들이다. 또한, 집합 선택 전 PC-chain들의 표(610)에서 모든 개의 최소 무게를 가지는 취약 비트(weak-bit)들은 하이라이트 표시된 상태이다. 취약 비트들에 대한 프로필(620, e.g., 각 비트에 상응하는 양극화 신뢰도(polarization weight) 및 행 무게(row weight))을 포함할 수 있다. 도 6의 실시예에서는, 선택해야 하는 패리티 비트들의 개수()보다 취약 비트들의 수(i.e., 14개)가 더 많으므로, 양극화 신뢰도가 높은 상위 7개의 비트들이 패리티 비트로 선택될 수 있다. 즉, 집합 선택 후 PC-chain들의 표(620)에 표시된 바와 같이, 선택된 패리티 비트의 집합 는 이다. 반면, 집합 내 인덱스를 갖는 비트들을 제외한 나머지 비트들에서는 데이터가 전송될 수 있다 (집합 ).
도 6을 참조하여 전술한 바와 같이, 기존 PC 극부호는 취약 비트 혹은 차-취약 비트들 중에서 인덱스 집합 를 결정하는 경우, 양극화 신뢰도가 유일한 선택 기준으로 활용되었다. 하지만, 부호 파라미터가 달라짐에 따라 각 pc-chain 내 취약 비트 및 정보비트들의 구성이 달라지며, 이 경우 각 부호 파라미터의 weakness를 최대한 보완할 수 있는 패리티 비트 선택 방법이 필요하다.
또한, 기존 PC 극부호는 pc-chain 내 취약 비트(혹은 취약 비트들)를(을) 포함한 서브 블록의 길이, 취약 비트의 수가 고려되지 않는다. 더 나아가, 극부호는 순차 복호(sequential decoding)를 수행함에 따라 특정 비트에서의 오류가 이후 비트들의 오류를 야기하는 오류 전파의 영향으로부터 자유로울 수 없다. 따라서 PC-chain들 간의 독립성이 보장되지 못하며, 오류 전파를 고려한 패리티 비트 선택 방법이 필요하다.
도 7은 본 개시의 일 실시예에 따라 패리티 비트를 포함하는 극 부호를 획득하는 방법을 설명하기 위한 흐름도이다.
본 개시에서는, pc-chain과 pc-chain 내의 비트들 간 복합적인 연결관계를 고려하여 패리티 비트가 선택될 수 있다. 일 실시예에 따른 부호화 장치는 선택하고자 하는 패리티 비트 수를 이용해 오류에 취약한 취약 비트들의 위치를 선정하고, 해당 비트들을 집합 에 추가함으로써 국부적인 보호 레벨(local protection level)을 강화할 수 있다.
극부호의 SC/SCL 복호는 순차(sequential) 복호이므로 비트 인덱스 오름차순으로 1비트씩 차례대로 복호를 수행하게 된다. 이 때, 특정 비트에서의 오류가 이후 비트로의 연속적인 오류를 유발할 수 있으며, 이를 오류전파(error propagation)라 한다. 특히 대부분의 오류전파는 극부호의 설계 특성 상 간격(spacing)으로 발생할 수 있다.
기존의 PC 극 부호가 오류전파의 영향을 상쇄하기 위해 길이가 5(, 는 정수)인 CSR을 사용했지만, 여전히 인덱스가 맞닿은 비트가 모두 취약 비트 (혹은 차-취약 비트)인 경우 오류에 매우 취약할 수 있다. 즉, 임의의 을 사용하더라도 여전히 pc-chain 간 비트들끼리의 연관성이 남아 있게 됨에 따라 오류가 전파되는 문제가 발생할 수 있다.
또한, 특정 pc-chain 내 여러 개의 취약 비트들 (혹은 차-취약 비트들)이 존재하거나 길이가 긴 서브 블록에 취약 비트 (혹은 차-취약 비트)가 포함되는 경우, 복호 성능이 크게 저하된다. 본 개시에서는 pc-chain 내부의 비트들 간의 관계와 pc-chain 간 구조적 연결성을 고려한 패리티 비트 집합(i.e., 및 ) 결정 방법을 새롭게 제시하도록 한다.
이하에서는 본 개시의 일 실시예에 따라 pc-chain 내부의 비트들 간의 관계와 pc-chain 간 구조적 연결성을 고려한 패리티 비트 집합(i.e., 및 ) 결정 방법에 대해 보다 구체적으로 설명하도록 한다.
단계 710에서, 부호화 장치는 극 부호를 구성하는 비트들의 인덱스 집합에 기초하여 각 비트의 상태를 지시하는 상태 지시 정보를 획득할 수 있다.
일 실시예에 따른 상태 지시 정보는 상태 지시 행렬 를 포함할 수 있으며, 상태 지시 행렬은 부호화 과정 중 인덱스 행렬 내 각 비트채널들이 상태를 지시(indicate)할 수 있다. 상태 지시 행렬 에 대한 보다 구체적인 설명을 위해 아래와 같이 부호 길이 및 정보비트 수 인 극 부호를 예로 들어 상태 지시 행렬 를 획득하는데 필요한 파라미터들에 대해 정의하도록 한다.
부호 길이 및 정보비트 수 인 극 부호에 대해 각 비트 인덱스 )들의 집합이 하나의 순서로 정렬된(ordered) 인덱스 집합 (혹은 시퀀스, 행렬)이 로 정의될 수 있다. 또한 인덱스 집합 (혹은 시퀀스)의 서브 시퀀스 들이 정의될 수 있고, 서브 시퀀스들은 서로 배타적인 인덱스들을 가지며 이들의 합집합이 를 이룬다. 즉, 이고, 는 내 번째 서브 집합 (혹은 시퀀스, 행렬)로 를 만족한다.
PC 프리코딩 과정에서 만약 가 정보비트에 해당하는 인덱스라면, 다른 비트들과 독립(independent)적으로 메시지 비트 값이 결정될 수 있다. 가 패리티 비트에 해당하는 인덱스인 경우에는 아래의 수학식 4와 같이 패리티 부호화될 수 있다. 즉, 패리티 비트가 아닌 정보 비트 값의 이진 합으로 결정될 수 있다.
[수학식 4]
예를 들어 이고 서브 시퀀스들을 5로 나눈 나머지가 같은 비트들의 집합으로 결정하는 경우 로 표현될 수 있다. 본 개시의 일 실시예에서는 모듈로 (modulo) 연산이 서브그룹핑(sub-grouping) 과정 및 부호화 과정에 적용될 수 있다.
인덱스가 인 비트는 pc-chain 에 속하며 로 나눈 나머지가 같은 비트들끼리 동일한 pc-chain에서 연결관계를 가질 수 있다. 다시 말해, 각 비트들은 서브그룹핑되고, 프리코딩 과정은 각 PC-chain 내에서 배타적으로 이루어질 수 있다. 즉, PC-chain 는 , ( 2 이상의 정수, )와 같은 모듈로 연산을 통해 결정될 수 있다. 이 때, 번째 PC-chain 내 비트들의 (오름차순 혹은 ordered) 인덱스들로 구성된 인덱스 행렬을 라 정의하고, 모든 pc-chain들이 상하로 연접된 전체 개의 비트들의 인덱스 행렬 는 아래의 수학식 5와 같이 표현될 수 있다.
[수학식 5]
[수학식 6]
극부호의 부호 시퀀스(code sequence) 는 각 비트채널 )들의 신뢰도에 따라 내림차순 나열되는 순열이다. 각 비트채널의 신뢰도는 이론적으로 채널용량(channel capacity), 바타차라야(Bhattacharyya) 파라미터로 평가되는데, 이는 밀도 진화(density evolution), 가우시안 근사(Gaussian approximation), 양극화 신뢰도 (polarization weight)와 같은 다양한 방법을 통해 근사적으로 계산되거나 표현될 수 있다.
특정 방법에 의해 얻어진 극부호의 부호 시퀀스를 라 표기한다. 이 때 신뢰도 상위 )개의 비트들의 인덱스 집합 (혹은 시퀀스, 행렬) 는 이다. 또한, 집합 내 비트들에 상응하는 행 무게들의 최소값 은 와 같이 표현할 수 있으며, 는 극부호의 생성행렬 , 는 Kronecker product) 내 번째 비트채널 에 상응하는 행 무게(row weight)이다.
상태 지시 행렬 의 각 원소들은 0,1,2,3,5의 값을 가질 수 있고, 여기서 0은 최종적으로 패리티로 결정된 상태, 1은 정보비트로 결정된 상태를 의미하며, 2와 3은 설계 과정 중에 사용하는 임시 상태를 지시한다. 또한 5는 내 인덱스가 이상인 비트들에 대한 디폴트(default) 값을 지시한다. =16, =5인 인덱스 행렬 는 아래의 수학식 7과 같은 형태를 가질 수 있다.
[수학식 7]
이 때 각 비트들()은 정보()/패리티 그룹1()/패리티 그룹2() 비트 중 하나의 상태를 가지게 된다. 먼저, 신뢰도 상위 개의 비트들에 속하지 않는 나머지 )개의 비트들(집합: )은 모두 패리티 비트들로 사용되며, 상태를 '0'으로 표현한다. 집합 과 집합 에 포함되는 비트들은 각각 '2' (weak-bit; 취약 비트)와 '3' (second weak-bit; 차-취약 비트)로 표현한다. 또한, 집합 에 포함되는 비트들 중 와 내 비트 인덱스들을 제외한 나머지 비트들은 '1'로 표현하며 이 비트들은 패리티 비트로 선택하지 않는 (i.e., 무조건 정보비트로 선택되는) 유형이다. 이 때 '2' 혹은 '3'을 가지는 비트들 중 일부가 패리티 비트로 결정되어 결과적으로 그 값이 '0'으로 대체될 수 있다. 마지막으로, 위 생성행렬 예시에서 보이는 바와 같이 인덱스가 이상인 비트들은 실제 존재하지 않으므로, 16부터 19에 해당하는 비트들은 디폴트(default) 값인 '(e.g., 5)'로 표현한다. 위 상태를 기반으로 각 비트에 상응하는 상태 지시(state-indicator) 행렬 가 표현될 수 있다.
예컨대 인 경우 인덱스가 인 비트는 인덱스 행렬 내 ()번째 행 및 ()번째 열에 위치(ex. 인덱스가 13인 비트는 =4번째 행, =3번째 열에 속하며, )함에 따라, 는 아래의 알고리즘 1과 같이 표현될 수 있다.
본 개시에서는 알고리즘 1에 의해 인덱스 행렬 와 부호 파라미터 에 따라 결정되는 상태 지시 행렬 가 초기화될 수 있다. 예컨대 =16이고 인 경우 이고, 이다. 또한, 이를 기반으로 결정되는 는 아래의 수학식 8과 같다.
[수학식 8]
수학식 8에서, 0은 패리티, 1은 정보비트, 5는 디폴트(default) 값을 나타내고, 0, 1과 5를 제외한 나머지 값을 가진 비트들은 패리티 비트 선택 방법에 따라 정보 비트('1')가 될 수도, 패리티 비트('0')가 될 수도 있는 비트들이다.
또한, PC-chain )마다 연속된 넌-제로 엘리먼트(non-zero element)의 묶음이 '서브 블록(subblock)'이라 정의될 수 있다. 번째 PC-chain 내 번째 non-zero 서브 블록은 로, 총 서브 블록의 개수는 로 표현될 수 있다. 예를 들어, 인 경우 이며 이다.
단계 720에서, 부호화 장치는 상태 지시 정보에 따라 결정된 취약 비트의 수 및 패리티 비트로 이용하고자 하는 비트 수에 기초하여, 극 부호의 pc-체인 내부 및 극 부호의 pc-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 취약 비트 또는 차취약 비트를 패리티 비트로 식별할 수 있다.
부호화 장치는 극부호의 SC/SCL 복호 상에서 오류에 취약할 수 있는 비트들은 패리티 비트로 활용하여 단일 검사 패리티(single-parity-check) 프리코딩을 적용할 수 있다. 이 때 오류에 취약한 비트들(weak bit)은 부호의 최소거리 및 최소 무게(minimum weight)를 가지는 부호어들의 수에 큰 영향을 줄 수 있는 비트들로, 주로 최소 무게(i.e., )을 가진다.
일 실시예에 따른 부호화 장치는 패리티로 활용하고자 하는 비트 수()와, 집합 내 비트들 중 취약 비트 수의 대소관계에 따라 서로 다른 패리티 선택 방법을 적용할 수 있다. 예컨대 패리티로 활용하고자 하는 비트 수 보다 취약 비트들의 수가 많은 경우(i.e., ) 모든 취약 비트들 중 개를 선택하는 문제임에 반해, 보다 취약 비트들의 수가 적은 경우(i.e., ) 모든 취약 비트들을 선택하고 차-취약 비트들에서 추가적으로 패리티를 선택해야 하는 문제로 변형될 수 있다. 본 개시의 실시예에서는 각 경우 별로 적응적인 패리티 비트 선택 방법을 제시한다.
이하에서는 우선, 패리티로 활용하고자 하는 비트 수보다 취약 비트들의 수가 많은 경우 취약 비트들 중 개를 선택하는 4개의 스텝에 대해 구체적으로 설명하도록 한다. 후술할 4개의 스텝은 순차적으로 진행될 수 있으며, 진행 중 선택된 패리티 비트 수가 에 도달하는 경우, 패리티 비트를 선택하기 위한 스텝의 진행이 종료될 수 있다.
스텝 1. 보호되지 않는 취약 비트의 제거 (removal of unprotected weak-bits)
각 pc-chain 내 제일 뒤 서브 블록(e.g., 번째 pc-chain 내 가장 뒤에 위치한 연속된 non-zero element들의 묶음, ) 내 취약 비트들 중에서도 가장 인덱스가 큰 비트가 패리티 비트로 선택될 수 있다. 이를 수식적으로 표현하기 위해 pc-chain 내 취약 비트들의 집합이 개별 정의될 수 있으며, 번째 pc-chain에 속한 모든 weak-bit들의 인덱스 집합 은 아래의 수학식 9와 같이 표현될 수 있다.
[수학식 9]
만약 ) 내 가장 뒤 서브 블록인 이 '2'를 포함한다면 (i.e., 취약 비트가 존재한다면) 해당 서브 블록 내 가장 뒤쪽 비트에 상응하는 인덱스 행렬 내 비트가 패리티로 선택될 수 있다. (i.e., 번째 행 및 열에 상응하는 에 속한 인덱스가 패리티로 선택될 수 있다. 이러한 동작은 함수로 정의될 수 있으며, 함수는 아래의 알고리즘 2에 따라 패리티 비트를 선택할 수 있다.
알고리즘 2에서, 는 패리티 비트 (구체적으로는 패리티 그룹 2에 속한 비트)들의 인덱스 집합으로, 로 초기화된 상태에서 패리티 비트 선택 알고리듬에 의해 지속적으로 업데이트 될 수 있다.
스텝 2. 복수의 취약 비트 제거 (Multi weak-bit removal)
스텝 2는 스텝 1의 패리티 비트 선택 후에 수행되는 과정이며, 알고리즘 2에 의해 업데이트된 행렬 는 행벡터(row vector) 및 집합 를 이용할 수 있다. 만약 와 이 취약 비트인 정보비트이고, 은 패리티 비트로 선택되었다고 가정하는 경우 와 에서 모두 오류가 발생했을 때 는 정상적인 패리티 비트의 기능을 수행할 수 없다. 더 나아가 더 많은 수의 취약 비트들이(i.e. 이 취약 비트인 정보비트이고 이 패리티 비트) 패리티 비트로 선택되지 않은 경우, 짝수 개 비트 오류가 발생하여 정상적으로 패리티 비트의 기능을 수행하지 못할 확률이 높아지게 된다. 이에 본 개시에서는 다수의 취약 비트를 포함한 서브 블록 내 신뢰도가 낮은 비트를 패리티 비트로 선택할 수 있다.
또한 오류 전파(error propagation)의 영향을 고려해 패리티 비트가 선택될 수 있다. 극부호의 설계 특성 상 간격(spacing)으로 큰 비트 의존성(dependency)이 존재할 수 있다. 즉, 번째 비트에서의 오류가 번째 비트에서의 오류 발생 확률에 영향을 주게 된다 (error propagation). 이에 스텝 2에서는 PC-chain 내/외의 다양한 구조를 고려하여 패리티 비트 선택에 우선순위를 부여한다.
도 8은 본 개시의 일 실시예에서 PC-체인 내/외의 구조를 고려하여 설정된 패리티 비트 선택 우선 순위를 설명하기 위한 도면이다.
도 8은 유형별 패리티 비트 선택 우선순위를 나타낸 것으로, type A는 취약 비트의 수가 3개 이상이고 오류전파의 영향을 고려해 특정 비트와 맞닿은 (인덱스 혹은 ) 비트 역시 취약 비트인 경우를 의미한다. 또한, type B는 type A와는 다르게 서브 블록 내 양 끝 비트와 비트 인덱스 관점에서 맞닿은 비트가 취약 비트인 경우를 의미한다. 또한, type C는 오류전파의 영향과는 무관하게 복수의 취약 비트를 포함한 경우를 의미한다. Type A와 Type B의 경우, 복수의 취약 비트를 포함하는 서브 블록을 끊어주는 역할을 함과 동시에 오류전파 영향을 완화하기 위해 교차 지점(intersection)에 있는 비트를 패리티 후보로 선택하며, 선택된 패리티 후보는 도 8에 v 표시로 나타나 있다.
알고리듬 3A에 대한 의사 코드(pseudo code) 및 도 8에 도시된 type A를 참조하면. 취약 비트(weak-bit)들 중 특정 취약 비트 (인덱스: )의 좌우에 각각 적어도 한 개 이상의 취약 비트를 포함하고 (왼쪽 서브 블록 탐색: 알고리즘 3A 의사 코드 line 5-15, 오른쪽 서브 블록 탐색: 알고리즘 3A 의사 코드 line 16-25), 그 비트와 맞닿은 비트 (인덱스: 혹은 ) 중 적어도 한 개의 비트가 취약 비트인 경우 (알고리즘 3A 의사 코드 line 26-28), 해당 비트 인덱스들이 타입 A 유형의 패리티 후보로 추가될 수 있다. 이 때, 부호화 장치는 패리티 후보들 중 가장 신뢰도가 낮은 1비트를 에 추가한 후, 를 기반으로 를 업데이트(i.e., 패리티 비트로 선택된 비트에 상응하는 상태 지시 행렬 내 원소값을 0으로 설정) 할 수 있다. 이후 업데이트된 를 기반으로 함수를 통해 또 다른 type A 유형의 패리티 후보를 탐색하며, 더 이상 존재하지 않는 경우 단계로 넘어갈 수 있다.
만약 함수를 통해 업데이트된 가 에 도달한 경우, 이후 추가 선택을 수행하지 않고 패리티 선택 알고리즘이 종료될 수 있다. 업데이트된 가 에 도달하지 않은 경우, 부호화 장치는 알고리듬 3B의 함수를 통해 type-B 유형의 패리티 비트 후보군을 탐색할 수 있다.
알고리듬 3B에 대한 의사 코드(pseudo code) 및 도 8에 도시된 type B를 참조하면, 특정 비트의 왼/혹은 오른쪽 서브 블록 중 어느 한 개의 위치에 취약 비트(weak-bit)가 있고 (알고리즘 3B 의사 코드, line 5-15/16-25), 바로 다음 인덱스에 해당하는 비트 역시 취약 비트인 경우 (알고리즘 3B 의사 코드, line 26-28) 교차 위치에 있는 비트를 패리티 후보로 추가될 수 있다.
부호화 장치는, 선택해야 하는 총 패리티 비트 수에서 알고리듬 2 및 알고리듬 3A를 통해 선택된 비트들의 수를 뺀 값(i.e., )보다 알고리듬 3B로 얻어진 후보들의 수가 같거나 작다면, 알고리듬 3B로 선택된 모든 비트들을 패리티로 선택할 수 있다. 선택해야 하는 총 패리티 비트 수에서 알고리듬 2 및 알고리듬 3A를 통해 선택된 비트들의 수를 뺀 값(i.e., )보다 알고리듬 3B로 얻어진 후보들의 수가 더 크다면, 부호화 장치는 선택된 후보 비트들 중 양극화 신뢰도가 낮은 비트의 우선순위가 높은 것으로 판단할 수 있다.
만약 함수를 통해 업데이트된 가 에 도달한 경우, 이후 추가 선택을 수행하지 않고 패리티 선택 알고리즘이 종료될 수 있다. 업데이트된 가 에 도달하지 않은 경우, 부호화 장치는 알고리듬 3C의 함수를 통해 type-C 유형의 패리티 비트 후보군을 탐색할 수 있다.
부호화 장치는 알고리듬 3C의 함수를 통해 type-C 유형의 패리티 비트 후보군을 탐색할 수 있다. 알고리듬 3A 및 알고리듬 3B를 통해 오류전파 및 복수의 취약 비트의 영향을 동시에 감쇄하는 패리티 비트가 선택되었다면, 알고리듬 3C에서는 복수의 취약 비트를 포함하는 서브 블록 내 취약 비트가 패리티 비트로 선택될 수 있다.
이 때 우선순위는 취약 비트가 포함된 서브 블록 내 취약 비트의 수, 해당 서브 블록의 길이, 해당 비트의 신뢰도(e.g., polarization weight) 순으로 결정될 수 있다. 먼저 상태 지시 행렬 내 '2'를 가지는 비트들의 인덱스 집합이 , 이 비트들에 상응하는 서브 블록 내 취약 비트의 수, 서브 블록의 길이 및 각 비트의 신뢰도(e.g., polarization weight) 집합이 라 정의될 수 있다. 이 때, 부호화 장치는 를 행렬로 하는 를 정의하고, 에 대해 의 열들을 내림차순 정렬할 수 있다. 즉, 부호화 장치는 복수의 취약 비트의 수가 많은 것부터 내림차순 정렬한다. 만약 복수의 취약 비트의 수가 동률인 경우, 부호화 장치는 서브 블록의 길이 순으로 로컬하게(locally) 내림차순 정렬을 하고, 그 중에서 가장 신뢰도가 낮은 비트를 패리티 비트로 선택할 수 있다. 이러한 1회 패리티 비트 선택 과정을 수행한 후 및 이 업데이트될 수 있다.
스텝 3. 최소 보호 보장: 각 PC 체인에 패리티 삽입 (Minimum protection guarantee: parity insertion to each PC chain)
스텝 1과 스텝 2의 과정을 통해 각 pc-chain에서 패리티 비트로 선택된 비트 수를 로 설명하도록 한다. 부호화 장치는 이 때 (i.e., 아직 정해진 수의 패리티 비트까지 선택되지 못한 경우)이고 를 만족하는 경우 번째 PC-chain 내 weak-bit을 패리티 비트로 선택할 수 있다. 이는 각 pc-chain 내 비트들의 weakness를 고려하기 위함이며, 각 pc-chain 내 적어도 한 개의 취약 비트를 패리티 비트로 선택함으로써 전반적인 보호 레벨(overall protection level)을 강화하고자 함이다.
스텝 3의 과정을 수행하는 것 자체가 복수의 취약 비트를 포함하는 서브 블록이 없을 때이므로, 해당 pc-chain 내 취약 비트를 포함하는 서브 블록의 길이가 길수록 선택 우선순위가 높으며, 서브 블록의 길이가 같다면 양극화 신뢰도가 낮을수록 선택 우선순위가 높다. 이는 알고리듬 4와 같이 표현될 수 있다.
는 로 정의되는 각 pc-chain 내 취약 비트들의 위치 인덱스 집합이다. 내 첫 번째 위치의 비트에 해당하는 서브 블록의 길이와 그 비트의 양극화 신뢰도(e.g., polarization weight)를 각각 와 (는 인덱스가 인 비트채널에 해당하는 양극화 신뢰도 값이다. 에 해당하는 인덱스는 로 표현할 수 있기 때문이다.) 라 할 때, 부호화 장치는 더 긴 길이의 서브 블록을 포함하거나, 서브 블록의 길이는 같지만 양극화 신뢰도가 더 낮은 비트를 발견할 경우 temp의 값을 바꾸어 패리티 비트의 후보를 변경할 수 있다. 알고리듬 4를 통해 모든 pc-chain 내 적어도 한 비트의 패리티 비트가 선택될 수 있으며, 부호화 장치는 step 3 과정을 수행한 후 행렬 및 패리티 비트들의 인덱스 집합 (구체적으로는 패리티 그룹 2의 인덱스 집합) 를 다시 업데이트할 수 있다.
함수는 변경된 패리티 비트 인덱스 집합에 의해 업데이트된 를 얻는 함수로 알고리듬 5에 나타나 있다. 한편, 알고리즘 5에 따른 업데이트는 전술한 스텝 1 및 스텝 2에서 각 알고리즘(예를 들어, 알고리즘 1, 2, 3A, 3B, 3C)에서 를 업데이트하는데 이용될 수 있다.
스텝 4. 오류 전파 완화 (Error propagation mitigation)
스텝 1 내지 스텝 3의 과정을 통해 선택된 패리티 비트들의 수가 여전히 보다 적은 경우, 부호화 장치는 스텝 4의 과정에서 알고리즘 6을 이용하여 추가적으로 패리티 비트를 선택할 수 있다.
인덱스가 인 비트와 인덱스가 )인 비트가 모두 취약 비트인 경우, 부호화 장치는 비트 를 패리티 비트로 선택하여 오류 전파(error propagation)의 영향을 줄일 수 있다. temp, 는 각각, (i.e., 인덱스가 인 비트에 상응하는 상태 지시 행렬 내 원소값)와 (i.e., 인덱스가 인 비트에 상응하는 상태 행렬 내 원소값)가 '2(i.e., 취약 비트)'로 같은 값을 가지는 경우, 인덱스가 인 비트들의 인덱스 및 양극화 신뢰도 집합일 수 있다. 부호화 장치는 내 가장 작은 값 쪽에 상응하는 비트를 패리티 비트로 선택할 수 있다. 예컨대 부호화 장치는 step 4 내 개의 비트를 패리티로 선택하는 경우, PWtemp 내 양극화 신뢰도가 가장 작은 개 값에 상응하는 비트들을 패리티로 선택할 수 있다. 전술한 알고리즘 6은 함수를 통해 정의될 수 있다.
일 실시예에 따른 부호화 장치는 선택하고자 하는 패리티 비트의 수() 보다 집합 내 최소 무게를 가지는 비트(i.e., 취약 비트)들의 수(i.e., )가 많은 경우, 전술한 스텝 1 내지 스텝 4를 순차적으로 적용함으로써, 패리티 비트를 선택할 수 있다. 부호화 장치는 스텝 1 내지 스텝 4를 순차적으로 적용하는 과정에서 선택된 패리티의 수가 부호화 장치에서 선택하고자 하는 패리티 비트의 수()에 도달한 경우, 패리티 비트를 선택하는 스텝을 종료할 수 있다. 이하에서는, 알고리즘 7을 스텝 1 내지 스텝 4를 순차적으로 적용하여 패리티 비트를 선택하는 방법에 대해 설명하도록 한다.
부호화 장치는 집합 내 최소 무게를 가지는 비트(i.e., 취약 비트)들의 수(i.e., )가 선택하고자 하는 패리티 비트의 수()보다 많은 경우, 개의 취약 비트들 중 개를 알고리즘 7에 기초하여 선택할 수 있다.
상기의 알고리즘 7을 참조하면, 부호화 장치는 먼저 선택할 패리티 비트들의 인덱스 집합 를 로 초기화하고, 전술한 스텝들에 따라 및 상태 지시(state-indicator) 행렬 를 업데이트할 수 있다. 구체적으로, 부호화 장치는 스텝 1의 함수를 통해 각 PC-chain마다 가장 뒤 서브 블록 내 취약 비트를 가지는 비트들 중 인덱스가 제일 큰 비트를 에 추가할 수 있다. 또한 부호화 장치는 에 해당하는 비트들의 인덱스 정보를 기반으로 를 업데이트할 수 있다.
부호화 장치는 함수 (line: 2-4)를 통해 선택된 비트 수가 에 미치지 못하는 경우, case 2의 함수 (line: 5-7)를 통해 복수의 취약 비트를 가지는 서브 블록이면서도 오류전파의 영향과 구조적으로 맞물린 비트들의 후보를 찾고, 조건에 따라 일부 또는 전체에 해당하는 비트들을 에 추가할 수 있다. 부호화 장치는 case 2까지 선택된 비트의 수가 개에 도달하면 및 의 업데이트를 중단하고, 모든 패리티 비트 선택 알고리즘을 종료할 수 있다.
부호화 장치는 선택된 패리티 비트의 수가 개에 도달하지 못한 경우에는 case 3 (, 알고리즘 7 의사 코드 line: 8-10), case 4 (, 알고리즘 7 의사 코드 line: 11-13), case 5 (, 알고리즘 7 의사 코드 line: 14-16), case 6 (, 알고리즘 7 의사 코드 line: 17-19) 함수를 통해 최종 개의 패리티 비트를 선택할 수 있다.
부호화 장치는 집합 내 최소 무게를 가지는 비트(i.e., 취약 비트)들의 수(i.e., )가 선택하고자 하는 패리티 비트의 수()보다 적은 경우, 모든 개의 취약 비트들을 선택하고 개의 차-취약 비트들을 추가 선택할 수 있다. 이 때 부호화 장치는 알고리듬 8-1 및 알고리즘 8-2에 기초하여 개의 차-취약 비트들을 선택할 수 있다.
우선, 부호화 장치는 모든 취약 비트들 (개수: )을 선택할 수 있다. 그리고 부호화 장치는 개의 비트를 보호되지 않는 비트 선택(unprotected bit selection)을 위한 목적으로 선택한 후, 이거나 업데이트된 로부터 multi 차-취약 비트를 포함하는 서브 블록이 있는 경우 단 한 개의 차-취약 비트를 추가적으로 선택할 수 있다.
부호화 장치는 각각의 pc-chain (pc-chain : )들에 대하여, 가장 뒤 서브 블록(i.e., ) 내 차-취약 비트들의 profile을 분석할 수 있다. 우선, 부호화 장치는 집합 공간에 내 차-취약 비트들에 해당하는 비트 인덱스들을 모두 저장할 수 있다. 이후, 부호화 장치는 적어도 하나의 차취약 비트 중 상기 각 서브 블록에서 첫번째에 위치한 차취약 비트를 제외한 차취약 비트를 식별할 수 있다. 즉, 부호화 장치는 각 차-취약 비트들에 해당하는 값이 0인 비트들을 모두 제외할 수 있다(i.e., ). 이 과정을 통해 업데이트된 내 차-취약 비트들이 다수 존재하는 경우, 부호화 장치는 메트릭 ()이 가장 낮은 값을 패리티로 결정하며 이는 서브 블록 내 취약 비트 분포를 최대한 균등하게 분할하기 위함이다. 메트릭은 서브 블록 내에서의 차취약 비트의 위치를 기초로 결정되는 밸런싱 파라미터일 수 있다. 이 과정을 수행하면 각 내에는 최대 1비트가 남아 있게 되며, 부호화 장치는 이 비트들의 인덱스 합집합을 에 저장할 수 있다().
하지만 이 비트들에 대해서도 우선순위가 존재할 수 있다. 따라, 부호화 장치는 집합 내에 포함된 차-취약 비트들이 속한 서브 블록 내 차-취약 비트들의 수가 클수록, 만약 같다면 신뢰도가 더 낮은 비트의 우선순위를 더 높게 부여할 수 있다. 예컨대 인덱스가 각각 a,b,c인 차-취약 비트들이 포함된 서브 블록 내 차-취약 비트들의 수가 각각 d,d,e (d<e)이고 양극화 신뢰도가 각각 f, g, h (f<g)라면, 우선순위가 c, a, b와 같이 정해질 수 있다.
위의 과정을 통해서 선택된 비트들의 수가 보다 같거나 큰 경우, 의 인덱스를 가지는 비트들이 패리티로 선택될 수 있다 (알고리즘 8-2 의사 코드 line 39-44). 반대로 보다 작은 경우, 내 모든 비트들을 패리티로 선택하고 다음 과정으로 넘어간다 (알고리즘 8-2 의사 코드 line 37-38).
부호화 장치는 이번에는 제일 뒤에서 2번째 서브 블록(i.e., ) 내 차-취약 비트들의 profile을 분석할 수 있다. 이는 알고리듬 8-2와 유사한 방식으로 수행될 수 있다. 위와 마찬가지로 부호화 장치는 공간에 내 차-취약 비트들에 해당하는 비트 인덱스들을 모두 저장할 수 있다. 이후 부호화 장치는 각 차-취약 비트들에 해당하는 값이 0인 비트들을 모두 제외할 수 있다(i.e., .) 이 과정을 통해 업데이트된 내 차-취약 비트들이 다수 존재하는 경우, 부호화 장치는 인덱스가 가장 큰 비트를 패리티로 결정할 수 있다. 이 과정을 수행하면 각 내에는 최대 1비트가 남아 있게 되며, 부호화 장치는 이 비트들의 인덱스 합집합을 에 저장할 수 있다().
역시 이 비트들에 대해서도 우선순위가 존재하므로, 내에 포함된 차-취약 비트들이 속한 서브 블록 내 차-취약 비트들의 수가 클수록, 만약 같다면 신뢰도가 더 낮은 비트의 우선순위가 더 높게 부여될 수 있다. 위의 과정을 통해서 선택된 비트들의 수가 보다 같거나 큰 경우, 부호화 장치는 의 인덱스를 가지는 비트들을 패리티로 선택한다. 반대로 보다 작은 경우, 부호화 장치는 내 모든 비트들을 패리티로 선택하고 다음 과정으로 넘어간다.
여전히 이 0보다 큰 경우, 부호화 장치는 다시 제일 뒤 서브 블록(i.e., )으로 넘어가서, 각 PC-chain 내 차-취약 비트들 중 가장 reliability가 낮은 비트들부터 순차적으로 개의 비트를 패리티로 선택함으로써 개 선택을 종료할 수 있다. 상기 기술된 과정을 통해 선택된 패리티 비트들에 해당하는 상태 지시 행렬 내 원소값이 0으로 업데이트되고, 패리티 비트 인덱스 집합 가 업데이트될 수 있다.
마지막으로, 알고리듬 8-1에 기술된 바와 같이 이고 다수의 차-취약 비트들이 포함된 서브 블록이 한 개 이상 남아 있다면, , 함수를 순차적으로 적용하여 1비트가 선택되면 부호화 장치는 차취약 비트들 중 패리티 비트를 선택하는 과정을 종료할 수 있다.
다시 도 7을 참조하여 설명하면, 단계 730에서, 부호화 장치는 극 부호의 pc-체인 내부 및 극 부호의 pc-체인 간의 연결 관계에 따라 식별된 패리티 비트의 수가 패리티 비트로 이용하고자 하는 비트 수에 대응됨에 따라, 취약 비트 또는 차취약 비트의 패리티 비트로의 식별을 종료할 수 있다. 전술한 알고리즘 1 내지 알고리즘 8-2 각각에서 설명한 바와 같이, 부호화 장치는 패리티 비트들을 선택하는 과정에서, 선택된 패리티 비트의 수가 선택하고자 하는 패리티 비트의 수()에 도달하는 경우 취약 비트 또는 차취약 비트의 패리티 비트로의 식별 과정을 종료할 수 있다.
단계 740에서, 부호화 장치는 식별된 패리티 비트를 포함하는 극 부호를 획득할 수 있다. 부호화 장치는 획득된 극 부호를 포함하는 신호를 복호화 장치에 전송할 수 있다. 한편, 부호화 장치는 획득된 극 부호의 전송에 앞서, 선택된 패리티 비트 또는 선택된 패리티 비트의 인덱스에 관한 정보를 복호화 장치에 전송할 수 있다. 다른 실시예에 따라, 부호화 장치는 획득된 극 부호와 함께 선택된 패리티 비트 또는 선택된 패리티 비트의 인덱스에 관한 정보를 복호화 장치에 전송할 수도 있다.
도 9는 본 개시의 일 실시예에 따른 패리티 비트 선택 과정을 설명하기 위한 도면이다.
도 9를 참조하면, (128,34) 부호에서 =7이며, =13이므로 13개의 취약 비트들 중 7개의 패리티 비트들의 인덱스 집합 를 결정할 필요가 있다. 설명의 편의상 알고리즘 2를 통해 선택된 패리티 비트들의 인덱스 집합을 (by 함수), 알고리즘 3A, 알고리즘 3B, 알고리즘 3C를 (i.e., 복수의 취약 비트를 포함하는 서브 블록 내 패리티 선택) 통해 선택된 패리티 비트들의 인덱스 집합을 (by 함수), 그리고 알고리즘 4 및 알고리즘 6를 통해 선택된 패리티 비트들의 인덱스 집합을 각각 (by 함수), (by 함수)라 정의한다.
부호화 장치는 먼저, 스텝 1을 통해 각 pc-chain의 제일 뒤 서브 블록에서 인덱스가 가장 큰 취약 비트를 패리티 비트로 선택할 수 있다. 즉, 부호화 장치는 pc-chain 0에서 인덱스가 120, pc-chain 1에서 인덱스가 116, pc-chain 3에서 인덱스가 113, pc-chain 4에서 인덱스가 114인 비트를 패리티로 선택할 수 있다. PC-chain 2의 경우 제일 마지막 서브 블록에 취약 비트가 없으므로 선택되지 않는다. 결과적으로 스텝 1을 통해 선택된 패리티 비트들의 인덱스 집합 은 이며, 부호화 장치는 해당 비트들에 상응하는 상태 지시(state indicator) 행렬 내 원소 값을 '0'으로 업데이트 할 수 있다. (현재까지 )
다음, 부호화 장치는 업데이트된 상태 지시 행렬 를 이용하여 스텝 2를 통해 패리티 비트 집합을 결정할 수 있다. 도 9를 참조하면, 인덱스 집합 내에 타입 A(Type-A) 유형의 서브 블록은 없으나, 타입 B 유형의 패리티 비트를 식별하기 위한 함수를 통해 복수의 취약 비트 및 오류전파 영향 관점에서 교차점에 위치한 인덱스가 '101'인 비트가 패리티로 추가 선택될 수 있다(인 type-B의 구조를 하나 가진다). 즉, 이며, 이 비트에 상응하는 값은 0으로 업데이트될 수 있다. (현재까지 .)
부호화 장치는 현재까지 선택된 패리티 비트가 이용하고자 하는 패리티 비트의 수에 도달하지 않음에 따라, 스텝 3을 통해 패리티 비트를 추가로 선택할 수 있다. 스텝 3에서는, 각 pc-chain들의 전반적인 보호-레벨 향상 (protection-level enhancement) 관점에서 단 한 개의 취약 비트도 선택되지 않은 pc-chain 2의 '102'가 패리티로 선택될 수 있다. 92와 102가 포함된 서브 블록의 길이는 각각 2로 같으나, 더 양극화 신뢰도가 낮은 102가 패리티로 선택되며 이다. 부호화 장치는 인덱스가 102인 비트에 상응하는 값을 0으로 업데이트할 수 있다 (i.e., )
현재까지 선택된 비트가 6비트임에 따라, 부호화 장치는 스텝 4에 따른 오류 전파의 영향을 고려한 패리티 비트 선택 방법(i.e., step 4)을 적용할 수 있다. 부호화 장치는 인덱스가 89-90 (행렬 내 )와 인덱스가 105-106 (행렬 내 )인 타입 D 구조 중, 더 양극화 신뢰도가 낮은 89를 패리티로 선택할 수 있다. 즉, 이다. (.) 양극화 신뢰도를 유일한 패리티 비트 선택 기준으로 활용하는 기존 기술의 경우, 선택된 패리티 비트들의 인덱스 집합 는 이다. 본 개시에 따른 패리티 비트 선택과 기존 기술에 따른 패리티 비트 선택은 결과적으로 3비트 차이가 나지만, 시뮬레이션 결과 블록 오율=을 만족하는 SNR[dB] 관점에서 0.15dB의 성능 이득이 발생함을 확인할 수 있다.
도 10은 본 개시의 다른 실시예에 따른 패리티 비트 선택 과정을 설명하기 위한 도면이다.
부호화 장치는 스텝 1의 함수를 통해 각 pc-chain 내 제일 뒤 서브 블록에서 인덱스가 가장 큰 취약 비트를 패리티 비트로 선택할 수 있다. 즉, 부호화 장치는 pc-chain 0 내 '100', pc-chain 2 내 '112', pc-chain 3 내 '98', pc-chain 내 '104'의 인덱스를 선택할 수 있으며, 이에 따라 이다 (현재까지 ).
또한, 부호화 장치는 스텝 2를 통해 복수의 취약 비트를 포함하는 서브 블록 내에서 취약 비트들을 선택할 수 있다. 부호화 장치는 ) 함수를 통해, 인덱스가 76-81-82 ()인 타입 B 구조 내 교차점에 위치한 81을 패리티 비트로 선택하고, 값을 0으로 업데이트할 수 있다. 이후 인덱스 집합에는 82-97 및 74-84를 포함하는 타입 C 구조가 남는다. 부호화 장치는 함수를 통해 각각의 서브 블록에서 더 낮은 양극화 신뢰도를 가지는 비트를 패리티로 선택하며, 이를 통해 82와 74가 패리티로 선택될 수 있다. (현재까지 )
스텝 1 및 스텝 2에 따라 선택된 패리티 비트들의 인덱스 집합 는 로, 부호화 장치에서 이용하고자 하는 패리티 비트의 수 =7에 선택된 패리티 비트들의 수가 도달함에 따라, 부호화 장치는 패리티 비트를 선택하기 위한 스텝을 종료할 수 있다. 한편, 기존 기술에 따라 선택된 패리티 비트들의 인덱스 집합 는 이다. 본 개시에 따른 패리티 비트 선택과 기존 기술에 따른 패리티 비트 선택은 결과적으로 3비트 차이가 나지만, 시뮬레이션 결과 블록 오율 을 달성하는 SNR[dB] 관점에서 0.13dB의 성능 이득이 발생한다.
도 11은 본 개시의 다른 실시예에 따른 패리티 비트 선택 과정을 설명하기 위한 도면이다.
도 11을 참조하면, (128,40) 극부호에서 =7이며, =1임에 따라, 부호화 장치는 1개의 취약 비트(i.e., minimum weight을 가지는 비트)를 패리티 비트로 선택하고, 차-취약 비트들 중 개를 패리티 비트로 추가 선택할 수 있다.
다음으로, 부호화 장치는 각 pc-chain 내 제일 뒤 서브 블록() 내 차-취약 비트들 중 이 0이 아닌 메트릭이 가장 작은 비트들을 에 저장할 수 있다. 저장된 비트들의 인덱스는 pc-chain 1 내 '120', pc-chain 2 내 '116', pc-chain 3 내 '113', pc-chain 4 내 '114'이다. PC-chain 2 내 '102'는 이므로 선택되지 않을 수 있다. 이 비트들의 인덱스 합집합 이며, 해당 비트들이 포함된 서브 블록 내 차-취약 비트들의 수 및 각 비트들의 양극화 신뢰도를 고려해서 결정되는 우선순위는 와 같다. 이므로, 부호화 장치는 에 포함된 모든 차-취약 비트들을 패리티로 선택할 수 있다.
만약 이고 전술한 바에 따른 차-취약 비트 선택 과정 후에도 복수의 취약 비트를 포함하는 서브 블록이 남아 있다면, 부호화 장치는 복수의 차-취약 비트를 포함하는 서브 블록에서 비트 1개를 추가 선택할 수 있다.
함수 내 조건을 만족하는 차-취약 비트는 없으나, 함수 내 조건을 만족하는 차-취약 비트 후보들이 존재함에 따라, 함수 내 조건을 만족하는 차-취약 비트 후보들 중 가장 양극화 신뢰도가 낮은 '85'가 에 추가될 수 있다. 즉, 해당 도 11의 실시예에서 선택된 그룹 1 내 패리티 비트들의 인덱스 집합 은 이다.
도 12a는 본 개시의 일 실시예에 따른 식별된 패리티 비트들을 포함한 극 부호의 부호화 파라미터 별 BLER(block error rate)을 설명하기 위한 그래프이다.
도 12a는 부호 길이 =64에 대해 각각 1-bit fine granularity 시뮬레이션을 수행한 결과 그래프이며, 시뮬레이션에서 QPSK (quadrature phase shift keying) 변조 및 AWGN (additive white Gaussian noise) 채널을 사용하는 것으로 가정하였다. 또한, 리스트의 크기가 8인 SCL 복호를 고려하였다.
도 12a에는 다양한 부호화 파라미터에 대하여 =64 일 때, 기존 기술에 따라 패리티 비트를 선택한 경우 및 본 개시에 따라 패리티 비트를 선택한 경우의 BLER 성능을 비교한 그래프이다. 관심 있는 오율 영역이 BLER=임에 따라, BLER=를 달성하는 SNR[dB]을 확인한 결과, 본 개시에 따라 패리티 비트를 선택한 경우의 오율 성능이 기존 기술에 비해 항상 우수하며, 약 0.15-0.35dB의 성능 이득을 가짐을 확인할 수 있다.
도 12b는 본 개시의 일 실시예에 따른 식별된 패리티 비트들을 포함한 극 부호의 부호화 파라미터 별 BLER(block error rate)을 설명하기 위한 그래프이다.
도 12b는 =128, =36,71,100에서 6비트 순환 중복 검사(cyclic redundancy check: CRC) 부호가 연접된 CRC-PC 극부호에 대한 기존 기술에 따른 패리티 선택 방법과 본 개시에 따른 패리티 선택 방법의 복호 성능을 비교한 그래프이다. 시뮬레이션에서는 두 기법 모두 신뢰도 상위 (: CRC비트 수)개 비트들 내 취약 비트들의 수와 의 대소관계를 비교한 후 각기 다른 패리티 비트 선택 방법이 적용되었다. 시뮬레이션 결과, 해당 파라미터에서는 종래 패리티 비트 선택 방법에 비해 발명 패리티 비트 선택 방법을 적용한 경우 성능 이득 효과가 더 크게 나타남을 확인하였는데, 이를 통해 CRC가 정보블록 끝에 연접되므로 더 앞쪽 인덱스의 취약 비트들을 패리티로 선택함으로써 얻어지는 성능 이득이 크다는 점을 확인할 수 있다.
도 12c는 본 개시의 일 실시예에 따라 식별된 패리티 비트들을 포함한 극 부호의 패리티 비트의 개수에 따른 요구 SNR[dB]을 설명하기 위한 그래프이다.
도 12c는 패리티 비트 수에 따른 BLER=을 달성하는 요구 SNR[dB] 을 비교한 그래프이다. 도 12c에서 왼쪽 그래프는 =64인 경우이며, 오른쪽 그래프는 =128인 경우를 나타내고, CRC 부호를 고려하지 않은 PC 극부호에 대해 시뮬레이션이 진행되었다.
도 12c의 그래프를 참조하면, 기존 기술에 따른 패리티 선택 방법의 성능과는 다르게, 본 개시에 따른 패리티 선택 방법을 적용했을 때 패리티 비트 수가 많아짐에 따라 전반적으로 더 낮은 요구 SNR로 목표 블록 오율이 달성됨을 확인할 수 있다.
도 13은 일 실시예에 따른 극 부호의 부호화 및 복호화 방법을 수행하는 UE와 기지국의 동작을 설명하기 위한 흐름도이다.
도 13의 실시예에서는 UE가 본 개시의 실시예에 따른 부호화 장치를 포함하고, 기지국이 본 개시의 실시예에 따라 부호화된 극 부호를 복호화할 수 있는 복호화 장치를 포함하는 것으로 가정한다. 다만, 이는 일 예일 뿐, 기지국 역시 본 개시에 따른 부호화 방법을 수행할 수 있으며, UE 역시 본 개시에 따른 복호화 방법을 수행할 수 있다.
단계 1310에서, UE는 기지국에 PC 극 부호 적용 여부를 문의하는 메시지를 전송할 수 있다.
단계 1320에서, 기지국은 UE에 PC 극 부호 적용 여부에 대한 응답을 포함하는 메시지를 전송할 수 있다.
단계 1330에서, UE는 극 부호의 pc-체인 내부 및 극 부호의 pc-체인 간의 연결 관계에 따라 식별된 패리티 비트의 정보를 전달할 수 있다.
일 실시예에 따른 UE는 기지국으로부터 PC 극 부호를 적용한다는 응답을 수신함에 따라, 본 개시에 따른 극 부호의 pc-체인 내부 및 극 부호의 pc-체인 간의 연결 관계에 따라 패리티 비트를 식별할 수 있다. UE는 식별된 패리티 비트에 관한 정보를 기지국에 전달할 수 있다.
단계 1340에서, 기지국은 극 부호의 pc-체인 내부 및 극 부호의 pc-체인 간의 연결 관계에 따라 식별된 패리티 비트의 정보를 수신함을 응답하는 메시지를 전송할 수 있다.
단계 1350에서, UE 및 기지국은 본 개시에 따른 부호화 방법에 따라 PC 극 부호를 설계하고, 이를 복호화할 수 있다. 예를 들어, UE가 기지국에 극 부호를 전송하는 경우, 기지국은 전술한 단계 1330에서 전달된 패리티 비트에 관한 정보를 기초로 극 부호를 복호화할 수 있다.
다만, 이는 일 실시예일 뿐, 기지국이 부호 파라미터에 맞는 패리티 비트 인덱스 집합( 및 )을 결정하여 UE에 전달하고, 전달된 패리티 비트 인덱스 집합에 기초하여 UE가 기지국으로부터 수신한 극 부호를 복호화할 수 있다.
본 개시에 따른 패리티 비트 선택 방법을 적용함으로써 기존 기술 대비 전반적인 부호 파라미터 영역에서 비슷하거나 우수한 복호(i.e., 블록 오율) 성능을 확보할 수 있음에 따라, beyond 5G 및 6G 등의 차세대 통신에 적용된 기존 극 부호를 대체하여 다양한 시나리오를 지원할 수 있다.
도 14는 일 실시예에 따른 부호화 장치의 블록도이다.
도 14을 참조하면, 부호화 장치(1400) 송수신부(1410), 프로세서(1420) 및 메모리(1430)를 포함할 수 있다.
송수신부(1410)는 무선 채널을 통해 신호를 송수신하기 위한 기능들을 수행할 수 있다. 예를 들어, 송수신부(1410)는 시스템의 물리 계층 규격에 따라 기저대역 신호 및 비트열 간 변환 기능을 수행할 수 있다. 예를 들어, 신호 송신시, 송수신부(1410)는 송신 비트열을 부호화 및 변조함으로써 복소 심볼들을 생성할 수 있다. 또한, 신호 수신시, 송수신부(1410)는 수신된 기저대역 신호의 복조 및 복호화를 통해 송신 비트열을 복원할 수 있다. 또한, 송수신부(1410)는 기저대역 신호를 RF 대역 신호로 상향변환한 후 안테나를 통해 송신하고, 안테나를 통해 수신되는 RF 대역 신호를 기저대역 신호로 하향변환할 수 있다. 예를 들어, 송수신부(1410)는 송신 필터, 수신 필터, 증폭기, 믹서, 오실레이터, DAC, ADC 등을 포함할 수 있다.
프로세서(1420)는 부호화 장치(1400)의 전반적인 동작들을 제어할 수 있다. 예를 들어, 프로세서(1420)는 송수신부(1410)를 통해 신호를 송신 및 수신할 수 있다. 또한, 프로세서(1420)는 메모리(1430)에 데이터를 기록하고, 읽는다. 그리고, 프로세서(1420)는 통신 규격에서 요구하는 프로토콜 스택의 기능들을 수행할 수 있다. 이를 위해, 프로세서(1420)는 적어도 하나의 프로세서 또는 마이크로(micro) 프로세서를 포함하거나, 또는, 프로세서의 일부일 수 있다. 일 실시예에 따라, 프로세서(1420)는 적어도 하나의 프로세서(at least one processor)를 포함할 수 있다. 또한, 일 실시예에 따라, 송수신부(1410)의 일부 및/또는 프로세서(1420)는 CP(communication processor)라 지칭될 수 있다.
프로세서(1420)는 전술한 부호화 방법에 관한 다양한 실시예들 중 적어도 하나에 따른 동작들을 수행하도록 제어할 수 있다. 예를 들어, 프로세서(1420)는 극 부호를 구성하는 비트들의 인덱스 집합에 기초하여 각 비트의 상태를 지시하는 상태 지시 정보를 획득할 수 있다. 또한, 프로세서(1420)는 상태 지시 정보에 따라 결정된 취약 비트의 수 및 패리티 비트로 이용하고자 하는 비트 수에 기초하여, 극 부호의 pc-체인 내부 및 극 부호의 pc-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 취약 비트 또는 차취약 비트를 패리티 비트로 식별할 수 있다. 프로세서(1420)는 극 부호의 pc-체인 내부 및 극 부호의 pc-체인 간의 연결 관계에 따라 식별된 패리티 비트의 수가 패리티 비트로 이용하고자 하는 비트 수에 대응됨에 따라, 취약 비트 또는 차취약 비트의 패리티 비트로의 식별을 종료할 수 있다. 프로세서(1420)는 식별된 패리티 비트를 포함하는 극 부호를 획득할 수 있다.
또한, 프로세서(1420)는 송수신부(1410)를 통해, 식별된 패리티 비트를 포함하는 극 부호를 전송할 수 있다.
메모리(1430)는 부호화 장치(1400)의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장할 수 있다. 메모리(1430)는 휘발성 메모리, 비휘발성 메모리 또는 휘발성 메모리와 비휘발성 메모리의 조합으로 구성될 수 있다. 그리고, 메모리(1430)는 프로세서(1420)의 요청에 따라 저장된 데이터를 제공할 수 있다.
도 15는 일 실시예에 따른 복호화 장치의 블록도이다.
도 15를 참조하면, 복호화 장치(1500) 송수신부(1510), 프로세서(1520) 및 메모리(1530)를 포함할 수 있다.
송수신부(1510)는 무선 채널을 통해 신호를 송수신하기 위한 기능들을 수행할 수 있다. 예를 들어, 송수신부(1510)는 시스템의 물리 계층 규격에 따라 기저대역 신호 및 비트열 간 변환 기능을 수행할 수 있다. 예를 들어, 신호 송신시, 송수신부(1510)는 송신 비트열을 부호화 및 변조함으로써 복소 심볼들을 생성할 수 있다. 또한, 신호 수신시, 송수신부(1510)는 수신된 기저대역 신호의 복조 및 복호화를 통해 송신 비트열을 복원할 수 있다. 또한, 송수신부(1510)는 기저대역 신호를 RF 대역 신호로 상향변환한 후 안테나를 통해 송신하고, 안테나를 통해 수신되는 RF 대역 신호를 기저대역 신호로 하향변환할 수 있다. 예를 들어, 송수신부(1510)는 송신 필터, 수신 필터, 증폭기, 믹서, 오실레이터, DAC, ADC 등을 포함할 수 있다.
프로세서(1520)는 복호화 장치(1500)의 전반적인 동작들을 제어할 수 있다. 예를 들어, 프로세서(1520)는 송수신부(1510)를 통해 신호를 송신 및 수신할 수 있다. 또한, 프로세서(1520)는 메모리(1530)에 데이터를 기록하고, 읽는다. 그리고, 프로세서(1520)는 통신 규격에서 요구하는 프로토콜 스택의 기능들을 수행할 수 있다. 이를 위해, 프로세서(1520)는 적어도 하나의 프로세서 또는 마이크로(micro) 프로세서를 포함하거나, 또는, 프로세서의 일부일 수 있다. 일 실시예에 따라, 프로세서(1520)는 적어도 하나의 프로세서(at least one processor)를 포함할 수 있다. 또한, 일 실시예에 따라, 송수신부(1510)의 일부 및/또는 프로세서(1520)는 CP(communication processor)라 지칭될 수 있다.
프로세서(1520)는 전술한 본 개시의 실시예에 따른 부호화 방법에 따라 식별된 패리티 비트를 포함하는 극 부호를 복호화할 수 있다. 예를 들어, 프로세서(1520)는 부호화 장치로부터 수신한 극 부호를 구성하는 비트들의 인덱스 집합에 기초하여 각 비트의 상태를 지시하는 상태 지시 정보를 획득할 수 있다. 또한, 프로세서(1520)는 상태 지시 정보에 따라 결정된 취약 비트의 수 및 패리티 비트로 이용하고자 하는 비트 수에 기초하여, 극 부호의 pc-체인 내부 및 극 부호의 pc-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 취약 비트 또는 차취약 비트를 패리티 비트로 식별할 수 있다. 프로세서(1520)는 극 부호의 pc-체인 내부 및 극 부호의 pc-체인 간의 연결 관계에 따라 식별된 패리티 비트의 수가 패리티 비트로 이용하고자 하는 비트 수에 대응됨에 따라, 취약 비트 또는 차취약 비트의 패리티 비트로의 식별을 종료할 수 있다. 프로세서(1520)는 식별된 패리티 비트에 기초하여 극 부호를 복호화함으로써 정보 비트를 획득할 수 있다.
또한, 프로세서(1520)는 송수신부(1510)를 통해, 식별된 패리티 비트를 포함하는 극 부호를 수신할 수 있다.
메모리(1530)는 복호화 장치(1500)의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장할 수 있다. 메모리(1530)는 휘발성 메모리, 비휘발성 메모리 또는 휘발성 메모리와 비휘발성 메모리의 조합으로 구성될 수 있다. 그리고, 메모리(1530)는 프로세서(1520)의 요청에 따라 저장된 데이터를 제공할 수 있다.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
Claims (20)
- 극 부호의 부호화를 위한 방법에 있어서,
극 부호를 구성하는 비트들의 인덱스 집합에 기초하여 각 비트의 상태를 지시하는 상태 지시 정보를 획득하는 단계;
상기 상태 지시 정보에 따라 결정된 취약 비트의 수 및 패리티 비트로 이용하고자 하는 비트 수에 기초하여, 상기 극 부호의 pc-체인 내부 및 상기 극 부호의 pc-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 취약 비트 또는 차취약 비트를 패리티 비트로 식별하는 단계;
상기 극 부호의 pc-체인 내부 및 상기 극 부호의 pc-체인 간의 연결 관계에 따라 식별된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 대응됨에 따라, 상기 취약 비트 또는 상기 차취약 비트의 상기 패리티 비트로의 식별을 종료하는 단계; 및
상기 식별된 패리티 비트를 포함하는 극 부호를 획득하는 단계를 포함하는, 방법. - 제1항에 있어서, 상기 취약 비트 또는 상기 차취약 비트를 상기 패리티 비트로 식별하는 단계는,
상기 상태 지시 정보를 기초로, 상기 인덱스 집합에서 PC(parity check) 체인 별로 연속된 0이 아닌 엘리먼트의 셋들을 각각의 서브 블록으로 결정하는 단계; 및
상기 상태 지시 정보에 따라 결정된 취약 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수 보다 많은 것으로 식별됨에 따라, 상기 결정된 각각의 서브 블록 중 PC 체인 별로 가장 뒤의 서브 블록에 취약 비트가 포함되는 경우, 상기 취약 비트가 포함된 가장 뒤의 서브 블록에서 마지막에 위치한 비트를 식별하는 단계를 포함하고,
상기 식별된 비트는 상기 패리티 비트로 업데이트 되는, 방법. - 제2항에 있어서, 상기 취약 비트 또는 상기 차취약 비트를 상기 패리티 비트로 식별하는 단계는,
상기 업데이트 이후에, 상기 각각의 서브 블록에 대하여 식별된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 도달하지 않음에 따라, 상기 각각의 서브 블록 중 취약 비트의 수가 3개 이상인 서브 블록에 포함된 취약 비트 중 맞닿은 비트가 취약 비트인 취약 비트를 타입 A 유형에 따른 패리티 비트로 식별하는 단계를 포함하는, 방법. - 제 3항에 있어서, 상기 취약 비트 또는 상기 차취약 비트를 상기 패리티 비트로 식별하는 단계는,
상기 타입 A 유형에 따른 패리티 비트의 식별 후에 업데이트 된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 도달하지 않음에 따라, 상기 각각의 서브 블록 중 가장 자리의 취약 비트와 맞닿은 비트가 취약 비트인 경우, 상기 가장 자리의 취약 비트를 타입 B 유형에 따른 패리티 비트로 식별하는 단계를 포함하는, 방법. - 제 4항에 있어서, 상기 취약 비트 또는 상기 차취약 비트를 상기 패리티 비트로 식별하는 단계는,
상기 타입 B 유형에 따른 패리티 비트의 식별 후에 업데이트 된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 도달하지 않음에 따라, 상기 각각의 서브 블록 중 복수의 취약 비트를 포함하는 서브 블록에 대하여 서브 블록 내 취약 비트의 수, 서브 블록의 길이, 취약 비트의 신뢰도에 기초하여 결정된 우선 순위에 따라 선택된 취약 비트를 타입 C 유형에 따른 패리티 비트로 식별하는 단계를 포함하는, 방법. - 제 5항에 있어서, 상기 취약 비트 또는 상기 차취약 비트를 상기 패리티 비트로 식별하는 단계는,
상기 타입 C 유형에 따른 패리티 비트의 식별 후에 업데이트 된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 도달하지 않음에 따라, 상기 각각의 서브 블록 중 패리티 비트가 식별되지 않은 적어도 하나의 서브 블록에 포함된 취약 비트를 식별하는 단계를 포함하고,
상기 각각의 서브 블록 중 패리티 비트가 식별되지 않은 적어도 하나의 서브 블록에 포함된 취약 비트는 상기 패리티 비트로 업데이트 되는, 방법. - 제 6항에 있어서, 상기 취약 비트 또는 상기 차취약 비트를 상기 패리티 비트로 식별하는 단계는,
상기 업데이트 이후에, 상기 각각의 서브 블록에 대하여 식별된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 도달하지 않음에 따라, 상기 각각의 서브 블록에 포함된 비트 중 인덱스 i인 비트와 인덱스 i+1인 비트가 모두 취약 비트인 경우 상기 인덱스 i인 비트를 상기 패리티 비트로 식별하는 단계를 포함하는, 방법. - 제1항에 있어서, 상기 취약 비트 또는 상기 차취약 비트를 상기 패리티 비트로 식별하는 단계는,
상기 상태 지시 정보를 기초로, 상기 인덱스 집합에서 PC(parity check) 체인 별로 연속된 0이 아닌 엘리먼트의 셋들을 각각의 서브 블록으로 결정하는 단계;
상기 상태 지시 정보에 따라 결정된 취약 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수 보다 적은 것으로 식별됨에 따라, 상기 결정된 취약 비트를 모두 상기 패리티 비트로 식별하는 단계; 및
상기 극 부호의 pc-체인 내부 및 상기 극 부호의 pc-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 차취약 비트를 상기 패리티 비트로 식별하는 단계를 포함하는, 방법. - 제8항에 있어서, 상기 차취약 비트를 상기 패리티 비트로 식별하는 단계는,
적어도 하나의 차취약 비트 중 상기 각 서브 블록에서 첫번째에 위치한 차취약 비트를 제외한 차취약 비트를 식별하는 단계;
상기 식별된 차취약 비트가 복수개인 경우, 식별된 복수개의 차취약 비트들 중 상기 서브 블록 내에서의 위치를 기초로 결정되는 밸런싱 파라미터 값이 가장 작은 차취약 비트를 패리티 비트로 업데이트하는 단계; 및
업데이트 된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 도달하지 않음에 따라, 상기 식별된 차취약 비트 중 패리티 비트로 업데이트 되지 않은 차취약 비트의 적어도 일부를 상기 각각의 서브 블록 내의 차취약 비트의 수 및 차취약 비트의 신뢰도를 기초로 결정된 우선 순위에 따라 상기 패리티 비트로 식별하는 단계를 포함하는, 방법. - 극 부호의 복호화를 위한 방법에 있어서,
극 부호에서 상기 극 부호의 pc-체인 내부 및 상기 극 부호의 pc-체인 간의 연결 관계에 따라 식별된 패리티 비트의 인덱스에 관한 정보 및 상기 극 부호를 획득하는 단계; 및
상기 패리티 비트의 인덱스에 관한 정보를 기초로 상기 획득된 극 부호를 복호화하는 단계를 포함하고,
상기 패리티 비트는, 상태 지시 정보에 따라 결정된 취약 비트의 수 및 패리티 비트로 이용하고자 하는 비트 수에 기초하여, 극 부호의 pc-체인 내부 및 상기 극 부호의 pc-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 취약 비트 또는 차취약 비트를 포함하고,
상기 상태 지시 정보는, 상기 극 부호를 구성하는 비트들의 인덱스 집합에 기초하여 각 비트의 상태를 지시하는 정보인, 방법. - 극 부호의 부호화를 위한 장치에 있어서,
송수신부; 및
적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는,
극 부호를 구성하는 비트들의 인덱스 집합에 기초하여 각 비트의 상태를 지시하는 상태 지시 정보를 획득하고,
상기 상태 지시 정보에 따라 결정된 취약 비트의 수 및 패리티 비트로 이용하고자 하는 비트 수에 기초하여, 상기 극 부호의 pc-체인 내부 및 상기 극 부호의 pc-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 취약 비트 또는 차취약 비트를 패리티 비트로 식별하며,
상기 극 부호의 pc-체인 내부 및 상기 극 부호의 pc-체인 간의 연결 관계에 따라 식별된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 대응됨에 따라, 상기 취약 비트 또는 상기 차취약 비트의 상기 패리티 비트로의 식별을 종료하고,
상기 식별된 패리티 비트를 포함하는 극 부호를 획득하는, 장치. - 제11항에 있어서, 상기 적어도 하나의 프로세서는,
상기 상태 지시 정보를 기초로, 상기 인덱스 집합에서 PC(parity check) 체인 별로 연속된 0이 아닌 엘리먼트의 셋들을 각각의 서브 블록으로 결정하고,
상기 상태 지시 정보에 따라 결정된 취약 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수 보다 많은 것으로 식별됨에 따라, 상기 결정된 각각의 서브 블록 중 PC 체인 별로 가장 뒤의 서브 블록에 취약 비트가 포함되는 경우, 상기 취약 비트가 포함된 가장 뒤의 서브 블록에서 마지막에 위치한 비트를 식별하며,
상기 식별된 비트는 상기 패리티 비트로 업데이트 되는, 장치. - 제12항에 있어서, 상기 적어도 하나의 프로세서는,
상기 업데이트 이후에, 상기 각각의 서브 블록에 대하여 식별된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 도달하지 않음에 따라, 상기 각각의 서브 블록 중 취약 비트의 수가 3개 이상인 서브 블록에 포함된 취약 비트 중 맞닿은 비트가 취약 비트인 취약 비트를 타입 A 유형에 따른 패리티 비트로 식별하는, 장치. - 제 13항에 있어서, 상기 적어도 하나의 프로세서는,
상기 타입 A 유형에 따른 패리티 비트의 식별 후에 업데이트 된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 도달하지 않음에 따라, 상기 각각의 서브 블록 중 가장 자리의 취약 비트와 맞닿은 비트가 취약 비트인 경우, 상기 가장 자리의 취약 비트를 타입 B 유형에 따른 패리티 비트로 식별하는, 장치. - 제 14항에 있어서, 상기 적어도 하나의 프로세서는,
상기 타입 B 유형에 따른 패리티 비트의 식별 후에 업데이트 된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 도달하지 않음에 따라, 상기 각각의 서브 블록 중 복수의 취약 비트를 포함하는 서브 블록에 대하여 서브 블록 내 취약 비트의 수, 서브 블록의 길이, 취약 비트의 신뢰도에 기초하여 결정된 우선 순위에 따라 선택된 취약 비트를 타입 C 유형에 따른 패리티 비트로 식별하는, 장치. - 제 15항에 있어서, 상기 적어도 하나의 프로세서는,
상기 타입 C 유형에 따른 패리티 비트의 식별 후에 업데이트 된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 도달하지 않음에 따라, 상기 각각의 서브 블록 중 패리티 비트가 식별되지 않은 적어도 하나의 서브 블록에 포함된 취약 비트를 식별하고,
상기 각각의 서브 블록 중 패리티 비트가 식별되지 않은 적어도 하나의 서브 블록에 포함된 취약 비트는 상기 패리티 비트로 업데이트 되는, 장치. - 제 16항에 있어서, 상기 적어도 하나의 프로세서는,
상기 업데이트 이후에, 상기 각각의 서브 블록에 대하여 식별된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 도달하지 않음에 따라, 상기 각각의 서브 블록에 포함된 비트 중 인덱스 i인 비트와 인덱스 i+1인 비트가 모두 취약 비트인 경우 상기 인덱스 i인 비트를 상기 패리티 비트로 식별하는, 장치. - 제11항에 있어서, 상기 적어도 하나의 프로세서는,
상기 상태 지시 정보를 기초로, 상기 인덱스 집합에서 PC(parity check) 체인 별로 연속된 0이 아닌 엘리먼트의 셋들을 각각의 서브 블록으로 결정하고,
상기 상태 지시 정보에 따라 결정된 취약 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수 보다 적은 것으로 식별됨에 따라, 상기 결정된 취약 비트를 모두 상기 패리티 비트로 식별하며,
상기 극 부호의 pc-체인 내부 및 상기 극 부호의 pc-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 차취약 비트를 상기 패리티 비트로 식별하는, 장치. - 제18항에 있어서, 상기 적어도 하나의 프로세서는,
적어도 하나의 차취약 비트 중 상기 각 서브 블록에서 첫번째에 위치한 차취약 비트를 제외한 차취약 비트를 식별하고,
상기 식별된 차취약 비트가 복수개인 경우, 식별된 복수개의 차취약 비트들 중 상기 서브 블록 내에서의 위치를 기초로 결정되는 밸런싱 파라미터 값이 가장 작은 차취약 비트를 패리티 비트로 업데이트하며,
업데이트 된 패리티 비트의 수가 상기 패리티 비트로 이용하고자 하는 비트 수에 도달하지 않음에 따라, 상기 식별된 차취약 비트 중 패리티 비트로 업데이트 되지 않은 차취약 비트의 적어도 일부를 상기 각각의 서브 블록 내의 차취약 비트의 수 및 차취약 비트의 신뢰도를 기초로 결정된 우선 순위에 따라 상기 패리티 비트로 식별하는, 장치. - 극 부호의 복호화를 위한 장치에 있어서,
송수신부; 및
적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는,
극 부호에서 상기 극 부호의 pc-체인 내부 및 상기 극 부호의 pc-체인 간의 연결 관계에 따라 식별된 패리티 비트의 인덱스에 관한 정보 및 상기 극 부호를 획득하고,
상기 패리티 비트의 인덱스에 관한 정보를 기초로 상기 획득된 극 부호를 복호화하며,
상기 패리티 비트는, 상태 지시 정보에 따라 결정된 취약 비트의 수 및 패리티 비트로 이용하고자 하는 비트 수에 기초하여, 극 부호의 pc-체인 내부 및 상기 극 부호의 pc-체인 간의 연결 관계에 따라 기 설정된 패리티 후보 위치에 대응되는 취약 비트 또는 차취약 비트를 포함하고,
상기 상태 지시 정보는, 상기 극 부호를 구성하는 비트들의 인덱스 집합에 기초하여 각 비트의 상태를 지시하는 정보인, 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210064862A KR20220157146A (ko) | 2021-05-20 | 2021-05-20 | 극 부호의 부호화 및 복호화를 위한 방법 및 장치 |
US17/749,636 US11936400B2 (en) | 2021-05-20 | 2022-05-20 | Method and apparatus for encoding and decoding polar code |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210064862A KR20220157146A (ko) | 2021-05-20 | 2021-05-20 | 극 부호의 부호화 및 복호화를 위한 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220157146A true KR20220157146A (ko) | 2022-11-29 |
Family
ID=84235389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210064862A KR20220157146A (ko) | 2021-05-20 | 2021-05-20 | 극 부호의 부호화 및 복호화를 위한 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11936400B2 (ko) |
KR (1) | KR20220157146A (ko) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190013374A (ko) | 2017-07-28 | 2019-02-11 | 삼성전자주식회사 | 통신 또는 방송 시스템에서 극부호 부호화/복호화 방법 및 장치 |
KR102213345B1 (ko) * | 2019-07-01 | 2021-02-08 | 한국과학기술원 | 패리티 검사 연접 극 부호의 설계 방법 및 그 장치 |
-
2021
- 2021-05-20 KR KR1020210064862A patent/KR20220157146A/ko active Search and Examination
-
2022
- 2022-05-20 US US17/749,636 patent/US11936400B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20220393791A1 (en) | 2022-12-08 |
US11936400B2 (en) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11374682B2 (en) | Method and apparatus for encoding data using a polar code | |
CA3028013C (en) | Systems and methods for piece-wise rate matching when using polar codes | |
CN109314600B (zh) | 用于在使用通用极化码时进行速率匹配的系统和方法 | |
CN108365914B (zh) | Polar码编译码方法及装置 | |
KR20200017520A (ko) | 극성 코드 인코딩 방법 및 디바이스 | |
CN108540141B (zh) | Polar码编译码方法及装置 | |
CN108282259B (zh) | 一种编码方法及装置 | |
CN110663189B (zh) | 用于极化编码的方法和装置 | |
KR102289928B1 (ko) | 데이터 프로세싱 방법 및 디바이스 | |
US20140040675A1 (en) | Data processing method and apparatus | |
WO2019047246A1 (en) | METHODS AND APPARATUS FOR POLAR CODING | |
KR20220157146A (ko) | 극 부호의 부호화 및 복호화를 위한 방법 및 장치 | |
KR20230160736A (ko) | 극 부호의 송수신을 위한 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |