KR20190123801A - 폴라 코드의 부호율 조정 방법 및 장치 - Google Patents

폴라 코드의 부호율 조정 방법 및 장치 Download PDF

Info

Publication number
KR20190123801A
KR20190123801A KR1020197031348A KR20197031348A KR20190123801A KR 20190123801 A KR20190123801 A KR 20190123801A KR 1020197031348 A KR1020197031348 A KR 1020197031348A KR 20197031348 A KR20197031348 A KR 20197031348A KR 20190123801 A KR20190123801 A KR 20190123801A
Authority
KR
South Korea
Prior art keywords
procedure
length
buffer
bits
interleaved
Prior art date
Application number
KR1020197031348A
Other languages
English (en)
Other versions
KR102529800B1 (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 KR20190123801A publication Critical patent/KR20190123801A/ko
Application granted granted Critical
Publication of KR102529800B1 publication Critical patent/KR102529800B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, 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 using interleaving techniques
    • H03M13/2792Interleaver wherein interleaving is performed jointly with another technique such as puncturing, multiplexing or routing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/618Shortening and extension of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • H04L1/0069Puncturing patterns
    • 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/0071Use of interleaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0065Serial concatenated 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)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 개시는 IoT(Internet of Things) 기술을 이용하여 4세대(4G) 시스템보다 높은 데이터 속도를 지원하는 5세대(5G) 통신 시스템을 융합하는 통신 방법 및 시스템에 관한 것이다. 본 개시는 스마트 홈, 스마트 빌딩, 스마트 시티, 스마트 카, 커넥티드 카, 헬스 케어, 디지털 교육, 스마트 소매, 보안 및 안전 서비스와 같은 5G 통신 기술 및 IoT 관련 기술에 기반한 지능형 서비스에 적용될 수 있다. 본 개시의 양태에 따르면, 폴라 코딩을 사용하는 송신기에 의한 방법이 제공된다. 방법은 인터리빙된 송신 비트의 길이를 식별하는 단계; 인터리빙된 송신 비트에 대응하는 버퍼의 길이를 식별하는 단계; 인터리빙된 송신 비트의 길이가 버퍼의 길이보다 작은 경우, 인터리빙된 송신 비트의 길이 및 버퍼의 길이 중 적어도 하나에 기초하여 제1 절차 및 제2 절차로부터 절차를 결정하는 단계; 및 결정된 절차에 기초하여 인터리빙된 송신 비트를 버퍼에 저장하는 단계를 포함한다.

Description

