KR20230003466A - 폴라리제이션-조정 컨볼루션 코드들의 리스트 디코딩 - Google Patents
폴라리제이션-조정 컨볼루션 코드들의 리스트 디코딩 Download PDFInfo
- Publication number
- KR20230003466A KR20230003466A KR1020227035811A KR20227035811A KR20230003466A KR 20230003466 A KR20230003466 A KR 20230003466A KR 1020227035811 A KR1020227035811 A KR 1020227035811A KR 20227035811 A KR20227035811 A KR 20227035811A KR 20230003466 A KR20230003466 A KR 20230003466A
- Authority
- KR
- South Korea
- Prior art keywords
- list
- decoding
- pac
- codeword
- decoder
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 43
- 238000004891 communication Methods 0.000 claims abstract description 31
- 238000012937 correction Methods 0.000 claims abstract description 10
- 238000004422 calculation algorithm Methods 0.000 claims description 27
- 230000005540 biological transmission Effects 0.000 claims description 4
- 125000004122 cyclic group Chemical group 0.000 claims description 4
- 241000169170 Boreogadus saida Species 0.000 description 13
- 238000004590 computer program Methods 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000015654 memory Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000008014 freezing Effects 0.000 description 5
- 238000007710 freezing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000001788 irregular Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000010287 polarization Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2933—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using a block and a convolutional code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2939—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using convolutional codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6572—Implementations using a tree structure, e.g. implementations in which the complexity is reduced by a tree structure from O(n) to O (log(n))
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0052—Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0059—Convolutional codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0064—Concatenated codes
- H04L1/0065—Serial concatenated codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/23—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
- H03M13/2732—Convolutional interleaver; Interleavers using shift-registers or delay lines like, e.g. Ramsey type interleaver
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/612—Aspects specific to channel or signal-to-noise ratio estimation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
폴라리제이션-조정 컨볼루션(PAC) 코드들의 리스트 디코딩을 위한 디바이스들, 시스템들 및 방법들이 설명된다. 통신 채널에서의 데이터에 대해 디코더에서 오류 정정을 개선하는 하나의 예시적인 방법이, 노이즈있는 코드워드를 수신하는 단계 ― 코드워드는 폴라리제이션-조정 컨볼루션(PAC) 코드를 사용하여 생성되었고 디코더에 의한 수신 전에 통신 채널에 제공되었음 ―; 및 노이즈있는 코드워드에 대해 PAC 리스트 디코딩을 수행하는 단계를 포함하며, PAC 코드의 인코딩 동작이 하나 이상의 동적 동결 비트들을 생성하는 컨볼루션 프리코딩 동작을 포함하고, PAC 리스트 디코딩은, 하나 이상의 동적 동결 비트들에 기초하여, PAC 리스트 디코딩에서의 복수의 경로들 중 적어도 두 개의 경로들을 상이하게 그리고 독립적으로 확장하는 것을 포함한다.
Description
관련 출원에 대한 상호 참조
이 특허 문서는 2020년 3월 16일자로 출원된 미국 임시 특허 출원 제62/990,376호를 우선권 주장한다. 이 특허 출원의 전체 내용은 이 특허 문서의 개시내용의 일부로서 참조에 의해 포함된다.
기술분야
본 문서는 대체로 오류 정정 코드들(error correction codes)에 관한 것이고, 더 상세하게는 폴라리제이션-조정 컨볼루션 코드들(polarization-adjusted convolutional codes)의 리스트 디코딩에 관한 것이다.
통신 시스템이 일반적으로 다양한 유형들의 노이즈 및 오류들이 있는 데서 데이터 송신의 신뢰도를 개선하고 통신들의 품질을 보장하기 위해 채널 인코딩을 채택한다. 폴라 코딩(polar coding)은 약 10년 전에 제안된 일반적이고 매우 강력한 오류 정정 기술이고, 5세대(5G) 무선 표준의 eMBB 모드에서 제어 채널들을 코딩하기 위해 현재 사용된다. 무선 통신 외에도, 폴라 코드들은 광섬유 네트워크들, 데이터 저장, 위성 통신들 등에 애플리케이션들을 가질 수 있다.
개시된 기술의 실시예들은 무선 시스템들, 유선 시스템들, 및 데이터 저장 시스템들을 포함하지만 그것들로 한정되지 않는 다양한 통신 시스템들에서 사용될 수 있는 폴라리제이션-조정 컨볼루션(PAC) 코드들의 리스트 디코딩을 위한 방법들, 시스템들 및 디바이스들에 관한 것이다. 설명되는 실시예들은, 다른 특징들 및 이점들 중에서, 최악의 디코딩 복잡도 또는 레이턴시가 주요 제약조건인 낮은 SNR(signal-to-noise ratio) 체제들 또는 상황들과 같은 특정한 시나리오들에서 순차 디코딩에 비해 뚜렷한 장점들을 제공한다.
예시적인 양태에서, 통신 채널에서의 데이터에 대해 디코더에서 오류 정정을 개선하는 하나의 예시적인 방법이, 노이즈있는 코드워드를 수신하는 단계 ― 코드워드는 폴라리제이션-조정 컨볼루션(PAC) 코드를 사용하여 생성되었고 디코더에 의한 수신 전에 통신 채널에 제공되었음 ―; 및 노이즈있는 코드워드에 대해 PAC 리스트 디코딩을 수행하는 단계를 포함하며, PAC 코드의 인코딩 동작이 하나 이상의 동적 동결 비트들(dynamically frozen bits)을 생성하는 컨볼루션 프리코딩 동작을 포함하고, PAC 리스트 디코딩은, 하나 이상의 동적 동결 비트들에 기초하여, PAC 리스트 디코딩에서의 복수의 경로들 중 적어도 두 개의 경로들을 상이하게 그리고 독립적으로 확장하는 것을 포함한다.
다른 예시적인 양태에서, 오류 정정을 개선하는 시스템이, 복수의 정보 심볼들을 수신하며, 복수의 정보 심볼들에 프리코딩 동작을 수행함으로써 복수의 프리코딩된 심볼들을 생성하며 ― 복수의 프리코딩된 심볼들은 하나 이상의 동적 동결 심볼들을 포함함 ―, 복수의 프리코딩된 심볼들에 대해 폴라 인코딩 동작을 수행함으로써 복수의 폴라 인코딩된 심볼들을 포함하는 코드워드를 생성하고, 송신 또는 저장을 위해 코드워드를 제공하도록 구성되는 인코더와, 노이즈있는 코드워드를 수신하고 ― 노이즈있는 코드워드는 디코더에 의한 수신 전에 통신 채널에 코드워드를 제공함으로써 생성되었음 ― , 노이즈있는 코드워드에 대해 리스트 디코딩을 수행하도록 구성되는 디코더를 포함하며, 리스트 디코딩은 하나 이상의 동적 동결 심볼들에 기초하여, 리스트 디코딩에서의 복수의 경로들 중 적어도 두 개의 경로들을 상이하게 그리고 독립적으로 확장하는 것을 포함한다.
또다른 예시적인 양태에서, 위에서 설명된 방법들은 프로세서 및/또는 메모리를 포함하는 장치 또는 디바이스에 의해 구현될 수 있다.
또다른 예시적인 양태에서, 이들 방법들은 프로세서 실행가능 명령어들의 형태로 실시될 수 있고 컴퓨터 판독가능 프로그램 매체 상에 저장될 수 있다.
이 특허 문서에서 설명되는 발명의 주제는 다음 특징들 중 하나 이상을 제공하는 특정 방식들로 구현될 수 있다.
도 1은 순차 디코딩을 갖는 폴라리제이션-조정 컨볼루션(PAC) 코딩 스킴의 일 예를 도시한다.
도 2는 PAC 코드들의 리스트 디코딩을 위한 예시적인 알고리즘을 도시한다.
도 3은 도 2에 예시된 리스트 디코딩 알고리즘의 리스트 프루닝(pruning) 동작을 위한 예시적인 알고리즘을 도시한다.
도 4는 리스트 디코딩 하의 예시적인 PAC 코드들의 성능을 예시한다.
도 5는 폴라 탐색 트리의 일 예를 도시한다.
도 6은 PAC 코드들의 리스트 디코딩을 위한 예시적인 방법의 흐름도를 도시한다.
도 7은 현재 개시된 기술의 일부 실시예들에 따른, 장치의 일부의 블록도 표현이다.
도 2는 PAC 코드들의 리스트 디코딩을 위한 예시적인 알고리즘을 도시한다.
도 3은 도 2에 예시된 리스트 디코딩 알고리즘의 리스트 프루닝(pruning) 동작을 위한 예시적인 알고리즘을 도시한다.
도 4는 리스트 디코딩 하의 예시적인 PAC 코드들의 성능을 예시한다.
도 5는 폴라 탐색 트리의 일 예를 도시한다.
도 6은 PAC 코드들의 리스트 디코딩을 위한 예시적인 방법의 흐름도를 도시한다.
도 7은 현재 개시된 기술의 일부 실시예들에 따른, 장치의 일부의 블록도 표현이다.
폴라 코딩은 일반적이고 약 10년 전에 제안된 매우 강력한 오류 정정 기술이고, 넓은 범위의 채널들에 대해 효율적인 인코딩 및 디코딩으로 능력을 입증할 수 있게 성취할 수 있다. 폴라 코드들은 데이터 송신들의 레이트 및 신뢰도를 극대화하고, 5G에 대한 코딩 성능을 크게 개선시킬 준비가 되어 있다. 동시에, 그것들은 설계 복잡도를 줄이고 서비스 품질을 보장한다. 폴라 코드들은 코드 구성이 물리 채널을 가상 외부 채널들로 변환하는 짧은 커널 코드의 다중 재귀 연접에 기초하는 선형 블록 오류 정정 코드 유형이다. 재귀 횟수가 많아질 때, 가상 채널들은 높은 신뢰도 또는 낮은 신뢰도 중 어느 하나를 갖는 (다르게 말하면, 폴라라이즈되는) 경향이 있고, 데이터 비트들은 가장 신뢰성 있는 채널들에 할당된다.
그러나, 표준 연속 제거 디코딩(standard successive-cancellation decoding) 하의 짧은 블록 길이들에서의 폴라 코드들의 성능은 최적과는 거리가 멀다. 짧은 블록 길이들에서의 폴라 코드들의 성능을 개선하기 위한 널리 공지된 방식은 연속 제거 리스트 디코딩이 뒤따르는 순환 중복 검사(cyclic redundancy check)(CRC) 프리코딩이다.
폴라리제이션-조정 컨볼루션(PAC) 코드들은 리스트 디코딩이 있는 CRC 프리코딩된 폴라 코드들과 비교하여 성능에서의 개선을 제공한다. 이들 코드들은 다음 주요 아이디어들, 즉, (적절한 레이트 프로파일링 하의) 컨볼루션 프리코딩으로 CRC 프리코딩을 대체하는 것과 리스트 디코딩을 순차 디코딩에 의해 대체하는 것에 주로 기초한다.
PAC 코드들에 대한 동기부여 아이디어는 입력들이 레이트 배정 Ri = 0에 의해 고정되는 비트 채널들(Wi)의 용량 C(Wi)를 0-1 레이트 배정들이 낭비한다는 인식이다. 용량 손실은 폴라리제이션이 비교적 천천히 일어나기 때문에 실제(작거나 중간 정도의) 블록 길이(N)에서 특히 현저하다. 이러한 용량 손실을 방지하기 위하여, 임의의 비트 채널의 입력을 고정시키는 것을 피하는 스킴이 필요하다. PAC 코드들은 도 1에 도시된 바와 같이 폴라 변환의 앞에 외부 컨볼루션 코딩 블록을 배치함으로써 이를 성취한다.
PAC 코드들에 대해 원래 제안되었던 순차 디코딩(예컨대, 파노(Fano) 디코딩 또는 비터비(Viterbi) 디코딩)은, 역사적으로 컨볼루션 코드들을 디코딩하기 위한 자연스러운 선택이었고, 최근 학술 문헌에서, 리스트 디코딩은 PAC 코드에 대한 순차적인 디코딩보다 열등한 것으로 특징화되었다. 이러한 우세한 정서에도 불구하고, 개시된 기술의 실시예들은 PAC 코드들이 동적 동결 비트들이 있는 폴라 코드들이라는 인식에 부분적으로 기초한 PAC 코드들의 리스트 디코딩을 가능하게 한다. 순차 디코딩의 레이턴시가 가변적이고 노이즈 레벨 및 채널 실현에 의존하는 반면 리스트 디코딩 실행시간이 채널과는 독립적임을 인식하여, 개시된 실시예들에 따른 PAC 코드들의 리스트 디코딩(또한 PAC 리스트 디코딩이라고 함)은 순차 디코딩에 비해 장점들을 제공한다. 이들 장점들은 낮은 신호 대 노이즈 비(SNR) 체제들과 최악의 복잡도 및 레이턴시 체제들과 특히 관련이 있다.
최악의 복잡도 및 레이턴시 체제들은 임의적(arbitrary) 사이즈(n으로 표시됨)의 입력이 주어지면 알고리즘이 요구하는 자원들(예컨대, 하드웨어 사용량, 소비 전력, 또는 실행 시간)을 측정하고, 특정 알고리즘에 의해 요구되는 자원들에 대한 상한을 제공하는 경우들이다. 실행 시간의 예에서, 최악의 시간 복잡도는 사이즈 n의 임의의 입력이 주어지면 알고리즘에 의해 수행되는 최장 실행 시간을 나타내고, 그 알고리즘이 지정된 기간 안에 완료될 것을 보장한다.
섹션 제목들은 이해의 편의를 위해 본 문서에서 사용되고 각각의 섹션에서 개시된 기법들 및 실시예들의 적용가능성을 해당 섹션으로만 제한하지 않는다.
폴라리제이션
-조정
컨볼루션
(PAC) 코드들의 개요
폴라 코드들과 유사한 PAC 코드들의 블록 길이(n)는 또한 2의 거듭제곱이다. 다시 말하면, m≥1인 n= 2 m 이다. 도 1에 예시된 바와 같이, (n,k) PAC 코드에 대한 인코딩 프로세스는 다음 세 개의 단계들을 포함한다: 레이트 프로파일링(110), 컨볼루션 프리코딩 (120), 및 폴라 인코딩(130). 제1 단계에서, 데이터 벡터( d )의 k 개 데이터(정보) 비트들(또는 심볼들)은 인 인덱스 세트 에 의해 특정되는 k 개 위치들에서 길이 n의 데이터 캐리어 벡터( v ) 안에 삽입된다. v에서의 나머지 n-k 개 위치들은 0으로 동결된다. 이 단계는, 의 선택과 함께, 레이트 프로파일링(110)이라고 지칭된다.
일부 실시예들에서, 세트 는 용량 측면에서 최상의 비트 채널들을 포함하도록 선택되고, 폴라 레이트 프로파일링이라고 한다. 다른 실시예들에서, 세트 는 최고 해밍(Hamming) 가중값들을 갖는 비트 채널들을 포함하도록 선택되며, 이는 리드-뮬러(Reed-Muller)(RM) 레이트 프로파일링이라고 지칭된다. 또 다른 실시예들에서, 세트 는 다른 레이트 프로파일링 스킴들(예컨대, 폴라라이즈된 용량 레이트 프로파일, 컷오프 레이트 프로파일, 비폴라라이즈된(unpolarized) 용량 레이트 프로파일)을 지원하도록 선택될 수 있다.
제2 단계(120)에서, 레이트 프로파일링 단계로부터 생겨나는 데이터 벡터( v )는 (이는 일반성의 손실없이 가정됨)인 에 의해 생성된 레이트-1 컨볼루션 코드를 사용하여 인코딩되어, 길이 n의 다른 벡터 = 를 생성하며, 여기서,
여기서, i-j<0에 대해, 협약에 의해 =0이다. 다르게는, 이 단계는 벡터-행렬 곱셈 로서 볼 수 있으며, 여기서 T는 상삼각 테플리츠 행렬(upper-triangular Toeplitz matrix)이다.
디코딩 측에서, 그리고 도 1에 예시된 바와 같이, 기초를 이루는 컨볼루션 코드의 순차 디코딩(160)은 데이터 캐리어 벡터( v )를 디코딩(170)하기 위해 채용될 수 있다. 레이트 프로파일링에 의해 부과되는 동결 비트 제약조건들 하에서, 레이트-1 컨볼루션 코드는 불규칙한 트리 코드가 된다. 일 예에서, 파노 순차 디코더가 불규칙한 트리 코드들의 순차 디코딩을 위해 사용될 수 있다. 이 경우, 순차 디코더의 입력에서의 경로 메트릭들(150에서 계산됨)은 기초를 이루는 폴라 코드에 대한 연속 제거 디코더에 대한 반복되는 호출들을 통해 획득된다.
PAC 리스트 디코딩
개시된 기술의 실시예들은, PAC 코드들이 동적 동결 비트들이 있는 폴라 코드들임을 인식함으로써 PAC 코드들을 디코딩하기 위해, 복잡도 O( Lnlogn )를 갖는 리스트 디코딩 알고리즘을 사용하며, 여기서 L은 리스트 사이즈이다. 기존의 폴라 코딩에서, 모든 동결 비트를 0으로 설정하는 것이 일반적인 관행이다. 다시 말하면, 모든 에 대해 이며, 여기서 는 동결 인덱스들의 세트이다. 그러나, 이 선택은 임의적이고 일부 동결 비트들은 1로 고정될 수 있고 다른 동결 비트들은 0으로 고정될 수 있다. 중요한 것은 동결 비트들이 고정되고, 그러므로, 디코더에 대해 선험적으로 알려진다는 것이다.
그러나, 동결 비트들은 동적 동결 접근법이 적용되는 경우에도 디코더에 선험적으로 알려진 채로 남아 있을 수 있다. 다시 말하면, 동결 비트들을 0 및 1 중 어느 하나로 고정하는 대신, 동결 비트가 다음과 같이 설정될 수 있다:
PAC 코드들은 위에서 논의된 선형 조합을 표현하는데 사용되는 상삼각 테플리츠 행렬(T)의 부분행렬과 v 의 벡터-행렬 곱셉인 u 에서의 비트들에 기초하여 동적 동결 프레임워크에 맞추어진다는 것에 주의한다. 상삼각형인 테플리츠 행렬은 디코딩되고 있는 현재 비트가 현재 비트에 앞서 디코딩되었던 비트들 및 동결 비트들 ― 이것들의 모두는 현재 비트가 디코딩되고 있을 때 디코더에 선험적으로 알려져 있음 ― 에만 기초함을 보장한다. 따라서, PAC 코드들을 폴라 코드들로서 표현하는 것은 특정한 정보 비트들이 또한 동적인 것으로 간주되게 하는 결과를 초래한다.
여기서, 의 값은 폴라 디코더에 의해 제공된다. 가 주어지면, 에 대한 동적 동결 비트들()의 값들은 수학식 (1)을 사용하여 계산될 수 있다. 이 계산은, 위의 계산과 함께, 선형적인 시간이 걸린다. 요구되는 모든 것은 벡터 를 저장할 추가적인 메모리이다.
일부 실시예들에서, 동적 동결 비트가 하나 이상의 이전 동결 비트들의 함수일 수 있다. 다른 실시예들에서, 동적 동결 비트가 정보 비트 및 하나 이상의 이전에 디코딩된 비트들의 함수일 수 있다. 예를 들어, 동적 동결 비트가 정보 비트 b[i]와, 하나 이상의 이전에 디코딩된 정보 및/또는 동결 비트들에 의존하는 “정보 비트 b'[i]”로서 해석될 수 있다.
일부 실시예들에서, PAC 코드들의 리스트 디코딩은 예를 들어, 도 2 및 도 3에 예시된 알고리즘들을 사용하여 폴라 코드들의 연속 제거 리스트 디코딩을 활용함으로써 수행될 수 있다. 도 2의 라인들(2~4, 11 및 13~14) 및 도 3의 라인들(6~7, 9, 11~12, 14~15, 18-19 및 22~23)에서 예시된 바와 같이, PAC 코드들의 리스트 디코딩은 연속 제거 리스트 디코더의 L 개 경로들의 각각에 대해 L 개 시프트 레지스터 회로들을 포함하는 데이터 구조들을 사용하여 구현될 수 있다. 알고리즘의 더욱 효율적인 하드웨어 구현을 유리하게 보장하기 위해, 리스트 디코딩에서 사용되는 시프트 레지스터 회로들은 컨볼루션 프리코딩 동작에서 사용되는 동일한 시프트 레지스터 회로들이다. 일 예에서, L 개 시프트 레지스터 회로들의 각각은 (ν+1) 개 시프트 레지스터들을 포함하며, 여기서 ν는 수학식 (1)을 참조한다.
도 2 및 도 3에서 설명되는 알고리즘들은, 다른 특징들 및 이점들도 있지만 무엇보다도, 다음 기술적 해법들을 제공한다:
(1) 기존의 폴라 코드들에서, 리스트 디코더가 동결 인덱스 와 만날 때, 리스트 디코딩 트리에서의 모든 경로들은 을 설정함으로써 동일한 방식으로 확장된다. 그러나, PAC 코드들의 경우, 동결이 동적이므로, 상이한 경로들이, 경로를 따르는 이전의 결정들에 의존하여, 잠재적으로 상이하게 확장된다.
(2) PAC 코드들을 위한 리스트 디코더가 기존의 폴라 코드들을 위한 연속 제거 리스트 디코더와 동일한 데이터 구조를 유지하지만, L의 리스트 사이즈에 대해, L 개 시프트 레지스터 회로들(또는 보조 시프트 레지스터들)이, 각각의 경로마다 하나씩, 도입된다. 각각의 이러한 시프트 레지스터는 해당 경로에 대해 벡터 의 마지막 v 개 비트들을 저장한다.
도 4는 리스트 사이즈(L)를 갖는 리스트 디코더의 SNR(dB 단위)의 함수로서 프레임 오류 레이트(frame error rate)(FER)를 나타내는 리스트 디코딩 하의 PAC 코드들의 성능을, 레이트 1/2 및 길이 128의 이진 코드들에 대한 순차 디코더 및 BIAWGN(binary input additive white Gaussian noise) 분산 경계 근사(dispersion-bound approximation)와 비교하여 예시한다. 여기서 도시된 바와 같이, 리스트 디코딩의 성능은 리스트 사이즈가 증가함에 따라 꾸준히 개선된다. L =128에 대해, 리스트 디코딩 성능은 순차 디코딩의 성능에 매우 근접하는 반면, L=256에 대해, 두 곡선들은 SNR들의 전체 범위에 걸쳐 사실상 일치한다.
리스트 디코딩에 대한 FER은 두 개의 별개의 에러 메커니즘들로 인한 것이라는 것에 주의한다. 일부 경우들에서, 송신된 코드워드는 본 개시에서 설명되는 디코딩 알고리즘들에 의해 생성되는 L 개 코드워드들 중에는 없다. 다른 경우들에서, 생성된 코드워드들의 리스트 상에 있지만, 그 중에서 가장 가능성 높은 것은 아니다. 리스트 디코더가 리스트 상에서 가장 가능성 있는 코드워드를 자신의 최종 출력으로서 선택하기 때문에, 이는 디코딩 오류로 이어진다. 이들 사례들은 선택 오류들이라고 지칭된다. 따라서, 이 제한을 극복하기 위해, 개시된 기술의 실시예들은 리스트로부터의 선택을 돕기 위해 메커니즘(예컨대, 순환 중복 검사(CRC))의 사용을 채용하거나 또는 최소 거리가 증가된 기초를 이루는 코드들을 사용하도록 구성될 수 있다.
설명된 실시예들은 특히 낮은 SNR 체제들에서의 순차적인 디코딩과 비교할 때, PAC 코드들의 효율적인 리스트 디코딩을 위한 방법들 및 시스템들을 제공한다. 도 5는 폴라 인코더에 대한 모든 가능한 입력들을 표현하는 그리고 n+ 1 레벨들이 있고 개 경로들을 포함하는 불규칙한 트리인 폴라 탐색 트리의 일 예를 도시한다. 도 5에 도시된 폴라 탐색 트리의 맥락에서, 리스트 디코딩 알고리즘은 루트에서부터 리프들까지 트리에서의 L 개 경로들을 추종하고, 마지막에 가장 가능성있는 경로를 선택함으로써 트리에서 가장 가능성있는 경로를 식별하려고 시도하는 트리 탐색 알고리즘(제한된 폭 몬테 카를로 트리 탐색(limited breadth Monte Carlo tree search)과 유사함)이라고 간주될 수 있다. 반면에, 파노 순차 디코딩 알고리즘은 하나의 경로만을 추종하지만, 디코딩 프로세스 동안 많은 전후 이동들(back-and-forth movements)을 가진다 (깊이 우선 탐색과 유사함).
도 5의 폴라 탐색 트리에 기초한 시뮬레이션 결과들은 순차 디코딩에 대한 최악의 복잡도와 평균 복잡도 사이의 엄청난 갭이 있음을 보여주는 한편, 리스트 디코딩에 대해, 최악의 복잡도는 평균 복잡도와 동일하고, 두 복잡도들은 SNR에 의해 영향을 받지 않는다. 더욱이, 리스트 디코더의 복잡도는 리스트 사이즈(L)와 코드 차원(k)에만 의존한다.
개시된 기술의 실시예들은 순차 디코더의 최악의 디코딩 및 레이턴시 제약조건들을 고려하면서, 예컨대, 리스트 사이즈에만 기초하여 리스트 디코딩 복잡도 제약조건들 및 레이턴시 제약조건들을 유지하는 PAC 리스트 디코더를 설명한다. 예를 들어, 저-SNR 체제에서의 증가된 노이즈 레벨에 대해, 순차 디코더는 디코딩하는데 반드시 더 긴 시간이 걸리는 반면, PAC 리스트 디코더는 SNR들의 전체 범위에 걸쳐 동일한 레이턴시 및 복잡도를 요구한다.
일부 실시예들에서, 리스트 디코딩 알고리즘의 복잡도는 디코딩 오류 확률에 기초하여 최적의 (또는 거의 최적의) 리스트 사이즈(L)를 결정하기 위해 지니 지원(genie-aided) 적응적 리스트 디코딩 알고리즘을 사용하여 추가로 감소될 수 있다. 리스트 디코더의 다수의 실행들에 걸쳐, 다음 동작들이 수행된다:
(1) 각각의 실행에 대해, L=1인 리스트 디코더를 사용하여 수신된 코드워드를 디코딩하며;
(3) 송신된 코드워드가 (리스트에 가장 가능성 있는 코드워드가 있는지의 여부에 상관없이) 리스트에 놓이기까지, 또는 리스트 사이즈가 미리 결정된 최대 리스트 사이즈(L max )에 도달하기까지, 단계 (2)를 반복한다.
시가변
컨볼루션
프리코딩이
있는 PAC 코드들
일부 실시예들에서, 레이트-1 컨볼루션 프리코더의 생성자 는 시가변적이 될 수 있으며, 이는 유리하게 이전에 설명된 성능이 v=2만큼 낮은 제약조건 길이로 성취되는 것을 가능하게 한다. 이는 PAC 코드들을 디코딩하는데 사용될 트렐리스(trellis) 기반 디코딩 방법들(예컨대, 리스트-비터비 디코딩)의 사용을 허용한다.
일부 실시예들에서, 랜덤 시가변 컨볼루션 프리코딩은 통합될 수 있으며, 여기서 프리코딩 계수들 독립적이고, 동일하게 분산된(i.i.d.) 베르누이(1/2) 확률 변수들이다. 다시 말하면, 프리코딩 계수들의 각각은 서로 독럽적으로 1/2의 확률로 0 또는 1로 설정된다. 디코더 측에서, 알고리즘 1 및 알고리즘 2(각각 도 2 및 도 3에서 도시됨)는 알고리즘 1의 라인 14와 알고리즘 2의 라인들(9, 15, 18, 22)에서 를 로 대체함으로써 수정될 수 있다. 이러한 수정된 리스트 디코딩 알고리즘의 복잡도는 전술한 바와 정확히 동일하며; 단지 차이는 디코더가 이제는 n 개 생성자들()을 저장할 필요가 있다는 것이다. 그러나, 이 저장 요건은 n에서 여전히 선형적이다.
개시된 기술의 방법들 및
실시예들
도 6은 PAC 코드들의 리스트 디코딩을 위한 예시적인 방법의 흐름도이다. 방법(600)은, 동작 610에서, 노이즈있는 코드워드를 수신하는 것과 ― 그 코드워드는 폴라리제이션-조정 컨볼루션(PAC) 코드를 사용하여 생성되었고 디코더에 의한 수신 전에 통신 채널에 제공되었음 ―, 하나 이상의 동적 동결 비트들을 생성하는 컨볼루션 프리코딩 동작을 포함하는 PAC 코드의 인코딩 동작을 포함한다.
방법(600)은, 동작 620에서, 하나 이상의 동적 동결 비트들에 기초하여, PAC 리스트 디코딩에서의 복수의 경로들 중 적어도 두 개의 경로들을 상이하게 그리고 독립적으로 확장하는 것을 포함하는, 노이즈있는 코드워드에 대한 PAC 리스트 디코딩을 수행하는 것을 포함한다.
일부 실시예들에서, 컨볼루션 프리코딩 동작은 복수의 보조 시프트 레지스터들을 사용하여 구현된다.
일부 실시예들에서, 보조 시프트 레지스터들의 각각은 PAC 리스트 디코딩에서 복수의 경로들 중 대응하는 경로를 위해 사용된다.
일부 실시예들에서, 하나 이상의 동적 동결 비트들의 각각은 하나 이상의 이전에 디코딩된 정보 비트들 또는 동결 비트들에 기초한다.
일부 실시예들에서, 하나 이상의 동적 동결 비트들 중 적어도 하나는 고신뢰도 비트 채널 또는 저신뢰도 비트 채널에 대응한다.
일부 실시예들에서, 방법(600)은 지니 지원 리스트 디코딩 알고리즘에 기초하여 PAC 리스트 디코딩을 위한 리스트의 리스트 사이즈(L)를 결정하는 동작을 더 포함한다.
일부 실시예들에서, 지니 지원 리스트 디코딩 알고리즘은 (a) L = 1인 PAC 리스트 디코더를 사용하여 노이즈있는 코드워드를 디코딩하는 단계, (b) 코드워드의 가장 가능성있는 버전이 실행의 말기에 리스트에 없다고 결정할 시, 리스트 사이즈를 2배로 하는 단계, 및 (c) 코드워드의 가장 가능성있는 버전이 리스트에 있거나 또는 리스트 사이즈가 미리 결정된 최대 리스트 사이즈에 도달하기까지 단계 (b)를 반복하는 단계를 포함한다.
일부 실시예들에서, 디코더는 통신 채널의 임의적 실현을 설명하는 최악의 디코딩 레이턴시 제약조건에 의해 특성화되고, 통신 채널의 실현은 노이즈있는 코드워드에 대응한다.
일부 실시예들에서, 디코더는 임의적 노이즈 레벨을 갖는 입력으로 PAC 리스트 디코딩의 계산 복잡도에 대한 상한을 제공하는 최악의 디코딩 복잡도 제약조건에 의해 특성화된다.
일부 실시예들에서, 통신 채널은 낮은 신호 대 노이즈 비 (SNR) 체제에서 동작하고 있다.
개시된 기술의 실시예들은 오류 정정을 개선하는 시스템을 포함하며, 그 시스템은, 복수의 정보 심볼들을 수신하며, 복수의 정보 심볼들에 프리코딩 동작을 수행함으로써 복수의 프리코딩된 심볼들을 생성하며 ― 복수의 프리코딩된 심볼들은 하나 이상의 동적 동결 심볼들을 포함함 ―, 복수의 프리코딩된 심볼들에 대해 폴라 인코딩 동작을 수행함으로써 복수의 폴라 인코딩된 심볼들을 포함하는 코드워드를 생성하고, 송신 또는 저장을 위해 코드워드를 제공하도록 구성되는 인코더와, 노이즈있는 코드워드를 수신하고 ― 노이즈있는 코드워드는 디코더에 의한 수신 전에 통신 채널에 코드워드를 제공함으로써 생성되었음 ―, 노이즈있는 코드워드에 대해 리스트 디코딩을 수행하도록 구성되는 디코더를 포함하며, 리스트 디코딩은 하나 이상의 동적 동결 심볼들에 기초하여, 리스트 디코딩에서의 복수의 경로들 중 적어도 두 개의 경로들을 상이하게 그리고 독립적으로 확장하는 것을 포함한다.
일부 실시예들에서, 리스트 디코딩은 프리코딩 동작을 설명하도록 구성되는 디코딩 트리를 사용한다.
일부 실시예들에서, 프리코딩 동작은 컨볼루션 변환, 이동 패리티 체크 비트 동작, 및 순환 중복 검사(CRC) 동작 중 하나 이상을 포함한다.
일부 실시예들에서, 프리코딩 동작은 복수의 보조 시프트 레지스터들을 사용하여 구현되는 컨볼루션 프리코딩 동작을 포함하고, 디코더는, 리스트 디코딩을 수행하는 것의 일부로서, 복수의 보조 시프트 레지스터들을 사용하여, 하나 이상의 동적 동결 심볼들을 생성하도록 추가로 구성된다.
일부 실시예들에서, 하나 이상의 동적 동결 심볼들의 각각은 하나 이상의 이전에 디코딩된 심볼들 또는 동결 심볼들에 기초한다.
일부 실시예들에서, 디코더는 통신 채널의 임의적 실현을 설명하는 최악의 디코딩 레이턴시 제약조건에 의해 특성화되고, 통신 채널의 실현은 노이즈있는 코드워드에 대응한다.
도 7은 현재 개시된 기술의 일부 실시예들에 따른, 장치의 일부의 블록도 표현이다. 장치(705), 이를테면 기지국 또는 무선 디바이스(또는 UE)가, 이 문서에서 제시되는 기법들(방법(200)을 비제한적으로 포함함) 중 하나 이상을 구현하는 마이크로프로세서와 같은 프로세서 전자기기(710)를 포함할 수 있다. 장치(705)는 안테나(들)(720)와 같은 하나 이상의 통신 인터페이스들을 통해 무선 신호들을 전송하며 그리고/또는 수신하는 트랜시버 전자기기(715)를 포함할 수 있다. 장치(705)는 데이터를 송신하고 수신하기 위한 다른 통신 인터페이스들을 포함할 수 있다. 장치(705)는 데이터 및/또는 명령어들과 같은 정보를 저장하도록 구성되는 하나 이상의 메모리들(명시적으로 도시되지 않음)을 포함할 수 있다. 일부 구현예들에서, 프로세서 전자기기(710)는 트랜시버 전자기기(715)의 적어도 부분을 포함할 수 있다. 일부 실시예들에서, 개시된 기법들, 모듈들 또는 기능들의 적어도 일부는 장치(705)를 사용하여 구현된다. 개시된 실시예들은, 오류들을 생성하기 쉬운 유선 통신들, 또는 정보의 통신 및/또는 저장 및 취출을 위한 다른 수단(예컨대, 하드 디스크들, 플래시 또는 다른 유형들의 메모리 디바이스들)을 이용하는 디바이스들에서 유사하게 구현될 수 있고, 이러한 디바이스들에 의해 수신되거나 또는 이러한 디바이스들로부터 송신되는 정보의 폴라 코딩에서 이점을 얻을 수 있다.
이 특허 문서에서 설명되는 발명의 주제의 구현예들과 기능적 동작들은 이 명세서에서 개시된 구조들 및 그것들의 구조적 동등물들, 또는 그것들 준 하나 이상의 조합들을 포함하는 다양한 시스템들, 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어로 구현될 수 있다. 이 명세서에서 설명되는 발명의 주제의 구현예들은 데이터 프로세싱 장치에 의한 실행을 위한, 또는 그러한 데이터 프로세싱 장치의 동작을 제어하기 위한 하나 이상의 컴퓨터 프로그램 제품들, 즉, 유형의 비일시적 컴퓨터 판독가능 매체 상에 인코딩되는 컴퓨터 프로그램 명령어들의 하나 이상의 모듈들로서 구현될 수 있다. 컴퓨터 판독가능 매체는 머신 판독가능 저장 디바이스, 머신 판독가능 저장 기판, 메모리 디바이스, 머신 판독가능 전파(propagated) 신호에 영향을 미치는 물질의 조성(composition of matter) 또는 그것들 중 하나 이상의 것들의 조합일 수 있다. "데이터 프로세싱 유닛" 또는 "데이터 프로세싱 장치"라는 용어는, 예로서, 프로그램가능 프로세서, 컴퓨터, 또는 다수의 프로세서들 또는 컴퓨터들을 포함하는, 데이터를 프로세싱하는 모든 장치, 디바이스들, 및 머신들을 포괄한다. 그 장치는, 하드웨어 외에도, 당해 컴퓨터 프로그램들을 위한 실행 환경을 만드는 코드, 예컨대, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 그것들 중 하나 이상의 것들의 합을 구성하는 코드를 또한 포함할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트, 또는 코드로서 또한 알려짐)이 컴파일식 또는 인터프리트식 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기재될 수 있고, 그것은 자립형 프로그램으로서 또는 컴퓨팅 환경에서의 사용에 적합한 모듈, 컴포넌트, 서브루틴, 또는 다른 유닛으로서 포함하는 임의의 형태로 전개될 수 있다. 컴퓨터 프로그램이 반드시 파일 시스템에서의 파일에 해당할 필요는 없다. 프로그램이 다른 프로그램들 또는 데이터를 보유하는 파일의 부분(예컨대, 마크업 언어 문서로 저장되는 하나 이상의 스크립트들)에, 해당 프로그램에 전용되는 단일 파일에, 또는 다수의 조정된 파일들(예컨대, 하나 이상의 모듈들, 서브프로그램들, 또는 코드의 부분들을 저장하는 파일들)에 저장될 수 있다. 컴퓨터 프로그램이 하나의 컴퓨터 상에서 또는 하나의 사이트에 위치되거나 또는 다수의 사이트들에 걸쳐 분산되고 통신 네트워크에 의해 상호연결되는 다수의 컴퓨터들 상에서 실행되도록 전개될 수 있다.
이 명세서에서 설명되는 프로세스들 및 로직 흐름들은 입력 데이터에 대해 동작하고 출력을 생성함으로써 기능들을 수행하도록 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그램가능 프로세서들에 의해 수행될 수 있다. 특수 목적 로직 회로, 예컨대, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)에 의해 프로세스들 및 로직 흐름들이 또한 수행될 수 있고, 그러한 특수 목적 로직 회로로서 장치가 또한 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서들은, 일반 및 특수 목적 마이크로프로세서들 양쪽 모두와, 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 예로서 포함한다. 일반적으로, 프로세서가 판독전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수적인 엘리먼트들은 명령어들을 수행하기 위한 프로세서와 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터가 또한 데이터를 저장하기 위한 하나 이상의 대용량 스토리지 디바이스들, 예컨대, 자기, 광자기 디스크들, 또는 광학적 디스크들을 포함하거나, 또는 그러한 디바이스들에 대해 데이터를 수신하거나 또는 데이터를 전송하거나 또는 둘 다를 하도록 동작적으로 커플링될 것이다. 그러나, 컴퓨터가 이러한 디바이스들을 가질 필요는 없다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체는, 반도체 메모리 디바이스들, 예컨대, EPROM, EEPROM, 및 플래시 메모리 디바이스들을 예로서 포함하는 모든 형태들의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서와 메모리는 특수 목적 로직 회로에 의해 보완되거나 또는 특수 목적 로직 회로에 통합될 수 있다.
이 특허 문서가 많은 특정 사항들을 포함하지만, 이것들은 임의의 본 발명 또는 청구될 수 있는 것의 범위에 대한 제한으로서 해석되지 않아야 하며, 오히려 특정 본 발명들의 특정 실시예들에 대해 특정될 수 있는 특징들의 설명들로서 해석되어야 한다. 별개의 실시예들의 맥락에서 이 특허 문서에서 설명되는 특정한 특징들은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예의 맥락에서 설명되는 다양한 특징들은 다수의 실시예들에서 따로따로 또는 임의의 적합한 부조합(subcombination)으로 또한 구현될 수 있다. 더구나, 비록 특징들이 특정한 조합들로 작용하는 것으로 위에서 설명될 수 있고 그와 같이 처음에 청구된 경우에도, 청구된 조합들로부터의 하나 이상의 특징들은 일부 경우들에서 조합으로부터 삭제될 수 있고, 청구된 조합은 부조합 또는 부조합의 변형예를 위한 것일 수 있다.
마찬가지로, 동작들이 도면들에서 특정 순서로 묘사되었지만, 이는, 소망의 결과들을 획득하기 위해, 그런 동작들이 도시된 특정 순서로 또는 순차적 순서로 수행되는 것, 또는 모든 예시된 동작들이 수행될 것을 요구하는 것으로서 이해하지 않아야 한다. 더구나, 이 특허 문서에서 설명되는 실시예들의 다양한 시스템 컴포넌트들의 분리는 모든 실시예들에서 이러한 분리를 요구하는 것으로 해석되지 않아야 한다.
몇몇 구현예들 및 예들만이 설명되고, 다른 구현예들, 향상들 및 변형들은 이 특허 문서에서 설명되고 예시되는 것에 기초하여 이루어질 수 있다.
Claims (20)
- 통신 채널에서의 데이터에 대해 디코더에서 오류 정정을 개선하는 방법으로서,
노이즈있는 코드워드를 수신하는 단계 ― 상기 코드워드는 폴라리제이션-조정 컨볼루션(PAC) 코드를 사용하여 생성되었고 상기 디코더에 의한 수신 전에 상기 통신 채널에 제공되었음 ― ; 및
상기 노이즈있는 코드워드에 대해 PAC 리스트 디코딩을 수행하는 단계
를 포함하며,
상기 PAC 코드의 인코딩 동작이 하나 이상의 동적 동결 비트들을 생성하는 컨볼루션 프리코딩 동작을 포함하고,
상기 PAC 리스트 디코딩은,
상기 하나 이상의 동적 동결 비트들에 기초하여, 상기 PAC 리스트 디코딩에서의 복수의 경로들 중 적어도 두 개의 경로들을 상이하게 그리고 독립적으로 확장하는 단계
를 포함하는, 방법. - 제1항에 있어서, 상기 컨볼루션 프리코딩 동작은 복수의 보조 시프트 레지스터들을 사용하여 구현되는, 방법.
- 제2항에 있어서, 상기 보조 시프트 레지스터들의 각각은 상기 PAC 리스트 디코딩에서 상기 복수의 경로들 중 대응하는 경로를 위해 사용되는, 방법.
- 제1항에 있어서, 상기 하나 이상의 동적 동결 비트들의 각각은 하나 이상의 이전에 디코딩된 정보 비트들 또는 동결 비트들에 기초하는, 방법.
- 제4항에 있어서, 상기 하나 이상의 동적 동결 비트들 중 적어도 하나는 고신뢰도 비트 채널 또는 저신뢰도 비트 채널에 대응하는, 방법.
- 제1항 내지 제5항 중 어느 한 항에 있어서,
지니 지원 리스트 디코딩 알고리즘에 기초하여 상기 PAC 리스트 디코딩을 위한 리스트의 리스트 사이즈(L)를 결정하는 단계를 더 포함하는, 방법. - 제6항에 있어서, 상기 지니 지원 리스트 디코딩 알고리즘은,
(a) L = 1인 PAC 리스트 디코더를 사용하여 상기 노이즈있는 코드워드를 디코딩하는 단계;
(b) 상기 코드워드의 가장 가능성있는 버전이 실행의 말기에 상기 리스트에 없다고 결정할 시, 상기 리스트 사이즈를 2배로 하는 단계; 및
(c) 상기 코드워드의 가장 가능성있는 버전이 상기 리스트에 있거나 또는 상기 리스트 사이즈가 미리 결정된 최대 리스트 사이즈(Lmax)에 도달하기까지 단계 (b)를 반복하는 단계를 포함하는, 방법. - 제1항에 있어서, 상기 디코더는 상기 통신 채널의 임의적 실현을 설명하는 최악의 디코딩 레이턴시 제약조건에 의해 특성화되고, 상기 통신 채널의 실현은 상기 노이즈있는 코드워드에 대응하는, 방법.
- 제1항에 있어서, 상기 디코더는 임의적 노이즈 레벨을 갖는 입력으로 상기 PAC 리스트 디코딩의 계산 복잡도에 대한 상한을 제공하는 최악의 디코딩 복잡도 제약조건에 의해 특성화되는, 방법.
- 제1항에 있어서, 상기 통신 채널은 낮은 신호 대 노이즈 비(SNR) 체제에서 동작하는, 방법.
- 오류 정정을 개선하는 시스템으로서,
인코더; 및
디코더
를 포함하며
상기 인코더는,
복수의 정보 심볼들을 수신하고,
상기 복수의 정보 심볼들에 프리코딩 동작을 수행함으로써 복수의 프리코딩된 심볼들을 생성하고 ― 상기 복수의 프리코딩된 심볼들은 하나 이상의 동적 동결 심볼들을 포함함 ―,
상기 복수의 프리코딩된 심볼들에 대해 폴라 인코딩 동작을 수행함으로써 복수의 폴라 인코딩된 심볼들을 포함하는 코드워드를 생성하고,
송신 또는 저장을 위해 코드워드를 제공하도록
구성되고,
상기 디코더는,
노이즈있는 코드워드를 수신하고 ― 상기 노이즈있는 코드워드는 상기 디코더에 의한 수신 전에 통신 채널에 상기 코드워드를 제공함으로써 생성되었음 ―,
상기 노이즈있는 코드워드에 대해 리스트 디코딩을 수행하도록
구성되며,
상기 리스트 디코딩은,
상기 하나 이상의 동적 동결 심볼들에 기초하여, 리스트 디코딩에서의 복수의 경로들 중 적어도 두 개의 경로들을 상이하게 그리고 독립적으로 확장하는 것
을 포함하는,
시스템. - 제11항에 있어서, 상기 리스트 디코딩은 상기 프리코딩 동작을 설명하도록 구성되는 디코딩 트리를 사용하는, 시스템.
- 제12항에 있어서, 상기 프리코딩 동작은 컨볼루션 변환, 이동 패리티 체크 비트 동작, 및 순환 중복 검사(CRC) 동작 중 하나 이상을 포함하는, 시스템.
- 제11항에 있어서, 상기 프리코딩 동작은 복수의 보조 시프트 레지스터들을 사용하여 구현되는 컨볼루션 프리코딩 동작을 포함하고, 상기 디코더는, 상기 리스트 디코딩을 수행하는 것의 일부로서,
상기 복수의 보조 시프트 레지스터들을 사용하여, 상기 하나 이상의 동적 동결 심볼들을 생성하도록 추가로 구성되는, 시스템. - 제11항 내지 제14항 중 어느 한 항에 있어서, 상기 하나 이상의 동적 동결 심볼들의 각각은 하나 이상의 이전에 디코딩된 심볼들 또는 동결 심볼들에 기초하는, 시스템.
- 제11항에 있어서, 상기 디코더는 상기 통신 채널의 임의적 실현을 설명하는 최악의 디코딩 레이턴시 제약조건에 의해 특성화되고, 상기 통신 채널의 실현은 상기 노이즈있는 코드워드에 대응하는, 시스템.
- 디코더의 오류 정정 능력을 개선하기 위한 명령어들을 저장한 비일시적 컴퓨터 판독가능 저장 매체로서,
노이즈있는 코드워드를 수신하기 위한 명령어들 ― 상기 코드워드는 폴라리제이션-조정 컨볼루션(PAC) 코드를 사용하여 생성되었고 상기 디코더에 의한 수신 전에 상기 통신 채널에 제공되었음 ― ; 및
상기 노이즈있는 코드워드에 대해 PAC 리스트 디코딩을 수행하기 위한 명령어들
을 포함하며,
상기 PAC 코드의 인코딩 동작이 하나 이상의 동적 동결 비트들을 생성하는 컨볼루션 프리코딩 동작을 포함하고,
상기 PAC 리스트 디코딩을 수행하기 위한 명령어들은,
상기 하나 이상의 동적 동결 비트들에 기초하여, 상기 PAC 리스트 디코딩에서의 복수의 경로들 중 적어도 두 개의 경로들을 상이하게 그리고 독립적으로 확장하기 위한 명령어들을 포함하는,
비일시적 컴퓨터 판독가능 저장 매체. - 제17항에 있어서,
지니 지원 리스트 디코딩 알고리즘에 기초하여 상기 PAC 리스트 디코딩을 위한 리스트의 리스트 사이즈(L)를 결정하기 위한 명령어들을 더 포함하는, 저장 매체. - 제18항에 있어서, 상기 지니 지원 리스트 디코딩 알고리즘은,
(a) L = 1인 리스트 디코더를 사용하여 상기 노이즈있는 코드워드를 디코딩하는 것;
(b) 상기 코드워드의 가장 가능성있는 버전이 실행의 말기에 상기 리스트에 없다고 결정할 시, 상기 리스트 사이즈를 2배로 하는 것; 및
(c) 상기 코드워드의 가장 가능성있는 버전이 상기 리스트에 있거나 또는 상기 리스트 사이즈가 미리 결정된 최대 리스트 사이즈(Lmax)에 도달하기까지 단계 (b)를 반복하는 것을 포함하는, 저장 매체. - 제17항에 있어서, 상기 통신 채널은 낮은 신호 대 노이즈 비(SNR) 체제에서 동작하는, 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062990376P | 2020-03-16 | 2020-03-16 | |
US62/990,376 | 2020-03-16 | ||
PCT/US2021/022526 WO2021188513A1 (en) | 2020-03-16 | 2021-03-16 | List decoding of polarization-adjusted convolutional codes |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230003466A true KR20230003466A (ko) | 2023-01-06 |
Family
ID=77771272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227035811A KR20230003466A (ko) | 2020-03-16 | 2021-03-16 | 폴라리제이션-조정 컨볼루션 코드들의 리스트 디코딩 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11990921B2 (ko) |
EP (1) | EP4122102A4 (ko) |
JP (1) | JP2023519190A (ko) |
KR (1) | KR20230003466A (ko) |
CN (1) | CN115398809A (ko) |
WO (1) | WO2021188513A1 (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115882874A (zh) * | 2021-09-28 | 2023-03-31 | 三星电子株式会社 | 构造类极化码的设备和方法 |
CN114499751B (zh) * | 2021-12-10 | 2023-06-30 | 北京邮电大学 | 基于极化aloha的列表增强译码方法和装置 |
WO2024049262A1 (ko) * | 2022-09-01 | 2024-03-07 | 엘지전자 주식회사 | 정보 블록을 전송하는 방법, 통신 기기, 프로세싱 장치, 및 저장 매체, 그리고 정보 블록을 수신하는 방법, 통신 기기, 프로세싱 장치, 및 저장 매체 |
WO2024092515A1 (en) * | 2022-11-01 | 2024-05-10 | Zte Corporation | Methods and apparatus for information and data transmission |
WO2024111686A1 (ko) * | 2022-11-21 | 2024-05-30 | 삼성전자 주식회사 | 무선 통신 시스템에서 pac 코드 기반의 하이브리드 디코딩을 수행하는 방법 및 장치 |
KR20240074523A (ko) | 2022-11-21 | 2024-05-28 | 삼성전자주식회사 | 무선 통신 시스템에서 pac 코드 기반의 하이브리드 디코딩을 수행하는 방법 및 장치 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7877670B2 (en) | 2005-12-06 | 2011-01-25 | Ternarylogic Llc | Error correcting decoding for convolutional and recursive systematic convolutional encoded sequences |
US9503126B2 (en) | 2012-07-11 | 2016-11-22 | The Regents Of The University Of California | ECC polar coding and list decoding methods and codecs |
US9362956B2 (en) * | 2013-01-23 | 2016-06-07 | Samsung Electronics Co., Ltd. | Method and system for encoding and decoding data using concatenated polar codes |
KR102128471B1 (ko) | 2014-03-11 | 2020-06-30 | 삼성전자주식회사 | 폴라 부호의 리스트 복호 방법 및 이를 적용한 메모리 시스템 |
US10911071B2 (en) | 2016-04-08 | 2021-02-02 | Intel Corporation | Apparatus, method and system to support codes with variable codeword lengths and information lengths |
CN110612738A (zh) * | 2017-03-03 | 2019-12-24 | 索克普拉科学与工程公司 | 广义极化码 |
EP3613162A4 (en) | 2017-04-20 | 2021-01-06 | QUALCOMM Incorporated | DYNAMIC FIXED BITS AND ERROR DETECTION FOR POLAR CODES |
US11121728B2 (en) * | 2018-12-04 | 2021-09-14 | The Regents Of The University Of California | Pre-coding and decoding polar codes using local feedback |
US11405055B2 (en) * | 2019-06-26 | 2022-08-02 | Polaran Haberlesme Teknolojileri Anonim Sirketi | Methods and apparatus for error correction coding with triangular factorization of generator matrix |
-
2021
- 2021-03-16 CN CN202180022012.2A patent/CN115398809A/zh active Pending
- 2021-03-16 US US17/906,447 patent/US11990921B2/en active Active
- 2021-03-16 KR KR1020227035811A patent/KR20230003466A/ko active Search and Examination
- 2021-03-16 JP JP2022556002A patent/JP2023519190A/ja active Pending
- 2021-03-16 EP EP21771886.5A patent/EP4122102A4/en not_active Withdrawn
- 2021-03-16 WO PCT/US2021/022526 patent/WO2021188513A1/en unknown
-
2024
- 2024-05-17 US US18/668,028 patent/US20240305313A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN115398809A (zh) | 2022-11-25 |
EP4122102A1 (en) | 2023-01-25 |
US11990921B2 (en) | 2024-05-21 |
US20230179229A1 (en) | 2023-06-08 |
EP4122102A4 (en) | 2023-04-26 |
JP2023519190A (ja) | 2023-05-10 |
WO2021188513A1 (en) | 2021-09-23 |
US20240305313A1 (en) | 2024-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20230003466A (ko) | 폴라리제이션-조정 컨볼루션 코드들의 리스트 디코딩 | |
CN110226289B (zh) | 接收器和用于解码的方法 | |
US7716565B2 (en) | Method and system for decoding video, voice, and speech data using redundancy | |
US11121728B2 (en) | Pre-coding and decoding polar codes using local feedback | |
US7706481B2 (en) | Method and system for improving reception in wired and wireless receivers through redundancy and iterative processing | |
CN111082812B (zh) | 使用路径度量解码输入数据的设备及使用其的解码方法 | |
US11398842B2 (en) | Convolutional precoding and decoding of polar codes | |
Zhao et al. | Fast list decoding of PAC codes with sequence repetition nodes | |
CN105356893A (zh) | 一种尾码可配置的Viterbi解码方法及解码器 | |
US11515895B2 (en) | Block code encoding and decoding methods, and apparatus therefor | |
Niu | Advanced Channel Coding for 6G | |
US8099657B2 (en) | Error correcting Viterbi decoder | |
Timokhin et al. | Sequential Polar Decoding with Cost Metric Threshold | |
US9154238B2 (en) | Methods and apparatus for reducing interference effect on data transmitted over a communication channel | |
Suhaimi et al. | THE EFFECT OF DIFFERENT DECODING TECHNIQUES WITH GAUSSIAN APPROXIMATION ON THE PERFORMANCE OF POLAR CODES | |
Charandabi | On Polarization Adjusted Convolutional Codes over Fading and Additive White Gaussian Noise Channels | |
US20110202819A1 (en) | Configurable Error Correction Encoding and Decoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |