KR20210064099A - 폴라 코드에 기초한 부호화 및 복호화 방법 및 장치 - Google Patents

폴라 코드에 기초한 부호화 및 복호화 방법 및 장치 Download PDF

Info

Publication number
KR20210064099A
KR20210064099A KR1020200160525A KR20200160525A KR20210064099A KR 20210064099 A KR20210064099 A KR 20210064099A KR 1020200160525 A KR1020200160525 A KR 1020200160525A KR 20200160525 A KR20200160525 A KR 20200160525A KR 20210064099 A KR20210064099 A KR 20210064099A
Authority
KR
South Korea
Prior art keywords
channel
input
data
polar
encoder
Prior art date
Application number
KR1020200160525A
Other languages
English (en)
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 KR20210064099A publication Critical patent/KR20210064099A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • H03M13/453Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding
    • H03M13/455Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding using a set of erasure patterns or successive erasure decoding, e.g. generalized minimum distance [GMD] decoding

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명의 일 실시예에 따른 통신 시스템의 제1 통신 노드에서 폴라 코드에 기초한 부호화 방법은, 채널의 소거값(erasure) 확률 값을 포함하는 채널 정보를 수신하는 단계, 제2 통신 노드로 전송하고자 하는 전송 데이터를 수신하는 단계, 상기 수신된 채널 정보에 기초하여, 채널 양극화 동작을 수행하는 단계, 상기 채널 양극화 동작의 결과에 기초하여, 복수개의 입력 위치들 중에서 상기 전송 데이터를 구성하는 정보 비트들(information bits)을 할당할 제1 그룹과, 동결 비트들(frozen bits)을 할당할 제2 그룹을 결정하는 단계, 상기 제1 그룹에 상기 정보 비트들을 할당하고, 상기 제2 그룹에 동결 비트를 할당하는 단계, 상기 복수개의 입력 위치들에 대한 데이터 재정렬 동작을 수행하는 단계, 및 상기 데이터 재정렬 동작의 결과에 기초하여 출력 신호를 생성하는 단계를 포함하고, 상기 제1 및 제2 그룹은 상기 채널 정보에 기초하여 가변적으로 결정되는 것을 특징으로 할 수 있다.

Description

