KR102570190B1 - 무선 통신 시스템에서 폴라 코드에 기반한 정보 전송 방법 및 이를 위한 장치 - Google Patents

무선 통신 시스템에서 폴라 코드에 기반한 정보 전송 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR102570190B1
KR102570190B1 KR1020180089193A KR20180089193A KR102570190B1 KR 102570190 B1 KR102570190 B1 KR 102570190B1 KR 1020180089193 A KR1020180089193 A KR 1020180089193A KR 20180089193 A KR20180089193 A KR 20180089193A KR 102570190 B1 KR102570190 B1 KR 102570190B1
Authority
KR
South Korea
Prior art keywords
packet
information
mini
bit
bits
Prior art date
Application number
KR1020180089193A
Other languages
English (en)
Other versions
KR20190013660A (ko
Inventor
김봉회
노광석
김일민
변일무
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Publication of KR20190013660A publication Critical patent/KR20190013660A/ko
Application granted granted Critical
Publication of KR102570190B1 publication Critical patent/KR102570190B1/ko

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • H04L1/0042Encoding specially adapted to other signal generation operation, e.g. in order to reduce transmit distortions, jitter, or to improve signal shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/618Shortening and extension of codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 폴라 코드(polar code)를 이용하여 정보를 송수신하는 방법 및 이를 지원하는 장치에 대한 것이다.
보다 구체적으로, 본 발명은 다중 CRC 및 체계적/비 체계적 폴라 코드를 사용하여 HARQ 재전송을 수행하는 방법 및 장치를 제안한다.

Description

무선 통신 시스템에서 폴라 코드에 기반한 정보 전송 방법 및 이를 위한 장치 {A Method and apparatus for transmitting information using polar code}
이하의 설명은 무선 통신 시스템에 대한 것으로, 무선 통신 시스템에서 폴라 코드(polar code)를 이용하여 정보를 송수신하는 방법 및 이를 지원하는 장치에 대한 것이다.
기기간(machine-to-machine, M2M) 통신, 기계 타입 통신(machine type communication, MTC) 등과, 높은 데이터 전송량을 요구하는 스마트 폰, 태블릿 PC(Personal Computer) 등의 다양한 장치 및 기술이 출현 및 보급되고 있다. 이에 따라, 셀룰러 망(cellular network)에서 처리될 것이 요구되는 데이터 양이 매우 빠르게 증가하고 있다. 이와 같이 빠르게 증가하는 데이터 처리 요구량을 만족시키기 위해, 더 많은 주파수 대역을 효율적으로 사용하기 위한 반송파 집성(carrier aggregation) 기술, 인지 무선(cognitive radio) 기술 등과, 한정된 주파수 내에서 전송되는 데이터 용량을 높이기 위한 다중 안테나 기술, 다중 기지국 협력 기술 등이 발전하고 있다.
더 많은 통신 장치가 더 큰 통신 용량을 요구함에 따라, 레거시 무선 접속 기술(radio access technology, RAT)에 비해 향상된 모바일 광대역(enhanced mobile broadband, eMBB) 통신에 대한 필요성이 대두되고 있다. 또한, 복수의 장치 및 객체(object)를 서로 연결하여 언제 어디서나 다양한 서비스를 제공하기 위한 대규모 기계 타입 통신(massive machine type communication, mMTC)는 차세대 통신에서 고려해야 할 주요 쟁점 중 하나이다.
또한, 신뢰도 및 대기 시간에 민감한 서비스/UE를 고려하여 설계될 통신 시스템에 대한 논의가 진행 중이다. 차세대(next generation) 무선 액세스 기술의 도입은 eMBB 통신, mMTC, 초 신뢰성 및 저 대기 시간 통신(ultra-reliable and low latency communication, URLLC) 등을 고려하여 논의되고 있다.
(참고문헌 1) E. Arikan, "Systematic polar coding", IEEE Communications Letters, vol.15, pp. 860-862, Aug. 2011.
새로운 무선 통신 기술의 도입에 따라, 기지국이 소정 자원영역에서 서비스를 제공해야 하는 UE들의 개수가 증가할 뿐만 아니라, 상기 기지국이 서비스를 제공하는 UE들과 전송/수신하는 데이터와 제어정보의 양이 증가하고 있다. 기지국이 UE(들)과의 통신에 이용 가능한 무선 자원의 양은 유한하므로, 기지국이 유한한 무선 자원을 이용하여 상/하향링크 데이터 및/또는 상/하향링크 제어정보를 UE(들)로부터/에게 효율적으로 수신/전송하기 위한 새로운 방안이 요구된다. 다시 말해, 노드의 밀도가 증가 및/또는 사용자기기의 밀도가 증가함에 따라 높은 밀도의 노드들 혹은 높은 밀도의 사용자기기들을 통신에 효율적으로 이용하기 위한 방안이 요구된다.
또한 기술의 발전에 따라 기존에 사용되지 않는 주파수 대역의 이용이 논의되고 있는데, 새로 도입되는 주파수 대역은 기존 주파수 대역과 그 특성이 상이하기 때문에 기존 통신 기술이 그대로 적용되기 어렵다. 따라서 새로이 통신에 사용되는 주파수 대역에 적합한 통신 기술의 도입이 요구된다.
특히 폴라 코드를 HARQ (hybrid automatic repeat request) 재전송에 사용하는 경우 코딩 효율 및 오류 감소를 고려할 필요가 있다.
본 발명에서 이루고자 하는 기술적 목적들은 이상에서 언급한 사항들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 이하 설명할 본 발명의 실시 예들로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 고려될 수 있다.
본 발명은 무선 통신 시스템에서 폴라 코드에 기반한 정보 전송 방법 및 이를 위한 장치를 제공한다.
본 발명의 일 양태로서, 상기 정보를 폴라 코드를 이용하여 인코딩한, 제1 정보 비트 집합을 포함하는 제1 패킷을 생성; 상기 제1 패킷을 전송, 여기서 상기 제1 패킷은, 복수의 제1 미니 패킷 및 상기 복수의 제1 미니 패킷 각각에 부착된 복수의 CRC (Cyclic Redundancy Check)로 구성되고; 상기 제1 패킷 중 특정 제1 미니 패킷 전송에 대한 에러가 탐지된 경우, 상기 제1 정보 비트 집합 중 상기 특정 제1 미니 패킷에 포함된 정보 비트 집합의 전부 또는 일부 비트를 폴라 코드를 이용하여 인코딩한, 제2 정보 비트 집합을 포함하는 제2 패킷을 생성; 및 상기 제2 패킷을 전송하는 것을 포함하며, 여기서 상기 제2 패킷은, 하나 이상의 제2 미니 패킷 및 상기 하나 이상의 제2 미니 패킷 각각에 부착된 복수의 CRC (Cyclic Redundancy Check)로 구성되는, 정보 전송 방법을 제안한다.
이 때, 상기 제2 정보 비트 집합은, 상기 특정 제1 미니 패킷에 포함된 정보 비트 집합을, 상기 특정 제1 미니 패킷에 포함된 정보 비트 집합 내 각 비트의 신뢰도에 기반하여 재배열한 후 인코딩한 비트 집합일 수 있다.
또한, 상기 제2 정보 비트 집합은, 상기 특정 제1 미니 패킷에 포함된 정보 비트 집합의 일부 비트를 인코딩한 비트 집합이며, 상기 일부 비트는 상기 특정 제1 미니 패킷에 포함된 정보 비트 집합 내 각 비트의 신뢰도에 기반하여 선택될 수 있다.
또한, 상기 제1 정보 비트 집합 및 상기 제2 정보 비트 집합은 체계적 폴라 코드를 이용하여 인코딩될 수 있다.
또한, 상기 제1 정보 비트 집합은 체계적 폴라 코드를 이용하여 인코딩되고, 상기 제2 정보 비트 집합은 비 체계적 폴라 코드를 이용하여 인코딩될 수 있다.
또한, 상기 제2 패킷은, 상기 제1 패킷에 포함된 패리티 체크 비트 (Parity Check Bit)와 동일한 패리티 체크 비트를 포함할 수 있다.
또한, 상기 복수의 제1 미니 패킷 각각에 부착된 CRC는, 하나 또는 복수의 제1 미니 패킷에 대한 에러 탐지를 위해 부착되고, 상기 하나 이상의 제2 미니 패킷 각각에 부착된 CRC는, 하나 또는 복수의 제2 미니 패킷에 대한 에러 탐지를 위해 부착될 수 있다.
또한, 상기 제2 패킷은, 상기 제1 정보 비트 집합 중 에러 체크를 위해 부착된 CRC의 수가 가장 적은 제1 미니 패킷에 포함된 정보 비트만을 인코딩한 비트 집합일 수 있다.
또한, 상기 제1 패킷은 복수의 계층 (layer)을 통해 전송되며, 상기 제1 패킷은, 상기 복수의 계층 각각에 대한 에러 탐지를 위해 부착된 CRC를 포함할 수 있다.
또한, 상기 기지국에 의해 수행되는 신호 송수신 방법은, 상기 정보를 폴라 코드를 이용하여 인코딩한, 제1 정보 비트 집합을 포함하는 제1 패킷을 생성; 상기 제1 패킷을 전송, 여기서 상기 제1 패킷은, 복수의 제1 미니 패킷 및 상기 복수의 제1 미니 패킷 각각에 부착된 복수의 CRC (Cyclic Redundancy Check)로 구성되고; 상기 제1 패킷 중 특정 제1 미니 패킷 전송에 대한 에러가 탐지된 경우, 상기 제1 정보 비트 집합 중 상기 특정 제1 미니 패킷에 포함된 정보 비트 집합의 전부 또는 일부 비트를 폴라 코드를 이용하여 인코딩한, 제2 정보 비트 집합을 포함하는 제2 패킷을 생성; 및 상기 제2 패킷을 전송하는 것을 포함하며, 여기서 상기 제2 패킷은, 하나 이상의 제2 미니 패킷 및 상기 하나 이상의 제2 미니 패킷 각각에 부착된 복수의 CRC로 구성되는 단계를 포함할 수 있다.
본 발명의 다른 일 양태로 폴라 코드 (polar code)에 기반하여 정보를 전송하는 단말에 있어서, 상기 정보를 폴라 코드를 이용하여 인코딩하도록 구성된 인코더; 상기 정보를 인코딩하여 생성된 정보 비트 집합을 포함하는 패킷을 전송하도록 구성된 RF (Radio Frequency) 유닛을 포함하며, 상기 인코더는 상기 정보를 폴라 코드를 이용하여 인코딩한, 제1 정보 비트 집합을 포함하는 제1 패킷을 생성; 상기 RF 유닛은 상기 제1 패킷을 전송, 여기서 상기 제1 패킷은, 복수의 제1 미니 패킷 및 상기 복수의 제1 미니 패킷 각각에 부착된 복수의 CRC (Cyclic Redundancy Check)로 구성되고; 상기 제1 패킷 중 특정 제1 미니 패킷 전송에 대한 에러가 탐지된 경우, 상기 인코더는 상기 제1 정보 비트 집합 중 상기 특정 제1 미니 패킷에 포함된 정보 비트 집합의 전부 또는 일부 비트를 폴라 코드를 이용하여 인코딩한, 제2 정보 비트 집합을 포함하는 제2 패킷을 생성; 및 상기 RF 유닛은 상기 제2 패킷을 전송하며, 여기서 상기 제2 패킷은, 하나 이상의 제2 미니 패킷 및 상기 하나 이상의 제2 미니 패킷 각각에 부착된 복수의 CRC로 구성되는, 단말을 제안한다.
무선 통신 시스템에서 폴라 코드 (polar code)에 기반하여 정보를 전송하는 기지국에 있어서, 상기 정보를 폴라 코드를 이용하여 인코딩하도록 구성된 인코더;
상기 정보를 인코딩하여 생성된 정보 비트 집합을 포함하는 패킷을 전송하도록 구성된 RF (Radio Frequency) 유닛을 포함하며, 상기 인코더는 상기 정보를 폴라 코드를 이용하여 인코딩한, 제1 정보 비트 집합을 포함하는 제1 패킷을 생성;
상기 RF 유닛은 상기 제1 패킷을 전송; 여기서 상기 제1 패킷은, 복수의 제1 미니 패킷 및 상기 복수의 제1 미니 패킷 각각에 부착된 복수의 CRC (Cyclic Redundancy Check)로 구성되고; 상기 제1 패킷 중 특정 제1 미니 패킷 전송에 대한 에러가 탐지된 경우, 상기 인코더는 상기 제1 정보 비트 집합 중 상기 특정 제1 미니 패킷에 포함된 정보 비트 집합의 전부 또는 일부 비트를 폴라 코드를 이용하여 인코딩한, 제2 정보 비트 집합을 포함하는 제2 패킷을 생성; 및 상기 RF 유닛은 상기 제2 패킷을 전송하며, 여기서 상기 제2 패킷은, 하나 이상의 제2 미니 패킷 및 상기 하나 이상의 제2 미니 패킷 각각에 부착된 복수의 CRC로 구성되는, 기지국을 제안한다.
상술한 본 발명의 양태들은 본 발명의 바람직한 실시예들 중 일부에 불과하며, 본원 발명의 기술적 특징들이 반영된 다양한 실시예들이 당해 기술분야의 통상적인 지식을 가진 자에 의해 이하 상술할 본 발명의 상세한 설명을 기반으로 도출되고 이해될 수 있다.
본 발명의 실시 예들에 따르면 다음과 같은 효과가 있다.
본 발명의 일 실시예에 의하면, 무선 통신 신호가 효율적으로 전송/수신될 수 있다. 이에 따라, 무선 통신 시스템의 전체 처리량(throughput)이 높아질 수 있다. 또한 무선 통신 시스템에서 신호가 효율적으로, 그리고 낮은 오류율로, 전송/수신될 수 있다.
또한 본 발명에 의하면, 폴라 코드가 채널 코딩에 사용되는 경우, 전송 효율 및 에러 탐지/정정 확률을 높일 수 있다.
본 발명의 실시 예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 이하의 본 발명의 실시 예들에 대한 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다. 즉, 본 발명을 실시함에 따른 의도하지 않은 효과들 역시 본 발명의 실시 예들로부터 당해 기술분야의 통상의 지식을 가진 자에 의해 도출될 수 있다.
이하에 첨부되는 도면들은 본 발명에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 본 발명에 대한 실시 예들을 제공한다. 다만, 본 발명의 기술적 특징이 특정 도면에 한정되는 것은 아니며, 각 도면에서 개시하는 특징들은 서로 조합되어 새로운 실시 예로 구성될 수 있다. 각 도면에서의 참조 번호(reference numerals)들은 구조적 구성요소(structural elements)를 의미한다.
도 1은 LTE/LTE-A 시스템에서 수송 블록(transport block)의 처리 과정을 예시한 것이다.
도 2는 인코딩된 코드 블록의 시스터매틱 부분과 패리티 부분을 분리하여 레이트 매칭을 수행하는 것을 나타내는 블록도이다.
도 3은 순환 버퍼의 내부(internal structure)를 도시한 것이다.
도 4는 폴라 코드 인코더를 위한 블록도이다.
도 5는 채널 양극화를 위한 채널 컴바이닝과 채널 스플리팅의 개념을 예시한 것이다
도 6은 폴라 코드를 위한 N-번째 레벨 채널 컴바이닝을 예시한 것이다.
도 7은 리스트-L 디코딩 과정에서 디코딩 경로(path)들의 진화(evolution)을 예시한 것이다.
도 8은 폴라 코드에서 정보 비트(들)이 할당될 위치(들)을 선택하는 개념을 설명하기 위해 도시된 것이다.
도 9는 본 발명에 따른 펑처링 및 정보 비트 할당을 예시한 것이다.
도 10은 본 발명의 일 예에 따른 폴라 코딩을 사용한 HARQ 재전송 방법을 나타내는 도면이다.
도 11은 본 발명의 일 예에 따른 폴라 코딩을 사용한 HARQ 재전송 방법에서의 정보 비트를 나타내는 도면이다.
도 12는 본 발명의 일 예에 따른 BP 폴라 디코딩의 수행 방법을 나타내는 도면이다.
도 13은 본 발명의 일 예에 따른 폴라 코딩을 사용한 HARQ 재전송 방법과 에러 정정 방법을 나타내는 도면이다.
도 14는 본 발명의 일 예에 따른 폴라 코딩을 사용한 HARQ 재전송 방법에서 중첩된 CRC를 사용하는 방법을 나타내는 도면이다.
도 15는 본 발명의 일 예에 따른 체계적 폴라 코드와 비 체계적 폴라 코드를 나타내는 도면이다.
도 16 내지 20은 본 발명의 일 예에 따른 체계적 폴라 코드와 비 체계적 폴라 코드를 결합한 HARQ 재전송 방법을 나타낸 도면이다.
도 21은 제안하는 실시 예들이 구현될 수 있는 단말 및 기지국의 구성을 도시하는 도면이다.
이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 발명의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나 당업자는 본 발명이 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다.
몇몇 경우, 본 발명의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시될 수 있다. 또한, 본 명세서 전체에서 동일한 구성요소에 대해서는 동일한 도면 부호를 사용하여 설명한다.
이하에서 설명되는 기법(technique) 및 장치, 시스템은 다양한 무선 다중 접속 시스템에 적용될 수 있다. 다중 접속 시스템의 예들로는 CDMA(code division multiple access) 시스템, FDMA(frequency division multiple access) 시스템, TDMA(time division multiple access) 시스템, OFDMA(orthogonal frequency division multiple access) 시스템, SC-FDMA(single carrier frequency division multiple access) 시스템, MC-FDMA(multi carrier frequency division multiple access) 시스템 등이 있다. CDMA는 UTRA (Universal Terrestrial Radio Access) 또는 CDMA2000과 같은 무선 기술(technology)에서 구현될 수 있다. TDMA는 GSM(Global System for Mobile communication), GPRS(General Packet Radio Service), EDGE(Enhanced Data Rates for GSM Evolution) (i.e., GERAN) 등과 같은 무선 기술에서 구현될 수 있다. OFDMA는 IEEE(Institute of Electrical and Electronics Engineers) 802.11(WiFi), IEEE 802.16(WiMAX), IEEE802-20, E-UTRA(evolved-UTRA) 등과 같은 무선 기술에서 구현될 수 있다. UTRA는 UMTS(Universal Mobile Telecommunication System)의 일부이며, 3GPP(3rd Generation Partnership Project) LTE(Long Term Evolution)은 E-UTRA를 이용하는 E-UMTS의 일부이다. 3GPP LTE는 하향링크(downlink, DL)에서는 OFDMA를 채택하고, 상향링크(uplink, UL)에서는 SC-FDMA를 채택하고 있다. LTE-A(LTE-advanced)는 3GPP LTE의 진화된 형태이다. 설명의 편의를 위하여, 이하에서는 본 발명이 3GPP 기반 통신 시스템, 예를 들어, LTE/LTE-A, NR에 적용되는 경우를 가정하여 설명한다. 그러나 본 발명의 기술적 특징이 이에 제한되는 것은 아니다. 예를 들어, 이하의 상세한 설명이 이동통신 시스템이 3GPP LTE/LTE-A/NR 시스템에 대응하는 이동통신 시스템을 기초로 설명되더라도, 3GPP LTE/LTE-A/NR에 특유한 사항을 제외하고는 다른 임의의 이동 통신 시스템에도 적용 가능하다.
후술하는 본 발명의 실시예들에서 "가정한다"는 표현은 채널을 전송하는 주체가 해당 "가정"에 부합하도록 상기 채널을 전송함을 의미할 수 있다. 상기 채널을 수신하는 주체는 상기 채널이 해당 "가정"에 부합하도록 전송되었다는 전제 하에, 해당 "가정"에 부합하는 형태로 상기 채널을 수신 혹은 복호하는 것임을 의미할 수 있다.
본 발명에 있어서, UE는 고정되거나 이동성을 가질 수 있으며, 기지국(base station, BS)과 통신하여 사용자데이터 및/또는 각종 제어정보를 송수신하는 각종 기기들이 이에 속한다. UE는 (Terminal Equipment), MS(Mobile Station), MT(Mobile Terminal), UT(User Terminal), SS(Subscribe Station), 무선기기(wireless device), PDA(Personal Digital Assistant), 무선 모뎀(wireless modem), 휴대기기(handheld device) 등으로 불릴 수 있다. 또한, 본 발명에 있어서, BS는 일반적으로 UE 및/또는 다른 BS와 통신하는 고정국(fixed station)을 말하며, UE 및 타 BS와 통신하여 각종 데이터 및 제어정보를 교환한다. BS는 ABS(Advanced Base Station), NB(Node-B), eNB(evolved-NodeB), BTS(Base Transceiver System), 접속 포인트(Access Point), PS(Processing Server) 등 다른 용어로 불릴 수 있다. 특히, UTRAN의 기지국은 Node-B로, E-UTRAN의 기지국은 eNB로, 새로운 무선 접속 기술 네트워크(new radio access technology network)의 기지국은 gNB로 불린다. 이하에서는 설명의 편의를 위해, BS를 eNB로 통칭한다.
본 발명에서 노드(node)라 함은 UE와 통신하여 무선 신호를 전송/수신할 수 있는 고정된 지점(point)을 말한다. 다양한 형태의 eNB 들이 그 명칭에 관계없이 노드로서 이용될 수 있다. 예를 들어, BS, NB, eNB, 피코-셀 eNB(PeNB), 홈 eNB(HeNB), 릴레이(relay), 리피터(repeater) 등이 노드가 될 수 있다. 또한, 노드는 eNB 가 아니어도 될 수 있다. 예를 들어, 무선 리모트 헤드(radio remote head, RRH), 무선 리모트 유닛(radio remote unit, RRU)가 될 수 있다. RRH, RRU 등은 일반적으로 eNB의 전력 레벨(power level) 더욱 낮은 전력 레벨을 갖는다. RRH 혹은 RRU 이하, RRH/RRU)는 일반적으로 광 케이블 등의 전용 회선(dedicated line)으로 eNB에 연결되어 있기 때문에, 일반적으로 무선 회선으로 연결된 eNB 들에 의한 협력 통신에 비해, RRH/RRU 와 eNB에 의한 협력 통신이 원활하게 수행될 수 있다. 일 노드에는 최소 하나의 안테나가 설치된다. 상기 안테나는 물리 안테나를 의미할 수도 있으며, 안테나 포트, 가상 안테나, 또는 안테나 그룹을 의미할 수도 있다. 노드는 포인트(point)라고 불리기도 한다.
본 발명에서 셀(cell)이라 함은 하나 이상의 노드가 통신 서비스를 제공하는 일정 지리적 영역을 말한다. 따라서, 본 발명에서 특정 셀과 통신한다고 함은 상기 특정 셀에 통신 서비스를 제공하는 eNB 혹은 노드와 통신하는 것을 의미할 수 있다. 또한, 특정 셀의 하향링크/상향링크 신호는 상기 특정 셀에 통신 서비스를 제공하는 eNB 혹은 노드로부터의/로의 하향링크/상향링크 신호를 의미한다. UE에게 상/하향링크 통신 서비스를 제공하는 셀을 특히 서빙 셀(serving cell)이라고 한다. 또한, 특정 셀의 채널 상태/품질은 상기 특정 셀에 통신 서비스를 제공하는 eNB 혹은 노드와 UE 사이에 형성된 채널 혹은 통신 링크의 채널 상태/품질을 의미한다. 3GPP 기반 통신 시스템에서, UE는 특정 노드로부터의 하향링크 채널 상태를 상기 특정 노드의 안테나 포트(들)이 상기 특정 노드에 할당된 CRS (Cell-specific Reference Signal) 자원 상에서 전송되는 CRS(들) 및/또는 CSI-RS(Channel State Information Reference Signal) 자원 상에서 전송하는 CSI-RS(들)을 이용하여 측정할 수 있다.
한편, 3GPP 기반 통신 시스템은 무선 자원을 관리하기 위해 셀(cell)의 개념을 사용하고 있는데, 무선 자원과 연관된 셀(cell)은 지리적 영역의 셀(cell)과 구분된다.
지리적 영역의 "셀"은 노드가 반송파를 이용하여 서비스를 제공할 수 있는 커버리지(coverage)라고 이해될 수 있으며, 무선 자원의 "셀"은 상기 반송파에 의해 설정(configure)되는 주파수 범위인 대역폭(bandwidth, BW)와 연관된다. 노드가 유효한 신호를 전송할 수 있는 범위인 하향링크 커버리지와 UE로부터 유효한 신호를 수신할 수 있는 범위인 상향링크 커버리지는 해당 신호를 나르는 반송파에 의해 의존하므로 노드의 커버리지는 상기 노드가 사용하는 무선 자원의 "셀"의 커버리지와 연관되기도 한다. 따라서 "셀"이라는 용어는 때로는 노드에 의한 서비스의 커버리지를, 때로는 무선 자원을, 때로는 상기 무선 자원을 이용한 신호가 유효한 세기로 도달할 수 있는 범위를 의미하는 데 사용될 수 있다.
한편, 3GPP 통신 표준은 무선 자원을 관리하기 위해 셀(cell)의 개념을 사용한다. 무선 자원과 연관된 "셀"이라 함은 하향링크 자원(DL resources)와 상향링크 자원(UL resources)의 조합, 즉, DL 컴포턴트 반송파(component carrier, CC) 와 UL CC의 조합으로 정의된다. 셀은 DL 자원 단독, 또는 DL 자원과 UL 자원의 조합으로 설정될(configured) 수 있다. 반송파 집성이 지원되는 경우, DL 자원(또는, DL CC)의 반송파 주파수(carrier frequency)와 UL 자원(또는, UL CC)의 반송파 주파수(carrier frequency) 사이의 링키지(linkage)는 시스템 정보에 의해 지시될 수 있다. 예를 들어, 시스템 정보 블록 타입 2(System Information Block Type2, SIB2) 링키지(linkage)에 의해서 DL 자원과 UL 자원의 조합이 지시될 수 있다. 여기서, 반송파 주파수라 함은 각 셀 혹은 CC의 중심 주파수(center frequency)를 의미한다. 이하에서는 1차 주파수(primary frequency) 상에서 동작하는 셀을 1차 셀(primary cell, Pcell) 혹은 PCC로 지칭하고, 2차 주파수(Secondary frequency)(또는 SCC) 상에서 동작하는 셀을 2차 셀(secondary cell, Scell) 혹은 SCC로 칭한다. 하향링크에서 Pcell에 대응하는 반송파는 하향링크 1차 CC(DL PCC)라고 하며, 상향링크에서 Pcell에 대응하는 반송파는 UL 1차 CC(DL PCC)라고 한다. Scell이라 함은 RRC(Radio Resource Control) 연결 개설(connection establishment)이 이루어진 이후에 설정 가능하고 추가적인 무선 자원을 제공을 위해 사용될 수 있는 셀을 의미한다. UE의 성능(capabilities)에 따라, Scell이 Pcell과 함께, 상기 UE를 위한 서빙 셀의 모음(set)을 형성할 수 있다. 하향링크에서 Scell에 대응하는 반송파는 DL 2차 CC(DL SCC)라 하며, 상향링크에서 상기 Scell에 대응하는 반송파는 UL 2차 CC(UL SCC)라 한다. RRC_CONNECTED 상태에 있지만 반송파 집성이 설정되지 않았거나 반송파 집성을 지원하지 않는 UE의 경우, Pcell로만 설정된 서빙 셀이 단 하나 존재한다.
3GPP 기반 통신 표준은 상위 계층으로부터 기원한 정보를 나르는 자원 요소들에 대응하는 하향링크 물리 채널들과, 물리 계층에 의해 사용되나 상위 계층으로부터 기원하는 정보를 나르지 않는 자원 요소들에 대응하는 하향링크 물리 신호들을 정의된다. 예를 들어, 물리 하향링크 공유 채널(physical downlink shared channel, PDSCH), 물리 브로드캐스트 채널(physical broadcast channel, PBCH), 물리 멀티캐스트 채널(physical multicast channel, PMCH), 물리 제어 포맷 지시자 채널(physical control format indicator channel, PCFICH), 물리 하향링크 제어 채널(physical downlink control channel, PDCCH) 및 물리 하이브리드 ARQ 지시자 채널(physical hybrid ARQ indicator channel, PHICH)들이 하향링크 물리 채널들로서 정의되어 있으며, 참조 신호와 동기 신호가 하향링크 물리 신호들로서 정의되어 있다. 파일럿(pilot)이라고도 지칭되는 참조 신호(reference signal, RS)는 eNB와 UE가 서로 알고 있는 기정의된 특별한 파형의 신호를 의미하는데, 예를 들어, 셀 특정적 RS(cell specific RS), UE-특정적 RS(UE-specific RS, UE-RS), 포지셔닝 RS(positioning RS, PRS) 및 채널 상태 정보 RS(channel state information RS, CSI-RS)가 하향링크 참조 신호로서 정의된다. 3GPP 기반 통신 표준은 상위 계층으로부터 기원한 정보를 나르는 자원 요소들에 대응하는 상향링크 물리 채널들과, 물리 계층에 의해 사용되나 상위 계층으로부터 기원하는 정보를 나르지 않는 자원 요소들에 대응하는 상향링크 물리 신호들을 정의하고 있다. 예를 들어, 물리 상향링크 공유 채널(physical uplink shared channel, PUSCH), 물리 상향링크 제어 채널(physical uplink control channel, PUCCH), 물리 랜덤 접속 채널(physical random access channel, PRACH)가 상향링크 물리 채널로서 정의되며, 상향링크 제어/데이터 신호를 위한 복조 참조 신호(demodulation reference signal, DMRS)와 상향링크 채널 측정에 사용되는 사운딩 참조 신호(sounding reference signal, SRS)가 정의된다.
본 발명에서 PDCCH(Physical Downlink Control CHannel)/PCFICH(Physical Control Format Indicator CHannel)/PHICH((Physical Hybrid automatic retransmit request Indicator CHannel)/PDSCH(Physical Downlink Shared CHannel)은 각각 DCI(Downlink Control Information)/CFI(Control Format Indicator)/하향링크 ACK/NACK(ACKnowlegement/Negative ACK)/하향링크 데이터를 나르는 시간-주파수 자원의 집합 혹은 자원요소의 집합을 의미한다. 또한, PUCCH(Physical Uplink Control CHannel)/PUSCH(Physical Uplink Shared CHannel)/PRACH(Physical Random Access CHannel)는 각각 UCI(Uplink Control Information)/상향링크 데이터/랜덤 엑세스 신호를 나르는 시간-주파수 자원의 집합 혹은 자원요소의 집합을 의미한다. 본 발명에서는 특히 PDCCH/PCFICH/PHICH/PDSCH/PUCCH/PUSCH/ PRACH에 할당되거나 이에 속한 시간-주파수 자원 혹은 자원요소(Resource Element, RE)를 각각 PDCCH/PCFICH/PHICH/PDSCH/PUCCH/PUSCH/PRACH RE 또는 PDCCH/PCFICH/PHICH/PDSCH/PUCCH/PUSCH/PRACH 자원이라고 칭한다. 이하에서 사용자기기가 PUCCH/PUSCH/PRACH를 전송한다는 표현은, 각각, PUSCH/PUCCH/PRACH 상에서 혹은 통해서 상향링크 제어정보/상향링크 데이터/랜덤 엑세스 신호를 전송한다는 것과 동일한 의미로 사용된다. 또한, eNB 가 PDCCH/PCFICH/PHICH/PDSCH를 전송한다는 표현은, 각각, PDCCH/PCFICH/PHICH/PDSCH 상에서 혹은 통해서 하향링크 데이터/제어정보를 전송한다는 것과 동일한 의미로 사용된다.
본 발명에서 사용되는 용어 및 기술 중 구체적으로 설명되지 않은 용어 및 기술에 대해서는 3GPP LTE/LTE-A 표준 문서, 예를 들어, 3GPP TS 36.211, 3GPP TS 36.212, 3GPP TS 36.213, 3GPP TS 36.321 및 3GPP TS 36.331 등과, 3GPP NR 표준 문서, 예를 들어, 3GPP TS 38.211, 3GPP TS 38.212, 3GPP TS 38.213, 3GPP TS 38.214, 3GPP TS 38.300, 3GPP TS 38.331 등을 참조할 수 있다. 아울러, 폴라 코드와 폴라 코드를 이용한 인코딩 및 디코딩에 관한 원리는 'E. Arikan, "Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels," in IEEE Transactions on Information Theory, vol. 55, no. 7, pp. 3051-3073, July 2009)'를 참조할 수 있다.
더욱 많은 통신 기기들이 더욱 큰 통신 용량을 요구하게 됨에 따라 기존의 무선 접속 기술(radio access technology, RAT)에 비해 향상된 모바일 브로드밴드 통신에 대한 필요성이 대두되고 있다. 또한 다수의 기기 및 사물들을 연결하여 언제 어디서나 다양한 서비스를 제공하는 매시브(massive) MTC 역시 차세대 통신에서 고려될 주요 이슈 중 하나이다. 아울러 신뢰성(reliability) 및 지연(latency)에 민감한 서비스/UE를 고려한 통신 시스템 디자인이 논의되고 있다. 이와 같이 진보된 모바일 브로드밴드 통신, 매시브 MTC, URLLC(Ultra-Reliable and Low Latency Communication) 등을 고려한 차세대 RAT의 도입이 논의되고 있다. 현재 3GPP에서는 EPC 이후의 차세대 이동 통신 시스템에 대한 스터디를 진행 중에 있다. 본 발명에서는 편의상 해당 기술을 새 RAT (new RAT, NR) 혹은 5G RAT라고 칭한다.
NR 통신 시스템은, 데이터 레이트, 용량(capacity), 지연(latency), 에너지 소비 및 비용 면에서, 기존 4세대(4G) 시스템보다 상당히 나은 성능을 지원할 것이 요구된다. 따라서, NR 시스템은 대역폭, 스펙트럴, 에너지, 시그널링 효율, 및 비트당 비용(cost)의 영역에서 상당한 진보를 이룰 필요가 있다. NR은 이러한 요구를 충족시키기 위해 효율적 파형(waveform)을 활용할 필요가 있다.
도 1은 LTE/LTE-A 시스템에서 수송 블록(transport block)의 처리 과정을 예시한 것이다.
채널에서 겪는 오류를 수신단에서 정정해주기 위해서 전송단에서 보내는 정보를 오류정정부호(forward error correction code)를 사용하여 부호화(coding)를 한 후 전송하게 된다. 수신단에서는 수신신호를 복조(demodulation)한 후 오류정정부호의 복호(decoding)화 과정을 거친 후 전송 정보를 복원하게 된다. 이러한 복호화 과정에서, 채널에 의해서 생긴 수신신호상의 오류를 정정하게 된다.
데이터가 DL/UL 셀별로 매 TTI마다 최대 2개 수송 블록의 행태로 코딩 블록에 도달한다. 다음의 코딩 단계들이 DL/UL 셀의 각 수송 블록에 대해 적용될 수 있다:
수송 블록에 CRC 부가(add);
코드 블록 세그멘트화(segmentation) 및 코드 블록 CRC 부착(attachment);
채널 코딩;
레이트 매칭;
코드 블록 연접(concatenation).
오류정정부호는 다양한 종류가 가능하지만, 기존 LTE/LTE-A 시스템에서는 주로 터보(Turbo) 코드가 사용되었다. 터보 코드는 리커시브 시스터매틱 컨볼루션 인코더(recursive systematic convolution encoder)와 인터리버(interleaver)로 구성된다. 터보 코드의 실제 구현 시에 병렬 복호화를 용이하게 하기 위한 인터리버가 있는데 이의 일종이 QPP(quadratic polynomial permutation)이다. 이와 같은 QPP 인터리버는 특정의 데이터 블록 크기에만 좋은 성능을 유지한다고 알려져 있다. 터보 코드의 성능은 데이터 블록 크기가 증가할수록 좋은 것으로 알려져 있는데, 실제 통신 시스템에서는 실제 구현의 편리함을 위하여 일정 크기 이상의 데이터 블록의 경우 여러 개의 작은 데이터 블록으로 나누어 인코딩을 수행하게 된다. 나누어진 작은 데이터 블록을 코드 블록이라 부른다. 코드 블록은 일반적으로 같은 크기를 갖게 되지만, QPP 인터리버의 크기 제한 때문에 여러 개의 코드 블록들 중 하나의 코드 블록은 다른 크기를 가질 수도 있다. 정해진 인터리버 크기의 코드 블록 단위로 오류정정부호화 과정을 거친 후 무선 채널로 전송 시 발생하는 버스트(burst) 오류의 영향을 줄이기 위해 인터리빙이 수행된다. 그리고, 실제 무선 자원에 매핑되어 전송된다. 실제 전송시 사용되는 무선 자원의 양이 일정하기 때문에 이에 맞추기 위해서는 인코딩된 코드 블록에 대하여 레이트 매칭이 수행되어야 한다. 일반적으로 레이트 매칭은 펑처링이나 반복(repetition)으로 이루어진다. 예를 들어, 무선 자원의 양, 즉, 해당 무선 자원에 의해 전송될 수 있는 전송 비트 수가 M이고, 코딩된 비트 시퀀스, 즉, 인코더의 출력 비트 수가 N이라 하면, M과 N이 다를 경우, 상기 코딩된 비트 시퀀스의 길이를 조절하여 M과 맞추기 위한 레이트 매칭이 수행된다. M>N이면, 레이트 매칭된 시퀀스의 길이가 M과 같아지도록, 코딩된 비트 시퀀스의 비트들 중 전부 혹은 일부가 반복된다. M<N이면, 레이트 매칭된 시퀀스의 길이가 M과 같아지도록, 코딩된 비트 시퀀스의 비트들 중 일부가 펑처링되며, 펑처링된 비트는 전송에서 제외된다.
즉, LTE/LTE-A 시스템에서는 특정 코드 레이트(예, 1/3)을 지니는 채널 코딩을 사용하여 전송할 데이터를 인커딩한 후, 펑처링과 반복으로 이루어진 레이트 매칭 과정을 통해 전송할 데이터의 코드 레이트를 조절하게 된다. LTE/LTE-A에서의 채널 코드로 터보 코드를 사용하였을 경우, 도 1과 같은 수송 채널 처리 과정 중 각 코드 블록을 채널 코딩 및 레이트 매칭하는 과정을 도식화 하면 도 2와 같다.
도 2는 인코딩된 코드 블록의 시스터매틱 부분과 패리티 부분을 분리하여 레이트 매칭을 수행하는 것을 나타내는 블록도이다.
도 2에 도시된 바와 같이, LTE/LTE 터보 인코더의 머더(mother) 코드 레이트는 1/3이다. 다른 코드 레이트를 얻기 위해서는, 필요하면, 반복 혹은 펑처링이 수행되어야 하며, 이들은 레이트 매칭 모듈에 의해 행해진다. 상기 레이트 매칭 모듈은 상기 터버 인코더의 3개 출력 스트림들에 대한 3개의 소위(so-called) 서브-블록 인터리버들과, 순환(circular) 버퍼에 의해 실현(realize)되는, 비트 선택 및 프루닝(pruning) 부분(part)으로 이루어진다. 상기 서브-블록 인터리버는 32개 행들 및 길이-32 인트라-열 퍼뮤테이션을 가진 클래식 행(row)-열(column) 인터리버를 기반으로 한다. 상기 3개 스트림들 각각의 비트들은 행-by-행씩 32개 열들을 가진 행렬(행의 개수는 스트림 크기에 의존)로 적혀진다(written). 상기 행렬을 완전히 채우기 위해 더미 비트들이 각 스트림의 앞쪽에 패딩된다. 열 퍼뮤테이션 후에는 비트들이 열-by-열로 상기 행렬로부터 읽혀진다.
도 3은 순환 버퍼의 내부(internal structure)를 도시한 것이다.
순환 버퍼는 머더 코드의 펑처링 및 반복을 가능하게 하는, 레이트 매칭 모듈의 가장 중요한 부분(part)이다. 도 2를 참조하면, 인터리빙된 시스터매틱 비트들은, 상기 순환 버퍼의 시작(beginning)에 상기 인터리빙된 시스터매틱 비트 스트림들의 첫 번째 비트를 두고, 차례차례(in sequence) 상기 순환 버퍼로 적혀진다. 인터리빙 및 인터레이스된 패리티 비트 스트림들은, 상기 인터리빙된 시스터매틱 비트 스트림의 마지막 비트 다음에 해당 스트림의 첫 비트를 두고, 차례차례 상기 순환 버퍼에 적혀진다. 코딩된 비트들은 (코드 레이트에 따라) 상기 순환 버퍼 내 리던던시 버전(redundancy version, RV) 포인트들에 의해 특정되는 어떤(certain) 시작 포인트로부터 연속적으로(serially) 읽혀진다. 상기 순환 버퍼의 끝(end)에 다다르고 더 많은 코딩된 비트들이 전송을 위해 필요하면 (예, 1/3보다 작은 코드 레이트의 경우), 전송 장치는 랩 어라운드 하며 상기 순환 버퍼의 시작에서 계속(continue)한다.
하이브리드 ARQ를 나타내는 HARQ는 오류가 있다고 검출된 패킷들의 재전송에 기초한 오류 정정 메커니즘이다. 전송된 패킷은 수신 장치에 어떤(certain) 전파(propagation) 딜레이 후에 도착한다. 상기 수신 장치는 오류-없는(error-free) 전송의 경우에는 ACK을 생산(produce)며, 오류가 검출되면 NACK을 생산한다. 상기 ACK/NACK은 얼마간의 프로세싱 시간 후에 생산되어 상기 전송 장치에 보내지고, 전파 딜레이 후에 상기 전송 장치에 도달한다. NACK이 경우, 상기 전송 장치에서 어떤 프로세싱 딜레이 후에, 원하는(desired) 패킷이 다시 보내질 것이다. 상기 순환 버퍼로부터 읽혀져 각 재전송에서 보내지는 비트들은 다르며 RV의 위치에 의존한다. 비트들이 상기 순환 버퍼로부터 읽혀지는 시작 포인트의 위치를 정의하는 4개 RV들(0, 1, 2, 3)이 있다. 도 3을 참조하면, 재전송 횟수가 진행(progressing)함에 따라 RV가 커지며 따라서 더 적은 시스터매틱 비트들과 더 많은 패리티 비트들이 재전송을 위해 순환 버퍼로부터 읽혀진다.
NR은 현재 4G보다 더 나은 속도 및 커버리지를 제공하며, 높은 주파수 대역에서 동작하고, 수십 개의 연결들에 대해 1 Gb/s까지의 속도 혹은 수만 개의 연결들에 대해 수십 Mb/s까지의 속도를 제공할 것이 요구된다. 이러한 NR 시스템의 요구사항을 충족시키기 위해서는 기존 코딩 방식보다 진보된 코딩 방식의 도입이 논의되고 있다. 데이터 통신은 불완전환 채널 환경에서 일어나기 때문에, 채널 코딩은 빠르면서 오류에 자유로운 통신을 위한 보다 높은 데이터 레이트를 이루는 데 중요한 역할을 한다. 선택된 채널 코드는 특정 범위의 블록 길이들 및 코드 레이트들에서 뛰어난 블록 오류 비율(block error ratio, BLER) 성능을 가져야 한다. 여기서, BLER은 보내진 블록들의 총 개수에 대한 오류 있는(erroneous) 수신 블록들의 개수의 비로서 정의된다. NR에서는 낮은 계산 복잡도(complexity), 낮은 지연, 낮은 비용(cost) 및 더 높은 유연성(flexibility)가 코딩 방식으로 요구된다. 나아가 비트당 감소된 에너지(reduced energy per bit)와 개선된(improved) 영역 효율(efficiency)이 더 높은 데이터 레이트를 지원하기 위해 요구된다. eMBB, 매시브 IoT, URLLC 등이 NR 네트워크의 사용 예들일 것으로 여겨지고 있다. eMBB는 풍부한(rich) 미디어 어플리케이션들, 클라우드 저장소(storage) 및 어플리케이션들, 그리고 엔터테인먼트를 위한 증강 현실(augmented reality)를 가능하게 하기 위해 높은 데이터 레이트를 갖는 인터넷 접속을 커버한다. 매시브 IoT 어플리케이션들은 스마트 홈들/빌딩들, 리모트 건강 모니터링, 및 물류(logistics) 트랙킹 등을 위한 밀집한(dense) 센서 네트워크들을 포함한다. URLLC는 산업 자동화, 무인 자동차들, 리모트 수술, 및 스마트 그리드들과 같은 초-고 신뢰성 및 낮은 지연을 요구하는 중요한 어플리케이션들을 커버한다.
큰 블록 길이들에서 높은 용량 성능을 갖는 많은 코딩 방식들이 이용가능하지만, 이들 중 대다수가 넓은 범위의 블록 길이들 및 코드 레이트들에 걸쳐 좋은 성능을 일정하게 보여주지는 못한다. 그러나, 터보 코드, 저밀도 패리티 체크 (low density parity check, LDPC) 코드 및 폴라 코드는 넓은 범위의 코딩 레이트들 및 코드 길이들에서 기대되는(promising) BLER 성능을 보여주고 있으며, 이에 따라 NR 시스템을 위한 사용이 고려되고 있다. eMBB, 매시브 IoT 및 URLLC와 같은 다양한 경우들에 대한 요구가 증가함에 따라 터보 코드들보다 더 강한 채널 코딩 효율성을 제공하는 코딩 방식에 대한 요구가 있다. 또한, 채널이 현재 수용할 수 있는 가입자의 최대 수 면에서의 증가, 즉, 용량 면에서의 증가도 요구되고 있다.
폴라 코드는, 기존 채널 코드들의 문제점을 해결할 수 있는 새로운 프레임워크를 제공하는 코드로서, Bikent 대학의 Arikan에 의해 발명되었다(참고: E. Arikan, "Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels," in IEEE Transactions on Information Theory, vol. 55, no. 7, pp. 3051-3073, July 2009). 폴라 코드는 낮은 인코딩 및 디코딩 복잡도를 갖는, 수학적으로 증명된, 첫 용량-수용(capacity-achieving) 코드이다. 폴라 코드는 아무런 오류 흐름이 존재하지 않으면서 큰 블록 길이들에서 터보 코드의 성능을 능가한다. 이하, 폴라 코드를 이용한 채널 코딩을 폴라 코딩이라고 칭한다.
폴라 코드들은 주어진 이진 이산 무기억 채널(binary discrete memoryless channel)에서 채널 용량을 이룰(achieve) 수 코드로 알려져 있다. 이는 블록 크기가 충분히 클 때만 이루어질 수 있다. 즉, 폴라 코드는 코드의 크기 N을 무한히 크게 하면 채널 용량을 이룰 수 있는 코드이다. 폴라 코드들은 인코딩 및 디코딩의 복잡도가 적으며 성공적으로 디코딩될 수 있다. 폴라 코드는 선형 블록 오류 정정 코드의 일종이며, 회귀적인(recursive) 다수의 연접(concatenation)이 폴라 코드를 위한 기본 빌딩 블록이며, 코드 구성(code construction)을 위한 기초이다. 물리 채널들을 가상 채널들로 변환하는 채널의 물리적 변환이 일어나며, 이러한 변환은 회귀적인 다수의 연접을 기반으로 한다. 다수의 채널들이 곱해지고 누적되면, 상기 채널들의 대부분은 좋아지거나 아니면 나빠지게 되며, 폴라 코드 배후에 있는 이 아이디어는 좋은 채널들을 사용하는 것이다. 예를 들어, 좋은 채널들을 통해 레이트 1로 데이터를 보내고, 나쁜 채널들을 통해 레이트 0으로 보내는 것이다. 즉, 채널 양극화를 통해 채널들은 일반(normal) 상태로부터 양극화(polarize)된 상태로 들어가게 된다.
도 4는 폴라 코드 인코더를 위한 블록도이다.
도 4(a)는 폴라 코드의 기본(base) 모듈을 나타낸 것으로, 특히 폴라 코딩을 위한 첫 번째 레벨 채널 컴바이닝을 예시한 도면이다. 도 4(a)에서 W2는 이진 이산 무기억 채널(B-DMC), W, 2개를 컴바이닝하여 얻어진 전체 등가(equivalent) 채널을 의미한다. 여기서, u1, u2는 이진-입력 소스 비트들이며, y1, y2는 출력 코딩된 비트(output coded bit)들이다. 채널 컴바이닝(channel combining)은 B-DMC 채널을 병렬적으로(parallel) 연접하는 과정이다.
도 4(b)은 상기 기본 모듈에 대한 기본 행렬 F를 나타낸 것으로, 기본 행렬 F로의 이진-입력 소스 비트들 u1, u2과 해당 출력 x1, x2는 다음의 관계를 갖는다.
채널 W2는 최고 레이트인 대칭 용량 I(W)를 이룰 수 있다. B-DMC W에서 대칭 용량은 중요한 파라미터로서, 상기 대칭 용량은 레이트의 측정을 위해 사용되며, 신뢰할 수 있는 통신이 상기 채널 W를 걸쳐 일어날 수 있는 최고 레이트이다. B-DMC는 다음과 같이 정의될 수 있다.
주어진 B-DMC W의 N개 독립(independent) 카피들로부터 N개 이진 입력 채널들의 두 번째 세트를 합성(synthesize) 혹은 생성(create)하는 것이 가능하며, 상기 채널들은 속성(property)들 {WN(i): 1≤i≤N}을 갖는다. N이 커지면, 채널들의 일부는 1에 가까운 용량을 갖는 채널이 되고, 나머지는 0에 가까운 용량을 갖는 채널이 되는 경향이 있다. 이를 채널 양극화(polarization)라고 한다. 다시 말해 채널 양극화는 주어진 B-DMC W의 N개 독립 카피들을 사용하여 두 번째 세트의 N개 채널들 {WN(i): 1≤i≤N}을 생성하는 프로세스이며, 채널 양극화 효과는 N이 커지면 모든 대칭 용량 항들(terms) {I(WN(i))}이 인덱스들 i의 사라지는(vanishing) 부분(fraction)을 제외하고 모두 0 또는 1이 되는 경향을 의미한다. 다시 말해, 폴라 코드들에서 채널 양극화 뒤에 있는 개념은 I(W)의 대칭적(symmetric) 용량을 갖는 채널(예, additive white Gaussian noise channel)의 N개 카피(copy)들(즉, N개 전송들)을 1 또는 0에 가까운(close) 용량의 극단적(extreme) 채널들로 변환(transform)하는 것이다. N개의 채널들 중에서 I(W) 부분(fraction)은 완벽한(perfect) 채널들이 될 것이고 1-I(W) 부분은 완전히 잡음 채널들이 될 것이다. 그리고 나서 정보 비트들은 좋은 채널들을 통해서만 보내지고, 다른 채널들로의 입력들은 1 또는 0으로 프로즌된다. 채널 양극화의 양은 블록 길이와 함께 증가한다. 채널 양극화는 2가지 국면(phase)로 구성된다: 채널 컴바이닝 국면 및 채널 스플리팅 국면.
도 5는 채널 양극화를 위한 채널 컴바이닝과 채널 스플리팅의 개념을 예시한 것이다. 도 5에 예시된 바와 같이 원본 채널 W의 N개 카피들을 적절히 컴바이닝하여 벡터 채널 Wvec을 만든 후 양극화된 새로운 채널들로 스플리팅하면, 충분히 큰 N의 경우, 상기 양극화된 새로운 채널들은 각각 채널 용량 C(W)=1과 C(W)=0으로 구분된다. 이 경우, 채널 용량 C(W))=1인 채널을 통과하는 비트는 오류 없이 전송 가능하므로 채널 용량 C(W)=1인 채널로는 정보 비트를 전송하고, 채널 용량 C(W)=1인 채널을 통과하는 비트는 정보 전송이 불가능하므로 의미 없는 비트인 프로즌 비트를 전송하는 것이 좋다.
도 5를 참조하면, 주어진 B-DMC W의 카피들을 회귀적 방식으로 컴바이닝하여, WN: XN→YN에 의해 주어지는 벡터 채널 Wvec이 출력될 수 있다. 여기서 N=2n이며 n은 0보다 크거나 같은 정수이다. 회귀(recursion)은 항상 0번째 레벨에서 시작하며, W1 = W이다. n=1은 W1의 2개 독립 카피들이 함께 컴바이닝하는 첫 번째 레벨의 회귀를 의미한다. 상기 2개 카피들을 컴바이닝하면 채널 W2: X2→Y2이 얻어진다. 이 새로운 채널 W2의 전이 확률(transitional probability)은 다음 식에 의해 표현될 수 있다.
상기 채널 W2이 얻어지면, W2의 2개 카피들을 컴바이닝하여 채널 W4의 단일 카피가 얻어질 수 있다. 이러한 회귀는 다음 전이 확률을 갖는 W4: X4→Y4에 의해 표현될 수 있다.
도 5에서 GN은 크기 N인 생성기 행렬이다. G2는 도 4(b)에 도시된 기본 행렬 F에 해당한다. G4는 다음 행렬로 표현될 수 있다.
여기서 ⓧ는 Kronecker 곱(product)이며, 모든 n≥1에 대해 Aⓧn = AⓧAⓧ(n-1)이고, Aⓧ0 = 1이다.
도 5(b)의 GN으로의 입력 uN1과 출력 xN1의 관계는 xN1 = uN1GN로 표현될 수 있다. 여기서 xN1 = {x1, ..., xN}, uN1 = {u1, ..., uN}이다.
N개의 B-DMC들을 컴바이닝할 때, 각각의 B-DMC는 회귀적인 형태로 표현될 수 있다. 즉, GN은 다음 수학식으로 표현될 수 있다.
여기서, N=2n, n≥1이고, Fⓧn = FⓧFⓧ(n-1)이며, Fⓧ0 = 1이다. BN은 비트-리버설로서 알려진 퍼뮤테이션 행렬이며, BN = RN(I2ⓧBN/2)로서 회귀적으로(recursively) 산출(compute)될 수 있다. I2는 2-차원(2-dimnsional) 단위(identity) 행렬이고, 이 회귀(recursion)는 B2=I2로 초기화된다. RN은 비트-리버설 인터리버이며, 입력 sN1 = {s1, ..., sN}을 출력 xN1 = {s1, s3,..., sN-1, s2, ..., sN}로 매핑하는 데 사용된다. RN은 먼저 기본-2 확장. 비트-리버설 인터리버는 전송단에 포함되지 않을 수도 있다. 수학식 6의 관계가 도 6에 도시된다.
도 6은 폴라 코드를 위한 N-번째 레벨 채널 컴바이닝을 예시한 것이다.
N개의 B-DMC W을 컴바이닝한 후 특정 입력에 대한 등가 채널(equivalent channel)을 정의하는 과정을 채널 스플리팅이라고 한다. 채널 스플리팅은 다음 수학식과 같은 채널 전이 확률(channel transition probability)로 표현될 수 있다.
채널 양극화는 다음과 같은 특성을 갖는다:
Conservation: C(W-) + C(W+) = 2C(W),
Extremization: C(W-) ≤ C(W) ≤ C(W+).
채널 컴바이닝과 채널 스플리팅을 거친 경우 다음과 같은 정리(theorem)를 얻을 수 있다.
정리(theorem): 임의(any) B-DMC W에 대해, 채널들 {WN(i)}은 다음과 같은 의미에서 양극화된다. 임의의 고정된 δ∈{0,1}에 대해, 2의 거듭제곱(power)을 통해 N이 무한대로 감에 따라, I(WN(i))∈(1-δ,1]인 인덱스들 i∈{1,...,N}의 부분(fraction)은 I(W)로 가며, I(WN(i))∈[0,δ)인 부분은 1-I(W)로 간다. 그러므로, N→∞면, 채널들은 완벽히 잡음이거나 아니면 잡음에 자유롭게 양극화되며, 이러한 채널들을 전송단에서 정확히 알 수 있다. 따라서, 나쁜 채널들을 고정하고 고딩되지 않은 비트들을 좋은 채널들 상에서 전송할 수 있다.
즉, 폴라 코드의 크기 N이 무한대가 되면, 채널은 특정 입력 비트(input bit)에 대해 잡음이 많거나 잡음이 없는 채널이 된다. 이는 특정 입력 비트에 대한 등가 채널의 용량이 0 또는 I(W)로 구분되는 것과 같은 의미이다.
폴라 인코더(polar encoder)의 입력(input)은 정보 데이터가 맵핑되는 비트 채널과 그렇지 않은 비트 채널로 구분된다. 앞서 설명한 바와 같이 폴라 코드의 이론에 따르면 폴라 코드의 코드워드가 무한대(infinity)로 갈수록 입력 비트 채널들이 잡음 없는 채널과 잡음 채널로 구분될 수 있다. 따라서, 잡음 없는 비트 채널에 정보를 할당하면, 채널 용량을 얻을 수 있다. 그러나, 실제로는 무한 길이의 코드워드를 구성할 수 없기 때문에 입력 비트 채널의 신뢰도를 계산하여 그 순서대로 데이터 비트를 할당한다. 본 발명에서 데이터 비트가 할당되는 비트 채널은 좋은 비트 채널이라고 칭한다. 좋은 비트 채널은 데이터 비트가 매핑되는 입력 비트 채널이라고 할 수 있다. 그리고, 데이터가 맵핑되지 않는 비트 채널을 프로즌 비트 채널이라 칭하고, 프로즌 비트 채널에는 알려진 값(예, 0)을 입력하여 인코딩이 수행된다. 전송단과 수신단에서 알고 있는 값이면 아무 값이나 프로즌 비트 채널에 매핑될 수 있다. 펑처링 또는 반복을 수행할 때, 좋은 비트 채널에 대한 정보가 활용될 수 있다. 예를 들어, 정보 비트에 할당되지 않는 입력 비트 위치에 해당되는 코드워드 비트(즉, 출력 비트) 위치가 펑처링될 수 있다.
폴라 코드의 디코딩 방식은 연속 소거(successive cancellation, SC) 디코딩 방식이다. SC 디코딩 방식은 채널 전이 확률을 구하여, 이를 입력 비트에 대한 라이클리후드 비율(likelihood ratio, LLR)을 계산하는 방식이다. 이때, 채널 전이 확률은 채널 컴바이닝과 채널 스플리팅 과정이 회귀적인(recursive) 형태로 이루어진 특성을 이용하면 회귀적인 형태로 계산될 수 있다. 따라서, 최종적으로 LLR 값도 회귀적인 형태로 계산할 수 있다. 우선 입력 비트 ui에 대한 채널 전이 확률 WN(i)(y1N,u1i-1|u1)는 다음과 같이 얻어질 수 있다. u1i는 홀수 인덱스(odd index), 짝수 인덱스(even index)로 분리되어, u1,oi, u1,ei와 같이 표현될 수 있다. 채널 전이 확률은 다음 수학식들과 같이 표현될 수 있다.
폴라 디코더는 정보를 검색(retrieve)하며, 상기 폴라 코드에 알려진 값들(예, 수신 비트들, 프로즌 비트들 등)을 가지고 uN1의 추정치(estimate) u^N1를 생성한다. LLR은 다음과 같이 정의된다.
LLR은 다음과 같이 회귀적으로 계산될 수 있다.
LLR들의 회귀적 계산은 LLR L(1)1(yi) = W(yi|0)/W(yi|1)인 코드 길이 1로 역추적(trace back)된다. L(1)1(yi)는 채널로부터 관찰된 소프트 정보이다.
폴라 인코더 및 SC 디코더의 복잡도는 폴라 코드의 길이 N에 따라 달라지는 데, O(NlogN)의 복잡도를 갖는다고 알려져 있다. 길이 N의 폴라 코드에서 K개의 입력 비트들을 가정할 때, 코딩 레이트는 N/K가 된다. 데이터 페이로드 크기 N의 폴라 인코더의 생성기 행렬을 GN이라 하면, 인코딩된 비트(encoded bit)는 xN1 = uN1GN와 같이 표현될 수 있으며, uN1 중 K 개의 비트는 페이로드 비트에 해당하고 상기 페이로드 비트에 대응하는 GN의 행(row) 인덱스를 i라 하고, 나머지 N-K개의 비트에 대응하는 GN의 행 인덱스를 F라고 가정한다. 이와 같은 폴라 코드의 최소 거리는 dmin(C) = mini∈I2wt(i)와 같이 주어질 수 있다. 여기서 wt(i)는 i의 이진 확장 내 1의 개수이며, i=0,1,...,N-1이다.
SC 리스트(SCL) 디코딩은 기본적(basic) SC 디코더의 확장이다. 이 종류의 디코더에서는 디코딩의 각 단계(stage)에서 L 디코딩 경로들이 동시에(simultaneously) 고려된다. 여기서 L은 정수이다. 다시 말해, 폴라 코드의 경우 리스트-L 디코딩 알고리즘은 디코딩 과정에서 L개의 경로를 동시에 추적하는 알고리즘이다.
도 7은 리스트-L 디코딩 과정에서 디코딩 경로들의 진화(evolution)을 예시한 것이다. 설명의 편의를 위해 결정되어야 하는 비트의 개수가 n이고, 모든 비트들이 프로즌되어 있지 않다고 가정한다. 리스트 크기 L = 4이면, 각 레벨은 아래방향으로 이어지는(continue) 경로들이 있는 노드를 많아야 4개 가진다. 이어지지 않는(discontinue) 경로들은 도 7에서 점선으로 표시된다. 도 7을 참조하여, 리스트-L 디코딩에서 디코딩 경로들이 진화하는 과정을 설명하면 다음과 같다. i) 리스트-L 디코딩이 시작하며, 첫 번째 프로즌되지 않은(unfrozen) 비트는 0 아니면 1일 수 있다. ii) 리스트-L 디코딩이 계속된다. 두 번째 프로즌되지 않은 비트들은 0 아니면 1일 수 있다. 경로들의 개수가 L=4보다 많지 않으므로, 아직 가지치기(prune)를 할 필요가 없다. iii) 첫 번째 비트(즉, 첫 번째 레벨의 비트), 두 번째 비트(즉, 두 번째 레벨의 비트) 및 세 번째 비트(즉, 세 번째 레벨의 비트)에 대한 모든 옵션들을 고려하는 것은 8개 디코딩 경로를 초래하며, L=4이기 때문에 8개 디코딩 경로는 너무 많다. iv) 상기 8개 디코딩 경로를 L=4개의 유망한(promising) 경로들로 가지치기한다. v) 네 번째 프로즌되지 않은 비트의 2개 옵션들을 고려함으로써 4개의 활성(active) 경로들을 계속(continue)한다. 이 경우, 경로의 개수가 8개로 2배가 되며, L=4이므로 경로의 개수가 너무 많다. vi) 다시, L=4개의 최선(best) 경로들로 가지치기한다. 도 7의 예시에서는 4개 후보 코드워드들 0100, 0110, 0111 및 1111이 얻어지며, 이들 중 하나가 원본 코드워드와 가장 유사한 코드워드로서 결정된다. 일반적인 디코딩 과정에서와 마찬가지로, 예를 들어, 가지치기 과정 혹은 최종 코드워드를 결정하는 과정에서 LLR 절대 값의 합이 가장 큰 경로가 생존하는(survival) 경로로서 선택될 수 있다. CRC가 있는 경우, CRC를 통해 생존 경로가 선택될 수도 있다.
한편, CRC 보조(aided) SCL 디코딩은 CRC를 이용한 SCL 디코딩으로서, 폴라 코드의 성능을 개선한다. CRC는 정보 이론 및 코딩 분야에서 오류 검출 및 오류 정정에 가장 널리 사용되는 기법(technique)이다. 예를 들어, 오류 정정 인코더로의 입력 블록이 K 비트이고, 정보 비트의 길이가 k, CRC 시퀀스의 길이가 m 비트이면, K = k+m이다. CRC 비트들은 오류 정정 코드를 위한 소스 비트들의 일부이며, 인코딩에 사용되는 채널 코드의 크기가 N이면, 코드 레이트 R은 R=K/N으로서 정의된다. CRC 보조 SCL 디코딩은 수신 장치에서 각 경로에 대해 순환 리던던시 체크(cyclic redundancy check, CRC) 코드를 확인하면서 오류 없는 경로를 검출함을 목적으로 한다. SCL 디코더는 후보 시퀀스들을 CRC 검출기로 출력하며 상기 CRC 검출기는 체크 결과를 코드워드 결정을 돕기 위해 피드백한다.
SCL 디코딩 혹은 CRC 보조 SCL 디코딩은 SC 알고리즘에 비해 복잡하지만 디코딩 성능이 우수하다는 장점이 있다. 폴라 코드의 리스트-X 디코딩 알고리즘에 대한 보다 자세한 사항은 'I. Tal and A. Vardy, “List decoding of polar codes,” in Proc. IEEE Int. Symp. Inf. Theory, pp. 1-5, Jul. 2011'을 참조한다.
폴라 코드는 코드 설계(design)이 채널에 독립적이어서 모바일 페이딩 채널들에 융통성(versatile)이 있지 않고, 비교적 최근에 소개된 코드여서 아직 성숙되지 않아 제한적으로만 적용되고 있다는 단점이 있다. 즉, 현재까지 제안한 폴라 코딩은 무선 통신 시스템에 그대로 적용하기에는 정의되지 않은 부분이 많다. 이에, 본 발명은 무선 통신 시스템에 적합한 폴라 코딩 방법을 제안하고자 한다.
도 8은 폴라 코드에서 정보 비트(들)이 할당될 위치(들)을 선택하는 개념을 설명하기 위해 도시된 것이다.
도 8에서, 머더 코드의 크기 N=8, 즉, 폴라 코드의 크기 N=8이고, 코드 레이트가 1/2라고 가정된다.
도 8에서 C(Wi)는 채널 Wi의 용량으로서, 폴라 코드의 입력 비트들이 겪을 채널들의 신뢰도에 대응한다. 폴라 코드의 입력 비트 위치들에 대응하는 채널 용량들이 도 8에 도시된 바와 같다고 하면, 도 8에 도시된 대로 입력 비트 위치들의 신뢰도에 랭크(rank)가 매겨질 수 있다. 이 경우, 코드 레이트 1/2로 데이터를 전송하기 위해, 전송 장치는 상기 데이터를 이루는 4개 비트들을 폴라 코드의 8개 입력 비트 위치들 중에서 채널 용량이 높은 4개 입력 비트 위치들(즉, 도 8의 입력 비트 위치들 U1 ~ U8 중 U4, U6, U7 및 U4로 표시된 입력 비트 위치들)에 할당하고, 나머지 입력 비트 위치들은 프로즌한다. 도 8의 폴라 코드에 대응하는 생성기 행렬 G8은 다음과 같다. 상기 생성기 행렬 G8는 수학식 6을 기반으로 얻어질 수 있다.
도 8의 U1부터 U8까지로 표시된 입력 비트 위치들은 G8의 최하위 행(row)부터 최상위 행까지의 행들에 일대일로 대응한다. 도 8을 참조하면 U8에 대응하는 입력 비트는 모든 출력 코딩된 비트들에 영향을 미침을 알 수 있다. 반면, U1에 대응하는 입력 비트는 출력 코딩된 비트들 중 Y1에만 영향을 미침을 알 수 있다. 수학식 12를 참조하면, 이진-입력 소스 비트들 U1 ~ U8와 G8이 곱해졌을 때 해당 입력 비트를 모든 출력 비트들에 나타나도록 하는 행(row)은 G8의 행들 중 모든 원소가 1인 행인 최하위 행 [1, 1, 1, 1, 1, 1, 1, 1]이다. 반면, 해당 이진-입력 소스 비트를 1개 출력 비트에만 나타나도록 하는 행은 G8의 행들 중 1개의 원소가 1인 행, 즉, 행 무게(weight)가 1인 [1, 0, 0, 0, 0, 0, 0, 0]이다. 마찬가지로, 행 무게가 2인 행은 해당 행에 대응하는 입력 비트를 2개 출력 비트에 반영시킨다고 할 수 있다. 도 8 및 수학식 12를 참조하면, U1 ~ U8는 G8의 행들에 일대일로 대응하며, U1 ~ U8의 입력 위치들, 즉, G8의 행들에 상기 입력 위치들을 구분하기 위한 비트 인덱스들이 부여될 수 있다.
폴라 코드에서는 GN로의 N개 입력 비트들에 대해 행 무게가 가장 작은 최상위 행부터 시작하여 비트 인덱스 0부터 N-1까지 순차적으로 비트 인덱스들이 할당되어 있다고 가정될 수 있다. 예를 들어, 도 8을 참조하면, U1의 입력 위치, 즉, G8의 첫 번째 행에 비트 인덱스 0가 부여되고, U8의 입력 위치, 즉, G8의 마지막 행에 비트 인덱스 7이 부여된다. 다만, 비트 인덱스들은 폴라 코드의 입력 위치들을 나타내기 위해 사용되는 것이므로, 이와 다르게 할당될 수 있다. 예를 들어, 행 무게가 가장 큰 최하위 행부터 시작하여 비트 인덱스 0부터 N-1까지 할당될 수 있다.
출력 비트 인덱스의 경우, 도 8 및 수학식 12에 예시된 바와 마찬가지로, GN의 열들 중 열 무게가 가장 큰 첫 번째 열부터 열 무게가 가장 작은 마지막 열까지 비트 인덱스 0부터 N-1까지, 혹은 비트 인덱스 1부터 N까지 부여되어 있다고 가정될 수 있다.
폴라 코드에서는 정보 비트와 프로즌 비트를 설정하는 것이 폴라 코드의 구성 및 성능에 있어 가장 중요한 요소들 중 하나이다. 즉, 입력 비트 위치들의 랭크를 정하는 것이 폴라 코드의 성능 및 구성에 있어서 중요한 요소라고 할 수 있다. 폴라 코드에 대해, 비트 인덱스들은 폴라 코드의 입력 혹은 출력 위치들을 구분할 수 있다. 폴라 코드에 대해, 비트 위치들의 신뢰도의 오름차순으로 아니면 내림차순으로 나열하여 얻어진 시퀀스를 비트 인덱스 시퀀스라 한다. 즉, 상기 비트 인덱스 시퀀스는 폴라 코드의 입력 혹은 출력 비트 위치들의 신뢰도를 오름차순 혹은 내림차순으로 나타낸다. 전송 장치는 입력 비트 인덱스 시퀀스를 기반으로 신뢰도가 높은 입력 비트들에 정보 비트들을 입력하고 폴라 코드를 이용하여 인코딩을 수행하며, 수신 장치는 동일한 혹은 대응 입력 비트 인덱스 시퀀스를 이용하여 정보 비트가 할당된 입력 위치들 또는 프로즌 비트가 할당된 입력 위치들을 알 수 있다. 즉, 수신 장치는 전송 장치가 사용한 입력 비트 인덱스 시퀀스와 동일한 혹은 대응 입력 비트 시퀀스와 해당 폴라 코드를 이용하여 폴라 디코딩을 수행할 수 있다. 폴라 코드에 대해, 입력 비트 시퀀스는 신뢰도가 높은 입력 비트 위치(들)에 정보 비트(들)이 할당될 수 있도록 미리 정해져 있다고 가정될 수 있다.
도 9는 폴라 코드에 대한 펑처링 및 정보 비트 할당을 예시한 것이다. 도 9에서 F는 프로즌 비트를, D는 정보 비트를, 0은 스키핑 비트를 나타낸다.
코딩된 비트들 중 펑처링되는 비트의 인덱스 혹은 위치에 따라 정보 비트가 프로즌 비트로 변경되는 경우가 발생할 수 있다. 예를 들어, N=8인 머더 코드에 대한 출력 코딩된 비트들은 Y8, Y7, Y6, Y4, Y5, Y3, Y2, Y1의 순으로 펑처링되어야 하는 경우, 타겟 코드 레이트가 1/2인 경우, 도 9에 예시된 바와 같이, Y8, Y7, Y6 및 Y4가 펑처링되고, Y8, Y7, Y6 및 Y4와만 연결된 U8, U7, U6 및 U4가 0으로 프로즌되며 이 입력 비트들은 전송되지 않는다. 코딩된 비트의 펑처링에 의해 프로즌 비트로 변경되는 입력 비트를 스키핑(skipping) 비트 혹은 쇼트닝(shortening) 비트라고 하며, 해당 입력 위치를 스키핑 위치 혹은 쇼트닝 위치라고 한다. 쇼트닝은 입력 정보의 크기(즉, 정보 블록의 크기)는 유지하면서 보내고 원하는 출력 비트 위치에 연결된 입력 비트 위치에 알려진 비트를 삽입하는 레이트 매칭 방법이다. 생성기 행렬 GN에서 열 무게가 1인 열에 해당하는 입력부터 쇼트닝이 가능하며, 열 무게가 1인 열과 행을 제거하고 남은 행렬에서 다시 열 무게가 1인 열에 해당하는 입력이 다음으로 쇼트닝될 수 있다. 정보 비트들이 모두 펑처링되어버리는 것을 방지하기 위해 정보 비트 위치에 할당되었어야 할 정보 비트는 프로즌 비트 위치 세트 내에서 높은 신뢰도의 순으로 재할당될 수 있다.
폴라 코드의 경우, 디코딩은 일반적으로 다음과 같은 순서로 수행된다.
신뢰도가 낮은 비트(들)이 먼저 복원된다. 디코더의 구조에 따라 달라지기는 하지만, 인코더에서의 입력 인덱스(이하, 인코더 입력 인덱스)가 작은 쪽이 보통 신뢰도가 낮기 때문에 일반적으로는 인코더 입력 인덱스가 작은 쪽부터 순차적으로 디코딩이 수행된다.
복원된 비트에 대해 알려진 비트 정보가 있을 경우 상기 알려진 비트를 상기 복원된 비트와 함께 이용하거나, 1의 과정을 생략하고 특정 입력 비트 위치에 대해 알려진 비트를 바로 이용하여 알려지지 않은(unknown) 비트인 정보 비트를 복원한다. 상기 정보 비트는 소스 정보 비트(예, 수송 블록의 비트)일 수도 있고, CRC 비트일 수도 있다.
1. 다중 CRC를 사용한 폴라 코드
다중 CRC를 사용한 폴라 코드 기반의 HARQ 재전송
이하에서는 다중 CRC가 적용된 폴라코드를 HARQ (hybrid automatic repeat request) 기반 데이터 재전송에 사용하는 방식을 제안한다. 이 방식에서는 도 10a 에서와 같이 여러 개의 CRC를 먼저 정보 비트들 사이에 삽입한 다음, 이것을 폴라 인코딩 한다. 그럼에서 각 정보 블록 (info block)은 미니 패킷 (mini-packet)을 나타내고, 여러 개의 미니 패킷이 모여서 한개의 패킷을 형성하게 되는데, 이 패킷 전체의 길이는 k비트이며 이 전체 패킷이 폴라 인코딩 된다. 이렇께 인코딩된 폴라 코드워드 (polar codeword)는 길이 n비트를 가지게 되며, 이 것이 채널로 전송된다. 수선단에서는 우선 폴라 디코딩을 수행하고, 그 이후, CRC 체크 (CRC check)를 수행하게 된다. 이 때,도 10b에서와 같이 CRC체크을 통하여 특정한 미니 패킷에 에러가 발생한 것을 알게되면, 그 미니 패킷 만이 재전송되도록 수신단은 송신단에 신호를 보내며,송신단은 그 에러가 발생한 특정 미니 패킷만을 재전송하게 된다. 이 때, 재전송되는 미니 패킷은 폴라 코딩이 적용되지 않은 상태의 정보 비트 그대로 전송될 수 있다.
본 발명에서는 다중 CRC를 사용한 폴라코드 기반의 기존 HARQ방식의 성능을 향상시키기 위하여 여러 가지 새로운 아이디어를 제시한다. 첫째로, 제안된 방식에서는, 도 11a에서와 같이 재전송 시에도 폴라 코딩을 사용한다. 이 그럼에서 가로축은 폴라 코딩의 비트 채널의 인덱스를 나타내며,세로 축은 각 비트 채널에 해당하는 상호 정보량 (mutual information)을 나타낸다. 도 11의 예에서는, 길이 16이고 코드율이 1/2 인 코드가 최초 전송에 사용된다고 가정한다. 코드율이1/2이므로, 8개의 정보 비트가 전송되어야 하는데, 이 8개의 정보 비트는 가장 상호정보량이 높은 8개의 비트 채널로 전송된다. 8개의 정보 비트는 4개씩 두개의 그룹으로 분할되며,각 그룹을 본 발명에서는 미니 패킷이라고 한다. 각 미니 패킷에는 CRC가 첨부되어서 미니 패킷에 에러가 발생했는지를 체크한다. 도 11a에서는 첫번째 미니 패킷에서 에러가 발생했다고 가정한다. 기존의 방식에서는 재전송시 아무런 코딩을 사용하지 않고, 4개의 정보 비트를 재 전송하지만, 제안된 방식에서는, 재전송에서 길이 8이고 코드율 1/2인 폴라 코드를 사용한다. 이와 같이 재전송이 이루어 졌을 때, 수신단에서는 두 개의 패킷을 동시에 사용하여 폴라 디코딩을 수행한다. 우선, SIC (successive inteference cancellation) 혹은 SILC (successive interference listcancellation) 방식을 사용하는 경우에는, 두개의 패킷을 통시에 사용하여 평행적으로 디코딩을 수행할 수 있다. 만약, 신뢰 전파 (belief propagation, BP)를 사용하여 폴라 디코딩을 수행하는 경우에는,각 패킷에 대하여 LLR (log likelihood ratio)를 구하고, 구해잔 LLR 값을 각 정보 비트에 대하여 합산한 다음, 그 합산된 LLR 값을 사용하여 각 정보 비트 판별을 내리게 된다.
도 11b에서는 재전송되는 패킷에서 정보 비트의 순서를 최적으로 정렬하는 방식을 나타내고 있다. 도 11b에서 두 그래프 중 왼쪽 그래프는 최초 전송되는 패킷이며,첫 번째 미니 패킷은 4개의 정보 비트 (A, B, C , D)를 포함하고 있다. 이 때, 폴라 코딩의 특성으로 안하여,그 4개의 정보 비트가 동일한 신뢰도를 가지고 채널로 전송되지 않는다. 즉,다른 정보 비트 들에 대해서는,극화 (polarization)되는 정도가 다 다르게 되므로,이 정보 비트들이 전송되는 비트 채널들의 상호 정보량도 다 다르게 된다. 도 11b에서는 비트 D가 가장 높은 신뢰도를 가자고,B가 가장 낮은 선뢰도를 가지고 전송된다. 이러한 신뢰도의 불균형을 상쇄하고자,재전송되는 패킷에서는 그 반대의 순서대로 정보 비트를 나열하게 된다. 즉, 정보 비트 B를 가장 신뢰도가 높은 폴라 코딩의 비트 채널로 전송하고,정보 비트 D를 가장 신뢰도가 낮은 비트 채널로 전송한다. 수신단에서는 폴라 다코딩을 수행할 때,각 정보 비트에 대하여 두 패킷으로부터 얻어진 LLR값을 합산하여 최종 정보 비트 판결을 내리게 되므로,다른 정보 비트들 간의 신뢰도 불균형 문제가 상쇄된다.
도 11c는 여러 번 재전송 되는 경우에 대한 제안된 HARQ방식을 나타낸다. 최대한 적은 횟수의 재전송을 통해 최초 전송된 패킷에서의 에러를 교정하거 위해서는,최대한 효율적인 방법으로 최대한 빠르게 에러가 발생한 정보 비트의 위치를 추정하여 패킷을 재전송하여야 한다. 이를 위하여, 본 발명에서는 이진 검색 (binary search) 혹은 interval halving의 개념을 사용한다. 도 11c에서의 예와 같이, 한 개의 미니 패킷에서 에러가 발생 했음을 알채 되면,두번째 전송 (즉,첫번째 재전송)에서는 그 미니 패킷의 정보 비트를 다시 두 개 혹은 여러 개의 미니 패킷으로 재분할하여, 각 미나 패킷의 끝에 CRC를 추가한다. 수신단에서는 두번째 전송된 패킷의 CRC들을 체크함으로써 에러 발생 위치를 보다 정확하게 알 수 있다. 만약,첫 번째 재전송을 통해서도 에러가 교정되지 않으면 세번째 전송 (즉, 두번째 재전송)을 수행하게 되는데, 이때는 첫 번째 재전송에서 에러가 발쟁한 미니 패킷에 해당하는 정보 비트를 전송하게 되는데,이러한 비트 들을 두 개 혹은 여러 개의 그룹으로 나누어서 각 그룹 (미니 패킷)의 끝에 CRC를 추가 하게 된다. 이것은 이진 검색의 개념으로서, 이와 같은 방식을 사용하여 에러가 발쟁한 정보 비트의 위치를 최소의 재전송을 통하여 알게 되며, 최대한 빠른 에러 복구가 가능하다.
도 11d에서는 좀 더 효율적인 재전송 방식을 제안한다. 첫번째 전송에서 두번째 미니 패킷에 에러가 발생한 경우 (즉, CRC2 (1) 체크가 실패한 경우)를 가정한다. 도 11d에 나타난 바와 같이,두 번째 미니 패킷에는 모두 6개의 정보 비트가 속해 있다. 한 가지 재전송 방식은,이 6개의 정보 비트를 모두를 재전송하는 것이다. 하지만,앞에서 기술했듯이,이 6개 정보 비트의 신뢰도는 모두 다르다. 도 11d에 주어진 예에서는 정보 비트 F 의 신뢰도가 가장 높고 정보 비트 C의 신뢰도가 가장 낮다. 그러므로,재 전송시에 6개의 정보 비트를 모두 재 전송 하는 것이 아니라 가장 신뢰도가 낮은 몇 개의 정보 비트들만을 재 전송할 수 있다. 도 11d의 예에서는,가장 신뢰도가 낮은 정보 비트3개 (B, C, D) 만을 재 전송한다. 이와 같이 재전송을 수행하면,재 전송시 필요한 채널 용량을 줄일 수 있으므로, 더욱 효율적인 재전송을 수행할 수 있다. 만약,동일한 채널 용량을 사용하는 경우에는 코드율 (code rate)을 줄일 수 있으므로, 재전송되는 3개의 비트의 신뢰도가 더욱 향상 된다.
도 11e에서는 이상에서 제안한 방식을 사용하여 HARQ 재전송을 수행하는 경우의,종합적인 예시를 나타내고 있다.
다중 CRC를 사용한 폴라코드 BP 디코딩 방식
기존에는, 다중 CRC를 SILC에 사용하여, 폴라 디코딩시에 필요한 복잡도나 메모리 용량을 줄이는 연구가 진행 되었다. 또한, 기존에서 한 개의 CRC를 폴라 BP 디코딩에 사용하여 early stopping을 하는 방식들이 연구되었다. 하지만, 다중 CRC를 폴라 BP 디코딩에 사용하는 방식은 현재까지 제안되지 않았다.
본 발명에서는, 도 12에서와 같이, 다중 CRC를 폴라 BP 다코딩에 사용하는 방식을 제안한다. 제안된 방식을 좀 더 자세히 기술하면, 폴라 디코딩으로 BP 방식을 사용할 때, 매번 반복 (iteartion)이 수행될 때 마다 각 CRC를 체크 한다. 반약 CRC 체크가 통과되면, 해당하는 정보 비트의 LLR 값을 양의 무한 (정보 비트가 1 인 경우)이나 음악 무한 (정보 비트가 0 인 경우}로 조정한다. 이를 통해,BP 방식의 디코딩에서 좀 더 적은 반복 (iteration)을 사용하여도 디코딩에 성공할 수 있다. 특히, CRC의 undetected error probability (UEP) 문제를 생각하여, CRC 체크은 첫번째 반복 (iteration)부터 수행하는 것이 아니라, 어떤 정해진 최소의 반족 (iteration) 값 (Imin) 이후 부터 CRC 체크를 수행할 수 있다.
도 12에서 정보 비트들을 여러 그룹으로 나누어서, 각 그룹에 대하여 CRC를 적용하게 되는데, 정보 비트를 나누는 여러 방법이 있다. 우선, 전체 정보 비트를 디코딩되는 순서대로 나열하고, 일정한 갯수의 정보 비트는 순차적으로 각 그룹에 할당 하는 방식이 았다.
다른 방식으로는, 전체 정보 비트를 각 정보 비트의 신뢰도에 따라서 나열하고 (즉, 각 정보 비트가 전송되는 비트 채널의 신뢰도에 따라서 나열하고), 일정한 갯수의 정보 비트를 순차적으로 각 그룹에 할당하는 것이다. 이 때, 각 그룹의 크기 (즉, 각 그룹에 할당펀 정보 비트의 갯수)는 모두 같을 필요는 없으며, BP 디코딩의 수렴 속도가 최대한 빨라 질 수 있도록 최적화 될 수 있다.
도 12에서와 같이 다중 CRC를 사용하여, 폴라 BP 디코딩을 수행하면 디코딩 수렴의 속도를 향상 시킬 수 있고, 또한 디코딩의 복잡도도 줄일 수 있다. 복잡도가 줄어드는 이유는 두가지이다. 우선, 수렴 속도가 빨라지므로, 더 적은 계산량을 요구하는 것여 첫 번째 이유이다. 두 번째 이유는, CRC체크를 통과한 정보 비트에 대해서는 LLR값을 더 이상 업데이트 할 필요가 없으므로,계산량이 줄어 들 수 있다.
CRC 기반 에러 정정
기존의 방식
일반적으로, CRC를 사용하는 주요 이유는 에러를 탐지하는 것이다. 기존의 연구 결과를 살펴 보면 다음과 같다. 아래의 논의에서는 우선 폴라 코딩을 적용한 재전송은 배제하고 정보 비트에 CRC비트가 추가되어 바로 채널로 전송된다고 가정한다 (실제의 시스템에서는 CRC가 추가된 정보 비트는 폴라 인코딩되며, 이렇게 구축된 코드워드가 채널로 전송될 수 있다).
벡터 b = [b1, b2, ... , bk]T는 정보 비트를 나타내며 (bi∈{0, 1}), 벡터 r = [r1 , r2, … ,rm]T는 CRC 비트들을 나타대며, 벡터 c=[bT, rT]T= [Cl, C2 , … , Cn] 는 채널로 전송되는 CRC 코드워드 (n=m+k)를 나타낸다. 여기서,CRC 비트는 수학식 13과 같이 신드롬 s0가 영이 되도록 디자인된다.
단, H 는 CRC에 해당하는 패리티 체크 (parity check) 행렬이다. 이와 같이 구성된 코드워드 c는 (실제적으로는 폴라 인코딩과 같은 채널 인코딩이 수행된 후) 모듈레이션 되어서 유선 혹은 무선 채널로 전송된다. 수산단에서는 디모률레이션이 수행되고 (그리고, 채널 디코딩이 수행된 후) 수신 신호 벡터 y를 얻게 된다. 수산단에서는 y를 사용하여 i번째 코디드 비트 (coded bit)에 대한 LLR을 수학식 14와 같이 계산한다.
LLR값으로 부터 각 ci에 대한 최종 하드 결정 (hard decision)은 수학식 15와 같이 수행된다.
여기서 벡터 를 위에서 하드 결정된 모든 비트들을 포함하는 길이 n의 벡터라고 하면,하드 결정된 벡터 와 원래 전송된 코드워드 벡터 c와는 다음과 같은 관계가 성립한다.
여기서,, e는 에러 벡터를 나타낸다. 이 때 신드롬 s0는 수학식 17과 같이 주어짐을 쉽게 보일 수 있다.
수신단에서는 를 알고 있으므로, 만약 수신단이 e를 알 수 있다면 수학식 16을 사용하여 원래의 코드워드 c를 추정할 수 있다. 즉 CRC를 사용하여 에러 정정을 수행할 수 있는 것이다. 그러므로 c를 추정하기 위해서는 e를 추정하는 것이 필요하다.
수학식 18과 같이, 신드롬 조건을 만족하면서, 최대의 확률을 가지는 에러 페턴 e를 추정할 수 있다.
몇 가지 수학적인 과정을 거쳐서, 위의 문제는 수학식 19 (P1)와 같이 단순화 될 수 있다.
단, 이며 은 가능한 2n 개의 모든 에러 패턴 중에서 주어진 신드롬을 만족하는 에러 패턴들의 집합으로, 수학식 20과 같다.
여기서 는 길이 n인 2n개의 모든 가능한 에러 패턴의 집합을 나타낸다.
수학식 19에서는, 모든 가능한 T개의 에러 패턴에 대하여 신드롬 조건이 맞는지 체크고, 그 중에서 최대의 확률을 가지는 에러 패턴을 선정해야 한다. 이 경우 복잡도가 2n 으로 매우 높다는 문제가 있다.
위와 같은 복잡도 문제를 해결하기 위하여, 좀 더 간단한 방식을 제안한다. 길이 n를 가지는 에러 패턴을 추정하는 것이 아니라, n개의 비트 중에서 LLR의 절대값이 가장 작아서 에러가 발생할 확률이 상대적으로 높은 Nur개의 비트 들 만을 선택하여 , 이 비트들에 발생할 수 있는 길이 Nur의 에러 패턴 를 추정하는 것이다. 이를 위해서, 먼저 길이 Nur를 가지는 를 선택하는데, 이 벡터는 길이 n을 가지는 벡터 에서 가장 작은 값을 가지는 Nur개의 원소를 선택하여 구축하는 벡터이다. 이 경우, 에러 추정 문제는 수학식 22 (P2)와 같이 주어진다.
단, 는 길이 Nur의 에러 패턴을 나타내며, 은 수학식 13과 같이 정의 된다.
위의 식에서, 는 가장 LLR의 절대값이 작아서 선택된 Nur개의 정보 비트에서 발생할 수 있는 모든 Nur개의 에러 패턴들의 집합을 나타낸다.
수학식 22에서는 복잡도가 2Nur로서 수학식 19보다 낮다. 하지만, 여전히 복잡도가 지수함수적으로 증가한다는 단점이 있다.
이러한 문제를 극복하고자 복잡도를 더욱 낮춘 방법을 제안한다. 이 방식에서는 2Nur 개의 원소를 가지는 집합 에서 가장 작은 값을 가지는 개의 원소들의 집합 를 매우 낮은 복잡도를 가지고서 선택해 낼 수 있다. 집합 는 수학식 25와 같이 정의된다.
여기서 이며, 의 원소들에 대해서는 수학식 26의의 관계가 성립한다.
수학식 26과 같이 주어진 집합에 대해서, 수학식 27 (P3)과 같이 에러 패턴 추정을 수행한다.
수학식 27에서 복잡도는 지수 함수적으로 주어지지 않고, Nmax값으로 주어지는데, 일반적으로 Nmax를 Nmax=3Nur로 선택하면 수학식 27을 이용한 에러 패턴 추정 성능이 수학식 22를 이용한 에러 패턴 성능 추정에 근접하게 된다. 이 경우 수학식 22를 이용할 때의 복잡도는 2Nur로 주어지는 반면, 수학식 27을 이용할 때의 복잡도는 Nmax=3Nur로 낮아질 수 있다.
이와 같이 주어진, 수학식 19, 22, 27을 이용한 에러 패턴 추정을 통한 에러 정정 방식 모두에서, 에러 정정의 성능은 CRC의 길이 m이 증가할 수도록 향상된다.
제안 방식
이하에서는 상기 설명한 CRC 기반 에러 정정 방식을 HARQ와 결합한다. 즉, 최초 전송 실패로 인하여 패킷이 재전송되는 경우, 수신단에서는 수신된 여러 패킷들에 속해 있는 CRC들을 모두 결합하여 CRC 기반 에러 정정을 수행함으로써 에러정정 성능을 극대화 시킨다.
패킷 전체 재전송 (하드 결합)
최초에 길이 m인 CRC를 포함한 길이 n의 패킷이 전송된다. 정보 비트의 갯수는 n-m=k이다. 이 때, 수신단에서 계산되는 신드롬은 수학식 28과 같다.
만약, s1≠0이면, 첫째 패킷에 에러가 있다는 의미이다. 이 때, 기존의 CRC기반 에러 정정 방식 (P1), (P2), (P3)를 통하여 에러 정정을 시도한다. 만약, 에러 정정에 실패하면, 동일한 k개의 정보 비트를 재전송한다. 수신단에서 계산되는 신드롬은 수학식 29와 같다.
2.2.1에서는 첫번째 패킷에 사용된 CRC와 두번째 패킷에 사용된 CRC가 동일한 경우를 가정한다.
벡터 c를 실제로 전송된 코드워드라고 하고, 을 첫번째 전송으로부터 수신단에서 하드 결정을 내린 코드워드, 를 두번째 전송으로부터 수신단에서 하드 결정을 내린 코드워드라고 한다. 이 경우, 실제 전송된 코드워드를 최적으로 추정하는 문제는 수학식 30과 같이 주어진다.
벡터들 간의 관계 을 고려하면, 수학식 31과 같은 관계가 성립함을 알 수 있다.
여기서, 이다.
약간의 수학적인 과정을 거치면, 두개의 수신된 패킷으로 부터 을 최적으로 추정하는 방식은 수학식 32와 같다.
여기서 이며, , , 으로 정의된다.
수학식 32와 수학식 19를 비교해 보면, 두 수식이 동일한 형식으로 주어짐을 확인할 수 있다. 단, 수학식 32에서는 CRC의 길이가 2m이다. 따라서, 수학식 32를 이용하면 에러 정정 성능이 수학식 19를 이용할 때보다 향상됨을 알 수 있다.
기존의 연구에서와 같이, 본 발명에서도 수학식 32를 이용하는 경우 복잡도가 2n으로 높으며, 앞서 설명한 방식을 적용하는 경우 다음과 같이 복잡도를 낮춘 수학식이 도출된다.
여기서, 이다.
여기서, 이다.
만약, 패킷이 K번 전송되는 경우, 위의 방식 수학식 32는 수학식 35와 같이 표현될 수 있다. 이 때, 모든 패킷은 동일한 CRC 방식을 사용한다고 가정한다.
여기서, , , , 이다.
패킷이 K번 전송되는 경우, 수학식 33은 수학식 36 (P2(2)), 수학식 34는 수학식 37 (P3(2))과 같다.
여기서, 이다.
여기서, 이다.
패킷의 부분 재전송 (하드 결합)
첫번째 전송에서 길이 n1인 패킷을 전송한다. 첫번째 패킷은 k1개의 정보 비트와 m1개의 CRC비트를 포함하고 있다. 두번째 전송에서는 첫번째 패킷에 포함된 k1개의 정보 비트 중에서 가장 신뢰도가 낮은 k2개의 정보 비트만을 선택하여 재 전송한다고 가정한다. 두번째 패킷은 k2개의 정보 비트와 m2개의 CRC 비트를 포함한다 (n2≤n1, k2≤k1). 폴라 코딩의 경우 각 비트가 전송되는 폴라코딩 비트 채널의 신뢰도가 다 다르게 되는데, 그 다른 신뢰도 값은 송신단에서 확률적으로 결정할 수 있다. 또한, 첫번째 패킷에 사용되는 CRC와 두번째 패킷에 사용되는 CRC는 다를 수 있다.
수신단에서, 두개의 수신된 패킷으로부터 수학식 38과 같이 두개의 신드롬을 얻을 수 있다.
H1의 n1개의 열 중에서 두번째 패킷에서 전송된 k2개의 정보 비트의 위치에 해당하는 k2개의 열 들 만을 선택하여 m1 x k2 크기를 가지는 행렬 H` 1을 구한다. 또한, H2의 n2개의 열 중에서 두번째 패킷에서 전송된 k2개의 정보 비트의 위치에 해당하는 k2개의 열 들 만을 선택하여 m2 x k2 크기를 가지는 행렬 H` 2을 구한다. 이 경우, 이 CRC 패리티 체크 행렬들에 의해서 구해지는 신드롬들은 수학식 39와 같은 관계를 만족한다.
단, 여기서 e'1과 e'2는 첫번째 패킷과 두번째 패킷에서 k2 정보 비트 (즉, 두번째 패킷에 의해서 전송되는 정보 비트)에서 발생하는 에러 패턴을 나타낸다. 또한, 신드롬 s'1과 s'2는 수학식 40과 같이 정해질 수 있다.
단, 여기서 H1''은 H에서 H'을 제외한 행렬이고 H2''는 H2에서 H2'를 제외한 행렬이다. 또한, 크기 k1-k2+m1인 벡터 e1''는 첫번째 패킷에서 k1-k2개의 가장 신뢰도가 높은 정보 비트에서 발생하는 에러와 m1개의 CRC 비트에서 발생하는 에러를 합한 에러 패턴이다. 크기 m2 벡터 e2''는 두번째 패킷에서 m2개의 CRC 비트 에서 발생하는 에러 패턴이다. 이 두개의 에러 패턴, e1''과 e2''는 수신단에 알려져 있지 않으나, 이에 해당하는 비트에서 에러가 발생하는 확률이 작다는 가정하에 본 발명에서는 e1''=0, e2''=0으로 가정한다. 수신단은 s1, s2, H1'', H2''을 알고 있으므로, s1'과 s2'을 계산할 수 있다.
앞서 설명한 수학적인 과정을 거치면 에러 정정 방식에 사용되는 다음 수학식 41(P1(3))을 도출할 수 있다.
여기서, , , , 이다.
앞서 설명한 방식을 적용하는 경우 수학식 42 (P2(3))와 같이 복잡도를 낮춘 수학식이 도출된다.
여기서, 이다.
여기서, 이다.
이 때, K개의 패킷이 전송되는 경우를 생각한다. 각 전송에서 패킷의 길이는 nk (k=1,2, … , K)이며 다음과 같은 관계가 성립한다.
n1 ≥ n2 ≥ … ≥ nK
또한, 각 패킷이 포함하는 정보 비트의 갯수는 다음과 같은 관계가 성립한다.
k1 ≥ k2 ≥ … ≥ kK
모든 패킷들은 길이 mk (k=1,2, …, K)의 서로 다른 CRC를 가질 수 있다고 가정한다.
이 경우 전송 방식 (P1(4))는 수학식 44를 이용할 수 있다.
여기서, ,, , 이다.
앞에서와 마찬가지로, 복잡도를 낮춘 (P2(4))는 수학식 45, 복잡도를 더욱 낮춘 (P3(4))는 수학식 46을 이용할 수 있다.
여기서, 이다.
여기서, 이다.
패킷 전체 재전송: 소프트 결합
전체 패킷이 재전송 되었을 때, 수신단에서는 수신된 패킷의 소프트 값 (LLR값)을 먼저 결합한 후에, 에러 패턴을 추정하는 방식을 제안한다. 수산단에서 k번째 수신된 패킷에 대한 수신 신호 벡터를 yk로 나타댄다. 수신단에서는, {yk: k=1,2, …, K}를 사용하여, 같이 결합된 패킷에 대한 i번째 LLR을 수학식 46과 같이 계산한다.
여기서, 이다.
LLR값으로 부터 각 ci에 대한 최종 하드 결정 (hard decision)은 수학식 48과 같이 수행된다.
벡터 는 하드 결정된 모든 모든 비트들을 포함하는 길이 n의 벡터이다. 는 모든 패킷의 LLR이 결합된 값을 나타내는 벡터이다.
이 값들을 기존의 방식 (Pl) , (P2), (P3) 에 대압하여 에러 정정을 수행할 수 있다. 이와 같이 주어지는 방식을 본 발명에서는 (Pl(5)) , (P2(5)) , (P3(5))로 나타낸다. 이 경우, 결합된 패킷에 대한 에러 패턴 e를 추정하면, 이로 부터 를 사용하여 송신된 패킷을 추정한다. 이와 같이 추정된 패킷에 대하여 CRC체크를 수행하여 CRC 체크가 성공한 경우 에러를 정확히 추정했다고 결론을 내린다.
패킷 부분 재전송: 소프트 결합
패킷의 일 부분만이 재전송된 경우에도 2.2.3 절에서 제시된 방식으로 소프트 결합을 수행하고 에러 추정을 수행할 수 있다. 한가지 다른 점은, 패킷의 일 부분만 전송되면 재전송한 정보 비트들에 대해서만 LLR값을 더한다는 것이다. 그 외에는 2.2.3 절에서 제안된 방식과 동일하다. 이와 같이 패킷의 부분 재전송인 경우 소프트 결합을 사용하여 에러 추정을 수행하는 방식을 (Pl(6)) , (P2(6)) , (P3(6))로 나타낸다.
2.2.5다중 CRC를 적용하여 에러 정정을 수행하는 방식과 다중 CRC를 사용한 폴라 코딩 기반의 HARQ를 결합
도 13은 다중 CRC를 적용하여 에러 정정을 수행하는 방식과 다중 CRC를 사용한 폴라 코딩 기반의 HARQ기반 데이터 재전송을 결합한 방식을 나타내고 있다. 도 13에서 Z는 폴라 코딩에 사용되는 프로즌 비트 (frozen bit)를 나타낸다. 첫번째 패킷은 두 개의 미니 패킷으로 이루어져 있고, 첫번째 패킷이 전송되었을 때, CRC1이 실패했다고 가정한다. 이 때, 수신기는 우선 CRC1을 사용하여 (P1), (P2) 혹은 (P3)에 근거하여 에러 정정을 수행한다. 만약 에러 정정에 실패하면, 에러가 발생한 것으로 확인된 첫번째 미니 패킷 전체를 재 전송하는 것이 아니라, 그 미니 패킷 중에서 신뢰도가 낮은 폴라 비트 채널로 전송되는 일부 비트 그룹 a1만을 CRC3를 추가하여 재전송한다. 이것은 앞에서 기술한 이진 검색 (binary search) 방식에 기반한 것이다.
CRC3가 다시 실패하면, 두개의 CRC (즉, CRC1과 CRC3)을 사용하여 (P1(3)), (P2(3)), (P3(3)) 에 근거하여 에러 정정을 수행한다. 만약, 이러한 에러 정정에 실패하면, a1에서 신뢰도가 낮은 폴라 비트 채널로 전송된 일부 비트 그룹 a11을 다시 전송한다.
CRC3이 성공하면, 두번째 패킷에서 수신된 a1에는 에러가 없는 것이 확인되었으므로, 이것을 첫번째 패킷의 a1에 대입한다. 이제 다시 CRC1을 체크하여, 실패하면, a2에 에러가 있다는 의미이다. 이제 CRC1을 사용하여 (P1), (P2), (P3)에 근거하여 에러 정정을 수행한다. 만약, 이러한 에러 정정에 실패하면, a2에서 신뢰도가 낮은 폴라 비트 채널로 전송된 일부 비트 그룹 a21을 다시 전송한다.
CRC3과 CRC1이 모두 성공하면, CRC2의 결과에 따라 다음 전송 방식이 달라 진다. 만약, CRC2가 실패하면, 위의 과정을 b1과 b2에 대하여 반복한다. 만약, CRC2도 성공하면, 완전히 새로운 패킷을 전송한다.
3. CRC의 undetected error probability (UEP) 문제에 대한 해결
일반적으로 CRC는 에러의 존재를 탐지하는데 효과적이기는 하지만, 에러탐지 확률이 1은 아니다. 전송되는 정보 비트중에 실제로 에러가 존재하지만 이 에러의 존재를 CRC가 탐지하지 못하는 확률을 undetected error probability (UEP)라고 하며, 문헌에서는 흔히 다음과 같은 근사화 수식을 사용한다.
여기서, m은 CRC에 사용되는 비트 수이다. 이 때 m의 길이가 증가하면, UEP가 지수함수적으로 감소하고, m이 감소하면, UEP가 지수 함수적으로 증가한다.
3.1 이중 계층 CRC를 사용한 에러 탐지
이러한 UEP 문제를 해결하기 위해서는, 두개의 계층으로 CRC를 구성하여 사용하는 방식을 이용 가능하다. 도 14a와 같이, CRC1, CRC2, CRC3는 첫번째 계층에 사용되는 CRC들이며, 이 것들은 각 미니 패킷의 에러 탐지를 수행한다. CRC0는 두번째 계층에 사용되는 CRC이다. CRC0는 세개의 미니 패킷 어느 것에서나 발생하는 에러를 탐지하는 역할 수행한다. 결국, 각 미니 패킷에서 발생되는 에러는 CRCi, i=1,2,3와 CRC0에 의해서 이중으로 탐지되는 것이다. 이하에서는 도 14a에서와 같이 CRC가 이중 계층으로 사용되는 경우 효율적인 재전송 방식과 CRC를 사용한 에러 정정 방식을 개발한다.
벡터 (i=1,…, L)는 수신단에서 수신되어 하드 결정이 내려진 L개의 미니 패킷을 나타내며, 각 미니 패킷 끝에는 한개의 CRC가 포함되어 있다. 각 미니 패킷의 길이는 ni이다. 길이 n의 벡터 는 모든 미니 패킷을 포함한 패킷을 나타내며, 패킷의 끝에는 추가로 한개의 CRC가 더 연결되어 있다.
여기서, , 이고, 수신단은 하기 수학식 50과 같이 미니 패킷들에 대한 신드롭들과 패킷에 대한 신드롬을 얻게 된다.
수신단은, 다음과 같이 미니 패킷들에 대한 신드롬들과 패킷에 대한 신드롬을 얻게 된다.
여기서, Hi (i=1, 2, …, L)은 각 미니 패킷에 사용된 CRC 각 미니 패킷에 사용된 CRC의 패리티 체크 행렬이며, $\bfH_0$은 패킷에 사용된 CRC의 패리티 체크 행렬이다.
이와 같이 이중 계층으로 CRC를 사용하는 경우에는 UEP가 하기 수학식 51과 같이 주어진다.
여기서 PUEP(0)은 CRC0에 대한 UEP이며, PUEP(i)은 CRCi에 대한 UEP이다. 결국, 한 계층의 CRC를 사용하는 경우보다, 이중 계층으로 CRC를 사용하는 경우 UEP를 훨씬 줄일 수 있다.
3.1.1 이중 계층 CRC를 사용한 경우 재 전송 방식
이중 계층 CRC를 사용하여 데이터를 전송하는 경우, 수신단에서는 다음과 같은 세가지 경우를 생각할 수 있다.
새로운 패킷을 전송한다.
에러가 발생한 미니 패킷(들)을 알 수 있으므로, 그 미니 패킷(들)이 재 전송 된다.
이 경우에는, 패킷 내에서 에러가 발생한 것은 알지만, 정확히 어느 미니 패킷에서 에러가 발생했는지는 알지 못한다. 즉, 미니 패킷에서 사용된 CRC들이 에러 탐지에 실패한 경우이다. 이 경우에 대한, 재 전송 방식을 아래에서 논의한다.
일 실시 예로는 전체 패킷을 재전송할 수 있다. 하지만, 이러한 재 전송 방식은 매우 비 효율적이며, 특히 L의 값이 크게 되면 더욱 비효율적으로 된다. 이러한 문제를 해결하고자, 다음 방식을 사용할 수 있다.
우선, L개의 미니 패킷을 각 미니 패킷에 에러가 발생했었을 확률이 큰 것에서부터 작아지도록 나열한다. 즉, 에러가 발생하지 않았었을 확률이 작은 것에서부터 큰것의 순서로 나열한다. 이렇게 나열된 미니 패킷의 인덱스를 i1, i2, …, iL로 나타낸다.
l번째 미니 패킷에서 에러가 발생하지 않을 확률 은 수학식 53과 같다.
송신단에서는, 미니 패킷을 한 개씩 i1, i2, …, iL의 순서로 재전송한다. 수신단에서는 한 개씩의 미니 패킷을 받을 때마다 두 계층의 CRC을 수행한다. CRC 체크가 성공한 경우에는 송신단이 완전히 새로운 패킷을 전송한다. CRC 체크가 실패한 경우에는 순서에 따라 다음번 미니 패킷이 재 전송된다.
3.1.2. 이중 계층 CRC를 사용한 경우 CRC를 사용한 에러 정정 방식
다음과 같은 세가지 경우를 생각할 수 있다.
새로운 패킷을 전송한다.
에러가 발생한 미니 패킷(들)을 알 수 있으므로, 두 계층의 CRC를 사용하여 에러 정정을 수행한다.
에러 정정에 실패하면, 에러가 발생한 미니 패킷을 재전송한다.
에러가 발생한 미니 패킷(들)을 알 수 없는데, 이 경우에도 CRC를 사용하여 에러 정정을 수행할 수 있는 방식이 필요하며, 이 방식이 아래에 기술된다.
에러 정정에 실패하면, 3.1.1에서 기술한 방식대로 확률에 근거하여 미니 패킷을 한 개씩 재전송한다.
우선, 미니 패킷을 수학식 54와 같이 정렬한다.
이제, i1에 해당하는 미니 패킷부터 시작하여, il, l=1, 2, …, K의 순서대로 CRC에 근거한 에러 정정을 다음 수학식 55 (P2(7))를 사용하여 수행한다.
여기서 , , 이다.
여기서 H0,il는 크기 m0 x nil를 가지는 행렬로서, il번째 미니 패킷에 해당하는 비트 위치를 나타내는 열들을 H0로 부터 선택하여 구축된다. 계산량을 줄이기 위해, 아래 수학식 56 (P3(7))과 같은 방식을 사용할 수 있다.
여기서, 이다.
3.2 부분적으로 중첩된 CRC 전송 방식
이상에서는 이중 계층으로 CRC를 사용하는 방식을 제안하였다. 이러한 방식은 UEP를 줄이는데는 매우 효과적이지만, CRC가 너무 많이 사용되어야 한다는 단점이 있다. 그러므로, 이하에서는 각 미니 패킷 한개에 대하여 CRC 한 개씩을 사용하되, 패킷에 대하여 CRC를 추가로 사용하지 않은 방식을 생각한다. 도 14b의 conventional은 기존의 방식을 나타낸다. 도 14b와 같이, 각 미니 패킷에 대해서 한 개씩의 CRC가 사용되지만, 패킷 전체에 대해서는 CRC가 사용되지 않는다. 도 14b의 proposed는 본 발명에서 제안하는 부분적으로 CRC를 중첩시키는 CRC 방식을 나타낸다. 이 방식에 대하여, 아래에서는 에러 탐지, 재 전송, 에러 정정, 폴라 디코딩에 대한 새로운 방식들을 제안한다.
3.2.1 에러 탐지
기존의 방식에 비해서, 제안된 방식에서는 좀 더 우수한 에러 탐지 성능을 보인다. 예를 들어, 도 14b에서, 첫번째 미니 패킷 a는 기존의 방식에서는 한개의 CRC에 의해서만 탐지 되지만, 제안된 방식에서는 세개의 CRC에 의해서 탐지된다. 그러므로, 제안된 방식의 경우에는, 첫번째 미니 패킷에 대한 UEP가 매우 작아진다. 두번째 미니 패킷 b의 경우에는, 기존의 방식에서는 한개의 CRC에 의해서만 탐지 되지만, 제안된 방식에서는 두개의 CRC에 의해서 탐지된다. 그러므로 두번째 미니 패킷에 대한 UEP도 작아진다. 마지막, 세번째 미니 패킷의 경우에는, 기존의 방식과 제안된 방식이 동일한 UEP를 가지게 된다.
3.2.2 재전송
도 14b에서 제안된 부분적으로 중첩된 CRC를 사용하여 전송 했을 때, 수신단에서 CRC1과 CRC2의 CRC 체크는 통과했으나, CRC3의 CRC 체크는 실패할 수 있다. 이 경우, 이론적으로는 미니 패킷 a, b, c 중의 하나에 에러가 발생 했음을 알 수 있다. 그러나, 에러가 발생했었을 확률은 다르다. 우선, 첫번째 미니 패킷에 에러가 발생했었을 확율은 가장 작다. 왜냐하면, 이 확률은, CRC1이 첫번째 미니 패킷의 에러를 탐지 하지 못할 확률, CRC2가 첫번째 미니 패킷의 에러를 탐지 하지 못할 확률, 그리고, CRC3이 첫번째 미니 패킷의 에러를 탐지할 확률의 곱으로 주어진다. 이에 반해, 두번째 미니 패킷에 에러가 발생 했을 확률은 더 높다. 마찬가지의 이유로, 세번째 미니 패킷에서 에러가 발생 했었을 확률은 가장 높다. 본 발명에서 제안하는 재 전송 방식은, 에러가 발생 했었을 확률이 가장 높은 세번째 미니 패킷을 우선 재 전송 하는 것이다. 그리고, CRC3을 다시 첵 한다. 만약 실패하면, 두번째 미니 패킷을 재 전송하고, 만약 CRC3이 다시 실패하면, 첫번째 미니 패킷을 재전송 한다.
위에서 제안된 방식은 K개의 CRC가 중첩된 경우에도 적용될 수 있다. 예를 들어, CRC1부터 CRCK-1까지 모두 성공하고, CRCK가 실패한 경우에는, K번째 미니 패킷부터 시작하여, K-1번째 미니 패킷, …, 첫 번째 미니 패킷의 순서로 미니 패킷을 재전송한다.
3.2.3 에러 정정
이상에서 제안된 재전송 대신, CRC를 사용한 에러 정정을 수행할 수 있다. 에러 정정의 순서를 결정할 때, 각 미니 패킷에 에러가 발생했었을 확률이 다 다르다는 것을 고려한다. 즉, CRC에 기반한 에러 정정을 K번째 미니 패킷부터 시작하여, K-1번째 미니 패킷, …, 첫번째 미니 패킷의 순서로 수행한다.
3.2.4 폴라 디코딩
본 발명에서 제안한 중첩된 CRC를 BP 디코딩을 사용하는 폴라 디코딩에도 적용할 수 있다. 도 14c에는 이 개념이 나타나 있다. BP 디코딩을 사용하여 폴라 디코딩을 수행할 때, 각 CRC를 체크하여 CRC가 성공하면, 그 CRC에 해당하는 정보 비트의 LLR을 양의 무한이나 음의 무한으로 설정한다. 이러한 방식을 통하여, BP 디코딩이 더욱 효율적으로 수행될 수 있다. 이 때, CRC의 UEP가 문제가 될 수 있는데, 이러한 UEP 문제는 본 발명에서 제안하는 부분적으로 중첩된 CRC 를 사용함으로 상당 부분 해결할 수 있다.
3.2.5 변형된 부분적으로 중첩된 CRC 전송 방식
여러 가지 변형된 부분적으로 중첩된 CRC 전송 방식을 생각할 수 있다. 도 14d에서는 한가지 변형을 나타내고 있다. 이 변형된 방식은 도 14d에 주어진 제안된 방식에 비하여 UEP 성능은 상대적으로 나쁠 수 있다. 하지만, 각 CRC가 담당하는 정보 비트의 갯수가 적으므로, CRC 첵에 요구되는 계산량이 적어진다. 결국, 도 14d의 왼쪽 방식과 오른쪽 방식을 두 극단으로 했을 때, 그 중간에 존재하는 많은 변형된 방식 들을 생각할 수 있다.
4. 비 체계적 폴라 코드와 체계적 폴라 코드
폴라 코드에는 두가지 종류가 존재 한다. 하나는 비 체계적 폴라 코드 (non-systematic polar code)이고 나머지 하나는 체계적 폴라 코드 (systematic polar code)이다. 도 15는 비 체계적 폴라 코드와 체계적 폴라 코드를 나타내고 있다. 아래에서는 우선 폴라 코드의 인코딩에 대하여 설명한다.
폴라 코드는 생성 행렬 (generator matrix) G에 의해서 인코딩 된다. 가 생성 행렬에 곱해 지는 (즉, 입력되는) 비트들의 벡터라고 하자. 또한, 는 생성 행렬에 곱하여 얻어지는 (즉, 출력되는) 비트 들의 벡터라고 하자. 실제로 채널로 전송되는 코드워드 (codeword)는 x이다. 위에서 는 정보 비트가 할당되는 위치를 나타내는 인덱스들의 집합이다.
비 체계적 폴라코드에서는 프로즌 비트가 에 할당되고 정보 비트가 에 할당된다. 흔히, 정보 비트의 마지막에는 CRC (cyclic redundancy check) 비트가 첨부된다. x=uG에 의해서 코드워드가 얻어지며 이것이 채널로 전송된다.
체계적 폴라코드에서는 프로즌 비트가 에 할당되고 정보 비트가 에 할당된다. 흔히, 정보 비트의 마지막에는 CRC (cyclic redundancy check) 비트가 첨부된다. 를 선행 문헌에 기재된 바와 같이 결정한 후, 코드워드 를 채널로 전송한다.
비 체계적 폴라 코드의 디코딩은 다음과 같이 수행된다. 디코딩 방식에는 여러 가지가 존재한다. 가장 일반적인 방법은 SC (successive interference) 디코딩이다. 그 성능을 높이기 위하여는 리스트 SC 디코딩이 사용될 수 있으며, 그 성능을 더욱 높이 위해서는 정보 비트의 일부를 CRC 코딩을 위하여 사용할 수 있다. 다른 디코딩 방법으로 소프트 값을 얻는 BP (belief propagation) 방식들이 존재한다. 본 발명에서 제안하는 방식은 어떤 디코딩 방식으로도 디코딩 될 수 있다. 디코딩 방식은 리스트 SC 디코딩일 수 있다. 비 체계적 폴라 코드의 디코딩에서는, 이러한 디코딩 방식을 사용하여 의 디코딩된 값인 를 얻는다.
체계적 폴라 코드의 디코딩의 경우에는 디코딩이 두 단계로 이루어진다. 첫 단계에서는, 비 체계적 폴라 코딩에서와 마찬가지로 를 얻는다. 두번째 단계에서는 재 인코딩 (re-encoding)의 단계를 거쳐서 를 얻는다. 체계적 폴라 코딩의 정보 비트의 디코딩 값인 는 재 인코딩에 의해서 구축된 코드워드 에 포함되어 있다.
체계적 폴라 코딩과 비 체계적 폴라 코딩의 FER (frame error rate)은 같다. 하지만, BER (bit error rate)의 성능은 체계적 폴라 코딩이 더욱 우수하다. 즉, 동일한 SNR (signal to noise ratio)에서 체계적 폴라 코딩은 비 체계적 폴라코딩에 비하여 더욱 낮은 BER을 보인다. 그 이유는, 체계적 폴라 코딩의 디코딩의 두번째 단계인 재 인코딩시에서 얻게되는 에러 감쇄 효과 때문이다.
폴라 코드에 의해서 인코딩된 데이터 패킷을 실제의 채널로 전송할 때 발생하는 에러에 대응하기 위하여 폴라 코딩과 HARQ (hybrid automatic repeat request)를 결합한 방식을 생각할 수 있다. 문헌에는 비 체계적 폴라코드와 HARQ를 결합한 방식들이 존재한다. HARQ방식에서는, 최초에 전송 되는 패킷의 코드율 (code rate)을 높게 설정한다. 만약, 첫번째 패킷의 전송이 성공적이지 않으면, 재 전송을 통하여, 전체 적인 관점에서 보았을 때의 코드율이 낮아 지도록 한다. 코드율이 낮으면 에러 확률도 낮아지므로, 재 전송이 반복 될 수록, 코드율이 낮아짐과 동시에 패킷이 성공적으로 디코딩 될 확률도 높아진다. HARQ 방식에서 첫번째 패킷의 코드율을 높게 설정한다는 것은, 첫 번째 패킷의 전송시에는 채널이 충분히 좋을 것 같다는 것을 가정하는 것이다. 첫번째 패킷의 코드율을 설정할 때, 만약 그 코드율이 너무 높게 설정되면, 첫번째 패킷이 디코딩에 실패할 확률이 너무 높아질 것이며 높은 확률로 재 전송이 이루어져야 한다. 이 경우 전송 지연이 발행하게 된다. 만약, 첫번째 패킷의 코드율이 너무 낮게 설정되면, 실제의 채널이 매우 좋은 경우, 그 좋은 채널이 제공하는 큰 채널 용량을 모두 이용하지 못하게 된다는 단점이 존재한다.
이러한 HARQ의 단점을 보완할 수 있는 접근 방법으로 다중 계층 전송 (multi-layer transmission (MLC))라는 방식이 존재한다. 다중 계층 전송은 HARQ와는 달리, 한 패킷내에 여러 개의 계층을 두고, 각 계층으로 정보 비트를 전송하는 것이다 [참고문헌 2], [참고문헌 3]. 만약, 채널이 좋지 않으면, 처음 계층의 정보 비트만을 디코드할 수 있다. 하지만, 채널이 좋으면 다음 계층의 정보 비트도 디코딩할 수 있다. 채널이 아주 좋으면, 모든 계층의 정보 비트를 디코딩 할 수 있다. 다중 계층 전송은 문헌에서 흔히 수퍼포지션 코딩 (superposition coding (SPC))이라고 불리기도 한다. 하지만, 다중 계층 전송은 일반적으로 알려진 수퍼포지션 코딩과는 다르다. 다중 계층 전송에서는 한 개의 송신기와 한개의 수신기가 존재하는 경우에 사용하는 방식이다. 다중 계층 전송의 예로서 두개의 계층이 존재하는 경우, 송신 신호 x와 수신 신호 y는 수학식 57과 같이 주어진다.
여기서, P1+P2=PT. 위의 수식에서 si는 i번째 계층으로 전송되는 신호를 나타내고 Pi는 i번째 계층에 할당되는 전력을 나타내며, PT는 전체 전력을 나타낸다. 첫번째 계층과 두번째 계층의 채널 용량은 수학식 58과 같이 주어진다.
위와 같이 다중 계층을 사용하여 데이터를 전송하면, 페이딩 환경에서의 수율 (throughput) 혹은 평균 전송률 (average data rate)을 향상 시킬 수 있다. 본 발명에서 제안하는 방식의 임의의 갯수의 계층을 가지는 다중 계층 전송 방식에 적용될 수 있지만, 논의의 편의를 위하여 아래에서는 두 개의 계층이 있는 경우만을 가정한다.
기존에는, 체계적 폴라코딩과 HARQ를 결합한 방식은 존재하지 않았다. 체계적 폴라 코딩은 비 체계적 폴라 코딩에 비하여 더욱 좋은 BER 성능을 보이므로, 이러한 연구는 반드시 필요하다.
또한, 체계적 폴라코딩과 HARQ를 다중 계층 전송과 결합하는 방식은 기존에 개발되지 않았다. HARQ와 다중 계층 전송은 서로 보완적인 관계를 가지고 있고, 여기에 좋은 성능을 가지는 체계적 폴라 코드를 사용하는 연구는 반드시 필요하다.
4.1 매 패킷에 한개의 CRC를 사용하는 HARQ
4.1.1 HARQ 1s 방식
본 발명에서 첫번째로 제안하는 방식은 체계적 폴라코드를 모든 패킷에 대하여 사용하는 방식이다. 이 방식을 본 발명에서는 HARQ 1s 방식이라고 부른다. 여기서 s는 single CRC를 나타낸다. 도 16a는 HARQ 1s 방식을 나타낸다. 도 16a에서 볼 수 있듯이, 첫번째 패킷은 체계적 폴라 코드에 의해서 코딩되고 전송된다. 수신단에서 CRC 체크 (check) 결과가 실패로 나오는 경우, 이것은 송신단에 알려 지고, 송신단은과 두번째 패킷을 전송하게 된다. 첫번째 패킷의 는 코딩되어 전송되는 정보 비트의 집합을 나타낸다. 이 정보 비트의 집합 중에서 가장 신뢰도가 낮은 정보 비트들로만 구성된 집합은 로 나타낸다. 이와 같이 로 부터 생성되는 경우 로 나타낸다.
첫번째 패킷과 두번째 패킷에 첨부되는 CRC는 모두 체계적 폴라코드에 의해서 코딩된다.
도 16b는 재 전송이 두 번 발생하는 경우 (최초 전송을 포함하여 모두 3번의 전송) 를 나타낸다. 첫번째 전송이 실패한 경우 를 전송한다. 두번째 전송도 실패한 경우에는, 송신단에서 첫번?? 전송된 비트들의 신뢰도와 두번째 선택되어 전송된 비트들의 신뢰도를 합하여, 전송된 비트 들의 신뢰도를 새로 업데이트 한다. 이러한 과정에 의하여 정보 비트들의 새로 업데이트된 신뢰도를 로 나타낸다. 이제 에서 가장 낮은 신뢰도를 가지는 정보 비트들을 선택하여, 세번째 전송에서 전송하게 된다. 즉, 세번째 전송에서 전송되는 비트들의 집합 로 나타낼 수 있다.
또한, 모든 패킷의 CRC 비트들은 체계적 폴라 코딩에 의해서 코딩되어 전송된다.
도 16a, 도 16b와 같이 전송하는 HARQ 1s 방식의 경우에는 두가지 제한점이 존재한다. 첫번째 제한은 디코딩이다. 재 전송된 패킷들을 개별적으로 디코딩하여 그 전의 패킷에 대입하는 점진적 프리징 (incremental freezing) 방식을 사용한 디코딩은 가능하다. 하지만, 결합 리스트 SC 디코딩은 가능하지 않다. 그 이유는 다음과 같다. 체계적 폴라 코드의 디코딩의 첫 단계는, 비 체계적 폴라 코드와 동일한 디코딩을 수행하는 것이다. 하지만, HARQ 1s 방식에서는, 첫번째 패킷의 첫 단계에서 디코딩 되어야 하는 비트는 이고 두번째 패킷의 첫 단계에서 디코딩되어야 하는 비트는 이다. 이 때, 에 있는 비트들과 에 있는 비트들은 일반적으로 다른 값들을 가지므로, 결합 리스트 SC 디코딩을 사용하여 디코딩을 수행할 수 없다. HARQ 1s 방식의 두번째 제한점은, 정보 비트의 집합 , , , 을 계산하기 어렵다는 것이다. 이 값들은 송신단에서 계산되어야 하는데, 현재까지 체계적 폴라 코드에 대하여 그러한 정보 비트 집합 내의 각 정보 비트의 신뢰도를 (시뮬레이션이 아닌) 해석적인 방법으로 계산하는 방법은 알려져 있지 않다.
4.1.2 HARQ 2s 방식
도 16c는 두번째 제안하는 방식인 HARQ 2s 방식을 나타낸다. 이 방식에서는 오직 첫번째 패킷만 체계적 폴라 코드에 의해서 인코딩 된다. 이러한 인코딩 과정을 거쳐서 이 결정되면, 두번째 패킷에서는 중에서 가장 신뢰도가 낮은 비트들만을 선택하여 을 구축하며, 에 속한 비트들을 비 체계적 폴라 코딩을 사용하여 인코딩하여 전송한다. 즉, 의 관계가 성립한다.
첫번째 패킷의 CRC는 체계적 폴라 코딩에 의해서 인코딩 되지만, 두번째 패킷의 CRC는 비 체계적 폴라 코딩에 의해서 인코딩 된다.
도 16d는 HARQ 2s 방식에서 두번의 재 전송 (최초의 전송을 합하여, 3번의 전송)이 발생하는 예를 나타내고 있다. 첫번째 패킷의 과 두번째 패킷의 를 결합하여 신뢰도를 업데이트 한 뒤, 이 중에서 신뢰도가 가장 낮은 비트 들만을 선택하여 와 같이 구축한다.
세번째 패킷에서는 내에 있는 정보 비트들을 비 체계적 폴라 코딩을 사용하여 인코딩 한 후 전송한다.
첫번째 패킷의 CRC는 체계적 폴라 코딩에 의해서 인코딩 되지만, 재 전송에서 사용되는 CRC들은 비 체계적 폴라 코딩에 의해서 인코딩 된 후 전송된다.
HARQ 2s방식의 장점은 수신단에서 점진적 프리징 방식은 물론, 결합 리스트 SC 방식으로 디코딩을 수행할 수 있다는 것이다. 도 16e는 결합 리스트 SC 디코딩이 가능함을 보여준다. 이와 같이, 결합 리스트 디코딩을 수행하여 를 디코드 한 후, 한 번의 재 인코딩을 통하여 를 구하게 되는데, 이와 같은 재 인코딩 단계에서 에러 감쇄의 효과가 나타나게 된다.
HARQ 2s방식의 두번째 장점은, 송신단에서 , , , 에 속한 비트 들의 신뢰도를 기존의 비 체계적 폴라 코딩에서와 마찬가지로 density evolution (DE) 이나 가우시안 근사 (Gaussian approximation) 을 통하여 쉽게 구할 수 있다는 것이다. 예를 들어, 의 신뢰도 값인 log likelihood ratio (LLR)값들은 다음 수학식 59와 같이 간단히 계산되어 질 수 있다.
4.2 매 패킷에 여러 개의 다중 CRC를 사용하는 HARQ
폴라 코딩의 HARQ를 구축할 때, 여러 개의 다중 CRC를 사용하는 방식을 생각할 수 있다. 이 방식에서는 최초의 패킷의 정보 비트를 여러 그룹으로 나누고 각 그룹은 한 개의 CRC가 첨부된다. 결국, 첫번째 패킷은 여러 개의 CRC를 사용하여 전송하며, 수신단에서 CRC 첵에 실패한 CRC의 번호를 송신단에 알려 준다. 송신단에서는 CRC 첵에 실패한 CRC가 담당 했던 정보 비트들을 재 전송하게 된다. 이 때, 재 전송되는 정보 비트들을 다시 여러 개의 작은 그룹으로 나누어서, 각 그룹에 CRC를 추가 한다. 수신단에서는 CRC첵을 수행한 후, CRC 첵에 실패하면, 실패한 CRC의 번호를 송신단에 알려 준다. 송신단에서는, 실패한 CRC 가 담당 했던 정보 비트를 다시 여러 개의 더욱 작은 그룹으로 나누어 CRC을 첨가한 후 폴라 코딩을 수행하여 전송하게 된다. 이와 같은 방식으로 HARQ를 수행 하면, 재 전송이 더욱 이루어 질 수록, 각 CRC 가 담당하는 정보 비트 그룹의 크기가 작아지게 되므로, 최소의 전송을 통하여 빠르게 에러가 발행한 정보 비트의 위치를 추정할 수 있다. 이러한 방식을 binary search 방식 (혹은 bi-section 방식) 이라고 한다. 아래에서는, 여러 개의 다중 CRC를 사용하는 체계적 폴라 코딩 기반의 HARQ 방식을 제안한다.
4.2.1 HARQ 1m 방식
첫번째로 제안하는 방식은 HARQ 1m 방식이라고 하며, 그 개념이 도 17a에 나와 있다. HARQ 1m 방식은 HARQ 1s 방식에 여러 개의 CRC를 사용하여 확장한 방식이다. 여기서 m은 multi-CRC가 사용되었음을 나타낸다. 이 방식에서는, 모든 정보 비트와 모든 CRC가 체계적 폴라 코딩에 의해서 인코딩 되어 전송된다는 장점이 있다. 하지만, 단점은, 디코딩시에 점진적 프리징 방식에 의한 디코딩은 가능하지만, 결합 리스트 SC 디코딩은 가능하지 않다는 것이다. 또 한가지의 단점은, 원래 여러 개의 다중 CRC를 사용하면, 기존 문헌에 나와 있듯이 디코딩의 복잡도를 줄일 수 있지만, HARQ 1m 방식에서는 여러 개의 다중 CRC를 사용함에도 불구하고, 그러한 디코딩 복잡도의 감소를 기대할 수 없다는 것이다.
4.2.2 HARQ 2m 방식
HARQ 2m 방식은 HARQ 2s 방식에 다중 CRC를 사용함으로 확장한 방식이다. 도 17b는 이 방식을 나타내고 있다. 하지만, HARQ 2m은 HARQ 2s의 아주 단순한 확장은 아닌다. 왜냐하면, HARQ 2s 방식에서는 최초의 전송 패킷에서 CRC는 정보 비트 에 사용되었지만, HARQ 2m 방식에서는 여러 CRC가 최초의 패킷의 정보 비트가 아닌 부호화된 비트들 {ck:k=1,2, …, 6}에 사용된다는 것이다. HARQ 2m 방식에서도 첫번째 패킷의 정보 비트 에 대하며 CRC를 사용할 수 있다 (도 17b의 CRC4). 하지만. 이와 같이 에 대하며 CRC를 사용하는 것이 반드시 필요한 것은 아니다. 그럼에도, 에 대하여 CRC를 사용하면, 첫번째 패킷에 대해서는 이 중으로 CRC가 사용되므로, CRC가 에러 탐지에 실패하는 확률을 줄일 수 있다.
HARQ 2m 방식의 최대의 장점은 디코딩 시에 점진적 프리징 방식 뿐 아니라 결합 리스트 SC 디코딩도 가능하다는 것이다. 또한, 다중 CRC를 사용하여 얻을 수 있는 디코딩시에 복잡도/계산량 감소의 효과도 얻을 수 있다.
4.2.3. HARQ 3m 방식
도 17c는 세번째 가능한 방법을 나타내고 있으며 HARQ 3m방식이라고 명명한다. 첫번째 패킷에서 정보 비트 {ak:k=1, 2, …, 6}는 여러 개의 그룹으로 분할되며, 각 그룹에 한 개의 CRC가 추가된다. 정보 비트와 모든 CRC 비트들은 체계적 폴라 코딩에 의해서 인코딩 되어 전송된다. 수신단에서는 모든 CRC에 대하여 첵을 수행하고 실패한 CRC 번호를 송신단으로 전송한다. 두번째 전송에서는, 첫번째 전송에서 성공적으로 디코딩 되지 않은 정보 비트와 첫번째 전송에서 전송된 코드워드에서 페러티 첵 (parity check) 부분을 함께 전송한다. 마찬가지의 방법으로 3번째 전송 패킷도 구성된다. 도 17d는 최초 패킷의 길이가 8인 폴라 코드의 예를 들어서, HARQ 3m방식의 전송을 보인다.
HARQ 3m방식은 여러 장점을 가지고 있다. 우선, 첫번째 장점은, 송신단에서, 첫번째 패킷을 제외한 모든 재 전송 단계에서 인코딩이 필요하지 않으므로, 송신단에서의 계산량이 높지 않다는 것이다. 또한, 중요한 장점은 수신단에서 디코딩 시에, 점진적 프리징 디코딩 방식뿐 아니라, 결합 리스트 SC 디코딩도 가능하다는 것이다. 마지막으로, HARQ 3m방식에서는 다중 CRC를 사용하여 결합 리스트 SC 디코딩을 수행할 때, 다중 CRC에 의한 디코딩 복잡도의 감소를 얻을 수 있다.
도 17e는 디코딩을 나타내고 있다. 디코딩의 첫 단계에서는 첫번째, 두번째, 세번째 패킷들을 결합하여 결합 리스트 SC 디코딩이 이루어 진다. 이 때, 첫번째 패킷에서 성공적으로 디코딩 되었던 정보 비트들 {a1, a2, a5, a6}은 두번째 패킷에 결합되어 두번째 패킷에서의 LLR 값들이 생성되도록 한다. 마찬 가지로, 첫번째와 두번째 패킷에서 성공적으로 디코딩 되었던 정보 비트들 {a1, a2, a3, a5, a6}은 세번째 패킷에 결합되어 세번째 패킷에서의 LLR 값들이 생성되도록 한다. 이제 첫번째 패킷에서 계산된 LLR과, 첫번째 패킷의 도움을 받아 두번째 패킷으로 부터 생성된 LLR 값과, 첫번째 패킷과 두번째 패킷의 도움을 받아 생성된 세번째 패킷의 LLR 값을 모두 더하여 결합 리스트 SC 디코딩을 수행한다. 마지막으로, 재 인코딩을 수행한다.
HARQ 3m방식을 디코딩하는 다른 한 가지 방법은, 수신단에서 수신 신호들을 단순히 최대 비율 결합 (maximal ratio combining (MRC)) 방식을 통하여 결합 한 후, 리스트 SC 디코딩을 수행하는 것이다.
5. 체계적 폴라 코드를 사용한 다중 계층 전송 기반의 HARQ
5.1 폴라 코딩에서의 정보 비트의 FER과 BER
전송된 패킷이 완벽하게 디코딩 되지 않은 경우에는 CRC 첵이 실패하게 된다. 이 경우, 프레임 에러가 발생된다. 프레임 에러가 발생할 확률은 FER (frame error rate)이다. 이제 FER과 BER의 관계를 알아본다. 코드의 길이 N이 유한한 경우, FER와 BER의 관계는 수학식 60과 같이 유니온 바운드 (union bound)에 의하여 나타내어 질 수 있다.
채널의 신호 대 잡음비 (SNR)이 높은 경우에 유니온 바운드는 더욱 정확해 진다. 이 수식에서 볼 수 있듯이, BER 값은 FER의 값보다 일반적으로 훨씬 작다. 실제의 폴라코드의 경우에도 BER의 값이 FER보다 훨씬 작게 된다. 여기서 BER과 FER은 비 체계적 폴라 코딩의 경우에는 에 대하여 측정된 확률을 나타내고, 체계적 폴라 코딩의 경우에는 에 대하여 측정된 확률을 나타낸다. 여기서 중요한 점은 프레임 에러가 발생한 상황에서도 패킷 내에 실제로 존재하는 비트 에러의 갯수는 일반적으로 크지 않다. 예를 들어, 프레임 에러는 한개의 비트 에러에 의해서도 발생된다.
다중 계층 전송에서 계층 들간의 간섭은, (디코딩 이후에 다시 구축된) 코드 워드에 몇 개의 비트 에러가 존재하는가에 따라 달라진다. 그러므로, 우리가 관심 있는 비트 에러는, 코드워드의 BER이다. 체계적 폴라 코드에서는, 정보 비트 의 BER뿐 아니라 페러티 체크 비트 도 작아진다. 결국, 정보 비트와 페러치 첵 비트로 이루어 진 코드 워드 의 전체 BER이 작은 것이다. 재 구축된 코드워드 의 BER이 높지 않으므로, 이 코드워드 내에 존재하는 비트 에러의 갯수는 많지 않다. 결과적으로, 체계적 폴라 코드를 사용하여 다중 계층 전송을 구현하면, 특정한 계층에 프레임 에러가 발생한 상황에서도, 이 계층이 다른 계층에 미치는 간섭은 일반적으로 크기 않다.
5.2 다중 계층 전송에서 계층간 반복적 (iterative) 디코딩
앞 절에서는, 체계적 폴라 코드를 사용하는 경우, 프레임 에러가 발생 했다고 하더라도, 다시 구축된 코드워드 내에는 일반적으로 적은 수의 비트 에러가 존재하는 것을 알아 보았다. 이러한 효과로 인해서, 체계적 폴라 코드가 다중 계층 전송에 사용되는 경우, 첫번째 계층에서 프레임 에러가 발생했다고 하더라도, 두번째 계층에서 디코딩을 시도할 수 있는 것이다. 이번 절에서는, 이러한 개념을 더욱 발전시켜서, 다중 계층 전송에서 계층간의 반복적 디코딩 방식을 제안한다.
도 19a는 이중 계층 전송에서, 우리가 제안하는 계층간 반복적 디코딩을 사용하는 방식을 나타내고 있다. 도 19b는 이중 계층 전송에서, 우리가 제안하는 계층간 반복적 디코딩을 사용하는 방식의 개념을 나타내고 있다. 계층간 디코딩을 반복적으로 수행함으로써, 한 계층에서 프레임 에러가 발생한 경우에도, 나머지 계층에서의 디코딩을 수행하고, 디코딩이 수행됨에 따라 계층간의 간섭이 줄어들게 되고, 이것은 각 계층의 신호대 간섭 및 노이즈 비 (signal to interference plus noise ratio: SINR)이 증가하게 되는 결과를 가져 오고, 결국은 디코딩 성공 확률을 높인다.
5.3 전송 방식들
5.3.1 HARQ 1s-MLT 방식
도 20a은 4.1.1 절에서 제안했던 HARQ 1s 방식 (도 16a 및 도 16b) 과 다중 계층 전송 (multi-layer transmission: MLT)를 결합한 방식으로 HARQ 1s-MLT 방식으로 부른다. 디코딩은 다음과 같이 수행된다. 각 계층에 대해서는, 점진적 프리징 방식으로 디코딩을 수행한다. 또한 두 계층에 걸쳐서는, 바로 앞 절에서 제안한 계층간 반복적 디코딩을 수행한다.
HARQ 1s-MLT 방식은 원래 기반이 되는 HARQ 1s 방식의 제한들을 그대로 가지고 있다. 예를 들어, 각 계층에 대해서는 결합 리스트 SC 디코딩을 사용할 수 없다. 또한, 를 결정하기 위해서는, 체계적 폴라 코딩에서 각 정보 비트의 신뢰도를 결정해야 하는데, 이러한 결정을 간단히 하는 방법이 알려져 있지 않다.
5.3.2 HARQ 2s-MLT 방식
도 20b는 제4.1.2절에서 제안했던 HARQ 2s 방식 (도 16c와 도 16d)과 다중 계층 전송 (multi-layer transmission: MLT)를 결합한 방식으로 HARQ 2s-MLT 방식으로 부른다. 디코딩은 다음과 같이 수행된다. 각 계층에 대해서는, 결합 리스트 SC 디코딩을 수행한다. 또한, 두 계층에 걸쳐서는, 바로 앞 절에서 제안한 계층간 반복적 디코딩을 수행한다.
결합 리스트 SC 디코딩 + 계층간 반복적 디코딩
디코딩의 첫 단계에서는, 첫번째 계층의 여러 패킷을 사용하여 결합 리스트 SC 디코딩을 수행하여, 첫번째 계층의 처음 패킷을 추정한다.
두 번째 단계에서는, 을 재 인코딩하여 코드워드 를 생성한다.
세 번째 단계에서는, 계층간 반복적 디코딩을 수행한다.
HARQ 2s-MLT 방식의 또 다른 장점은 를 결정하기 위하여 필요한 비트의 신뢰도를 쉽게 계산할 수 있다는 것이다.
5.3.2 HARQ 1m-MLT 방식
도 20c는 4.2.1 절에서 제안했던 HARQ 1m 방식 (도 17a)과 다중 계층 전송 (multi-layer transmission: MLT)를 결합한 방식으로 HARQ 1m-MLT 방식으로 부른다. 이 방식은 다중 계층 전송으로 전송률을 높인다는 점 외에는 HARQ 1m 방식의 장단점을 그대로 가지고 있다. 디코딩은 점진적 프리징 디코딩은 가능하지만 결합 리스트 SC 디코딩은 가능하지 않다. 또한, 다중 CRC를 사용 함에도, 디코딩 복잡도의 감소를 얻을 수 없다. 계층 간에는 앞에서 제안한 계층간 반복적 디코딩을 수행한다. 이와 같은 디코딩을 사용하기 때문에, 첫번째 계층 뿐 아니라 두번째 계층에서도 bi-section method (or binary search method)를 사용하여, 재 전송이 반복될 수록, 빠르게 에러가 발생한 위치를 찾을 수 있다.
5.3.4 HARQ 2m-MLT 방식
도 20d는 제 4.2.2 절에서 제안했던 HARQ 2m 방식 (도 17b)과 다중 계층 전송 (multi-layer transmission: MLT)를 결합한 방식으로 HARQ 2m-MLT 방식으로 부른다. 이 방식은 다중 계층 전송으로 전송률을 높인다는 점 외에는 HARQ 2m 방식의 장단점을 그대로 가지고 있다. 디코딩 방식으로는 결합 리스트 SC 디코딩을 각 계층에 대하여 사용한다. 그리고, 계층 간에는 반복적 디코딩을 사용한다. 또한, 다중 CRC를 사용한 디코딩의 복잡도 감소의 효과를 얻을 수 있다.
5.3.5 HARQ 3m-MLT 방식
도 20e은 제 4.2.3 절에서 제안했던 HARQ 3m 방식 (도 17c)과 다중 계층 전송 (multi-layer transmission: MLT)를 결합한 방식으로 HARQ 3m-MLT 방식으로 부른다. 이 방식은 다중 계층 전송으로 전송률을 높인다는 점 외에는 HARQ 2m 방식의 장단점을 그대로 가지고 있다. 인코딩의 복잡도는 낮다. 결합 리스트 SC 디코딩을 사용하여 각 계층을 디코딩 한다. 계층 간에는 반복적 디코딩을 사용한다. 또한, 다중 CRC를 사용한 디코딩의 복잡도 감소의 효과를 얻을 수 있다.
6. 장치 구성
도 21은 본 발명을 수행하는 전송 장치(10) 및 수신 장치(20)의 구성요소를 나타내는 블록도이다.
전송 장치(10) 및 수신 장치(20)는 정보 및/또는 데이터, 신호, 메시지 등을 나르는 무선 신호를 전송 또는 수신할 수 있는 RF(Radio Frequency) 유닛(13, 23)과, 무선통신 시스템 내 통신과 관련된 각종 정보를 저장하는 메모리(12, 22), 상기 RF 유닛(13, 23) 및 메모리(12, 22) 등의 구성요소와 동작적으로 연결되어, 상기 구성요소를 제어하여 해당 장치가 전술한 본 발명의 실시예들 중 적어도 하나를 수행하도록 메모리(12, 22) 및/또는 RF 유닛(13, 23)을 제어하도록 구성된(configured) 프로세서(11, 21)를 각각 포함한다.
메모리(12, 22)는 프로세서(11, 21)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 입/출력되는 정보를 임시 저장할 수 있다. 메모리(12, 22)가 버퍼로서 활용될 수 있다.
프로세서(11, 21)는 통상적으로 전송 장치 또는 수신 장치 내 각종 모듈의 전반적인 동작을 제어한다. 특히, 프로세서(11, 21)는 본 발명을 수행하기 위한 각종 제어 기능을 수행할 수 있다. 프로세서(11, 21)는 컨트롤러(controller), 마이크로 컨트롤러(microcontroller), 마이크로 프로세서(microprocessor), 마이크로 컴퓨터(microcomputer) 등으로도 불릴 수 있다. 프로세서(11, 21)는 하드웨어(hardware) 또는 펌웨어(firmware), 소프트웨어, 또는 이들의 결합에 의해 구현될 수 있다. 하드웨어를 이용하여 본 발명을 구현하는 경우에는, 본 발명을 수행하도록 구성된 ASICs(application specific integrated circuits) 또는 DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays) 등이 프로세서(400a, 400b)에 구비될 수 있다. 한편, 펌웨어나 소프트웨어를 이용하여 본 발명을 구현하는 경우에는 본 발명의 기능 또는 동작들을 수행하는 모듈, 절차 또는 함수 등을 포함하도록 펌웨어나 소프트웨어가 구성될 수 있으며, 본 발명을 수행할 수 있도록 구성된 펌웨어 또는 소프트웨어는 프로세서(11, 21) 내에 구비되거나 메모리(12, 22)에 저장되어 프로세서(11, 21)에 의해 구동될 수 있다.
전송 장치(10)의 프로세서(11)는 상기 프로세서(11) 또는 상기 프로세서(11)와 연결된 스케줄러로부터 스케줄링되어 외부로 전송될 신호 및/또는 데이터에 대하여 소정의 부호화(coding) 및 변조(modulation)를 수행한 후 RF 유닛(13)에 전송한다. 예를 들어, 프로세서(11)는 전송하고자 하는 데이터 열을 역다중화 및 채널 부호화, 스크램블링, 변조과정 등을 거쳐 K 개의 레이어로 변환한다. 부호화된 데이터 열은 코드워드로 지칭되기도 하며, MAC 계층이 제공하는 데이터 블록인 수송 블록과 등가이다. 일 수송 블록(transport block, TB)은 일 코드워드로 부호화되며, 각 코드워드는 하나 이상의 레이어의 형태로 수신 장치에 전송되게 된다. 주파수 상향 변환을 위해 RF 유닛(13)은 오실레이터(oscillator)를 포함할 수 있다. RF 유닛(13)은 Nt 개(Nt 는 1 이상의 양의 정수)의 전송 안테나를 포함할 수 있다.
수신 장치(20)의 신호 처리 과정은 전송 장치(10)의 신호 처리 과정의 역으로 구성된다. 프로세서(21)의 제어 하에, 수신 장치(20)의 RF 유닛(23)은 전송 장치(10)에 의해 전송된 무선 신호를 수신한다. 상기 RF 유닛(23)은 Nr 개의 수신 안테나를 포함할 수 있으며, 상기 RF 유닛(23)은 수신 안테나를 통해 수신된 신호 각각을 주파수 하향 변환하여(frequency down-convert) 기저대역 신호로 복원한다. RF 유닛(23)은 주파수 하향 변환을 위해 오실레이터를 포함할 수 있다. 상기 프로세서(21)는 수신 안테나를 통하여 수신된 무선 신호에 대한 복호(decoding) 및 복조(demodulation)를 수행하여, 전송 장치(10)가 본래 전송하고자 했던 데이터를 복원할 수 있다.
RF 유닛(13, 23)은 하나 이상의 안테나를 구비한다. 안테나는, 프로세서(11, 21)의 제어 하에 본 발명의 일 실시예에 따라, RF 유닛(13, 23)에 의해 처리된 신호를 외부로 전송하거나, 외부로부터 무선 신호를 수신하여 RF 유닛(13, 23)으로 전달하는 기능을 수행한다. 안테나는 안테나 포트로 불리기도 한다. 각 안테나는 하나의 물리 안테나에 해당하거나 하나보다 많은 물리 안테나 요소(element)의 조합에 의해 구성될(configured) 수 있다. 각 안테나로부터 전송된 신호는 수신 장치(20)에 의해 더는 분해될 수 없다. 해당 안테나에 대응하여 전송된 참조신호(reference signal, RS)는 수신 장치(20)의 관점에서 본 안테나를 정의하며, 채널이 일 물리 안테나로부터의 단일(single) 무선 채널인지 혹은 상기 안테나를 포함하는 복수의 물리 안테나 요소(element)들로부터의 합성(composite) 채널인지에 관계없이, 상기 수신 장치(20)로 하여금 상기 안테나에 대한 채널 추정을 가능하게 한다. 즉, 안테나는 상기 안테나 상의 심볼을 전달하는 채널이 상기 동일 안테나 상의 다른 심볼이 전달되는 상기 채널로부터 도출될 수 있도록 정의된다. 복수의 안테나를 이용하여 데이터를 송수신하는 다중 입출력(Multi-Input Multi-Output, MIMO) 기능을 지원하는 RF 유닛의 경우에는 2개 이상의 안테나와 연결될 수 있다.
도 21에서는 전송 장치(10)와 수신 장치(20)가 분리되어 도시되었으나, 전송 장치(10) 내 프로세서(11), 메모리(12) 및 RF 유닛(13)은 수신 장치(20)의 동작도 수행하도록 구성될 수 있으며, 전송 장치(20) 내 프로세서(21), 메모리(22) 및 RF 유닛(23)은 전송 장치(10)의 동작도 수행하도록 구성될 수 있다. 혹은 전송 장치(10)의 RF 유닛(13) 및 수신 장치(20)의 RF 유닛(23)이 각각 트랜시버로 칭해질 수도 있다.
전송 장치(10)는 본 발명에 따른 폴라 인코더를 포함하도록 구성되며, 수신 장치(20)는 본 발명에 따른 폴라 디코더를 포함하도록 구성될 수 있다. 예를 들어, 전송 장치(10)의 프로세서(11)는 본 발명에 따른 폴라 인코딩을 수행하도록 구성될 수 있고, 수신 장치(20)의 프로세서(21)는 본 발명에 따른 폴라 디코딩을 수행하도록 구성될 수 있다. 즉, 본 발명에 따른 폴라 인코더가 전송 장치(10)의 프로세서(11)의 일부로서 구성될 수 있고, 본 발명에 따른 폴라 디코더는 수신 장치(20)의 프로세서(21)의 일부로서 구성될 수 있다.
펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 실시 예들에 따른 방법은 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차 또는 함수 등의 형태로 구현될 수 있다. 예를 들어, 소프트웨어 코드는 메모리 유닛(12, 22)에 저장되어 프로세서(11, 21)에 의해 구동될 수 있다. 상기 메모리 유닛은 상기 프로세서 내부 또는 외부에 위치할 수 있으며, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고 받을 수 있다.
본 발명은 본 발명의 기술적 아이디어 및 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다. 또한, 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시 예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함할 수 있다.
본 발명의 실시 예들은 다양한 무선접속 시스템에 적용될 수 있다. 다양한 무선접속 시스템들의 일례로서, 3GPP(3rd Generation Partnership Project), 3GPP 5G NR 시스템 또는 3GPP2 시스템 등이 있다. 본 발명의 실시 예들은 상기 다양한 무선접속 시스템뿐 아니라, 상기 다양한 무선접속 시스템을 응용한 모든 기술 분야에 적용될 수 있다.