폴라 코드의 부호율 조정 방법 및 장치
본 발명은 데이터를 전송하거나, 저장하는 과정에서 잡음, 간섭 등의 다양한 원인으로 인해 오류 및 소실이 발생하거나 발생할 여지가 있을 때, 이를 정정, 복원하는 오류-정정 부호 (error-correcting codes) 에 관한 것이다. 구체적으로 본 발명은 폴라 코드의 레이트 매칭에 관련된 방법 및 구현, 장치에 관한 것이다. 본 발명은 다양한 분야에서 사용될 수 있으나, 특히 GSM, WCDMA, LTE, 5G-NR 과 같은 이동통신 시스템을 위한 폴라 코드 레이트 매칭에 효율적으로 활용될 수 있다.
4G 통신 시스템 상용화 이후 증가 추세에 있는 무선 데이터 트래픽 수요를 충족시키기 위해, 개선된 5G 통신 시스템 또는 pre-5G 통신 시스템을 개발하기 위한 노력이 이루어지고 있다. 이러한 이유로, 5G 통신 시스템 또는 pre-5G 통신 시스템은 4G 네트워크 이후 (Beyond 4G Network) 통신 시스템 또는 LTE 시스템 이후 (Post LTE) 시스템이라 불리어지고 있다. 높은 데이터 전송률을 달성하기 위해, 5G 통신 시스템은 초고주파(mmWave) 대역 (예를 들어, 60기가(60GHz) 대역과 같은)에서의 구현이 고려되고 있다. 초고주파 대역에서의 전파의 경로손실 완화 및 전파의 전달 거리를 증가시키기 위해, 5G 통신 시스템에서는 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO), 전차원 다중입출력(Full Dimensional MIMO: FD-MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 및 대규모 안테나 (large scale antenna) 기술들이 논의되고 있다. 또한 시스템의 네트워크 개선을 위해, 5G 통신 시스템에서는 진화된 소형 셀, 개선된 소형 셀 (advanced small cell), 클라우드 무선 액세스 네트워크 (cloud radio access network: cloud RAN), 초고밀도 네트워크 (ultra-dense network), 기기 간 통신 (Device to Device communication: D2D), 무선 백홀 (wireless backhaul), 이동 네트워크 (moving network), 협력 통신 (cooperative communication), CoMP (Coordinated Multi-Points), 및 수신 간섭제거 (interference cancellation) 등의 기술 개발이 이루어지고 있다. 이 밖에도, 5G 시스템에서는 진보된 코딩 변조(Advanced Coding Modulation: ACM) 방식인 FQAM (Hybrid FSK and QAM Modulation) 및 SWSC (Sliding Window Superposition Coding)과, 진보된 접속 기술인 FBMC(Filter Bank Multi Carrier), NOMA(non orthogonal multiple access), 및SCMA(sparse code multiple access) 등이 개발되고 있다.
한편, 인터넷은 인간이 정보를 생성하고 소비하는 인간 중심의 연결 망에서, 사물 등 분산된 구성 요소들 간에 정보를 주고 받아 처리하는 IoT(Internet of Things, 사물인터넷) 망으로 진화하고 있다. 클라우드 서버 등과의 연결을 통한 빅데이터(Big data) 처리 기술 등이 IoT 기술에 결합된 IoE (Internet of Everything) 기술도 대두되고 있다. IoT를 구현하기 위해서, 센싱 기술, 유무선 통신 및 네트워크 인프라, 서비스 인터페이스 기술, 및 보안 기술과 같은 기술 요소 들이 요구되어, 최근에는 사물간의 연결을 위한 센서 네트워크(sensor network), 사물 통신(Machine to Machine, M2M), MTC(Machine Type Communication)등의 기술이 연구되고 있다. IoT 환경에서는 연결된 사물들에서 생성된 데이터를 수집, 분석하여 인간의 삶에 새로운 가치를 창출하는 지능형 IT(Internet Technology) 서비스가 제공될 수 있다. IoT는 기존의 IT(information technology)기술과 다양한 산업 간의 융합 및 복합을 통하여 스마트홈, 스마트 빌딩, 스마트 시티, 스마트 카 혹은 커넥티드 카, 스마트 그리드, 헬스 케어, 스마트 가전, 첨단의료서비스 등의 분야에 응용될 수 있다.
이에, 5G 통신 시스템을 IoT 망에 적용하기 위한 다양한 시도들이 이루어지고 있다. 예를 들어, 센서 네트워크(sensor network), 사물 통신(Machine to Machine, M2M), MTC(Machine Type Communication)등의 기술이 5G 통신 기술이 빔 포밍, MIMO, 및 어레이 안테나 등의 기법에 의해 구현되고 있는 것이다. 앞서 설명한 빅데이터 처리 기술로써 클라우드 무선 액세스 네트워크(cloud RAN)가 적용되는 것도 5G 기술과 IoT 기술 융합의 일 예라고 할 수 있을 것이다.
이와 같은 통신 시스템의 발전에 따른 통신 성능 향상을 위해 오류 정정 부호를 보다 효율적으로 적용할 필요성이 증대되고 있다.
본 개시의 목적은 폴라 코드 인코딩 및 디코딩 시스템(polar code encoding and decoding system)에서 안정적인 성능으로 레이트 매칭(rate-matching)을 제공하는 것에 관한 것이다. 특히, 본 개시의 목적은 인터리빙(interleaving) 방법이 펑처링(puncturing)에서 성능만을 개선하도록 설계되었다는 사실을 넘어 관련 기술에서 폴라 코드를 인코딩하는 과정에서 사용되는 인터리빙 방법의 반복조차도 개선된 성능을 제공하는 것에 관한 것이다. 본 개시의 다른 목적은 폴라 코드 인코더 및 디코더의 복잡도, 지연 및 성능을 고려하여 사용될 마더 코드(mother code)의 크기를 결정하는 동작을 제공하는 것에 관한 것이다.
본 개시의 양태에 따르면, 폴라 코딩(polar coding)을 사용하는 송신기에 의한 방법이 제공된다. 방법은 인터리빙된 송신 비트의 길이를 식별하는 단계; 인터리빙된 송신 비트에 대응하는 버퍼의 길이를 식별하는 단계; 인터리빙된 송신 비트의 길이가 버퍼의 길이보다 작은 경우, 인터리빙된 송신 비트의 길이 및 버퍼의 길이 중 적어도 하나에 기초하여 제1 절차 및 제2 절차로부터 하나의 절차를 결정하는 단계; 및 결정된 절차에 기초하여 인터리빙된 송신 비트를 버퍼에 저장하는 단계를 포함한다.
본 개시의 양태에 따르면, 폴라 코딩을 사용하는 송신기가 제공된다. 송신기는 송수신기; 및 송수신기와 결합된 적어도 하나의 프로세서를 포함하며, 프로세서는, 인터리빙된 송신 비트의 길이를 식별하고, 인터리빙된 송신 비트에 대응하는 버퍼의 길이를 식별하고, 인터리빙된 송신 비트의 길이가 버퍼의 길이보다 작은 경우, 인터리빙된 송신 비트의 길이 및 버퍼의 길이 중 적어도 하나에 기초하여 제1 절차 및 제2 절차로부터 하나의 절차를 결정하며, 결정된 절차에 기초하여 인터리빙된 송신 비트를 버퍼에 저장하도록 구성된다.
아래의 상세한 설명을 착수하기 전에, 본 특허 문서 전체에 걸쳐 사용된 특정 단어 및 문구를 정의하는 것이 유리할 수 있다. 용어 "포함한다(include)" 및 "포함한다(comprise)"뿐만 아니라 이의 파생어는 제한 없이 포함(inclusion)을 의미할 수 있다. 용어 "또는"는 포괄적이며, 및/또는(and/or)을 의미한다. 문구 "와 관련된(associated with)" 및 "이와 관련된(associated therewith)" 뿐만 아니라 이의 파생어는 포함하고(include), 내에 포함되고(included within), 와 상호 연결하고(interconnect with), 함유하고(contain), 내에 함유되고(be contained within), 에 또는 와 연결하고(connect to or with), 에 또는 와 결합하고(couple to or with), 와 통신 가능하고(be communicable with), 와 협력하고(cooperate with), 인터리브하고(interleave), 병치하고(juxtapose), 에 가까이 있고(be proximate to), 에 또는 와 바운딩되고(be bound to or with), 가지고(have), 소유하고 있고(have a property of) 등인 것을 의미한다. 용어 "제어기"는 적어도 하나의 동작을 제어하는 임의의 디바이스, 시스템 또는 이의 일부를 의미한다. 이러한 디바이스는 하드웨어, 펌웨어 또는 소프트웨어, 또는 이의 적어도 둘의 일부 조합으로 구현될 수 있다. 임의의 특정 제어기와 관련된 기능은 로컬로든 원격으로든 중앙 집중화되거나 분산될 수 있다는 것이 주목되어야 한다.
더욱이, 아래에서 설명되는 다양한 기능은 하나 이상의 컴퓨터 프로그램에 의해 구현되거나 지원될 수 있으며, 각각의 컴퓨터 프로그램은 컴퓨터 판독 가능 프로그램 코드(computer readable program code)로부터 형성되고, 컴퓨터 판독 가능 매체(computer readable medium)에서 구현된다. 용어 "애플리케이션" 및 "프로그램"은 적절한 컴퓨터 판독 가능 프로그램 코드에서 구현을 위해 적응된 하나 이상의 컴퓨터 프로그램, 소프트웨어 구성 요소(software components), 명령어 세트(sets of instructions), 절차, 기능, 객체(object), 클래스, 인스턴스, 관련된 데이터 또는 이의 일부를 지칭한다. 문구 "컴퓨터 판독 가능 프로그램 코드"는 소스 코드(source code), 객체 코드(object code) 및 실행 가능 코드(executable code)를 포함하는 임의의 타입의 컴퓨터 코드를 포함한다. 문구 "컴퓨터 판독 가능 매체"는 판독 전용 메모리(read only memory; ROM), 랜덤 액세스 메모리(random access memory; RAM), 하드 디스크 드라이브, 콤팩트 디스크(compact disc; CD), 디지털 비디오 디스크(digital video disc; DVD), 또는 임의의 다른 타입의 메모리와 같이 컴퓨터에 의해 액세스될 수 있는 임의의 타입의 매체를 포함한다. "비일시적(non-transitory)" 컴퓨터 판독 가능 매체는 일시적 전기적 또는 다른 신호를 송신하는 유선, 무선, 광학 또는 다른 통신 링크를 배제한다. 비일시적 컴퓨터 판독 가능 매체는 데이터가 영구적으로 저장될 수 있는 매체, 및 재기록 가능 광 디스크 또는 소거 가능 메모리 디바이스와 같이 데이터가 저장되고 나중에 중복 기록(overwriting)될 수 있는 매체를 포함한다.
다른 특정 단어 및 문구에 대한 정의는 본 특허 문서 전체에 걸쳐 제공된다. 통상의 기술자는 대부분의 경우는 아니지만 이러한 정의가 이러한 정의된 단어 및 문구의 이전 및 이후의 사용에 적용된다는 것을 이해해야 한다.
일 실시 예에 따라 폴라 코드의 마더 코드를 선택하는 방법을 통해 채널 상에서 송신될 비트의 수에 따라 적절한 복잡도 성능(complexity-performance) 및 트레이드 오프(trade-off)를 갖는 폴라 코드의 마더 코드를 선택할 수 있다. 더욱이, 일 실시 예에 따른 폴라 코드의 레이트 매칭 방법을 통해 채널 상에 송신될 비트의 수가 작을 뿐만 아니라 폴라 코드의 마더 코드의 크기보다 클 때 고성능을 달성할 수 있다. 더욱이, 일 실시 예에 따른 폴라 코드의 레이트 매칭 방법은 관련 기술보다 낮거나 동일한 복잡도로 레이트 매칭 동작을 수행할 수 있게 한다.
본 개시 및 이의 이점에 대한 더욱 전체 이해를 위해, 동일한 도면 부호가 동일한 부분을 나타내는 첨부된 도면과 연관하여 취해진 다음의 설명에 대한 참조가 이제 이루어진다.
도 1은 본 개시의 일 실시 예에 따른 일련의 폴라 코드 인코딩 및 레이트 매칭 프로세스를 예시하는 다이어그램을 도시한다.
도 2는 본 개시의 일 실시 예에 따른 일련의 폴라 코드 인코딩 및 레이트 매칭 프로세스의 블록도를 도시한다.
도 3은 본 개시의 일 실시 예에 따른 일반적인 마더 코드 선택, 인코딩 및 레이트 매칭 동작을 예시하는 흐름도를 도시한다.
도 4는 본 개시의 일 실시 예에 따른 두 타입의 펑처링을 고려한 동작을 예시하는 흐름도를 도시한다.
도 5는 본 개시의 일 실시 예에 따른 일련의 폴라 코드 인코딩 및 레이트 매칭을 예시하는 블록도를 도시한다.
도 6은 본 개시의 일 실시 예에 따른 인터리버를 포함하는 일련의 폴라 코드 인코딩 및 레이트 매칭 프로세스를 예시하는 블록도를 도시한다.
도 7은 본 개시의 일 실시 예에 따른 반복 및 펑처링에서의 코드 비트 선택 프로세스를 예시하는 다이어그램을 도시한다.
도 8은 본 개시의 일 실시 예에 따른 동작을 수행하기 위한 의사 코드(pseudo-code)를 도시한다.
도 9는 본 개시의 일 실시 예에 따른 장치를 예시하는 다이어그램을 도시한다.
아래에서 논의되는 도 1 내지 도 9, 및 본 특허 문서에서 본 개시의 원리를 설명하기 위해 사용된 다양한 실시예는 단지 예시를 위한 것이고, 어떤 식으로든 본 개시의 범위를 제한하는 것으로 해석되지 않아야 한다. 통상의 기술자는 본 개시의 원리가 적절히 배치된 임의의 시스템 또는 디바이스에서 구현될 수 있다는 것을 이해할 것이다.
이하, 본 발명의 실시예를 첨부한 도면과 함께 상세히 설명한다. 또한 본 발명을 설명함에 있어서 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이 때, 본 실시 예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
폴라 코드는 2008년 E. Arikan 에 의해 제안된 오류 정정 부호로 낮은 부호화/복잡도 성능을 가지면서도 모든 이진 이산 무기억 채널(binary discrete memoryless channels, B-DMC) 에서 데이터 전송 한계인 채널 용량 (channel capacity) 을 달성하는 것이 증명된 최초의 부호이다. 폴라 코드는 다른 채널 용량 근접 부호인 터보 코드(Turbo code), LDPC (low-density parity-check) 코드 대비 짧은 길이의 부호를 전송할 때 성능 이점이 있다. 이러한 장점으로 5세대 이동통신 (5G) 을 위해 진행 중인 3GPP New-RAT (NR) 표준화에서 폴라 코드의 사용이 논의되고 있으며, 보다 구체적으로 짧은 길이의 제어 정보를 전송하는 용도로 폴라 코드 사용을 고려하고 있다.
폴라 코드는 B-DMC 가정 하에 채널 편파(channel polarization)이라는 현상을 기반으로 정의된 오류-정정 부호이다. 각 비트는 독립적이고 통계적으로 동일한 특성을 갖는 (independent identical distributed, i.i.d.) 채널 W를 통과한다. 각 채널의 채널 용량이 0≤C(W)≤1라고 하면, 어떤 한 비트를 채널 W을 통해 전송했을 때 이론적으로 C(W) 비트만큼 정보 전달이 가능하며 그 이상의 정보는 전달할 수 없다는 의미이다. 아무런 동작 없이 N개의 비트를 B-DMC를 통해 전송하는 경우, 각 비트가 전송되는 채널은 모두 C(W) 의 채널 용량을 가지며, 총 N×C(W) 비트만큼의 정보가 이론적으로는 전달될 수 있다. 채널 편파의 기본적인 개념은 N개의 비트가 통과하는 채널들을 결합하고 (channel combining), 분리하는 (channel splitting) 동작을 수행하여 특정 비율의 비트가 겪는 결과적인 채널 (effective channel) 의 채널 용량은 1에 가까운 값이 되고, 남은 비트가 겪는 결과적인 채널의 채널 용량은 0에 가까운 값이 되도록 하는 것이다. 폴라 코드를 간단하게 개념적으로 설명하면, 채널 편파 후 채널 용량이 높은 채널로 정보 비트를 전송하고 채널 용량이 낮은 채널에는 정보 비트를 싣지 않고 특정값으로 고정할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 일련의 폴라 코드 인코딩 및 레이트 매칭 프로세스를 예시하는 다이어그램을 도시한다.
도 1을 참조하면, 폴라 코드의 부호화 과정 전반이 도시된다.
이 부호화 과정에서 전송하고자 하는 정보 비트 (information bit) 수는 K 개이고, 부호화를 하여 채널을 통해 전송하는 부호어 비트 (codeword bit) 수는 N 개이다.
1) 정보 비트 생성 (Information Bit Generation)
전송하고자 하는 정보 비트 시퀀스
Figure pct00001
가 생성되어 주어진다.
2) 외부 부호화 (Outer Code encoding)(105)
정보 비트 시퀀스 b는 성능 향상을 위해 외부 부호 (outer code) 로 부호화될 수 있으며, 외부 부호화를 통해 전송 성능이 향상될 수 있다. 사용되는 외부 부호로는 CRC (cyclic redundancy check) 부호와 같은 오류 검출 부호나 BCH 부호, 단일 패리티 체크 (single parity check) 부호 등 오류 정정 부호가 있다. 외부 부호에 의해 생성된 패리티의 길이를 Kouter라고 하고, 외부 부호화의 결과 비트 시퀀스를
Figure pct00002
라고 한다. 외부 부호화는 필수적인 동작은 아니기 때문에 만약 외부 부호화를 고려하지 않는다면 Kouter=0, b'=b 이다.
3) 부채널 할당 (Subchannel Allocation)(110)
비트 시퀀스 b'는 폴라 코드 부호화를 위해 길이 N0의 비트 시퀀스
Figure pct00003
에 매핑된다. N0는 마더 폴라 코드의 크기로 2의 거듭제곱수이며, 사전에 설정된 기준에 의해 결정된다.
u는 폴라 코드 인코딩의 입력 비트 시퀀스이고, u의 각각의 비트는 u의 각각의 비트가 채널 편파(channel polarization)에 의해 상이한 품질을 갖는 서브채널을 통과하는 것처럼 분석될 수 있다.
이러한 특징때문에 b'를 u에 매핑하는 과정을 부채널 (subchannel) 할당 과정으로 일컫는다. 일반적인 폴라 코드의 부채널 할당 과정은 세 단계로 이루어 질 수 있으나 이에 한정되지 않으며, 일부 단계가 삭제되거나 다른 단계와의 조합을 통해 수행될 수도 있다.
3-a) 먼저 부호화 후 펑처링 (puncturing) 에 의해 정보를 실을 수 없는 부채널의 위치를 결정한다. 부호화 후 펑처링되는 비트 수를 Np라고 하면, 비트 시퀀스 u 중 Np 개의 비트는 인케이퍼블 부채널(incapable subchannel) 혹은 단축된 부채널 (shortened subchannel) 을 통과하게 된다. 펑처링 되는 비트가 생성된 후 전송되지 않는 일반적인 방식을 고려하는 경우 인케이퍼블 부채널이 발생하고, 송신기가 펑처링 되는 비트값을 0으로 고정하였고 수신기가 이를 알고 있다고 가정하면 단축된 부채널이 발생한다. 인케이퍼블/단축된 부채널의 위치는 부호화 후 펑처링이 되는 비트의 위치에 따라 결정된다.
3-b) 입력된 비트 시퀀스 b'의 각 비트가 u의 남은 비트에 매핑된다. b'의 비트가 매핑될 u 시퀀스 내 비트 위치는 u의 각 비트가 통과할 부채널의 채널 용량에 의해 결정된다. 즉, b'는 u의 부채널 중 가장 큰 채널 용량을 갖는 부채널 상으로 전송될 수 있도록 매핑된다. 이를 위해 보통 채널 용량 순으로 u의 부채널 인덱스를 정렬한 시퀀스를 사용하며, 이를 폴라 코드 시퀀스라고 부른다. 폴라 코드 시퀀스는 송/수신기 메모리에 저장되어 있을 수도 있고, 혹은 송/수신 시마다 특정 동작에 의해 얻어질 수도 있다.
3-c) 최종적으로 남은 u의 비트는 프로즌 비트(frozen bit)라고 한다. 앞선 동작에 의해 결과적으로 정보를 전달할 수 있지만 채널 용량이 낮은 부채널을 통과하는 u의 비트가 프로즌 비트가 된다. 프로즌 비트는 송/수신기가 서로 약속한 값으로 결정되는데, 특별한 목적이 없다면 보통 0으로 고정된다.
4) 생성행렬 곱셈 (Generator Matrix Multiplication)(115)
길이 N0의 비트 시퀀스 u는 폴라 코드의 생성행렬 (generator matrix) G와 곱해져 길이 N0의 비트 시퀀스 x를 생성한다. 최초 Arikan에 의해 폴라 코드가 제안되었을 때 생성행렬 G는 다음과 같이 정의되었다.
[수학식 1]
Figure pct00004
위의 식에서
Figure pct00005
이며, 위 첨자
Figure pct00006
연산은 n회의 크로네커 승(Kronecker power)를 의미한다. 예를 들어,
Figure pct00007
이며,
Figure pct00008
이다. 그리고 BN은 크기 N0×N0 비트 전환 순열 (bit-reversal permutation) 행렬이다. 예를 들어
Figure pct00009
와 B8이 곱해져
Figure pct00010
가 얻어진다. 최근 다양한 시스템에서는
Figure pct00011
을 제외한 단순한 형태의 아래와 같은 생성행렬을 고려할 수 있다. 그러나 생성 행렬은 이에 제한되지 않는다.
[수학식 2]
Figure pct00012
5) 인터리빙 및 부호율-조정 (120)
생성행렬 곱셈으로 생성된 N0 길이의 비트 시퀀스 x는 효율적인 부호율-조정 (rate-matching) 을 위해 인터리빙 된다. 인터리빙 방식은 사전에 결정되어 있으며, 이러한 방식에 의해 인터리빙된 비트 시퀀스는 크기가 N0 인 버퍼(buffer)에 저장(125)된다. LTE, 5G-NR와 같은 이동통신 시스템에서는 일반적으로 가상 순환 버퍼(virtual circular buffer)를 가정한다. 인터리빙된 비트 시퀀스는 가상 순환 버퍼에 순차적으로 저장되며, 여기에서 N개의 비트가 순차적으로 로딩되어 전송된다. 만약 N<N0 이면 가상 순환 버퍼에 저장된 순서의 역순으로 N-N0 비트가 펑처링 된다. 만약 N>N0 이면 가상 순환 버퍼에 저장된 순서대로 N-N0 비트가 반복(repetition)된다. 실시 예에 따라 펑처링과 반복의 선택은 적응적으로 이루어 질 수 있다.
채널 부호를 포함한 BICM (bit-interleaved coded modulation) 시스템에서 부호화 부분과 인터리빙을 포함한 레이트 매칭 부분은 성능 향상을 위해 서로를 밀접하게 연관되어 설계된다. 하지만 폴라 코드를 고려한 BICM에서의 부호화 부분과 부호율-조정 부분은 다른 채널부호를 고려했을 때보다 더 밀접하게 연관되어 있다. 만약 두 부분이 정확하게 매칭되어 있지 않으면 동작이 되지 않을 정도로 성능 손실이 매우 큰 바, 서로 대응되는 부호화와 레이트 매칭의 방법을 고려할 필요성이 있다.
본 실시 예에서 폴라 코드 동작에 있어서 특별한 언급이 없다면
Figure pct00013
로 정의된 생성 행렬을 가정한다.
Figure pct00014
로 정의된 생성 행렬을 기반으로 설명된 본 발명의 내용은 다른 형태의 생성 행렬
Figure pct00015
로 정의된 시스템에 간단한 규칙에 의해 매우 쉽게 적용될 수 있다. 그러나 생성 행렬은 이에 제한되지 않으며, 폴라 코드와 유사한 형태를 사용하는 시스템에서 적용되는 생성행렬을 사용하는 경우에도 본 명세서의 실시 예가 적용될 수 있음은 자명하다.
도 2는 본 개시의 일 실시 예에 따른 일련의 폴라 코드 인코딩 및 레이트 매칭 프로세스의 블록도를 도시한다.
도 2를 참조하면 실시 예에서 K bit의 소스 코드 (source code) (205)에 외부 부호화(210)가 수행될 수 있다. 실시 예에서 외부 부호화로 Kouter bit의 외부 부호가 적용될 수 있으며, 외부 부호화 결과로 K+ Kouter bit의 코드에 부채널 할당(220)이 수행될 수 있다. 부채널 할당 된 N0 bit의 코드(225)에 생성 행렬 곱셈(230)이 수행될 수 있다.
생성 행렬이 곱해진 N0 bit의 시퀀스(235)에 인터리빙(240)이 수행될 수 있다. 인터리빙된 시퀀스는 가상 순환 버퍼(virtual circular buffer)(245)에 버퍼링 될 수 있다. 버퍼의 크기 및 N0 bit의 시퀀스의 길이에 따라 반복 또는 펑처링의 기법을 이용하여 버퍼링 될 수 있다.
도 3은 본 개시의 일 실시 예에 따른 일반적인 마더 코드 선택, 인코딩 및 레이트 매칭 동작을 예시하는 흐름도를 도시한다.
도 3을 참조하면 생성행렬
Figure pct00016
로 정의되는 폴라 코드를 사용하는 본 발명의 동작 실시 예가 개시된다.
본 발명에서 고려하는 폴라 코드 부호화 및 복호화 시스템에서는 지원 가능한 모부호의 크기가 N1<N2<...<Nmax와 같이 주어져 있다. 여기서 모든 Ns는 2의 거듭 제곱 수이며, N1는 시스템에서 지원 가능한 가장 작은 폴라 코드 모부호의 크기이고, Nmax는 시스템에서 지원 가능한 가장 큰 폴라 코드 모부호의 크기이다. 일 예로 N1 = 16, N2 = 32, N3 = 64, N4 = 128 등과 같이 구성될 수 있으며, 구체적인 수치는 실시 예에 따라 달라질 수 있다.
단계 305에서 폴라 코드 부호화 입력 비트 수 K와 채널을 통해 전송할 부호어 비트 수 N을 결정될 수 있다. 실시 예에서 이와 같은 결정은 연산 장치에 의해 이루어 질 수 있다. 실시 예에서 K는 정보 비트가 외부 부호화가 되지 않았다면, 정보 비트의 길이이다. K는 정보 비트가 외부 부호화가 되었다면, 정보 비트와 외부 부호화의 패리티 비트가 포함한 결과의 길이이다.
단계 310에서 연산 장치는 N과 시스템에서 지원 가능한 최대 모부호 크기 Nmax를 비교할 수 있다.
이 때 N≥Nmax이면, 단계 315에서 연산 장치는 폴라 코드의 부호화에 사용할 모부호의 크기 N0=Nmax로 결정할 수 있다.
이에 따라 단계 320에서 생성행렬
Figure pct00017
과의 곱셈으로부터 얻어진 결과를 전송하는 과정에서 N-Nmax 비트가 제 1의 순서로 반복 될 수 있다. 이 때 제 1의 순서는 단순 매핑 혹은 이에 대한 단순 변형의 순서로 다음 4가지 순서 중 어느 하나의 형태를 갖는 것을 특징으로 한다.
(a) 생성된 순서 그대로의 순서
Figure pct00018
(b) 생성된 순서의 반대방향 순서
Figure pct00019
(c) 상기 (a) 에서 임의의 j만큼 시프트(shift)된 순서
Figure pct00020
(d) 상기 (b) 에서 임의의 만큼 시프트된 순서
Figure pct00021
이와 같은 순서 중 하나로 반복을 통해 버퍼링 될 수 있다. 실시 예에서 제1의 순서는 (a) 내지 (d)의 방법 중 하나일 수 있다.
실시 예에서 N<Nmax이면, 단계 325에서 N과 시스템에서 지원 가능한 최소 모부호 크기 N1를 비교할 수 있다.
N<N1이면, 단계 330에서 폴라 코드의 부호화에 사용할 모부호의 크기 N0=N1로 결정된다.
단계 335에서 생성행렬
Figure pct00022
과의 곱셈으로부터 얻어진 결과를 전송하는 과정에서 N1-N 비트가 제 2의 패턴으로 펑처링 될 수 있다. 여기서 펑처링이란 부호화로 생성된 N0 비트 중에 일부가 전송되지 않는 것을 의미한다. 여기서 제 2의 패턴은 비트 전환(bit-reversal)의 반대방향을 포함하여 다양한 형태로 결정될 수 있다. 또한 실시 예에서 제2의 패턴은 제1의 순서에 대응하거나 혹은 제1의 순서와 무관하게 결정될 수 있다.
N≥N1이면, 단계 340에서 Ni≤N<Ni+1 조건을 만족시키는 모부호의 크기 후보 Ni와 Ni+1를 결정할 수 있다. 그리고 단계 345에서 N과 Ni(1+αi)의 크기를 비교할 수 있다. 여기서 는 0≤αi<1의 값을 갖는 실수로 사전에 값이 결정되어 있으며, i 값에 따라 서로 다른 값으로 설정될 수 있고 혹은 모든 i 값에 대해 같은 값으로 설정될 수 있다. 또한 실시 예에서 i 값은 모부호 길이 또는 입력 비트 수에 따라 다른 값으로 결정 될 수 있으며, 보다 구체적으로 입력 비트수와 모부호의 크기가 일정 비율에 대응할 수 있도록 i 값이 결정될 수 있다. 이와 같이 i 값을 기반으로 반복과 펑처링을 수행할지를 판단하고 이를 기반으로 적용할 모부호의 크기를 결정할 수 있다.
N≤Ni(1+αi) 이면, 단계 350에서 폴라 코드의 부호화에 사용할 모부호의 크기 N0는 Ni로 결정된다. 그리고 단계 355의 생성행렬
Figure pct00023
과의 곱셈으로부터 얻어진 결과를 전송하는 과정에서 N-Ni 비트가 상기 제 1의 순서로 반복 된다.
N>Ni(1+αi) 이면, 단계 360에서 폴라 코드의 부호화에 사용할 모부호의 크기 N0=Ni+1로 결정된다. 그리고 단계 365의 생성행렬
Figure pct00024
과의 곱셈으로부터 얻어진 결과를 전송하는 과정에서 Ni+1-N 비트가 상기 제 2의 패턴으로 펑처링 된다.
도 4는 본 개시의 일 실시 예에 따른 두 타입의 펑처링을 고려한 동작을 예시하는 흐름도를 도시한다.
도 4를 참조하면, 생성행렬
Figure pct00025
로 정의되는 폴라 코드를 사용하는 본 발명이 둘 이상의 펑처링 기법을 사용하는 방안으로 포함하는 것으로 확장된 동작과 관련된 절차가 개시된다.
실시 예에서 단계 405 내지 단계 430의 동작은 단계 305 내지 330의 동작과 대응되게 실시될 수 있다. 이전 실시 예에서 설명한 단계 335에서 펑처링 시 제 2의 패턴을 적용하였으며, 본 실시 예의 단계 435에서는 제 2의 패턴 및 제 3의 패턴 중 하나가 적용될 수 있다. 일 예에 따르면 제2의 패턴과 제3의 패턴이 선택적으로 적용될 수 있다. 제2페턴 및 제3페턴을 결정하는 것은 모부호의 크기 및 입력 비트 수 중 적어도 하나를 기반으로 결정될 수 있으며, 순차적으로 변경하면서 제2페턴 및 제3페턴을 교대로 적용할 수도 있다.
단계 440 내지 단계 455는 단계 340 내지 단계 355의 동작과 대응되게 실시 될 수 있다.
N>Ni(1+αi) 인 경우, 단계 460에서 폴라 코드의 부호화에 사용할 모부호의 크기 N0=Ni+1로 결정하고, 단계 465에서 다시 N을 Ni(1+bi) 값과 비교할 수 있다. 여기서 bi는 0≤bi<1의 값을 갖는 실수로 사전에 값이 결정되어 있으며, i 값에 따라 서로 다른 값으로 설정될 수 있고 혹은 모든 i 값에 대해 같은 값으로 설정될 수 있다. 만약 N≤Ni(1+bi) 이라면, 단계 470에서 제 2의 패턴에 따라 N-Ni 비트를 펑처링 한다. 만약 N>Ni(1+bi) 이라면 단계 475에서 제 3의 패턴에 따라 N-Ni 비트를 펑처링 한다. 실시 예에서 상기 제2패턴 및 제3패턴은 사전에 정해진 패턴일 수 있다. 또는 단계 435에서 사용되는 패턴에 따라 결정될 수 있다.
도 5는 본 개시의 일 실시 예에 따른 일련의 폴라 코드 인코딩 및 레이트 매칭을 예시하는 블록도를 도시한다.
도 5를 참조하면, 생성행렬
Figure pct00026
을 고려하였을 때 본 발명의 동작에 대한 부호화 블록 다이어그램이 개시된다.
단계(505 내지 535)의 동작은 단계(205)(예를 들어, K 비트 소스 코드) 내지 단계(235)의 동작에 대응하도록 수행될 수 있다.
보다 구체적으로 부호화 일련의 동작, 즉 외부 부호화, 부채널 할당, 생성행렬 곱셈은 이전 실시 예에서 설명한 폴라 코드의 부호화 동작과 대응될 수 있다. 생성행렬 곱셈 후 얻어진 결과 비트 시퀀스 x(235)는 전송해야 할 부호어 비트 N과 상기 설명한 기준으로 선택된 모부호의 크기 N0의 대소 관계에 따라 적응적으로 인터리빙 될 수 있다. N≥N0이라면 상기 제 1의 순서로 결과 비트 시퀀스가 버퍼에 쌓이도록 인터리빙된다. N<N0이라면 상기 제 2의 패턴으로 결과 비트 시퀀스가 버퍼에 쌓이도록 제 2의 패턴의 반대 순서로 인터리빙된다. 이와 같이 N과 N0의 값에 따라 버퍼에 상기 설명한 실시 예의 순서로 반복 또는 펑처링될 수 있다.
도 6은 본 개시의 일 실시 예에 따른 인터리버를 포함하는 일련의 폴라 코드 인코딩 및 레이트 매칭 프로세스를 예시하는 블록도를 도시한다.
도 6을 참조하면, 생성행렬
Figure pct00027
을 고려하였을 때 본 발명의 동작에 대한 부호화 블록 다이어그램이 개시된다.
단계 605 내지 단계 635 의 동작은 단계 205 내지 235의 동작과 대응되게 수행될 수 있다.
본 실시 예에서 단계 640 및 645에서 펑처링 시 사용하는 제 1 인터리빙이 비트 전환(bit-reversal) 인터리빙으로 결정되고, 반복 시 사용하는 제 2 인터리빙이 아이덴티티 매핑(identity mapping)을 수행하는 인터리빙으로 결정된 실시예이다.
제2 인터리빙은 아이덴티티 매핑(identity mapping)이므로, 제2 인터리빙은 인터리빙 동작을 수행할 수 있다.
이에 의해 도 6은 제어 신호에 따라 비트 전환(bit-reversal) 인터리버를 적응적으로 적용하는 것으로 실현될 수 있다. 보다 구체적으로 제어 신호를 기반으로 비트 전환(bit-reversal) 인터리버를 사용할지 여부를 결정할 수 있으며, 제어 신호에 따라 각기 다른 인터리버를 적용하거나 아이덴티티 매핑(identity mapping)을 수행할지 여부를 결정할 수도 있다.
도 7은 본 개시의 일 실시 예에 따른 반복 및 펑처링에서의 코드 비트 선택 프로세스를 예시하는 다이어그램을 도시한다.
도 7을 참조하면, 본 명세서의 실시 예의 동작에 의해 펑처링 시와 반복 시 전송될 비트가 어떻게 선택되는지를 나타낸 예시이다. 도 7의 예시에서 식별번호 705와 같이 모부호의 크기 N0=16이다. 도 7의 오른편에 도시된 바와 같이 채널을 통해 전송할 비트 수 N=9 이면, 비트 전환(bit-reversal) 인터리빙(710)을 수행하여 재배치된 비트 시퀀스에서 식별번호 715와 같이 앞쪽부터 9개의 비트가 선택되어 전송된다. 즉, 비트 전환(bit-reversal) 순서로 재배치된 비트 시퀀스에서 뒤쪽부터 7개의 비트가 펑처링 된다. 도 7의 왼편에 도시된 바와 같이 채널을 통해 전송할 비트 수 N=22 이면, 부호화에 의해 생성된 순서로 앞쪽부터 16개의 비트가 선택되고 추가로 다시 앞쪽부터 순서대로 6개의 비트가 추가로 선택되어 전송된다. 즉, 생성된 순서로 앞쪽부터 6개의 비트가 반복 된다.
도 6, 도 7과 같이 반복 시 결과 비트 시퀀스를 생성된 순서, 혹은 이 순서의 간단한 변형 (시프트와 리버스(reverse), 혹은 두 동작의 조합) 으로 배열하는 이유는 반복이 QUP (quasi-uniform puncturing)처럼 동작하기 때문이다. 반복 이 발생할 경우, 반복이 된 비트는 상대적으로 좋은 채널을 겪게 되지만 반복이 되지 않은 비트는 상대적으로 나쁜 채널을 겪게 된다. 이와 같이 모부호 측면에서 결과 비트가 겪는 채널의 품질 사이에 편차가 발생할 경우 폴라 코드 그래프에서 상대적으로 나쁜 채널을 겪은 비트들을 최대한 균일하게 배치시켜주어야 우수한 성능을 얻을 수 있다. 생성행렬
Figure pct00028
을 고려할 경우, 상기 4가지 형태의 인터리빙을 수행하는 것이 상대적으로 나쁜 채널을 겪은 비트를 폴라 코드 그래프 상에서 최대한 균일하게 배치시킨다. 이와 같이 본 명세서의 실시 예에서와 같이 나쁜 채널을 겪은 비트를 폴라 코드 그래프 상에서 최대한 균일하게 배치함으로써 전송 성능이 향상될 수 있다.
도 8은 본 개시의 일 실시 예에 따른 동작을 수행하기 위한 의사 코드를 도시한다.
도 8을 참조하면, 상기 도 6, 도 7과 같은 동작을 수행하기 위한 동작의 의사부호 (pseudo-code) 가 개시된다. 상기 설명한 기준에 의해 모부호의 크기 N0가 결정된 경우, 전송해야 할 비트 수 N과 N0를 비교한다. 만약 N이 N0보다 크거나 같다면, 인터리빙을 수행하지 않고 순환 버퍼에 저장한다. 만약 N이 N0보다 작다면, 비트-전환 매핑(bit-reversal mapping)을 수행하여 순환 버퍼에 저장한다.
도 9는 본 개시의 일 실시 예에 따른 장치를 예시하는 다이어그램을 도시한다.
도 9의 전자 장치는 단말 또는 기지국 일 수 있다. 또한, 도 9의 전자 장치는 단말 및 기지국에 한정하지 않고, 폴라 코드의 부호율 조정 방법을 사용할 수 있는 다양한 통신 장치를 포함할 수 있다. 즉, 도 1 내지 도 8을 통해 설명한 본 발명의 실시 예는 폴라 코드의 부호율을 조정하는 단말, 기지국 등 통신 장치에 적용될 수 있으며, 도 1 내지 도 8을 통한 실시 에는 단말, 기지국 등의 전자 장치에 의해 수행될 수 있다.
도 9를 참조하면 전자 장치(900)는 송수신부(910) 및 제어부(930)를 포함할 수 있다. 상기 송수신부(910)는 신호를 송신 및 수신할 수 있다. 제어부(930)는 적어도 하나의 프로세서를 포함할 수 있다. 상기 제어부(930)는 상기 전자 장치의 전반적인 동작을 제어할 수 있다. 또한, 상기 제어부(930)는 전자 장치(900)가 도 1 내지 도 8을 통해 설명한 본 발명의 실시 예에 따른 폴라 코드의 부호율 조정을 위한 동작을 수행하도록 제어할 수 있다.
한편, 상기 본 발명의 각 실시 예에서 단말이 송신 주체인 경우 수신 주체는 기지국 또는 다른 단말이 될 수 있고, 기지국이 송신 주체인 경우에 수신 주체는 단말, 기지국, 다른 네트워크 엔티티 등이 될 수 있다.
상기와 같은 문제점을 해결하기 위한 본 발명은 폴라 코드를 사용하는 무선 통신 시스템에서 부호화 및 부호율-조정 방법에 있어서, 채널을 통해 전송해야 할 부호어 비트 수에 따라 부호화, 복호화에 사용할 폴라 코드 모부호의 크기를 결정하는 단계; 채널을 통해 전송해야 할 부호어 비트 수에 따라 부호율-조정 동작을 결정하는 기준값을 결정하는 단계; 채널을 통해 전송해야 할 부호어 비트 수와 상기 기준값의 크기를 비교하는 단계; 상기 비교의 결과에 따라 최소한 두 종류의 부호율-조정 동작 중에서 하나를 선택하는 단계; 상기 최소 두 종류의 부호율-조정 동작 중 하나는 단위 매핑 (identity mapping), 역 매핑 (reverse mapping), 단위 매핑의 시프트, 역 매핑의 시프트 중 하나로 인터리빙되는 동작을 포함하는 것을 특징으로 한다.
또한 본 발명의 실시 예에 따르면 폴라 코드 부호화 및 부호율-조정 방법에 있어서, 부호화에 사용할 모부호의 크기를 결정하는 단계; 상기 결정된 모부호로 부호화하는 단계; 상기 모부호로 부호화된 결과로부터 전송할 비트를 취하는 부호율-조정 단계에 있어서 모부호의 크기와 전송하고자 하는 비트의 수의 값 관계에 의해 최소 2개의 인터리빙 동작 중 하나를 선택하는 단계; 상기 최소 2개의 인터리빙 동작 중 하나가 identity mapping을 포함하는 것을 특징으로 하는 방법 및 이를 수행하는 장치를 제공할 수 있다.
본 개시가 예시적인 실시예로 설명되었지만, 다양한 변경 및 수정이 통상의 기술자에게 제시될 수 있다. 본 개시는 첨부된 청구항의 범주 내에 속하는 이러한 변경 및 수정을 포함하는 것으로 의도된다.

