KR20170095294A - 전력 효율적인 디코더를 가능하게 하는 병렬 연접 ldpc 컨벌루션 코드를 위한 방법 및 장치 - Google Patents

전력 효율적인 디코더를 가능하게 하는 병렬 연접 ldpc 컨벌루션 코드를 위한 방법 및 장치 Download PDF

Info

Publication number
KR20170095294A
KR20170095294A KR1020177018952A KR20177018952A KR20170095294A KR 20170095294 A KR20170095294 A KR 20170095294A KR 1020177018952 A KR1020177018952 A KR 1020177018952A KR 20177018952 A KR20177018952 A KR 20177018952A KR 20170095294 A KR20170095294 A KR 20170095294A
Authority
KR
South Korea
Prior art keywords
ldpc
code
bits
parity
cyclic
Prior art date
Application number
KR1020177018952A
Other languages
English (en)
Other versions
KR102480584B1 (ko
Inventor
이란 피섹
샤디 아부-수라
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20170095294A publication Critical patent/KR20170095294A/ko
Application granted granted Critical
Publication of KR102480584B1 publication Critical patent/KR102480584B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • 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/033Theoretical methods to calculate these checking codes
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/114Shuffled, staggered, layered or turbo decoding schedules
    • 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1154Low-density parity-check convolutional codes [LDPC-CC]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing

Landscapes

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

Abstract

인코딩 방법은 Z 시스템 비트들의 입력 그룹(xz(n))을 포함하는 입력 시스템 데이터를 수신하는 과정을 포함한다. 상기 방법은 입력 그룹(xz(n))을 사용하여 저밀도 패리티 검사(low density parity check, LDPC) 베이스 코드를 생성하는 과정을 포함한다. 상기 LDPC 베이스 코드는 행 가중치(Wr), 열 가중치(Wc), 및 제 1 레벨 리프팅 팩터(Z)에 의해 특징지어진다. 상기 방법은 LDPC 베이스 코드를 트렐리스-기반 쿼시-사이클릭(Trellis-based quasi-cyclic, TQC)-LDPC 컨벌루션 코드로 변환하는 과정을 포함한다. 상기 방법은 입력 시스템 데이터의 시스템 하위행렬(Hsys) 및 패리티 검사 비트들의 패리티 검사 하위행렬(Hpar)을 포함하는 H-행렬 형태로 병렬 연접 TQC-LDPC 컨벌루션 코드를 생성하는 과정을 포함한다. 상기 Hpar는 Z-그룹 패리티 비트들의 열을 포함한다. 상기 방법은 Hpar를 시스템 비트들의 각 열과 연접시키는 과정을 포함하며, 상기 Hpar는 시스템 비트당 J 패리티 비트들을 포함한다.

Description

전력 효율적인 디코더를 가능하게 하는 병렬 연접 LDPC 컨벌루션 코드를 위한 방법 및 장치{METHOD AND APPARATUS FOR PARALLEL CONCATENATED LDPC CONVOLUTIONAL CODES ENABLING POWER-EFFICIENT DECODERS}
본 출원은 일반적으로 채널 코딩에 관한 것이며, 보다 구체적으로는, 전력 효율적인 디코더를 가능하게 하는 병렬 연접 저밀도 패리티 검사(low density parity check, LDPC) 컨벌루션 코드를 위한 방법 및 장치에 관한 것이다.
정보 이론에서, 저밀도 패리티 검사(low density parity check, LDPC) 코드는 잡음이 있는 전송 채널을 통해 메시지를 전송하기 위한 오류 정정 코드이다. LDPC 코드는 선형 블록 코드의 일 클래스이다. LDPC 및 다른 오류 정정 코드가 완벽한 전송을 보장할 수는 없지만, 정보 손실의 가능성을 원하는 만큼 작게 만들 수 있다. LDPC는 샤넌 한계(Shannon Limit)로 알려진 이론상 최대치에 가까운 데이터 전송률을 허용하는 최초의 코드이다. LDPC 코드는 샤넌 한계의 0.0045 dB로 수행할 수 있다. LDPC는 1963년에 개발되었을 때 구현하기에 실용적이지 못했다. 1993년에 발견된 터보 코드는 1990년대 후반에 최상의 코딩 방식이 되었다. 터보 코드는 딥-스페이스 위성 통신과 같은 응용들에 사용된다. LDPC는 복잡한 처리가 필요하지만, 2007년에 발견된 가장 효율적인 방식이다.
용량 근접(capacity approaching) LDPC 코드는 효율성을 실현하기 위해 큰 블록 크기(>> 1000 비트)를 갖는다. 블록 LDPC 코드는 처리되는 정보의 그래뉼래러티(granularity)가 거친 소수 블록 크기에서만 얻어질 수 있다. LDPC 블록 코드는 직교 주파수 분할 멀티플렉싱(orthogonal frequency-division multiplexing, OFDM) 심볼에 정렬된다. 따라서, 큰 블록 크기의 코드가 시스템의 유연성을 감소시키고 대기 시간을 크게 증가시키게 된다.
컨벌루션(Convolutional) LDPC 코드는 쿼시-사이클릭이 아닌 복잡한 설계를 사용한다. 컨벌루션 LDPC 코드는 반복 횟수가 많은 복잡한 디코딩 프로세스를 사용한다. 따라서, 컨벌루션 LDPC 코드는 낮은 데이터 레이트 및 빌리프 전파(belief propagation)만을 특징으로 한다.
트렐리스-기반 쿼시-사이클릭(Trellis-based quasi-cyclic, TQC) LDPC 컨벌루션 코드는 리프팅 팩터 레벨(Z-레벨)의 그래뉼래러티와 같은 세밀한 그래뉼래러티를 제공한다. 예시적인 리프팅 팩터들은 42 비트 또는 27 비트를 포함한다. 그러나, TQC-LDPC 컨벌루션 코드는 비-용량 근접 방식이므로, 정규화된 신호 대 잡음비(Eb/N0)가 10-5의 비트 오류율(BER)에서 약 2.5 데시벨(dB)이다. 정규화된 신호 대 잡음비는 잡음 스펙트럼 밀도(N0)와 비교하여 비트당 에너지(Eb)로서 정의된다.
본 개시는 전력 효율적인 디코더를 가능하게 하는 병렬 연접 트렐리스-기반 쿼시-사이클릭(Trellis-based quasi-cyclic, TQC)-저밀도 패리티 검사(low density parity check, LDPC) 컨벌루션 코드를 위한 장치 및 방법을 제공한다.
제 1 실시 예에서, 인코딩 방법은 Z 시스템 비트들의 입력 그룹(xz(n))을 포함하는 입력 시스템 데이터를 수신하는 과정을 포함한다. 상기 방법은 입력 그룹(xz(n))을 사용하여 LDPC 베이스 코드를 생성하는 과정을 포함한다. 상기 LDPC 베이스 코드는 행 가중치(Wr), 열 가중치(Wc), 및 제 1 레벨 리프팅 팩터(Z)에 의해 특징지어진다. 상기 방법은 LDPC 베이스 코드를 트렐리스-기반 쿼시-사이클릭 LDPC(TQC-LDPC) 컨벌루션 코드로 변환하는 과정을 포함한다. 상기 방법은 입력 시스템 데이터의 시스템 하위행렬(Hsys) 및 패리티 검사 비트들의 패리티 검사 하위행렬(Hpar)을 포함하는 H-행렬 형태로 병렬 연접 트렐리스-기반 쿼시-사이클릭 LDPC(PC-LDPC) 컨벌루션 코드, TQC-LDPC 컨벌루션 코드를 사용하여 트렐리스-기반 쿼시-사이클릭 LDPC RSC(Recursive Systematic Convolutional)(QC-RSC) 인코더 처리 회로에 의해서 생성하는 과정을 포함하며, 상기 Hpar는 Z-그룹 패리티 비트들의 열을 포함한다. 상기 방법은 Hpar를 시스템 비트들의 각 열과 연접시키는 과정을 포함하며, 상기 Hpar는 시스템 비트당 J 패리티 비트들을 포함한다.
제 2 실시 예에서, 인코더는 Z 시스템 비트들의 입력 그룹(xz(n))을 포함하는 입력 시스템 데이터를 수신하도록 구성된 QC-RSC 인코더 처리 회로를 포함한다. 상기 QC-RSC 인코더 처리 회로는 입력 그룹(xz(n))을 사용하여 LDPC 베이스 코드를 생성하도록 구성된다. 상기 LDPC 베이스 코드는 행 가중치(Wr), 열 가중치(Wc), 및 제 1 레벨 리프팅 팩터(Z)에 의해 특징지어진다. 상기 QC-RSC 인코더 처리 회로는 LDPC 베이스 코드를 트렐리스-기반 쿼시-사이클릭 LDPC(TQC-LDPC) 컨벌루션 코드로 변환하도록 구성된다. 상기 QC-RSC 인코더 처리 회로는 H-행렬의 형태로 병렬 연접 트렐리스-기반 쿼시-사이클릭 LDPC(PC-LDPC) 컨벌루션 코드를 생성하도록 구성된다. 상기 H-행렬은 입력 시스템 데이터의 시스템 하위행렬(Hsys) 및 패리티 검사 비트들의 패리티 검사 하위행렬(Hpar)을 포함하며, 상기 Hpar는 Z-그룹 패리티 비트들의 열을 포함한다. 상기 QC-RSC 인코더 처리 회로는 상기 Hpar를 시스템 비트들의 각 열과 연접시키도록 구성되며, 상기 Hpar는 시스템 비트당 J 패리티 비트들을 포함한다.
제 3 실시 예에서, 디코더는 H-행렬의 형태로 병렬 연접 트렐리스-기반 쿼시-사이클릭 LDPC(PC-LDPC) 컨벌루션 코드를 수신하도록 구성되는 트렐리스-기반 쿼시-사이클릭 저밀도 패리티 검사(TQC-LDPC) MAP(Maximum A posteriori Probability) 디코더 처리 회로를 포함한다. 상기 H-행렬은 입력 시스템 데이터의 시스템 하위행렬(Hsys) 및 패리티 검사 비트들의 패리티 검사 하위행렬(Hpar)을 포함한다. 상기 PC-LDPC 컨벌루션 코드는 리프팅 팩터(Z)에 의해 특징지어지며, 상기 Hpar는 시스템 비트들의 각 열과 연접되는 Z-그룹 패리티 비트들의 열을 포함한다. 상기 Hpar는 시스템 비트당 J 패리티 비트들을 포함한다. 상기 TQC-LDPC MAP 디코더 처리 회로는 상기 PC-LDPC 컨벌루션 코드의 각 Z-행에 대하여, (i) 상기 PC-LDPC 컨벌루션 코드의 다른 Z-행의 임의의 다른 쿼시-사이클릭 도메인과 상이한 특정 쿼시-사이클릭 도메인을, 상기 PC-LDPC 컨벌루션 코드로부터 결정하고; (ii) 상기 특정 쿼시-사이클릭 도메인에 의해 상기 Z-행의 비트들을 쿼시-사이클릭 시프트하고; (iii) 상기 시프트된 Z-행의 비트들에 대하여 Z 병렬 MAP 디코딩 프로세스들을 수행하며; 또한 (iv) 상기 특정 쿼시-사이클릭 도메인에 의해 상기 Z-행의 병렬 디코딩된 비트들을 언시프트하여, Z 시스템 비트들의 그룹(xz(n))을 산출하는 것에 의해 PC-LDPC 컨벌루션 코드를 Z 시스템 비트들의 그룹(xz(n))으로 디코딩하도록 구성된다.
다른 기술적 특징들은 다음의 도면들, 설명들 및 청구항들로부터 당업자에게 쉽게 명백해질 수 있다.
아래의 상세한 설명에 들어가기 전에, 본 특허 문서 전체에서 사용되는 특정 단어 및 어구들의 정의를 기재하는 것이 본 발명을 이해하는데 도움이 될 수 있다. 용어 "커플(couple)" 및 그 파생어는 두 개 이상의 구성 요소 사이의 어떤 직접 또는 간접 통신을 나타내거나, 이들 요소가 서로 물리적으로 접촉하고 있는지의 여부를 나타낼 수 있다. 용어 "송신(transmit)", "수신(receive)" 그리고 "통신(communicate)"뿐만 아니라 그 파생어 또한, 이들의 직/간접 통신을 포함한다. 용어 "포함한다(include)" 및 "구성한다(comprise)" 뿐만 아니라 그 파생어 또한, 제한 없이 포함을 의미한다. 용어 "또는(or)"은 포괄적 의미로써, '및/또는'을 의미한다. 문구 "~와 관련되다(associated with)" 뿐만 아니라 그 파생어 또한 ~을 포함한다(include), ~에 포함된다(be included within), ~와 결합하다(interconnect with), ~을 함유하다(contain), ~에 함유되어 있다(be contained within), ~에 연결한다(connect to or with), ~와 결합하다(couple to or with), ~ 전달한다(be communicable with), 와 협력하다(cooperate with), ~를 끼우다(interleave), ~을 나란히 놓다(juxtapose), ~에 인접하다(be proximate to), 구속하다/구속되다(be bound to or with), 소유하다(have), 속성을 가지다(have a property of), ~와 관계를 가지다(have a relationship to or with) 등을 의미할 수 있다. 용어 "제어기(controller)"는 적어도 하나의 동작을 제어하는 어떤 장치, 시스템 또는 그 일부를 의미한다. 이러한 제어기는 하드웨어 또는 하드웨어와 소프트웨어의 조합 및/또는 펌웨어로 구현될 수 있다. 특정 제어기와 관련된 기능은 로컬 또는 원격으로 중앙 집중식으로(centralized) 또는 분산(distributed)처리될 수 있다. 문구 "적어도 하나"가 나열된 항목과 사용될 때, 나열된 항목 중 하나 이상의 상이한 조합이 사용될 수 있음을 의미한다. 예를 들어, "A, B, C 중 적어도 하나"는 A, B, C, A와 B, A와 C, B와 C, 그리고 A와 B와 C 결합들을 중 어느 하나를 포함한다.
특정 단어들 및 구문들의 정의가 본 개시 전반에 걸쳐서 제공되고, 통상의 기술자는 대부분의 경우에, 이러한 정의들이 정의된 단어들 및 구문들로 미래뿐 아니라 이전의 사용들에도 적용될 수 있음을 이해하여야 한다.
본 개시 및 효과의 더 완벽한 이해를 위해, 첨부된 도면과 함께 다음의 상세한 설명이 참조되었으며, 도면의 참조 번호는 해당 부분을 나타낸다.
도 1은 본 개시의 실시 예들에 따른 예시적 무선 네트워크를 도시한 것이다.
도 2a 및 도 2b는 본 개시에 따른 예시적 무선 송신 및 수신 경로들을 도시한 것이다.
도 3은 본 개시에 따른 예시적 사용자 단말(user equipment, UE)을 도시한 것이다.
도 4는 본 개시에 따른 예시적 eNB(enhanced NodeB)를 도시한 것이다.
도 5는 본 개시에 따른 병렬 연접 트렐리스-기반(trellis-based) 쿼시-사이클릭(quasi-cyclic) 저밀도 패리티 검사(low density parity check) 재귀적 시스템 컨벌루션(Recursive Systematic Convolutional, RSC)(QC-RSC) 인코더를 도시한 것이다.
도 6은 본 개시에 따른 트렐리스-기반 쿼시-사이클릭 저밀도 패리티 검사(TQC-LDPC) MAP(Maximum A posteriori Probability) 디코더를 도시한 것이다.
도 7a는 본 개시에 따른 PC-LDPC 인코딩 프로세스를 도시한 것이다.
도 7b는 본 개시에 따른 PC-LDPC 디코딩 프로세스를 도시한 것이다.
도 8은 본 개시에 따라 도 5의 QC-RSC 인코더를 보다 상세하게 도시한 것이다.
도 9는 본 개시에 따른 RSC 인코더를 도시한 것이다.
도 10은 본 개시에 따른 공간-결합 저밀도 패리티 검사(spatially-coupled low density parity check, SC-LDPC) 베이스 코드의 일 예를 도시한 것이다.
도 11은 본 개시에 따른 SC-LDPC 베이스 코드의 다른 예를 도시한 것이다.
도 12는 본 개시에 따른 SC-LDPC 베이스코드의 SC-LDPC 코드, 직렬화된 SC-LDPC 코드, 연접 SC-LDPC 인코딩 구조로의 변환을 도시한 것이다.
도 13a 및 도 13b(함께 도 13으로 지칭됨)는 본 개시의 실시 예들에 따른 패리티 비트들로부터의 시스템 비트들의 분리를 갖는 연접 SC-LDPC 인코딩 구조로부터 ½ 출력 레이트를 갖는 병렬 연접 트렐리스-기반 쿼시-사이클릭 저밀도 패리티 검사(PC-LDPC) 컨벌루션 코드에 대한 패리티 비트들의 열을 생성하는 프로세스를 도시한 것이다.
도 14는 본 개시의 실시 예들에 따른 ⅓ 출력 레이트를 갖는 변형된 TQC-LDPC 컨벌루션 코드에 대한 패리티 비트들의 열을 생성하는 프로세스를 도시한 것이다.
도 15는 본 개시의 실시 예들에 따라, 도 14의 ½ 출력 레이트를 갖는 변형된 TQC-LDPC 컨벌루션 코드에 대하여 펑처링 패턴을 적용하여 펑처링하는 프로세스를 도시한 것이다.
도 16은 본 개시의 실시 예들에 따라, ⅓ 출력 레이트를 갖는 예시적 변형된 TQC-LDPC 컨벌루션 코드에 대한 패리티 비트들의 열을 생성하면서 주기를 감소시키는 프로세스를 도시한 것이다.
도 17은 본 개시의 실시 예들에 따라, ⅓ 출력 레이트를 갖는 변형된 TQC-LDPC 컨벌루션 코드에 대하여 펑처링 패턴을 적용하여 펑처링하고 주기성을 감소시키는 프로세스를 도시한 것이다.
도 18은 본 개시의 실시 예들에 따른 듀얼-스텝 PC-LDPC 컨벌루션 코드를 도시한 것이다.
도 19는 본 개시에 따라 도 6의 TQC-LDPC MAP 디코더를 보다 상세하게 도시한 것이다.
도 20은 본 개시에 따른 ½ 출력 레이트 및 10-5의 비트 오류율(bit error rate, BER)을 갖는 QC-MAP에 대한 정규화된 복잡도 비교를 도시한 것이다.
도 21은 본 개시에 따른, 도 20의 그래프에 대응하는 값들을 포함하는 QC-MAP 하드웨어 구현을 위한 비교표를 도시한 것이다.
도 22는 본 개시에 따른 예시적 Z-MAP(Z Maximum A posteriori Probability) 디코더를 도시한 것이다.
도 23은 본 개시에 따른 송신 노드의 동작 프로세스를 도시한 것이다.
도 24는 본 개시에 따른 수신 노드의 동작 프로세스를 도시한 것이다.
아래에 논의된 도 1 내지 도 22 및 본 개시의 원리를 설명하기 위해 이용되는 다양한 실시 예들은 단지 예시를 위한 것으로 어떠한 방식으로든 본 개시의 범위를 한정하는 의미로 해석되어서는 안 된다. 통상의 기술자들은 본 개시의 원리가 적절하게 배치된 무선 통신 시스템으로 구현될 수 있음을 이해할 것이다.
다음의 문헌들 및 표준 설명들 즉, (i) L.Bahl, J.Cocke, F.Jelinek, J.Raviv, "Optimal Decoding of Linear Codes for minimizing symbol error rate", IEEE Transactions on Information Theory, vol.IT-20(2), pp.284-287, March 1974 (이하 "REF1"); (ii) I.Chatzigeorgiou, M.R.D.Rodrigues, I.J.Wassell, R.Carrasco, "Pseudo-random Puncturing: A Technique to Lower the Error Floor of Turbo Codes," Information Theory, 2007.ISIT 2007.IEEE International Symposium on, vol., no., pp.656-660, 24-29 Jun.2007 (이하 "REF2"); (iii) C.Berrou, A.Glavieux and P.Thitimajshima, "Near-Shannon-limit error-correcting and decoding: Turbo codes (1)," in Proc.IEEE Int.Conf.Commun., vol.2, pp.23-26, Geneva, Switzerland, May 1993 (이하 "REF3"); (iv) R.G.Gallager, "Low-density parity-check codes," Ph.D.dissertation, Massachusetts Institute of Technology, Cambridge, MA, 1963 (이하 "REF4"); (v) D.J.C.MacKay, R.M.Neal, "Near Shannon limit performance of low density parity check codes," Electronics Letters, vol.32, pp.1645-1646, Aug.1996 (이하 "REF5"); (vi) E.Boutillon, J.Castura, F.R.Kschischang, "Decoder-first code design," Proceedings of the 2nd International Symposium on Turbo Codes and Related Topics, Brest, France, Sep.2000, pp.459-462 (이하 "REF6"); (vii) T.Zhang, K.K.Parhi, "VLSI implementation-oriented (3,k)-regular low-density parity-check codes," 2001 IEEE Workshop on Signal Processing Systems, Antwerp, Belgium, Sep.2001, pp.25-36 (이하 "REF7"); (viii) R.V.Nee, "Breaking the Gigabit-per-second barrier with 802.11AC," Wireless Communications, IEEE, vol.18, no.2, pp.4-8, Apr.2011 (이하 "REF8"); (ix) IEEE 802.11ad standard specification, Part 11: Wireless LAN medium access control (MAC) and physical layer (PHY) Specifications, Amendment 3: "Enhancements for very high throughput in the 60 GHz Band," [On-line].Available: http://standards.ieee.org/getieee802/ download/802.11ad-2012.pdf [Oct.2014] (이하 "REF9"); (x) T.Baykas, S.Chin-Sean, L.Zhou, J.Wang, M.A.Rahman, H.Harada, S.Kato, "IEEE 802.15.3c: the first IEEE wireless standard for data rates over 1 Gb/s," Communications Magazine, IEEE, vol.49, no.7, pp.114-121, Jul.2011 (이하 "REF10"); (xi) DVB-S2 Specification, ETSI EN 302 307 V1.2.1, (2009, Aug.), [On-line].Available: http://www.etsi.org [Oct.2014] (이하 "REF11"); (xii) A.J.Feltstrom, K.S.Zigangirov, "Time-varying periodic convolutional codes with low-density parity-check matrix," IEEE Transactions on IT, vol.IT-45, no.6, pp.2181-2191, Sep.1999 (이하 "REF12"); (xiii) A.E.Pusane, A.J.Feltstrom, A.Sridharan, M.Lentimaier, K.S.Zigangirov, and D.J.Costello, Jr., "Implementation Aspects of LDPC convolutional Codes," IEEE Transactions on Communications, vol.56, no.7, pp.1060-1069, Jul.2008 (이하 "REF13"); (xiv) R.M.Tanner, D.Sridhara, A.Sridharan, T.E.Fuja, D.J.Costello, Jr., "LDPC Block and Convolutional Codes Based on Circulant Matrices," IEEE Transactions on Information Theory, vol.50, no.12, pp.2966 - 2984, Dec.2004 (이하 "REF14"); (xv) D.J.Costello, Jr., L.Dolecek, T.E.Fuja, J.Kliewer, D.G.M.Mitchell, R.Smarandache, (2013, Oct.), "Spatially Coupled Sparse Codes on Graphs - Theory and Practice," [On-line].Available: http://arxiv.org/pdf/1310.3724.pdf [Oct.2014] (이하 "REF15"); (xvi) 3GPP LTE Release 8 TSG RAN WG1, [On-Line].Available: http://www.3gpp.org/RAN1-Radio-layer-1 [Oct.2014] (이하 "REF16"); (xvii) J.Thorpe, "Low-density parity-check (LDPC) codes constructed from protographs," Jet Propulsion Lab, Pasadena, CA, INP Progress Report, pp.42-154, Aug.2003 (이하 "REF17"); (xviii) D.Divsalar, S.Dolinar, and C.Jones, "Protograph LDPC codes over burst erasure channels," Military Commun., IEEE, Oct.2006, pp.1-7 (이하 "REF18"); (xix) D.G.M.Mitchell, M.Lentmaier, D.J.Costello, Jr., "New families of LDPC block codes formed by terminating irregular protograph-based LDPC convolutional codes," in Proc.ISIT 2010, IEEE, Austin, TX, Jun.2010, pp.824-828 (이하 "REF19");.(xx) S.Abu-Surra, E.Pisek, T.Henige, "Gigabit rate achieving low-power LDPC codes: Design and architecture," WCNC 2011, IEEE, Cancun, Mexico, Mar.2011.pp.1994-1999 (이하 "REF20"); (xxi) S.Lin, D.J.Costello, Jr., Error Control Coding: Fundamentals and Applications.Englewood Cliffs, NJ: Prentice-Hall, 2nd ed., 2004 (이하 "REF21"); (xxii) E.Pisek, D.Rajan, J.Cleveland, "Gigabit rate low power LDPC decoder," Information Theory Workshop 2011, Paraty, Brazil, Oct.2011.pp.518-522 (이하 "REF22"); (xxiii) A.J.Viterbi, "Error bounds for convolutional codes and an asymptotically optimum decoding algorithm," IEEE Transactions on Information Theory, vol.13, pp.260-269, Apr.1967 (이하 "REF23"); (xxiv) G.D.Forney, "The Viterbi algorithm," Proceedings of the IEEE, vol.61, pp.268-278, Mar.1973 (이하 "REF24"); (xxv) A.E.Pusane, R.Smarandache, P.O.Vontobel, D.J.Costello, Jr., "Deriving Good LDPC Convolutional Codes from LDPC Block Codes," IEEE Transactions on Information Theory, Vol.57, No.2, pp.835 - 857, Feb.2011 (이하 "REF25"); (xxvi) J.He, H.Liu, Z.Wang, X.Huang, K.Zhang, "High-Speed Low-Power Viterbi Decoder Design for TCM Decoders," IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol.20, no.4, pp.755-759, Apr.2012 (이하 "REF26"); (xxvii) U.G.Nawathe, M.Hassan, K.C.Yen, A.Kumar, A.Ramachandran, D.Greenhill, "Implementation of an 8-Core, 64-Thread, Power-Efficient SPARC Server on a Chip," IEEE Journal of Solid-State Circuits, vol.43, no.1, pp.6-20, Jan.2008 (이하 "REF27")은 본 명세서에서 완전히 설명된 것처럼 본 개시에 통합된다.
도 1은 본 개시에 따른 예시적 무선 네트워크 100을 도시한 것이다. 도 1에 나타낸 무선 네트워크 100의 실시 예는 단지 설명을 위한 것이다. 무선 네트워크 100에 대한 다른 실시 예들이 본 개시의 범위를 벗어나지 않고서 사용될 수 있다.
도 1에 나타낸 바와 같이, 무선 네트워크 100은 eNB(enhanced NodeB) 101, eNB 102, 및 eNB 103을 포함한다. eNB 101은 eNB 102 및 eNB 103과 통신한다. 또한, eNB 101은 적어도 하나의 인터넷 프로토콜(IP) 네트워크 130, 예를 들어, 인터넷, 전용 IP 네트워크, 또는 다른 데이터 네트워크와도 통신한다.
네트워크 타입에 따라, "기지국" 또는 "액세스 포인트"와 같은 다른 잘-알려진 용어들이 "eNodeB" 또는 "eNB" 대신에 사용될 수도 있다. 편의상, 용어들 "eNodeB" 및 "eNB"는 원격 단말들에게 무선 액세스를 제공하는 네트워크 인프라 구조 컴포넌트들을 지칭하는 것으로 본 특허 명세서에서는 사용된다. 또한, 네트워크 타입에 따라, "이동국", "가입자 국", "원격 단말", "무선 단말", 또는 "사용자 장치"와 같은 다른 잘-알려진 용어들이 "사용자 단말" 또는 "UE" 대신에 사용될 수도 있다. 편의상, 용어들 "사용자 단말" 및 "UE"는, UE가 이동 장치(예컨대, 휴대 전화기 또는 스마트 폰)이든 일반적으로 고려되는 고정 장치(예컨대, 데스크탑 컴퓨터 또는 벤딩 머신)이든 간에, eNB에 무선으로 액세스하는 원격 무선 단말을 지칭하는 것으로 본 특허 명세서에서는 사용된다.
eNB 102는 eNB 102의 커버리지 영역 120 내에 있는 제 1 복수의 사용자 단말(UE)들에게, 네트워크 130에의 무선 광대역 액세스를 제공한다. 제 1 복수의 UE들은 중소기업(SB)에 위치할 수 있는 UE 111; 대기업(E)에 위치할 수 있는 UE 112; 와이파이 핫 스팟(HS)에 위치할 수 있는 UE 113; 제 1 주거지역(R)에 위치할 수 있는 UE 114; 제 2 주거지역(R)에 위치할 수 있는 UE 115; 및 휴대 전화, 무선 랩탑, 무선 PDA 등과 같은 모바일 장치(M)일 수 있는 UE 116을 포함한다. eNB 103은 eNB 103의 커버리지 영역 내에 있는 제 2 복수의 UE들에게, 네트워크 130에의 무선 광대역 액세스를 제공한다. 제 2 복수의 UE들은 UE 115 및 UE 116을 포함한다. 몇몇 실시 예들에서, eNB들 101-103 중 하나 이상의 eNB들은 5G, LTE, LTE-A, WiMAX, WiFi 또는 다른 무선 통신 기술들을 사용하여 서로 간에 및 UE들 111-116과 통신할 수 있다.
점선은, 단지 예시 및 설명의 목적으로 대략의 원형으로 나타낸 커버리지 영역들 120 및 125의 대략적인 범위들을 나타낸다. eNB들과 연관된 커버리지 영역들, 예를 들어 커버리지 영역들 120 및 125는 eNB들의 구성, 및 자연 및 인공 장애물들과 관련된 무선 환경의 변화에 따라, 불규칙한 형태들을 포함하는 다른 형태들을 가질 수 있음을 명확하게 이해해야 한다.
아래에서 보다 상세히 설명되는 바와 같이, eNB들 101 내지 103 중의 하나 이상은 본 개시의 실시 예들에서 설명되는 바와 같이 병렬 연접 트렐리스-기반 쿼시-사이클릭 저밀도 패리티 검사(PC-LDPC) 컨벌루션 코드를 적용하여 인코딩하는 병렬 연접 트렐리스(Parallel Concatenated Trellis)-기반 쿼시-사이클릭 저밀도 패리티 검사 RSC(Recursive Systematic Convolutional)(QC-RSC) 인코더를 사용하여 데이터를 인코딩하도록 구성된다. 특정 실시 예들에서, eNB들 101 내지 103 중의 하나 이상은 본 개시의 실시 예들에서 설명되는 바와 같이 PC-LDPC 컨벌루션 코드를 적용하는 트렐리스-기반 쿼시-사이클릭 저밀도 패리티 검사(TQC-LDPC) MAP(Maximum A posteriori Probability) 디코더를 사용하여 데이터를 디코딩하도록 구성된다. 특정 실시 예들에서, UE들 111 내지 116 중의 하나 이상은 본 개시의 실시 예들에서 설명되는 바와 같이 PC-LDPC 컨벌루션 코드를 적용하는 QC-RSC 인코더를 사용하여 데이터를 인코딩하도록 구성된다. 특정 실시 예들에서, UE들 111 내지 116 중의 하나 이상은 본 개시의 실시 예들에서 설명되는 바와 같이 PC-LDPC 컨벌루션 코드를 적용하는 TQC-LDPC MAP 디코더를 사용하여 데이터를 디코딩하도록 구성된다.
도 1은 무선 네트워크 100의 일 예를 도시한 것이지만, 다양한 변화들이 도 1에 대하여 이루어질 수 있다. 예를 들어, 무선 네트워크 100은 임의의 적절한 배열로 임의의 개수의 eNB들 및 임의의 개수의 UE들을 포함할 수 있다. 또한, eNB 101은 임의의 개수의 UE들과 직접 통신하여, 이 UE들에게 네트워크 130로의 무선 광대역 액세스를 제공할 수 있다. 이와 유사하게, 각 eNB 102-103은 네트워크 130과 직접 통신하여, UE들에게 네트워크 130로의 직접 무선 광대역 액세스를 제공할 수 있다. 또한, eNB 101, 102, 및/또는 103은 외부 전화 네트워크들 또는 다른 타입의 데이터 네트워크들과 같은 다른 또는 추가의 외부 네트워크들에의 액세스를 제공할 수 있다.
도 2a 및 도 2b는 본 개시에 따른 예시적인 무선 송신 및 수신 경로들을 도시한 것이다. 다음의 설명에서는, 송신 경로 200이 eNB(예컨대, eNB 102)에서 구현되는 것으로 설명될 수 있으며, 수신 경로 250이 UE(예컨대, UE 116)에서 구현되는 것으로 설명될 수 있다. 그러나, 수신 경로 250이 eNB에서 구현될 수도 있고 송신 경로 200이 UE에서 구현될 수도 있다는 것을 이해할 것이다. 특정 실시 예들에서, 송신 경로 200은 본 개시의 실시 예들에서 설명되는 바와 같이 PC-LDPC 컨벌루션 코드를 적용하는 QC-RSC 인코더를 사용하여 데이터를 인코딩하도록 구성된다. 특정 실시 예들에서, 수신 경로 250은 본 개시의 실시 예들에서 설명되는 바와 같이 PC-LDPC 컨벌루션 코드를 적용하는 TQC-LDPC MAP 디코더를 사용하여 데이터를 디코딩하도록 구성된다.
송신 경로 200은 채널 코딩 및 변조 블록 205, 직렬-병렬(S-to-P) 블록 210, 사이즈 N 역 고속 푸리에 변환(Inverse Fast Fourier Transform, IFFT) 블록 215, 병렬-직렬(P-to-S) 블록 220, 가산 순환 프리픽스 블록 225, 및 업-컨버터(up-converter, UC) 230을 포함한다. 수신 경로 250은 다운-컨버터(down-converter, DC) 255, 제거 순환 프리픽스 블록 260, 직렬-병렬(S-to-P) 블록 265, 사이즈 N 고속 푸리에 변환(Fast Fourier Transform, FFT) 블록 270, 병렬-직렬(P-to-S) 블록 275, 및 채널 디코딩 및 복조 블록 280을 포함한다.
송신 경로 200에서, 채널 코딩 및 변조 블록 205은 정보 비트들의 세트를 수신하여, 코딩(예컨대, LDPC(low-density parity check) 코딩)을 적용하고, 그 입력 비트들을 변조(예컨대, QPSK(Quadrature Phase Shift Keying) 또는 QAM(Quadrature Amplitude Modulation))함으로써, 주파수-영역 변조 심볼들의 시퀀스를 생성한다. 직렬-병렬 블록 210은 직렬 변조된 심볼들을 병렬 데이터로 변환(예컨대, 역다중화)하여 N 병렬 심볼 스트림들을 생성하며, 여기서 N은 eNB 102 및 UE 116에서 사용되는 IFFT/FFT 크기이다. 사이즈 N IFFT 블록 215은 N 병렬 심볼 스트림들 상에서 IFFT 동작을 수행하여, 시간-영역 출력 신호들을 생성한다. 병렬-직렬 블록 220은 사이즈 N IFFT 블록 215로부터의 병렬 시간-영역 출력 심볼들을 변환(예컨대, 다중화)하여, 직렬 시간-영역 신호를 생성한다. 가산 순환 프리픽스 블록 225는 시간-영역 신호에 순환 프리픽스를 삽입한다. 업-컨버터 230은 무선 채널을 통한 송신을 위해 가산 순환 프리픽스 블록 225의 출력을 RF 주파수로 변조(예컨대, 상향 변환)한다. 또한, 이 신호는 RF 주파수로 변환하기 이전에, 기저대역에서 필터링될 수도 있다.
eNB 102로부터 송신된 RF 신호는 무선 채널을 통과한 이후에 UE 116에 도달하여, eNB 102에서의 동작들에 대한 역 동작들이 UE 116에서 수행된다. 다운-컨버터 255는 수신된 신호를 기저대역 주파수로 하향 변환하며, 제거 순환 프리픽스 블록 260은 그 순환 프리픽스를 제거하여, 직렬 시간-영역 기저대역 신호를 생성한다. 직렬-병렬 블록 265는 시간-영역 기저대역 신호를 병렬 시간-영역 신호들로 변환한다. 사이즈 N FFT 블록 270은 FFT 알고리즘을 수행하여 N 병렬 주파수-영역 신호들을 생성한다. 병렬-직렬 블록 275는 병렬 주파수-영역 신호들을 변조된 데이터 심볼들의 시퀀스로 변환한다. 채널 디코딩 및 복조 블록 280은 그 변조된 심볼들에 대한 복조를 행한 후에 디코딩함으로써, 원래의 입력 데이터 스트림을 복구한다.
eNB들 101-103 각각은 사용자 단말 111-116로의 다운링크 송신과 유사한 송신 경로 200을 구현할 수 있으며, 사용자 단말 111-116로부터의 업링크 수신과 유사한 수신 경로 250을 구현할 수도 있다. 이와 유사하게, 사용자 단말 111-116 각각은 eNB들 101-103로의 업링크 송신을 위한 송신 경로 200을 구현할 수 있으며, eNB들 101-103로부터의 다운링크 수신을 위한 수신 경로 250을 구현할 수도 있다.
도 2a 및 2b에서의 컴포넌트들 각각은 하드웨어만을 사용하거나 또는 하드웨어 및 소프트웨어/펌웨어의 조합을 사용하여 구현될 수 있다. 특정한 예로서, 도 2a 및 2b의 컴포넌트들 중의 적어도 몇몇은 소프트웨어로 구현될 수 있는 한편, 다른 컴포넌트들은 구성 가능한 하드웨어 또는 소프트웨어와 구성 가능한 하드웨어의 혼합에 의해 구현될 수도 있다. 예를 들어, FFT 블록 270 및 IFFT 블록 215는 구성 가능한 소프트웨어 알고리즘들로서 구현될 수 있으며, 여기서 사이즈 N의 값은 그 구현에 따라 변경될 수 있다.
또한, FFT 및 IFFT를 사용하는 것으로 설명되었지만, 이것은 단지 예시에 의한 것일 뿐이며, 본 개시의 범위를 한정하는 것으로 해석되어서는 아니 된다. 다른 타입의 변환들, 예를 들어 이산 푸리에 변환(Discrete Fourier Transform, DFT) 함수 및 역 이산 푸리에 변환(Inverse Discrete Fourier Transform, IDFT) 함수가 사용될 수도 있다. DFT 및 IDFT 함수들의 경우, 변수 N의 값은 임의의 정수(예컨대, 1, 2, 3, 4 등)가 될 수 있으며, FFT 및 IFFT 함수들의 경우, 변수 N의 값은 2의 제곱(즉, 1, 2, 4, 8, 16 등)인 임의의 정수가 될 수 있음을 이해할 것이다.
도 2a 및 도 2b가 송신 및 수신 경로들의 예들을 도시하고 있지만, 다양한 변화들이 도 2a 및 도 2b에 대하여 이루어질 수 있다. 예를 들어, 도 2a 및 도 2b의 각종 컴포넌트들이 조합되거나, 더 세분화되거나, 생략될 수 있으며, 특정 필요들에 따라 추가의 컴포넌트들이 부가될 수도 있다. 또한, 도 2a 및 도 2b는 무선 네트워크에서 사용될 수 있는 송신 및 수신 경로들의 타입에 대한 예들을 설명하기 위한 것이다. 무선 네트워크에서 무선 통신을 지원하기 위해 임의의 다른 적절한 아키텍처들이 사용될 수 있다.
도 3은 본 개시에 따른, 예시적 UE 116을 도시한 것이다. 도 3에 도시된 UE 116의 실시 예는 단지 설명을 위한 것이며, 도 1a의 UE들 111-115은 동일하거나 유사한 구성을 가질 수 있다. 그러나, UE들은 각종의 다양한 구성들로 이루어지며, 도 3은 UE에 대한 임의의 특정 구현으로 본 개시의 범위를 제한하지 않는다.
UE 116은 복수의 안테나들 305a-305n, 무선 주파수(radio frequency, RF) 송수신기들 310a-310n, TX 처리 회로 315, 마이크로폰 320, 및 수신(RX) 처리 회로 325를 포함한다. TX 처리 회로 315 및 RX 처리 회로 325는 각각 RF 송수신기들 310a-310n 각각에 커플링되며, 예를 들어, 그 각각이 안테나 305a, 안테나 305b 및 n 번째 안테나 305n에 커플링되어 있는 RF 송수신기 310a, RF 송수신기210b 및 n 번째 RF 송수신기 310n에 커플링된다. 특정 실시 예들에서, UE 116는 단일 안테나 305a 및 단일 RF 송수신기 310a를 포함한다. 또한, UE 116은 스피커 330, 메인 프로세서 340, 입/출력(I/O) 인터페이스(IF) 345, 키패드 350, 디스플레이 355, 및 메모리 360를 포함한다. 메모리 360은 기본 운영 시스템(OS) 361 및 하나 이상의 애플리케이션들 362를 포함한다.
RF 송수신기들 310a-310n은 네트워크 100의 eNB 또는 AP에 의해 송신되는 내향 RF 신호를 각 안테나들 305a-305n로부터 수신한다. 특정 실시 예들에서, RF 송수신기들 310a-310n 각각 및 각 안테나들 305a-305n은 특정한 주파수 대역 또는 기술 타입용으로 구성된다. 예를 들어, 제 1 RF 송수신기 310a 및 안테나 305a는 BLUETOOTH®와 같은 근거리 통신을 통해 통신하도록 구성될 수 있고, 제 2 RF 송수신기 310b 및 안테나 305b는 Wi-Fi와 같은 IEEE 802.11 통신을 통해 통신하도록 구성될 수 있으며, 또한 다른 RF 송수신기 310n 및 안테나 305n은 3G, 4G, 5G, LTE, LTE-A 또는 WiMAX와 같은 셀룰러 통신을 통해 통신하도록 구성될 수 있다. 특정 실시 예들에서, RF 송수신기들 310a-310n 중의 하나 이상 및 각 안테나들 305a-305n은 특정한 주파수 대역 또는 동일한 기술 타입용으로 구성된다. RF 송수신기들 310a-310n은 내향 RF 신호를 하향-변환하여, 중간 주파수(intermediate frequency, IF) 또는 기저대역 신호를 생성한다. IF 또는 기저대역 신호는, 그 기저대역 또는 IF 신호를 필터링하고, 디코딩하고, 및/또는 디지털화하는 것에 의해 처리된 기저대역 신호를 생성하는 RX 처리 회로 325로 전송된다. RX 처리 회로 325는 그 처리된 기저대역 신호를, 스피커 330로 송신하거나(예컨대, 음성 데이터), 또는 추가 처리를 위해 메인 프로세서 340로 송신한다(예컨대, 웹 브라우징 데이터).
TX 처리 회로 315는 마이크로폰 320으로부터 아날로그 또는 디지털 음성 데이터를 수신하거나 또는 프로세서 340으로부터 다른 외향 기저대역 데이터(예컨대, 웹 데이터, 이-메일, 또는 쌍방향 비디오 게임 데이터)를 수신한다. TX 처리 회로 315는 그 외향 기저대역 데이터를 인코딩, 멀티플렉싱, 및/또는 디지털화하여, 처리된 기저대역 또는 IF 신호를 생성한다. RF 송수신기들 310a-310n은 TX 처리 회로 315로부터 외향 처리된 기저대역 또는 IF 신호를 수신하고, 그 기저대역 또는 IF 신호를, 안테나들 305a-305n 중의 하나 이상을 통해 송신되는 RF 신호로 상향-변환한다.
메인 프로세서 340은 하나 이상의 프로세서들 또는 다른 처리 장치들을 포함할 수 있으며, 메모리 360에 저장된 기본 OS 프로그램 361을 실행함으로써 UE 116의 전반적인 동작을 제어할 수 있다. 예를 들어, 메인 프로세서 340은 잘 알려진 원리들에 따라 RF 송수신기들 310a-310n, RX 처리 회로 325, 및 TX 처리 회로 315에 의해 순방향 채널 신호들의 수신 및 역방향 채널 신호들의 송신을 제어할 수 있다. 몇몇 실시 예들에서, 메인 프로세서 340은 적어도 하나의 마이크로프로세서 또는 마이크로컨트롤러를 포함한다. 메인 프로세서 340은 데이터 정보를 인코딩 또는 디코딩하도록 구성된 처리 회로를 포함하며, 예를 들어 PC-LDPC 컨벌루션 코드를 적용하도록 구성된 QC-RSC 인코더 처리 회로, PC-LDPC 컨벌루션 코드를 적용하도록 구성된 TQC-LDPC MAP 디코더 처리 회로; QC-RSC 인코더; TQC-LDPC MAP 디코더; 또는 이들의 조합을 포함할 수 있다.
또한, 메인 프로세서 340은 본 개시의 실시 예들에서 설명되는 바와 같은 QC-RSC 인코더에서의 인코딩 또는 TQC-LDPC MAP 디코더에서의 디코딩용의 PC-LDPC 컨벌루션 코드를 적용하기 위한 동작들과 같은, 메모리 360에 상주하는 다른 프로세스들 및 프로그램들을 실행할 수 있다. 메인 프로세서 340은 실행 프로세스에 의한 요구에 따라 메모리 360 내로 또는 외부로 데이터를 이동할 수 있다. 몇몇 실시 예들에서, 메인 프로세서 340은 OS 프로그램 361에 기초하여 또는 eNB들 또는 오퍼레이터로부터 수신된 신호들에 대한 응답으로 애플리케이션들 362를 실행하도록 구성된다. 또한, 메인 프로세서 340은, 랩탑 컴퓨터 및 휴대용 컴퓨터와 같은 다른 장치들에 연결되는 능력을 UE 116에게 제공하는 I/O 인터페이스 345에 커플링되어 있다. I/O 인터페이스 345는 이 주변기기들과 메인 프로세서 340 간의 통신 경로이다.
또한, 메인 프로세서 340은 키패드 350 및 디스플레이 유닛 355에 커플링된다. UE 116의 사용자는 키패드 350를 사용하여 UE 116에 데이터를 입력할 수 있다. 디스플레이 355는 예를 들어, 웹 사이트들로부터의 텍스트 또는 적어도 제한된 그래픽들, 또는 이들의 조합을 렌더링할 수 있는 액정 표시 장치 또는 다른 디스플레이일 수 있다.
메모리 360은 메인 프로세서 340에 커플링된다. 메모리 360의 일부는 랜덤 액세스 메모리(random access memory, RAM)를 포함할 수 있으며, 메모리 360의 다른 일부는 플래시 메모리 또는 다른 판독 전용 메모리(read-only memory, ROM)를 포함할 수 있다.
도 3은 UE 116의 일 예를 도시한 것이지만, 다양한 변화들이 도 3에 대하여 이루어질 수 있다. 예를 들어, 도 3의 각종 컴포넌트들은 조합되거나, 더 세분화되거나, 생략될 수 있으며, 특정 필요들에 따라 추가 컴포넌트들이 부가될 수도 있다. 일 특정 예로서, 메인 프로세서 340은 복수의 프로세서들, 예를 들어 하나 이상의 중앙 처리 유닛(CPU)들 및 하나 이상의 그래픽 처리 유닛(GPU)들로 분할될 수 있다. 또한, 도 3이 모바일 전화기나 스마트 폰과 같이 구성된 UE 116을 도시하고 있지만, UE들은 다른 타입의 모바일 또는 고정 장치들로서 동작하도록 구성될 수도 있다.
도 4는 본 개시에 따른 예시적 eNB 102를 도시한 것이다. 도 4에 도시된 eNB 102의 실시 예는 단지 설명을 위한 것이며, 도 1의 다른 eNB들은 동일하거나 유사한 구성을 가질 수 있다. 그러나, eNB들은 각종의 다양한 구성들로 이루어지며, 도 4는 eNB에 대한 임의의 특정 구현으로 본 개시의 범위를 제한하지 않는다.
eNB 102는 복수의 안테나들 405a-405n, 복수의 RF 송수신기들 410a-410n, 송신(TX) 처리 회로 415, 및 수신(RX) 처리 회로 420를 포함한다. 또한, eNB 102는 컨트롤러/프로세서 425, 메모리 430, 백홀 또는 네트워크 인터페이스 435를 포함한다.
RF 송수신기들 410a-410n은, 안테나들 405a-405n으로부터, UE들 또는 다른 eNB들에 의해 송신되는 신호들과 같은 내향 RF 신호들을 수신한다. RF 송수신기들 410a-410n은 내향 RF 신호들을 하향 변환하여, IF 또는 기저대역 신호들을 생성한다. IF 또는 기저대역 신호들은, 기저대역 또는 IF 신호들을 필터링하고, 디코딩하고, 및/또는 디지털화하는 것에 의하여 처리된 기저대역 신호들을 생성하는 RX 처리 회로 420으로 전송된다. RX 처리 회로 420은 이 처리된 기저대역 신호들을, 추가의 처리를 위하여 컨트롤러/프로세서 425로 송신한다.
TX 처리 회로 415는, 컨트롤러/프로세서 425로부터 아날로그 또는 디지털 데이터(예컨대, 음성 데이터, 웹 데이터, 이-메일, 또는 쌍방향 비디오 게임 데이터)를 수신한다. TX 처리 회로 415는, 외향 기저대역 데이터를 인코딩, 멀티플렉싱, 및/또는 디지털화하여, 처리된 기저대역 또는 IF 신호들을 생성한다. RF 송수신기들 410a-410n은 TX 처리 회로 415로부터, 외향 처리된 기저대역 또는 IF 신호들을 수신하고, 그 기저대역 또는 IF 신호들을, 안테나들 405a-405n을 통해 송신되는 RF 신호들로 상향-변환한다.
컨트롤러/프로세서 425는 eNB 102의 전반적인 동작을 제어하는 하나 이상의 프로세서들 또는 다른 처리 장치들을 포함할 수 있다. 예를 들어, 컨트롤러/프로세서 425는, 잘 알려진 원리들에 따라 RF 송수신기들 410a-410n, RX 처리 회로 420, 및 TX 처리 회로 415에 의해 순방향 채널 신호들의 수신 및 역방향 채널 신호들의 송신을 제어할 수 있다. 컨트롤러/프로세서 425는 본 개시의 실시 예들에서 설명되는 바와 같은 QC-RSC 인코더에서의 인코딩 또는 TQC-LDPC MAP 디코더에서의 디코딩용의 PC-LDPC 컨벌루션 코드를 적용하는 등과 같은 추가 기능들도 지원할 수 있다. 임의의 각종 다양한 다른 기능들이 컨트롤러/프로세서 425에 의해서 eNB 102에서 지원될 수 있다. 몇몇 실시 예들에서, 컨트롤러/프로세서 425는 적어도 하나의 마이크로프로세서 또는 마이크로컨트롤러를 포함한다. 컨트롤러/프로세서 425는 데이터 정보를 인코딩 또는 디코딩하도록 구성된 처리 회로를 포함하며, 예를 들어 데이터 인코딩을 위해 PC-LDPC 컨벌루션 코드를 적용하는 QC-RSC 인코더, 데이터 디코딩을 위해 PC-LDPC 컨벌루션 코드를 적용하는 TQC-LDPC MAP 디코더; QC-RSC 인코더; TQC-LDPC MAP 디코더; 또는 이들의 조합을 포함할 수 있다.
또한, 컨트롤러/프로세서 425는 메모리 430에 상주하는 프로그램들 및 다른 프로세스들, 예를 들어 기본 OS를 실행할 수 있다. 컨트롤러/프로세서 425는 실행 프로세스에 의한 요구에 따라 데이터를 메모리 430 내로 또는 외부로 이동시킬 수 있다.
또한, 컨트롤러/프로세서 425는 백홀 또는 네트워크 인터페이스 435에 커플링된다. 백홀 또는 네트워크 인터페이스 435는, eNB 102가 백홀 연결을 통해 또는 네트워크를 통해 다른 장치들 또는 시스템들과 통신하는 것을 가능하게 한다. 인터페이스 435는 임의의 적절한 유선 또는 무선 연결(들)을 통한 통신들을 지원할 수 있다. 예를 들어, eNB 102가 셀룰러 통신 시스템(예컨대, 5G, LTE, 또는 LTE-A를 지원하는 것)의 일부로서 구현되는 경우, 인터페이스 435는, eNB 102가 유선 또는 무선 백홀 연결을 통해 다른 eNB들과 통신하는 것을 가능하게 할 수 있다. eNB 102가 액세스 포인트로서 구현되는 경우, 인터페이스 435는, eNB 102가 유선 또는 무선 로컬 영역 네트워크를 통해 또는 유선 또는 무선 연결을 통해 더 큰 네트워크(예컨대, 인터넷)로 전송하는 것을 가능하게 한다. 인터페이스 435는 유선 또는 무선 연결, 예를 들어 이더넷 또는 RF 송수신기를 통한 통신들을 지원하는 임의의 적절한 구조를 포함한다.
메모리 430은 컨트롤러/프로세서 425에 커플링된다. 메모리 430의 일부는 RAM을 포함할 수 있으며, 메모리 430의 다른 일부는 플래시 메모리 또는 다른 ROM을 포함할 수 있다.
아래에서 더 상세히 설명되는 바와 같이, eNB 102(RF 송수신기들 410a-410n, TX 처리 회로 415 및/또는 RX 처리 회로 420을 사용하여 구현됨)의 송신 및 수신 경로들은 FDD 셀들 및 TDD 셀들의 애그리게이션과의 통신을 지원한다.
도 4가 eNB 102의 일 예를 도시하고 있지만, 다양한 변화들이 도 4에 대하여 이루어질 수 있다. 예를 들어, eNB 102는 도 4에 나타낸 각 컴포넌트에 대한 임의의 개수를 포함할 수 있다. 일 특정 예로서, 액세스 포인트는 다수의 인터페이스들 435를 포함할 수 있고, 컨트롤러/프로세서 425는 상이한 네트워크 주소들 사이에서 데이터를 라우팅하는 라우팅 기능들을 지원할 수 있다. 다른 특정 예로서, 단일 인스턴스의 TX 처리 회로 415 및 단일 인스턴스의 RX 처리 회로 420를 포함하는 것으로 도시되어 있지만, eNB 102는 각각에 대한 복수의 인스턴스들을 포함할 수 있다(예컨대, RF 송수신기당 하나).
LDPC 코드가 최근에 많은 주목을 받고 있다. 그 이유는 이 코드의 샤넌 한계에 가까운 성능을 달성하는 능력, 하드웨어에서 높은 병렬 처리를 가능하게 하는 코드 설계 능력, 높은 데이터 레이트 지원 때문이다. LDPC 코드의 가장 일반적으로 배치되는 형태는 블록 LDPC 코드이다. 그러나, 채널 상태 및 사용자당 데이터 할당이 계속해서 변화하는 매우 동적인 무선 통신 시스템에서는, 블록 LDPC 코드가 다소 제한된 유연성을 제공하게 된다.
PC-LDPC 컨벌루션 코드는 트렐리스-기반 쿼시-사이클릭 LDPC(TQC-LDPC) 컨벌루션 코드의 특수 케이스인 새로운 용량-근접(capacity-approaching) 코드이다. PC-LDPC 컨벌루션 코드는 트렐리스 기반 컨벌루션 의존성을 코드에 도입함으로써 임의의 QC-LDPC 블록 코드로부터 도출될 수 있다. PC-LDPC 코드는 컨벌루션 LDPC 코드와 LDPC 블록 코드의 장점들을 조합한 것이다. PC-LDPC 코드는 기본 블록 코드의 리프팅-팩터 (Z) 사이즈 그래뉼래러티의 순서에 따라 블록 사이즈 (γ) 그래뉼래러티에서 세밀한 입력 그래뉼래러티로 LDPC 블록 그래뉼래러티를 줄이는 특수 클래스의 LDPC 코드를 형성한다. PC-LDPC 컨벌루션 코드는 낮은 비트 오류율(BER)을 유지하면서 낮은 복잡도(X) 인코더 및 디코더 아키텍처를 가능하게 한다. 따라서, PC-LDPC 코드는 컨벌루션 구조를 가진 패리티 검사 행렬들을 구비한다. 이 구조는 다른 블록 LDPC 코드들에 비해 세밀한 그래뉼래러티를 갖는 확장 가능한 코드 길이를 허용한다. 또한, PC-LDPC 코드는 LDPC 코드의 높은 병렬 처리 능력을 물려받기 때문에, 복수 GB 스루풋을 지원할 수 있다.
용량-근접 PC-LDPC 컨벌루션 코드는 병렬 연접 트렐리스-기반 쿼시-사이클릭 LDPC RSC(Recursive Systematic Convolutional) 인코더 즉, QC-RSC 인코더를 통해 인코딩된다.
QC-MAP 디코더를 사용하는 PC-LDPC 컨벌루션 코드는 기존의 QC-LDPC 블록 코드 및 기존의 LDPC 컨벌루션 코드보다 소정 비트 오류율(BER), 신호 대 잡음비(SNR) 및 데이터 레이트에 있어서 2배 낮은 복잡성을 갖는다. QC-MAP 디코더를 사용하는 PC-LDPC 컨벌루션 코드는 소정 비트 오류율(BER), 복잡성 및 데이터 레이트에 있어서 기존의 QC-LDPC 블록 코드보다 0.5 dB 이상 뛰어나며, 샤넌 용량 제한에 1.25 dB보다 작은 갭으로 접근한다. 이러한 낮은 디코딩 복잡성 및 세밀한 그래뉼래러티로 인하여, 제안된 용량-근접 PC-LDPC 컨벌루션 코드 및 관련 트렐리스-기반 QC-MAP 디코더는, 초고속 데이터 전송 속도 차세대 모바일 시스템에서 효율적으로 구현될 수 있게 된다.
도 5는 본 개시에 따른 병렬 연접 트렐리스-기반 쿼시-사이클릭 저밀도 패리티 검사 RSC(Recursive Systematic Convolutional)(QC-RSC) 인코더 500을 도시한 것이다. 도 5에 나타낸 QC-RSC 인코더 500의 실시 예는 단지 예시를 위한 것이다. 다른 실시 예들이 본 개시의 범위를 벗어나지 않고서 사용될 수 있다.
QC-RSC 인코더 500은 UE 116 또는 eNB 102에 포함될 수 있다. QC-RSC 인코더 500은 입력 505로서 인코딩될 정보를 수신한다. 보다 구체적으로, 입력 505는 Z-그룹의 시스템 비트들
Figure pct00001
형태로 시스템 데이터를 포함한다. QC-RSC 인코더 500은 PC-LDPC 인코딩 프로세스 700을 구현함으로써 입력 505를 인코딩한다(도 7a를 참조하여 더 상세하게 설명됨). QC-RSC 인코더 500은 출력 510으로서 인코딩된 버전의 수신 정보를 출력한다. 인코딩된 정보 출력 510은 H-행렬의 형태의 코드 블록을 포함하며, 여기서 H-행렬은 입력된 시스템 데이터의 시스템 하위행렬(Hsys), 및 패리티 검사 비트들의 패리티 검사 하위행렬(Hpar)을 포함한다. 시스템 하위행렬(Hsys)는 인코더 500에 입력되는 정보를 포함한다. 패리티 검사 하위행렬(Hpar)은 시스템 비트당 하나 이상의 패리티 비트들을 포함한다. 나타낸 예에서, 출력 510은 시스템 데이터
Figure pct00002
515, 제 1 Z-그룹패리티 비트들
Figure pct00003
520, 제 2 Z-그룹 패리티 비트들
Figure pct00004
525, 및 제 3 Z-그룹 패리티 비트들
Figure pct00005
530을 포함한다.
QC-RSC 인코더 500는 리프팅 팩터 Z 및
Figure pct00006
행들(Z-행들의 J 세트로 지칭됨) 및
Figure pct00007
시스템 열들(시스템 Z-열들의 B 세트로 지칭됨)을 갖는 기본 LDPC 블록 코드 패리티 검사 행렬 H에 기반하여 구성된다. 즉, 기본 LDPC 블록 코드 패리티 검사 행렬 H는 시스템 부분 및 패리티 부분을 포함하며, 즉, 시스템 하위행렬(Hsys) 및 패리티 검사 하위행렬(Hpar)을 포함한다. 기본 LDPC 블록 코드 패리티 검사 행렬 H는 수학식 1에 따라 정의된다. 패리티 검사 하위행렬(Hpar)은 Z-행들의 J 세트 및 일정 수(예를 들어, J)의 패리티 Z-열들의 세트를 포함한다. 시스템 하위행렬(Hsys)은 Z-행들의 J 세트 및 시스템 Z-열들의 B 세트를 포함한다. 시스템 하위행렬(Hsys)은 수학식 2에 따라 정의된다. 시스템 하위행렬(Hsys)은 그 각각이
Figure pct00008
으로 지칭되는 JB Z-그룹들을 포함한다. 수학식 3에 나타낸 바와 같이, 기본 LDPC 블록 코드 H의 j 번째 Z-행 및 l 번째 Z-열의 시스템 부분은
Figure pct00009
에 대하여
Figure pct00010
로 정의된다. 입력 505는 하나 이상의 사이클릭 시프트되는 Z-그룹 입력 비트들을 포함하는 입력 시퀀스이며, 여기서
Figure pct00011
는 입력 시퀀스의 n 번째 Z의 그룹(즉 Z-그룹) 비트로 정의되며, 여기서 n은 n=0, ..., JB-1로부터의 입력 시퀀스의 인덱스이다. 보다 구체적으로,
Figure pct00012
의 j 번째 Z-행에 대응하는 n 번째 사이클릭 시프트된 Z-그룹 입력 비트들은 수학식 4에서 정의되는 바와 같이
Figure pct00013
로 지칭되며, 여기서
Figure pct00014
은 n modulo B이다.
Figure pct00015
Figure pct00016
Figure pct00017
Figure pct00018
도 5에 도시된 QC-RSC 인코더 500은 송신 노드에 포함될 수 있다. QC-RSC 인코더 500에 의해 인코딩되는 코드워드는 무선 채널을 통해 수신 노드로 송신될 수 있다. 코드워드를 송신하기 위해, 송신 노드는 코드워드를 변조하도록 구성된 적어도 하나의 모듈 또는 유닛, 및 무선 주파수(RF) 신호들을 생성하도록 구성된 적어도 하나의 모듈 또는 유닛을 더 포함할 수 있다(예를 들어, 믹서, 전력 증폭기, 오실레이터 등).
도 6은 본 개시에 따른 트렐리스-기반 쿼시-사이클릭 저밀도 패리티 검사(TQC-LDPC) MAP(Maximum A posteriori Probability) 디코더 600을 도시한 것이다. 도 6에 나타낸 TQC-LDPC MAP 디코더 600의 실시 예는 단지 예시를 위한 것이다. 다른 실시 예들이 본 개시의 범위를 벗어나지 않고서 사용될 수 있다.
TQC-LDPC MAP 디코더 600은 UE 116 또는 eNB 102에 포함될 수 있다. TQC-LDPC MAP 디코더 600은 입력 610으로서 디코딩될 정보
Figure pct00019
및 패리티 로그-우도 비율(log-likelihood ratio, LLR)들의 세트를 수신한다. 입력 610에서,
Figure pct00020
는 비-인터리빙 모드에서의 n 번째 Z-그룹 수신된 시스템 로그-우도 비율(log-likelihood ratio, LLR) 세트이다. 또한, 패리티 LLR들의 세트는
Figure pct00021
로 나타내지며, 여기서 각각의
Figure pct00022
Figure pct00023
Z-행 j에 관련된 대응 쿼시-사이클릭 시프트들에 의해서 이미 인터리빙되어 있다. 보다 구체적으로, 입력 610은 인코딩된 정보, 즉, H-행렬 형태의 코드 블록을 포함하며, 여기서 H-행렬은 입력된 시스템 데이터의 시스템 하위행렬(Hsys), 및 패리티 검사 비트들의 패리티 검사 하위행렬(Hpar)을 포함한다. 시스템 하위행렬(Hsys)은 인코더 500에 입력되는 정보를 포함한다. 패리티 검사 하위행렬(Hpar)은 시스템 비트당 하나 이상의 패리티 비트들을 포함한다. 나타낸 예에서, 입력 610은 Z-그룹 시스템 비트들
Figure pct00024
, 제 1 Z-그룹 패리티 비트들
Figure pct00025
620, 제 2 Z-그룹 패리티 비트들
Figure pct00026
625, 및 제 3 Z-그룹 패리티 비트들
Figure pct00027
630의 형태로 시스템 데이터 615를 포함한다. TQC-LDPC MAP 디코더 600은 PC-LDPC 디코딩 프로세스(아래에서 더 상세히 설명됨)를 구현함으로써 입력 610을 디코딩한다. TQC-LDPC MAP 디코더 600은 출력 635로서 디코딩된 버전의 수신 정보를 출력한다.
단순화를 위해, 본 개시는 eNB 102가 QC-RSC 인코더를 포함하고 인코딩된 정보 출력
Figure pct00028
510을 UE 116에 송신하며, 그에 대응하여 UE 116은 디코더 600을 포함하고 인코딩된 정보
Figure pct00029
610을 수신하는 예시적인 시나리오의 맥락에서 설명될 것이다. eNB 102의 송신기와 UE 116의 수신기 사이에 있는 완전한 채널의 경우, 인코더 500으로부터의 출력 510은 디코더 600으로의 입력 610과 동일하다. 인코더 500 및 디코더 600의 완전한 동작의 경우, 시스템 정보
Figure pct00030
505는 정보 515, 615, 및 635와 동일하고; 제 1 패리티 정보
Figure pct00031
520은 정보 620과 동일하고; 제 2 패리티 정보
Figure pct00032
525는 정보 625와 동일하며, 제 3 패리티 정보
Figure pct00033
530은 정보 630과 동일하다.
도 6에 도시된 TQC-LDPC MAP 디코더 600은 수신 노드에 포함될 수 있다. 인코딩된 정보
Figure pct00034
610은 무선 채널을 통해 송신 노드로부터 수신 노드로 수신될 수 있다. 인코딩된 정보
Figure pct00035
610을 수신하기 위해, 수신 노드는 무선 주파수(RF) 신호들을 처리하도록 구성된 적어도 하나의 모듈 또는 유닛(예를 들어, 믹서, 저잡음 증폭기, 오실레이터 등), 및 코드워드를 복조하도록 구성된 적어도 하나의 모듈 또는 유닛을 더 포함할 수 있다.
도 7a는 본 개시에 따른 PC-LDPC 인코딩 프로세스 700을 도시한 것이다. 이 흐름도가 일련의 순차적 단계들을 도시하고 있지만, 명시적으로 언급하지 않는 한, 수행의 특정 순서에 대한 시퀀스로부터 어떠한 추론도 도출되지 않아야 하며, 단계들이나 그 일부분의 수행은 동시 또는 오버랩 방식으로가 아닌 순차적일 수도 있고, 또는 이 단계들의 수행은 중간 또는 매개 단계들의 발생 없이 독점적으로 도시될 수 있다. 도시된 예에서 도시된 프로세스는 예를 들어, 기지국과 같은 송신기에서의 인코더 회로 또는 처리 회로에 의해 구현된다.
블록 705에서, QC-RSC 인코더 500은 인코딩될 정보의 입력 505를 수신한다. 또한 블록 705에서, QC-RSC 인코더 500은 입력 505에 리프팅 팩터(Z) 및 구속장 길이(λ)를 선택한다. QC-RSC 인코더 500이 ZxZ 순열 행렬의 크기를 갖는 시스템 데이터의 행렬을 인코딩하도록 구성되기 때문에, 리프팅 팩터(Z)는 입력 그래뉼래러티(δ)를 나타낸다.
블록 710에서, QC-RSC 인코더 500은 입력 505에 기초하여 공간-결합(Spatially-Coupled, SC) 저밀도 패리티 검사(LDPC) 베이스 코드를 생성한다. SC-LDPC 베이스 코드에 대해서는 도 10 및 도 11을 참조하여 더 상세하게 논의된다. SC-LDPC 베이스 코드는 행 가중치(Wr), 열 가중치(Wc), 및 제 1 레벨 리프팅 팩터(Z)에 의해 특징지어진다.
SC-LDPC 베이스 코드를 도출하는 부분으로서, QC-RSC 인코더 500은 Z-그룹 비트들에서 기본 LDPC 시스템 H-행렬(
Figure pct00036
)의 크기(B)를 증가시킴으로써, 비트 오류율(BER) 및 컨벌루션 코드의 주기를 감소시킬 수 있다.
Figure pct00037
행렬의 크기(B)는 SC-LDPC 베이스 코드의 행 가중치(Wr)에 상응한다. 이러한 감소가 도 14 및 도 15의 크기 B=3 변형된 TQC-LDPC 컨벌루션 H-행렬과, 도 16 및 도 17의 크기 B=6 변형된 TQC-LDPC 컨벌루션 H-행렬을 비교하는 것에 의해 보여진다.
블록들 715-730에서, QC-RSC 인코더 500은 SC-LDPC 베이스 코드를, 트렐리스-기반 쿼시-사이클릭 LDPC(TQC-LDPC) 컨벌루션 코드로 변환한다. SC-LDPC 베이스 코드를 PC-LDPC 컨벌루션 코드로 변환하기 위해, QC-RSC 인코더 500은 SC-LDPC 베이스 코드에 기초하여 SC-LDPC 코드를 도출하고(도 12의 (a) 부분에 나타냄)(블록 715), 이 도출된 SC-LDPC 코드를 직렬화하여 연접된 SC-LDPC 인코딩 구조로 연접하고(도 12의 (b) 및 (c) 부분에 각각 나타냄)(블록 720), 후속 패리티 계산에서 다른 행들의 이전 패리티 비트들을 제외하고(도 13a에 나타냄)(블록 725), 패리티 비트들로부터 시스템 비트들을 분리하여, 도출된 TQC-LDPC 컨벌루션 코드를 산출한다(도 13b에 나타냄)(블록 730).
SC-LDPC 베이스 코드를 PC-LDPC 컨벌루션 코드로 변환하는 것 이외에, QC-RSC 인코더 500은 (i) 변형된 TQC-LDPC 컨벌루션 H-행렬을 생성할지 여부; (ii) 상대적 시프팅(shifting)을 수행할지 여부; (iii) 하나 이상의 행들을 펑처링할지 여부; 및 (iv) 듀얼-스텝 PC-LDPC 컨벌루션 코드를 구현할지 여부를 선택하도록 구성된다. QC-RSC 인코더 500이 변형된 TQC-LDPC 컨벌루션 H-행렬을 생성하는 것으로 선택하는 경우, 프로세스 700은 블록 735로 진행하고, 그렇지 않은 경우, 프로세스는 블록 735를 스킵하고서 블록 740으로 진행한다. QC-RSC 인코더 500이 상대적 시프팅을 수행하는 것으로 선택하는 경우, 프로세스 700은 블록 740으로 진행하고, 그렇지 않은 경우, 프로세스는 블록 740을 스킵하고서 블록 745로 진행한다. QC-RSC 인코더 500이 듀얼-스텝 PC-LDPC 컨벌루션 코드를 구현하는 것으로 선택하는 경우, 프로세스 700은 블록 745로 진행하고, 그렇지 않은 경우, 프로세스는 블록 745를 스킵하고서 블록 750으로 진행한다.
블록 735에서, QC-RSC 인코더 500은 변형된 TQC-LDPC 컨벌루션 H-행렬을 생성한다(도 14 및 도 15에 나타냄). 보다 구체적으로, QC-RSC 인코더 500은 쿼시-사이클릭 값들을 변경함으로써, 변형된 TQC-LDPC 컨벌루션 H-행렬을 생성한다.
블록 740에서, QC-RSC 인코더 500은 기준 행으로서 하나의 행을 사용하고 나머지 행들을 시프팅함으로써 상대적 시프팅을 수행한다. 보다 구체적으로, QC-RSC 인코더 500은 기준 행(예컨대, 제 1 행 또는 다른 행)을 선택한다. 기준 행의 모든 시프트 엔트리들은 단위 행렬을 나타내는 "0"이다. QC-RSC 인코더 500은 선택된 기준 행에 대하여 각각의 다른 행을 시프트한다.
블록 745에서, QC-RSC 인코더 500은 QC-시프트 듀얼-스텝 TQC-LDPC 컨벌루션 코드를 결정한다.
블록 750에서, QC-RSC 인코더 500은 PC-LDPC 컨벌루션 코드를 출력한다. 보다 구체적으로, QC-RSC 인코더 500은 병렬적으로 Z-그룹 비트들에서 패리티(J)의 각 행을 생성하고, 어떤 행 패리티 비트들이 출력될 것인지를 선택한다. 예를 들어, QC-RSC 인코더 500은 열(column)당 하나의 패리티(도 13b에 나타냄), 열당 두 개의 패리티(도 14 및 도 16에 나타냄), 또는 SC-LDPC 베이스 코드의 열 레이트(Wc)까지의 임의의 수의 패리티를 출력하는 것으로 선택할 수 있다.
패리티 출력의 일부로서, 펑처링을 수행하는 선택에 응답하여, QC-RSC 인코더 500은 패리티의 하나 이상의 행들을 펑처링한다. 보다 구체적으로, QC-RSC 인코더 500은 펑처링 동작을 수행함으로써 출력 레이트(R)를 증가시킨다. 특정 실시 예들에서, QC-RSC 인코더 500은 펑처링 패턴에 따라서 펑처링한다.
도 7b는 본 개시에 따른 PC-LDPC 디코딩 프로세스 701을 도시한 것이다. 이 흐름도가 일련의 순차적 단계들을 도시하고 있지만, 명시적으로 언급하지 않는 한, 수행의 특정 순서에 대한 시퀀스로부터 어떠한 추론도 도출되지 않아야 하며, 단계들이나 그 일부분의 수행은 동시 또는 오버랩 방식으로가 아닌 순차적일 수도 있고, 또는 이 단계들의 수행은 중간 또는 매개 단계들의 발생 없이 독점적으로 도시될 수 있다. 도시된 예에서 도시된 프로세스는 예를 들어, 기지국과 같은 송신기에서의 인코더 회로 또는 처리 회로에 의해 구현된다. 단순화를 위해, 본 개시는 디코더 600이 PC-LDPC 디코딩 프로세스 701을 구현하는 예시적인 시나리오의 맥락에서 설명될 것이다.
블록 755에서, TQC-LDPC MAP 디코더 600은 H-행렬의 형태로 PC-LDPC 컨벌루션 코드를 수신한다. PC-LDPC 컨벌루션 코드는 펑처링되거나 비-펑처링될 수 있다. H-행렬은 입력 시스템 데이터의 시스템 하위행렬(Hsys), 및 패리티 검사 비트들의 패리티 검사 하위행렬(Hpar)을 포함한다. PC-LDPC 컨벌루션 코드는 리프팅 팩터(Z)에 의해 특징지어진다. Hpar는 시스템 비트들의 각 열과 연접되는 Z-그룹 패리티 비트들의 열을 포함하며, Hpar는 시스템 비트당 J 패리티 비트들을 포함한다.
블록들 760-775에서, 디코더는 수신된 PC-LDPC 컨벌루션 코드 610을 Z 시스템 비트들의 그룹(xz(n)) 635로 디코딩한다. 디코더는 PC-LDPC 컨벌루션 코드 610의 각 Z-행에 대하여 블록들 760-775를 수행한다.
블록 760에서, TQC-LDPC MAP 디코더 600은 PC-LDPC 컨벌루션 코드로부터, PC-LDPC 컨벌루션 코드의 다른 Z-행의 임의의 다른 쿼시-사이클릭 도메인과 상이한 그 Z-행의 고유의 쿼시-사이클릭 도메인을 결정한다.
블록 765에서, TQC-LDPC MAP 디코더 600은 고유의 쿼시-사이클릭 도메인에 의해 Z-행의 비트들을 선택적으로 쿼시-사이클릭 시프트한다. 즉, 디코더 600은, 첫 번째 Z-행이 모두 제로의 사이클릭 시프트들이라는 결정에 기초하여, 첫 번째 Z-행의 비트들을 쿼시-사이클릭 시프트하는 것을 생략하는 것으로 선택한다. 그렇지 않은 경우, 디코더 600은 첫 번째 Z-행의 비트들의 쿼시-사이클릭 시프트를 수행하는 것으로 선택한다.
블록 770에서, TQC-LDPC MAP 디코더 600은 시프트된 Z-행의 비트들에 대하여 Z 병렬 MAP 디코딩 프로세스들을 수행한다.
블록 775에서, TQC-LDPC MAP 디코더 600은 고유의 쿼시-사이클릭 도메인에 의해 병렬 디코딩된 Z-행의 비트들을 언-시프트(un-shift)하여, Z 시스템 비트들의 그룹(xz(n))을 산출한다.
도 8은 본 개시에 따라 도 5의 QC-RSC 인코더 500를 보다 상세하게 도시한 것이다. 본 예의 QC-RSC 인코더 500은 J=3 Z-행을 갖는 기본 패리티 검사 행렬(PCM) H를 구비한다. QC-RSC 인코더 500은 J 행 식별자들의 세트 502a 내지 502c(일반적으로 참조 번호 502로 지칭됨)를 포함하며, 즉, 기본 PCM H의 Z-행마다 하나의 행 식별자를 포함한다(여기서, 각각의 행 식별자는
Figure pct00038
를 저장하고 있음). 첫 번째 Z-행 식별자 502a는
Figure pct00039
를 저장하고 있고, 두 번째 Z-행 식별자 502b는
Figure pct00040
를 저장하고 있으며, 또한 세 번째 Z-행 식별자 502a는
Figure pct00041
를 저장하고 있다.
QC-RSC 인코더 500은 J 쿼시-사이클릭 시프터들의 세트 504a 내지 504c(일반적으로 참조 번호 504로 지칭됨), 즉, 기본 PCM H의 Z-행당 하나의 쿼시-사이클릭 시프터를 포함한다. 각각의 쿼시-사이클릭 시프터 504는 두 입력 값의 프로덕트를 출력하는 곱셈기를 포함한다. 즉, 각각의 쿼시-사이클릭 시프터 504는 입력 505
Figure pct00042
을 수신하고, 대응하는 Z-행의 행 식별자 502a 내지 502c로부터 입력
Figure pct00043
을 수신하여,
Figure pct00044
을 출력한다. 제 1 쿼시-사이클릭 시프터 504a는
Figure pct00045
을 출력하고, 제 2 쿼시-사이클릭 시프터 504a는
Figure pct00046
을 출력하며, 또한 제 3 쿼시-사이클릭 시프터 504a는
Figure pct00047
을 출력한다.
QC-RSC 인코더 500은 J Z-RSC 인코더들의 세트 506a 내지 506c(일반적으로 참조 번호 506으로 지칭됨), 즉, 기본 PCM H의 Z-행당 하나의 Z-RSC 인코더를 포함한다. 각각의 Z-RSC 인코더 506은 Z-RSC 인코더 세트, 즉, j-번째 Z-RSC 인코더 세트를 통해 입력 비트 세트
Figure pct00048
를 인코딩하는 Z RSC 인코더들 508(개별적으로 참조 번호 5080, 5081, 5082, ..., 508Z -1 지칭됨)의 그룹을 포함한다. 일 예에서, 리프팅 팩터가 Z=42인 경우, 제 1 Z-RSC 인코더 506a는 제 1 Z-RSC 인코더 세트 내에 42개의 RSC 인코더 508을 포함하고; 제 2 Z-RSC 인코더 506b는 제 2 Z-RSC 인코더 세트 내에 42개의 RSC 인코더 508을 포함하며; 제 3 Z-RSC 인코더 506c는 제 3 Z-RSC 인코더 세트 내에 42개의 RSC 인코더 508을 포함한다. 각각의 Z-RSC 인코더 506은, 대응하는 Z-행의 쿼시-사이클릭 시프터 504로부터의 출력
Figure pct00049
인 입력을 수신한다. 각각의 Z-RSC 인코더 506은 Z-행에 대응하는 Z-그룹의 패리티 비트들
Figure pct00050
을 출력한다. 보다 구체적으로, 제 1, 제 2, 및 제 3 Z-RSC 인코더들 506a, 506b, 및 506c는 각각 제 1 , 제 2 및 제 3 Z-그룹의 패리티 비트들 515, 520, 및 525를 출력한다. 각각의 Z-RSC 인코더 세트 506은 Z개의 동일한 RSC 인코더들로 구성되며, 여기서 각각의 RSC 인코더 508은 한번에 (Z 입력 비트들 중) 하나의 비트를 인코딩한다. 즉, 각각의 Z-RSC 인코더 506은 병렬적으로(즉, 동시에) Z 입력 비트들을 인코딩하도록 구성되며, 여기서 각각의 RSC 인코더 508은 Z 입력 비트들 중의 하나를 인코딩한다. 즉, 각각의 Z-RSC 인코더 506은
Figure pct00051
의 Z 입력 비트들과 상이한 입력 비트를 상이한 RSC 인코더 508에 제공한다.
비-제한적인 예에서, 제 1, 제 2, 및 제 3 행 식별자들 502는 각각 30, 21, 및 41의 값을 그것의 대응하는 시프터 504에게 제공한다. 제 1 Z-RSC 인코더 506a는
Figure pct00052
의 제 1 비트를 제 30 RSC 인코더 50829 제공하고,
Figure pct00053
의 제 12 비트를 제 42 RSC 인코더 50841 에 제공하고,
Figure pct00054
의 제 13 비트를 제 1 RSC 인코더 5080에 제공한다. 42개의 순열 행렬들의 세트인 제 30 순열 행렬에서, 마지막 행은 리프팅 팩터(Z=42)와 제 1 행 식별자 502a로부터 출력된 값(n=30) 사이의 차이에 대응하는 제 12 비트의 값을 포함하며, 따라서 제 1 행은 제 13 비트의 값을 포함한다. 제 2 Z-RSC 인코더 506b는
Figure pct00055
의 제 1 비트를 제 21 RSC 인코더 50820 제공한다. 제 3 Z-RSC 인코더 506c는
Figure pct00056
의 제 1 비트를 제 41 RSC 인코더 50840 제공한다.
REF12에 따르면,
Figure pct00057
이며, 여기서
Figure pct00058
Figure pct00059
는 각각, 단일 비트 재귀적 시스템 컨벌루션(Recursive Systematic Convolutional, RSC) 인코더의 출력 및 입력이다. 전술한 바와 같이, 각각의 RSC 인코더 508은 1 비트를 포함하는 쿼시-사이클릭 시프트된 입력의 하나의 행을 수신한다. 따라서, Z-RSC 인코더 506의 출력
Figure pct00060
Figure pct00061
로 표현될 수 있다. Z 컨벌루션 인코더들
Figure pct00062
의 j 번째 세트는 입력
Figure pct00063
에 대응하며, 여기서 j 번째 컨벌루션 인코더 세트는 J Z-행들 중
Figure pct00064
행렬의 j 번째 Z-행에 대응한다. 따라서, j 번째 Z-그룹 출력 패리티 비트 세트
Figure pct00065
는 다음의 수학식 5와 같이 정의된다:
Figure pct00066
입력 505의 시스템 세트
Figure pct00067
는, 다른 시스템 코드들(예를 들어, QC-LDPC 코드들 및 터보 코드들[0039])(REF12에서 설명됨)에서 수행되는 바와 같이, 변경되지 않은 QC-RSC 인코더 500으로부터의 출력 515이다. 대안적으로, 인코더 500은 변경되지 않은 세트 515를 출력하는 대신에, 사이클릭 시프트된 Z-RSC 시스템 출력 세트 510a, 510n, 또는 510c를 출력할 수 있다. 시스템 출력 세트
Figure pct00068
은 임의의 사이클릭 시프트된 Z-RSC 시스템 출력 세트들
Figure pct00069
로부터 도출될 수 있다. 출력 세트
Figure pct00070
는 테일 비트(tail bit) 기간 동안 종료된 코드들의 경우에 중요하며, 여기서 각각의 RSC 인코더 508은 그것의 테일 정보를 출력함으로써 적절한 공동 결정(codetermination)(예를 들어, 상태 "0"에 도달)을 가능하게 한다. 패리티 비트 세트
Figure pct00071
는 쿼시-사이클릭 시프트된 입력 세트
Figure pct00072
에서부터 j 번째 Z-RSC 인코더 세트까지 얻어진다.
Figure pct00073
에 대한 쿼시-사이클릭 시프트 값은 기본 PCM 시스템 부분
Figure pct00074
의 대응하는 Z-행 j로부터 얻어진다. 기본 PCM에 시프트 값이 존재하지 않는 경우(여기서
Figure pct00075
), 어떠한 인코딩도 대응하는 입력 세트
Figure pct00076
에 대해 수행되지 않는다. 이러한 실시 예들에서, 제 1 Z-행 사이클릭 시프트 동작 504a는, 기본 PCM 제 1 행이 모두 0값인 경우에 생략될 수 있다(점선으로 나타냄). 제로 값들은 언-시프트된 아이덴티티 하위-행렬들을 나타낸다.
도 9는 본 개시에 따른 재귀적 시스템 컨벌루션(Recursive Systematic Convolutional, RSC) 인코더 508을 도시한 것이다. 도 9에 나타낸 RSC 인코더 508의 실시 예는 단지 예시를 위한 것이다. 다른 실시 예들이 본 개시의 범위를 벗어나지 않고서 사용될 수 있다.
RSC 인코더 508의 예는 λ = 4의 구속장 길이에 대응한다. RSC 인코더 508은, j 번째 Z-RSC 인코더 세트 506에서 m 번째 RSC 인코더 508을 통과할 경우, 사이클릭 시프트된 입력 비트 세트
Figure pct00077
의 n 번째 Z-그룹으로부터 단일 입력 비트 905
Figure pct00078
에 대응하는 출력 910을 제공한다. 도시된 점선은 유한 스트림의 경우에 그 블록의 끝에서 처리하는 테일 비트들 915를 나타낸다. 이 경우에는, RSC 인코더로의 입력 비트들이 단절되는 한편(스위치 920의 개방에 의해 나타냄), RSC 인코더 시프트 레지스터는 플러시되어서
Figure pct00079
925 및
Figure pct00080
910 모두의 출력들이 대응하는 디코더(600)로 전송된다. 테일 비트들 915의 목적은 RSC 인코더 508의 유한 상태를 모두 "0" 상태로 "가져오는(bring)" 것이다. 블록 인코딩 프로세스의 끝에서의 모든 "0" 상태로 인하여, 디코더 600는 그 블록의 끝에서 지정된 상태(즉, 인코더 500 및 디코더 600 모두에 지정됨)를 종료할 수 있게 된다.
RSC 인코더 508은 수학식 6-8에 의해 표현되는 각종 다항식을 사용하여 인코딩을 수행한다.
Figure pct00081
Figure pct00082
Figure pct00083
다항식
Figure pct00084
Figure pct00085
는 개개의 RSC 인코더 508의 피드-포워드 다항식(분자) 및 피드백 다항식(분모)이다. 수학식 9 및 10은 개개의 RSC 인코더 다항식들을 나타내며, 여기서
Figure pct00086
Figure pct00087
Figure pct00088
Figure pct00089
의 (GF(2)를 통한) 이진 벡터(길이 λ를 가짐) 표현이며, λ는 그 코드의 구속장 길이(constraint length, CL)이다. 따라서, RSC 인코딩된 패리티 비트들,
Figure pct00090
는 입력 정보 비트들
Figure pct00091
로부터
Figure pct00092
로서 생성될 수 있다. 각각의 다항식은 차수 λ-1을 가지며,
Figure pct00093
Figure pct00094
(이것은 현재의 입력 비트에 대응함)가 된다. 그렇지 않을 경우, 유효 차수(따라서 구속장 길이)가 감소된다. 구속장 길이 λ=4인, LTE 표준으로부터 얻어진 RSC 인코더 다항식,
Figure pct00095
의 일 예는 다음과 같다.
Figure pct00096
Figure pct00097
블록의 끝에서 지정된 상태를 보장하는 것이 결과적으로는 한계 속도 감소를 가져오지만, 그것은 종료되지 않는 코드에 비해 디코딩 BER/FER을 감소시킨다. 아래에서 보다 상세히 설명되는 바와 같이, PC-LDPC 컨벌루션 코드들과 관련된 슬라이딩 윈도우 디코딩 방법은 낮은 BER을 얻기 위해 코드 종료를 필요로하지 않는다. QC-RSC 인코더 500에 대한 입력 그래뉼래러티, δ는
Figure pct00098
비트들로서 유지되며, 종료되지 않은 TQC-LDPC RSC 인코더의 출력 레이트는
Figure pct00099
이다. 도 15 및 도 17에 나타낸 바와 같이, 이 출력 레이트는 펑처링을 통해 증가될 수 있다.
도 10은 본 개시에 따른 공간-결합 저밀도 패리티 검사(SC-LDPC) 베이스 코드의 일 예를 도시한 것이다. 도 10에 나타낸 SC-LDPC 베이스 코드 1000의 실시 예는 단지 예시를 위한 것이다. 다른 실시 예들이 본 개시의 범위를 벗어나지 않고서 사용될 수 있다.
용량-근접 공간-결합(spatially-coupled, SC) LDPC 코드는 REF2에서 설명된 프로세스에 기초하여 설계될 수 있다. 인코더 500은 설계된 SC-LDPC 베이스 코드 1000을 PC-LDPC 컨벌루션 코드로 변환한다. 트렐리스-기반 코드로의 변환은, MAP 디코더 600과 같은 관련된 용량-근접 트렐리스-기반 디코더들과 함께 QC-RSC 인코더 500과 같은 트렐리스-기반 인코더들의 사용을 가능하게 한다.
SC-LDPC 코드 1000은 REF2에서 설명된 프로세스를 통해 (3,6) 정규 LDPC 코드로부터 도출된다. 인코더 500은 코드의 리프팅 팩터가 Z=42인 것으로 선택한다(REF8에서의 IEEE802.11ad와 유사). 각 엔트리의 수는 크기 Z×Z의 대응 아이덴티티 하위-행렬의 쿼시-사이클릭 시프트를 나타낸다. 예를 들어, I0에 대한 엔트리에서 '12'는 쿼시-사이클릭 시프트가 12임을 의미한다.
인코더 500은 시스템(I) 쌍 및 패리티(P) 쌍을 포함하기 위해 SC-LDPC 코드 1000을 구축한다. 모든 Z=42 입력 시스템 비트들의 세트에 대해, 동일한 수의 패리티 비트들이 최종 코드워드를 얻기 위해 추가되어 코드 레이트 R=1/2이 된다. 첫 번째 Z=42입력 시스템 비트들의 세트의 경우, 첫 번째 Z-행을 이용하여 첫 번째 패리티 비트들의 세트를 생성한다. 그 다음, 두 번째 Z=42 입력 시스템 비트들의 세트의 경우, 두 번째 Z-행을 이용하여 두 번째 패리티 비트들의 세트를 생성한다. 세 번째 Z=42 입력 시스템 비트들의 세트의 경우, 세 번째 Z-행을 이용하여 세 번째 패리티 비트들의 세트를 생성한다. 첫 번째 Z-행은 네 번째 입력 시스템 비트들의 세트를 위해서 다시 이용되며, 나머지 입력 세트들에 대해 마찬가지 방식이 적용된다. 임의의 패리티 세트가 특정 Z-행을 사용하여 얻어졌지만, 후속 패리티 비트들의 세트들을 얻기 위해 대응하는 시스템 비트들과 함께 모든 Z-행들에서 그것이 사용됨에 유의해야 한다. SC-LDPC 코드 1000의 행 가중치 Wr은 6으로 유지되고, 최대 열 가중치 Wr는 3이며, 모든 열이 이 가중치를 갖는 것은 아니다. 예를 들어, 첫 번째 및 마지막 I/P 쌍들 I0,P0 및 I4,P4의 열 가중치는 1이고; 두 번째 및 끝에서 두 번째 I/P 쌍들 I1,P1 및 I3,P3의 열 가중치는 2이며; 또한 중간 I/P I2,P2의 열 가중치는 3이 된다. SC-LDPC 코드 1000은 (Wc,Wr)에 대응하는 (3,6) LDPC 베이스 코드로서 특징지어진다. 아래에서 보다 구체적으로 논의되는 바와 같이, SC-LDPC 코드 1000(도 12 및 도 13a의 각각의 베이스 코드들 1000a 내지 1000d과 동일함)은 적어도 다음의 (행, 열) 위치들에서 상위 패리티 1005, 1010, 1015를 포함할 수 있다: (0, P2) 및 (1, P3) 및 (1, P4).
도 11은 본 개시에 따른 SC-LDPC 베이스 코드 1100의 다른 예를 도시한 것이다. SC-LDPC 베이스 코드 1100의 시스템 비트들은 도 14의 변형된 TQC-LDPC 컨벌루션 코드 1400에 대응한다. 패리티 비트들은 SC-LDPC 베이스 코드 1100의 변형된 TQC-LDPC 컨벌루션 코드 1400으로의 변환의 부분으로서 제외되므로, 이 패리티 비트들은 번호 기호(#)로 표시된다.
도 12는 본 개시에 따른 SC-LDPC 베이스 코드의 SC-LDPC 코드, 직렬화된 SC-LDPC 코드, 연접된 SC-LDPC 인코딩 구조로의 변환을 도시한 것이다. 도 12에 나타낸 변환의 실시 예는 단지 예시를 위한 것이다. 다른 실시 예들이 본 개시의 범위를 벗어나지 않고서 사용될 수 있다.
도 12의 (a) 부분에서, 인코더 500은 SC-LDPC 베이스 코드 1000을 반복하여 최종 (3,6) SC-LDPC 코드 PCM H 1200을 구축한다. 베이스 코드 반복은 후속 시스템 비트 세트들을 위한 패리티 비트 세트들을 생성하기 위해서 수행된다. SC-LDPC 베이스 코드 1000의 경우, 제 2 베이스 코드 1000b의 첫 번째 Z-행(비-음영)은 제 7 열에서 시작하여 제 1 베이스 코드 1000a의 첫 번째 Z-행(희미하게 음영)에 연속하도록 위치된다. 제 3 베이스 코드 1000c의 첫 번째 Z-행(어두운 음영)은 제 13 열에서 시작하여 제 2 베이스 코드 1000b의 첫 번째 Z-행에 연속하도록 위치된다. 제 4 베이스 코드 1000d의 첫 번째 Z-행(가볍게 음영)은 제 19 열에서 시작하여 제 3 베이스 코드 1000c의 첫 번째 Z-행에 연속하도록 위치된다.
SC-LDPC 코드 PCM H 1200은 모든 행 및 열에 대해 Wr=6 및 Wc=3을 갖는 정규 LDPC 코드이다. 생성된 SC-LDPC 코드 1200은 REF2에서 설명된 바와 같이 양쪽 모두에서 종료될 수 있다. 즉, k가 Wc를 나타내고 n이 Wr를 나타내고, (k,n) 정규 SC-LDPC 코드가 블록 크기 N 및 리프팅 팩터 Z를 갖는 경우, 종료되지 않은 PCM H Z-행들의 수,
Figure pct00100
는 다음과 같이 수학식 11에 의해 정의된다.
Figure pct00101
(k,n) SC-LDPC 코드 1200은 교번하는 시스템 및 패리티 열들(
Figure pct00102
)로 n 열들마다 반복 주기를 갖는다. H는 블록 대각 행렬이기 때문에, 제 1 트렐리스-기반 변환 스텝은 H를 직렬화하는 것이다. 이 직렬화 프로세스는 변형된 패리티 검사 행렬에서 유효한 Z-행들의 수를 감소시키게 되며, 직렬화된 LDPC 코드 패리티 검사 행렬에서
Figure pct00103
Z-행까지만으로 된다. 변형된 PCM H'는 다음과 같은 수학식 12에서 정의되는 기본 H 행 세트들을 가산함으로써 얻어진다.
Figure pct00104
도 12의 (b) 부분에서, 인코더 500은 (3,6) SC-LDPC 코드 직렬화 1201을 수행한다. 도 12의 (b) 부분은 (3,6) SC-LDPC 코드 1000에 대한 직렬화 및 연접 프로세스의 결과를 보여준다.
(k,n) SC-LDPC 코드는 교번하는 시스템 및 패리티 열들로 n 열들마다 쿼시-사이클릭 값 반복 주기를 갖는 정규 코드이다. 인코더 500은 스트리밍 형태의 연접 SC-LDPC 코드를 얻기 위해 H 1200을 연접시킴으로써 기본 SC-LDPC의 N 열들 이상으로 코드를 확장할 수 있다. (3,6) SC-LDPC 블록 코드 1000의 블록 대각 패리티 검사 행렬 H 1200이 스트리밍 코드로 변환되더라도, SC-LDPC 인코딩 구조는 유지된다. 즉, 각각의 패리티 비트는 다른 행들에서 생성된 이전 패리티 비트들에 의존하기 때문에, 코드 1201은 아직 트렐리스-기반 코드로 간주되지 않는다. 예를 들어, 첫 번째 행에서 계산된 패리티 비트들은 3개의 이전 시스템 비트 및 2개의 다른 행들로부터의 2개의 이전 패리티 비트에 의존한다.
도 12의 (c) 부분에서, 인코더 500은 연접된 (3,6) SC-LDPC 인코딩 구조 1202를 구축한다.
선행 (n-1) 열들에서부터 각 행에서 생성되는 상위 패리티가 나타난다. 첫 번째 행의 상위 패리티는 열들 5, 11, 17, 및 23에 있고; 두 번째 행의 상위 패리티는 열들 7, 13, 19, 및 25에 있으며; 또한 세 번째 행의 상위 패리티는 열들 9, 15, 21, 및 27에 있다. 즉, 각각의 베이스 코드 1000a 내지 1000d는 각 행에 대한 상위 패리티를 포함한다. (3,6) 스트리밍 SC-LDPC 코드가 얻어지면, 인코더가 코드 1201를 트렐리스-기반 LDPC 컨벌루션 코드 1202로 변환한다. 인코더 500은 먼저 스트리밍 PCM의 시스템 부분(I)과 패리티 부분(P)을 분리시킨다. 그 후에, 패리티 비트들을 생성하면서 시스템 비트들이 함께 연접된다. 그 후에, 패리티 비트 세트들이 컨벌루션 인코딩(즉, RSC 인코더 508)으로부터 생성되도록 변형됨으로써 최종적인 병렬 연접 TQC-LDPC(Parallel Concatenated TQC-LDPC, PC-LDPC) 컨벌루션 코드를 도출한다. 도출된 PC-LDPC 컨벌루션 코드는 세밀한 입력 그래뉼래러티, δ를 가지며, 이것은 코드가 코드워드를 생성하기 위해 필요하며,
Figure pct00105
와 동등한 최소 수치의 입력 정보 비트들로서 정의된다.
도 13은 본 개시의 실시 예들에 따른 패리티 비트들로부터 시스템 비트들의 분리를 갖는 연접 SC-LDPC 인코딩 구조로부터 1/2의 출력 레이트를 갖는 PC-LDPC 컨벌루션 코드에 대한 패리티 비트들의 열을 생성하는 프로세스 1300을 도시한 것이다. 도 13에 나타낸 프로세스 1300의 실시 예는 단지 예시를 위한 것이다. 다른 실시 예들이 본 개시의 범위를 벗어나지 않고서 사용될 수 있다.
도 13a는 PC-LDPC 컨벌루션 코드로부터 제외하기 위한 비-상위 패리티 비트들이 표시된(어두운 음영), 트렐리스-기반 LDPC 컨벌루션 코드 1202를 도시한 것이다. 예를 들어, 코더 1202 내의 각 베이스 코드 1000a 내지 1000d는 비-상위 패리티 비트들을 제외한다. 인코더 500은 실제 전체 열 가중치 Wc=3을 나타내는 연접 (3,6) SC-LDPC 인코딩 구조 1202의 각 열을 추출하고, 그 추출된 열들을 연접시켜서 시스템 비트 세트 1305를 구축한다. 인코더 500는 시스템 비트 세트 1305의 각 행에 대한 패리티 1350의 열을 생성한다.
도 13b는 시스템 비트들이 연접된 경우에 도출되는 PC-LDPC 컨벌루션 코드의 예를 도시한 것이다. 패리티 비트 세트의 Z-열이 시스템 비트 세트의 모든 Z-열에 부착됨으로써, 컨벌루션 인코딩(λ=4의 구속장 길이를 가짐)을 통해 코드 레이트 R=1/2를 생성한다. 시스템 및 패리티 쿼시-사이클릭 값들 모두는 Z=42인 기본 (3,6) SC-LDPC 코드와 동일하게 유지된다.
각 행의 수평 화살표 1310a 내지 1310c는 λ=4 열들에 걸쳐 있으며, 이것은 3(즉, n-1, 여기서 n=4) 이전의 시스템 값들이 n 번째 열의 패리티를 생성하는데 사용되는 PC-LDPC 인코딩 동작을 나타낸다. 예를 들어, 첫 번째 행에서는,
Figure pct00106
시스템 값들이 네 번째 열의 패리티 [0]을 생성하는데 사용되고; 두 번째 행에서는,
Figure pct00107
시스템 값들이 네 번째 열의 패리티 [0]을 생성하는데 사용되며; 또한 세 번째 행에서는,
Figure pct00108
시스템 값들이 네 번째 열의 패리티 [0]을 생성하는데 사용된다.
각 인코딩 프로세스 수평 화살표 1310a 내지 1310c는 n 번째 열의 패리티의 수직 화살표 1315a 내지 1315c에 대응한다. 수직 화살표 1315a 내지 1315c는 시스템 값과 연접될 패리티 1320a를 생성하는 인코더 500을 나타낸다.
도 14는 본 개시의 실시 예들에 따른 ⅓의 출력 레이트를 갖는 변형된 TQC-LDPC 컨벌루션 코드에 대한 패리티 비트들의 열을 생성하는 프로세스 1400을 도시한 것이다. 도 14에 나타낸 프로세스 1400의 실시 예는 단지 예시를 위한 것이다. 다른 실시 예들이 본 개시의 범위를 벗어나지 않고서 사용될 수 있다. 각 열 1350에 대하여 패리티 1320a 내지 1320c를 생성하기 위한 수평 라인들 1310a 내지 1310c 및 수직 라인들 1320a 내지 1320c에 의해 표현되는 인코딩 함수는 각 열 1450에 대하여 패리티 1420a 내지 1420d를 생성하기 위한 수평 라인들 1410a 내지 1410d 및 수직 라인들 1420a 내지 1420d에 의해 표현되는 인코딩 함수와 유사하거나 동일할 수 있음에 유의한다.
PC-LDPC 컨벌루션 코드 1305가 SC-LDPC 코드 1000으로부터 도출되면, 쿼시-사이클릭 값들이 변형되어 BER을 감소시킬 수도 있다. 리프팅 팩터, Z=42를 유지하면서, 변형된 쿼시-사이클릭 값들의 일 예가 도 14에 제공되어 있다. 새로운 쿼시-사이클릭 값들
Figure pct00109
Figure pct00110
값들을 대체하여, 대응하는 시스템 세트들 및 패리티 세트들(동일한 쿼시-사이클릭 시프트 값들)에 적용된다. 상이한 쿼시-사이클릭 시프트 값들이 대응하는 시스템 세트들 및 패리티 세트들에 대해 적용될 수 있다. 그러나, 상이한 시프트 값들을 선택하는 것은 인코더 및 디코더 복잡성들을 증가시키게 된다. Z-그룹 시스템 비트 세트들의 B=3의 반복 레이트(또는 주기)는 기본 SC-LDPC 코드 시스템 주기로서 유지된다. 또한, 유사한 TQC-LDPC 컨벌루션 변환 방법이 다른 레이트들에 대해 적용될 수도 있다. 특정 실시 예들에서, 인코더 500은 변형된 TQC-LDPC 컨벌루션 코드 1405을 사용하여 열마다 하나의 패리티 1415a 내지 1415c(즉,
Figure pct00111
)를 출력하며, 이에 따라 레이트 R=1/2를 산출한다. 다른 실시 예들에서, 인코더는 변형된 TQC-LDPC 컨벌루션 코드 1405를 사용하여 열마다 추가 패리티 1420d(즉,
Figure pct00112
)를 출력하며, 이에 따라 R=1/3인 변형된 PCM을 산출한다. R=1/3 TQC-LDPC 컨벌루션 PCM이 R=1/2 PCM의 구조를 유지하지만, R=1/2 코드인 경우의 2배인 패리티 비트들이 인코더 500으로부터 한 번에 출력된다.
도 14 및 도 15의 시스템 비트 세트 1405에서는, 코드 주기 B=3가 변환을 통해 유지된다. 블록 크기의 증가가 BER 감소로 이어질 수 있는 블록 코드들과 마찬가지로, TQC-LDPC 컨벌루션 코드들(즉, PC-LDPC 컨벌루션 코드들)에서도; B를 증가시키면 주기가 감소되어 그 코드의 BER를 더 감소시킬 수 있다. B를 증가시키는 예시적인 방법은 블록 740 또는 745가 없는 단일 스텝 PC-LDPC 인코딩 방법 700, 블록 745가 있는 듀얼 스텝 PC-LDPC 인코딩 방법 700 및 블록 745의 순열 방법을 포함하는 PC-LDPC 인코딩 방법 700을 포함한다. 단일 스텝 PC-LDPC 인코딩 방법 700은 기본 LDPC 시스템 패리티 검사 행렬(
Figure pct00113
)에 비하여 Z-열들의 수를 증가시킨다.
도 15는 본 개시의 실시 예들에 따른 도 14의 1/2의 출력 레이트를 갖는 변형된 TQC-LDPC 컨벌루션 코드에 대하여 펑처링 패턴을 적용하여 펑처링하는 프로세스 1500을 도시한 것이다.
인코더 500은 펑처링을 수행함으로써(여기서 세 번째 행은 R=1/2을 위해 사용되지 않음) BER을 감소시키는 방법을 구현한다. 예를 들어, 인코더 500로부터 출력되는 패리티의 열 1550은 3개가 아닌 2개의 행을 갖는다. n 번째 행을 위한 패리티를 생성하기 위해 n 번째 행의 시스템 비트들
Figure pct00114
를 사용하는 대신에, 인코더 500는 세 번째 패리티 1520를 생성하기 위해 두 번째 행의 n-1 시스템 비트들
Figure pct00115
을 사용한다.
도 16은 본 개시의 실시 예들에 따른 1/3의 출력 레이트를 갖는 예시적인 변형된 TQC-LDPC 컨벌루션 코드에 대한 패리티 비트들의 열을 생성하면서 주기를 감소시키는 프로세스 1600을 도시한 것이다. 도 16에 나타낸 프로세스 1600의 실시 예는 단지 예시를 위한 것이다. 다른 실시 예들이 본 개시의 범위를 벗어나지 않고서 사용될 수 있다.
인코더 500는 BER을 더 감소시키기 위해 B=3을 넘어 더 높은 값(예를 들어, B=6 및 그 이상)으로 주기를 증가시킬 수 있다. 예를 들어, B=3을 갖는 시스템 비트 세트 1305와 유사하게, 시스템 비트 세트 1605는 B=3을 갖는다. B를 증가시키면 각 Z-행에 대한 시프팅 옵션의 수가 증가하기 때문에 Z-시프트 복잡성도 증가하게 된다. REF13에 따르면, 시프팅 옵션을 증가시키면 인코더/디코더의 주요 경로 레이턴시 및 다이 에어리어가 증가하며, 이 것이 스루풋을 감소시키고 전력 소모를 증가시키게 된다. 입력 그래뉼래러티 δ는 Z로 유지된다.
도 17은 본 개시의 실시 예들에 따른 1/2의 출력 레이트를 갖는 도 16의 변형된 TQC-LDPC 컨벌루션 코드에 대하여 펑처링 패턴을 적용하여 펑처링하면서 주기를 감소시키는 프로세스 1700을 도시한 것이다. 프로세스 1700은 도 15의 프로세스 1500과 유사하다.
도 18은 본 개시의 실시 예들에 따른 듀얼-스텝 PC-LDPC 컨벌루션 코드 1800을 도시한 것이다. 도 18에 나타낸 듀얼-스텝 PC-LDPC 컨벌루션 코드 1800의 실시 예는 단지 예시를 위한 것이다. 다른 실시 예들이 본 개시의 범위를 벗어나지 않고서 사용될 수 있다.
REF5에서는, 코드 길이가 Zp×N인 LDPC 블록 코드 패밀리를 도출하기 위한 알고리즘(즉 듀얼-스텝)이 제안되며, 여기서 N은 베이스-패밀리 LDPC 블록 코드-길이이고, Zp는 블록 크기를 증가시키기 위해 베이스-패밀리에 적용되는 오리지널 Z 리프팅 팩터보다 높은 제 2 레벨(스텝) 리프팅 팩터이다. REF5의 알고리즘은 베이스-패밀리의 특성들을 보존한다: 새로운 LDPC 코드 패밀리는 베이스-패밀리로부터 그것의 구조, 임계값, 행 가중치, 열 가중치 및 그 밖의 특성들을 물려받는다. 또한, 새로운 코드들의 0이 아닌 원소들의 수가 Zp에 따라 선형적으로 증가하지만, 비트당 디코딩 복잡도는 동일하게 유지된다. Zp 쿼시-사이클릭 시프트 방법 1800은 제 2 레벨의 Zp 사이클릭 시프트들을 적용함으로써 Z 세트들을 Zp 배 확장시킨다. Zp=8의 예로서, 인코더 500은 TQC-LDPC 컨벌루션 코드에 대하여 Zp 듀얼-스텝 쿼시-사이클릭 시프트 방법 1800을 적용한다.
베이스 PCM 1805의 각 엔트리는 Zp=8만큼 리프트(lift)된다(또는 확장된다). 상위 행렬 1810의 값들은 베이스 PCM 엔트리에 적용될 사이클릭 라이트 시프트(cyclic right shift)를 나타낸다. 이 예에서, 값 "30"을 갖는 PCM 엔트리 1815는 행렬 1820의 제 2 레벨 리프팅 팩터 Zp=8만큼 다시 리프트되고, 값 "3"을 갖는 대응하는 엔트리 1825에 의해 사이클릭 시프트된다. 즉, 엔트리들 1815 및 1825는 각각의 행렬들 1805 및 1810 내의 동일한 위치를 가짐으로써 서로 대응한다. 따라서, 이 듀얼-스텝 방법 입력 그래뉼래러티 요건은 δDS = Zp × Z이다.
도 19는 본 개시에 따라 도 6의 TQC-LDPC MAP 디코더 600을 보다 상세하게 도시한 것이다. QC-MAP 디코더 아키텍처 600은 인코더 500의 행 식별자들과 동일한 J 행 식별자들의 세트 502a 내지 502c를 포함한다. 첫 번째 행은 그 각각이 첫 번째 행의 대응하는 행 식별자 502a로부터 동일한 입력(즉, 값 n)을 수신하는 2개의 쿼시-사이클릭 시프트터 604a 및 612를 포함한다. 시프터 612는 입력 615의 각 비트에 대한 Z 연판정(soft decision) LLR들 640a를 출력한다. 첫 번째 반복 동안, Z-MAP 디코더 606a에 임의의 정보를 입력하기 이전에, 시프터 604a는 널(null) 입력에 기초하여 디코딩된 비트들
Figure pct00116
의 선험적 LLR을 출력하도록 구성된다. 각 반복에 있어서(즉, 첫 번째 반복 제외), 시프터 604a는 행 식별자 502a로부터의 쿼시-사이클릭 시프트 값 645a를 동일한 행의 대응하는 언-시프터들 616a 및 614a에게 포워딩한다. QC-MAP 디코더 아키텍처 600은 그 각각이 Z-MAP 디코더들 608(개별적으로는 참조 번호 6080, 6081, 6082, ..., 608Z -1로 지칭됨)을 포함하는 J Z-MAP 디코더들의 세트 606a-606c를 포함한다. 각 Z-MAP 디코더 608은 3개의 입력 640a, 620, 및
Figure pct00117
을 수신하여, 2개의 출력을 생성하며, 즉, 수신된 615 정보 x의 디코딩된 버전 및 각 선험적 비트
Figure pct00118
에 대응하는 Z 외부(extrinsic) LLR 값들의 세트
Figure pct00119
를 생성한다. 언-시프터들 614a, 616a는 시프터들 612 및 604에서 각각 발생한 쿼시-사이클릭 시프트를 정반대로 행한다.
각각의 다른 행은 대응하는 행 식별자 502b 및 502c로부터 입력을 수신하는 하나의 쿼시-사이클릭 시프트터 604a-604b를 포함한다. 각각의 다른 행은 첫 번째 행 성분들과 동일하거나 유사한 방식으로 기능하는 다른 성분들을 포함한다. 디코더 600의 스위치 650은 각각의 다른 행이 현재 언-시프트되어 있는 Z 외부 LLR 값들의 세트
Figure pct00120
660a를 선택적으로(예를 들면,
Figure pct00121
값과
Figure pct00122
값의 통합) 수신 및 디코딩할 수 있게 한다. 디코더 600의 스위치 655는 각각의 다른 행이 동일하거나 또는 상이한 행의 임의의 다른 시프터 604a에 대하여 Z 외부 LLR 값들의 세트 660b, 660c의 피드백을 선택적으로 제공할 수 있게 한다.
QC-MAP 디코더 아키텍처 600은 TQC-LDPC MAP(QC-MAP) 디코더 관계에 기반하며, 이것은 수학식 (14)를 포함하는 수학식들의 세트에 의해 표현될 수 있다. 첫 번째 행 Z-시프트 604 및 610는 PCM의 첫 번째 행이 모두 0의 사이클릭 시프트인 경우(즉, 시프트되지 않음) 생략될 수 있다.
디코더 LLR 입력 610은 시스템 비트 세트,
Figure pct00123
615 및 3개의 대응하는 패리티 비트 세트들,
Figure pct00124
의 Z-그룹 LLR들에서, 인코더 출력 510과 유사하게 그룹핑된다. 3개의 Z-MAP 디코더 세트들 중의 각 Z-MAP 디코더 606a-606c 세트는 대응하는
Figure pct00125
Z-행에 의해 결정되는 상이한 인터리빙된 도메인에서 대응하는 수신 LLR 세트 입력을 처리한다. 각 Z-MAP 디코더 세트는 Z 병렬 MAP 디코들로 구성된다. 도 13에 도시된 바와 같이, PC-LDPC 컨벌루션 코드 510의 3개의 순차적 송신들
Figure pct00126
이 디코더 600으로 송신된다. 따라서, 디코더에서는, 수신된 시스템 LLR 입력 세트 615가 탑(top) Z-MAP 디코더 세트에만 연결되며(Z-시프트 블록 612가 사용되지 않을 경우 인터리빙되거나, 또는 Z-시프트 블록 612가 사용될 경우에는 비-인터리빙됨), 다른 2개의 Z-MAP 디코더들 606b-606c에 대한 시스템 LLR 입력 세트 640b-640c는 0(2의 보수에서 결정되지 않은 값) 연판정 입력 값을 갖는다. Z-MAP 디코더들 606a-606c 간의 디코딩 스케줄링은 QC-RSC 인코딩 송신 순서 및 펑처링에 의존한다. 최종 펑처링된 R=1/3에 관해 도 16에서 주어진 코드 예에서는, 반복 QC-MAP 디코더 순서가 Z-MAP0, Z-MAP1, Z-MAP0, Z-MAP2 등으로 될 수 있다.
TQC-LDPC MAP 디코더 600은 전술한 PC-LDPC 컨벌루션 코드들을 디코딩하기 위해 MAP 디코딩 기술을 적용하도록 구성되거나 설계된다. 인코더 500 구조를 고려하면, 각각의 RSC 인코더 508은 Z만큼 리프트되어 Z-RSC 인코더 세트 506을 얻게 되며, 각각의 Z-RSC 인코더 세트 506은 상이한 쿼시-사이클릭 도메인에서 대응하는 Z-그룹 시스템 비트 세트를 처리한다. 이와 유사하게, 전술한 단일 비트 MAP 디코더는 마찬가지로 Z만큼 리프트되어, Z 병렬 및 독립(즉, 무-경쟁) 단일-비트 MAP 디코더로 이루어진 Z-MAP 디코더 세트를 얻게 된다. 각각의 Z-MAP 디코더 세트는 상이한 쿼시-사이클릭 도메인에서 채널로부터 수신되는 Z-그룹 인코딩된 LLR 세트를 처리한다.
따라서, 디코더 600은 수학식 13에서의 로그-우도 비율에 Z 리프팅을 적용하여, 전술한 레이트
Figure pct00127
로 수신된 인코딩 신호에 대한 Z-MAP 디코더 세트를 도출한다(펑처링이 없는 것으로 가정). 수학식 13에서는, 시스템 입력을 갖는 모든 MAP 디코더들의 경우(통상적으로, 하나의 MAP 디코더만이 시스템 입력을 가짐)
Figure pct00128
,
Figure pct00129
이 되며, 패리티 입력만을 갖는 모든 다른 MAP 디코더들의 경우
Figure pct00130
이 된다.
Figure pct00131
Figure pct00132
Figure pct00133
디코더 600은 Z 행들(즉, Z-행들)의 리프팅 팩터 Z 및 J 세트들 및 Z 시스템 열들(즉, 시스템 Z-열들)의 B 세트들을 갖는 도 13b 내지 도 18 중의 어느 것과 동일한 LDPC 블럭 코드 PCM H를 사용한다. 행 식별자들 502a 내지 502c는 입력 610의 시스템 하위행렬의 특정 행, 즉,
Figure pct00134
,
Figure pct00135
에 기반하며, 이것은 기본 LDPC 블록 코드 H의 j 번째 Z-행 및 l 번째 Z-열의 시스템 부분이다. i 번째 서브-반복 Z-그룹 LLR 출력 세트는
Figure pct00136
로 정의되며,
Figure pct00137
번째 H Z-행 쿼시-사이클릭 시프트된 n 번째 Z-그룹 정보 비트 세트 인코더 입력
Figure pct00138
에 대응한다. i 번째 서브-반복 Z-그룹 내부(intrinsic) 정보 벡터 세트는
Figure pct00139
로 정의되며, 여기서
Figure pct00140
이고,
Figure pct00141
은 시스템 입력을 갖는 모든 Z-MAP 디코더들에 대한 크기 Z의 모든 1 벡터이고, 그렇지 않은 경우
Figure pct00142
이며,
Figure pct00143
은 모든 0 벡터이다.
Figure pct00144
가 인코더 출력에서 n 번째 Z-그룹 정보 비트 세트
Figure pct00145
에 대응하는 n 번째 수신된 Z-그룹 시스템 LLR 세트인 것으로 놓도록 한다.
Figure pct00146
Figure pct00147
에 대응하는 i 번째 서브-반복 Z-그룹 외부 정보 세트인 것으로 놓도록 한다. 비-인터리빙된 시스템 송신의 경우, i 번째 서브-반복에 대한 반복 Z-MAP 디코딩 재귀적 익스트린식 방정식은 다음과 같이 수학식 14에 의해 표현된다.
Figure pct00148
수학식 14에서,
Figure pct00149
은 다음을 만족하는 역전치(reverse transpose) 쿼시-사이클릭 시프트 행렬이다:
Figure pct00150
(여기서
Figure pct00151
Figure pct00152
단위 행렬이며,
Figure pct00153
). 대안적으로, 인터리빙된 시스템 송신의 경우, i 번째 서브-반복에 대한 반복 Z-MAP 디코딩 재귀적 익스트린식 방정식은 다음과 같이 수학식 15에 의해 표현된다.
Figure pct00154
여기서
Figure pct00155
는 n 번째 수신된 Z-그룹 인터리빙된 시스템 LLR 세트이다. 따라서, 우리는 서브-반복 i에서의 외부 LLR 정보와 Z-그룹 정보 비트 세트
Figure pct00156
에 대응하는 서브-반복 i+1에서의 선험적 LLR 정보 간의 재귀적 반복 관계를 정의할 수가 있으며, 이것은 다음과 같이 수학식 16으로 표현된다.
Figure pct00157
Figure pct00158
이에 따라, 다음과 같이 수학식 17로 된다.
Figure pct00159
비-인터리빙된 PCM에 있어서,
Figure pct00160
인 경우, 서브-반복 i+1에서의 선험적 LLR 정보는 서브-반복에서의 외부 정보와 동일하다는 것을 확인할 수 있으며, 이것은 다음과 같이 수학식 18로 표현된다.
Figure pct00161
수학식 18은 각각의 서브-반복 동안 Z-MAP 디코더들 606 사이를 통과하는 외부 정보가 먼저 디-인터리빙될 필요가 있으며, 그 다음 후속 서브-반복에서 선험적 정보로서 처리되기 이전에 재-인터리빙될 필요가 있음을 나타낸다. 마지막으로, (인터리빙된 시스템 송신을 위한) i 번째 서브-반복에서의, 디코더 출력 635,
Figure pct00162
은 다음과 같이 수학식 19에 의해 표현된다.
Figure pct00163
도 22는 본 개시에 따른 병렬 프로세싱 Z 최대 사후 확률(Z Maximum A posteriori Probability, Z-MAP) 디코더 2200의 블록도를 도시한 것이다. 도 6의 TQC-LDPC MAP 디코더 600은 디코더 2200을 포함할 수 있으며 또는 디코더 2200과 유사하거나 동일한 방식으로 동작할 수도 있다.
Z-MAP 디코더 2200은 H-행렬 2205, M(예를 들어, λ) Z-MAP 디코더들 606a-606d, M 입력/외부 메모리 모듈들 2210a-2210-d, 및 TQC-LDPC 스위치 패브릭 2215를 포함한다. 도시된 예에서, Z-MAP 디코더 2200은 디코더 2200(예를 들면, 디코더 600)에 대한 H 행렬 입력 610 또는 인코더 500으로부터의 출력 510을 나타내는, M=4 Z-MAP 디코더들 606a-606d를 포함한다.
또한, 세그먼테이션 방법(segmentation method)이 전체 블록/윈도우 MAP 디코딩의 스루풋을 증가시키기 위해 적용될 수도 있다. Z-MAP 디코더 2200은 동시에 동작하는 다수의 MAP 디코더들 608 사이에서 분할되는 블록/윈도우의 계층적 세그먼테이션을 제공하며, 여기서 각각의 MAP 디코더가 하나 이상의 세그먼트들을 처리할 수 있다. 세그먼테이션 방법과 유사하게, 병렬 처리 MAP 디코더들 각각은 블록의 서로 다른 세그먼트를 한 번에 처리하기 때문에, 람다(λ) 메모리 액세스 동안 어떠한 경쟁도 일어나지 않는다. 또한, 람다 메모리가 세그먼트화된 메모리들로 분할되어 스루풋 요구사항의 증가를 지원할 수도 있다.
M=4 Z-MAP 디코더들 606a-606d는 TQC-LDPC 스위치 패브릭 2215를 통해 M=4 람다 메모리 모듈들 2210a-d에 연결된다. TQC-LDPC 스위치 패브릭 2215는 입력 610과 외부 메모리와 Z-MAP 디코더들 606a-606d 사이에 무-경쟁 전송을 제공한다. 패리티 검사 행렬(즉, H-행렬) 2205는 무-경쟁 전송을 제공하기 위해 스위치 패브릭 2215를 통한 외부 전송을 제어한다. TQC-LDPC 컨벌루션 코드 구조는 병렬 처리 Z-MAP 디코더들에 무-경쟁 요구사항에 적합하며, 그 이유는 모든 인터리빙된 도메인들(비-인터리빙된 도메인 포함)에서 외부 정보는 쿼시-사이클릭 영역 내(Z 연속 외인 정보 워드의 크기 내)에서만 인터리빙되기 때문이다. 따라서, 각각의 Z-MAP 디코더 606a-606d 및 대응하는 메모리 모듈 2210a-2210d는 블록/윈도우의 서로 다른 영역을 개별적으로 처리할 수 있다. 2개의 연속 MAP 디코더 사이에 필요한 유일한 공유 메모리 영역은 (베타) 학습 기간이다. 특정 실시 예들에서, 병렬 처리 Z-MAP 디코더 2200은 TQC-LDPC 스위치 패브릭 2215이 M Z-시프트 레지스터(예컨대, Z-시프트 604 또는 612)를 포함하게 되도록 최적화될 수 있으며, 레지스터들 각각은 대응하는 Z-MAP 디코더 606 및 입력/외부 메모리 모듈 2210(예를 들면, In/Ext Mem0과 페어링되는 Z-MAP0)의 쌍 사이에 결합된다.
표 1은 본 개시에 따라 디코더 600 및 2200에서 구현될 수 있는 다양한 알고리즘들을 요약한 것이다. 표 1은 BCJR 알고리즘에 기반한 로그-맵 디코딩을 포함한다. 이들 디코딩 알고리즘은 도 19 및 수학식 13 내지 19를 참조하여 위에서 설명되었으며, 이하에서 더 논의된다.
알고리즘 타입 수학적으로 표현된 알고리즘
로그-우도 비율(LLR) 수학식 20
순방향 경로 메트릭 수학식 23
역방향 경로 메트릭 수학식 24
MAX* 정의
Figure pct00164

Figure pct00165

(수학식 25를 참조하여 전술함)
MAX* 로그-MAP
Figure pct00166

(수학식 26을 참조하여 전술함)
MAX 로그-MAP 수학식 28
스케일링된 MAX(SMAX) 로그-MAP
(q=0.75)
Figure pct00167

외부 출력 내부 선험적
로그-맵 디코더 [0039]는 순방향 및 역방향으로 인코딩된 비트의 수신 LLR을 처리하여 디코딩된 비트의 외부 정보 및 LLR을 생성하는 트렐리스-기반 디코더이다. 이 외부 정보는 반복 디코딩을 위해 사용될 수 있다. 일 예로서,
Figure pct00168
Figure pct00169
는 상태 s'에서의 비트 (k-1)의 피드-포워드(ff) 경로 메트릭(path metric), 상태 s'로부터 상태 s로의 브랜치 메트릭(branch metric) 및 상태 s에서의 비트 (k)의 피드-백워드(fb) 경로 메트릭을 각각 나타낸다. AWGN(Additive White Gaussian Noise) 채널을 통한 데이터 송신의 경우, 주어진 수신 AWGN 교란된 인코딩 시퀀스
Figure pct00170
(예를 들어,
Figure pct00171
)에 대한 코드 비트
Figure pct00172
의 로그 우도 비율(Log Likelihood Ratio, LLR)
Figure pct00173
은 다음과 같이 수학식 20으로 표현될 수 있다.
Figure pct00174
여기서
Figure pct00175
는 각각
Figure pct00176
의 지수 항이다(즉,
Figure pct00177
이며, 여기서
Figure pct00178
는 AWGN 분산에 종속함). 분자의 합은 결정
Figure pct00179
에 따른 s'에서 s로의 모든 상태 전이들에 대한 것이며, 분모의 합은 결정
Figure pct00180
에 따른 s'에서 s로의 모든 상태 전이들에 대한 것이다. AWGN의 경우, 피드-포워드 경로 메트릭
Figure pct00181
및 피드-백워드 경로 메트릭
Figure pct00182
는, 수학식 21 및 22에 표현되는 바와 같이, 상태 s' 및 상태 s''로부터 상태 s를 발생시키는 후보 경로 메트릭들의 지수 합에 직접적으로 비례한다(LLR 계산에서는, 모든 상수 항이 제거됨).
Figure pct00183
Figure pct00184
따라서,
Figure pct00185
Figure pct00186
는 수학식 23 및 24에 따라 다음과 같이 표현될 수 있다.
Figure pct00187
Figure pct00188
max* 연산을 적용하여 각 상태의 다른 후보들과 최대 경로 메트릭을 구별할 수 있다. max* 연산은 수학식 25에 따라 정의된다.
Figure pct00189
여기서,
Figure pct00190
. max* 연산은 모든 가능한
Figure pct00191
Figure pct00192
상태들에 대한
Figure pct00193
Figure pct00194
에 각각 적용될 수 있다. 수학식 20에서 표현된 바와 같은 코드 비트
Figure pct00195
의 LLR
Figure pct00196
은 수학식 26에서 표현되는 바와 같이 max* 로그-MAP 형태로 다시 쓰여질 수 있다.
Figure pct00197
대안적으로는, max 연산을 사용하여, 수학식 27에서 표현된 바와 같이 각 상태에서 모든 후보들의 최대 경로 메트릭만을 찾아냄으로써, max* 연산 복잡성을 감소시킬 수 있다.
Figure pct00198
여기서,
Figure pct00199
. max 연산은 모든 가능한
Figure pct00200
Figure pct00201
상태들에 대한
Figure pct00202
Figure pct00203
에 각각 적용될 수 있다. 그러면, 코드 비트
Figure pct00204
의 LLR이 수학식 28에 표현된 바와 같이 max 로그-MAP 형태로 쓰여질 수 있다.
Figure pct00205
전술한 바와 같이, max 연산은 일반적으로 룩업 테이블(Look-Up Table, LUT)로 구현되는 정정 함수 (10)을 제외하기 때문에, max* 연산보다 복잡성이 더 낮다. 그러나, max 연산의 복잡성 감소로 인하여 BER/FER가 더 높아지게 된다(~ 0.4-0.5dB 저하). REF6 및 REF7을 참조한다. REF6에서, 스케일링 팩터 q는, max* 연산 대신에 max 연산을 채용하기 때문에(즉 스케일링된 MAX 로그-MAP) 발생하는 BER 증가를 완화하기 위해서, 각 반복 후에 외부 정보 값들을 스케일링한다. 따라서 스케일링된 MAX 로그-MAP 외부 정보 LLR은 수학식 29로 표현된 바와 같이 쓰여질 수 있다.
Figure pct00206
여기서
Figure pct00207
Figure pct00208
의 선험적 LLR이고(예를 들어, 이전의 반복 외부 정보로부터의 선험적 정보),
Figure pct00209
는 수신된 입력 시스템 비트 k이며,
Figure pct00210
는 내부 정보이다. REF6에서는 q=0.7이 로그-MAP과 동일한 BER 및 블록 오류율(Block Error Rate, BLER)을 유지하기 위해 0.2dB 미만의 SNR 저하를 제공한다는 것이 나타나 있다. 예를 들어, 곱셈 대신에 라이트 시프트 및 덧셈 연산을 사용하여 이것이 구현될 수 있기 때문에, q=0.75가 선택되거나 사용될 수 있다.
브랜치 메트릭
Figure pct00211
은 수학식 30에서 표현된 바와 같은 LLR 표현을 사용하여 쓰여질 수 있다(REF7 참조).
Figure pct00212
여기서
Figure pct00213
는 수신된 입력 심볼(시스템 및 패리티) 벡터이고,
Figure pct00214
Figure pct00215
는 각각 상태 s'에서 상태 s로의 전이에 대하여 예상되는 인코더 출력 심볼(시스템 및 패리티 비트들) 벡터 및 예상되는 시스템 비트이다.
따라서, MAP 디코딩은 반복 프로세스를 가능하게 한다. 반복은 (비-반복적) MAP 디코더들의 세트를 통한 처리 사이클로 정의된다. 서브-반복은 그 세트 내의 단일 MAP 디코더를 통한 처리 사이클로서 정의된다. i가 서브-반복 횟수보다 작은 것으로 놓고, 서브-반복 i에서의 선험적 정보를 가진 q=1가 서브-반복 i-1에서의 외부 정보와 같은 것으로 놓으면,
Figure pct00216
이 된다. 따라서, i 번째 서브 반복에 대한 일반적인 (비-인터리빙) 반복 MAP 디코딩 재귀 익스트린식 방정식은 수학식 13(위에서 설명됨)으로 표현된다.
도 23은 본 개시에 따른 송신 노드의 동작 프로세스를 도시한 것이다. 이 흐름도가 일련의 순차적 단계들을 도시하고 있지만, 명시적으로 언급하지 않는 한, 수행의 특정 순서에 대한 시퀀스로부터 어떠한 추론도 도출되지 않아야 하며, 단계들이나 그 일부분의 수행은 동시 또는 오버랩 방식으로가 아닌 순차적일 수도 있고, 또는 이 단계들의 수행은 중간 또는 매개 단계들의 발생 없이 독점적으로 도시될 수 있다. 도시된 예에서 도시된 프로세스는 예를 들어, 기지국 또는 단말과 같은 송신 노드에서 구현된다.
블록 2301에서, 송신 노드는 정보 비트들로부터 시스템 비트들을 생성한다. 시스템 비트들은 정보 비트들과 동일할 수 있다.
블록 2303에서, 송신 노드는 트렐리스-기반 LDPC 코드를 사용하여 입력 비트들을 인코딩함으로써 병렬적으로 패리티 비트들을 생성한다. 여기서, 트렐리스-기반 LDPC 코드는 LDPC 베이스 코드를, 트렐리스-기반 인코딩을 가능하게 하는 코드로 변환함으로써 결정된다. LDPC 베이스 코드는 행 가중치, 열 가중치, 및 리프팅 팩터에 의해 식별된다. 트렐리스-기반 LDPC 코드는 PC-LDPC 컨벌루션 코드로 지칭될 수도 있다.
블록 2305에서, 송신 노드는 시스템 비트들 및 패리티 비트들을 포함하는 코드워드를 송신한다. 여기서, 코드워드는 시스템 비트들에 대한 시스템 하위행렬 및 패리티 비트들에 대한 패리티 검사 하위행렬을 비롯한 행렬을 포함한다.
도 24는 본 개시에 따른 수신 노드의 동작 프로세스를 도시한 것이다. 이 흐름도가 일련의 순차적 단계들을 도시하고 있지만, 명시적으로 언급하지 않는 한, 수행의 특정 순서에 대한 시퀀스로부터 어떠한 추론도 도출되지 않아야 하며, 단계들이나 그 일부분의 수행은 동시 또는 오버랩 방식으로가 아닌 순차적일 수도 있고, 또는 이 단계들의 수행은 중간 또는 매개 단계들의 발생 없이 독점적으로 도시될 수 있다. 도시된 예에서 도시된 프로세스는 예를 들어, 기지국 또는 단말과 같은 수신 노드에서 구현된다.
블록 2401에서, 수신 노드는 시스템 비트들 및 패리티 비트들을 포함하는 코드워드를 송신 노드로부터 수신한다. 여기서, 패리티 비트들은 송신 노드에서, 트렐리스-기반 LDPC 코드를 사용하여 입력 비트들을 인코딩함으로써 병렬적으로 생성된다. 트렐리스-기반 LDPC 코드는 LDPC 베이스 코드를, 트렐리스-기반 인코딩을 가능하게 하는 코드로 변환함으로써 결정된다. LDPC 베이스 코드는 행 가중치, 열 가중치, 및 리프팅 팩터에 의해 식별된다. 트렐리스-기반 LDPC 코드는 PC-LDPC 컨벌루션 코드로 지칭될 수도 있다.
블록 2403에서, 수신 노드는 코드워드를 디코딩하여 정보 비트들을 결정한다. 구체적으로, 수신 노드는 시스템 비트들에 대한 시스템 하위행렬 및 패리티 비트들에 대한 패리티 검사 하위행렬을 포함하는 행렬의 형태로 PC-LDPC 컨벌루션 코드를 결정한다. 그 다음, 수신 노드는 PC-LDPC 컨벌루션 코드를, PC-LDPC 컨벌루션 코드의 각 행에 대한 시스템 비트들로 디코딩하고, PC-LDPC 컨벌루션 코드로부터, PC-LDPC 컨벌루션 코드의 다른 행들의 세트의 임의의 다른 쿼시-사이클릭 도메인과 상이한 행들의 세트의 고유한 쿼시-사이클릭 도메인을 결정하여, 그 행들의 세트의 시프트된 비트들에 대하여 병렬적으로 MAP 디코딩 프로세스를 수행한다.
본 개시는 예시적인 실시 예로 설명되었지만, 다양한 변경 예 및 수정 예가 당업자에게 제안될 수 있다. 본 개시는 첨부된 청구 범위의 범위 내에 속하는 이러한 변경 예 및 수정 예들을 포함하는 것으로 의도된다.

Claims (15)

  1. 송신 노드의 동작 방법에 있어서,
    정보 비트들로부터 시스템 비트들을 생성하는 과정과,
    트렐리스-기반(trellis-based) 저밀도 패리티 검사(low density parity check, LDPC) 코드를 사용하여 상기 정보 비트들을 인코딩함으로써 병렬적으로 패리티 비트들을 생성하는 과정과,
    상기 시스템 비트들 및 상기 패리티 비트들을 포함하는 코드워드를 송신하는 과정을 포함하며,
    상기 트렐리스-기반 LDPC 코드는, 트렐리스-기반 인코딩들을 가능하게 하는 코드로 LDPC 베이스 코드를 변환함으로써 결정되고,
    상기 LDPC 베이스 코드는, 행 가중치(row weight), 열 가중치(column weight), 및 리프팅 팩터(lifting factor)에 의해 식별되는 방법.
  2. 제 1 항에 있어서,
    상기 LDPC 베이스 코드를 생성하는 과정과,
    상기 LDPC 베이스 코드를 트렐리스-기반 쿼시-사이클릭 LDPC(trellis-based quasi-cyclic LDPC, TQC-LDPC) 컨벌루션 코드(convolutional code)로 변환하는 과정과,
    상기 시스템 비트들에 대한 시스템 하위행렬 및 상기 패리티 비트들에 대한 패리티 검사 하위행렬을 포함하는 행렬의 형태로, 병렬 연접 트렐리스-기반 쿼시-사이클릭 LDPC(PC-LDPC) 컨벌루션 코드를 생성하는 과정과,
    상기 패리티 검사 하위행렬을 상기 시스템 비트들의 각 열과 연접시킴(concatenating)으로써 상기 트렐리스-기반 LDPC 코드를 생성하는 과정을 더 포함하는 방법.
  3. 제 1 항에 있어서,
    상기 LDPC 베이스 코드는, SC-LDPC(Spatially-Coupled LDPC) 베이스 코드인 방법.
  4. 제 1 항에 있어서,
    상기 패리티 비트들의 열은, 복수의 패리티 비트들의 열들을 포함하며, 1/2 미만의 레이트를 산출하는 방법.
  5. 제 2 항에 있어서,
    상기 TQC-LDPC 컨벌루션 코드의 레이트는, 펑처링 연산(puncturing operation)에 의해 증가되는 방법.
  6. 제 2 항에 있어서,
    상기 시스템 하위행렬의 크기를 증가시킴으로써 상기 코드의 비트 오류율(bit error rate, BER) 및 주기를 감소시키는 과정을 더 포함하는 방법.
  7. 제 2 항에 있어서,
    상기 행렬에 다른 리프팅 팩터를 적용하는 과정을 더 포함하는 방법.
  8. 제 2 항에 있어서,
    상기 TQC-LDPC 컨벌루션 코드의 쿼시-사이클릭 값들을 변형하는 과정을 더 포함하는 방법.
  9. 제 1 항에 있어서,
    모든 시프트 엔트리들이 단위 행렬을 나타내는 기준 행에 대하여 상기 TQC-LDPC 컨벌루션 코드 내의 각 다른 행을 시프트하는 과정을 더 포함하는 방법.
  10. 수신 노드의 동작 방법에 있어서,
    송신 노드로부터 시스템 비트들 및 패리티 비트들을 포함하는 코드워드를 수신하는 과정과,
    상기 코드워드를 디코딩하여 정보 비트들을 결정하는 과정을 포함하며,
    상기 패리티 비트들은, 상기 송신 노드에서, 트렐리스-기반(trellis-based) 저밀도 패리티 검사(low density parity check, LDPC) 코드를 사용하여 상기 입력 비트들을 인코딩함으로써 병렬적으로 생성된 것이며,
    상기 트렐리스-기반 LDPC 코드는, 트렐리스-기반 인코딩들을 가능하게 하는 코드로 LDPC 베이스 코드를 변환함으로써 결정되고,
    상기 LDPC 베이스 코드는, 행 가중치, 열 가중치, 및 리프팅 팩터에 의해 식별되는 방법.
  11. 제 10 항에 있어서,
    상기 시스템 비트들에 대한 시스템 하위행렬 및 상기 패리티 비트들에 대한 패리티 검사 하위행렬을 포함하는 행렬의 형태로 병렬 연접 트렐리스-기반 쿼시-사이클릭 LDPC(PC-LDPC) 컨벌루션 코드를 결정하는 과정을 더 포함하며,
    상기 코드워드를 디코딩하는 과정은,
    상기 PC-LDPC 컨벌루션 코드의 각 행에 대하여, 상기 PC-LDPC 컨벌루션 코드를 상기 시스템 비트들로 디코딩하는 과정과,
    상기 PC-LDPC 컨벌루션 코드의 행들의 다른 세트의 임의의 다른 쿼시-사이클릭 도메인과 상이한 행들의 세트의 특정 쿼시-사이클릭 도메인을, 상기 PC-LDPC 컨벌루션 코드로부터 결정하는 과정과,
    상기 행들의 세트의 시프트된 비트에 대하여 MAP(maximum a posteriori probability) 디코딩 프로세스들을 수행하는 과정을 포함하는 방법.
  12. 제 11 항에 있어서,
    상기 MAP 디코딩 프로세스들 이전에, 상기 특정 쿼시-사이클릭 도메인에 의하여 상기 행들의 세트를 쿼시-사이클릭 시프트하는 과정과,
    상기 MAP 디코딩 프로세스들 이후에, 상기 특정 쿼시-사이클릭 도메인에 의하여 상기 행들의 세트의 병렬 디코딩된 비트들을 언시프트(unshifting)하는 과정을 더 포함하는, 방법.
  13. 제 11 항에 있어서,
    상기 PC-LDPC 컨벌루션 코드를 상기 시스템 비트들로 디코딩하는 과정은, MAX* 로그 MAP 디코딩 알고리즘을 적용하는 과정을 포함하는 방법.
  14. 제 11 항에 있어서,
    상기 PC-LDPC 컨벌루션 코드를 상기 시스템 비트들로 디코딩하는 과정은, MAX 로그 MAP 디코딩 알고리즘을 적용하는 과정을 포함하는 방법.
  15. 제 1 항 내지 제 14 항 중 어느 한 항에 기재된 방법을 구현하도록 구성된 장치.
KR1020177018952A 2014-12-08 2015-12-07 전력 효율적인 디코더를 가능하게 하는 병렬 연접 ldpc 컨벌루션 코드를 위한 방법 및 장치 KR102480584B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201462089035P 2014-12-08 2014-12-08
US62/089,035 2014-12-08
US201562147410P 2015-04-14 2015-04-14
US62/147,410 2015-04-14
US14/827,150 2015-08-14
US14/827,150 US20160164537A1 (en) 2014-12-08 2015-08-14 Method and apparatus for parallel concatenated ldpc convolutional codes enabling power-efficient decoders
PCT/KR2015/013298 WO2016093568A1 (en) 2014-12-08 2015-12-07 Method and apparatus for parallel concatenated ldpc convolutional codes enabling power-efficient decoders

Publications (2)

Publication Number Publication Date
KR20170095294A true KR20170095294A (ko) 2017-08-22
KR102480584B1 KR102480584B1 (ko) 2022-12-23

Family

ID=56095272

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177018952A KR102480584B1 (ko) 2014-12-08 2015-12-07 전력 효율적인 디코더를 가능하게 하는 병렬 연접 ldpc 컨벌루션 코드를 위한 방법 및 장치

Country Status (4)

Country Link
US (1) US20160164537A1 (ko)
EP (1) EP3231094B1 (ko)
KR (1) KR102480584B1 (ko)
WO (1) WO2016093568A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190099327A (ko) * 2017-01-05 2019-08-26 후아웨이 테크놀러지 컴퍼니 리미티드 정보 처리 방법, 장치, 및 통신 시스템

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10523364B2 (en) * 2015-11-06 2019-12-31 Samsung Electronics Co., Ltd. Channel coding framework for 802.11AY and larger block-length LDPC codes for 11AY with 2-step lifting matrices and in-place property
US10784901B2 (en) 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
US11043966B2 (en) * 2016-05-11 2021-06-22 Qualcomm Incorporated Methods and apparatus for efficiently generating multiple lifted low-density parity-check (LDPC) codes
US10454499B2 (en) 2016-05-12 2019-10-22 Qualcomm Incorporated Enhanced puncturing and low-density parity-check (LDPC) code structure
US10313057B2 (en) 2016-06-01 2019-06-04 Qualcomm Incorporated Error detection in wireless communications using sectional redundancy check information
US9917675B2 (en) 2016-06-01 2018-03-13 Qualcomm Incorporated Enhanced polar code constructions by strategic placement of CRC bits
US10469104B2 (en) 2016-06-14 2019-11-05 Qualcomm Incorporated Methods and apparatus for compactly describing lifted low-density parity-check (LDPC) codes
SG11201810437XA (en) 2016-07-27 2019-02-27 Qualcomm Inc Design of hybrid automatic repeat request (harq) feedback bits for polar codes
EP3522378A4 (en) * 2016-09-30 2020-09-16 LG Electronics Inc. -1- LDPC QC CODE RATE ADAPTATION PROCESS AND ASSOCIATED DEVICE
CN108173621B (zh) * 2016-12-07 2022-06-14 华为技术有限公司 数据传输的方法、发送设备、接收设备和通信***
CN110192349B (zh) * 2017-01-06 2021-08-27 诺基亚技术有限公司 用于基于向量的ldpc基础矩阵的使用和生成的方法和装置
US10581457B2 (en) * 2017-01-09 2020-03-03 Mediatek Inc. Shift coefficient and lifting factor design for NR LDPC code
SG11202009379VA (en) 2017-03-24 2020-10-29 Zte Corp Processing method and device for quasi-cyclic low density parity check coding
US10387533B2 (en) 2017-06-01 2019-08-20 Samsung Electronics Co., Ltd Apparatus and method for generating efficient convolution
US10312939B2 (en) 2017-06-10 2019-06-04 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code
AU2018294852B2 (en) * 2017-06-25 2021-07-22 Lg Electronics Inc. Method for performing encoding on basis of parity check matrix of LDPC code in wireless communication system and terminal using same
CN109150193B (zh) * 2017-06-27 2020-11-27 华为技术有限公司 信息处理的方法、装置和通信设备
KR102385274B1 (ko) 2017-07-07 2022-04-08 퀄컴 인코포레이티드 저밀도 패리티 체크 코드 베이스 그래프 선택을 적용한 통신 기술
CN107707261B (zh) * 2017-09-20 2020-11-03 山东大学 一种基于原模图的ldpc码校验矩阵的构造方法
US10715276B2 (en) 2018-05-26 2020-07-14 Ntwine, Llc Bandwidth constrained communication systems with optimized low-density parity-check codes
CN109379087B (zh) * 2018-10-24 2022-03-29 江苏华存电子科技有限公司 Ldpc根据闪存组件错误率调变核编译码速率的方法
US11620510B2 (en) * 2019-01-23 2023-04-04 Samsung Electronics Co., Ltd. Platform for concurrent execution of GPU operations
CN111917419B (zh) * 2019-05-08 2022-10-28 华为技术有限公司 一种数据译码的方法以及装置
WO2021181278A1 (en) 2020-03-10 2021-09-16 Ntwine, Llc Bandwidth constrained communication systems with frequency domain information processing
US11990922B2 (en) 2021-01-11 2024-05-21 Ntwine, Llc Bandwidth constrained communication systems with neural network based detection
CN116073952B (zh) * 2023-02-01 2024-03-12 西安电子科技大学 一种基于MaPU架构的快速并行卷积编译码方法、***、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130086455A1 (en) * 2011-10-03 2013-04-04 Samsung Electronics Co., Ltd. Method and apparatus of qc-ldpc convolutional coding and low-power high throughput qc-ldpc convolutional encoder and decoder
US20140223254A1 (en) * 2013-02-01 2014-08-07 Samsung Electronics Co., Ltd. Qc-ldpc convolutional codes enabling low power trellis-based decoders

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10173536A (ja) * 1996-12-10 1998-06-26 Sony Corp 符号化方法および符号化装置、復号化方法および復号化装置、並びに記録媒体
WO2001097387A1 (en) * 2000-06-16 2001-12-20 Aware, Inc. Systems and methods for ldpc coded modulation
EP2139119A1 (en) * 2008-06-25 2009-12-30 Thomson Licensing Serial concatenation of trellis coded modulation and an inner non-binary LDPC code
US8656263B2 (en) * 2010-05-28 2014-02-18 Stec, Inc. Trellis-coded modulation in a multi-level cell flash memory device
US9634693B2 (en) * 2010-08-12 2017-04-25 Samsung Electronics Co., Ltd Apparatus and method for decoding LDPC codes in a communications system
US8599959B2 (en) * 2010-12-30 2013-12-03 Lsi Corporation Methods and apparatus for trellis-based modulation encoding
US20130028269A1 (en) * 2011-07-28 2013-01-31 Limberg Allen Leroy DTV systems employing parallel concatenated coding in COFDM transmissions for iterative diversity reception

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130086455A1 (en) * 2011-10-03 2013-04-04 Samsung Electronics Co., Ltd. Method and apparatus of qc-ldpc convolutional coding and low-power high throughput qc-ldpc convolutional encoder and decoder
US20140223254A1 (en) * 2013-02-01 2014-08-07 Samsung Electronics Co., Ltd. Qc-ldpc convolutional codes enabling low power trellis-based decoders

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190099327A (ko) * 2017-01-05 2019-08-26 후아웨이 테크놀러지 컴퍼니 리미티드 정보 처리 방법, 장치, 및 통신 시스템
US11438099B2 (en) 2017-01-05 2022-09-06 Huawei Technologies Co., Ltd. Information processing method, device, and communications system

Also Published As

Publication number Publication date
WO2016093568A1 (en) 2016-06-16
EP3231094A1 (en) 2017-10-18
KR102480584B1 (ko) 2022-12-23
EP3231094A4 (en) 2018-03-28
US20160164537A1 (en) 2016-06-09
EP3231094B1 (en) 2023-11-29

Similar Documents

Publication Publication Date Title
KR102480584B1 (ko) 전력 효율적인 디코더를 가능하게 하는 병렬 연접 ldpc 컨벌루션 코드를 위한 방법 및 장치
US9100052B2 (en) QC-LDPC convolutional codes enabling low power trellis-based decoders
KR102131834B1 (ko) Qc ldpc 코드의 레이트 매칭 방법 및 이를 위한 장치
EP3228034B1 (en) Sc-ldpc codes for wireless communication systems
US9362956B2 (en) Method and system for encoding and decoding data using concatenated polar codes
US9264073B2 (en) Freezing-based LDPC decoder and method
EP2764624B1 (en) Method and apparatus of qc-ldpc convolutional coding and low-power high throughput qc-ldpc convolutional encoder and decoder
US11777525B2 (en) Method for transmitting LDPC code using row-orthogonal and apparatus therefor
KR101998199B1 (ko) 다중 ldpc 코드에서 ldpc 베이스 코드를 선택하는 방법 및 이를 위한 장치
US11082060B2 (en) LPDC code transmission method using row-orthogonal structure and apparatus therefor
US10819372B2 (en) Method for dividing transport block of LDPC code and apparatus therefor
KR20170060562A (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
US10756761B2 (en) Method for dividing carrying block of LDPC code and apparatus therefor
KR20170075627A (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
WO2018059856A1 (en) Message passing decoder for convolutional or turbo codes
Condo Concatenated Turbo/LDPC codes for deep space communications: performance and implementation
KR20170060574A (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
Zhu et al. An improved ensemble of variable-rate LDPC codes with precoding
KR20170060566A (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
GRNT Written decision to grant