Claims (12)

  1. 무선 통신 시스템에서 단말이 폴라 코드 (polar code)에 기반하여 정보를 전송함에 있어서,
    상기 정보를 폴라 코드를 이용하여 인코딩한, 제1 정보 비트 집합을 포함하는 제1 패킷을 생성;
    상기 제1 패킷을 전송,
    여기서 상기 제1 패킷은, 복수의 제1 미니 패킷 및 상기 복수의 제1 미니 패킷 각각에 부착된 복수의 CRC (Cyclic Redundancy Check)로 구성되고;
    상기 제1 패킷 중 특정 제1 미니 패킷 전송에 대한 에러가 탐지된 경우, 상기 제1 정보 비트 집합 중 상기 특정 제1 미니 패킷에 포함된 정보 비트 집합의 모든 비트를 폴라 코드를 이용하여 인코딩한, 제2 정보 비트 집합을 포함하는 제2 패킷을 생성; 및
    상기 제2 패킷을 전송하는 것을 포함하며,
    여기서 상기 제2 패킷은, 하나 이상의 제2 미니 패킷 및 상기 하나 이상의 제2 미니 패킷 각각에 부착된 복수의 CRC (Cyclic Redundancy Check)로 구성되고,
    상기 제2 정보 비트 집합 내 각 비트는, 상기 제1 정보 비트 집합 내에서 신뢰도가 낮은 위치의 비트 순으로, 상기 제2 정보 비트 집합 내에서 신뢰도가 높은 위치에 배열되는,
    정보 전송 방법.
  2. 제1항에 있어서,
    상기 제2 정보 비트 집합은,
    상기 특정 제1 미니 패킷에 포함된 정보 비트 집합을, 상기 특정 제1 미니 패킷에 포함된 정보 비트 집합 내 각 비트의 신뢰도에 기반하여 재배열한 후 인코딩한 비트 집합인,
    정보 전송 방법.
  3. 제1항에 있어서,
    상기 제2 정보 비트 집합은, 상기 특정 제1 미니 패킷에 포함된 정보 비트 집합의 일부 비트를 인코딩한 비트 집합이며,
    상기 일부 비트는 상기 특정 제1 미니 패킷에 포함된 정보 비트 집합 내 각 비트의 신뢰도에 기반하여 선택되는,
    정보 전송 방법.
  4. 제1항에 있어서,
    상기 제1 정보 비트 집합 및 상기 제2 정보 비트 집합은 체계적 폴라 코드를 이용하여 인코딩되는,
    정보 전송 방법.
  5. 제1항에 있어서,
    상기 제1 정보 비트 집합은 체계적 폴라 코드를 이용하여 인코딩되고,
    상기 제2 정보 비트 집합은 비 체계적 폴라 코드를 이용하여 인코딩되는,
    정보 전송 방법.
  6. 제5항에 있어서,
    상기 제2 패킷은,
    상기 제1 패킷에 포함된 패리티 체크 비트 (Parity Check Bit)와 동일한 패리티 체크 비트를 포함하는,
    정보 전송 방법.
  7. 제1항에 있어서,
    상기 복수의 제1 미니 패킷 각각에 부착된 CRC는, 하나 또는 복수의 제1 미니 패킷에 대한 에러 탐지를 위해 부착되고,
    상기 하나 이상의 제2 미니 패킷 각각에 부착된 CRC는, 하나 또는 복수의 제2 미니 패킷에 대한 에러 탐지를 위해 부착되는,
    정보 전송 방법.
  8. 제1항에 있어서,
    상기 제2 패킷은,
    상기 제1 정보 비트 집합 중 에러 체크를 위해 부착된 CRC의 수가 가장 적은 제1 미니 패킷에 포함된 정보 비트만을 인코딩한 비트 집합인,
    정보 전송 방법.
  9. 제1항에 있어서,
    상기 제1 패킷은 복수의 계층 (layer)을 통해 전송되며,
    상기 제1 패킷은, 상기 복수의 계층 각각에 대한 에러 탐지를 위해 부착된 CRC를 포함하는,
    정보 전송 방법.
  10. 무선 통신 시스템에서 기지국이 폴라 코드 (polar code)에 기반하여 정보를 전송함에 있어서,
    상기 정보를 폴라 코드를 이용하여 인코딩한, 제1 정보 비트 집합을 포함하는 제1 패킷을 생성;
    상기 제1 패킷을 전송,
    여기서 상기 제1 패킷은, 복수의 제1 미니 패킷 및 상기 복수의 제1 미니 패킷 각각에 부착된 복수의 CRC (Cyclic Redundancy Check)로 구성되고;
    상기 제1 패킷 중 특정 제1 미니 패킷 전송에 대한 에러가 탐지된 경우, 상기 제1 정보 비트 집합 중 상기 특정 제1 미니 패킷에 포함된 정보 비트 집합의 모든 비트를 폴라 코드를 이용하여 인코딩한, 제2 정보 비트 집합을 포함하는 제2 패킷을 생성; 및
    상기 제2 패킷을 전송하는 것을 포함하며,
    여기서 상기 제2 패킷은, 하나 이상의 제2 미니 패킷 및 상기 하나 이상의 제2 미니 패킷 각각에 부착된 복수의 CRC로 구성되고,
    상기 제2 정보 비트 집합 내 각 비트는, 상기 제1 정보 비트 집합 내에서 신뢰도가 낮은 위치의 비트 순으로, 상기 제2 정보 비트 집합 내에서 신뢰도가 높은 위치에 배열되는,
    정보 전송 방법.
  11. 무선 통신 시스템에서 폴라 코드 (polar code)에 기반하여 정보를 전송하는 단말에 있어서,
    상기 정보를 폴라 코드를 이용하여 인코딩하도록 구성된 인코더;
    상기 정보를 인코딩하여 생성된 정보 비트 집합을 포함하는 패킷을 전송하도록 구성된 RF (Radio Frequency) 유닛을 포함하며,
    상기 인코더는 상기 정보를 폴라 코드를 이용하여 인코딩한, 제1 정보 비트 집합을 포함하는 제1 패킷을 생성;
    상기 RF 유닛은 상기 제1 패킷을 전송,
    여기서 상기 제1 패킷은, 복수의 제1 미니 패킷 및 상기 복수의 제1 미니 패킷 각각에 부착된 복수의 CRC (Cyclic Redundancy Check)로 구성되고;
    상기 제1 패킷 중 특정 제1 미니 패킷 전송에 대한 에러가 탐지된 경우, 상기 인코더는 상기 제1 정보 비트 집합 중 상기 특정 제1 미니 패킷에 포함된 정보 비트 집합의 모든 비트를 폴라 코드를 이용하여 인코딩한, 제2 정보 비트 집합을 포함하는 제2 패킷을 생성; 및
    상기 RF 유닛은 상기 제2 패킷을 전송하며,
    여기서 상기 제2 패킷은, 하나 이상의 제2 미니 패킷 및 상기 하나 이상의 제2 미니 패킷 각각에 부착된 복수의 CRC로 구성되고,
    상기 제2 정보 비트 집합 내 각 비트는, 상기 제1 정보 비트 집합 내에서 신뢰도가 낮은 위치의 비트 순으로, 상기 제2 정보 비트 집합 내에서 신뢰도가 높은 위치에 배열되는,
    단말.
  12. 무선 통신 시스템에서 폴라 코드 (polar code)에 기반하여 정보를 전송하는 기지국에 있어서,
    상기 정보를 폴라 코드를 이용하여 인코딩하도록 구성된 인코더;
    상기 정보를 인코딩하여 생성된 정보 비트 집합을 포함하는 패킷을 전송하도록 구성된 RF (Radio Frequency) 유닛을 포함하며,
    상기 인코더는 상기 정보를 폴라 코드를 이용하여 인코딩한, 제1 정보 비트 집합을 포함하는 제1 패킷을 생성;
    상기 RF 유닛은 상기 제1 패킷을 전송;
    여기서 상기 제1 패킷은, 복수의 제1 미니 패킷 및 상기 복수의 제1 미니 패킷 각각에 부착된 복수의 CRC (Cyclic Redundancy Check)로 구성되고;
    상기 제1 패킷 중 특정 제1 미니 패킷 전송에 대한 에러가 탐지된 경우, 상기 인코더는 상기 제1 정보 비트 집합 중 상기 특정 제1 미니 패킷에 포함된 정보 비트 집합의 모든 비트를 폴라 코드를 이용하여 인코딩한, 제2 정보 비트 집합을 포함하는 제2 패킷을 생성; 및
    상기 RF 유닛은 상기 제2 패킷을 전송하며,
    여기서 상기 제2 패킷은, 하나 이상의 제2 미니 패킷 및 상기 하나 이상의 제2 미니 패킷 각각에 부착된 복수의 CRC로 구성되고,
    상기 제2 정보 비트 집합 내 각 비트는, 상기 제1 정보 비트 집합 내에서 신뢰도가 낮은 위치의 비트 순으로, 상기 제2 정보 비트 집합 내에서 신뢰도가 높은 위치에 배열되는,
    기지국.