Claims (20)

  1. 폴라 코딩을 사용하는 송신기에 의한 방법에 있어서,
    인터리빙된 송신 비트의 길이를 식별하는 단계;
    상기 인터리빙된 송신 비트에 대응하는 버퍼의 길이를 식별하는 단계;
    상기 인터리빙된 송신 비트의 길이가 상기 버퍼의 길이보다 작을 때, 상기 인터리빙된 송신 비트의 길이 및 상기 버퍼의 길이 중 적어도 하나에 기초하여 제1 절차 또는 제2 절차 중 적어도 하나로부터의 절차를 결정하는 단계; 및
    상기 결정된 절차에 기초하여 상기 인터리빙된 송신 비트를 상기 버퍼에 저장하는 단계를 포함하는, 폴라 코딩을 사용하는 송신기에 의한 방법.
  2. 제 1 항에 있어서,
    상기 절차를 결정하는 단계는,
    상기 인터리빙된 송신 비트의 길이가 미리 결정된 값 이상인지에 기초하여 상기 제1 절차 또는 상기 제2 절차 중 적어도 하나로부터의 절차를 결정하는 단계를 포함하는, 폴라 코딩을 사용하는 송신기에 의한 방법.
  3. 제 1 항에 있어서,
    상기 제1 절차 또는 제2 절차 중 적어도 하나로부터의 절차를 결정하는 단계는,
    상기 인터리빙된 송신 비트의 길이 대 상기 버퍼의 길이의 비에 기초하여 상기 제1 절차 또는 상기 제2 절차 중 적어도 하나로부터의 절차를 결정하는 단계를 포함하는, 폴라 코딩을 사용하는 송신기에 의한 방법.
  4. 제 1 항에 있어서,
    상기 제1 절차 또는 상기 제2 절차 중 적어도 하나로부터의 절차를 결정하는 단계는,
    상기 인터리빙된 송신 비트의 길이 대 상기 버퍼의 길이의 비가 미리 정해진 값 이하일 때, 상기 절차를 펑처링으로서 결정하는 단계; 및
    상기 인터리빙된 송신 비트의 길이 대 상기 버퍼의 길이의 비가 미리 정해진 값보다 클 때, 상기 절차를 단축(shortening)으로서 결정하는 단계를 포함하는, 폴라 코딩을 사용하는 송신기에 의한 방법.
  5. 제 1 항에 있어서,
    상기 제1 절차는 펑처링을 포함하고 상기 제2 절차는 단축을 포함하는, 폴라 코딩을 사용하는 송신기에 의한 방법.
  6. 제 1 항에 있어서,
    상기 제1 절차 및 제2 절차는 아이덴티티 매핑, 역 매핑, 시프팅된 아이덴티티 매핑 또는 시프팅된 역 매핑 중 적어도 하나를 포함하는, 폴라 코딩을 사용하는 송신기에 의한 방법.
  7. 제 1 항에 있어서,
    상기 인터리빙된 송신 비트의 길이가 상기 버퍼의 길이 이상일 때의 반복에 기초하여 상기 인터리빙된 송신 비트를 상기 버퍼에 저장하는 단계를 더 포함하는, 폴라 코딩을 사용하는 송신기에 의한 방법.
  8. 폴라 코딩을 사용하는 송신기에 있어서,
    송수신기; 및
    상기 송수신기와 결합된 적어도 하나의 프로세서를 포함하며, 상기 프로세서는,
    인터리빙된 송신 비트의 길이를 식별하고;
    상기 인터리빙된 송신 비트에 대응하는 버퍼의 길이를 식별하고;
    상기 인터리빙된 송신 비트의 길이가 상기 버퍼의 길이보다 작을 때 상기 인터리빙된 송신 비트의 길이 및 상기 버퍼의 길이 중 적어도 하나에 기초하여 제1 절차 또는 제2 절차 중 적어도 하나로부터의 절차를 결정하며;
    상기 결정된 절차에 기초하여 인터리빙된 송신 비트를 상기 버퍼에 저장하도록 구성되는, 폴라 코딩을 사용하는 송신기.
  9. 제 8 항에 있어서,
    상기 적어도 하나의 프로세서는 상기 인터리빙된 송신 비트의 길이가 미리 결정된 값 이상인지에 기초하여 상기 제1 절차 또는 상기 제2 절차 중 적어도 하나로부터의 절차를 결정하도록 더 구성되는, 폴라 코딩을 사용하는 송신기.
  10. 제 8 항에 있어서,
    상기 적어도 하나의 프로세서는 상기 인터리빙된 송신 비트의 길이 대 상기 버퍼의 길이의 비에 기초하여 상기 제1 절차 또는 상기 제2 절차 중 적어도 하나로부터의 절차를 결정하도록 더 구성되는, 폴라 코딩을 사용하는 송신기.
  11. 제 8 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 인터리빙된 송신 비트의 길이 대 상기 버퍼의 길이의 비가 미리 정해진 값 이하일 때, 상기 절차를 펑처링으로서 결정하며;
    상기 인터리빙된 송신 비트의 길이 대 상기 버퍼의 길이의 비가 미리 정해진 값보다 클 때, 상기 절차를 단축으로서 결정하도록 더 구성되는, 폴라 코딩을 사용하는 송신기.
  12. 제 8 항에 있어서,
    상기 제1 절차는 펑처링을 포함하고 상기 제2 절차는 단축을 포함하는, 폴라 코딩을 사용하는 송신기.
  13. 제 8 항에 있어서,
    상기 제1 절차 및 제2 절차는 아이덴티티 매핑, 역 매핑, 시프팅된 아이덴티티 매핑 또는 시프팅된 역 매핑 중 적어도 하나를 포함하는, 폴라 코딩을 사용하는 송신기.
  14. 제 8 항에 있어서,
    상기 인터리빙된 송신 비트의 길이가 상기 버퍼의 길이 이상일 때의 반복에 기초하여 상기 인터리빙된 송신 비트를 상기 버퍼에 저장하도록 더 구성되는, 폴라 코딩을 사용하는 송신기.
  15. 명령어를 포함하는 비일시적 컴퓨터 판독 가능 매체로서,
    상기 명령어는, 송신기의 적어도 하나의 프로세서에 의해 실행될 때, 상기 송신기가,
    인터리빙된 송신 비트의 길이를 식별하고;
    상기 인터리빙된 송신 비트에 대응하는 버퍼의 길이를 식별하고;
    상기 인터리빙된 송신 비트의 길이가 상기 버퍼의 길이보다 작을 때 상기 인터리빙된 송신 비트의 길이 및 상기 버퍼의 길이 중 적어도 하나에 기초하여 제1 절차 또는 제2 절차 중 적어도 하나로부터의 절차를 결정하며;
    상기 결정된 절차에 기초하여 인터리빙된 송신 비트를 상기 버퍼에 저장하게 하는, 비일시적 컴퓨터 판독 가능 매체.
  16. 제 15 항에 있어서,
    상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 송신기가 상기 인터리빙된 송신 비트의 길이가 미리 결정된 값 이상인지에 기초하여 상기 제1 절차 또는 상기 제2 절차 중 적어도 하나로부터의 절차를 결정하게 하는 명령어를 더 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  17. 제 15 항에 있어서,
    상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 송신기가 상기 인터리빙된 송신 비트의 길이 대 상기 버퍼의 길이의 비에 기초하여 상기 제1 절차 또는 상기 제2 절차 중 적어도 하나로부터의 절차를 결정하게 하는 명령어를 더 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  18. 제 15 항에 있어서,
    상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 송신기가,
    상기 인터리빙된 송신 비트의 길이 대 상기 버퍼의 길이의 비가 미리 정해진 값 이하일 때, 상기 절차를 펑처링으로서 결정하며;
    상기 인터리빙된 송신 비트의 길이 대 상기 버퍼의 길이의 비가 미리 정해진 값보다 클 때, 상기 절차를 단축으로서 결정하게 하는 명령어를 더 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  19. 제 15 항에 있어서,
    상기 제1 절차는 펑처링을 포함하고 상기 제2 절차는 단축을 포함하며, 상기 제1 절차 및 제2 절차는 아이덴티티 매핑, 역 매핑, 시프팅된 아이덴티티 매핑 또는 시프팅된 역 매핑 중 적어도 하나를 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  20. 제 15 항에 있어서,
    상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 송신기가 상기 인터리빙된 송신 비트의 길이가 상기 버퍼의 길이 이상일 때의 반복에 기초하여 상기 인터리빙된 송신 비트를 상기 버퍼에 저장하게 하는 명령어를 더 포함하는, 비일시적 컴퓨터 판독 가능 매체.
