KR20230079159A - 외부 블록 코드 및 내부 편극 조정 컨볼루션 코드가 있는 직렬 연접 코드 - Google Patents

외부 블록 코드 및 내부 편극 조정 컨볼루션 코드가 있는 직렬 연접 코드 Download PDF

Info

Publication number
KR20230079159A
KR20230079159A KR1020237014496A KR20237014496A KR20230079159A KR 20230079159 A KR20230079159 A KR 20230079159A KR 1020237014496 A KR1020237014496 A KR 1020237014496A KR 20237014496 A KR20237014496 A KR 20237014496A KR 20230079159 A KR20230079159 A KR 20230079159A
Authority
KR
South Korea
Prior art keywords
decoder
code
concatenated
encoder
array
Prior art date
Application number
KR1020237014496A
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 KR20230079159A publication Critical patent/KR20230079159A/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/0064Concatenated 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/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/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
    • 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
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error 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
    • 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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/251Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with block coding
    • 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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/253Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with concatenated codes
    • 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/29Coding, 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/2933Coding, 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
    • H03M13/2936Coding, 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 comprising an outer Reed-Solomon code and an inner convolutional code
    • 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/29Coding, 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/2939Coding, 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
    • 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/3776Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using a re-encoding step during the decoding process
    • 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/0059Convolutional codes

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)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

인코더(102)는 연접 인코더 입력 블록 d를 수신하고, d를 외부 코드 입력 어레이 a로 분할하고, 외부 코드를 사용하여 a를 인코딩하여 외부 코드 출력 어레이 b를 생성한다. 인코더는 LPAC(Layered Polarization Adjusted Convolutional) 코드를 사용하여, b로부터 연접 코드 출력 어레이 x를 생성한다. 디코더(106)는 계층을 카운트하고 LPAC(Layered Polarization Adjusted Convolutional) 코드에 대한 내부 디코딩 동작을 수행하여 연접 디코더 입력 어레이 y 및 누적 판정 피드백(공식 (Ⅳ)로부터) 내부 디코더 판정 공식 (Ⅰ)을 생성한다. 디코더는 외부 디코더 동작을 수행하여 공식 (Ⅰ)로부터 외부 디코더 판정
Figure pct00699
을 생성하고 재인코딩 동작을 수행하여
Figure pct00700
로부터 판정 피드백 공식 (Ⅱ)를 생성하는데, 여기서 계층 수는 1보다 큰 정수이고, 연접 디코더 출력 블록 공식 (III)은 외부 디코더 판정으로부터 생성된다.

Description