KR1020180089193A 2017-08-01 2018-07-31 무선 통신 시스템에서 폴라 코드에 기반한 정보 전송 방법 및 이를 위한 장치 KR102570190B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762539557P 2017-08-01 2017-08-01
US62/539,557 2017-08-01
US201762593225P 2017-11-30 2017-11-30
US62/593,225 2017-11-30

Publications (2)

Publication Number Publication Date
KR20190013660A KR20190013660A (ko) 2019-02-11
KR102570190B1 true KR102570190B1 (ko) 2023-08-24

Family

ID=65370234

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180089193A KR102570190B1 (ko) 2017-08-01 2018-07-31 무선 통신 시스템에서 폴라 코드에 기반한 정보 전송 방법 및 이를 위한 장치

Country Status (1)

Country Link
KR (1) KR102570190B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023090475A1 (ko) * 2021-11-17 2023-05-25 엘지전자 주식회사 극 부호의 고속 복호 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Jianfeng Guo et al.,"Multi-CRC Polar Codes and Their Applications", IEEE Communications Letters Volume 20, Issue 2 (2015.12.11.)*

Also Published As

Publication number Publication date
KR20190013660A (ko) 2019-02-11

Similar Documents

Publication Publication Date Title
JP7074853B2 (ja) Pbch送信方法および送信装置、ならびにpbch受信方法および受信装置
US11838125B2 (en) Apparatus and method for encoding and decoding using polar code in wireless communication system
US10887050B2 (en) Downlink signal reception method and user equipment, and downlink signal transmission method and base station
US20180198560A1 (en) Generalized polar code based on polarization of linear block codes and convolutional codes
RU2462815C2 (ru) Способ и устройство для передачи восходящего сигнала, содержащего данные и управляющую информацию, по восходящему каналу
US10523386B2 (en) Method of processing data block in wireless communication system and apparatus therefor
JP6770593B2 (ja) データ伝送方法及び送信器
US10425111B2 (en) Polar code interleaving and bit selection
US11139836B2 (en) Information transmission method and transmission device, and information reception method and reception device
US11258535B2 (en) Method and apparatus for transmitting information
US11411673B2 (en) Method and apparatus for transmitting information, and method and apparatus for receiving information
US11223370B2 (en) Method and apparatus for transmitting information
KR20190111630A (ko) 무선 통신 시스템에서 순환 중복 검사를 이용한 복호화를 위한 장치 및 방법
KR20210006807A (ko) 통신 시스템에서 신호 송수신 장치 및 방법
US11063699B2 (en) Transport block transmission method and transmission device
US11343018B2 (en) Polar code interleaving processing method and apparatus
CN108289009B (zh) 一种被用于信道编码的ue、基站中的方法和设备
KR102570190B1 (ko) 무선 통신 시스템에서 폴라 코드에 기반한 정보 전송 방법 및 이를 위한 장치
WO2018151545A1 (ko) 정보 전송 방법 및 전송장치
EP4354775A1 (en) Method, communication device, processing device, and storage medium for performing channel encoding, and method and communication device for performing channel decoding

Legal Events

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