KR1020197031348A 2017-03-23 2018-03-22 폴라 코드의 부호율 조정 방법 및 장치 KR102529800B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20170037153 2017-03-23
KR1020170037153 2017-03-23
PCT/KR2018/003388 WO2018174615A1 (en) 2017-03-23 2018-03-22 Method and apparatus for rate-matching of polar codes

Publications (2)

Publication Number Publication Date
KR20190123801A true KR20190123801A (ko) 2019-11-01
KR102529800B1 KR102529800B1 (ko) 2023-05-09

Family

ID=63583691

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197031348A KR102529800B1 (ko) 2017-03-23 2018-03-22 폴라 코드의 부호율 조정 방법 및 장치

Country Status (3)

Country Link
US (2) US10972132B2 (ko)
KR (1) KR102529800B1 (ko)
WO (1) WO2018174615A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021261979A1 (ko) * 2020-06-26 2021-12-30 삼성전자 주식회사 통신 시스템에서 극 부호의 부호화 또는 복호화를 위한 장치 및 방법

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107342843B (zh) * 2017-01-05 2023-10-20 华为技术有限公司 速率匹配方法、编码装置和通信装置
WO2018174615A1 (en) * 2017-03-23 2018-09-27 Samsung Electronics Co., Ltd. Method and apparatus for rate-matching of polar codes
CN107342845B (zh) * 2017-03-25 2022-07-12 华为技术有限公司 一种速率匹配的方法和装置
WO2018205051A1 (en) * 2017-05-06 2018-11-15 Qualcomm Incorporated Rate-matching scheme for polar codes
KR102338508B1 (ko) * 2017-05-15 2021-12-13 삼성전자 주식회사 고차 변조를 사용하는 통신 또는 방송 시스템에서 부호화/복호화 방법 및 장치
WO2019099318A1 (en) * 2017-11-15 2019-05-23 Idac Holdings, Inc. Urllc transmissions with polar codes

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10030407B4 (de) * 1999-07-14 2011-09-01 Lg Electronics Inc. Verfahren zur optimalen Ratenanpassung in einem Mobilkommunikationssystem
WO2009057922A1 (en) 2007-10-29 2009-05-07 Lg Electronics Inc. Method of data transmission using harq
US7924763B2 (en) * 2007-12-11 2011-04-12 Motorola Mobility, Inc. Method and appratus for rate matching within a communication system
JP6079129B2 (ja) * 2012-10-24 2017-02-15 富士通株式会社 無線通信装置、及び受信方法
US9768915B2 (en) * 2013-08-20 2017-09-19 Lg Electronics Inc. Method for transmitting data by using polar coding in wireless access system
US9007241B2 (en) * 2013-09-16 2015-04-14 Seagate Technology Llc Reduced polar codes
WO2015062107A1 (zh) * 2013-11-04 2015-05-07 华为技术有限公司 Polar码的速率匹配方法和设备、无线通信装置
CN109861694B (zh) * 2013-11-20 2021-10-26 华为技术有限公司 极化码的处理方法和设备
WO2015100572A1 (zh) * 2013-12-31 2015-07-09 华为技术有限公司 一种Polar码的处理方法、系统及无线通信装置
RU2637476C1 (ru) * 2014-02-21 2017-12-04 Хуавэй Текнолоджиз Ко., Лтд. Способ и устройство согласования скорости для полярного кода
EP3119020B1 (en) * 2014-03-31 2020-01-01 Huawei Technologies Co. Ltd. Polar code hybrid automatic repeat request method and device, and radio communication device
RU2571587C2 (ru) * 2014-04-10 2015-12-20 Самсунг Электроникс Ко., Лтд. Способ и устройство кодирования и декодирования данных в скрученном полярном коде
EP3217662B1 (en) * 2014-11-27 2019-08-21 Huawei Technologies Co., Ltd. Rate matching method and apparatus for polar code, and wireless communication device
US9742440B2 (en) * 2015-03-25 2017-08-22 Samsung Electronics Co., Ltd HARQ rate-compatible polar codes for wireless channels
US9628114B2 (en) * 2015-03-31 2017-04-18 Macronix International Co., Ltd. Length-compatible extended polar codes
US10461779B2 (en) * 2015-08-12 2019-10-29 Telefonaktiebolaget Lm Ericsson (Publ) Rate-compatible polar codes
KR102474598B1 (ko) 2015-12-22 2022-12-06 삼성전자주식회사 무선 통신 시스템에서 부호화를 위한 장치 및 방법
TWI629872B (zh) * 2016-02-03 2018-07-11 旺宏電子股份有限公司 調整延伸極化碼的碼長度之方法及裝置
US10305514B2 (en) * 2016-02-04 2019-05-28 The Royal Institution For The Advancement Of Learning/Mcgill University Multi-mode unrolled polar decoders
US9941906B2 (en) * 2016-02-18 2018-04-10 Samsung Electronics Co., Ltd. Sliced polar codes
US10911071B2 (en) * 2016-04-08 2021-02-02 Intel Corporation Apparatus, method and system to support codes with variable codeword lengths and information lengths
WO2018126433A1 (en) * 2017-01-06 2018-07-12 Qualcomm Incorporated Techniques for hybrid chase combining and incremental redundancy harq with polar codes
WO2018174615A1 (en) * 2017-03-23 2018-09-27 Samsung Electronics Co., Ltd. Method and apparatus for rate-matching of polar codes

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
3GPP R1-1700832* *
3GPP R1-1702735* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021261979A1 (ko) * 2020-06-26 2021-12-30 삼성전자 주식회사 통신 시스템에서 극 부호의 부호화 또는 복호화를 위한 장치 및 방법