폴라 코드에 기초한 부호화 및 복호화 방법 및 장치{METHOD AND APPARATUS FOR ENCODING AND DECODING BASED ON POLAR CODE}
본 발명은 폴라 코드에 기초한 부호화 및 복호화 방법 및 장치에 관한 것으로, 보다 구체적으로는 채널 상태가 반영된 폴라 코드 부호화(encoding, 인코딩) 방식에 따라 구성된 저복잡도 인코더 및 디코더, 및 이에 의한 부호화 및 복호화 방법에 관한 것이다.
통신 시스템 또는 메모리 시스템에서, 전송하고자 하는 데이터는 물리적 채널(유선 통신 채널, 무선 통신 채널, 또는 저장매체 등)을 거쳐 전달될 수 있다. 데이터가 물리적 채널을 거쳐 전달되는 과정에서, 잡음이 섞이거나 데이터가 일부 손실되어 복원이 어려워질 수 있다. 이와 같이 전송 데이터에 발생한 오류(error)를 검출하고 정정하기 위한 기술로서, 오류 정정 부호(error correcting code)들이 연구되고 있다.
통신 시스템에서 통신 노드가 무선 채널을 통해 다른 통신 노드로 데이터를 전송하는 경우, 유/무선 채널의 상태에 따라 데이터 정보에 오류가 발생할 수 있다. 특히, 한정된 통신 자원 상에서 통신 신호가 과밀화되어 송수신될 경우, 오류 발생 확률이 증가할 수 있다. 따라서, 전송된 데이터를 수신한 통신 노드가 데이터 정보를 정확하게 검출하기 위해서는 우수한 오류 정정 능력을 갖는 오류 정정 부호가 필요할 수 있다.
한편, 메모리 시스템에서 데이터가 서로 다른 저장공간 또는 프로세서 사이에서 전달되고 저장되는 과정에서, 경우에 따라 노이즈 또는 오류가 발생할 수 있다. 특히, 메모리의 집적도를 높이기 위한 기술로, 데이터가 저장되는 셀(cell) 자체의 크기를 줄여주는 미세 공정화와 셀 당 저장되는 정보량을 늘려주는 멀티-레벨(multi-level)화가 적용되고 있는데, 이를 통하여 효율성이 향상되는 반면 오류 발생 확률이 증가할 수 있다. 따라서, 메모리 시스템의 신뢰성을 높은 수준으로 유지하기 위해서는 우수한 오류 정정 능력을 갖는 오류 정정 부호가 필요할 수 있다.
통신 시스템 또는 메모리 시스템에서의 오류 정정 능력을 향상시키기 위하여 다양한 오류 정정 부호가 연구되고 있다. 일례로, 오류 정정 부호의 하나인 폴라 코드(polar code)를 사용한 부호화 기술이 개발되었다. 폴라 코드는 데이터를 전달하는 물리적 채널에서의 채널 양극화 또는 채널 극성화(channel polarization) 현상에 기반하여 오류를 정정하는 부호를 의미할 수 있다. 폴라 코드는 극 부호라고도 칭할 수 있다.
통신 시스템 또는 메모리 시스템의 일 실시예는, 폴라 코드 방식이 적용된 인코더 및 디코더를 포함할 수 있다. 여기서, 폴라 코드 방식이 적용된 인코더 및 디코더의 성능을 유지하면서도 복잡도를 낮춤으로써 소비전력을 줄이고 효율성을 향상시키기 위한 기술이 요구될 수 있다.
이 배경기술 부분에 기재된 사항은 발명의 배경에 대한 이해를 증진하기 위하여 작성된 것으로서, 이 기술이 속하는 분야에서 통상의 지식을 가진 자에게 이미 알려진 종래 기술이 아닌 사항을 포함할 수 있다.
상기와 같은 요구를 해결하기 위한 본 발명의 목적은, 폴라 코드가 적용된 인코더 및 디코더에 있어서, 채널의 상태를 반영하여 전송데이터를 인코더의 입력에 할당하여 전송하고, 이를 수신한 디코더에서 복호화할 때 디코딩 성능을 유지하면서도 복잡도를 낮출 수 있도록 하기 위한 인코더 및 디코더의 구성과 이에 기초한 데이터 전송 방법을 제공하는 데 있다.
상기한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 통신 시스템의 제1 통신 노드에서 폴라 코드에 기초한 부호화 방법은, 채널의 소거값(erasure) 확률 값을 포함하는 채널 정보를 수신하는 단계, 제2 통신 노드로 전송하고자 하는 전송 데이터를 수신하는 단계, 상기 수신된 채널 정보에 기초하여, 채널 양극화 동작을 수행하는 단계, 상기 채널 양극화 동작의 결과에 기초하여, 복수개의 입력 위치들 중에서 상기 전송 데이터를 구성하는 정보 비트들(information bits)을 할당할 제1 그룹과, 동결 비트들(frozen bits)을 할당할 제2 그룹을 결정하는 단계, 상기 제1 그룹에 상기 정보 비트들을 할당하고, 상기 제2 그룹에 동결 비트를 할당하는 단계, 상기 복수개의 입력 위치들에 대한 데이터 재정렬 동작을 수행하는 단계, 및 상기 데이터 재정렬 동작의 결과에 기초하여 출력 신호를 생성하는 단계를 포함하고, 상기 제1 및 제2 그룹은 상기 채널 정보에 기초하여 가변적으로 결정되는 것을 특징으로 할 수 있다.
본 발명의 일 실시예에 따르면, 폴라 코드가 적용된 인코더 및 디코더에 있어서, 데이터가 전송되는 물리적 채널의 채널 상태를 고려한 양극화 정보에 따라서 인코더에 입력되는 입력 데이터 위치를 할당하고, 상기 입력 데이터를 부호화하고, 상기 부호화된 데이터를 수신한 디코더에서 디코딩 성능을 유지하면서도 낮은 복잡도로 복호화를 수행할 수 있도록 할 수 있다. 따라서, 인코더 및 디코더에서 소비되는 전력량이 감소할 수 있고, 데이터 전송 동작의 효율성이 향상될 수 있다.
도 1은 통신 시스템의 일 실시예를 도시한 개념도이다.
도 2는 통신 시스템을 구성하는 통신 노드의 일 실시예를 도시한 블록도이다.
도 3은 송신 통신 노드 및 수신 통신 노드를 포함하는 통신 시스템의 일 실시예를 도시한 블록도이다.
도 4a 및 4b는 메모리 시스템의 일 실시예를 도시한 블록도이다.
도 5는 본 발명의 일 실시예에 따라 오류 정정 부호가 적용된 디코더의 일 실시예를 설명하기 위한 블록도이다.
도 6a 내지 6d는 폴라 코드에 의한 부호화 방식의 일 실시예를 설명하기 위한 예시도이다.
도 7a 내지 7c는 복수 개의 채널을 결합하여 구성된 폴라 인코더 및 폴라 디코더의 일 실시예를 설명하기 위한 개념도이다.
도 8은 본 발명의 일 실시예에 따른 폴라 인코더에서의 데이터 흐름을 설명하기 위한 블록도이다.
도 9는 채널 상태에 따른 채널의 소거값(erasure) 확률 값 ε 결정 방식의 일 실시예를 설명하기 위한 그래프이다.
도 10은 본 발명의 일 실시예에 따른 폴라 인코더의 채널 양극화부의 구성을 설명하기 위한 블록도이다.
도 11은 본 발명의 일 실시예에 따른 전송 데이터 할당 방법을 설명하기 위한 순서도이다.
도 12는 본 발명의 일 실시예에 따른 폴라 인코더의 연산부의 구성을 설명하기 위한 개념도이다.
도 13은 도 12의 실시예에서 확장된 구조를 가지는 폴라 인코더의 구성을 설명하기 위한 개념도이다.
도 14는 본 발명의 일 실시예에 따른 폴라 인코더의 출력부의 구성을 설명하기 위한 개념도이다.
도 15는 본 발명의 일 실시예에 따른 폴라 디코더에서의 데이터 흐름을 설명하기 위한 블록도이다.
도 16은 본 발명의 일 실시예에 따른 폴라 디코더의 입력 확률 연산부의 구성을 설명하기 위한 개념도이다.
도 17은 본 발명의 일 실시예에 따른 폴라 디코더에서의 입력 확률 연산 동작을 설명하기 위한 개념도이다.
도 18은 본 발명의 일 실시예에 따른 폴라 디코더의 연산부의 동작에 대해 설명하기 위한 순서도이다.
도 19는 본 발명의 일 실시예에 따른 W2N 구조의 폴라 디코더의 구성에 대해 설명하기 위한 개념도이다.
도 20은 본 발명의 일 실시예에 따른 폴라 디코더의 중간 비트 결정부의 구성에 대해 설명하기 위한 개념도이다.
도 21은 본 발명의 일 실시예에 따른 폴라 디코더에서의 복호 과정의 일 실시예를 설명하기 위한 개념도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. "및/또는" 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 발명에 따른 실시예들이 적용되는 통신 시스템(communication system)이 설명될 것이다. 본 발명에 따른 실시예들이 적용되는 통신 시스템은 아래 설명된 내용에 한정되지 않으며, 본 발명에 따른 실시예들은 다양한 통신 시스템에 적용될 수 있다. 여기서, 통신 시스템은 통신 네트워크(network)와 동일한 의미로 사용될 수 있다.
도 1은 통신 시스템의 일 실시예를 도시한 개념도이다.
도 1을 참조하면, 통신 시스템(100)은 복수의 통신 노드들(110-1, 110-2, 110-3, 120-1, 120-2, 130-1, 130-2, 130-3, 130-4, 130-5, 130-6)을 포함할 수 있다. 또한, 통신 시스템(100)은 코어 네트워크(core network)(예를 들어, S-GW(serving-gateway), P-GW(PDN(packet data network)-gateway), MME(mobility management entity))를 더 포함할 수 있다.
복수의 통신 노드들은 3GPP(3rd generation partnership project) 표준에서 규정된 4G 통신(예를 들어, LTE(long term evolution), LTE-A(advanced)), 5G 통신 등을 지원할 수 있다. 4G 통신은 6GHz 이하의 주파수 대역에서 수행될 수 있고, 5G 통신은 6GHz 이하의 주파수 대역뿐 만 아니라 6GHz 이상의 주파수 대역에서 수행될 수 있다. 예를 들어, 4G 통신 및 5G 통신을 위해 복수의 통신 노드들은 CDMA(code division multiple access) 기반의 통신 프로토콜, WCDMA(wideband CDMA) 기반의 통신 프로토콜, TDMA(time division multiple access) 기반의 통신 프로토콜, FDMA(frequency division multiple access) 기반의 통신 프로토콜, OFDM(orthogonal frequency division multiplexing) 기반의 통신 프로토콜, Filtered OFDM 기반의 통신 프로토콜, CP(cyclic prefix)-OFDM 기반의 통신 프로토콜, DFT-s-OFDM(discrete Fourier transform-spread-OFDM) 기반의 통신 프로토콜, OFDMA(orthogonal frequency division multiple access) 기반의 통신 프로토콜, SC(single carrier)-FDMA 기반의 통신 프로토콜, NOMA(Non-orthogonal Multiple Access), GFDM(generalized frequency division multiplexing) 기반의 통신 프로토콜, FBMC(filter bank multi-carrier) 기반의 통신 프로토콜, UFMC(universal filtered multi-carrier) 기반의 통신 프로토콜, SDMA(Space Division Multiple Access) 기반의 통신 프로토콜 등을 지원할 수 있다. 복수의 통신 노드들 각각은 다음과 같은 구조를 가질 수 있다.
도 2는 통신 시스템을 구성하는 통신 노드의 일 실시예를 도시한 블록도이다.
도 2를 참조하면, 통신 노드(200)는 적어도 하나의 프로세서(210), 메모리(220) 및 네트워크와 연결되어 통신을 수행하는 송수신 장치(230)를 포함할 수 있다. 또한, 통신 노드(200)는 입력 인터페이스 장치(240), 출력 인터페이스 장치(250), 저장 장치(260) 등을 더 포함할 수 있다. 통신 노드(200)에 포함된 각각의 구성 요소들은 버스(bus)(270)에 의해 연결되어 서로 통신을 수행할 수 있다. 다만, 통신 노드(200)에 포함된 각각의 구성요소들은 공통 버스(270)가 아니라, 프로세서(210)를 중심으로 개별 인터페이스 또는 개별 버스를 통하여 연결될 수도 있다. 예를 들어, 프로세서(210)는 메모리(220), 송수신 장치(230), 입력 인터페이스 장치(240), 출력 인터페이스 장치(250) 및 저장 장치(260) 중에서 적어도 하나와 전용 인터페이스를 통하여 연결될 수도 있다.
프로세서(210)는 메모리(220) 및 저장 장치(260) 중에서 적어도 하나에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(210)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(220) 및 저장 장치(260) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(220)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중에서 적어도 하나로 구성될 수 있다.
다시 도 1을 참조하면, 통신 시스템(100)은 복수의 기지국들(base stations)(110-1, 110-2, 110-3, 120-1, 120-2), 복수의 단말들(130-1, 130-2, 130-3, 130-4, 130-5, 130-6)을 포함할 수 있다. 기지국(110-1, 110-2, 110-3, 120-1, 120-2) 및 단말(130-1, 130-2, 130-3, 130-4, 130-5, 130-6)을 포함하는 통신 시스템(100)은 "액세스 네트워크"로 지칭될 수 있다. 제1 기지국(110-1), 제2 기지국(110-2) 및 제3 기지국(110-3) 각각은 매크로 셀(macro cell)을 형성할 수 있다. 제4 기지국(120-1) 및 제5 기지국(120-2) 각각은 스몰 셀(small cell)을 형성할 수 있다. 제1 기지국(110-1)의 셀 커버리지(cell coverage) 내에 제4 기지국(120-1), 제3 단말(130-3) 및 제4 단말(130-4)이 속할 수 있다. 제2 기지국(110-2)의 셀 커버리지 내에 제2 단말(130-2), 제4 단말(130-4) 및 제5 단말(130-5)이 속할 수 있다. 제3 기지국(110-3)의 셀 커버리지 내에 제5 기지국(120-2), 제4 단말(130-4), 제5 단말(130-5) 및 제6 단말(130-6)이 속할 수 있다. 제4 기지국(120-1)의 셀 커버리지 내에 제1 단말(130-1)이 속할 수 있다. 제5 기지국(120-2)의 셀 커버리지 내에 제6 단말(130-6)이 속할 수 있다.
여기서, 복수의 기지국들(110-1, 110-2, 110-3, 120-1, 120-2) 각각은 노드B(NodeB), 고도화 노드B(evolved NodeB), gNB, ng-eNB, BTS(base transceiver station), 무선 기지국(radio base station), 무선 트랜시버(radio transceiver), 액세스 포인트(access point), 액세스 노드(node), RSU(road side unit), RRH(radio remote head), TP(transmission point), TRP(transmission and reception point), f(flexible)-TRP 등으로 지칭될 수 있다. 복수의 단말들(130-1, 130-2, 130-3, 130-4, 130-5, 130-6) 각각은 UE(user equipment), 터미널(terminal), 액세스 터미널(access terminal), 모바일 터미널(mobile terminal), 스테이션(station), 가입자 스테이션(subscriber station), 모바일 스테이션(mobile station), 휴대 가입자 스테이션(portable subscriber station), 노드(node), 디바이스(device), IoT(internet of things) 기능을 지원하는 장치, 탑재 장치(mounted module/device/terminal), OBU(on board unit) 등으로 지칭될 수 있다.
한편, 복수의 기지국들(110-1, 110-2, 110-3, 120-1, 120-2) 각각은 서로 다른 주파수 대역에서 동작할 수 있고, 또는 동일한 주파수 대역에서 동작할 수 있다. 복수의 기지국들(110-1, 110-2, 110-3, 120-1, 120-2) 각각은 아이디얼 백홀 링크(ideal backhaul link) 또는 논(non)-아이디얼 백홀 링크를 통해 서로 연결될 수 있고, 아이디얼 백홀 링크 또는 논-아이디얼 백홀 링크를 통해 서로 정보를 교환할 수 있다. 복수의 기지국들(110-1, 110-2, 110-3, 120-1, 120-2) 각각은 아이디얼 백홀 링크 또는 논-아이디얼 백홀 링크를 통해 코어 네트워크와 연결될 수 있다. 복수의 기지국들(110-1, 110-2, 110-3, 120-1, 120-2) 각각은 코어 네트워크로부터 수신한 신호를 해당 단말(130-1, 130-2, 130-3, 130-4, 130-5, 130-6)에 전송할 수 있고, 해당 단말(130-1, 130-2, 130-3, 130-4, 130-5, 130-6)로부터 수신한 신호를 코어 네트워크에 전송할 수 있다.
또한, 복수의 기지국들(110-1, 110-2, 110-3, 120-1, 120-2) 각각은 MIMO 전송(예를 들어, SU(single user)-MIMO, MU(multi user)-MIMO, 대규모(massive) MIMO 등), CoMP(coordinated multipoint) 전송, CA(carrier aggregation) 전송, 비면허 대역(unlicensed band)에서 전송, 단말 간 직접 통신(device to device communication, D2D)(또는, ProSe(proximity services)) 등을 지원할 수 있다. 여기서, 복수의 단말들(130-1, 130-2, 130-3, 130-4, 130-5, 130-6) 각각은 기지국(110-1, 110-2, 110-3, 120-1, 120-2)과 대응하는 동작, 기지국(110-1, 110-2, 110-3, 120-1, 120-2)에 의해 지원되는 동작을 수행할 수 있다. 예를 들어, 제2 기지국(110-2)은 SU-MIMO 방식을 기반으로 신호를 제4 단말(130-4)에 전송할 수 있고, 제4 단말(130-4)은 SU-MIMO 방식에 의해 제2 기지국(110-2)으로부터 신호를 수신할 수 있다. 또는, 제2 기지국(110-2)은 MU-MIMO 방식을 기반으로 신호를 제4 단말(130-4) 및 제5 단말(130-5)에 전송할 수 있고, 제4 단말(130-4) 및 제5 단말(130-5) 각각은 MU-MIMO 방식에 의해 제2 기지국(110-2)으로부터 신호를 수신할 수 있다.
제1 기지국(110-1), 제2 기지국(110-2) 및 제3 기지국(110-3) 각각은 CoMP 방식을 기반으로 신호를 제4 단말(130-4)에 전송할 수 있고, 제4 단말(130-4)은 CoMP 방식에 의해 제1 기지국(110-1), 제2 기지국(110-2) 및 제3 기지국(110-3)으로부터 신호를 수신할 수 있다. 복수의 기지국들(110-1, 110-2, 110-3, 120-1, 120-2) 각각은 자신의 셀 커버리지 내에 속한 단말(130-1, 130-2, 130-3, 130-4, 130-5, 130-6)과 CA 방식을 기반으로 신호를 송수신할 수 있다. 제1 기지국(110-1), 제2 기지국(110-2) 및 제3 기지국(110-3) 각각은 제4 단말(130-4)과 제5 단말(130-5) 간의 D2D를 제어할 수 있고, 제4 단말(130-4) 및 제5 단말(130-5) 각각은 제2 기지국(110-2) 및 제3 기지국(110-3) 각각의 제어에 의해 D2D를 수행할 수 있다.
한편, 통신 시스템에서 기지국은 통신 프로토콜의 모든 기능들(예를 들어, 원격 무선 송수신 기능, 기저대역(baseband) 처리 기능)을 수행할 수 있다. 또는, 통신 프로토콜의 모든 기능들 중에서 원격 무선 송수신 기능은 TRP(transmission reception point)(예를 들어, f(flexible)-TRP)에 의해 수행될 수 있고, 통신 프로토콜의 모든 기능들 중에서 기저대역 처리 기능은 BBU(baseband unit) 블록에 의해 수행될 수 있다. TRP는 RRH(remote radio head), RU(radio unit), TP(transmission point) 등일 수 있다. BBU 블록은 적어도 하나의 BBU 또는 적어도 하나의 DU(digital unit)를 포함할 수 있다. BBU 블록은 "BBU 풀(pool)", "집중화된(centralized) BBU" 등으로 지칭될 수 있다. TRP는 유선 프론트홀(fronthaul) 링크 또는 무선 프론트홀 링크를 통해 BBU 블록에 연결될 수 있다. 백홀 링크 및 프론트홀 링크로 구성되는 통신 시스템은 다음과 같을 수 있다. 통신 프로토콜의 기능 분리 (function split) 기법이 적용되는 경우, TRP는 BBU의 일부 기능 또는 MAC/RLC의 일부 기능을 선택적으로 수행할 수 있다.
5G(또s는 NR) 이동통신 시스템에서는, 통신 시스템 표준의 요구사항을 만족하기 위하여 밀리미터파(mm-파) 등 높은 주파수 대역의 사용이 필요할 수 있다. 그런데 mm-파의 경우, 낮은 주파수 대역에서보다 신호 감쇠가 크고, 회절, 투과 등에 의하여 경로 손실(path loss)이 크게 나타날 수 있고, 옥외/옥내 침투 손실 등도 크게 나타날 수 있다. 이러한 문제를 해결하기 위하여, 5G 통신 시스템에서는 스몰 셀 네트워크, 지향성 빔포밍 등의 기술을 적용하여 mm-파 통신의 효율성 및 품질(ex. 신호 대 잡음비(SNR) 등)을 향상시킬 수 있다. 그런데, 스몰 셀 네트워크가 적용되어 복수의 스몰 셀 기지국이 존재하는 환경에서 지향성 빔포밍을 위한 빔 스캐닝 동작 등은 통신 시스템의 복잡성을 높이는 결과를 낳을 수 있다. 따라서, 이러한 동작들을 효율적으로 수행함으로써 통신 시스템의 효율을 향상시킬 수 있는 통신 기술이 요구될 수 있다.
도 3은 송신 통신 노드 및 수신 통신 노드를 포함하는 통신 시스템의 일 실시예를 도시한 블록도이다.
도 3을 참조하면, 통신 시스템은 신호를 전송하는 송신 통신 노드(310), 송신 통신 노드(310)로부터 신호를 수신하는 수신 통신 노드(320) 및 송신 통신 노드(310)와 수신 통신 노드(320) 사이에서 신호가 전달될 수 있도록 하는 채널(330)을 포함할 수 있다. 송신 통신 노드(310)는 인코더(encoder)(312) 및 변조기(modulator)(314)를 포함할 수 있고, 수신 통신 노드(320)는 복조기(demodulator)(322) 및 디코더(decoder)(324)를 포함할 수 있다.
송신 통신 노드(310) 및 수신 통신 노드(320) 각각은 기지국(예를 들어, 도 1에 도시된 기지국(110-1, 110-2, 110-3, 120-1, 120-2)) 또는 단말(예를 들어, 도 1에 도시된 단말(130-1, 130-2, 130-3, 130-4, 130-5, 130-6))에 해당할 수 있다. 송신 통신 노드(310)가 기지국인 경우, 수신 통신 노드(320)는 단말일 수 있다. 또는, 송신 통신 노드(310)가 단말인 경우, 수신 통신 노드(320)는 기지국 또는 다른 단말일 수 있다. 송신 통신 노드(310) 및 수신 통신 노드(320) 각각은 도 2에 도시된 통신 노드(200)와 동일 또는 유사하게 구성될 수 있다.
송신 통신 노드(310)는 수신 통신 노드(320)로 정보 비트를 전송하기 전에 부호화 과정 및 변조 과정을 수행할 수 있다. 인코더(312)는 정보 비트에 대한 부호화 과정을 수행할 수 있다. 구체적으로, 인코더(312)는 정보 비트를 다수의 코드블록들을 포함하는 코드워드로 부호화할 수 있다. 이 때, 인코더(312)는 정보 비트를 작은 블록들로 분할할 수 있다. 인코더(312)는 분할된 블록들을 임의의 개수로 묶어 블록집합을 구성할 수 있다. 블록의 개수는 통신망의 채널환경, 송신 통신 노드(310)와 수신 통신 노드(320)의 성능 정보 및 응용 프로그램의 요구사항 등에 의해 결정될 수 있다. 인코더(312)는 블록집합 단위로 부호화를 수행할 수 있다. 인코더(312)는 부호화된 코드워드를 변조기(314)로 전송할 수 있다.
변조기(314)는 코드워드를 변조하여 변조 심볼(symbol)을 생성할 수 있다. 변조기(314)는 다양한 변조방법을 이용하여 코드워드를 심볼들로 변조할 수 있다. 변조는 신호 정보를 전송매체의 채널 특성에 맞게 신호(정보)의 세기나 변위, 주파수 또는 위상 등을 적합한 형태로 변환하는 것을 의미할 수 있다. 변조는 데이터를 담은 신호를 전송되는 채널에 알맞은 파형으로 변환하는 과정일 수 있다.
송신 통신 노드(310)는 변조된 심볼들을 시간/주파수 자원들에 맵핑(mapping)하고, 맵핑된 심볼에 기초하여 생성된 신호를 송신 통신 노드(310)와 수신 통신 노드(320) 사이에 형성된 채널(330)을 통해 수신 통신 노드(320)로 전송할 수 있다. 구체적으로, 송신 통신 노드(310)의 안테나를 통해 전파된 신호들은 채널(330)을 통해 수신 통신 노드(320)의 안테나로 전송될 수 있다. 이때, 채널상에서 잡음(noise)이 발생할 수 있다.
수신 통신 노드(320)의 안테나를 통해 수신한 신호는 복조기(322)로 전달될 수 있다. 복조기(322)는 채널 환경에 따라 결정된 복조 방법에 따라 신호의 복조를 수행할 수 있다. 복조기(322)는 신호를 복조하여 코드워드를 생성할 수 있고, 복조된 코드워드를 디코더(324)로 전송할 수 있다. 복조된 코드워드를 전달받은 디코더(324)는 코드워드를 복호화하여 출력 정보 비트를 획득할 수 있다.
인코더(312)에서 데이터를 코드워드로 인코딩할 때, 오류 정정 부호를 적용하여 인코딩할 수 있다. 이를테면, 인코더(312)에서 데이터를 코드워드로 인코딩할 때, 폴라 코드(polar code) 방식으로 인코딩할 수 있다. 이 경우, 디코더(324)에서 코드워드가 디코딩될 때, 코드워드에 오류가 있는지 여부가 용이하게 확인될 수 있다. 코드워드에서 오류가 발견되면 오류 정정 동작 또는 오류 정정 알고리즘을 통하여 정정 또는 복구되어 정상적인 데이터로 복구될 수 있다.
도 4a 및 4b는 메모리 시스템의 일 실시예를 도시한 블록도이다.
도 4a 및 4b를 참조하면, 메모리 시스템(400)은 메모리(410)와 메모리 제어 장치(420)를 포함할 수 있다. 메모리 제어 장치(420)는 내부 인터페이스부(430), 부호/복호화부(440), 및 버퍼부(450)를 포함할 수 있다. 부호/복호화부(440)는 인코더(441) 및 디코더(442)를 포함할 수 있다. 버퍼부(450)는 쓰기용 버퍼(451) 및 읽기용 버퍼(452)를 포함할 수 있다. 본 발명의 실시예에서 메모리 시스템은 SCM(storage class memory) 시스템일 수 있으나, 여기에 국한되지 않는다.
도 4a를 참조하면, 메모리 시스템(400)은 메모리 제어 장치(420)를 통하여 프로세서(460)로부터 전달된 데이터를 메모리(410)에 저장할 수 있다. 쓰기용 버퍼(451)는 프로세서(460)로부터 데이터를 수신하여 일시적으로 저장할 수 있다. 쓰기용 버퍼(451)에에 저장된 데이터는 인코더(441)를 통하여 코드워드로 인코딩될 수 있다. 인코딩된 코드워드는 내부 인터페이스부(420)를 통하여 메모리(410)로 전달되어 메모리(410)에 저장될 수 있다.
도 4b를 참조하면, 메모리 시스템(400)은 메모리 제어 장치(420)를 통하여 메모리(410)에 저장된 데이터를 읽어내어 프로세서(460)로 전달할 수 있다. 내부 인터페이스부(420)는 메모리(410)에 저장된 코드워드를 읽어내어 디코더(442)에 전달할 수 있다. 메모리(410)로부터 읽어진 코드워드는 디코더(442)를 통하여 디코딩될 수 있다. 디코딩된 데이터는 읽기용 버퍼(452)에 일시적으로 저장될 수 있다. 읽기용 버퍼(452)에 저장된 데이터는 프로세서(460)에 전달될 수 있다.
인코더(441)에서 데이터를 코드워드로 인코딩할 때, 오류 정정 부호를 적용하여 인코딩할 수 있다. 이를테면, 인코더(441)에서 데이터를 코드워드로 인코딩할 때, 폴라 코드(polar code) 방식으로 인코딩할 수 있다. 이 경우, 디코더(442)에서 코드워드가 디코딩될 때, 코드워드에 오류가 있는지 여부가 용이하게 확인될 수 있다. 코드워드에서 오류가 발견되면 오류 정정 동작 또는 오류 정정 알고리즘을 통하여 정정 또는 복구되어 정상적인 데이터로 복구될 수 있다.
도 5는 본 발명의 일 실시예에 따라 오류 정정 부호가 적용된 디코더의 일 실시예를 설명하기 위한 블록도이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 시스템은 오류 정정 부호가 적용된 디코더를 포함할 수 있다. 이를테면, 오류 정정 부호가 적용된 디코더는 오류 정정부(520)를 포함할 수 있다. 오류 정정부(520)는 오류 정정 부호 방식에 따라 오류 정정 동작을 수행할 수 있다. 오류 정정부(520)에는 입력 비트(510)가 입력될 수 있다. 입력 비트(510)는 오류 정정 부호 방식에 따른 인코딩 또는 부호화 과정을 거쳐서 생성되고 물리적 채널을 통해 전송된 코드워드일 수 있다.
본 발명의 일 실시예에 따른 시스템은 통신 시스템일 수 있다. 수신 노드는 송신 노드에서 송신된 신호를 수신할 수 있다. 수신 노드는 수신한 신호를 복조하여 코드워드를 획득할 수 있다. 획득된 코드워드는 입력비트(510)로서, 오류 정정부(520)에 입력될 수 있다. 이를테면, 본 발명의 일 실시예에 따른 시스템은 도 3을 참조하여 설명한 통신 시스템과 동일 또는 유사할 수 있다. 이 경우, 도 3에 도시된 디코더(324)는 본 발명의 일 실시예에 따른 오류 정정부(520)와 같이 구성될 수 있다. 또는, 도 3에 도시된 디코더(324)는 본 발명의 일 실시예에 따른 오류 정정부(520)를 포함하도록 구성될 수 있다. 오류 정정 부호 방식으로 인코딩된 코드워드가 무선 채널을 통해 송수신되고 복조되는 과정에서 일부 오류 비트(511)가 발생할 수 있다. 입력 비트(510)에 포함된 오류 비트(511)는 오류 정정부(520)를 거치며 정정될 수 있다. 오류 정정부(520)는 입력 비트(510)에 포함된 오류 비트(511)를 정정하여 출력비트(530)를 출력할 수 있다. 출력비트(530)는 통신 시스템에서 전송하고자 했던 전송 데이터에 해당할 수 있다.
한편, 본 발명의 일 실시예에 따른 시스템은 메모리 시스템일 수 있다. 수신 노드는 송신 노드에서 송신된 신호를 수신할 수 있다. 메모리 시스템의 내부 인터페이스부는 메모리에 저장된 코드워드를 읽어들일 수 있다. 내부 인터페이스부에서 읽어들인 코드워드는 입력비트(510)로서 오류 정정부(520)에 입력될 수 있다. 일 실시예에서, 본 발명의 일 실시예에 따른 시스템은 도 4a 및 도 4b를 참조하여 설명한 메모리 시스템과 동일 또는 유사할 수 있다. 이 경우, 도 4a 및 도 4b에 도시된 디코더(442)는 본 발명의 일 실시예에 따른 오류 정정부(520)와 같이 구성될 수 있다. 또는, 도 4a 및 도 4b에 도시된 디코더(442)는 본 발명의 일 실시예에 따른 오류 정정부(520)를 포함하도록 구성될 수 있다. 오류 정정 부호 방식으로 인코딩된 코드워드가 내부 인터페이스부를 통해 메모리에 저장되고 다시 읽어들여지는 과정에서 일부 오류 비트(511)가 발생할 수 있다. 입력 비트(510)에 포함된 오류 비트(511)는 오류 정정부(520)를 거치며 정정될 수 있다. 오류 정정부(520)는 입력 비트(510)에 포함된 오류 비트(511)를 정정하여 출력비트(530)를 출력할 수 있다. 출력비트(530)는 메모리에 저장하거나 또는 메모리를 통해 전달하고자 했던 데이터에 해당할 수 있다.
통신 시스템 또는 메모리 시스템에서, 전송하고자 하는 데이터는 물리적 채널(유선 통신 채널, 무선 통신 채널, 또는 저장매체 등)을 거쳐 전달될 수 있다. 데이터가 물리적 채널을 거쳐 전달되는 과정에서, 잡음이 섞이거나 데이터가 일부 손실되어 복원이 어려워질 수 있다. 이와 같이 전송 데이터에 발생한 오류(error)를 검출하고 정정하기 위한 기술로서, 오류 정정 부호(error control code)들이 연구되고 있다.
통신 시스템에서 통신 노드가 무선 채널을 통해 다른 통신 노드로 데이터를 전송하는 경우, 유/무선 채널의 상태에 따라 데이터 정보에 오류가 발생할 수 있다. 특히, 한정된 통신 자원 상에서 통신 신호가 과밀화되어 송수신될 경우, 오류 발생 확률이 증가할 수 있다. 따라서, 전송된 데이터를 수신한 통신 노드가 데이터 정보를 정확하게 검출하기 위해서는 우수한 오류 정정 능력을 갖는 오류 정정 부호가 필요할 수 있다.
한편, 메모리 시스템에서 데이터가 서로 다른 저장공간 또는 프로세서 사이에서 전달되고 저장되는 과정에서, 경우에 따라 노이즈 또는 오류가 발생할 수 있다. 특히, 메모리의 집적도를 높이기 위한 기술로, 데이터가 저장되는 셀(cell) 자체의 크기를 줄여주는 미세 공정화와 셀 당 저장되는 정보량을 늘려주는 멀티-레벨(multi-level)화가 적용되고 있는데, 이를 통하여 효율성이 향상되는 반면 오류 발생 확률이 증가할 수 있다. 따라서, 메모리 시스템의 신뢰성을 높은 수준으로 유지하기 위해서는 우수한 오류 정정 능력을 갖는 오류 정정 부호가 필요할 수 있다.
통신 시스템 또는 메모리 시스템에서의 오류 정정 능력을 향상시키기 위하여 다양한 오류 정정 부호가 연구되고 있다. 이를테면, 해밍(Hamming) 코드, 터보(Turbo) 코드, 저밀도 패리티 체크(Low-Density Parity Check, LDPC) 코드, 또는 폴라(Polar) 코드 등 다양한 방식의 오류 정정 부호들이 개발되었다. 오류 정정 부호에 의한 부호화 방식은 오류를 최소화하면서도 최대한의 전송율을 달성하는 것을 목표로 할 수 있다. 이를테면, 오류 정정 부호들은 샤논 한계(Shannon bound)에 근접하여 정보를 전송할 수 있도록 하는 것을 목표로 할 수 있다. 샤논 한계란, 물리적 채널을 통해 정보를 오류 없이 전송할 수 있는 이론적인 한계를 의미할 수 있다. 샤논의 정리(Shannon theorem)에 따르면, 주어진 채널을 통해 신뢰성 있게 전달할 수 있는 최대 정보량 또는 채널 용량은 수학식 1과 같이 계산될 수 있다.
Figure pat00001
수학식 1에서, C는 채널 용량을 의미할 수 있다. W는 가용 대역폭을 의미할 수 있다. S는 수신 신호 전력을 의미할 수 있다. N은 잡음(noise) 전력을 의미할 수 있다.
최근 통신 시스템 또는 메모리 시스템에서는, 오류 정정 동작에 있어서 높은 신뢰도, 짧은 처리시간 및 낮은 소비전력 등이 요구될 수 있다. 따라서, 오류 정정 부호에 의한 부호화 방식에는 오류 정정 성능을 향상 또는 유지시키면서도 동시에 연산의 복잡도를 낮추어 처리 시간을 짧게 하고 전력 효율(power efficiency)를 향상시키는 것이 요구될 수 있다. 한편, 오류 정정 부호에 의한 부호화 방식에는 짧은 길이의 데이터를 지원할 수 있도록 하는 것이 요구될 수 있다.
본 발명의 일 실시예에 따른 통신 시스템 또는 메모리 시스템은 오류 정정 부호가 적용된 디코더를 포함할 수 있다. 디코더에 적용되는 오류 정정 부호는 폴라 코드(Polar code) 방식의 오류 정정 부호일 수 있다. 폴라 코드는 극 부호라고도 칭할 수 있다. 폴라 코드는 데이터를 전달하는 물리적 채널에서의 채널 양극화 또는 채널 극성화(channel polarization) 현상에 기반하여 오류를 정정하는 부호를 의미할 수 있다. 폴라 코드는 복수 개의 채널을 결합한 후 적절히 분리했을 때 발생하는 채널 양극화(channel polarization) 현상을 이용하여 채널 용량을 달성하도록 설계되었을 수 있다. 폴라 코드는 채널 양극화 현상을 이용하여, 이산 무기억 채널(Discrete Memoryless Channel, DMC) 등에서 무한한 길의의 전송 신호에 대해 샤논 한계의 채널 용량을 달성할 수 있음을 것으로 기대될 수 있다. 폴라 코드는 긴 길이 또는 짧은 길이의 데이터에 대한 부호화 및 복호화 성능이 우수하며, 신뢰도가 높고, 인코더(부호기) 및 디코더(복호기)의 구조가 낮은 복잡도를 가지는 것을 특징으로 할 수 있다.
도 6a 내지 6d는 폴라 코드에 의한 부호화 방식의 일 실시예를 설명하기 위한 예시도이다. 도 6a는 기본적인 구조를 가지는 폴라 인코더의 일 실시예를 설명하기 위한 개념도이다. 도 6b는 2N 개의 채널을 결합하여 구성된 폴라 인코더의 일 실시예를 설명하기 위한 개념도이다. 도 6c는 W2N 구조의 폴라 인코더의 일 실시예에서 입력 인덱스(input index)에 대한 채널 용량(capacity)의 경향성을 도시한 그래프이다. 도 6d는 W2N 구조의 폴라 인코더의 일 실시예에서 초기 오류 확률 ε 값의 변화에 따라 입력 인덱스에 대한 채널 용량 순위의 경향성이 변화할 수 있음을 설명하기 위한 그래프이다.
도 6a의 (a)를 참조하면, 물리적 채널을 분석 또는 모델링하기 위하여, 이를테면 이진 대칭 채널(Binary Symmetric Channel, BSC) 또는 이진 소거 채널(Binary Erasure Channel, BEC) 등의 모델이 이용될 수 있다. BEC 모델에서는, 이를테면 채널을 통하여 0 또는 1이 수신되었을 경우에는 확실한(또는, 오류 없는) 수신 값으로 볼 수 있지만, 간혹 0인지 1인지 판단할 수 없는 값이 수신될 경우도 발생할 수 있다. 이를 소거값(Erasure)이라고 칭할 수 있다. BEC 모델을 이용하여, 입력에 대한 출력의 전달 확률이 계산될 수 있다. 이를테면, 주어진 채널 W에 대한 오류 확률(error probability)을 ε라 할 때, 0이 송신되었을 때 0이 정상적으로 수신될 확률은 1-ε이라 할 수 있다. 이어서, 1이 송신되었을 때 1이 정상적으로 수신될 확률은 1-ε이라 할 수 있다. 한편, 0 또는 1이 송신되었을 때 ε의 확률로 에러가 발생할 수 있다. 이를테면, 0 또는 1이 송신되었을 때 ε의 확률로 소거값이 수신될 수 있다.
도 6a의 (b)를 참조하면, 기본적인 구조를 가지는 폴라 인코더의 일 실시예는 2개의 채널이 결합된 W2 구조를 가질 수 있다. W2 구조의 폴라 인코더는 주어진 채널 W를 2번 발생시켜서 벡터 채널 W2를 형성할 수 있다. W2 구조의 폴라 인코더는 복수의 채널을 특정한 구조로 결합하여 가상의 채널 W2: X2 -> Y2 를 생성하도록 구성될 수 있다. W2 구조의 폴라 인코더는 2개의 정보 비트(u1, u2)를 입력받아서 2개의 채널(w1, w2)을 거쳐서 2개의 출력 비트(y1, y2)를 출력하는 것으로 볼 수 있다. W2 구조의 폴라 인코더를 통과한 후 각 입력 및 출력 사이의 채널에 대한 오류 확률은, w1 채널의 경우 2ε-ε2 로 계산될 수 있고, w2 채널의 경우 ε2 로 계산될 수 있다. 즉, W2 구조의 폴라 인코더의 2개의 채널은 오류 확률 등의 특성이 다르게 나타날 수 있다. 다르게 표현하면, W2 구조의 폴라 인코더를 통과하며 채널의 특성이 양극화(또는 극성화)되는 것으로 볼 수 있다.
도 6b의 (a)를 참조하면, 폴라 인코더의 일 실시예는 4개의 채널이 결합된 W4 구조를 가질 수 있다. W4 구조의 폴라 인코더는 주어진 채널 W를 4번 발생시켜서 벡터 채널 W4를 형성할 수 있다. W4 구조의 폴라 인코더는 복수의 채널을 특정한 구조로 결합하여 가상의 채널 W4: X4 -> Y4 를 생성하도록 구성될 수 있다. W4 구조의 폴라 인코더는 4개의 정보 비트(u1, u2, u3, u4)를 입력받아서 4개의 채널(w1, w2, w3, w4)을 거쳐서 4개의 출력 비트(y1, y2, y3, y4)를 출력하는 것으로 볼 수 있다. W4 구조의 폴라 인코더는 2개의 W2 구조의 폴라 인코더가 결합된 구조를 포함하도록 구성될 수 있다. 기본적인 W2 구조에서 입력을 확장하고, 내부 인터리버(Π4)를 이용하여 중간 값을 재 정렬하면 W4 와 같은 구조로 확장될 수 있다. 유사하게, W8 구조의 폴라 인코더는 2개의 W4 구조의 폴라 인코더가 결합된 구조를 포함하도록 구성될 수 있다. 이와 같은 단계를 복수 번 반복함으로써 고차(이를테면, 2N)의 폴라 인코더가 구성될 수 있다. 이를테면, 기본적인 W2 구조에서 M-1번(M은 양의 정수) 확장을 거침으로써 2M=2N 개의 입력과 출력을 가지는 W2N 구조의 폴라 인코더가 구성될 수 있다.
도 6b의 (b)를 참조하면, 폴라 인코더의 일 실시예는 2N개의 채널이 결합된 W2N 구조를 가질 수 있다. W2N 구조의 폴라 인코더는 주어진 채널 W를 2N번 발생시켜서 벡터 채널 W2N를 형성할 수 있다. W2N 구조의 폴라 인코더는 복수의 채널을 특정한 구조로 결합하여 가상의 채널 W2N: X2N -> Y2N 를 생성하도록 구성될 수 있다. W2N 구조의 폴라 인코더는 2개의 WN 구조의 폴라 인코더가 결합된 구조를 포함하도록 구성될 수 있다. W2N 구조의 폴라 인코더는 2N개의 정보 비트(u1, u2, u3, ... , u2N)를 입력받아서 2N개의 채널(w1, w2, w3, ... , w2N)을 거쳐서 2N개의 출력 비트(y1, y2, y3, ... , y2N)를 출력하는 것으로 볼 수 있다. 도 6a의 (b)를 참조하여 설명한 바와 같이, 폴라 인코더를 통과하며 채널의 특성이 양극화될 수 있으며, 특히 고차의 폴라 인코더는 채널의 양극화 현상이 보다 극대화되도록 구성될 수 있다.
도 6c를 참조하면, W2N 구조의 폴라 인코더의 일 실시예에서 입력 인덱스(input index)에 대한 채널 용량의 경향성이 도시되어 있다. 여기서, W2N 구조의 폴라 인코더는 2N 개의 채널이 결합된 구조를 가질 수 있다. 보다 구체적으로는, 폴라 인코더는 1024=210 개의 채널이 결합된 W1024 구조를 가질 수 있다. 기본적으로 주어진 채널 W의 오류 확률(error probability) ε는 0.5일 수 있다. 도 6c의 그래프에 도시된 바와 같이, 고차의 폴라 인코더에서는 채널 용량 등의 특성에 대한 양극화 현상이 극대화되어 나타날 수 있다. 이와 같은 채널 용량 값에 따라서 정보 비트와 채널 간의 매핑이 수행될 수 있다. 이를테면, 폴라 인코더의 일 실시예는 전송하고자 하는 정보 비트 또는 데이터가 가급적 채널 용량 값이 높은 값을 갖는 좋은 채널에 매핑되도록 구성될 수 있다. 입력 인덱스 또는 입력 순서에 따른 각 채널 용량 값은, 초기 오류 확률 ε 값에 따라 달라진다. 적절한 ε 값을 적용한 입력 데이터 매핑이 인코딩 또는 전송 성능에 영향을 미칠 수 있다.
도 6d를 참조하면, W2N 구조의 폴라 인코더의 일 실시예에서 초기 오류 확률 ε 값의 변화에 따라 입력 인덱스에 대한 채널 용량 순위의 경향성이 변화할 수 있다는 것을 확인할 수 있다. 여기서, W2N 구조의 폴라 인코더는 2N 개의 채널이 결합된 구조를 가질 수 있다. 보다 구체적으로는, 폴라 인코더는 256=28 개의 채널이 결합된 W256 구조를 가질 수 있다. 각각의 입력 인덱스(또는 입력 순서)에 및 초기 오류 확률 ε따른 채널 용량 순위가 계산될 수 있다. ε는 0.1, 0.3, 0.5, 0,7, 또는 0.9 등으로 주어질 수 있다. 도 6d에 도시된 바와 같이, ε 값이 변함에 따라서 각각의 입력 인덱스에 대한 채널 용량의 순위가 달라질 수 있다. 즉, 전송 성능을 향상시키기 위하여는, 정보 비트 또는 데이터와 입력 인덱스 간의 매핑 방식이 ε 값이 변함에 따라서 다르게 설정될 수 있다. 또는, 통신 환경(ex. 전송율 등)에 따라서 정보 비트 또는 데이터와 입력 인덱스 간의 매핑 방식이 다르게 설정될 수 있다. 다르게 말하면, 전송 데이터가 채널을 거쳐 송수신되는 과정에서, 채널의 상태 정보에 따라서 인코더의 입력 데이터 할당 위치를 달리함으로써 성능 개선효과가 기대될 수 있다.
도 7a 내지 7c는 복수 개의 채널을 결합하여 구성된 폴라 인코더 및 폴라 디코더의 일 실시예를 설명하기 위한 개념도이다. 도 7a는 W8 구조의 폴라 인코더에서 부호율(code rate)이 0.5일 경우, 입력 중 절반의 입력에 데이터를 할당한 일 실시예를 설명하기 위한 개념도이다. 도 7b는 기본적인 W2 구조의 폴라 디코더에서 수신 값(y1, y2)을 이용하여 기존 값(v1, v2)의 확률을 계산하는 방법의 일 실시예를 설명하기 위한 개념도이다. 도 7c는 제1 내지 제3 단계(stage 1~3)로 구성되는 W8 구조의 폴라 디코더의 일 실시예를 설명하기 위한 개념도이다.
도 7a를 참조하면, 복수 개의 채널을 결합하여 구성된 폴라 인코더에서, 채널의 상태 정보 또는 통신 환경 등에 따라서 입력 데이터 할당이 다르게 설정될 수 있다. 이를테면, 채널 용량이 낮은 입력 위치에 고정 데이터(이를테면, '0')를 동결 비트(frozen bit)로서 매핑하고, 채널 용량이 높은(또는 좋은) 입력 위치에 실제 전송하고자 하는 정보를 정보 비트 또는 데이터 비트(data bit)로서 할당하여 부호화하도록 할 수 있다. 이를 통해, 부호화 이득을 얻을 수 있다. 이를테면, 도 7a에 도시된 바와 같이, W8 구조의 폴라 인코더에서, 부호율(code rate)이 0.5일 경우, 입력 위치 중 절반에 해당하는 4개의 입력 위치에는 정보 비트를 매핑하고, 나머지 4개의 입력 위치에는 동결 비트를 매핑할 수 있다.
도 7b를 참조하면, 기본적인 W2 구조의 폴라 디코더에서 수신 값(y1, y2)을 이용하여 기존 값(v1, v2)의 확률이 계산될 수 있다. 우선, 수신된 정보 y1 및 y2의 값을 이용하여 v1의 확률이 계산될 수 있고, v1의 결정된 비트 정보를 이용하여 v2 의 확률이 계산될 수 있다. 이를테면, 수학식 2 및 수학식 3의 계산과 동일 또는 유사할 수 있다.
Figure pat00002
Figure pat00003
이와 같은 W2 구조의 폴라 디코더를 바탕으로 확장을 거쳐서 W2N 구조의 폴라 디코더가 구성될 수 있다.
도 7c를 참조하면, W8 구조의 폴라 디코더는 제1 내지 제3 단계(stage 1~3)로 구성될 수 있다. W8 구조의 폴라 디코더는 W8 구조의 폴라 인코더에 대응되도록 구성될 수 있다. W8 구조의 폴라 디코더의 제1 단계(stage 1)에서, 수신된 정보 y1 내지 y8을 이용하여 각 수신 정보에 대한 확률 P(y│x)가 계산될 수 있다. 계산된 각 수신 정보에 대한 확률 P(y│x)에 기초하여, v1 내지 v8의 확률이 계산될 수 있다. 상기와 같은 연산 과정이 제1 단계에서 제3 단계까지 연속적으로 수행될 수 있다. 제1 내지 제3 단계의 연산을 통하여 u1, 내지 u8의 확률이 계산될 수 있다.
도 7a 내지 7c를 참조하여 설명한 연산 과정에서의 성능을 유지하면서도, 저복잡도 연산을 통하여 저전력 요구 조건을 달성할 수 있는 폴라 인코더 및 폴라 디코더가 요구될 수 있다.
도 8은 본 발명의 일 실시예에 따른 폴라 인코더에서의 데이터 흐름을 설명하기 위한 블록도이다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 인코더 또는 폴라 인코더는 채널 정보 연산부(810), 입력 할당부(820), 채널 양극화부(822), 자원 할당부(824), 연산부(830), XOR 연산부(832), 데이터 재정렬 연결부(840), 데이터 연결 및 출력 순서 정렬부(842), 출력부(850) 및 출력 크기 조절부(852) 등을 포함할 수 있다. 채널의 소거값 확률 값 ε을 적용하여 인코더를 거친 데이터의 채널 용량은 양극화되어 재정렬될 수 있다. 인코더에서 재정렬이 된 각 입력 인덱스 별 용량의 순위에 따라, 전송하고자 하는 데이터가 인코더의 특정 입력 인덱스들에 할당될 수 있다. 한편, 데이터가 할당되지 않은 입력 인덱스에는 동결 비트(frozen bits)가 할당될 수 있다. 인코더의 출력의 크기는 입력의 크기와 동일할 수 있다.
채널 정보 연산부(810)에서 연산된 채널 정보 등과 전송 데이터가 입력 할당부(820)에 입력되면, 입력 할당부(820)에서의 연산을 거쳐서 연산부(830)로 전달될 수 있다. 입력 할당부(820)에서의 연산은 입력 할당부(820)에 포함되거나 입력 할당부(820)에 연결된 채널 양극화부(822) 및/또는 자원 할당부(824)에서도 일부 또는 전부 수행될 수 있다. 연산부(830)로 전달된 신호 또는 데이터는, 연산부(830)에서의 연산을 거쳐서 데이터 재정렬 연결부(840)로 전달될 수 있다. 연산부(830)에서의 연산은 연산부(830)에 포함되거나 연산부(830)에 연결된 XOR 연산부(832)에서도 일부 또는 전부 수행될 수 있다. 데이터 재정렬 연결부(840)로 전달된 신호 또는 데이터는, 데이터 재정렬 연결부(840)에서의 연산을 거쳐 출력부(850)로 전달될 수 있다. 데이터 재정렬 연결부(840)에서의 연산은 데이터 재정렬 연결부(840)에 포함되거나 데이터 재정렬 연결부(840)에 연결된 데이터 연결 및 출력 순서 정렬부(842)에서도 일부 또는 전부 수행될 수 있다. 출력부(850)로 전달된 신호 또는 데이터는, 출력부(850)에서의 연산을 거쳐 부호화된 데이터로서 출력될 수 있다. 출력부(850)에서의 연산은 출력부(850)에 포함되거나 출력부(850)에 연결된 출력 크기 조절부(852)에서도 일부 또는 전부 수행될 수 있다.
채널 정보 연산부(810)는 채널 정보를 연산할 수 있다. 채널 정보 연산부(810)는 채널 정보에 기초하여 채널의 소거값(erasure) 확률 값 ε을 얻을 수 있다. 입력 할당부(820)는 전송하고자 하는 전송 데이터 및 채널 정보(이를 테면 ε)를 입력 받을 수 있다. 채널 양극화부(822)는 채널 양극화 현상에 따른 양극화를 위한 연산을 수행할 수 있다. 자원 할당부(824)는 채널 양극화부(822)에서의 연산 결과에 기초하여 자원 할당 연산을 수행할 수 있다. 자원 할당부(824)는, ε에 따라 각각의 입력들이 인코더를 거친 후 출력으로 나가는 채널의 용량 순위가 달라지게 되면, 달라진 순위에 따라서 전송할 데이터 또는 동결 비트가 할당되는 입력 인덱스를 결정할 수 있다. 이와 같이, SNR(Signal-to-Noise Ratio), EVM(Error Vector Magnitude) 등 채널 상태에 따른 동작 영역에 따라 ε 설정 값을 달리 적용하여 인코더 입력을 결정하면 성능이 향상되는 결과를 얻을 수 있다.
도 9는 채널 상태에 따른 채널의 소거값(erasure) 확률 값 ε 결정 방식의 일 실시예를 설명하기 위한 그래프이다.
채널의 상태 정보인 SNR(Signal-to-Noise Ratio), EVM(Error Vector Magnitude) 등에 따라서 소거값 확률 ε 설정 값이 다르게 적용될 수 있다. 보다 구체적으로는, SNR, EVM 등에 따라 적용 QPSK/16QAM/64QAM 등의 변조 방식이 결정되고 이에 적용되는 ε 값이 결정될 수 있다. 여기에 코드율(code rate)이 적용되면 동작 영역이 달라져서 적용되는 ε 값도 달라질 수 있다. 이를테면, 표 1에 나타난 바와 같을 수 있다.
Figure pat00004
이를테면, 도 9를 참조하여 설명한 바와 같이 비교적 낮은 SNR에서는 직교 위상 편이 변조(Quadrature Phase Shift Keying, QPSK) 방식이 적용될 수 있고, 이 경우 ε=0.3일 때 가장 좋은 성능을 보일 수 있다. 변조방식 및 코드율 등에 따라 시스템의 SNR 동작영역은 다를 수 있으며, 이에 적합한 ε 설정 값을 반영하여 채널 양극화 결과를 이용한 인코더 입력 자원 할당에 이용할 수 있다.
자원 할당부(824)는 인코더로 입력되는 전송데이터의 크기를 반영하여 입력 자원 위치를 결정할 수 있다. 전송데이터의 크기는 코드율(code rate)에 따라서 결정될 수 있고, 출력단의 출력 데이터 크기가 조절되는 경우 이에 따라서도 결정될 수 있다.
입력 할당부(820)에는 채널 정보 연산부(810)로부터 SNR, ε 값 등이 입력될 수 있고, 전송하고자 하는 전송 데이터가 입력될 수 있다. 채널 양극화부(822)에서는 ε 값을 입력받아서 채널 양극화 연산을 수행할 수 있다. 채널 양극화부(822)의 연산 결과 양극화된 각각의 채널의 용량이 계산되면, 이에 따라 자원 할당부(824)에서 채널 용량의 순위가 높은 입력 인덱스에 전송 데이터를 할당할 수 있다.
도 10은 본 발명의 일 실시예에 따른 폴라 인코더의 채널 양극화부의 구성을 설명하기 위한 블록도이다.
도 10을 참조하면, 본 발명의 일 실시예에 따른 폴라 인코더는 채널 양극화부(1010)를 포함할 수 있다. 채널 양극화부(1010)는 도 8을 참조하여 설명한 채널 양극화부(822)와 동일 또는 유사할 수 있다. 채널 양극화부(822)에서는 ε 값을 입력받아서 채널 양극화 연산을 수행할 수 있다. 채널 양극화부(822)는 w1 확률 계산부(1020), w2 확률 계산부(1030) 및 데이터 연결부(1040)를 포함할 수 있다. 채널 양극화부(822)에서, w1 확률 계산부(1020)는 w1 채널에서 소거값(erasure)이 발생할 확률을 계산할 수 있고, w2 확률 계산부(1030)는 w2 채널에서 소거값이 발생할 확률을 계산할 수 있다. 데이터 연결부(1040)에서 중간 데이터가 연결되어, 인코더 입력 자원 할당부(1050)로 전달될 수 있다. 인코더 입력 자원 할당부(1050)는 도 8을 참조하여 설명한 자원 할당부(824)와 동일 또는 유사할 수 있다. 채널 양극화부(1010)에서 각 채널(w1, w2 등)의 소거값 확률이 계산되면, 각 입력 인덱스에 대한 채널 용량이 계산되고, 계산된 채널 용량의 순위에 따른 전송 데이터 자원 할당 연산이 인코더 입력 자원 할당부(1050)에서 수행될 수 있다. 일례로, 소거값 확률에 대한 채널 용량 계산에 있어서, 입력값에 대하여 소거값 확률이 상대적으로 작으면 채널 용량이 상대적으로 높은 것으로 판단될 수 있다.
채널 상태에 따른 ε값 및/또는 입력의 크기가 변하는 경우, 채널 용량 순위가 다시 계산될 수 있다. 채널 상태 정보 또는 채널 측정치를 바탕으로 ε값이 획득될 수 있다. 획득된 ε 값은 채널 양극화 연산 또는 채널 양극화 함수에 적용될 수 있다. 각각의 입력 또는 입력 인덱스에 대한 채널 용량을 계산하고 정렬하는 함수 구성은, XOR 연산을 통과하는 w1 채널(또는 출력 경로 w1)에서는 2ε-ε2 로 정의될 수 있고, XOR 연산을 통과하지 않는 w2 채널(또는 출력 경로 w2)의 경우 ε2 로 정의될 수 있다. 이와 같이 2개의 채널에 대하여 적용되는 연산이 확장되어 복수 개(이를 테면 2N 개)의 입력들 또는 복수 개의 채널들에 대한 연산 경로를 거쳐 최종 각 출력에 대한 소거값 확률이 획득될 수 있다. 이와 같이 획득된 소거값 확률을 입력과 연결하여, 각 입력에 대한 채널 용량이 획득될 수 있다. 획득된 각각의 채널 용량 값에 대하여 큰 값부터 순위가 매겨질 수 있다. 매겨진 순위에 기초하여, 인코더의 입력으로 들어오는 데이터의 크기보다 크거나 같은 개수의 입력 위치가 활성화되어 데이터가 할당될 수 있다. 데이터가 할당되지 않는 위치에는 동결 비트들이 할당될 수 있다.
도 10을 참조하여 설명한 바와 같은 채널 양극화부의 연산은, 소거값 확률값이 정해지면 즉시 적용되어 전송데이터가 입력되기 전에 입력 위치 활성화가 수행될 수 있다. 따라서, 채널 양극화부의 연산 동작은 인코더 동작 지연 시간에 영향을 주지 않을 수 있다.
인코더의 구조에 의한 채널 양극화 현상은 인코더 입력에 할당하는 데이터의 위치를 결정할 수 있다. 즉, 채널 정보 또는 채널 측정 정보에 기초하여 소거값 확률이 결정되고, 이 값을 바탕으로 각 입력의 위치 정보가 표 또는 테이블에 저장되었다가 로드되어서, 입력에서 데이터 위치 및/또는 동결 비트 위치를 결정하는 방법이 사용될 수 있다. 이를테면, ε 값의 후보군이 설정되고, ε 값의 후보 각각에 대하여 입력의 크기에 대응되는 데이터 위치 및/또는 동결 비트 위치를 저장/로드하는 테이블이 설정될 수 있다. 이를테면, 표 2와 같은 테이블이 설정될 수 있다.
Figure pat00005
표 2를 참조하면, ε 값의 후보군은 {0.1, 0.3, 0.5, 0.7, 0.9} 등으로 결정되고 인코더 입력의 크기는 S={256, 1024} 등으로 결정되어 이에 대응되는 설정값이 비트맵(bit map) 형태로 저장/로드될 수 있다. 여기서, 256은 2의 8제곱에 해당하고, 1024는 2의 10제곱에 해당하는 것으로 볼 수 있다. 기본 코드율(code rate)은 1/2와 같이 주어질 수 있다.
일 실시예에서, 인코더의 입력의 크기가 1024인 경우, 1024개의 입력 위치 중 116 자리의 입력 데이터 할당 여부 변화로 모든 ε 값의 후보군에 따른 변화를 반영하여 입력 데이터 할당 위치기 정해질 수 있다. 이 경우, 116개의 입력 위치는 테이블 값에 따라 달리 할당될 수 있고, 454개의 입력 위치에는 동결 비트들이 할당될 수 있고, 나머지 454개의 입력 위치에는 고정적으로 전송 데이터가 할당될 수 있다. 동결 비트 입력 위치와 고정적 데이터 입력 위치는 입력에 대한 고정적인 기본 코드율에 따라서 정해질 수 있다. 한편, 가변적 데이터 위치 116개는 표 2의 값에서 해당 위치가 1인 경우 데이터를 할당하고 0인 경우 동결 비트가 할당될 수 있다. 일 실시예에서 가변적 데이터 위치는 {64, 96, 112, 120, 124, 126, 127, 128, 160, 176, 184, 188,??, 901, 905, 913, 929, 961}와 같이 정해질 수 있다. 한편, 인코더의 입력의 크기가 256인 경우, 12자리의 입력 데이터 할당 여부 변화로 모든 ε 값의 후보군에 따른 변화를 반영하여 입력 데이터 할당 위치가 정해질 수 있다. 이때의 가변적 데이터 위치는 {32, 48, 56, 80, 106, 107, 150, 151, 177, 201, 209, 225}와 같이 정해질 수 있다. (표 2의 값은 높은 위치부터 낮은 위치에 대하여 순차적으로 작성된 것으로 볼 수 있다)
한편, 도 9 및 표 1을 참조하여 설명한 바와 같이, 비교적 낮은 SNR에서는 직교 위상 편이 변조(Quadrature Phase Shift Keying, QPSK) 방식이 적용될 수 있고, QPSK 방식의 경우 ε=0.3일 때 가장 좋은 성능을 보일 수 있다. 반면 16QAM 이상의 변조방식의 경우 ε=0.5일 때 가장 좋은 성능을 보일 수 있다. 이를 근거로, ε 값의 후보군을 {0.3, 0.5}로 압축할 수 있다. 일 실시예에서, 두 경우(ε 값의 후보군 0.3 및 0.5)만을 고려하여 인코더 입력 데이터 할당 위치를 정하는 경우, 표 3과 같은 테이블이 설정될 수 있다.
Figure pat00006
표 3에 나타난 실시예에서, 가변적 데이터 위치는 256 인코더 크기에서는 4개(예를 들면, {80, 106, 177, 201} 등)로 정해질 수 있고, 1024 인코더 크기에서는 26개(예를 들면, {236, 238, 318, 319, 344, 371, 422, 423, 465, 481, 560, 598, 599, 612, 652, 681, 689, 706, 707, 709, 787, 789, 793, 802, 803, 897 등}로 정해질 수 있다.
도 11은 본 발명의 일 실시예에 따른 전송 데이터 할당 방법을 설명하기 위한 순서도이다.
도 11을 참조하면, 인코더의 입력 할당부는 채널 양극화 이후 입력에 대한 출력의 채널 용량에 대해 큰 순서부터 1로 하여 순위를 매긴 채널 용량의 순위 정보를 획득할 수 있다(S1110). 입력 할당부는 획득한 채널 용량의 순위 정보를 바탕으로 전송 데이터를 입력 받고 순위가 높은 인코더 입력 위치에 전송 데이터를 할당할 수 있다(S1120). 인코더의 입력 크기를 S이라 하고 전송 데이터의 크기가 A라 하면, 입력 S개 중 A개의 입력에 전송 데이터가 할당될 수 있다. 이를테면, 채널 용량의 순위가 A보다 높거나 같은 경우 해당 입력 위치에 전송데이터가 할당될 수 있다. 다르게 표현하면, 입력 위치에 대하여 전송데이터가 할당될 수 있다(S1130). 해당 입력 위치가 순위 1부터 A 이내일 경우(S1140), 해당 위치에 전송데이터가 할당될 수 있다(S1150). 반면, 해당 입력 위치가 순위 A 미만(또는 순위 A 바깥)에 해당할 경우(S1140), 해당 위치에 동결비트(frozen bits)들이 할당될 수 있다(S1160). 입력된 전송 데이터에 대한 할당이 모두 완료되면, 연산부로 전달될 수 있다(S1170).
도 11을 참조하여 설명한 동작들은 입력 할당부 또는 자원 할당부에 의해 수행될 수 있다. 입력 할당부는 도 8을 참조하여 설명한 입력 할당부(820)와 동일 또는 유사할 수 있다. 입력 할당부는 채널 양극화부 및/또는 자원 할당부와 연결될 수 있다. 또는, 입력 할당부는 채널 양극화부 및/또는 자원 할당부를 포함하도록 구성될 수 있다. 연산부는 도 8에 도시된 연산부(830)와 동일 또는 유사할 수 있다.
도 12는 본 발명의 일 실시예에 따른 폴라 인코더의 연산부의 구성을 설명하기 위한 개념도이다.
도 12를 참조하면, 본 발명의 일 실시예에 따른 폴라 인코더는 W2 구조의 연산부를 적어도 하나 이상 포함할 수 있다. 폴라 인코더에 포함되는 연산부는, 이를테면 도 8에 도시된 연산부(830)와 동일 또는 유사할 수 있다. W2 구조의 연산부는 한 개의 XOR 연산을 포함할 수 있다. W2 구조의 연산부는 i 번째 및 i+1 번째 입력(ui, ui+1)을 입력받아서 i 번째 및 i+1 번째 출력(xi, xi+1)을 출력할 수 있다. W2 구조의 연산부에서, XOR 연산자에 ui 및 ui+1이 입력되어 xi가 출력될 수 있다. 한편, W2 구조의 연산부에서 ui+1 가 그대로 xi+1로서 출력될 수 있다. 이와 같은 W2 구조의 연산부가 확장되어 고차 구조(이를테면, W2N 구조)의 폴라 인코더가 구성될 수 있다.
도 13은 도 12의 실시예에서 확장된 구조를 가지는 폴라 인코더의 구성을 설명하기 위한 개념도이다.
도 13을 참조하면, 도 12를 참조하여 설명한 W2 구조를 가지는 폴라 인코더 또는 그 연산부가 확장되어 고차 구조(이를테면, W2N 구조)의 폴라 인코더가 구성될 수 있다. W2N 구조의 폴라 인코더의 입력 크기 S=2N은 2의 거듭제곱수로 설정될 수 있다. 이를테면, 2N=2M과 같이 표현될 수 있다. 2N=2M개의 입력을 가지는 폴라 인코더는, W2 구조를 가지는 폴라 인코더 또는 그 연산부가 M-1 번 확장되어 구성된 것으로 볼 수 있다. 2N=2M개의 입력을 가지는 폴라 인코더는 M 개의 단계(M stages)를 포함할 수 있다. 각각의 단계는, 도 7c를 참조하여 설명한 제1 내지 제 3단계와 동일 또는 유사할 수 있다. 2N 개의 입력 중 홀수 번째 입력은 도 12를 참조하여 설명한 i 번째 입력(ui)에 해당할 수 있다. 2N 개의 입력 중 짝수 번째 입력은 도 12를 참조하여 설명한 i+1 번째 입력(ui+1)에 해당할 수 있다. 즉, 홀수 번째와 짝수 번째 입력에 대해 XOR 연산이 수행되어 홀수 번째 출력(xi)으로서 출력될 수 있고, 짝수 번째 입력은 그대로 짝수 번째 출력(xi+1)으로서 출력될 수 있다. 각각의 출력들 (x1 내지 x2N)은 데이터 재정렬 연결부로 입력될 수 있다. 데이터 재정렬 연결부는 도 8에 도시된 데이터 재정렬 연결부(840)와 동일 또는 유사할 수 있다.
XOR 연산 수행 후 출력은 데이터 재정렬 연결부의 홀수번째 입력으로 하고 짝수번째 입력은 그대로 하여 짝수번째 데이터로 데이터 재정렬 연결부의 입력으로 한다. 데이터 재정렬 연결부는 입력의 홀수번째 입력을 순서대로 먼저 출력하고 짝수번째 입력을 홀수번째 입력에 이어 출력한다. 데이터 재정렬 연결부는 입력 X에 대하여 데이터 재정렬 동작을 수행하여 출력 V를 출력할 수 있다. 데이터 재정렬 연결부에 입력되는 X는
Figure pat00007
와 같이 표현될 수 있다. 한편, 데이터 재정렬 연결부에서 출력되는 V는
Figure pat00008
와 같이 표현될 수 있다. 데이터 재정렬 연결부는, X 및 V에 포함되는 x1 내지 x2N와 v1 내지 v2N이 수학식 4와 같은 관계를 가지도록 데이터 재정렬 동작을 수행할 수 있다.
Figure pat00009
W2N 구조의 폴라 인코더는 하나의 데이터 재정렬 연결부와 2개의 WN 구조의 폴라 인코더로 구성될 수 있다. N이 4 이상일 경우, WN 구조의 폴라 인코더는 다시 하나의 데이터 재정렬 연결부와 2개의 WN/2 구조의 폴라 인코더로 구성될 수 있다. 이와 같은 관계가 반복되어, N개의 W2 구조의 폴라 인코더로 연결 또는 확장될 수 있다. N개의 W2 구조의 폴라 인코더에서 출력되는 2N 개의 출력 y1 내지 y2N은 출력부로 전달되어 출력 신호로 변환될 수 있다.
도 14는 본 발명의 일 실시예에 따른 폴라 인코더의 출력부의 구성을 설명하기 위한 개념도이다.
도 14를 참조하면 본 발명의 일 실시예에 따른 폴라 인코더는 출력부를 포함할 수 있다. 출력부는 도 8에 도시된 출력부(850)과 동일 또는 유사할 수 있다. 출력부는 도 13을 참조하여 설명한 것과 동일 또는 유사한 N개의 W2 구조의 폴라 인코더로부터 2N 개의 출력 y1 내지 y2N을 입력 받을 수 있다. 출력부는 인코더에서 출력되는 데이터의 크기를 조절하여 내보내기 위하여, 레이트 매칭(rate matching)동작을 수행할 수 있다. 이를 통해, 입력 크기와 동일한 출력 크기에서 일부 비트들이 제외된 상태에서 출력 신호가 생성된다. 입력 비트 중 전송 데이터의 할당 비율을 기본 코드 레이트(CRB)이라 하고, 출력 코드 레이트를 CRf이라 하면, CRB보다 CRf가 높을 경우 출력 데이터 중 일부 데이터를 빼고 출력하며, CRB보다 CRf가 낮을 경우 출력 데이터의 일부 데이터를 반복하여 덧붙여 출력할 수 있다. 출력부에서 생성 및 출력된 출력 신호는 변조되어 물리적 채널을 통해 다른 통신 시스템, 통신 노드, 메모리 시스템, 또는 저장 매체 등으로 전달될 수 있다.
도 15는 본 발명의 일 실시예에 따른 폴라 디코더에서의 데이터 흐름을 설명하기 위한 블록도이다.
도 15를 참조하면, 본 발명의 일 실시예에 따른 디코더 또는 폴라 디코더는 입력부(1510), 입력 크기 조절부(1512), 입력 확률 연산부(1520), 연산부(1530), W2 구조 확률 연산부(1531), 최종 비트 결정부(1532), 채널 양극화부(1533), 중간 비트 결정부(1534), 리스트 메모리 갱신부(1535), 출력부(1540), 및 CRC 확인 및 최종 복호열 선택부(1545) 등을 포함할 수 있다. 본 발명의 일 실시예에 따른 폴라 디코더의 각각의 구성요소들은, 이하 도 15 내지 21을 참조하여 설명하는 본 발명의 실시예들에서의 연산 또는 동작을 일부 또는 전부 수행할 수 있다.
채널 정보, 데이터 크기 정보, 수신 데이터 등이 입력부(1510)로 입력되면, 입력부(1510)에서의 연산 결과가 입력 확률 연산부(1520)로 전달될 수 있다. 입력부(1510)에서의 연산은, 입력부(1510)에 포함되거나 입력부(1510)에 연결된 입력 크기 조절부(1512)에서도 일부 또는 전부 수행될 수 있다. 입력 확률 연산부(1520)로 전달된 신호 또는 데이터는, 입력 확률 연산부(1520)에서의 연산을 거쳐서 연산부(1530)로 전달될 수 있다. 연산부(1530)로 전달된 신호 또는 데이터는, 입력 확률 연산부(1530)에서의 연산을 거쳐서 출력부(1540)로 전달될 수 있다. 연산부(1530)에서의 연산은, 연산부(1530)에 포함되거나 연산부(1530)에 연결된 W2 구조 확률 연산부(1531), 최종 비트 결정부(1532), 채널 양극화부(1533), 중간 비트 결정부(1534), 및/또는 리스트 메모리 갱신부(1535)에서도 일부 또는 전부 수행될 수 있다. 출력부(1540)로 전달된 신호 또는 데이터는, 출력부(1540)에서의 연산을 거쳐서 복호 데이터로서 출력될 수 있다. 출력부(1540)에서의 연산은, 출력부(1540)에 포함되거나 출력부(1540)에 연결된 CRC 확인 및 최종 복호열 선택부(1545)에서도 일부 또는 전부 수행될 수 있다.
도 6a 내지 도 14를 참조하여 설명한 바와 같이, 송신단에서 전송하고자 하는 전송 데이터는 폴라 인코더를 거치면서 부호화되고, 이후 변조되어 물리적 채널을 통해 전송될 수 있다. 수신단에서 수신된 수신 데이터는 복조 과정을 거쳐서 폴라 디코더로 입력될 수 있다. 구체적으로, 폴라 디코더의 입력부(1510)는 복조 과정을 거친 수신 데이터를 입력 받을 수 있다. 입력부(1510)는 채널 정보 및 데이터 크기 정보를 추가적으로 입력받을 수 있다. 채널 정보는 채널의 소거값(erasure) 확률 값 ε를 포함할 수 있다. 입력부(1510)는 데이터의 크기 정보에 기초하여, 수신 데이터의 크기가 폴라 디코더의 입력 크기에 맞도록, 폴라 인코더에서 제외된 정보의 위치에 일정한 값을 넣어줄 수 있다. 입력부(1510)는 송신단에서 수행된 레이트 매칭 과정에서 제거된 비트 또는 데이터나 반복 전송된 데이터의 수신이득을 고려하여 폴라 디코더의 입력을 생성한다. 이와 같은 입력 크기 조절 동작은, 입력 크기 조절부(1512)를 통하여 수행될 수도 있다. 입력부(1510) 또는 입력 크기 조절부(1512)에서 생성된 입력은 폴라 디코더의 입력 크기(이를테면, 2N)와 동일한 크기를 가질 수 있다. 입력부(1510) 또는 입력 크기 조절부(1512)에서 생성된 입력은 입력 확률 연산부(1520)로 전달될 수 있다.
도 16은 본 발명의 일 실시예에 따른 폴라 디코더의 입력 확률 연산부의 구성을 설명하기 위한 개념도이고, 도 17은 본 발명의 일 실시예에 따른 폴라 디코더에서의 입력 확률 연산 동작을 설명하기 위한 개념도이다.
도 16 및 17을 참조하면, 본 발명의 일 실시예에 따른 폴라 디코더는 입력 확률 연산부를 포함하여 입력 확률 연산 동작을 수행할 수 있다. 입력 확률 연산부는, 도 15에 도시된 입력 확률 연산부(1520)와 동일 또는 유사할 수 있다. 입력 확률 연산부는, 수신 값(y1, y2)을 이용하여 기존 값(v1, v2)의 확률을 계산할 수 있다.
구체적으로는, 입력 확률 연산부는 입력으로 들어오는 비트 또는 데이터들에 대하여, '0' 및 '1'에 대한 확률을 연산할 수 있다. 구체적으로, 수신단의 폴라 디코더의 입력 크기와 송신단의 폴라 인코더의 입력의 크기가 동일하게 2N이라고 할 경우, 입력된 y1 내지 y2N 값 각각에 대하여, 대표값 '0' 또는 '1'에 대한 확률이 연산될 수 있다. 보다 구체적으로, yi(i=1, 2, ..., 2N)와 '0' 간의 차이값인 d(yi│0), 및 yi와 '1' 간의 차이값인 d(yi│1)이 연산될 수 있다. 이는 도 17에 도시된 바와 동일 또는 유사할 수 있다. 연산된 d(yi│0) 및 d(yi│1)에 기초하여, yi가 '0'에 해당할 확률 p(yi│0), 및 yi가 '1'에 해당할 확률 p(yi│1)이 연산될 수 있다. d(yi│0) 및 d(yi│1)과 p(yi│0)및 p(yi│1)은 수학식 5 및 수학식 6과 같은 관계를 가질 수 있다.
Figure pat00010
Figure pat00011
즉, 대표값과의 거리 d(yi│0) 및 d(yi│1)과 동일 또는 유사한 값으로 확률값 p(yi│0)및 p(yi│1) 정의될 수 있다. 다르게 말하면, 각 대표값과의 거리를 확률값으로 하여, 그 확률값이 작을수록 해당 대표값에 해당할 확률이 높은 것으로 볼 수 있다.
도 18은 본 발명의 일 실시예에 따른 폴라 디코더의 연산부의 동작에 대해 설명하기 위한 순서도이다.
도 18을 참조하면, 본 발명의 일 실시예에 따른 폴라 디코더의 연산부는 도 7b를 참조하여 설명한 W2 구조의 폴라 디코더와 동일 또는 유사할 수 있다. 또는, 폴라 디코더의 연산부는 도 7b를 참조하여 설명한 W2 구조의 폴라 디코더에서 적어도 한 번 이상의 확장을 거쳐서 구성된 고차 구조(이를 테면 W2N 구조)의 폴라 디코더에 해당할 수 있다.
W2 구조의 폴라 디코더의 연산부는, 수신된 정보 y1 및 y2의 값을 이용하여 이전 값 또는 기존 값 v1 및 v2의 확률을 계산할 수 있다. 우선, 수신된 정보 y1 및 y2의 값을 이용하여 v1의 확률이 계산될 수 있고, v1의 결정된 비트 정보를 이용하여 v2의 확률이 계산될 수 있다.
도 18의 (a)에는 v1의에서의 비트 결정 값이 '0'일 확률을 연산하는 과정이 도시되어 있고, 도 18의 (b)에는 v1의에서의 비트 결정 값이 '1'일 확률을 연산하는 과정이 도시된 것으로 볼 수 있다. 도 18의 (a)를 참조하면, d(y1│0)+d(y2│0) 및 d(y1│1)+d(y2│1) 중 작은 값이 v1의에서의 비트 결정 값이 '0'일 확률로 결정될 수 있다. 한편, 도 18의 (b)를 참조하면, d(y1│0)+d(y2│1) 및 d(y1│1)+d(y2│0) 중 작은 값이 v1의에서의 비트 결정 값이 '1'일 확률로 결정될 수 있다.
v1의 확률이 연산되면, 연산된 확률에 기초하여 v1에서의 비트 결정이 이루어질 수 있다. v1에서의 비트 결정이 이루어지면, 이에 기초하여 v2의 확률이 계산될 수 있다. 이를테면, 도 7b를 참조하여 설명한 바와 동일 또는 유사할 수 있다. v1에서의 비트 결정 값이 '0'일 경우, v2이 '0'일 확률 및 '1'일 확률은 각각 수학식 7 및 수학식 8과 같이 연산될 수 있다.
Figure pat00012
Figure pat00013
한편, v1에서의 비트 결정 값이 '1'일 경우, v2이 '1'일 확률 및 '0'일 확률은 각각 수학식 9 및 수학식 10과 같이 연산될 수 있다.
Figure pat00014
Figure pat00015
이와 같은 W2 구조의 폴라 디코더에서 적어도 한 번 이상 또는 적어도 한 단계 이상의 확장 또는 갱신이 수행되어, 복수 개의 단계(stages)로 구성되는 W2N 구조의 폴라 디코더가 구성될 수 있다.
도 19는 본 발명의 일 실시예에 따른 W2N 구조의 폴라 디코더의 구성에 대해 설명하기 위한 개념도이다.
도 19를 참조하면, 본 발명의 일 실시예에 따른 W2N 구조의 폴라 디코더는 복수 개의 단계(stages)를 포함하도록 구성될 수 있다. 여기서, 2N은 2의 거듭제곱에 해당하는 수일 수 있다. 2N=2M과 같이 표현될 수 있다. 2N=2M개의 입력을 가지는 폴라 디코더는, 기본적인 W2 구조가 M-1 번 확장되어 구성된 것으로 볼 수 있다. 2N=2M개의 입력을 가지는 폴라 인코더는 log2(2N)=M 개의 단계(M stages)를 포함할 수 있다. 도 19에는 2N=8(즉, N=4이고 M=3)인 실시예가 도시되어 있다. 각 단계는 N개의 W2 구조로 구성될 수 있다. 2N 개의 입력 yi(i=1, 2, ..., 2N)가 log2(2N)=M 번의 확률 갱신 단계를 거쳐서 첫번째 디코더 최종 출력 비트 ui(i=1, 2, ..., 2N)가 결정될 수 있다. 이와 같은 연산은, 최종 비트 결정부를 통하여 수행될 수 있다. 최종 비트 결정부는 도 15에 도시된 최종 비트 결정부(1532)에 해당하거나 이와 유사할 수 있다. 최종 비트 결정부는 디코더의 최종 출력을 위한 log2(2N)=M 단계의 확률 갱신 후, 그 확률을 통해 복원 데이터가 '0'인지 '1'인지 결정할 수 있다. 결정된 비트 정보는
Figure pat00016
또는
Figure pat00017
와 같이 표현될 수 있다(k = 1,2, ... ,N).
최종 비트 결정부는, 채널의 소거값(erasure) 확률 값 ε에 따른 채널 양극화 현상 또는 채널 양극화 연산에 기초하여, 전송 데이터 또는 정보 비트가 할당된 위치와 동결 비트가 할당된 위치의 정보를 확인할 수 있다. 이와 같은 확인은 도 15에 도시된 채널양극화부(1533)를 통하여서 수행될 수도 있다.
최종 비트 결정부는 동결 비트 할당 위치에서는 '0'값으로 최종 비트를 결정하고, 전송 데이터 또는 정보 비트 할당 위치에서는 확률 정보에 따라 '0'과 '1'의 확률 갱신값 중 작은 값을 선택하여 최종 비트로 할 수 있다. 홀수 번째 위치에 대하여 결정되는
Figure pat00018
의 비트가 최종 결정되면, 이를 이용하여 짝수 번째 위치에 대한 확률이 갱신되고 해당 위치에서의 최종 결정 비트
Figure pat00019
가 결정될 수 있다.
Figure pat00020
,
Figure pat00021
정보를 이용하여, 그 이전 단계 즉 log2(N)=M-1 단계에서의 중간 비트가 도 20에서와 같이 결정할 수 있다.
도 20은 본 발명의 일 실시예에 따른 폴라 디코더의 중간 비트 결정부의 구성에 대해 설명하기 위한 개념도이고, 도 21은 본 발명의 일 실시예에 따른 폴라 디코더에서의 복호 과정의 일 실시예를 설명하기 위한 개념도이다. 도 21의 (a)에는 연속 제거(successive cancellation) 방식의 실시예가 도시되어 있고, 도 21의 (b)에는 연속 제거 리스트(successive cancellation list) 방식의 일 실시예가 도시되어 있다.
도 20을 참조하면, 본 발명의 일 실시예에 따른 폴라 디코더의 중간 비트 결정부는 도 15에 도시된 중간 비트 결정부(1534)에 해당하거나 이와 유사할 수 있다. 중간 비트 결정부는 기본적인 W2 구조에서 입력 결정 비트에 대한 결정이 완료된 후, 이전 단계의 비트들을 결정하는 구조를 가질 수 있다. 이와 같은 방식은, 최종 비트 결정부에서 결정 비트에 대한 후보군을 두어 관리하는 구조로 구성될 수 있다. 이 경우 각 단계의 각 확률데이터와 중간 결정 비트는 최종 비트 후보군에 따라 각기 관리되어야 할 수 있다. 이러한 관리를 위하여 메모리가 필요할 수 있으며, 후보군의 수만큼 메모리 크기가 비례하여 증가할 수 있다. 후보군 수(L)가 1개인 경우, 최종 비트 결정은 최종 단계인 log2(2N)=M 단계에서의 첫번째 복호 값
Figure pat00022
에서 구해진 확률값에 의해'0'인지 '1'인지에 대한 판단이 수행될 수 있고, 다음 복호과정을 거쳐 마지막 복호 비트
Figure pat00023
까지 복호가 진행될 수 있다. 이와 같은 과정에서, 동결 비트 할당 위치는 제외되어 진행될 수 있다. 이를테면, 도 21의 (a)에 도시된 예시와 같거나 유사할 수 있다.
한편, 후보군의 수(L)가 1보다 큰 경우, 동결 비트 할당 위치는 '0'값을 복호값으로 할 수 있고, 데이터 할당 위치에서 비트 결정시 '0'과 '1' 모두 가능한 복호열로 후보에 둘 수 있다. 이 때 후보 복호열은 L개일 수 있으며, 복호열 L개를 초과하는 후보 가능 복호열에서 후보 복호열을 선정시 후보 가능 복호열의 확률이 높은 복호열 L개를 선택하여 다음 복호가 진행될 수 있다. 이를테면, 도 21의 (b)에 도시된 예시와 같거나 유사할 수 있다.
선택된 복호열에 따라 중간 결정 비트 정보와 확률 정보가 갱신될 수 있다. 최종 비트 결정부의 마지막 비트 또는 마지막 데이터까지 복호가 완료되면, 후보열 중 CRC 확인 과정을 거쳐 CRC 가 확인된 복호열이 최종 복호열로서 출력될 수 있다. 이를 통하여, 송신단에서 전송하고자 했던 전송 데이터가 복원될 수 있다.
상기한 본 발명의 일 실시예에 따르면, 폴라 코드가 적용된 인코더 및 디코더에 있어서, 데이터가 전송되는 물리적 채널의 채널 상태를 고려한 양극화 정보에 따라서 인코더에 입력되는 입력 데이터 위치를 할당하고, 상기 입력 데이터를 부호화하고, 상기 부호화된 데이터를 수신한 디코더에서 디코딩 성능을 유지하면서도 낮은 복잡도로 복호화를 수행할 수 있도록 할 수 있다. 따라서, 인코더 및 디코더에서 소비되는 전력량이 감소할 수 있고, 데이터 전송 동작의 효율성이 향상될 수 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (1)

  1. 통신 시스템의 제1 통신 노드에서 폴라 코드에 기초한 부호화 방법으로서,
    채널의 소거값(erasure) 확률 값을 포함하는 채널 정보를 수신하는 단계;
    제2 통신 노드로 전송하고자 하는 전송 데이터를 수신하는 단계;
    상기 수신된 채널 정보에 기초하여, 채널 양극화 동작을 수행하는 단계;
    상기 채널 양극화 동작의 결과에 기초하여, 복수개의 입력 위치들 중에서 상기 전송 데이터를 구성하는 정보 비트들(information bits)을 할당할 제1 그룹과, 동결 비트들(frozen bits)을 할당할 제2 그룹을 결정하는 단계;
    상기 제1 그룹에 상기 정보 비트들을 할당하고, 상기 제2 그룹에 동결 비트를 할당하는 단계;
    상기 복수개의 입력 위치들에 대한 데이터 재정렬 동작을 수행하는 단계; 및
    상기 데이터 재정렬 동작의 결과에 기초하여 출력 신호를 생성하는 단계를 포함하고,
    상기 제1 및 제2 그룹은 상기 채널 정보에 기초하여 가변적으로 결정되는 것을 특징으로 하는, 폴라 코드에 기초한 부호화 방법.
KR1020200160525A 2019-11-25 2020-11-25 폴라 코드에 기초한 부호화 및 복호화 방법 및 장치 KR20210064099A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190152734 2019-11-25
KR1020190152734 2019-11-25

Publications (1)

Publication Number Publication Date
KR20210064099A true KR20210064099A (ko) 2021-06-02

Family

ID=76372915

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200160525A KR20210064099A (ko) 2019-11-25 2020-11-25 폴라 코드에 기초한 부호화 및 복호화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20210064099A (ko)

Similar Documents

Publication Publication Date Title
CN110166167B (zh) 编码的方法、译码的方法、编码设备和译码设备
US10979081B2 (en) Polar code interleaving and bit selection
JP7189161B2 (ja) 通信及び放送システムのためのレートマッチング方法及び装置
KR102474598B1 (ko) 무선 통신 시스템에서 부호화를 위한 장치 및 방법
US10567004B2 (en) Method and apparatus for constructing interleaving sequence in a wireless communication system
CN112187403B (zh) 信息处理的方法、装置、通信设备和通信系统
KR102550075B1 (ko) 무선 통신 시스템에서 순환 중복 검사를 이용한 복호화를 위한 장치 및 방법
CN109314524A (zh) 使用通用极化码时通过异构内核进行速率匹配的系统和方法
WO2018228601A1 (zh) 一种数据处理方法及数据处理装置
CN109391367B (zh) 通信方法和装置
KR20190114263A (ko) 무선 통신 시스템에서 극 부호를 이용한 부호화 및 복호화를 위한 장치 및 방법
US20200067532A1 (en) Method and device for incremental redundancy hybrid automatic repeat request (ir-harq) re-transmission
WO2022161201A1 (zh) 编码调制与解调解码方法及装置
US11637569B2 (en) Apparatus and method for polar coding and decoding for channels associated with complementary index sets
KR102438982B1 (ko) 무선 통신 시스템에서 부호화 및 복호화를 위한 방법 및 장치
CN109150378A (zh) 一种数据处理方法及数据处理装置
CN108631941B (zh) 通信方法和装置
KR102525414B1 (ko) LDPC(low-density parity-check) 부호의 복호화 방법 및 장치
US20200036474A1 (en) Resource mapping method and apparatus thereof
KR20210064099A (ko) 폴라 코드에 기초한 부호화 및 복호화 방법 및 장치
WO2019042370A1 (zh) 数据传输方法及装置
KR20190125071A (ko) 통신 시스템에서 harq 기반의 송수신 방법 및 장치
KR20210015634A (ko) 통신 시스템에서 폴라 코드를 사용한 신호의 송수신 방법 및 장치
CN115225201A (zh) 一种调制方法、解调方法及通信装置
KR20210116104A (ko) 연판정을 이용한 복호 방법 및 장치