외부 블록 코드 및 내부 편극 조정 컨볼루션 코드가 있는 직렬 연접 코드
본 개시는 일반적으로 연접 편극 조정 컨볼루션(concatenated polarization adjusted convolutional code) 코드를 사용하여 데이터를 인코딩 및 디코딩하기 위한 방법 및 장치에 관한 것이다.
현대의 디지털 데이터 전송(무선 전화, 무선 데이터 전송, 플레이어에 광 디스크 전송, 음악 데이터를 수신하는 음악 플레이어 등)에서, 채널 인코더는 데이터 블록을 수신하고, (변환을 통해 데이터 블록을 통과시킴으로써) 해당 데이터 블록에 리던던시(redundancy)를 추가하여 원래 데이터 블록보다 전송 채널의 노이즈로부터 더 잘 보호되는 코딩된 블록을 생성한다. 코딩된 블록은 전송 채널을 통해 전송되고 전송 채널은 그것의 출력에서 수신 블록을 생성하는데, 수신 블록은 채널 노이즈 및/또는 왜곡에 의해 손상된 상기 코딩된 블록의 버전이다. 채널 디코더는 수신 블록을 처리하여 디코딩된 데이터 블록을 생성하고 그 디코딩된 데이터 블록을 예를 들어 디코딩된 데이터를 오디오로 재생하는 음악 플레이어 또는 디코딩된 데이터를 파일로 저장하는 저장 디바이스와 같은 목적지로 전달한다.
디코딩된 데이터 블록이 데이터 블록의 동일한 사본이 아니면 전송 중에 프레임 오류가 발생한다고 한다. 일반적으로 허용되는 채널 코딩에 대한 설계 목표는 프레임 오류 레이트(FER)를 허용 가능한 레벨로 줄이는 것이다. 너무 많은 연산에 비용을 들여 FER을 줄이는 채널 코드는 거의 실용적이지 않다. FER과 구현의 복잡성 사이에서 수용 가능한 트레이드오프를 달성할 수 있는 (선형 블록 코드와 같은) 많은 클래스의 채널 코드가 존재한다. 선형 블록 코드의 하위 클래스는 [ARI2019a]의 미국 특허 출원에 도입된 삼각 분해(TF) 코드의 하위 클래스이며, 참조로서 본 명세서에 편입되고 이 출원의 파일 히스토리에 포함된다. 본 원리는 컨볼루션 코딩을 채널 편극(channel polarization)[ARI2009]과 결합시킨 편극 조정 컨볼루션(PAC: polarization adjusted convolutional) 코드[ARI2019a], [ARI2019b]라고 불리는 TF 코드의 특수한 경우와 주로 관련된다. PAC 코드는 순차 디코딩(sequential decoding)이라고 불리는 저복잡성 깊이-우선 탐색(low-complexity depth-first search) 방법을 사용하여 디코딩될 수 있다. [ARI2019a], [ARI2019b] 에서, 순차 디코딩이 PAC 코드에 적용되었다. [ARI2019a], [ARI2019b]에서 제공된 시뮬레이션 연구는 블록 길이 128의 소정 PAC 코드가 순차 디코딩에서 거의 최적에 가까운 FER 성능을 달성할 수 있음을 보여주었다.
본 원리의 목적은 현재 PAC 코드의 실질적인 유용성을 제한하는 소정 문제에 대한 해결책을 제공하는 것이다. 첫째, PAC 코드의 순차 디코딩에서 연산 복잡성의 가변성으로 인한 악영향을 감소시킬 필요가 있다. 순차 디코딩의 복잡성은 PAC 코드에 순차 디코딩을 적용하는데 주요 장애물이 되는, 채널 내 노이즈의 심각도(severity)에 매우 민감하다.
둘째, 광섬유 데이터 전송 또는 하드 디스크 데이터 저장과 같은 소정 애플리케이션에서 요구되는 극히 낮은 FER 값(예: 10-15)을 달성할 수 있는 더 긴 코드를 구축하기 위해 짧은 PAC 코드의 최적에 가까운 성능을 활용할 필요가 있다.
셋째, PAC 코드는 순차적으로 디코딩되도록 설계된다. 디코딩 판정(decision)은 채널 편극의 이점을 이용하기 위해 고정된 순서대로 이루어져야 한다. 반면에, 디코딩의 순차적 특성은 처리량 병목 현상을 일으키는데, 이는 소스와 목적지 간에 통신될 수 있는 비트 수를 심각하게 제한한다. 파이프라이닝 및 언롤링 기술이 PAC 디코더의 하드웨어 구현에서 처리량을 개선하기 위해 사용될 수 있지만, 이러한 기술은 파이프라인 단계 사이에 추가 메모리를 필요로 하므로, 칩 면적과 비용을 증가시킨다. 처리량을 증가시키기 위해 클록 속도를 높이는 것은, 높아진 클록 속도가 VLSI 회로에서 전력 밀도 문제를 야기하기 때문에 처리량 문제를 해결하지 못한다. 데이터 처리 시스템의 처리량을 확장하기 위한 유일한 실행가능 옵션은 멀티-코어 프로세서를 사용하는 것이다; 이 점에 대한 상세한 내용은 [ZAB2013]을 참조. PAC 코드의 여러 복사본을 병렬로 독립적으로 인코딩 및 디코딩할 수 있도록 하기 위해서 멀티 코어 구현을 위해 맞춤 설계된 코딩 아키텍처가 필요하다.
본 원리는 내부 코드로서 PAC 코드를 사용하는 연접 코딩 스킴(concatenated coding scheme)을 도입함으로써 상술한 문제를 해결한다. 배경으로서, 순차 디코딩 및 연접 코딩에 대한 몇 가지 결과를 제시한다.
순차 디코딩은 본래 컨볼루션 코드를 위해 개발된 디코딩 방법이다[FAN1963]. 순차 디코딩에서 연산 문제는 기존의 컨볼루션 코드의 맥락에서 잘 연구된 문제이다. [JAC1967]에서, 순차 디코딩에서의 연산이 헤비 테일을 갖는 확률 분포인 Pareto 분포를 갖는 랜덤 변수임을 보여준다. 또한 [JAC1967]에서 순차 디코딩에서의 연산 복잡성의 평균이 (연산) 컷오프 레이트라고 불리는 소정 임계값 레이트를 초과하는 데이터 전송 레이트에서 무한(un경계)이 된다는 것을 보여준다. 불행하게도, 순차 디코딩의 컷오프 레이트는 채널 용량보다 훨씬 작을 수 있다.
다양한 연접 스킴에서 병렬로 다중 순차 디코더를 사용함으로써 컷오프 레이트 난관을 우회하는 여러 방법이 종래 기술에 있다. 이러한 방법 중 하나는 [FAL1969]에 제시된 연접 코딩 스킴으로, 내부 코드로서 (기존의) 컨볼루션 코드를 사용하고 외부 코드로서 리드-솔로몬(Reed-Solomon) 코드를 사용한다. 외부 리드-솔로몬 코드는 내부 컨볼루션 코드에 대한 입력 전체에 대수적 제약을 둔다. 수신기 측에서, 내부 컨볼루션 코드 각각은 별개의 순차 디코더에 의해 디코딩된다. 외부 리드-솔로몬 코드는 내부 순차 디코더에 의해 남겨진 오류 및 소거(erasure)를 수정하는 작업이 행해진다. [FAL1969]는 이러한 유형의 연접 코딩이 디코딩된 비트당 유한 평균 복잡성에서 채널 용량을 달성할 수 있음을 보여주었지만, [FAL1969]에 개시된 방법은 여전히 당시의 기술에 대해 실용적이라고 할 수 없었다.
이제 연접 코딩에 대한 검토로 넘어간다. 연접 코딩은 [ELI1954]의 곱셈 코딩(product coding) 아이디어로 거슬러 올라가지만, 연접 코딩에 대한 획기적인 연구는 [FOR1965]이고, 여기서는 연접 코딩이 짧은 코드로부터 긴 코드를 구축하는 방법으로 도입되었다. 이후 연구는 [FOR1965]의 기본 아이디어를 상당히 일반화하여 "일반화된 연접 코딩"(GCC) 및 "다단계 코딩"(MLC)"(예를 들어 [ZYA1999]를 참조)를 도입했다. GCC/MLC 스킴에는, 계층화된 내부 코드와 레이트가 동일할 필요가 없는 다중(multiple) 외부 코드가 있다. GCC/MLC 스킴에서 내부 및 외부 코드의 유형과 파라미터를 적절하게 선택하면, FER 성능과 복잡성 간의 풍부한 트레이드오프 세트를 얻을 수 있다. [FAL1969]에 개시된 방법은 일반화된 연접 방법의 제한된 형식으로 간주될 수 있는데, 모든 외부 코드가 동일한 레이트로 동작한다는 점에서 제한된다. 폴라 코딩(polar coding)의 맥락에서, GCC/MLC 스킴은 [ARI2009] 및 [MAH2016]에서 연구되어 있다.
본 개시는 PAC 코드와 관련하여 GCC/MLC 코딩 기술을 도입한다. PAC 내부 코드로 GCC/MLC 스킴을 구성하는 것은 PAC 코드에 계층 구조를 도입하는 것, 계층 수와 각 계층의 페이로드 용량의 최적화, 내부 PAC 코드의 개별 계층의 디코딩에서 오류를 탐지하기 위한 효율적인 방법을 도입하는 것과 같은 많은 새로운 문제를 수반한다. 내부 및 외부 코드의 구현 복잡성과 오류 수정 능력의 균형을 맞추는 보다 일반적인 GCC/MLC 설계 문제도 존재한다. 본 개시는 PAC 내부 코드를 갖는 GCC/MLC 스킴에 대한 이러한 설계 문제를 해결하기 위한 방법을 도입한다.
본 원리를 [FAL1969]에 개시된 연접 스킴과 비교하면, 몇 가지 중요한 차이점이 두드러진다. 첫째, [FAL1969]의 연접 스킴은 내부 코드로 (기존) 컨볼루션 코드를 사용하는 반면, 본 개시의 내부 코드는 PAC 코드를 기반으로 한다. 컨볼루션 코드는 (종종 격자로 표현되는) 균일한 트리 구조를 갖는 반면, PAC 코드는 비균일 트리 구조를 가지며, 여기서 트리 구조는 폴라 변환에 의해 생성된 채널 편극 효과와 매치하도록 설계된다. 둘째, [FAL1969]에 개시된 연접 스킴에서 외부 코드는 서로 동일하지만, 본 원리에 의해 사용되는 보다 일반적인 GCC/MLC 연접 방법은 내부 PAC 코드의 각 계층을 계층별 외부 코드로 보호해야 하는데, 여기서 계층별 외부 코드는 내부 디코딩 후 해당 계층에 남아 있는 오류와 소거의 통계에 맞춤화된다. 셋째, [FAL1969]j에 개시된 내부 디코더는 컨볼루션 코드에 대한 표준 순차 디코더인 반면, 본 원리에 따른 내부 디코더는 채널 편극 효과에 맞춤화된 순차 디코더이다. 맞춤화는 "예측(look-ahead)" 능력과 비균일 "바이어스(bias)"가 있는 메트릭을 사용하는 것이 포함된다. 맞춤화는 순차 디코딩에서 과도한 연산을 억제하기 위해 "타임아웃 규칙"을 도입하는 것을 더 포함하는데, 여기서 타임 아웃 규칙은 PAC 트리 코드의 비균일 구조에 대해 맞춤화된다. 선행 기술과 본 원리 간의 다른 주요 차이점들은 이후에서 자세히 설명될 것이다.
요약하면, 본 개시는 순차 디코딩에서 연산의 가변성의 역효과를 완화하기 위해 연산 다이버시티를 제공하고, 이와 동시에 탁월한 신뢰성과 확장 가능한 처리량을 실현할 수 있는 PAC 코딩 아키텍처를 제공함으로써 PAC 코드의 실질적인 유용성을 개선시키는 GCC/MLC 방법을 도입한다.
참고 문헌
[ARI2009] E. Arikan, “Channel polarization: A method for constructing capacity-achieving codes for symmetric binary-input memoryless channels,” IEEE Transactions on Information Theory, vol. 55, no. 7, pp. 3051-3073, 2009년 7월.
[ARI2019a] E. Arikan, “Methods and apparatus for error correction coding with triangular factorization of generator matrices,” U.S. Patent Application No. 16453887, 2019년 6월26일.
[ARI2019b] E. Arikan, “From sequential decoding to channel polarization and back again,” arXiv: 1908.09594 [cs, math], 2019년 8월26일.
[ARI2009] Arikan, E., & Markarian, G. (2009년 7월13일). Two-dimensional polar coding. Proc . Tenth International Symposium on Coding Theory and Applications (ISCTA ’09). Ambleside, UK.
[ELI1954] Elias, P. (1954). Error-free Coding. Transactions of the IRE Professional Group on Information Theory, 4(4), 29-37.
[FAL1969] Falconer, D. D. (1969). A hybrid coding scheme for discrete memoryless channels. The Bell System Technical Journal, 48(3), 691-728.
[FAN1963] Fano, R. (1963). A heuristic discussion of probabilistic decoding. IEEE Transactions on Information Theory, 9(2), 64-74.
[FOR1965] Forney Jr, G. D. (1965). Concatenated Codes(Technical Report No. 440). Massachusetts Institute of Technology.
[JAC1967] Jacobs, I., & Berlekamp, E. (1967). A lower 경계 to the distribution of computation for sequential decoding. IEEE Transactions on Information Theory, 13(2), 167-174.
[MAH2016] Mahdavifar, H., El-Khamy, M., Lee, J., & Kang, I. (2016). Method and system for encoding and decoding data using concatenated polar codes (United States Patent No. US9362956B2).
[ZAB2013] Zabinski, P. J., Gilbert, B. K., & Daniel, E. S. (2013). Coming Challenges with Terabit- per-Second Data Communication. IEEE Circuits and Systems Magazine, 13(3), 10-20.
[ZYA1999] Zyablov, V., Shavgulidze, S., & Bossert, M. (1999). An Introduction to Generalized Concatenated Codes. European Transactions on Telecommunications, 10(6), 609-622.
상기 열거된 간행물들은 참조로서 본 명세서에 편입된다.
일 실시예에서, 통신 시스템에서 사용하기 위한 연접 인코더(concatenated encode) 장치는 연접 인코더 입력 블록 d를 수신하고, 연접 인코더 입력 블록 d를 외부 코드 입력 어레이 a로 분할하고, 복수의 외부 코드에 따른 외부 코드 입력 어레이 a를 인코딩하여 외부 코드 출력 어레이 b를 생성하도록 구성된 외부 인코더와, 외부 코드 출력 어레이 b로부터 계층화된 편극 조정 컨볼루션(LPAC) 코드에 따른 연접 코드 출력 어레이 x를 생성하고, 그 연접 코드 출력 어레이 x를 채널에 송신하도록 구성된 내부 인코더를 포함한다. 복수의 외부 코드는 적어도 2개의 외부 코드를 포함하고, LPAC 코드는 적어도 2개의 계층을 포함한다. 내부 인코더는 선택적으로 외부 코드 출력 어레이 b로부터 프리코딩 어레이 c를 연산하고 그 프리코딩 어레이 c를 데이터 컨테이너 어레이 v에 삽입하도록 더 구성된다. LPAC 코드는 선택적으로 데이터 인덱스 집합 A와 그 데이터 인덱스 집합 A의 복수의 계층 인덱스 집합(A1, A2, …, AL)으로의 분할을 포함하고, 여기서 복수의 계층 인덱스 집합(A1, A2, …, AL)은 스코어 함수에 따라 선택되고, 스코어 함수는 해밍 스코어 함수(Hamming score function), 신뢰도 스코어 함수(reliability score function), 디코딩 순서 스코어 함수(decoding order score function) 또는 이들의 조합 중 하나이다.
다른 실시예에서, 통신 시스템에서 사용하기 위한 연접 디코더 장치는 계층의 수를 카운트하도록 구성된 계층 카운터와 계층화된 편극 조정 컨볼루션(LPAC) 코드에 따라 i번째 계층 내부 디코딩 동작을 수행하여 연접 디코더 입력 어레이 y 및 (i-1)번째 누적 판정 피드백
Figure pct00001
,
Figure pct00002
으로부터 i번째 내부 디코더 판정
Figure pct00003
를 생성하도록 구성된 내부 디코더를 포함한다. 연접 디코더는 또한 i번째 계층 외부 디코딩 동작을 수행하여 i번째 내부 디코더 판정
Figure pct00004
으로부터 및 i번째 외부 디코더 판정
Figure pct00005
을 생성하도록 구성된 외부 디코더 및 i번째 계층 재인코딩 동작을 수행하여 i번째 외부 디코더 판정
Figure pct00006
으로부터 i번째 판정 피드백
Figure pct00007
를 생성하도록 구성된 재인코더를 포함하고, 여기서 상기 계층 수는 정수 m과 같고, 정수 m은 1보다 크고, 외부 인코더는 외부 디코더 판정
Figure pct00008
으로부터 연접 디코더 출력 블록
Figure pct00009
를 생성하고, 연접 디코더 출력 블록
Figure pct00010
을 목적지로 송신하도록 더 구성된다. i번째 내부 디코딩 동작은 선택적으로 LPAC 코드를 디코딩하기 위해 순차 디코더를 사용하는 것을 포함한다. 순차 디코더에는 선택적으로 연산 타임아웃 제한이 구비된다.
도 1은 본 원리의 실시예가 사용되는 통신 시스템(100)을 예시하는 블록도이고;
도 2는 본 원리에 따른 연접 인코더 프로세스의 흐름도이고;
도 3은 본 원리에 따른 연접 디코더 프로세스의 흐름도이고;
도 4는 본 개시에 따라 연접 편극 조정 컨볼루션 코드(concatenated polarization adjusted convolutional code)를 사용하는 데이터의 인코딩 및 디코딩이 구현될 수 있는 예시적 무선 네트워크를 도시하고;
도 5a는 본 개시에 따라 연접 편극 조정 컨볼루션 코드를 사용하는 데이터의 인코딩 및 디코딩이 구현될 수 있는 예시적 사용자 장비 네트워크를 도시하고; 그리고
도 5b는 본 개시에 따라 연접 편극 조정 컨볼루션 코드를 사용하는 데이터의 인코딩 및 디코딩이 구현될 수 있는 예시적 eNB(enhanced NB) 네트워크를 도시한다.
아래에서 논의되는 도 1 내지 5b 및 본 특허 명세서에 기재된 본 개시의 원리를 설명하기 위해 사용된 다양한 실시예는 단지 예시를 위한 것이며 어떠한 방식으로든 본 개시의 범위를 제한하는 것으로 해석되어서는 안 된다. 당업자는 본 개시의 원리가 적절히 구성된 임의의 통신 시스템에서 구현될 수 있음을 이해할 것이다.
표기법. 전체 집합(universal set)의 부분 집합
Figure pct00011
에 대해,
Figure pct00012
는 전체 집합에 대한
Figure pct00013
의 여집합을 나타낸다. 전체 집합의 임의의 2개의 부분 집합
Figure pct00014
Figure pct00015
에 대해, 표기법
Figure pct00016
는 집합차를 나타내고, 즉
Figure pct00017
이다. 집합
Figure pct00018
에 대해,
Figure pct00019
Figure pct00020
내 요소 수를 나타낸다. 심볼
Figure pct00021
는 요소 {0,1,…, q-1}가 있는 유한 필드를 나타낸다.
Figure pct00022
라고 쓴 것은, a가 i=1, 2, …, N에 대해
Figure pct00023
인 행 벡터 a=(a1, a2, …, aN)인 것을 나타낸다. a=(a1, a2, …, aN)이고 1≤i≤j≤N인 경우,
Figure pct00024
라고 쓴 것은 서브벡터
Figure pct00025
를 나타내고, i>j이면
Figure pct00026
는 null 벡터이다. i=1일 때,
Figure pct00027
대신
Figure pct00028
로 쓴다.
Figure pct00029
이고
Figure pct00030
인 경우,
Figure pct00031
Figure pct00032
내 인덱스가 있는 a의 요소로 구성되는 서브벡터
Figure pct00033
를 나타내고, 마찬가지로,
Figure pct00034
는 집합
Figure pct00035
내 인덱스가 있는 요소 a로 구성되는 서브벡터를 나타낸다(여기서
Figure pct00036
는 {1, 2, …, N}에서 S의 여집합을 나타낸다). 예를 들어, N=8이고
Figure pct00037
이면,
Figure pct00038
이고
Figure pct00039
이다. 관례적으로,
Figure pct00040
에서 a의 좌표는 오름차순으로 나타내지며; 따라서
Figure pct00041
Figure pct00042
로 특정되든 또는
Figure pct00043
로 특정되든, 서브벡터
Figure pct00044
는 동일한 벡터
Figure pct00045
이다. 표기법
Figure pct00046
는 요소
Figure pct00047
를 가지는 유한 필드이다. 표기법은 "
Figure pct00048
"는 "정의에 의해 a는 b와 같음"을 의미하는데 사용한다.
랜덤 변수(또는 기회 변수) X와 X의 실현 가능성 x에 대해, 표기법 PX(x)는 이벤트 {X=x}의 확률을 나타낸다. 결합 분포(jointly distributed) 랜덤 변수(X, Y) 및 쌍(X, Y)의 실현 가능성(x, y)에 대해, PX,Y(x,y)는 {X=x, Y=y}의 확률을 나타내고,
Figure pct00049
는 {X=x}이 주어졌을 때 {Y=y]의 조건부 확률을 나타낸다.
C가
Figure pct00050
에서
Figure pct00051
으로의 매핑이면(
Figure pct00052
라고 기재됨), "C는 차원 K 및 블록 길이 N을 가지는
Figure pct00053
에서의 코드이다"라고 한다. 비율 R=K/N은 코드 C의 레이트라고 한다. 코드 C에 대한 인코더는 매핑
Figure pct00054
을 구현하는 임의의 방법 및 장치이다. C의 도메인
Figure pct00055
에 있는 각 요소는 "입력 블록"으로 지칭하고, C의 범위
Figure pct00056
에 있는 각 요소는 "출력 블록"으로 지칭한다. 코드 C의 입력 및 출력 블록은 각각 "메시지" 및 "코드 단어"라고도 불린다. 코드 C의 입력 및 출력 블록을 예를 들어 각각
Figure pct00057
Figure pct00058
와 같이 행 벡터로 나타낸다. C에 의해 x에 매핑되는 입력 블록 d가 존재하면 "x가 C에 속한다"고 한다. 어떤 경우에는, C에 의해 d가 x로 매핑되면 "x는 입력 블록 d에 대응하는 C 내 코드 단어"라고 한다. x=C(d)는 x가 메시지 블록 d에 대응하는 C 내 코드 단어임을 나타낸다.
PAC 코드. 본 원리를 제시하는 데 필요한 몇 가지 기본 개념을 확립하기 위해 PAC 코딩에 대한 선행 기술을 검토하는 것으로 시작한다. PAC 코드는 TF 코드의 가장 바람직한 실시예로서, E. Arikan, "Methods and apparatus for error correction coding with triangular factorization of generator matrices", 미국 특허 출원 No.16/453,887(2019년 6월 26일 출원)에서 처음 공개되었으며, 이는 본 명세서에 참조로서 편입된다. PAC 코드에 대한 교수적 논의는 E. Ankan, "From sequence decoding to channel polarization and back again," arXiv: 1908.09594 [cs, math], 2019년 8월 26일 기고에 나와 있다.
Figure pct00059
에서의 PAC 코드는 파라미터 (N, K, A, f, g)의 모음으로 특징지어지는 선형 블록 코드이며, 여기서 N은 블록 길이고, 일부 정수 n > 1에 대해 N=2n이고, K는 차원이며, 차원 K는 0≤K≤N 범위의 정수이고, 여기서 A는 데이터 인덱스 집합이고, 데이터 인덱스 집합 A는 크기
Figure pct00060
를 가지는 {1, 2, …, N}의 부분 집합이고, f는 동결 블록이고, 동결 블록 f는
Figure pct00061
에 속하는 고정된 벡터이고, g는 컨볼루션 동작의 임펄스 응답이고, 컨볼루션 임펄스 응답 g는 형식
Figure pct00062
의 고정된 벡터이고,
Figure pct00063
,
Figure pct00064
, 및
Figure pct00065
이다.
제한 사항
Figure pct00066
Figure pct00067
은 g=1(항등 매핑)에 대응하는 자명한(trivial) 컨볼루션 동작이 PAC 코드의 정의에서 제외된다는 것을 보장하는데, 이는 예를 들어, 폴라 코드(polar code) 및 리드-뮬러(Reed-Muller) 코드와 같은 소정 선행 기술 코드가 PAC 코드 클래스에서 제외된다는 것을 보장한다.
동결 블록 f의 선택은 중요한 설계 문제가 아니며; 이것은 모두 0인 벡터로 설정될 수 있다. PAC 코드의 FER 성능 및 디코딩 복잡성은 데이터 인덱스 집합 A의 선택에 따라 크게 달라진다. 미국 특허 출원 No.16/453,887은 다양한 "스코어 함수"를 기반으로 데이터 인덱스 집합 A를 구성하는 몇 가지 방법을 설명한다. 여기서는, 약간 다르지만 동등한 형식으로 된 스코어 함수 접근 방식을 제시한다.
스코어 함수는 실수(스코어)를 각 인덱스 i∈{1,2, …, N)에 할당하는 임의의 함수
Figure pct00068
(실수)이다. 스코어 함수 s가 주어지면,
Figure pct00069
Figure pct00070
Figure pct00071
에 따라 최대화되도록 데이터 인덱스 집합 A가 선택된다. PAC 코드 구성에 대한 두 가지 중요한 스코어 함수는 해밍 스코어 함수와 신뢰도 스코어 함수이다.
인덱스 i∈{1, 2, …, N}의 해밍 스코어 함수는
Figure pct00072
로 정의되는데, 여기서 n=log2N 및
Figure pct00073
는 (i-1)의 이진 표현으로 된 계수, 즉,
Figure pct00074
이다. 예를 들어, 14―1=13=1+22+23이므로, sH(14)=3이다.
인덱스 i∈{1, 2, …, N}의 신뢰도 스코어 함수는 sR(i)=1-Pe,i로 정의되며, 여기서 Pe,i는 폴라 코드에 대한 연속적인 취소 디코더가 디코딩의 i번째 단계에서 오류를 발생시킬, 이벤트의 확률로 정의된다. 당업자는 수량 {Pe,i}이 밀도-진화 방법과 같은 표준 폴라 코드 구성 방법에 의해 연산될 수 있음을 알 것이다.
신뢰도 스코어 함수의 단점은 채널-특정 PAC 코드 설계를 생성한다는 점이다. 채널-특정 코드 설계는 코드 설계에서 사용된 채널 모델이 실제로 사용되는 채널(104)의 특성과 매치하지 않으면 제대로 동작하지 않을 수 있다. 반면에, 해밍 스코어 함수는 채널-독립형 설계를 생성한다. 폴라 코딩(즉, g=1인 경우)의 맥락에서, 당업자는 해밍 및 신뢰도 스코어 함수가 각각 리드-뮬러 및 폴라 코드를 생성한다는 것을 인식할 것이다. 이러한 관찰에 기초하여, 해밍 스코어 함수는 PAC 코드 구성에서 코드 최소 거리를 강조하는 반면, 신뢰도 스코어 함수는 채널 편극 효과에 더 잘 적응되는 PAC 코드 구성을 강조한다고 예상될 수 있다.
다음으로 PAC 코드의 인코딩 및 디코딩을 위한 종래 기술 방법을 검토한다. 이를 위해, CPAC는 고정되지만 파라미터 (N, K, A, f, g)를 갖는 임의의 PAC 코드라고 한다.
PAC 코드 CPAC의 인코딩은 입력 블록
Figure pct00075
을 수신하고,
Figure pct00076
Figure pct00077
를 설정함으로써 입력 블록으로부터 데이터 컨테이너 블록
Figure pct00078
을 생성하고, 컨볼루션
Figure pct00079
을 연산함으로써 데이터 컨테이너 블록 v로부터 컨볼루션 출력 블록
Figure pct00080
를 생성하고, 그리고 폴라 변환
Figure pct00081
을 컨볼루션 출력 블록 u에 적용함으로써 출력 블록
Figure pct00082
를 생성하는 것을 포함할 수 있는데, 여기서 v A 는 A 내 좌표를 포함하는 v의 서브벡터이고,
Figure pct00083
는 Ac 내 좌표를 포함하는
Figure pct00084
의 서브벡터이고, 0은 길이 N-K의 모두 0인 벡터이고,
Figure pct00085
이고,
Figure pct00086
F의 n번째 크로네커 거듭제곱이다. 컨볼루션
Figure pct00087
은 1≤i≤N인 경우 공식
Figure pct00088
으로 얻어지며, 덧셈과 곱셈은
Figure pct00089
내에 있고, u i u의 i번째 요소이고, v k v의 k번째 요소이고, v k 는 k≤0이면 0으로 해석된다.
PAC 코드 CPAC의 디코딩을 논의하기 위해, PAC 코드 CPAC의 출력 블록 x가 채널을 통해 전송되고 채널 출력 블록 y가 채널 출력에서 수신된다고 가정한다.
Figure pct00090
가 채널 확률 할당, 즉 x가 채널 입력에서 전송된다고 하면 y가 채널 출력에서 수신되는 조건부 확률을 나타낸다. (여기서, XY는 각각 채널 입력 및 출력에서의 랜덤 벡터를 나타낸다.) 또한 PAC 인코더 입력 블록 d
Figure pct00091
에서 랜덤으로 균일하게 선택된다고 가정한다. d에 대한 균일 확률 할당과 채널 확률 할당
Figure pct00092
은 아래에서 PAC 코드 CPAC의 순차 디코딩에 나타나는 변수에 대한 공동 확률 할당을 결정한다.
트리 탐색 알고리즘으로서 디코더를 살펴봄으로써 PAC 코드 CPAC에 대한 디코더를 논의할 것이다. 이를 위하여, 코드 트리를 PAC 코드 CPAC에 연관시키는데, 여기서 코드 트리는 0≤i≤N 범위 내 각 정수 i에 대한 i번째 계층을 포함하고, i번째 계층은 복수의 노드를 포함하며, 코드 트리의 i번째 계층에서 각 노드는 데이터 컨테이너 블록
Figure pct00093
의 i번째 초기 세그먼트
Figure pct00094
와 연관되고,
Figure pct00095
는 null 벡터로 해석되며, 코드 트리의 (i=O)번째 레벨은 루트(rooe) 노드라고 불리는 단일 노드를 포함하며, 루트 노드는 null 벡터 v 0와 연관된다. 데이터 인덱스 집합 A는 코드 트리의 구조를 결정한다. 데이터 인덱스 집합 A의 각 선택에 대해, 레이트 프로파일 {R1, R2, …, RN)에 대응하고, Ri는 A에 속하는 {1,2, …,i} 내 요소의 분수로서 정의된다(즉,
Figure pct00096
). iRi는 i번째 초기 세그먼트 v i =(v1, v2, …, vi)에서 "자유 좌표"의 수로서 해석된다.(v i 의 나머지 좌표는 인코딩 규칙에 의해 0으로 제한된다(
Figure pct00097
)). 따라서 레벨 i=0에서는 루트 노드만 있다는 것의 이해 하에, 코드 트리의 i번째 레벨에 있는 노드의 수는
Figure pct00098
로 주어진다.
컨볼루션 매핑
Figure pct00099
v의 초기 세그먼트
Figure pct00100
,
Figure pct00101
,
Figure pct00102
, …,
Figure pct00103
u의 초기 세그먼트
Figure pct00104
,
Figure pct00105
,
Figure pct00106
, …,
Figure pct00107
간의 일대일 대응을 확립한다. 따라서 PAC 코드 CPAC에 대한 코드 트리의 i번째 레벨에 있는 노드는 v i 또는 u i 로 식별될 수 있다. 이어지는 설명에서는, 데이터 컨테이너 블록 v의 초기 세그먼트
Figure pct00108
,
Figure pct00109
,
Figure pct00110
, …,
Figure pct00111
에 의해 코드 트리 내에서 노드들을 식별할 것이다.
PAC 코드 CPAC에 대한 인코딩 동작은 PAC 코드에 대한 코드 트리를 통과하는 정확한 경로를 선택하는 것과 동일하며, 정확한 경로는 데이터 컨테이너 블록 v의 초기 세그먼트에 대응하는 노드 시퀀스
Figure pct00112
,
Figure pct00113
,
Figure pct00114
, …,
Figure pct00115
를 순회하는(traverse) 경로이다. 동등하게, 정확한 경로는 컨볼루션 출력 블록 u의 초기 세그먼트에 대응하는 노드 시퀀스
Figure pct00116
,
Figure pct00117
,
Figure pct00118
, …,
Figure pct00119
을 순회한다.
PAC 코드 CPAC의 디코딩은 CPAC에 대한 코드 트리에서 정확한 경로를 탐색하는 것으로 볼 수 있다. 채널 출력 블록 y가 주어지면, 디코더는 코드 트리를 탐색하고 인코더에서 실제 데이터 컨테이너 블록
Figure pct00120
을 따른 경로
Figure pct00121
,
Figure pct00122
,
Figure pct00123
, …,
Figure pct00124
의추정치
Figure pct00125
,
Figure pct00126
,
Figure pct00127
,…,
Figure pct00128
를 생성한다. 데이터 컨테이너 블록 v의 추정치
Figure pct00129
가 주어지면,
Figure pct00130
를 설정함으로써 인코더 입력 블록 d의 추정치
Figure pct00131
를 추출한다.
분명하게, 임의의 트리 탐색 방법은 PAC 코드 CPAC에 대한 디코더로서 역할을 할 수 있다. 미국 특허 출원 No.16/453,887은 순차 디코딩(깊이-우선 탐색 휴리스틱)을 논의하고, 순차 디코딩에 대한 몇 가지 대안으로서 비터비(Viterbi) 디코딩(폭-우선 탐색 알고리즘) 및 빔 탐색(최적은 아니지만 폭-우선 탐색의 덜 복잡한 버전)을 언급한다. 본 개시는 주로 PAC 코드의 순차 디코딩에 기초한다.
PAC 코드의 순차 디코딩. PAC 코드 CPAC의 순차 디코딩은 PAC 코드 CPAC에 대한 코드 트리에서 정확한 경로에 대한 깊이-우선 탐색을 포함하며, 이 탐색은 Fano 메트릭에 의해 설명된다.
Figure pct00132
여기서 정확한 경로가 노드
Figure pct00133
를 통과하고,
Figure pct00134
가 채널 출력 블록 y에 대한 확률 할당이고,
Figure pct00135
는 i번째 레벨 누적 바이어스 항(bias term)이라고 가정할 때,
Figure pct00136
는 채널 출력 y에 대한 조건부 확률 할당이다. 미국 특허 출원 No.16/453,887에서 지적한 바와 같이, Fano 메트릭은 아래와 기재함으로써 점진적으로 연산될 수 있다.
Figure pct00137
여기서
Figure pct00138
는 아래와 같이 정의되는 Fano 브랜치(branch) 메트릭이다.
Figure pct00139
여기서는
Figure pct00140
는 j번째 레벨 바이어스 항이다. Fano 브랜치 메트릭은 대안적으로 아래와 같이 쓰여질 수도 있다.
Figure pct00141
이는 연산면에서 수치적 안정성에 유리할 수 있다. 순차 디코딩의 성공적인 동작을 위해 바이어스 항 {bj}은 Fano 브랜치 메트릭
Figure pct00142
이 정확한 경로에서는 증가하고 잘못된 경로에서는 감소하는 경향을 갖도록 선택되어야 한다.
순차 디코딩 알고리즘은 Fano 메트릭에 의해 PAC 코드 CPAC의 코드 트리 내 노드 u i 에 할당된 값
Figure pct00143
에 따라 탐색의 우선순위를 정한다. 예를 들어, 구현 세부 사항이 상이한 ("Fano" 알고리즘 및 "스택" 알고리즘과 같은) 순차 디코딩 알고리즘의 다양한 버전이 있다. 스택 알고리즘은 설명하기 쉽지만 Fano 알고리즘이 구현 목적에 더 실용적이다. 두 알고리즘에 대한 세부 사항에 대해서는 순차 디코딩에 대한 선행 기술을 참조한다. PAC 코드의 순차 디코딩에 대한 세부 사항에 대해서는 미국 특허 출원 No.16/453,887을 참조한다. 본 명세서에서는, 스택 알고리즘의 동작만 개요를 제시할 것이다.
스택 알고리즘. 스택은 가변 개수의 레코드로 구성된 데이터 구조이며, 여기서 레코드는 노드 id와 메트릭 값을 포함한다. 스택 내 레코드는 "최상위" 노드는 가장 큰 메트릭 값을 가지도록, 메트릭 값에 대해서 정렬된 순서로 유지된다. 처음에는, 스택이 비어 있다. 스택 알고리즘은 루트 노드
Figure pct00144
를 메트릭 값
Figure pct00145
=0인 스택(최상위 노드)에 삽입함으로써 트리 탐색을 시작한다. 분명하게, 실제 루트 노드
Figure pct00146
에 대한 초기 가설
Figure pct00147
은 계층 0에 단지 하나의 노드가 있기 때문에 올바르다. 다음으로, 루트 노드
Figure pct00148
가 스택 상단에서 제거되고,
Figure pct00149
의 각 가설상 연속
Figure pct00150
이 스택에 삽입되고, 스택이 메트릭 값에 대해서 순서를 유지하도록 다시 정렬된다. 스택 알고리즘의 일반적인 단계에서, 스택 최상단은 코드 트리 내 어떤 레벨 i에서 노드
Figure pct00151
가 포함된다. 노드
Figure pct00152
가 스택 최상단에서 제거되고, 메트릭 값
Figure pct00153
Figure pct00154
의 모든 가능한 연속
Figure pct00155
에 대해 연산되고, 각 새로운 노드
Figure pct00156
는 스택에 삽입되고, 스택은 현재 노드의 메트릭 값에 대하여 다시 정렬된다. 스택 알고리즘은 PAC 코드 CPAC에 대한 코드 트리의 최종 레벨 N에서 노드
Figure pct00157
이 스택 최상단에 나타나자마자 순차 디코딩을 완료한다. 이 시점에서, 컨볼루션 출력 블록 u의 추정치
Figure pct00158
를 얻는다. 컨볼루션
Figure pct00159
이 일대일이기 때문에, 컨볼루션을 반전시켜
Figure pct00160
가 되도록 데이터 컨테이너 블록 v의 추정치
Figure pct00161
를 얻고,
Figure pct00162
를 설정함으로써
Figure pct00163
로부터 인코더 입력 블록 d의 추정치
Figure pct00164
를 추출한다.
배경기술에서 지적한 바와 같이, 순차 디코딩의 주요 결점은 연산의 가변성이다. 연산의 가변성은 코드 트리 내 기하급수적으로 많은 탐색으로 이어지는 드문 노이즈 버스트로 인해 발생하며, 탐색 복잡성에 대한 heavy-tailed Pareto distribution를 발생시킨다. 이 문제는 채널이 폴라 변환 동작으로 둘러싸이지 않고 메트릭이
Figure pct00165
형식을 갖는 기존 컨볼루션 코드의 순차 디코딩에서 특히 심각하다. PAC 코드는
Figure pct00166
형식의 메트릭을 사용함으로써 연산 문제를 부분적으로 완화시켰으며, 여기서 y i y로 대체하면 메트릭에 일부 "look-ahead" 기능이 제공된다. 그러나 PAC 코드의 순차 디코딩에서 연산의 가변성은 PAC 코드의 실용적인 적용 가능성에 대한 주요 장애물로 여전히 남아 있다. 해결책으로서, 본 원리는 계층화된 PAC(LPAC) 코드와 함께 연접 코딩 스킴을 도입한다.
LPAC 코드.
Figure pct00167
에서의 LPAC 코드는 파라미터
Figure pct00168
,
Figure pct00169
의 모음에 의해 특징지어지는 선형 블록 코드이며, 여기서 N은 블록 길이이고, n≥1인 일부 정수 N=2n이고, K는 차원이고, 차원 K는 0≤K≤N 범위의 정수이고, A는 데이터 인덱스 집합이고, 데이터 인덱스 집합 A는 크기
Figure pct00170
를 갖는 {1, 2, …, N}의 부분 집합이고, Li는 i번째 계층 인덱스 집합이고(1≤i≤L),
Figure pct00171
)은 복수의 계층 인덱스 집합이고, 복수의 계층 인덱스 집합
Figure pct00172
)은 1≤i<j≤L에 대해
Figure pct00173
Figure pct00174
로 데이터 인덱스 집합 A를 분할하는 것이며, f는 동결 블록이고, 동결 블록 f
Figure pct00175
에 속하는 고정된 벡터이고, g는 컨볼루션 동작의 임펄스 응답히고, 임펄스 응답 g
Figure pct00176
형식의 고정된 벡터이고,
Figure pct00177
,
Figure pct00178
이고
Figure pct00179
이다.
파라미터
Figure pct00180
,
Figure pct00181
를 갖는 LPAC코드가
Figure pct00182
의 분할
Figure pct00183
)을 선택함으로써 파라미터(
Figure pct00184
,
Figure pct00185
)를 갖는 PAC 코드로부터 파생되어진다고 생각될 수 있다는 것이 정의로부터 명확하다. 반대로, PAC 코드는 1계층(L=1)을 갖는 LPAC 코드로 볼 수 있다. PAC 코드와 LPAC 코드의 인코딩 차이는 미미하다. LPAC 코드의 계층화된 구조는 디코딩 중에만 현저해진다. 계층화된 구조는 계층화된 디코딩을 위해 설계되었으며, 여기서 (외부 디코더로부터의) 외부 지원은 연속적인 계층의 디코딩 사이에서 수신될 수 있다. 완전성을 위해, PAC 코드의 인코딩 및 디코딩과 유사하지만, LPAC 코드의 인코딩 및 디코딩에 대한 세부 사항을 제공한다.
Figure pct00186
가 파라미터
Figure pct00187
,
Figure pct00188
를 갖는
Figure pct00189
에서의 LPAC 코드라고 하고,
Figure pct00190
)
Figure pct00191
이 입력 블록이라고 하고, d i
Figure pct00192
각각에 대해 길이
Figure pct00193
를 갖는
Figure pct00194
에서의 벡터이다.(여기서, d 1 d의 첫 번째
Figure pct00195
요소를 나타내고, d 2 d의 다음
Figure pct00196
요소 등을 나타낸다.) 출력 블록
Figure pct00197
으로의 d의 인코딩은 1≤i≤L에 대해
Figure pct00198
Figure pct00199
를 설정함으로써 데이터 컨테이너 블록
Figure pct00200
을 생성하고, 컨볼루션
Figure pct00201
을 연산함으로써 데이터 컨테이너 블록 v로부터 컨볼루션 출력 블록
Figure pct00202
을 생성하고, 컨볼루션 출력 블록 u에 폴라 변환을 적용함으로써, 즉
Figure pct00203
를 설정함으로써, 출력 블록
Figure pct00204
을 생성하는 것을 포함하는데, 여기서
Figure pct00205
는 A 내 좌표를 포함하는 서브벡터 v이고,
Figure pct00206
Figure pct00207
내 좌표를 포함하는 서브벡터
Figure pct00208
이고, 0은 길이 N-K의 모두 0인 벡터이고,
Figure pct00209
이고,
Figure pct00210
F의 n번째 크로네커 거듭제곱이다. 컨볼루션은
Figure pct00211
은 1≤i≤N에 대해 공식
Figure pct00212
에 의해 (
Figure pct00213
산술을 사용하여) 제공되는데, 여기서
Figure pct00214
u의 i번째 요소이고,
Figure pct00215
v의 k번째 요소이며,
Figure pct00216
는 k≤0이면 0으로 해석된다.
LPAC 코드의
Figure pct00217
의 계층화된 디코딩을 설명하기 위해,
Figure pct00218
)는 인코더 입력(디코더에 보이지 않음)이고
Figure pct00219
는 채널 출력이라고 가정한다. 계층화된 디코딩은 LPAC 코드의 첫 번째 계층으로부터 파생되고 채널 출력 블록 y로부터 데이터 컨테이너 블록
Figure pct00220
)의 초기 추정치
Figure pct00221
를 얻기 위해 임의의 PAC 디코더를 사용하여 파라미터
Figure pct00222
,
Figure pct00223
에 의해 특징화되는 제1계층 PAC 코드 C1을 디코딩하고,
Figure pct00224
을 설정함으로써 제1 계층 데이터 블록 d 1 의 초기 추정치
Figure pct00225
을 추출하는 것으로 시작한다. (LPAC 코드
Figure pct00226
를 위한 디코더는
Figure pct00227
을 얻기 위해 전체 초기 추정치
Figure pct00228
를 생성할 필요가 없으며; 부분적 초기 추정치
Figure pct00229
만 생성하면 충분하다는 점에 유의한다. 이러한 고찰은 계층화된 디코딩의 복잡성을 줄이는데 유용할 수 있다.)
계층화된 디코딩의 주요 이점은 외부 에이전트(예를 들어 연접 코딩 시스템 내 외부 코드)에 초기 추정치
Figure pct00230
의 오류를 수정하고 일부 외부 정보를 활용함으로써 d 1 의 최종 추정치
Figure pct00231
를 제공할 수 있는 기회를 제공하는 것이다. 계층화된 디코딩의 후속 단계는
Figure pct00232
이라는 가정을 기반으로 수행된다.
Figure pct00233
이면, 계층화된 디코더는 이 오류를 복구하지 않을 것이다. 반면에,
Figure pct00234
이 맞다면, 디코딩 문제는 PAC 디코딩 문제의 더 작은(그리고 더 쉬운) 사례로 축소된다. 일부 계층화된 디코더는 예를 들어, 소정 패리티-검사 비트의 실패로 인해 또는 외부 디코더가 유효한 디코딩된 출력을 생성하지 못하는 것으로 인해,
Figure pct00235
이 틀리다는 표시를 수신할 수 있다; 이러한 경우에는, LPAC 코드의 디코딩이 중단된다.
Figure pct00236
이 틀리다는 이러한 표시가 없으면, 디코더는 두 번째 계층의 디코딩을 계속한다.
제2 계층 디코딩은 LPAC 코드의 제2 계층으로부터 파생되고 파라미터
Figure pct00237
,
Figure pct00238
에 의해 특징지어지는 제2 계층 PAC 코드 C2에 대해 수행되는데, 여기서
Figure pct00239
는 인덱스 집합
Figure pct00240
Figure pct00241
에 의해 결정되는 것 같은 소정 순서로 된 좌표
Figure pct00242
Figure pct00243
를 포함한다. 보다 정확하게는,
Figure pct00244
Figure pct00245
Figure pct00246
를 갖는 벡터
Figure pct00247
를 고려하고(α의 나머지 좌표는 여기에서 중요하지 않음) 및
Figure pct00248
를 설정함으로써 얻어진다.(
Figure pct00249
임을 유의)
계층화된 디코딩은 제1 계층 PAC 코드 C1의 디코딩에서와 동일한 유형의 디코딩 절차를 사용하여 제2 계층 PAC 코드 C2의 디코딩을 계속한다. 제2 계층 PAC 코드 C2은 디코더 입력으로서 출력 블록 y로 시작하여 제2 계층 데이터 블록
Figure pct00250
의 초기 추정치
Figure pct00251
로 끝난다. 제1 계층 디코딩과 같이, 외부 에이전트는
Figure pct00252
를 수신하고 일부 외부 정보를 활용함으로써
Figure pct00253
의 최종 추정치
Figure pct00254
를 제공한다.
일반적으로, 디코딩의 i번째 라운드에서, 계층화된 디코더는 LPAC 코드의 i번째 계층으로부터 파생되고 파라미터(
Figure pct00255
,
Figure pct00256
로 특징지어지는 i번째 계층 PAC 코드 ci를 디코딩하는데, 여기서
Figure pct00257
는 인덱스 집합
Figure pct00258
Figure pct00259
에 의해 결정되는 소정 순서로 된 좌표
Figure pct00260
Figure pct00261
을 포함한다. 보다 정확하게는,
Figure pct00262
Figure pct00263
Figure pct00264
를 갖는 벡터
Figure pct00265
를 고려하고,
Figure pct00266
를 설정함으로써 얻어진다.(
Figure pct00267
임에 유의) 디코딩 라운드가 끝나면,
Figure pct00268
)의 최종 추정치
Figure pct00269
를 얻고, 디코딩이 완료된다.
LPAC 코드 구성의 중요한 측면은 데이터 인덱스 집합 A의 선택과 데이터 인덱스 집합의 계층 인덱스 집합(
Figure pct00270
으로의 분할이다. 데이터 인덱스 집합 A의 선택은 PAC 코드 구성과 관련하여 상술되어진 것과 같은 스코어-함수 접근 방식을 사용하여 수행될 수 있다. 데이터 인덱스 집합 A의 계층 인덱스 잡합으로의 분할도 동일한 유형의 스코어-함수 접근 방식으로 수행될 수 있다. 데이터 인덱스 집합 A가 주어지고, 미리 지정된 계층 수 L과 1≤i≤L 각각에 대한 i번째 계층 인덱스 집합
Figure pct00271
에 대해 미리 지정된 크기
Figure pct00272
를 갖는 복수의 계층 인덱스 집합(
Figure pct00273
으로 A를 분할하고자 한다고 가정한다. 스코어 함수
Figure pct00274
로 된 스코어 함수 접근 방식은 1≤i≤L에서
Figure pct00275
이 되도록,
Figure pct00276
이 모든 집합
Figure pct00277
에 대한
Figure pct00278
를 최대화하기 위해, 하나씩 역순
Figure pct00279
으로 계층 인덱스 집합을 선택한다.(i=L에 대해,
Figure pct00280
는 null 집합으로 해석한다.) 데이터 인덱스 집합 A를 복수의 계층 인덱스 집합(L1, L2, …, LL)으로 분할하기 위한 바람직한 2개의 스코어 함수는 상술한 바와 같이 해밍 및 신뢰도 스코어 함수이다. 데이터 인덱스 집합 A를 복수의 계층 인덱스 집합(L1, L2, …, LL)으로 분할하기 위한 세 번째 스코어 함수는
Figure pct00281
에 대해
Figure pct00282
인 디코딩 순서 스코어 함수
Figure pct00283
이다.
Figure pct00284
데이터 인덱스 집합 A는 일 유형의 스코어 함수를 사용하여 선택될 수 있고, 계층 인덱스 집합(L1, L2, …, LL)은 다른 유형의 스코어 함수를 사용하여 선택될 수 있다는 점에 유의한다.
계층 인덱스 집합(L1, L2, …, LL)을 구성하기 위한 상술한 절차는 계층의 수 L과 계층의 크기 {ki=1≤i≤L}를 주어진 대로 처리한다. 파라미터 L과 {ki:1≤i≤L}의 선택은 이 시스템에서 사용되는 외부 코드의 유형에 따라 달라진다.
이제 도 1 내지 도 5b를 참조하여 본 원리의 특정 실시예를 설명하는 것으로 넘어간다.
도 1은 본 원리의 실시예에 따른 통신 시스템(100)을 예시하는 블록도이다. 본 명세서에서 통신 시스템이라는 용어는 데이터의 전송 또는 저장을 위한 모든 종류의 시스템을 포함하는데 사용된다. 아래에 설명되는 본 원리의 특정 실시예는 단지 설명을 위한 것이다. 본 원리의 대안적인 실시예가 광범위한 통신 시스템에서 데이터의 신뢰성 있는 전송 또는 저장을 위해 구성될 수 있음이 당업자에게 명백할 것이다.
통신 시스템(100)의 주요 기능은 연접 코드 C를 사용함으로써 데이터를 소스에서 목적지로 전달하는 것이다. 통신 시스템(100)은 연접 인코더(102), 채널(104) 및 연접 디코더(106)를 포함한다. 연접 인코더(102)는 연접 인코더 입력 포트(130)를 통해 소스로부터 연접 인코더 입력 블록 d를 수신하고, (후술되는 것처럼) 연접 인코더 입력 블록 d를 인코딩하여 연접 인코더 출력 어레이 x를 생성하고, 채널 입력 포트(134)를 거쳐 채널(104)을 통해 x를 전송한다. x의 전송에 응답하여, 채널(104)은 채널 출력 포트(136)에서 연접 디코더 입력 어레이 y를 생성한다. 연접 디코더(106)는 y를 수신 및 디코딩하여 연접 디코더 출력 블록
Figure pct00285
를 생성하고, 연접 디코더 출력 포트(144)를 통해
Figure pct00286
를 목적지로 전달한다.
이상적으로는, 통신 시스템(100)은 연접 디코더 출력 블록
Figure pct00287
이 연접 인코더 입력 블록 d의 정확한 복제가 되도록 한다. 그러나 시스템의 불완전성과 채널(104) 내 노이즈로 인해,
Figure pct00288
가 항상 d와 매치하지는 않는다. 프레임 오류는
Figure pct00289
일 때, 즉
Figure pct00290
가 적어도 한 좌표에서 d와 다를 때 발생한다고 한다. 통신 시스템(100)에 대한 주요 성능 기준은 이벤트 {
Figure pct00291
}가 발생하는 빈도로 정의되는 프레임 오류 레이트(FER)이다. 통신 시스템(100)은 연접 인코더(102) 및 연접 디코더(106)를 포함하는, 순방향 오류 정정 코딩(FEC) 스킴을 구현함으로써 FER을 줄이는 것을 목표로 한다.
통신 시스템(100) 내 인코딩 및 디코딩 동작의 세부 사항으로 넘어가기 전에, 일반적으로 채널(104)은 전송 매체뿐만 아니라 전송 매체를 통해 정보를 전송하고 수신하는데 필수적이지만 본 원리와 직접 관련되지는 않는 변조기, 증폭기, 안테나, 디지털-아날로그 및 아날로그-디지털 변환기, 신호 획득 및 동기화 회로, 이퀄라이저 등과 같은 다른 모듈을 포함한다는 점을 지적할 가치가 있다. 또한, 전송 매체는 구리 케이블, 광 케이블, 공중파 또는 전송된 신호를 변조하여 정보를 전달할 수 있는 다른 유형의 물리적 매체일 수 있다는 점을 지적할 가치가 있으며, 여기서 전송된 신호는 예를 들어, 본질적으로 전기적, 광학적 또는 전자기적이다. 일부 경우에, 채널(104)은 정보가 한 시점에 기록되고 나중 시점에서 판독되는 것을 허용하는 데이터 저장 디바이스를 포함할 수 있다.
이제 본 원리의 실시예를 논의하기 위해 통신 시스템(100)의 세부 사항으로 넘어가며, 여기에서 연접 코드 C는 차수 K(비트), 블록 길이 N(비트), 및 레이트 R=K/N을 가진
Figure pct00292
에서의 코드이다. 이진 알파벳
Figure pct00293
에 대한 코드에 대한 연접 코드 C의 제한은 본 원리의 표현을 단순화시킨다. 그러나, 본 발명의 원리가 비이진 알파벳에 대한 연접 코드로 확장될 수 있음은 당업자에게 명백할 것이다.
도 1에서, 우리는 연접 인코더(102)가 외부 인코더(110) 및 내부 인코더(112)를 포함함을 관찰한다. 연접 인코더(102)는 일반적인 세부 사항으로 도면이 복잡해지지 않도록 하기 위해 도 1에는 도시되지 않은, 연접 인코더 제어 로직, 연접 인코더 입력 모듈 및 연접 인코더 출력 모듈을 더 포함한다.
외부 인코더(110)는 복수의 외부 코드
Figure pct00294
를 인코딩하도록 구성되는데, 여기서 m≥2는 외부 코드의 개수이고,
Figure pct00295
는 i번째 외부 코드이고, i번째 외부 코드
Figure pct00296
는 차수
Figure pct00297
(
Figure pct00298
로부터의 심볼), 블록 길이
Figure pct00299
(
Figure pct00300
로부터의 심볼), 및 레이트
Figure pct00301
을 가진 유한 필드
Figure pct00302
에서의 코드이며, 여기서 qi는 i번째 외부 코드
Figure pct00303
에 대한 심볼 알파벳
Figure pct00304
의 크기이고, qi는 2의 거듭 제곱,
Figure pct00305
이며, 여기서
Figure pct00306
는 i번째 외부 코드
Figure pct00307
에 대한 심볼 길이(비트 단위)이고,
Figure pct00308
는 1 이상인 정수이고, i번째 외부 코드 차수
Figure pct00309
는 1 이상인 정수이고, i번째 외부 코드 블록 길이
Figure pct00310
Figure pct00311
이상인 정수이다.
i번째 외부 코드
Figure pct00312
의 차수
Figure pct00313
는 i에 따라 달라질 수 있지만, 블록 길이
Figure pct00314
은 모든 외부 코드에 공통적이다. 비트 단위로 측정되는, i번째 외부 코드
Figure pct00315
는 차수
Figure pct00316
와 코드 블록 길이
Figure pct00317
를 가진다. (인코딩 주기당) 복수의 외부 코드를 입력하는 총 비트 수는
Figure pct00318
이고, 이는 연접 인코더 입력 블록
Figure pct00319
의 길이와 동일해야 하고; 이로써,
Figure pct00320
이 된다. 복수의 외부 코드의 출력에서의 총 비트 수는
Figure pct00321
와 같다. 따라서, 복수의 외부 코드
Figure pct00322
는 실효 레이트
Figure pct00323
을 가진다.
내부 인코더(112)는 내부 코드 Cin의 동일한 복사본
Figure pct00324
을 인코딩하도록 Nout 구성되며, 여기서 내부 코드 Cin는 파라미터
Figure pct00325
에 의해 특징지어지는
Figure pct00326
에서의 LPAC 코드이며, 블록 길이는 일부 정수
Figure pct00327
에 대해
Figure pct00328
으로 주어지며, 계층의 수는 L=m이며(외부 코드의 수와 동일함), i번째 계층 인덱스 집합
Figure pct00329
는 크기
Figure pct00330
(
Figure pct00331
)를 가지며,
Figure pct00332
는 i번째 외부 코드
Figure pct00333
에 대한 심볼 길이이고
Figure pct00334
는 i번째 계층 프리코딩 블록의 길이(1≤i≤m)이고, 임펄스 응답
Figure pct00335
Figure pct00336
,
Figure pct00337
Figure pct00338
를 갖는 벡터
Figure pct00339
이다. 따라서
Figure pct00340
는 LPAC 코드 Cin 복사본이며, 우리는
Figure pct00341
를 j번째 내부 코드로 지칭할 것이다.
연접 인코더(102)를 상세히 설명하기 위해, 연접 인코더(102)의 동작을 예시하는 흐름도(200)를 표시하는 도 2를 참조한다. 단계 204, 206 및 208은 외부 인코더(110)에 의해 실행되고, 단계 210, 212, 214, 216 및 218은 내부 인코더(112)에 의해 실행되며, 단계 202 및 220 뿐만 아니라 해당 흐름도의 단계들 간에 전이는 연접 인코더 제어 로직에 의해 실행된다.
연접 인코더(102)는 연접 인코더 입력 포트(130)에서 이용 가능해지기 위해 연접 인코더 입력 블록 d을 기다리는 연접 인코더 제어 로직으로 단계 202에서의 동작을 시작한다. 연접 인코더 입력 블록 d가 이용 가능해지면, 연접 인코더 제어 로직은 단계 204로 이동한다.
단계 204에서, 외부 인코더(110)는 연접 인코더 입력 포트(130)에서 연접 인코더 입력 블록 d를 수신한다.
단계 206에서, 외부 인코더(110)는 연접 인코더 입력 블록
Figure pct00342
,
Figure pct00343
,
Figure pct00344
를 분할하여 외부 코드 입력 어레이
Figure pct00345
를 생성하는데, 여기서
Figure pct00346
이고,
Figure pct00347
이다. 외부 인코더(110)는 자연 순서 분할 규칙을 따르며, 자연 순서 분할 규칙은 d의 비트를 왼쪽에서 오른쪽으로 자연 순서로 a의 비트로 복사하는 것으로, 즉,
Figure pct00348
,
Figure pct00349
, …,
Figure pct00350
,
Figure pct00351
,
Figure pct00352
, …
Figure pct00353
, … ,
Figure pct00354
이다. 자연 순서 분할 규칙은 다음 공식
Figure pct00355
으로 간단하게 표현할 수 있으며, 여기서
Figure pct00356
이다.
자연 순서 분할 규칙은 간단하고 구현하기 쉽다는 장점이 있다. 그러나, 본 원리는 원하는 임의의 순서로 d의 요소를 a의 요소에 할당하는 다른 분할 규칙과 호환 가능하다.
단계 208에서, 외부 인코더(110)는 외부 코드 입력 어레이 a에 대해 외부 코드 인코딩 동작을 수행하여 외부 코드 출력 어레이
Figure pct00357
를 생성하는데, 여기서
Figure pct00358
이고,
Figure pct00359
이다.
외부 코드 인코딩 동작은 1≤i≤ m 범위에서 각각의 정수 i에 대한 i번째 외부 코드 인코딩 동작을 포함하고, 여기서 i번째 외부 코드 인코딩 동작은 i번째 외부 코드 입력 블록 a i 를 i번째 외부 코드 출력 블록 b i 로 인코딩하는 것을 포함하며, 여기서 i번째 외부 코드 입력 블록 a i 은 외부 코드 입력 어레이 a의 i번째 행으로 정의되고 i번째 외부 코드 출력 블록 b i 는 외부 코드 출력 어레이 b의 i번째 행으로 정의된다. 더 명시적으로,
Figure pct00360
이고
Figure pct00361
이다. 따라서 b i
Figure pct00362
에서 ai에 대응하는 코드워드이다:
Figure pct00363
. 외부 인코더(110)는 내부 인코더 입력 포트(132)를 거쳐 내부 인코더(112)로 b를 전송함으로써 단계 208을 완료한다.
단계 210은 프리코딩이 사용되지 않으면 건너뛰는 선택적인 프리코딩 단계이다. 단계 210에서, 내부 인코더(112)는 외부 코드 출력 어레이 b로부터 프리코딩 어레이
Figure pct00364
를 생성하는데, 여기서
Figure pct00365
이다. 이하에서 볼 수 있듯이, c j,i 는 j번째 내부 코드
Figure pct00366
의 i번째 계층에서 수행된다. 이하에서 자세하게 논의되는 것처럼, 본 원리의 프레임워크 내에서 단계 210을 구현하는 것에 대해 많은 옵션이 있다. 본 명세서에서, 우리는
Figure pct00367
(b)를 설정하는 가장 일반적인 형식의 프리코딩을 수용하는데, 여기서 h j,i
Figure pct00368
에서
Figure pct00369
로의 임의의 함수일 수 있다. 각 1≤i≤m에 대해 ri=0인 특수 경우에는, 프리코딩이 없는 것이 효과적이라 점에 유의한다.
단계 212에서, 내부 인코더(112)는
Figure pct00370
,
Figure pct00371
, …,
Figure pct00372
, 및
Figure pct00373
를 설정함으로써 외부 코드 출력 어레이 b 및 프리코딩 어레이 c로부터 데이터 컨테이너 어레이
Figure pct00374
를 생성하는데, 여기서
Figure pct00375
,
Figure pct00376
이고
Figure pct00377
이다. 구성에 따라,
Figure pct00378
이므로,
Figure pct00379
Figure pct00380
는 (그것들이 포함할 수 있는 비트 수 측면에서) 동일한 크기이고, 할당
Figure pct00381
이 실현 가능하다. 본 원리는 할당
Figure pct00382
의 일부로서의 비트 시퀀스
Figure pct00383
로서 심볼
Figure pct00384
의 특정 표현으로 사용될 수 있다.
단계 214에서, 내부 인코더(112)는 데이터 컨테이너 어레이 v에 컨볼루션 동작을 적용하여 컨볼루션 출력 어레이
Figure pct00385
를 생성하는데, 여기서
Figure pct00386
이고, 공식
Figure pct00387
에 의해, LPAC 코드 Cin의 임펄스 응답
Figure pct00388
의 관점에서, 컨볼루션 동작이 정의되며, 여기서 합은
Figure pct00389
에서의 것이며,
Figure pct00390
는 i-k≤0이면 0으로 해석된다.
단계 216에서, 내부 인코더(112)는 컨볼루션 출력 어레이 u에 폴라 변환 동작을 적용하여 연접 인코더 출력 어레이 x를 생성하는데, 여기서 연접 인코더 출력 어레이는
Figure pct00391
형식이며,
Figure pct00392
이다. 본 원리의 바람직한 실시예에서, 연접 인코더 출력 어레이는 폴라 변환 동작
Figure pct00393
을 수행함으로써 행별로 연산되며, 여기서
Figure pct00394
이고,
Figure pct00395
는 F의 (nin)번째 크로네커 거급제곱이고,
Figure pct00396
=
Figure pct00397
이며,
Figure pct00398
x의 j번째 행이고,
Figure pct00399
u의 j번째 행이다.
단계 218에서, 내부 인코더(112)는 채널 입력 포트(134)를 통해 채널(104)로 연접 인코더 출력 어레이 x를 전송한다.(변조 및 복조 동작은 채널(104)의 일부로 간주된다.)
단계 220에서, 연접 인코더(102)는 정지 상태로 진입한다. 데이터의 연속적인 인코딩이 있는 경우, 단계 220은 제거될 수 있으며 단계 218이 단계 202에 바로 이어질 수 있다.
이것으로 연접 인코더(102)에 대한 설명을 마쳤다. 연접 디코더(106)를 설명하기 전에 몇 가지 설명을 순서대로 한다.
전술한 내부 인코더(112)의 실시예에서, 내부 인코딩 매핑
Figure pct00400
은 j=1, …, Nout에 대해 Nout 독립형 매핑
Figure pct00401
으로 디커플링되는데, 여기서
Figure pct00402
는 외부 인코더 출력 어레이 b의 j번째 열이다. 따라서, 내부 인코딩 단계(210 내지 216)는 독립적으로 수행될 수 있다. 한 가지 옵션은 속도가 중요할 때 전용 하드웨어 또는 소프트웨어 리소스를 사용함으로써 병렬로 각 매핑
Figure pct00403
을 구현하는 것이다. 대안적으로, 구현 비용이 중요하면 단일 하드웨어 또는 소프트웨어가 순차적으로 매핑
Figure pct00404
을 수행할 수 있다. 본 원리는 내부 디코더(112)를 위하여 완전한 병렬에서 반 병렬까지, 완전 직렬 구현에 이르기까지 풍부한 구현 옵션 세트를 제공하며, 이는 처리량을 위해 하드웨어 비용을 부담하기 위해 사용될 수 있다. 반면에, 본 원리의 범위는 Nout 독립형 매핑
Figure pct00405
으로 디커플링하는 내부 인코딩 매핑
Figure pct00406
로 제한되지 않으며, 도 2와 관련하여 주어진 특정 매핑은 오직 예시를 위한 것이다. 당업자는 본 원리의 본질적인 특징을 벗어나지 않을 수 있는 많은 다른 내부 인코딩 매핑을 고안할 수 있을 것이다.
단계 210은
Figure pct00407
(b) 형식의 프리코딩 규칙을 수용한다. 대안예는 c j b j 에 대해서만 의존하도록 "로컬" 프리코딩 함수
Figure pct00408
(b j )를 사용하는 것이다. 두 번째 대안예는 "로컬 및 인과(causal)" 프리코딩 함수
Figure pct00409
(
Figure pct00410
,
Figure pct00411
,
Figure pct00412
를 사용하는 것이다. i=1,2,…,m-1에 대해 ri=0으로 설정할 수 있으며 rm만이 비제로가 될 수 있다.
로컬 및 인과 프리코딩 함수는 내부 디코더가 디코딩을 수행하는 동안 프리코딩 위반을 검출함으로써 탐색 트리를 축소시키는 것을 허용한다는 이점이 있다. 반면, 일반 프리코딩 규칙
Figure pct00413
(b)은 내부 코드 입력 어레이 전체에 걸친 프리코딩을 수용하고 오류를 보다 효율적으로 검출할 수 있는 잠재력이 있다(따라서 전체 연접 코드의 코딩 이득을 향상시킨다). 나머지 설명에서는, 로컬 및 인과 프리코딩 함수가 사용된다고 가정한다.
일반적으로, 소거가 검출되지 않은 오류에 비해 외부 디코더(116)에 더 적은 문제를 제공하기 때문에 내부 디코딩의 일부로서 오류를 검출하고, 검출된 오류를 소거로 표시할 수 있는 것이 유리하다. 반면에, 프리코딩에 의한 오류 검출은 특히 프리코딩 블록 내 비트 수가 내부 코드 블록 길이 Nin에 비해 상당한 경우 코딩 오버헤드를 증가시킨다. 프리코딩 오버헤드는 프리코딩 전후의 비트 수의 비율인 프리코딩 레이트
Figure pct00414
로 정량화될 수 있다. 프리코딩의 레이트를 최적화하는 것은 본 원리의 성공적인 응용의 중요한 측면이다.
내부 인코더(112)의 설명으로부터, 연접 인코더(102)가
Figure pct00415
비트를 수신하고
Figure pct00416
를 전송한다는 것을 알 수 있다. 따라서 연접 코드 C는 레이트
Figure pct00417
를 가진다. 이 레이트는 곱
Figure pct00418
으로 쓸 수 있으며, 여기서
Figure pct00419
은 외부 인코더(110)(에 의해 생성된 코드)의 레이트이고
Figure pct00420
은 내부 인코더(112)(에 의해 생성된 코드)의 레이트이다. Rin은 프리코딩 레이트
Figure pct00421
와 LPAC 코드 레이트
Figure pct00422
의 곱과 동일하다. 따라서 연접 코드 C의 레이트는 세 가지 레이트의 곱
Figure pct00423
을 분해한다
이제 도 1로 돌아가 채널(104)에 대해 좀 더 자세히 설명한다. 연접 인코더 출력 어레이 x의 전송에 응답하여, 채널(104)은 연접 디코더 입력 어레이
Figure pct00424
를 생성하는데, 여기서
Figure pct00425
이다. 본 명세서의 모델에 따르면, 채널(104)은
Figure pct00426
의 전송에 응답하여
Figure pct00427
를 생성하며, 이상적으로는,
Figure pct00428
이지만; 일반적으로
Figure pct00429
Figure pct00430
채널(104) 내 노이즈 및 기타 결함으로 인해
Figure pct00431
의 손상된 버전이며,
Figure pct00432
Figure pct00433
간의 관계는 확률 모델에 의해 설명된다.
본 원리는 통신 채널(104)의 확률 모델을 사용하는데, 여기서 확률 모델은 채널 전이 확률 할당
Figure pct00434
에 의해 특징지어지며, 여기서
Figure pct00435
는 연접 인코더 출력 어레이 x가 채널 입력 포트(134)에서 전송되는 경우 채널(104)이 채널 출력 포트(136)에서 연접 디코더 입력 어레이 y를 생성하는 조건부 확률(또는 확률 밀도)이다. 본 원리는 채널 전이 확률 할당이 곱셈 형태
Figure pct00436
를 갖도록 채널(104)이 메모리리스 확률 모델에 부합하는 경우 가장 효과적으로 적용 가능하다.
여전히 도 1을 참조하면, 연접 디코더(106)가 내부 디코더(114), 외부 디코더(116) 및 재인코더(118)를 포함한다는 것을 알 수 있다. 연접 디코더(106)는 일반적인 세부 사항으로 도면이 복잡해지지 않도록 않기 위해서 도 1에는 도시되지 않은, 연접 디코더 제어 로직을 더 포함한다.
연접 디코더(106)는 연접 코드 C에 대해 계층화된 디코딩 동작을 수행하며, 여기서 계층화된 디코딩 동작은 i번째 계층 디코딩 동작을 포함하고, 여기서 i는 1≤i≤m 범위 내 정수이고, m은 계층 수이며, i번째 계층 디코딩 동작은 i번째 계층 내부 디코딩 동작, i번째 계층 외부 디코딩 동작, 및 i번째 계층 재인코딩 동작을 포함하고, i번째 계층 내부 디코딩 동작은 내부 디코더(114)에 의해 수행되며, i번째 계층 외부 디코딩 동작은 외부 디코더(116)에 의해 수행된다.
계층화된 디코딩 동작의 세부사항에 대해, 연접 디코더(106)의 실시예를 예시하는 흐름도(300)인 도 3을 참조한다.
Figure pct00437
(
Figure pct00438
,
Figure pct00439
,…, b i,j ) 형식의 로컬 및 인과 프리 코딩 함수가 사용된다고 가정할 것이다.
연접 디코더(106)는 시작 상태에 있는 연접 디코더(106)로 단계 302에 있는 동작을 시작하는데, 채널 출력 포트(136)에서 이용 가능하게 될 때까지 연접 디코더 입력 어레이 y를 기다린다. y가 이용 가능해지면, 연접 디코더(106)는 단계 304로 이동하고 채널 출력 포트(136)로부터 y를 수신한다.
단계 306에서, 연접 디코더(106)는 계층 카운터를 i=1로 초기화한다. 계층 카운터의 작업은 현재 디코딩 중인 연접 코드의 계층을 계속 추적하는 것이다.
단계 308에서, 계층 카운터 값이 i로 설정된 상태에서, 내부 디코더(114)는 채널로부터 y를 수신하고, 재인코더(118)로부터 (i-1)째 판정 피드백
Figure pct00440
을 수신하고, (i-1)번째 누적 판정 피드백
Figure pct00441
,
Figure pct00442
을 사용하여 y를 디코딩하여 i번째 내부 디코더 판정
Figure pct00443
를 생성하는데, 여기서 k=1,…,i-2에 대해,
Figure pct00444
는 k번째 계층 재인코딩 동작 내 재인코더(118)에 의해 생성된 k번째 판정 피드백이고,
Figure pct00445
는 i번째 외부 코드 출력 블록 b i 의 추정치이다. i=1인, 연접 디코딩의 첫 번째 계층에서, (i-1)번째 누적 판정 피드백
Figure pct00446
,
Figure pct00447
은 null이므로; 내부 디코더(114)는 단지 y만을 사용하여 첫 번째 계층의 디코딩을 수행할 수 있다는 점을 유의해야 한다. 또한 이상적으로는, i번째 내부 디코더 판정
Figure pct00448
이 i번째 외부 코드 출력 블록 b i 과 동일하지만 채널(104) 내 노이즈 및 기타 결함으로 인해 때때로
Figure pct00449
Figure pct00450
가 다를 것이라는 점에 유의해야 한다.
Figure pct00451
Figure pct00452
가 매치하지 않으면, 본 원리는 i번째 외부 코드 Cout,i에 의존하여
Figure pct00453
내 오류를 수정하여
Figure pct00454
와 매치하는 i번째 판정 피드백
Figure pct00455
을 제공한다. 이에 따라서, i번째 판정 피드백
Figure pct00456
Figure pct00457
의 형식과 매치하는 형식 즉,
Figure pct00458
을 가지며, 여기서
Figure pct00459
이고,
Figure pct00460
이다.
내부 디코더(114)의 추가 세부 사항은 다음과 같다. 단계 308에서, 계층 카운터 값이 i로 설정된 상태에서, 내부 디코더(114)는
Figure pct00461
각각에 대해, 코드
Figure pct00462
에 대해 i번째 계층 내부 디코딩 동작을 실행하는데, 여기서
Figure pct00463
는 파라미터
Figure pct00464
,
Figure pct00465
를 갖는
Figure pct00466
에서의 PAC 코드이고, 동결 블록
Figure pct00467
Figure pct00468
로 주어지며, 여기서
Figure pct00469
는 1≤k≤i-1에 대해
Figure pct00470
이고
Figure pct00471
이며, 여기서
Figure pct00472
이다. 프리코딩 함수의 인과 특성은 내부 디코딩 동작의 이 단계를 구현하는데 필수적이다.
Figure pct00473
각각에 대해, 내부 코드
Figure pct00474
에 대한 i번째 계층 내부 디코딩 동작은 yi,
Figure pct00475
,
Figure pct00476
, 및
Figure pct00477
,
Figure pct00478
을 사용하여
Figure pct00479
를 생성하는 것을 포함하며 여기서
Figure pct00480
y의 j번째 행이다. 본 원리의 바람직한 실시예에서, 내부 디코더(114)는 아래에서 논의되는 바와 같은 예를 들어 순차 디코더와 같은, 트리 탐색 알고리즘을 사용하여
Figure pct00481
를 생성한다.
Figure pct00482
Figure pct00483
각각에 대해 준비되면, 내부 디코더(114)는 외부 디코더(116)에 i번째 내부 디코더 판정
Figure pct00484
을 전송함으로써 단계 308을 완료한다.
일반적으로, 판정은
Figure pct00485
Figure pct00486
와 동일한 심볼 알파벳의 심볼이다. 그러나, 본 원리의 일부 실시예에서, 예를 들어 내부 디코더(114)가 프리코딩 블록
Figure pct00487
과 일치하는
Figure pct00488
를 생성하는데 실패할 때, 또는 내부 디코더가 연산 타임아웃 제한을 구비하고 그 연산 타임아웃 제한 내에 디코딩을 완료할 수 없을 때, 내부 디코더(114)는 소거로서
Figure pct00489
를 마킹할 수 있다.
내부 코드
Figure pct00490
에 대한 i번째 계층 내부 디코딩 동작을 수행함에 있어서, 내부 디코더(114)는
Figure pct00491
,
Figure pct00492
Figure pct00493
,
Figure pct00494
의 정확한 추정치로 취급한다. 판정 피드백이 정확하지 않으면, 연접 디코더(106)는 그러한 오류로부터 절대 복구하지 않을 것이다. 즉, 내부 디코더(114)는 판정 피드백 내 오류를 정정할 수 없다. 그러나 외부 디코더(116)는 일반적으로 판정
Figure pct00495
의 오류를 정정할 것이다. 오류의 수, 즉
Figure pct00496
인 인덱스 j 수가 충분히 작으면, 외부 디코더(116)는 오류를 수정하여
Figure pct00497
와 같은 최종 판정
Figure pct00498
을 얻을 수 있을 것이다. 이제 외부 디코더(116)의 세부 사항으로 넘어간다.
단계 310에서, 계층 카운터 값이 i로 설정된 상태에서, 외부 디코더(116)는 i번째 외부 코드 Cout,i에 대해 i번째 계층 외부 디코딩 동작을 실행한다. 외부 디코더(116)는 외부 디코더 입력 포트(138)에서 내부 디코더(114)로부터 i번째 내부 디코더 판정
Figure pct00499
을 수신하고 i번째 외부 디코더 판정
Figure pct00500
를 생성한다. 이상적으로,
Figure pct00501
는 외부 디코더 입력 어레이 a의 i번째 행 a i 의 정확한 복사본이다. 때때로 i번째 계층 외부 디코딩 동작은 예를 들어 유한(bounded) 거리 디코더가 사용되고 오류 및/또는 소거의 수가 특정 임계값을 초과할 때 디코딩 실패를 초래할 수 있다. 외부 디코더(116)는 디코딩 실패를 검출했을 때, 중단 플래그를 설정한다. 디코딩 실패가 없는 경우, i번째 외부 디코더 판정
Figure pct00502
Figure pct00503
형식을 가지며, 여기서
Figure pct00504
이고,
Figure pct00505
이며,
Figure pct00506
는 i번째 외부 코드
Figure pct00507
의 차수이고,
Figure pct00508
는 i번째 외부 코드
Figure pct00509
에 대한 심볼 길이(비트 단위)이다. 이상적으로, 모든 i,j,k에 대해
Figure pct00510
를 가지며,
Figure pct00511
는 앞에서 정의한 대로, 외부 코드 입력 어레이
Figure pct00512
에 있는 요소
Figure pct00513
의 k번째 비트이다.
단계 312에서, 연접 디코더(106)는 중단 플래그가 설정되어 있는지를 체크하고; 중단 플래그가 설정되면, 디코딩은 단계 314를 실행함으로써 중단된다. 중단 동작에 이어, 연접 디코더(106)는 새로운 디코딩 사이클을 시작하기 위해 단계 314로부터 단계 302로 이동할 수 있다.
단계 316에서, 연접 디코더(106)는 디코딩의 m번째(최종) 계층이 완료되었는지를 체크한다. 그 결과가 "yes"이면, (후술하는) 단계 322로 진입함으로써 종료 절차가 실행되고; 체크 결과가 "no"이면, 디코딩은 단계 318을 계속한다.
단계 318에서, 계층 카운터 값이 i로 설정된 상태에서, 재인코더(118)는 i번째 계층 재인코딩 동작을 수행하는데, 여기서 i번째 계층 재인코딩 동작은 i번째 외부 디코더 판정
Figure pct00514
을 인코딩하여 i번째 판정 피드백
Figure pct00515
를 생성하고 내부 디코더 입력 포트(142)를 통해
Figure pct00516
를 내부 디코더로 전송하는 것을 포함하며, 여기서 i번째 판정 피드백
Figure pct00517
은 i번째 외부 디코더 판정
Figure pct00518
에 대응하는 i번째 외부 코드
Figure pct00519
내 코드워드
Figure pct00520
이다. 따라서, i번째 계층 재인코딩 동작은 외부 인코더(110)에서 수행되는 i번째 계층 외부 인코딩 동작
Figure pct00521
과 동일하다.
단계 320에서, 연접 디코더(106)는 계층 카운터 i의 값을 1만큼 증가시키고 단계 308로 진행하여 다음 계층의 디코딩을 개시한다
단계 322에서, 외부 디코더(116)는
Figure pct00522
를 설정함으로써
Figure pct00523
로부터 연접 디코더 출력 블록
Figure pct00524
,
Figure pct00525
,
Figure pct00526
을 생성하는데, 여기서
Figure pct00527
,
Figure pct00528
,
Figure pct00529
에 대해
Figure pct00530
이고,
Figure pct00531
는 단계 310에 관련하여 위에서 정의된 바와 같다. 단계 322 내 동작은 도 2의 단계 210 내 동작의 역순이다.
단계 324에서, 외부 디코더(116)는 연접 디코더 출력 포트(144)를 통해 연접 디코더 출력 블록
Figure pct00532
을 목적지로 전송한다.
단계 326에서, 연접 디코더(106)는 정지 상태로 진입함으로써 계층적 디코딩 동작을 완료한다. 하나의 계층화된 디코딩 동작에 이어 다른 계층화된 디코딩 동작이 이어지는 본 원리의 일부 실시예에서, 단계 326은 제거될 수 있고 단계 302가 새로운 디코딩 라운드를 개시하기 위해 즉시 단계 324에 이어질 수 있다.
이것으로 연접 디코더(106)의 설명을 마친다. 이것은 또한 본 원리의 기본 형태의 논의를 마친다. 이제 본 원리의 가장 바람직한 실시예로 넘어간다.
가장 바람직한 설계 방법론. 여기서 본 원리에 따라 연접 코드 C를 설계하기 위한 가장 바람직한 방법을 제시한다. 기본 설계 목표는 타겟 레이트 R과 타겟 FER
Figure pct00533
를 충족하는 연접 코드 C를 찾는 것이라고 가정한다. 타겟 레이트 R을 충족하는 초기 설계를 고려한다. 이하에서는 이러한 설계에 대해 FER
Figure pct00534
을 추정하는 방법을 보여준다.
첫 번째 작업은
Figure pct00535
,
Figure pct00536
), 및
Figure pct00537
를 추정하는 것이며, 여기서
Figure pct00538
는 내부 코드
Figure pct00539
에 대한 i번째 계층 심볼 오류 레이트이고,
Figure pct00540
는 내부 코드
Figure pct00541
에 대한 i번째 계층 심볼 소거 레이트이고,
Figure pct00542
는 i번째 내부 코드
Figure pct00543
에 대한 i번째 계층 미검출 심볼 오류 레이트이고, e는 소거 심볼이고, 소거 심볼 e는 i번째 외부 코드 심볼 알파벳
Figure pct00544
의 항이 아닌 임의의 심볼일 수 있고, i번째 계층 심볼 오류 레이트
Figure pct00545
및 i번째 계층 심볼 오류 레이트
Figure pct00546
는 디코더가 지니(genie)에 의해 정확한 심볼 값
Figure pct00547
을 제공받았다는 가정하에 측정된다. 이러한 오류 성능의 지니-지원 분석(genie-aided analysis)은 폴라 코드의 설계에서 일반적이고 여기에서 동일한 유형의 설계 방법이 사용된다는 것은 당업자가 알고 있을 것이다.
모든 i 및 j에 대해 확률
Figure pct00548
Figure pct00549
가 추정되면, 다음 단계는 각 i에 대해 i번째 외부 코드
Figure pct00550
에 대한 FER
Figure pct00551
을 추정하는 것이다. 여기서, 우리는 경계
Figure pct00552
를 사용하는데, 여기서
Figure pct00553
는 이벤트 {
Figure pct00554
}에 대한 확률이고,
Figure pct00555
는 i번째 외부 코드
Figure pct00556
의 최소 거리이고, t와 s는 각각 복수의 i번째 계층 내부 코드
Figure pct00557
의 출력에서의 미검출 심볼 오류 및 심볼 소거의 수이다.
Figure pct00558
를 연산하는 것은 간단하며, 특히, 파라미터
Figure pct00559
,
Figure pct00560
Figure pct00561
가 내부 코드 인덱스 j에 의존하지 않으면, 당업자는
Figure pct00562
가 아래와 같이 연산될 수 있다는 것을 알 것이다.
Figure pct00563
여기서, 합계는
Figure pct00564
를 만족하는 음이 아닌 정수 t 및 s의 모든 쌍에 걸친 것이다.
Figure pct00565
가 상기 공식에 의해 연산되거나 임의의 다른 방식으로 추정되면, 연접 코드 C에 대해 FER
Figure pct00566
에 대한 상단 경계(upper bound)를 얻기 위해 합 경계(union bound)
Figure pct00567
를 사용한다. FER
Figure pct00568
에 대한 설계 목표가 충족되지 않으면, 새로운 파라미터 세트를 시도한다. 실행 가능한 설계를 찾고 이것을 개선하기 위해서는 내부 및 외부 코드의 파라미터 공간에 대한 상당한 양의 검색이 필요하다.
가장 바람직한 실시예 . 본 원리의 가장 바람직한 실시예에서, i번째 외부 코드
Figure pct00569
Figure pct00570
,
Figure pct00571
를 갖는 필드
Figure pct00572
에서의 리드-솔로몬 코드이고, 여기서 리드-솔로몬 코드는 블록 길이
Figure pct00573
를 갖는 표준 리드-솔로몬 코드, 또는 블록 길이
Figure pct00574
를 갖는 단축된 리드-솔로몬 코드, 또는 블록 길이
Figure pct00575
를 갖는 확장된 리드-솔로몬 코드일 수 있다.
리드-솔로몬 코드는 최소 거리 분리가 가능하므로, 가장 바람직한 실시예에서 i번째 외부 코드는 최소 거리
Figure pct00576
를 갖는다. i번째 외부 코드
Figure pct00577
Figure pct00578
인 경우 t 오류 및 s 소거의 임의 조합을 수정할 수 있는 (Berlekamp-Massey 알고리즘과 같은) 유한(bounded) 거리 디코더를 사용하여 디코딩된다.
본 원리의 가장 바람직한 실시예에서 내부 코드는 외부 코드의 수와 같은 개수의 계층을 갖는 LPAC 코드이다. 복수의 데이터 계층 인덱스 집합을 선택하기 위한 가장 바람직한 방법은 신뢰도 스코어 함수 방법이다.
선택적으로, 내부 인코더(112)는 디코더에서 오류 검출을 위해 프리코딩을 사용한다. 프리코딩 옵션을 사용하면, 프리코딩의 가장 바람직한 방법은 낮은 복잡성의 인코딩 및 오류 검출 회로를 갖는 오류 검출 방법의 일종인 CRC(Cyclic Redundancy Check)를 사용하는 것이다.
가장 바람직한 실시예에서, 내부 디코더(114)는 순차 디코딩 알고리즘을 사용한다. 프리코딩 옵션이 내부 인코더(112)에 의해 사용된다면, 내부 디코더는 오류 검출을 사용하고 오류가 검출되었을 때 소거 심볼을 출력한다.
가장 바람직한 실시예에서, 선택적으로, 내부 디코더(114)에 의해 사용되는 순차 디코더는 과도한 연산을 억제하기 위한 타임아웃 규칙을 구비하고 있는데, 이 타임아웃 규칙은 순차 디코더가 코드 트리 내 노드 S의 특정 부분 집합에 방문하는 횟수를 카운트하고 그 카운트가 소정 사전 규정된 제한 Vmax를 초과하면 디코딩을 중지(중단)한다. 예를 들어, S는 코드 트리 내 모든 노드의 집합 또는 코드 트리 내 소정 레벨 i에 있는 모든 노드의 집합일 수 있다. 여러 타임아웃 규칙을 동시에 적용할 수 있다. 스택 알고리즘이 순차 디코더로 사용되면, 스택 알고리즘은 어떤 노드도 한 번 이상 방문할 수 없기 때문에 S 내 모드로의 방문 횟수가 명확하다. 반면에 Fano 알고리즘은 노드를 여러 번 방문할 수 있다(다른 "임계값" 값 사용). Fano 알고리즘의 경우, 타임아웃 규칙을 구현하는 대안적 방법은 집합 S 내 노드로의 첫 번째 방문만을 카운트하는 것이다.
예. 아래에서 본 원리의 가장 바람직한 실시예의 네 가지 예를 제시한다. 이러한 예들을 제공하는 목적은 특히 GCC/MLC 스킴에서 효과적인 내부 코딩 방법으로서 LPAC 코드의 유용성과 같은 본 원리의 실용적인 유용성을 설명하기 위한 것이다. 예들은 또한 프리코딩 및 연산 타임아웃 방법이 성능 향상 및 디코더 복잡성 감소를 위한 본 원리의 효과적인 구성요소임을 설명하는 것을 목표로 한다. 먼저 네 가지 예의 공통적인 특징을 설명할 것이다.
모든 예는 타겟 데이터 레이트 R=0.75 및 타겟 FER 10-15를 충족하도록 설계된 연접 코드 C를 보여준다. 예에서 모든 연접 코드 C는 동일한 블록 길이 Nout=256, Nin=128, 및 N=NoutNin=32,768을 가지며; 이를 통해 서로 다른 설계 간의 공정한 비교가 가능하다.
예에서의 채널은 곱 형태의 채널 전이 밀도 함수
Figure pct00579
를 갖는 BI-AWGN(binary-input additive Gaussian Noise)채널이다. 여기서,
Figure pct00580
이고, xj,k=0이면 sj,k=1이고, xj,k=1이면 sj,k=-1이다. 채널은 5.5데시벨(dB)의 신호 대 잡음비(SNR)에서 동작되며, 여기서 SNR(dB 단위)는
Figure pct00581
로서 정의된다. 따라서, 5.5dB SNR은
Figure pct00582
에 대응한다.(여기서 설명된 BI-AWGN 채널은 BPSK(Binary Phase Shift Keying) 변조를 위한 모델이다).
예에서, 외부 코드
Figure pct00583
는 블록 길이 Nout=256을 갖는
Figure pct00584
에서의 확장된 리드-솔로몬 코드이다. 외부 코드의 수 m은 고정되고, 외부 코드
Figure pct00585
의 차수
Figure pct00586
는 자유 설계 파라미터로서 남겨진다. i번째 외부 코드
Figure pct00587
는 유한 거리 디코더를 사용하여 디코딩되고, 이것은
Figure pct00588
인 경우 t 오류와 s 소거의 임의 조합을 수정할 수 있으며, 여기서
Figure pct00589
이다.
예에서 내부 코드
Figure pct00590
는 블록 길이
Figure pct00591
,
Figure pct00592
,
Figure pct00593
계층, 임펄스 응답
Figure pct00594
, 및 동결 블록
Figure pct00595
을 갖는
Figure pct00596
에서의 LPAC 코드이다. 데이터 인덱스 집합 A 및 내부 코드 Cin의 계층 인덱스 집합 {Li}은 신뢰도 스코어 함수를 사용하여 선택되는데, 여기서 신뢰도는 5.5dB의 동작 SNR에서 BI-AWGN 채널에 대한 밀도 진화 방법에 의해 연산된다. 네 가지 예 모두에 있는 계층 인덱스 집합은 아래와 같다.
Figure pct00597
{14, 15, 20, 41, 49, 67, 69, 73},
Figure pct00598
{22, 23, 26, 27, 36, 38, 81, 97},
Figure pct00599
{29, 39, 42, 43, 45, 50, 68, 70},
Figure pct00600
{16, 51, 53, 71, 74, 75, 77, 82},
Figure pct00601
{24, 28, 57, 83, 85, 89, 98, 99},
Figure pct00602
{30, 31, 40, 44, 46, 101, 105, 113},
Figure pct00603
{47, 52, 54, 55, 58, 72, 76, 78},
Figure pct00604
{59, 61, 79, 84, 86, 87, 90, 100},
Figure pct00605
{91, 93, 102, 103, 106, 107, 109, 114},
Figure pct00606
{32, 48, 56, 60, 80, 115, 117, 121},
Figure pct00607
{62, 63, 88, 92, 94, 95, 104, 108},
Figure pct00608
{110, 111, 116, 118, 119, 122, 123, 125},
Figure pct00609
{64, 96, 112, 120, 124, 126, 127, 128}.
예에서 내부 디코더는 Fano 순차 디코더이다. 이하의 모든 예에서, 타임아웃 규칙은 코드 트리 내 모든 노드로의 방문 수에 대해 경계
Figure pct00610
로 적용되며 각 노드로의 각 방문이 (첫 번째 방문이 아니라도) 카운트된다.
예에서 설계 방법론은 내부 코드
Figure pct00611
의 출력에서 심볼 오류 확률
Figure pct00612
과 심볼 소거 확률
Figure pct00613
을 추정하기 위한 시뮬레이션을 포함한다. 여기서, 파라미터
Figure pct00614
Figure pct00615
는 BI-AWGN 채널의 대칭성과 BPSK 변조로 인해 인덱스 j에 의존하지 않으므로, 표기법을 단순화하여
Figure pct00616
Figure pct00617
대신에
Figure pct00618
Figure pct00619
로 쓴다.
미검출 심볼 오류 레이트
Figure pct00620
과 추정된 심볼 소거 레이트
Figure pct00621
을 추정하기 하기 위해, 200개의 미검출 심볼 오류 또는 심볼 소거가 관찰되거나 또는 시행 횟수가 100만 회에 도달할 때까지 시뮬레이션을 수행하였다. 일부 경우에는, 확률
Figure pct00622
Figure pct00623
이 너무 작아서 실제로 시뮬레이션으로 추정할 수 없다. 이러한 경우,
Figure pct00624
Figure pct00625
를 추정하기 위해 밀도 추정 방법을 기반으로 하는 보수적인 상단 경계를 사용했다. 확률
Figure pct00626
Figure pct00627
이 모든 i에 대해 추정되면,
Figure pct00628
이 타겟 FER보다 작아지도록 차원
Figure pct00629
을 선택했으며. 여기서
Figure pct00630
는 i번째 외부 코드
Figure pct00631
에 대한 FER이다. 위에 주어진 공식을 사용하여
Figure pct00632
을 연산했다.
예 1. 첫 번째 예에서, 내부 코드는 블록 길이
Figure pct00633
, 차원
Figure pct00634
, 및
Figure pct00635
계층 개수를 갖는 LPAC 코드이다. 다수의 외부 코드
Figure pct00636
는 표 1의 두 번째 열에 나열된 블록 길이
Figure pct00637
, 차수
Figure pct00638
를 갖는
Figure pct00639
에서의 확장된 리드-솔로몬 코드이다. (i=12, 13인 경우, i번째 외부 코드
Figure pct00640
는 레이트 1을 갖고; 달리 말하면, 계층 13, 14는 외부 코드에 의해 보호되지 않는다. 따라서, 실제로 계층 12, 13, 14가 단일 계층으로 결합하고, 결합된 계층은 심볼 길이 8+8=16비트를 갖는 단일 계층으로 볼 수 있다.)
외부 코드에 대한 심볼 길이는 표 1의 세 번째 열에 표시되는 것처럼, pi=8이다. 이 예에는 프리코딩이 없으므로, 프리코딩 블록 길이 ri는 표 1의 세 번째 열에도 표시되어 있는 것처럼 0으로 설정된다.
내부 디코더는 코드 트리 내 모든 노드에 대한 방문 횟수에 대해 타임아웃 제한
Figure pct00641
을 갖는 순차 디코더이다. 표 1의 네 번째 열은
Figure pct00642
을 표시하는데, 여기서
Figure pct00643
는 모든 시뮬레이션 실행 전체에서, 코드 트리 내 노드를 방문한 횟수의 평균이다. (각 노드에 대한 각 방문은 첫 번째 방문이 아니더라도, 예외없이 연산된다.) 중간값 연산은
Figure pct00644
와 차이남을 알았다.
표 1의 다섯 번째 및 여섯 번째 열은 1≤i≤13 각 계층에 대한 추정된 미검출 심볼 오류 레이트
Figure pct00645
및 추정된 심볼 소거 레이트
Figure pct00646
를 나타낸다. 이 예서에는 프리코딩이 없기 때문에; 프리코딩에 의한 오류 검출은 불가능하다. 그러나 소거는 타임아웃 제한
Figure pct00647
으로 인해 여전히 발생할 수 있다. 모든 계층에서
Figure pct00648
이라는 사실은
Figure pct00649
이 연산 복잡성에 대한 느슨한 한계라는 표시이다.
계층 7 내지 13의 경우, 100만 번의 시험 시뮬레이션에서는 미검출 오류 또는 소거가 발생하지 않았다; 그래서 상술한 것처럼 보수적인 분석 상단 경계를 사용했다. 이러한 분석 추정치는 표 1의 여섯 번째 열에 "*"로 마킹되어 있다.
표 1의 일곱 번째 열에 기재된 FER 값
Figure pct00650
는 위에서 주어진 공식에 의해 얻어졌다. 합계
Figure pct00651
Figure pct00652
과 동일하고, 이는 이 예에서 연접 코드에 대한 FER이 타겟 FER 10-15를 만족한다는 것을 나타낸다.
코드 레이트의 경우, 최종 연접 코드는 차원
Figure pct00653
, 코드 블록 길이
Figure pct00654
및 레이트
Figure pct00655
을 갖는다. (임의로 큰 블록 길이 허용하는) BI-AWGN 채널에 대해 데이터 레이트 R=0.750을 달성하기 위해 요구되는 최소 SNR에 대한 Shannon 제한은 3.381dB이다; 따라서 이 예에서 연접 코드에 대한 Shannon 제한에 대한 갭은 약 2.119dB이다.
표 1. 가장 바람직한 실시예의 첫 번째 예에 대한 파라미터.
Figure pct00656
예 2. 두 번째 예는 임펄스 응답 다항식
Figure pct00657
를 사용하는 4비트 CRC로 프리코딩을 사용한다는 점을 제외하면 첫 번째 예와 동일하다. CRC가 내부 코드의 전체 데이터 페이로드에 대해 체크되고, 표 2의 두 번째 열의 마지막 항목에 나타내지는 것처럼, CRC 비트가 내부 코드의 마지막 계층(계층 13)에 삽입된다. CRC는 내부 디코더 출력에서의 오류 중 일부를 소거로 마킹할 수 있어, 결과적으로 외부 코드의 효율성을 높인다.
세 번째 예에 대한 시뮬레이션 결과가 표 2에 제시된다. 합계
Figure pct00658
는 3.08·10-16와 동일하며, 이는 이 예에서 연접 코드에 대한 FER이 타겟 FER 10-15를 충족한다는 것을 보여준다. 이 예에서 연접 코드는 차원
Figure pct00659
, 블록 길이
Figure pct00660
, 및 레이트
Figure pct00661
를 가진다. BI-AWGN 채널에 대해
Figure pct00662
를 달성하는데 필요한 최소 SNR에 대한 Shannon 제한은 3.686dB이다; 따라서 이 예에서 연접 코드에 대한 Shannon 제한에 대한 갭은 1.814dB로 추정된다.
이 두 번째 예는 CRC가 일부 오류를 소거로 마킹하는 것을 돕고 외부 디코더가 PAC 코드에 의해 남겨진 더 많은 수의 오류로부터 복구할 수 있도록 함으로써 Shannon 제한에 대한 갭을 좁힐 수 있음을 보여준다. 일반적으로, b-bit CRC는 내부 코드의 출력에서 심볼 오류의 일부 2-b를 검출하지 못할 것이다. CRC의 길이 b는 신중하게 선택해야 하는데; 작은 b는 프리코딩 오버헤드가 적다는 것을 의미하지만 오류를 검출하는 데 더 큰 b만큼 효과적이지 않을 것이다.
표 2. 가장 바람직한 실시예의 두 번째 예에 대한 파라미터.
Figure pct00663
예 3. 세 번째 예는
Figure pct00664
를 설정한 것을 제외하면 첫 번째 예와 동일하다. 세 번째 예에 대한 시뮬레이션 결과는 표 3에 제시된다. 합계
Figure pct00665
는 4.33·10-16과 동일한데, 이는 이 예에서 연접 코드에 대한 FER이 타겟 FER 10-15를 충족한다는 것을 보여준다.
연접 코드는 차원
Figure pct00666
, 블록 길이
Figure pct00667
, 및 레이트
Figure pct00668
이다. BI-AWGN 채널에 대해 R=0.749를 달성하기 위해 필요한 최소 SNR에 대한 Shannon 제한은 3.371dB이며; 따라서 이 예에서 연접 코드에 대한 Shannon 제한에 대한 갭은 2.129dB로 추정된다.
여기에서 훨씬 더 엄격한 타임아웃 제한
Figure pct00669
을 가짐에도 불구하고, 이 예에서의 코드 레이트, 용량 갭, 평균 연산
Figure pct00670
/
Figure pct00671
이 첫 번째 예시에서의 대응하는 수량에 모두 근접하다는 점을 주목할 만 한다. 더 엄격한 연산 타임아웃 제한은 그 자체가 디코더 타임아웃의 결과로서 소거를 생성하는 것을 나타낸다. 이러한 타임아웃은 내부 코드 성능의 주요 판정 요인이 되는 상위 계층에서 특히 중요하다. 이 예에서, 시뮬레이션은 모든 계층에서 측정된 오류/소거를 생성했으므로, 분석적 한계를 사용할 필요가 없다.
표 3. 가장 바람직한 실시예의 세 번째 예에 대한 파라미터.
Figure pct00672
예 4. 네 번째 예는 두 번째 예와 동일한 4비트 CRC를 사용하고 세 번째 예와 같이
Figure pct00673
를 설정하는 것을 제외하고, 첫 번째 예와 동일하다. 네 번째 예에 대한 시뮬레이션 결과는 표 4에 제시된다. 합계
Figure pct00674
는 2.91·10-16과 동일하며, 이는 이 예에서 연접 코드에 대한 FER이 타겟 FER 10-15를 충족한다는 것을 나타낸다. 이 예에서 연접 코드는 차원
Figure pct00675
, 블록 길이
Figure pct00676
, 및 레이트
Figure pct00677
를 가진다. BI-AWGN 채널에 대해 R=0.765를 달성하는데 필요한 최소 SNR에 대한 Shannon 제한은 3.585dB이며; 따라서 이 예에서 연접 코드에 대한 Shannon 제한에 대한 갭은 1.915dB로 추정된다.
첫 번째와 세 번째 예를 비교하면, 용량에 대한 갭이 크게 개선되었으며, 이는 프리코딩의 존재에 의해 설명된다. 두 번째 예와 비교하면, 용량에 대한 갭이 약간 저하되는데, 이는 엄격한 타임아웃 제한을 사용해도 성능이 크게 저하되지 않았음을 나타낸다. 또한 타임아웃 메커니즘은 그 자체가 최초 계층을 디코딩하는 것이라고 느낀 반면, CRC는 최종 계층에서 오류를 검출하는데 효과적이라는 것을 관찰했다. 따라서, 두 가지 방법은 소거를 생성하는 것에서 서로를 보완했다.
표 4. 가장 바람직한 실시예의 네 번째 예에 대한 파라미터.
Figure pct00678
추가 구현 세부 사항
본 원리의 가장 바람직한 실시예를 설명하기 위해 네 가지 예시를 들었다. 다음은 이러한 예들에서 다뤄지지 않은 본 원리의 일부 대안적인 실시예를 설명한다.
가장 바람직한 실시예는 PAC 코드를 위한 내부 디코더로서 순차 디코더에 대하여 설명되었다. 순차 디코더는 원래 컨볼루션 코드의 디코딩을 위해 설계된 깊이-우선 탐색 알고리즘이다. 당업자는 예를 들어, 폭-우선 탐색 알고리즘과 같은, Viterbi 디코딩 또는 상태별 후보 경로 목록을 갖는 Viterbi 디코딩을 포함하는 컨볼루션 코딩 또는 폴라 코드에 대한 연속 취소 목록 디코딩과 유사한 빔 탐색 알고리즘을 위해 원래 설계된 다양한 다른 디코딩 방법을 적응시킴으로써 내부 PAC 코드를 디코딩하는 것도 가능하다는 것을 알 것이다.
본 원리의 가장 바람직한 실시예에서, 타임아웃 규칙은 타임아웃 제한
Figure pct00679
에 의해 시행되었다. 대안예는 디코딩 동작을 완료한 i번째 계층 내부 디코더의 개수가 소정 임계값을 초과하자마자 i번째 계층 내부 디코딩을 i번째 외부 코드의 디코딩으로 전환하는 것이다.
상술한 두 번째와 네 번째 예에서는, 단일 프리코딩 블록이 LPAC 코드의 마지막 계층에 배치되었다. 이러한 프리코딩 블록은 모든 계층에 대한 체크를 제공하지만; 내부 코드에 대한 순차 디코더는 오류 검출을 위해 프리코딩 블록을 활용하기 전에 검색을 완료해야 한다. 대안예는 오류 검출 속도를 높이기 위해 여러 계층에 분산된 다수의 프리코딩 블록을 사용하는 것이다.
가장 바람직한 실시예는 외부 리드-솔로몬 코드에 대한 유한 거리 디코더에 대해 설명되었다. 대안적인 구현예에서, 유한 거리 디코더는 내부 디코더에 의해 제공되는 소프트 정보를 활용할 수 있는 디코더 유형인 GMD(Generalized Minimum Distance) 디코더와 같은 더 강력한 디코더로 대체될 수 있다.
본 원리는 이진 알파벳
Figure pct00680
에서의 내부 코드에 대해서 제시되었다. 당업자는 비이진법 알파벳에 대한 내부 코드의 경우에 본 원리를 일반화하는데 어려움이 없을 것이다.
본 원리는 내부 LPAC 코드의 비체계적 인코딩에 대해서 제시되었다. 내부 LPAC 코드의 체계적인 인코딩으로 본 원리를 구현할 수 있다.
본 원리는 내부 LPAC 코드가 2의 거듭제곱인 블록 길이 Nin을 갖는 경우에 대해 제시되었다. 대안예는 그 내용이 참조로서 본 명세서에 편입되는 "E. Arikan, 미국 특허 출원 NO.16700972, 2019년 12월 2일"에 개시된 방법을 사용함으로써 블록 길이 Nin을 원하는 값으로 조정하기 위해 PAC 코드 단축 및 천공 방법을 사용하는 것이다.
이것으로 본 원리의 다양한 실시예에 대한 설명을 마친다. 이제 본 원리가 사용될 수 있는 통신 시스템의 몇 가지 예를 살펴본다. 본 원리는 높은 신뢰성으로 데이터를 보호해야 하는 모든 유형의 통신 또는 저장 시스템에서 사용될 수 있다. 이러한 시스템의 예로는 (위성 및 광 통신을 포함하는) 무선 및 유선 통신 시스템 및 컴퓨터 메모리 또는 클라우드 저장 시스템을 포함한다.
도 4는 본 개시에 따라 연접 편극 조정 컨볼루션 코드를 사용하는 데이터의 인코딩 및 디코딩이 구현될 수 있는 예시적 무선 네트워크를 도시한다. 도 4에 도시된 무선 네트워크(400)의 실시예는 단지 예시를 위한 것이다. 무선 네트워크(400)의 다른 실시예는 본 개시의 범위를 벗어나지 않고 사용될 수 있다. 무선 네트워크(400)는 eNodeB(eNB)(401), eNB(402) 및 eNB(403)를 포함한다. eNB(401)는 eNB(402) 및 eNB(403)와 통신한다. eNB(401)는 또한 인터넷, 독점 IP 네트워크 또는 다른 데이터 네트워크와 같은 적어도 하나의 인터넷 프로토콜(IP) 네트워크(430)와 통신한다.
네트워크 유형에 따라, "eNodeB" 또는 "eNB" 대신 "기지국", "BS", 또는 "액세스 포인트"와 같은 다른 잘 알려진 용어가 사용될 수 있다. 편의상, "eNodeB" 및 "eNB"라는 용어는 이 특허 문서에서 원격 터미널에 무선 액세스를 제공하는 네트워크 인프라 구성 요소를 지칭하기 위해 사용된다. 또한, 네트워크 유형에 따라, "이동국"(또는 "MS"), "가입자 스테이션"(또는 "SS"), "원격 터미널", "무선 터미널" 또는 "사용자 디바이스"와 같은 "사용자 장비" 또는 "UE" 대신 다른 잘 알려진 용어가 사용될 수 있다. 편의상, 본 특허 문서에서 "사용자 장비" 및 "UE"라는 용어는, UE가 모바일 디바이스(예를 들어 이동 전화 또는 스마트 폰)인지 또는 일반적으로 고려되는 고정 디바이스(예를 들어 데스크톱 컴퓨터 또는 자동 판매기)인지 여부에 관계없이, eNB에 무선으로 액세스하는 원격 무선 장비를 지칭하기 위해 사용되었다.
eNB(402)는 eNB(402)의 커버리지 영역(420) 내의 제1 복수의 사용자 장비(UE)에 대해 네트워크(430)에 대한 무선 광대역 액세스를 제공한다. 제1 복수의 UE는 소기업(SB)에 위치될 수 있는 UE(411); 기업(E)에 위치될 수 있는 UE(412); WiFi 핫스팟(HS)에 위치될 수 있는 UE(413); 제1 거주지(R1)에 위치될 수 있는 UE(414); 제2 거주지(R2)에 위치될 수 있는 UE(415); 및 휴대 전화, 무선 랩톱, 무선 PDA(Personal Digital Assistant), 태블릿 등과 같은 모바일 디바이스(M)일 수 있는 UE(416)를 포함한다. eNB(403)는 eNB(403)의 커버리지 영역(425) 내의 제2 복수의 UE들에 대해 네트워크(430)에 대한 무선 광대역 액세스를 제공한다. 제2 복수의 UE는 UE(415) 및 UE(416)를 포함한다. 일부 실시예에서, 하나 이상의 eNB(401-403)는 3G, 4G 또는 5G, LTE(long-term evolution), LTE-A, WiMAX 또는 기타 고급 무선 통신 기술을 사용하여 서로 및 UE(411-416)와 통신할 수 있다.
점선은 커버리지 영역(420 및 425)의 대략적인 범위를 나타내며, 이는 단지 예시 및 설명을 위해 대략 원형으로 도시된다. 커버리지 영역(420 및 425)과 같은 eNB와 연관된 커버리지 영역은, eNB의 구성 및 자연 및 인공 장애물과 연관된 무선 환경의 변화에 따라 달라지는 불규칙한 모양을 포함하여 다른 모양을 가질 수 있음을 분명히 이해해야 한다.
아래에서 더 상세히 설명되는 바와 같이, eNB(401), eNB(402) 및 eNB(403) 중 하나 이상은 본 개시의 실시예들에서 설명된 바와 같이 2D 안테나 어레이를 포함한다. 일부 실시예에서, eNB(401), eNB(402) 및 eNB(403) 중 하나 이상은 2D 안테나 어레이를 갖는 시스템에 대한 코드북 설계 및 구조를 지원한다.
도 4는 무선 네트워크(400)의 일례를 도시하고 있지만, 도 4에 대해 다양한 변경이 이루어질 수 있다. 예를 들어, 무선 네트워크(400)는 임의의 적절한 배열로 임의의 수의 eNB 및 임의의 수의 UE를 포함할 수 있다. 또한, eNB(401)는 임의의 수의 UE들과 직접 통신할 수 있고, 이들 UE들에게 네트워크(430)에 대한 무선 광대역 액세스를 제공할 수 있다. 마찬가지로, 각각의 eNB(402-403)는 네트워크(430)와 직접 통신할 수 있고, UE들에게 네트워크(430)에 대한 직접적인 무선 광대역 액세스를 제공할 수 있다. 또한, eNB(401, 402 및/또는 403)는 외부 전화 네트워크 또는 다른 유형의 데이터 네트워크와 같은 다른 또는 추가 외부 네트워크에 대한 액세스를 제공할 수 있다.
도면에 도시되고 위에서 설명된 예시적인 채널 디코딩 시스템은 아래에서 더 상세히 설명되는 바와 같이 eNB(예를 들어 eNB(402)) 및/또는 UE(예를 들어 UE(416))에서 구현될 수 있다.
도 5a는 본 개시에 따라 연접 편극 조정 컨볼루션 코드를 사용하는 데이터의 인코딩 및 디코딩이 구현될 수 있는 예시적 사용자 장비 네트워크를 도시한다. 도 5a에 예시된 UE(416)의 실시예는 단지 예시를 위한 것이며, 도 4의 UE(411-416)는 동일하거나 유사한 구성을 가질 수 있다. 그러나, UE는 매우 다양한 구성으로 제공되며, 도 5a는 본 개시의 범위를 UE의 임의의 특정 구현으로 제한하지 않는다.
UE(416)는 안테나(505), 무선 주파수(RF) 송수신기(510), 전송(TX) 처리 회로(515) (도 1의 연접 인코더(102)를 포함할 수 있음), 마이크(520) 및 수신(RX) 처리 회로(525) (도 1의 연접 디코더(106)를 포함할 수 있음)를 포함한다. UE(416)는 또한 스피커(530), 메인 프로세서(540), 입/출력(I/O) 인터페이스(IF)(545), 키패드(550), 디스플레이(555) 및 메모리(560)를 포함한다. 메모리(560)는 기본 운영 체제(OS) 프로그램(561) 및 하나 이상의 애플리케이션(562)을 포함한다. OS 프로그램(561), 애플리케이션(562) 중 하나 또는 이들의 일부 조합은 도 1 내지 도 3의 다양한 실시예에서 설명된 바와 같이 오류 정정 코딩을 사용하기 위한 프로그래밍을 구현할 수 있다.
RF 송수신기(510)는 안테나(505)로부터 네트워크(400)의 eNB에 의해 전송된 유입 RF 신호를 수신한다. RF 송수신기(510)는 유입 RF 신호를 다운 컨버팅하여 수신기(RX) 처리 회로(525)로 전송될 중간 주파수(IF) 또는 기저 대역 신호를 생성할 수 있다. RX 처리 회로(525)는 (예를 들어 음성 데이터에 대해) 처리된 신호를 스피커(530)로 또는 (예를 들어 웹 브라우징 데이터에 대해) 추가 처리를 위해 메인 프로세서(540)로 전송한다.
송신(TX) 처리 회로(515)는 소스 데이터 블록에 대한 적어도 일부 입력 데이터, 마이크로폰(520)으로부터의 아날로그 또는 디지털 음성 데이터 또는 메인 프로세서(540)로부터 다른 발신 기저 대역 데이터(예를 들어 웹 데이터, 이메일 또는 대화형 비디오 게임 데이터)를 수신한다. TX 처리 회로(515)는 인코딩을 구현한다. RF 송수신기(510)는 발신 처리된 기저 대역 또는 IF 신호를 TX 처리 회로(515)로부터 수신하고, 기저 대역 또는 IF 신호를 안테나(505)를 통해 전송되는 RF 신호로 업 컨버팅한다.
메인 프로세서(540)는 하나 이상의 프로세서 또는 다른 처리 디바이스를 포함할 수 있고, UE(416)의 전반적인 동작을 제어하기 위해 메모리(560)에 저장된 기본 OS 프로그램(561)을 실행할 수 있다. 예를 들어, 메인 프로세서(540)는 잘 알려진 원리에 따라 RF 송수신기(510), RX 처리 회로(525) 및 TX 처리 회로(515)에 의한 순방향 채널 신호의 수신 및 역방향 채널 신호의 송신을 제어할 수 있다. 일부 실시예에서, 메인 프로세서(540)는 적어도 하나의 프로그래머블 마이크로 프로세서 또는 마이크로 컨트롤러를 포함하는 반면, 다른 실시예에서 메인 프로세서는 전용 회로(예를 들어, 체계적 및/또는 비 체계적 인코딩 또는 디코딩 프로세스, 단축 프로세스, 데이터 매핑 등을 위한 것)뿐만 아니라 (선택적으로) 프로그래머블 로직 또는 처리 회로를 포함한다.
메인 프로세서(540)는 또한 2D 안테나 어레이를 갖는 시스템에 대한 채널 품질 측정 및 보고를 위한 동작과 같이 메모리(560)에 상주하는 다른 프로세스 및 프로그램을 실행할 수 있다. 메인 프로세서(540)는 실행 프로세스에 의해 요구되는 대로 데이터 및/또는 명령을 메모리(560) 안팎으로 이동시킬 수 있다. 일부 실시예에서, 메인 프로세서(540)는 OS 프로그램(561)에 기초하여 또는 eNB 또는 운영자로부터 수신된 신호에 응답하여 애플리케이션(562)을 실행하도록 구성된다. 메인 프로세서(540)는 또한 I/O 인터페이스(545)에 연결되며, 이는 UE(416)에 랩탑 컴퓨터 및 핸드헬드 컴퓨터와 같은 다른 디바이스에 연결하는 기능을 제공한다. I/O 인터페이스(545)는 이들 액세서리와 메인 컨트롤러(540) 사이의 통신 경로이다.
메인 프로세서(540)는 또한 키패드(550)(단순히 단일 버튼일 수 있거나 어레이 또는 다른 버튼들의 세트일 수 있음) 및 디스플레이 유닛(555)에 결합된다. UE(416)의 운영자는 키패드(550)를 사용하여 UE(416)에 데이터를 입력할 수 있다. 디스플레이(555)는 예를 들어 웹 사이트로부터 텍스트 및/또는 적어도 제한된 그래픽을 렌더링할 수 있고, 공지된 관행에 따라 사용자에 의해 터치 입력을 수신할 수 있는 터치 스크린 디스플레이 또는 다른 디스플레이일 수 있다.
메모리(560)는 메인 프로세서(540)에 연결되고, 메모리(560)의 적어도 일부는 랜덤 액세스 메모리(RAM)를 포함할 수 있고, 메모리(560)의 다른 부분은 플래시 메모리 또는 다른 읽기 전용 메모리(ROM)를 포함할 수 있다.
도 5a는 UE(416)의 일례를 도시하고 있지만, 도 5a에 대해 다양한 변경이 이루어질 수 있다. 예를 들어, 도 5a의 다양한 구성 요소가 조합되거나, 더 세분화되거나, 생략될 수 있고, 특정 요구에 따라 추가 구성 요소가 추가될 수 있다. 특정 예로서, 메인 프로세서(540)는 하나 이상의 중앙 처리 장치(CPU), 하나 이상의 응용 주문형 집적 회로(ASIC), 하나 이상의 필드 프로그래머블 게이트 어레이(FPGA) 및 하나 이상의 그래픽 처리 유닛(GPU)과 같은 다중 프로세서로 분할될 수 있다. 또한, 도 5a는 이동 전화 또는 스마트폰으로 구성된 UE(416)를 예시하지만, UE는 다른 유형의 이동 또는 고정 디바이스로서 동작하도록 구성될 수 있다.
도 5b는 본 개시에 따라 연접 편극 조정 컨볼루션 코드를 사용하는 데이터의 인코딩 및 디코딩이 구현될 수 있는 예시적 eNB(enhanced NB) 네트워크를 예시한다. 도 5b에 도시된 eNB(402)의 실시예는 단지 예시를 위한 것이며, 도 4의 다른 eNB는 동일하거나 유사한 구성을 가질 수 있다. 그러나, eNB는 매우 다양한 구성으로 제공되며, 도 5b는 본 개시의 범위를 eNB의 임의의 특정 구현으로 제한하지 않는다. eNB(401) 및 eNB(403)는 eNB(402)와 동일하거나 유사한 구조를 포함할 수 있다는 점에 유의한다.
도 5b에 도시된 바와 같이, eNB(402)는 다중 안테나(570a-570n), 다중 RF 송수신기(572a-572n), 송신(TX) 처리 회로(574) 및 수신(RX) 처리 회로(576)를 포함한다. 특정 실시예에서, 다수의 안테나(570a-570n) 중 하나 이상은 2D 안테나 어레이를 포함한다. eNB(402)는 또한 컨트롤러/프로세서(578), 메모리(580) 및 백홀 또는 네트워크 인터페이스(582)를 포함한다.
RF 송수신기(572a-572n)는 안테나(570a-570n)로부터 UE 또는 다른 eNB에 의해 전송된 신호와 같은 유입 RF 신호를 수신한다. RF 송수신기(572a-572n)는 수신 RF 신호를 다운 컨버팅하여 IF 또는 기저 대역 신호를 생성한다. IF 또는 기저 대역 신호는 기저 대역 또는 IF 신호를 필터링, 디코딩 및/또는 디지털화함으로써 처리된 신호를 생성하는 RX 처리 회로(576)로 전송된다. RX 처리 회로(576)는 추가 처리를 위해 처리된 신호를 컨트롤러/프로세서(578)로 전송한다.
TX 처리 회로(574)는 연접 인코더(102)로부터의 적어도 일부 입력 데이터를 수신한다. TX 처리 회로(574)는 처리된 신호를 생성하기 위해 발신 기저 대역 데이터를 인코딩, 다중화 및/또는 디지털화하기 위한 회로를 구현한다. RF 송수신기(572a-572n)는 TX 처리 회로(574)로부터 처리된 발신 신호를 수신하고, 기저 대역 또는 IF 신호를 안테나(570a-570n)를 통해 전송되는 RF 신호로 업 컨버팅한다.
컨트롤러/프로세서(578)는 eNB(402)의 전체 동작을 제어하는 하나 이상의 프로세서 또는 다른 처리 디바이스를 포함할 수 있다. 예를 들어, 컨트롤러/프로세서(578)는 잘 알려진 원리에 따라 RF 송수신기(572a-572n), RX 처리 회로(576) 및 TX 처리 회로(574)에 의한 순방향 채널 신호의 수신 및 역방향 채널 신호의 전송을 제어할 수 있다. 컨트롤러/프로세서(578)는 더 진보된 무선 통신 기능과 같은 추가 기능도 지원할 수 있다. 컨트롤러/프로세서(578)에 의해 eNB(402)에서 매우 다양한 다른 기능들 중 임의의 것이 지원될 수 있다. 일부 실시예에서, 컨트롤러/프로세서(578)는 적어도 하나의 마이크로 프로세서 또는 마이크로 컨트롤러를 포함하는 반면, 다른 실시예에서 메인 프로세서는 (예를 들어, 인코딩 및 디코딩 프로세스, 코드 천공 및/또는 단축 프로세스, 데이터 매핑 등을 위한 것) 전용 회로뿐만 아니라 (선택적으로) 프로그래머블 로직 또는 처리 회로를 포함한다.
컨트롤러/프로세서(578)는 또한 기본 OS와 같이 메모리(580)에 상주하는 프로그램 및 다른 프로세스를 실행할 수 있다. 컨트롤러/프로세서(578)는 또한 2D 안테나 어레이를 갖는 시스템에 대한 채널 품질 측정 및 보고를 지원할 수 있다. 일부 실시예에서, 컨트롤러/프로세서(578)는 엔티티 간의 통신을 지원한다. 컨트롤러/프로세서(578)는 실행 프로세스에 의해 요구되는 대로 데이터 및/또는 명령을 메모리(580) 안팎으로 이동시킬 수 있다.
컨트롤러/프로세서(578)는 또한 백홀 또는 네트워크 인터페이스(582)에 연결된다. 백홀 또는 네트워크 인터페이스(582)는 eNB(402)가 백홀 연결을 통해 또는 네트워크를 통해 다른 디바이스 또는 시스템과 통신할 수 있게 한다. 인터페이스(582)는 임의의 적절한 유선 또는 무선 연결(들)을 통한 통신을 지원할 수 있다. 예를 들어, eNB(402)가 (3G, 4G, 5G, LTE 또는 LTE-A를 지원하는 것과 같은) 셀룰러 통신 시스템의 일부로서 구현될 때, 인터페이스(582)는 eNB(402)가 유선 또는 무선 백홀 연결 연결을 통해 다른 eNB들과 통신하도록 허용할 수 있다. eNB(402)가 액세스 포인트로서 구현될 때, 인터페이스(582)는 eNB(402)가 유선 또는 무선 근거리 통신망을 통해 또는 유선 또는 무선 연결을 통해 더 큰 네트워크(예를 들어, 인터넷)로 통신하도록 허용할 수 있다. 인터페이스(582)는 이더넷 또는 RF 송수신기와 같은 유선 또는 무선 연결을 통한 통신을 지원하는 임의의 적절한 구조를 포함한다.
메모리(580)는 컨트롤러/프로세서(578)에 연결된다. 메모리(580)의 일부는 RAM을 포함할 수 있고, 메모리(580)의 다른 부분은 플래시 메모리 또는 다른 ROM을 포함할 수 있다. 특정 실시예에서, 복수의 명령이 메모리에 저장된다. 명령들은 컨트롤러/프로세서(578)가 체계적 및/또는 비 체계적 인코딩 또는 디코딩 프로세스, 단축 프로세스, 데이터 매핑 등을 수행하도록 구성된다.
도 5b는 eNB(402)의 일 예를 도시하지만, 도 5b에 대해 다양한 변경이 이루어질 수 있다. 예를 들어, eNB(402)는 도시된 각 컴포넌트의 임의의 수를 포함할 수 있다. 특정 예로서, 액세스 포인트는 다수의 인터페이스(582)를 포함할 수 있고, 컨트롤러/프로세서(578)는 상이한 네트워크 주소 사이에서 데이터를 라우팅하기 위한 라우팅 기능을 지원할 수 있다. 다른 특정 예로서, TX 처리 회로(574)의 단일 인스턴스 및 RX 처리 회로(576)의 단일 인스턴스를 포함하는 것으로 도시되었지만, eNB(402)는 각각의 다중 인스턴스(예를 들어, RF 송수신기 당 하나)를 포함할 수 있다.
"METHODS AND APPARATUS FOR ENCODING AND DECODING OF DATA USING CONCATENATED POLARIZATION ADJUSTED CONVOLUTIONAL CODES"의 특정 실시예가 본 명세서에서 상세하게 설명되고 도면에 도시되어 있지만, 본 개시 내용에 포함되는 대상은 청구 범위에 의해서만 제한된다는 것을 이해해야 한다. 본 개시는 예시적인 실시예들로 설명되었지만, 다양한 변경 및 수정이 당업자에게 제안될 수 있다. 본 개시는 첨부된 청구 범위의 범위 내에 있는 그러한 변경 및 수정을 포함하는 것으로 의도된다. 본 출원의 설명은 특정 요소, 단계 또는 기능이 청구 범위에 포함되어야 하는 필수 또는 중요한 요소임을 암시하는 것으로 해석되어서는 안 되며: 특허 대상의 범위는 허용된 청구 범위에 의해서만 정의된다. 더욱이, 이들 청구 범위 중 어느 하나도 특정 청구항에서 기능을 식별하는 분사구가 따라오는 "수단(means for)"또는 "단계(step for)"라는 정확한 단어가 명시적으로 사용되지 않는 한, 첨부된 청구 범위 또는 청구항 구성 요소와 관련하여 35 USC§112(f)를 적용할 의도는 없다. 청구 범위 내의 "메커니즘(mechanism)", "모듈(module)", "디바이스(device)", "유닛(unit)", "컴포넌트(component)" "요소(element)", "부재(member)", "장치(apparatus)", "기계(machine)", "시스템(system)", "프로세서(processor)" 또는 "컨트롤러(controller)"와 같은 (그러나 이에 국한되지는 않음) 용어의 사용은 청구 범위 자체의 특징에 의해 추가로 수정되거나 개선된 바에 따라, 관련 기술 분야의 당업자에게 알려진 구조를 의미하는 것으로 이해되고 의도되며, 35 U.S.C. § 112(f)를 적용하도록 의도되지는 않는다.

Claims (12)

  1. 통신 시스템(100)에서 사용하기 위한 연접(concatenated) 인코더 장치(102)로서,
    연접 인코더 입력 블록 d를 수신하고, 상기 연접 인코더 입력 블록 d를 외부 코드 입력 어레이 a로 분할하고, 복수의 외부 코드에 따라 상기 외부 코드 입력 어레이 a를 인코딩하여 외부 코드 출력 어레이 b를 생성하도록 구성된 외부 인코더(110); 및
    상기 외부 코드 출력 어레이 b로부터 계층화된 편극 조정 컨볼루션(LPAC) 코드에 따른 연접 코드 출력 어레이 x를 생성하고, 상기 연접 코드 출력 어레이 x를 채널(104)에 송신하도록 구성된 내부 인코더(112)를 포함하고,
    상기 복수의 외부 코드는 적어도 2개의 외부 코드를 포함하고, 상기 LPAC 코드는 적어도 2개의 계층을 포함하는, 연접 인코더 장치.
  2. 청구항 1에 있어서,
    상기 내부 인코더는 상기 외부 코드 출력 어레이 b로부터 프리코딩 어레이 c를 연산하고 상기 프리코딩 어레이 c를 데이터 컨테이너 어레이 v에 삽입하도록 더 구성되는, 연접 인코더 장치.
  3. 청구항 1에 있어서,
    상기 LPAC 코드는 데이터 인덱스 집합 A와 상기 데이터 인덱스 집합 A의 복수의 계층 인덱스 집합(A1, A2, …, AL)으로의 분할을 포함하고, 여기서 상기 복수의 계층 인덱스 집합(A1, A2, …, AL)은 스코어 함수에 따라 선택되고, 상기 스코어 함수는 해밍 스코어 함수, 신뢰도 스코어 함수, 디코딩 순서 스코어 함수 또는 이들의 조합 중 하나인, 연접 인코더 장치.
  4. 통신 시스템(100)에서 사용하기 위한 연접 디코더 장치(106)로서,
    계층의 수를 카운트하도록 구성된 계층 카운터;
    계층화된 편극 조정 컨볼루션(LPAC) 코드에 따라 i번째 계층 내부 디코딩 동작을 수행하여 연접 디코더 입력 어레이 y 및 (i-1)번째 누적 판정 피드백
    Figure pct00681
    으로부터 i번째 내부 디코더 판정
    Figure pct00682
    를 생성하도록 구성된 내부 디코더(114);
    i번째 계층 외부 디코딩 동작을 수행하여 i번째 내부 디코더 판정
    Figure pct00683
    으로부터 i번째 외부 디코더 판정
    Figure pct00684
    을 생성하도록 구성된 외부 디코더(116); 및
    i번째 계층 재인코딩 동작을 수행하여 상기 i번째 외부 디코더 판정
    Figure pct00685
    으로부터 i번째 판정 피드백
    Figure pct00686
    를 생성하도록 구성된 재인코더(118)를 포함하고,
    여기서 상기 계층 수는 정수 m과 같고, 상기 정수 m은 1보다 크고, 상기 외부 인코더는 외부 디코더 판정
    Figure pct00687
    으로부터 연접 디코더 출력 블록
    Figure pct00688
    를 생성하고, 상기 연접 디코더 출력 블록
    Figure pct00689
    을 목적지로 송신하도록 더 구성된, 연접 디코더 장치.
  5. 청구항 4에 있어서,
    상기 i번째 계층 내부 디코딩 동작 중 적어도 하나는 상기 LPAC 코드를 디코딩하기 위해 순차 디코더를 사용하는 것을 포함하는, 연접 디코더 장치.
  6. 청구항 5에 있어서,
    상기 순차 디코더에는 연산 타임아웃 제한이 구비되는, 연접 디코더 장치.
  7. 통신 시스템에서 사용하기 위한 연접 인코더 방법으로서,
    외부 인코더에서, 연접 인코더 입력 블록 d를 수신하고, 상기 연접 인코더 입력 블록 d를 외부 코드 입력 어레이 a로 분할하고, 복수의 외부 코드에 따라 상기 외부 코드 입력 어레이 a를 인코딩하여 외부 코드 출력 어레이 b를 생성하고; 그리고
    내부 인코더에서, 상기 외부 코드 출력 어레이 b로부터 계층화된 편극 조정 컨볼루션(LPAC) 코드에 따른 연접 코드 출력 어레이 x를 생성하고, 상기 연접 코드 출력 어레이 x를 채널에 송신하고,
    상기 복수의 외부 코드는 적어도 2개의 외부 코드를 포함하고, 상기 LPAC 코드는 적어도 2개의 계층을 포함하는, 연접 인코더 방법.
  8. 청구항 7에 있어서,
    상기 내부 인코더에서, 상기 외부 코드 출력 어레이 b로부터 프리코딩 어레이 c를 연산하고 상기 프리코딩 어레이 c를 데이터 컨테이너 어레이 v에 삽입하는 것을 더 포함하는, 연접 인코더 방법.
  9. 청구항 7에 있어서,
    상기 LPAC 코드는 데이터 인덱스 집합 A와 상기 데이터 인덱스 집합 A의 복수의 계층 인덱스 집합(A1, A2, …, AL)으로의 분할을 포함하고, 여기서 상기 복수의 계층 인덱스 집합(A1, A2, …, AL)은 스코어 함수에 따라 선택되고, 상기 스코어 함수는 해밍 스코어 함수, 신뢰도 스코어 함수, 디코딩 순서 스코어 함수 또는 이들의 조합 중 하나인, 연접 인코더 방법.
  10. 통신 시스템에서 사용하기 위한 연접 디코더 방법으로서,
    계층의 수를 카운트하고;
    내부 디코더에서, 계층화된 편극 조정 컨볼루션(LPAC) 코드에 따라 i번째 계층 내부 디코딩 동작을 수행하여 연접 디코더 입력 어레이 y 및 (i-1)번째 누적 판정 피드백
    Figure pct00690
    으로부터 i번째 내부 디코더 판정
    Figure pct00691
    를 생성하고;
    외부 디코더에서, i번째 계층 외부 디코딩 동작을 수행하여 상기 i번째 내부 디코더 판정
    Figure pct00692
    으로부터 및 i번째 외부 디코더 판정
    Figure pct00693
    을 생성하고; 그리고
    재인코더에서, i번째 계층 재인코딩 동작을 수행하여 상기 i번째 외부 디코더 판정
    Figure pct00694
    으로부터 i번째 판정 피드백
    Figure pct00695
    을 생성하고,
    여기서 상기 계층 수는 정수 m과 같고, 상기 정수 m은 1보다 크고, 상기 연접 디코더 방법은 상기 외부 디코더에서, 외부 디코더 판정
    Figure pct00696
    으로부터 연접 디코더 출력 블록
    Figure pct00697
    를 생성하고, 상기 연접 디코더 출력 블록
    Figure pct00698
    를 목적지로 송신하는 것을 더 포함하는, 연접 디코더 방법.
  11. 청구항 10에 있어서,
    상기 i번째 계층 내부 디코딩 동작 중 적어도 하나는 상기 LPAC 코드를 디코딩하기 위해 순차 디코더를 사용하는 것을 포함하는, 연접 디코더 방법.
  12. 청구항 11에 있어서,
    상기 순차 디코더에는 연산 타임아웃 제한이 구비되는, 연접 디코더 방법.
KR1020237014496A 2020-09-30 2021-09-28 외부 블록 코드 및 내부 편극 조정 컨볼루션 코드가 있는 직렬 연접 코드 KR20230079159A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/039,911 US11677500B2 (en) 2020-09-30 2020-09-30 Methods and apparatus for encoding and decoding of data using concatenated polarization adjusted convolutional codes
US17/039,911 2020-09-30
PCT/IB2021/058868 WO2022070043A1 (en) 2020-09-30 2021-09-28 Serial concatenated codes with outer block codes and inner polarization adjusted convolutional codes

Publications (1)

Publication Number Publication Date
KR20230079159A true KR20230079159A (ko) 2023-06-05

Family

ID=78080391

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237014496A KR20230079159A (ko) 2020-09-30 2021-09-28 외부 블록 코드 및 내부 편극 조정 컨볼루션 코드가 있는 직렬 연접 코드

Country Status (5)

Country Link
US (1) US11677500B2 (ko)
EP (1) EP4222869A1 (ko)
KR (1) KR20230079159A (ko)
CN (1) CN116530023A (ko)
WO (1) WO2022070043A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018187902A1 (en) * 2017-04-10 2018-10-18 Qualcomm Incorporated An efficient interleaver design for polar codes
CN115882874A (zh) * 2021-09-28 2023-03-31 三星电子株式会社 构造类极化码的设备和方法
CN115333676B (zh) * 2022-08-25 2023-07-28 电子科技大学 一种适用于极化调整的卷积编码的码字构造方法
WO2024092515A1 (en) * 2022-11-01 2024-05-10 Zte Corporation Methods and apparatus for information and data transmission

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3372018B2 (ja) * 1997-03-13 2003-01-27 ソニー株式会社 データ受信装置およびデータ受信方法
JP2000321946A (ja) * 1999-05-14 2000-11-24 Matsushita Graphic Communication Systems Inc 記録装置、これに用いるプロセスカートリッジ、カートリッジ判別方法および画像通信装置
US9362956B2 (en) 2013-01-23 2016-06-07 Samsung Electronics Co., Ltd. Method and system for encoding and decoding data using concatenated polar codes
DE102013202140A1 (de) * 2013-02-08 2014-08-14 Robert Bosch Gmbh Verfahren und Vorrichtung zur Überprüfung eines digitalen Multiplizierers
US9564927B2 (en) * 2015-05-27 2017-02-07 John P Fonseka Constrained interleaving for 5G wireless and optical transport networks
US10231121B2 (en) * 2015-06-24 2019-03-12 Lg Electronics Inc. Security communication using polar code scheme
DE102017110389B4 (de) 2016-05-13 2020-02-13 Hyperstone Gmbh Verfahren und Decoder zur Softinput Decodierung von verallgemeinerten verketteten Codes
US10608999B2 (en) * 2016-12-08 2020-03-31 Celeno Communications (Israel) Ltd. Establishing a secure uplink channel by transmitting a secret word over a secure downlink channel
GB2563473B (en) * 2017-06-15 2019-10-02 Accelercomm Ltd Polar coder with logical three-dimensional memory, communication unit, integrated circuit and method therefor
US10340950B2 (en) * 2017-08-21 2019-07-02 Qualcomm Incorporated Reducing the search space of maximum-likelihood decoding for polar codes
WO2019043680A1 (en) * 2017-09-03 2019-03-07 Tsofun Algorithms Ltd. GCC DECODING AND DECODING SUCCESSIVE POLAR CODE CANCELLATION LIST WITH DECOMPOSITION IN CONCATENATED INTERNAL AND EXTERNAL CODES
WO2019090468A1 (en) * 2017-11-07 2019-05-16 Qualcomm Incorporated Methods and apparatus for crc concatenated polar encoding
KR102428522B1 (ko) * 2018-04-05 2022-08-03 삼성전자 주식회사 무선 통신 시스템에서 극 부호를 이용한 부호화 및 복호화를 위한 장치 및 방법
WO2020122749A1 (en) * 2018-12-13 2020-06-18 Huawei Technologies Co., Ltd. Apparatus and method for obtaining concatenated code structures and computer program product therefor
US11418220B2 (en) * 2020-03-20 2022-08-16 Huawei Technologies Co., Ltd. Method, system, and apparatus for a segmented polarization-adjusted convolutional (PAC) code

Also Published As

Publication number Publication date
WO2022070043A1 (en) 2022-04-07
US11677500B2 (en) 2023-06-13
JP2023547596A (ja) 2023-11-13
CN116530023A (zh) 2023-08-01
EP4222869A1 (en) 2023-08-09
US20220103291A1 (en) 2022-03-31

Similar Documents

Publication Publication Date Title
KR20230079159A (ko) 외부 블록 코드 및 내부 편극 조정 컨볼루션 코드가 있는 직렬 연접 코드
CN107919874B (zh) 校验子计算基本校验节点处理单元、方法及其计算机程序
KR101895164B1 (ko) 코드 디코딩 에러 정정 방법 및 장치
CN114342266B (zh) 用生成矩阵的三角分解进行纠错编码的方法和装置
CN107979445B (zh) 使用预先排序的输入的基于基本校验节点的校正子解码
US9300328B1 (en) Methodology for improved bit-flipping decoder in 1-read and 2-read scenarios
US10892783B2 (en) Apparatus and method for decoding polar codes
CN110999092B (zh) 非二进制ldpc码的简化的预排序的基于校正子的扩展最小和(ems)解码
US11290128B2 (en) Simplified check node processing in non-binary LDPC decoder
Zhilin et al. High-rate codes for high-reliability data transmission
JP7497100B2 (ja) 連結極性調整畳み込み符号を用いたデータの符号化および復号化のための方法および装置
CN112470405A (zh) 非二进制码的消息传递解码的可变节点处理方法和设备
US11245421B2 (en) Check node processing methods and devices with insertion sort
Dabirnia et al. Short block length trellis‐based codes for interference channels
WO2021226665A1 (en) "channel encoding method and a channel encoder"
RU2575399C1 (ru) Способ декодирования ldpc-кодов и устройство его реализующее