Also Published As

Publication number Publication date
US10972132B2 (en) 2021-04-06
WO2018174615A1 (en) 2018-09-27
US20210194505A1 (en) 2021-06-24
US20180278269A1 (en) 2018-09-27
US11870460B2 (en) 2024-01-09
KR102529800B1 (ko) 2023-05-09

Similar Documents

Publication Publication Date Title
KR102529800B1 (ko) 폴라 코드의 부호율 조정 방법 및 장치
KR102428522B1 (ko) 무선 통신 시스템에서 극 부호를 이용한 부호화 및 복호화를 위한 장치 및 방법
US11637653B2 (en) Method and apparatus of rate-matching for communication and broadcasting systems
US10742350B2 (en) Method and apparatus of rate-matching for communication and broadcasting systems
US10469201B2 (en) Method and apparatus for coding/decoding in a communication or broadcasting system using high-order modulation
KR102433645B1 (ko) 무선 통신 시스템에서 복호화 방법 및 장치
US11398838B2 (en) Device and method to transmit and receive signal in communication system
CN109314524A (zh) 使用通用极化码时通过异构内核进行速率匹配的系统和方法
KR20170074684A (ko) 무선 통신 시스템에서 부호화를 위한 장치 및 방법
CN109792314A (zh) 用于编码的传输的重传技术
KR20190114263A (ko) 무선 통신 시스템에서 극 부호를 이용한 부호화 및 복호화를 위한 장치 및 방법
US10944506B2 (en) Method and apparatus for transmitting and receiving signal by using polar coding
KR20200036338A (ko) 무선 통신 시스템에서 극 부호를 이용한 부호화 및 복호화를 위한 장치 및 방법
KR20190013374A (ko) 통신 또는 방송 시스템에서 극부호 부호화/복호화 방법 및 장치
CN111490798B (zh) 译码的方法和译码装置
KR102115216B1 (ko) 극부호 복호 장치 및 방법
KR102170785B1 (ko) 병렬 sc 복호기의 멀티비트 부분합 네트워크 장치
CN112438023B (zh) 极化编码和解码
KR20200017587A (ko) 천공된 극 부호의 설계 방법 및 장치
US20240014931A1 (en) Method and apparatus for transmitting and receiving polar code
KR20220158641A (ko) 무선 통신 시스템에서 신호 부호화 및 복호화 방법 및 장치와 이를 제공하기 위한 시스템

Legal Events

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