KR20100096211A - 분할된 병렬 인코딩 동작들을 가지는 컨볼루션 인코딩 - Google Patents

분할된 병렬 인코딩 동작들을 가지는 컨볼루션 인코딩 Download PDF

Info

Publication number
KR20100096211A
KR20100096211A KR1020107014294A KR20107014294A KR20100096211A KR 20100096211 A KR20100096211 A KR 20100096211A KR 1020107014294 A KR1020107014294 A KR 1020107014294A KR 20107014294 A KR20107014294 A KR 20107014294A KR 20100096211 A KR20100096211 A KR 20100096211A
Authority
KR
South Korea
Prior art keywords
convolutional encoding
information bits
applying
convolutional
encoding operation
Prior art date
Application number
KR1020107014294A
Other languages
English (en)
Other versions
KR101255749B1 (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 KR20100096211A publication Critical patent/KR20100096211A/ko
Application granted granted Critical
Publication of KR101255749B1 publication Critical patent/KR101255749B1/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/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
    • H03M13/235Encoding of convolutional codes, e.g. methods or arrangements for parallel or block-wise encoding
    • 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/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/65253GPP LTE including E-UTRA
    • 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/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations

Landscapes

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

Abstract

컨볼루션 인코딩 스루풋은 입력 정보 비트들을 병렬로 컨볼루션 인코딩되는 복수의 블록들로 분할함으로써 증가한다. 상호간에 서로 상이한 각각의 초기 인코딩 상태들을 가지는 복수의 컨볼루션 인코딩 동작들이 개별적으로 대응하는 복수의 컨볼루션 인코딩 결과들을 생성하기 위해 블록들 중 하나에 병렬로 적용된다. 컨볼루션 인코딩 결과들 중 하나는 블록들 중 또다른 하나로 적용되는 컨볼루션 인코딩 동작에 기초하여 선택된다.

Description

분할된 병렬 인코딩 동작들을 가지는 컨볼루션 인코딩{CONVOLUTIONAL ENCODING WITH PARTITIONED PARALLEL ENCODING OPERATIONS}
본 발명은 일반적으로 통신에 관한 것이고, 더 구체적으로는 컨볼루션 코딩을 사용하는 통신들에 관한 것이다.
본 특허출원은 출원번호가 60/990,722이고, 발명의 명칭이 "Method and Apparatus for a Parallel Encode-Select Convolutional Encoder"이고, 출원일이 2007년 11월 28일이고, 본 발명의 양수인에게 양도되고 여기에 참조로서 명시적으로 포함되는 가출원의 우선권을 청구한다.
컨볼루션 인코더들은 입력들로서 정보 비트들을 그리고 출력들로서 코딩된 비트들을 가지는 유한 상태 머신(FSM)을 실행시킴으로써 정보 비트들의 패킷(또는 다른 단위)을 직렬로(serially) 인코딩한다. 종래의 컨볼루션 인코더의 예는 도 1에서 11로 도시되며, 이는 입력 정보 비트들을 직렬로 수신하는 입력, 인코딩 로직 동작들에서 사용하기 위한 각각의 입력 비트를 순차적으로 저장하는 3개의 저장 셀들(D), 및 3개의 출력들인 코딩된 비트들(C0, C1 및 C2)을 가진다. 인코딩 복잡도는 패킷 길이(L)에 선형적이다. 이러한 복잡도는 긴 패킷들에 대해 높은 인코딩 스루풋을 요구하는 고속 애플리케이션들에 대한 성능 장애(bottleneck)가 된다.
기존의 솔루션들은, 오직 입력 비트들 및 초기 인코딩 상태(즉, 도 1의 저장 셀들(D)에 초기에 저장된 값들)의 함수로써, 모든 입력 비트에 대해, 대응하는 코딩된 비트들(C0-C2)을 생성하는 로직을 제공함으로써, 시간상 상태 머신 n개의 단계들을 전개하는 예상(look-ahead) 기법들을 적용한다. 이들 예상 기법들은 도 1 및 2의 비교에 의해 나타나는 바와 같이, n의 인자에 의해 성능을 높일 수 있다. 도 1의 인코더에서, n개의 입력 비트들의 시퀀스를 인코딩하기 위해 n개의 클록 사이클들이 요구된다. 반면, 도 2의 예상 인코더(21)에서, 모든 n개의 입력 비트들이 병렬로 수신되고 인코딩되며, 따라서, n개의 입력 비트들과 연관된 모든 3n개의 코딩된 비트들이 단일 클록 사이클 내에 생성된다. 그러나, n이 큰 경우, 예상 인코더의 로직 복잡도 및 임계(critical) 경로가 현저하게 증가하여, 상기 예상 기법은 n(전개 정도)이 증가함에 따라, 일부 포인트들에서 실현불가능해진다.
전술된 관점에서, 컨볼루션 인코더들의 인코딩 스루풋을 증가시키기 위한 또다른 방법을 제공하는 것이 바람직하다.
본 발명의 예시적인 실시예들에 따라, 컨볼루션 인코딩 스루풋은 입력 정보 비트들을 병렬로 컨볼루션 인코딩된 복수의 블록들로 분할함으로써 증가한다. 상호간에 서로 상이한 개별 초기 인코딩 상태들을 가지는 복수의 컨볼루션 인코딩 동작들은 각각 대응하는 복수의 컨볼루션 인코딩 결과들을 생성하기 위해 상기 블록들 중 하나에 병렬로 적용된다. 상기 컨볼루션 인코딩 결과들 중 하나는 상기 블록들 중 또다른 블록에 적용되는 컨볼루션 인코딩 동작에 기초하여 선택된다.
무선 통신 시스템의 다양한 양상들이 첨부 도면들에서 제한이 아닌 예로써 예시된다.
도 1은 종래 기술의 직렬 컨볼루션 인코더를 다이어그램으로 예시한다.
도 2는 예상 기법들을 채택하는 종래 기술의 컨볼루션 인코더를 다이어그램으로 예시한다.
도 3은 본 발명의 예시적인 실시예들에 따라 컨볼루션 인코딩 장치의 구조 및 동작을 다이어그램으로 예시한다.
도 4는 본 발명의 예시적인 실시예들에 따라 컨볼루션 인코딩 장치의 구조 및 동작을 다이어그램으로 예시한다.
도 5는 본 발명의 예시적인 실시예들에 따라 통신 시스템을 다이어그램으로 예시한다.
첨부 도면들과 관련하여 아래에 설명되는 상세한 설명은 본 발명의 다양한 실시예들의 설명으로서 의도되며, 본 발명이 구현될 수 있는 유일한 실시예들을 나타내는 것으로 의도되지 않는다. 상세한 설명은 본 발명의 완전한 이해를 제공할 목적으로 특정 상세항목들을 포함한다. 그러나, 본 발명이 이들 특정 상세항목들 없이도 구현될 수 있다는 점이 당업자에게 명백할 것이다. 일부 경우들에서, 본 발명의 개념들을 모호하게 하는 것을 회피하기 위해 공지된 구조들 및 컴포넌트들은 블록도 형태로 도시된다.
용어 "예시적인"은 "예, 경우, 또는 예시로서 작용하는" 것을 의미하도록 여기서 사용된다. 여기서 "예시적인" 것으로서 설명되는 임의의 실시예는 반드시 다른 실시예들보다 유리하거나 바람직한 것으로서 해석되지는 않는다.
본 발명은 병렬화(parallelism)에 대한 추가 디멘션(dimension)을 채택한다. 일부 실시예들에서, 비트 길이(L)의 패킷은 여기서 블록들(1 - m)로 지칭되는 m개의 더 작은 블록들로 분할되며, 각각의 블록은 사이즈(L/ m)를 가진다. 각각의 블록은 독립적으로 인코딩되고, 이후, 인코딩된 비트들은 함께 결합되어 최종 코딩된 비트들을 형성한다. 이를 가능하게 하기 위해, 상기 m개의 블록들 각각은 적절한 초기 인코딩 상태를 가지고 초기화되는 인코더에 의해 인코딩되어야 한다. 짧은 제약 길이들을 가지는 컨볼루션 코드들에 대해, 가능한 초기 인코딩 상태들의 수(υ)는 비교적 작다(예를 들어, 3GPP2/UMB 및 3GPP/LTE에 대해, υ = 8). 따라서, 모든 가능한 초기 인코딩 상태에 대해 상기 m개의 블록들 각각을 인코딩하는 것이 가능하다. i=2 내지 m에 대해, 블록 i는 모든 가능한 초기 인코딩 상태에 대해 인코딩되고, 이후, 출력된 코딩된 비트들의 정확한 세트는 블록(i-1)에 대해 선택되었던 인코딩에 의해 도달한 최종 인코딩 상태에 기초하여 선택된다. 인코딩 블록 1에 대해 제 1 인코더에 의해 사용되는 초기 인코딩 상태는 알려져 있다. 나머지 m-1개의 인코더들 각각은 원하는 인코더 설계의 υ개 구성 카피들을 포함하는 컴포지트 인코더이다. 구성 카피들 각각은 υ개의 가능한 상태들 중 하나를 사용하여 초기화된다. i=2 내지 m에 대해, 인코더 i에 대한 최종 코딩된 비트 출력들은 인코더(i-1)에 의해 도달된 최종 인코딩 상태에 따라 선택된다. 인코딩 스루풋은 L/m의 인자에 의해 증가한다.
도 3은 본 발명의 예시적인 실시예들에 따른 컨볼루션 인코딩 장치(30)를 다이어그램으로 예시한다. 장치(30)는 초기 상태 컨볼루션 인코더(31) 및 복수의 컴포지트 컨볼루션 인코더들(32)을 포함한다. 각각의 컴포지트 인코더(32)는 0-7로 표기된 복수의 구성 컨볼루션 인코더들(도 3의 예에서의 8개의 구성 인코더들)을 포함한다. 일부 실시예들에서, 도 1에서 11로 도시된 직렬 컨볼루션 인코더 설계가 초기 상태 인코더(31) 및 구성 인코더들(0-7)로서 사용된다. 다양한 실시예들은 다양한 직렬 컨볼루션 인코더 설계들을 인코더들(31 및 0-7)로서 사용한다. 초기 상태 인코더(31) 및 각각의 컴포지트 인코더들(32)은 L개 입력 정보 비트들의 패킷 또는 다른 단위 내에서 개별적으로 대응하는 정보 비트들의 블록들로 직렬 컨볼루션 인코딩을 적용한다. 도 3의 예는 L개의 입력 비트들이 블록 1 - 블록 5로서 표기되는 5개의 블록들로(즉, m = 5) 분할되며, 각각은 L/ 5개 비트들로 구성되는 것을 도시한다. 이러한 입력 비트들의 분할은 상기 L/ 5 - 비트 블록들이, 아래에 논의되는 바와 같이, 5개의 개별적으로 대응하는 병렬 인코딩 경로들을 사용하여 서로 병렬로 인코딩되도록 허용한다.
도 3의 컨볼루션 인코딩 장치(30)의 동작은 (도 3에서 직렬 ENC로 표기된) 도 1의 직렬 컨볼루션 인코더 설계(11)를 31 및 0-7에서 이용하는 실시예들에 대해 (오직 예시적인 설명의 목적으로) 여기서 설명된다. 초기 상태 인코더(31)는 초기 인코딩 상태 S0로 구성된다. 구성 인코더들(0-7) 각각은 도 1의 인코더 설계(11)와 연관된 8개의 가능한 초기 인코딩 상태들(즉, 3개의 저장 셀들(D)에 저장된 1과 0의 8개의 가능한 조합들)로 각각 구성된다. 인코더(31)는 그것의 연관된 직렬 컨볼루션 인코딩 동작을 블록 1에 적용하고, L/5 클록 사이클들 내에서, 블록 1 코딩된 비트들이라고 표기된 그것의 출력을 생성한다. 도 3에 도시된 바와 같이, 블록 1 코딩된 비트들은 L개의 입력 정보 비트들이 도 3의 인코딩 장치(30)에 의해 인코딩될 때 초래되는 출력된 코딩된 비트들(39)의 구성 컴포넌트를 형성한다.
각각의 컴포지트 인코더(32) 내에서, 구성 인코더들(0-7) 모두는 입력 정보 비트들의 연관된 블록(즉, 블록 2 - 블록 5 중 하나)을 수신한다. 각각의 컴포지트 인코더(32) 내의 구성 인코더들(0-7)은 그들의 각각의 직렬 컨볼루션 인코딩 동작들을 블록으로 적용하기 위해 연관된 블록 상에서 병렬로 동작한다. 구성 인코더들(0-7) 각각은 L/5 클록 사이클들 내에 연관된 출력된 코딩된 비트들의 세트를 생성한다. 상기 인코더들(31 및 32) 모두 병렬로 동작하므로, 출력된 코딩된 비트들(39)을 생성하는데 필요한 모든 출력된 코딩된 비트는 L/5 클록 사이클들 내에 생성된다.
각각의 컴포지트 인코더(32)에 대해, 모든 구성 인코더들(0-7)로부터의 출력된 코딩된 비트들은 개별적으로 연관된 선택기(33)로 입력된다. 일부 실시예들에서, 선택기들(33)은 도 3에 도시된 바와 같은 멀티플렉서(MUX)들을 포함한다. 각각의 선택기(33)는 상기 선택기(33)와 연관된 블록 바로 앞의 블록을 인코딩하기 위해 선택되었던 인코더의 최종 인코딩 상태에 따라 그것의 연관된 구성 인코더들(0-7)의 출력들 중 하나를 선택한다. 따라서, 블록 2와 연관된 선택기(33)는 블록 1을 인코딩하는 인코더와 연관된 최종 인코딩 상태(Sf1)에 따라, 선택을 수행한다. 예를 들어, Sf1 = 7인 경우, 즉, 초기 상태 인코더(31)의 모든 저장 셀들(D)(도 1을 참조)이 1을 포함하는 경우, 블록 2에 대한 선택기(33)는 39에서 블록 2 코딩된 비트들을 제공하기 위해 (그것의 초기 인코딩 상태가 1을 포함하는 모든 저장 셀들(D)을 가지는) 구성 인코더(7)의 출력을 선택한다.
최종 인코딩 상태(Sf1)는 또한 블록 2와 연관된 추가 선택기(34)의 동작을 제어하는데, 이는 블록 2의 모든 구성 인코더들(0-7)의 최종 인코딩 상태들을 입력으로서 수신한다. 블록 2와 연관된 선택기(34)의 출력은 39에서 블록 2 코딩된 비트들을 제공하기 위해 (Sf1의 제어 하에 연관된 선택기(33)에 의해) 그것의 출력이 선택되는 구성 인코더들(0-7) 중 하나의 최종 인코딩 상태인 Sf2를 제공한다. 출력(Sf2)은 블록 3에 대해 선택기들(33 및 34)에 의해 이루어지는 선택들을 제어하고, 블록 4와 연관된 유사한 출력(Sf4)은 블록 5에 대해 선택기들(33 및 34)에 의해 이루어지는 선택들을 제어한다. 이러한 방식으로, 구성 인코더들(0-7) 중 적절한 구성 인코더가, 블록 2 - 블록 5 각각에 대해 선택될 수 있으며, 출력된 코딩된 비트들(39)은, 도 1의 종래 기술의 인코더(11)의 직렬 컨볼루션 인코딩을 사용하여 동일한 결과를 생성하기 위해 요구되는 L개의 클록 사이클들에 비해, L/5개의 클록 사이클들 내에서 생성된다.
일부 실시예들은 도 3에 대해 전술된 것과 같은 병렬 인코딩 장치(arrangement) 내에서 (도 2에 대해 설명된 것과 같은) 종래 기술의 예상 인코딩 기법을 사용한다. 이것의 일례는 도 4에서 일반적으로 도시되는데, 여기서 도 3의 직렬 컨볼루션 인코더들(직렬 ENC)(31 및 0-7) 각각은 (도 4에서 ENC라고 표기되는) 예상 인코더, 예를 들어, n = L/5인 도 2의 예상 인코더(21)로 대체된다. 따라서, 도 4의 컨볼루션 인코딩 장치에서, 인코더들(31 및 0-7) 각각은 단일 클록 사이클 내에서 연관된 블록의 모든 L/5개 비트들을 인코딩하여 출력된 코딩된 비트들(39)을 단일 클록 사이클 내에서 사용가능하게 한다.
도 5는 본 발명의 예시적인 실시예들에 따라 통신 시스템을 다이어그램으로 도시한다. 도 5에서, 통신 채널(53)을 통해 통신-가능 장치(51)로부터 통신-가능 장치(52)로, 혹은 그 역으로 전달될 정보는 전술된 예시적인 방식들 중 임의의 방식으로 컨볼루션 인코딩될 수 있다. 다양한 실시예들에서, 장치(51) 및 장치(52) 중 하나 또는 모두는 전술된 예시적인 방식들로 컨볼루션 인코딩을 구현하기에 적합한 컨볼루션 코딩 장치(facility)들을 포함한다. 일부 실시예들에서, 장치(51) 및 장치(52) 중 하나는 본 발명에 따른 컨볼루션 인코딩을 수행하는 통신 송신기이며, 장치(51) 및 장치(52) 중 다른 하나는 통신 수신기이다. 일부 실시예들에서, 장치(51) 및 장치(52) 모두는 통신 트랜시버들이며, 이들 모두는 개별 송신 기능들의 일부로서 본 발명에 따른 컨볼루션 인코딩을 수행한다. 일부 실시예들에서, 장치(51)는 고정 사이트(site) 장치이고, 장치(52)는 고정 사이트 장치이다. 일부 실시예들에서, 장치(51) 및 장치(52) 중 하나는 휴대용 또는 모바일 장치이며, 다른 하나는 고정 사이트 장치이다. 일부 실시예들에서, 장치(51)는 휴대용 또는 모바일 장치이며, 장치(52)는 휴대용 또는 모바일 장치이다. 일부 실시예들에서, 통신 채널(53)은 유선 채널을 포함한다. 일부 실시예들에서, 통신 채널(53)은 무선 채널을 포함한다. 일부 실시예들에서, 통신 채널(53)은 유선 채널 및 무선 채널 모두를 포함한다.
당업자는 정보 및 신호들이 다양한 상이한 기술들 및 기법들 중 임의의 것을 사용하여 표현될 수 있다는 점을 이해할 것이다. 예를 들어, 상기 설명 전반에 걸쳐서 참조될 수 있는 데이터, 명령들, 커맨드들, 정보, 신호, 비트들, 신호들, 심볼들, 및 칩들은 전압, 전류, 전자기파, 자기장 또는 자기 입자, 광학장 또는 광학 입자, 또는 이들의 임의의 조합으로 표현될 수 있다.
당업자는 여기서 기재된 실시예들과 연관하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들 모두의 조합으로 구현될 수 있다는 점을 추가적으로 이해할 것이다. 이러한 하드웨어 및 소프트웨어의 상호교환가능성을 명확하게 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들이 일반적으로 그들의 기능의 견지에서 전술되었다. 이러한 기능이 하드웨어로 구현될지 소프트웨어로 구현될지의 여부는 전체 시스템에 부과된 특정 애플리케이션 및 설계 제약들에 의존한다. 당업자는 각각의 특정 애플리케이션에 대해 가변적인 방식으로 전술된 기능을 구현할 수 있지만, 이러한 구현 결정들이 본 발명의 범위를 벗어나게 하는 것으로서 해석되지 않아야 한다.
여기서 기재된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적회로(ASIC), 필드 프로그램가능 게이트 어레이(FPGA) 또는 다른 프로그램가능 논리 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 여기서 설명된 기능들을 수행하도록 설계되는 이들의 임의의 조합으로 구현될 수 있거나 이들을 사용하여 수행될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안적으로, 상기 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수 있다. 또한, 프로세서는 컴퓨팅 디바이스들의 조합, 예를 들어, DSP 및 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 연관된 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성으로서 구현될 수 있다.
여기서 기재된 실시예들과 관련하여 설명되는 방법 또는 알고리즘의 단계들은 직접 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이들 둘의 조합으로 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 이동식 디스크, CD-ROM, 또는 당해 기술분야에 알려져 있는 임의의 다른 형태의 저장 매체에 상주할 수 있다. 예시적인 저장 매체는 프로세서가 저장 매체로부터 정보를 수신하고 저장 매체로 정보를 기록할 수 있도록 상기 프로세서에 커플링된다. 대안적으로, 저장 매체는 프로세서에 통합될 수 있다. 프로세서 및 저장 매체는 ASIC에 상주할 수 있다. ASIC은 사용자 단말에 상주할 수 있다. 대안적으로, 프로세서 및 저장 매체는 사용자 단말에 이산 컴포넌트들로서 상주할 수 있다.
기재된 실시예들의 이전 설명들은 당업자가 본 발명의 원리들을 구현하는 물건들을 만들거나 사용하게 하도록 제공된다. 이들 실시예들에 대한 다양한 수정예들은 당업자에게 자명할 것이며, 여기서 정의된 포괄 원리들은 본 발명의 사상 또는 범위에서 벗어남이 없이 다른 실시예들에 적용될 수 있다. 따라서, 본 발명은 여기서 나타난 실시예들로 제한되는 것으로 의도되지 않고, 여기서 기재된 원리들 및 신규한 특징들에 부합하는 가장 넓은 범위에 따라야 한다.

Claims (20)

  1. 원하는 컨볼루션 인코딩 동작을 복수의 입력 정보 비트들에 적용하기 위한 장치로서,
    상기 정보 비트들의 각각 대응하는 블록들을 수신하는 복수의 컨볼루션 인코더들 ― 상기 컨볼루션 인코더들 각각은 컨볼루션 인코딩이 상기 블록들 모두에 병렬로 적용되도록 정보 비트들의 연관된 블록에 적어도 하나의 컨볼루션 인코딩 동작을 적용하도록 구성되고, 상기 컨볼루션 인코더들 중 하나는 상호간에 서로 상이한 개별 초기 인코딩 상태들을 가지는 복수의 컨볼루션 인코딩 동작들을 상기 정보 비트들의 연관된 블록에 병렬로 적용하도록 구성됨 ― ; 및
    상기 하나의 컨볼루션 인코더에 커플링된 선택기 ― 상기 선택기는 상기 하나의 컨볼루션 인코더에 의해 수행된 병렬 컨볼루션 인코딩 동작들에 의해 각각 생성되는 복수의 컨볼루션 인코딩 동작 결과들을 상기 하나의 컨볼루션 인코더로부터 병렬로 수신하고, 상기 선택기는 상기 컨볼루션 인코더들 중 또다른 컨볼루션 인코더에 의해 수행되는 컨볼루션 인코딩 동작을 표시하는 선택 제어 신호를 수신함 ― 를 포함하는,
    원하는 컨볼루션 인코딩 동작을 복수의 입력 정보 비트들에 적용하기 위한 장치.
  2. 제1항에 있어서,
    상기 선택 제어 신호는 상기 또다른 컨볼루션 인코더에 의해 수행되는 상기 컨볼루션 인코딩 동작과 연관되는 최종 인코딩 상태를 표시하는,
    원하는 컨볼루션 인코딩 동작을 복수의 입력 정보 비트들에 적용하기 위한 장치.
  3. 제1항에 있어서,
    상기 첫번째-언급된 선택기로 상기 선택 제어 신호를 제공하기 위해 상기 또다른 컨볼루션 인코더 및 상기 첫번째-언급된 선택기에 커플링되는 추가 선택기를 포함하는,
    원하는 컨볼루션 인코딩 동작을 복수의 입력 정보 비트들에 적용하기 위한 장치.
  4. 제1항에 있어서,
    상기 선택기는 상기 원하는 컨볼루션 인코딩 동작으로부터 야기되는 인코딩된 복수의 비트들의 구성 컴포넌트를 제공하는 출력을 포함하는,
    원하는 컨볼루션 인코딩 동작을 복수의 입력 정보 비트들에 적용하기 위한 장치.
  5. 제4항에 있어서,
    상기 복수의 입력 정보 비트들은 상기 정보 비트들의 제 1 수 및 상기 블록들의 제 2 수로 구성되고,
    상기 제 2 수는 상기 제 1 수보다 더 적고,
    상기 복수의 입력 정보 비트들로부터 상기 인코딩된 복수의 비트들을 생성하기 위해 요구되는 상기 장치의 클록 사이클들의 수는 상기 제 1 수를 상기 제 2 수로 나눈 것과 동일한,
    원하는 컨볼루션 인코딩 동작을 복수의 입력 정보 비트들에 적용하기 위한 장치.
  6. 제4항에 있어서,
    상기 장치의 오직 한 클록 사이클만이 상기 복수의 입력 정보 비트들로부터 상기 인코딩된 복수의 비트들을 생성하기 위해 요구되는,
    원하는 컨볼루션 인코딩 동작을 복수의 입력 정보 비트들에 적용하기 위한 장치.
  7. 제1항에 있어서,
    상기 하나의 컨볼루션 인코더는 상기 병렬 컨볼루션 인코딩 동작들 각각을 상기 연관된 블록의 모든 정보 비트들에 병렬로 적용하는,
    원하는 컨볼루션 인코딩 동작을 복수의 입력 정보 비트들에 적용하기 위한 장치.
  8. 제7항에 있어서,
    상기 하나의 컨볼루션 인코더는 상기 병렬 컨볼루션 인코딩 동작들 각각이 예상(look ahead) 인코딩 기법을 실행하도록 구성되는,
    원하는 컨볼루션 인코딩 동작을 복수의 입력 정보 비트들에 적용하기 위한 장치.
  9. 원하는 컨볼루션 인코딩 동작을 복수의 입력 정보 비트들에 적용하기 위한 방법으로서,
    상기 정보 비트들을 복수의 정보 비트들의 블록들로 분할하는 단계;
    적어도 하나의 컨볼루션 인코딩 동작을 상기 정보 비트들의 블록들 각각에 병렬로 적용하는 단계 ― 상기 적용하는 단계는, 상호간에 서로 상이한 개별 초기 인코딩 상태들을 가지고, 각각의 대응하는 복수의 컨볼루션 인코딩 결과들을 생성하는, 복수의 컨볼루션 인코딩 동작들을 상기 블록들 중 하나에 병렬로 적용하는 단계를 포함함 ― ; 및
    상기 블록들 중 또다른 블록에 적용되는 컨볼루션 인코딩 동작에 기초하여 상기 컨볼루션 인코딩 결과들 중 하나를 선택하는 단계를 포함하는,
    원하는 컨볼루션 인코딩 동작을 복수의 입력 정보 비트들에 적용하기 위한 방법.
  10. 제9항에 있어서,
    상기 선택하는 단계는 상기 또다른 블록에 적용되는 상기 컨볼루션 인코딩 동작과 연관되는 최종 인코딩 상태에 기초하여 상기 하나의 컨볼루션 인코딩 결과를 선택하는 단계를 포함하는,
    원하는 컨볼루션 인코딩 동작을 복수의 입력 정보 비트들에 적용하기 위한 방법.
  11. 제9항에 있어서,
    상기 하나의 컨볼루션 인코딩 동작 결과는 상기 원하는 컨볼루션 인코딩 동작으로부터 야기되는 인코딩된 복수의 비트들의 구성 컴포넌트를 제공하는,
    원하는 컨볼루션 인코딩 동작을 복수의 입력 정보 비트들에 적용하기 위한 방법.
  12. 제9항에 있어서,
    상기 마지막-언급된 적용하는 단계는, 상기 병렬 컨볼루션 인코딩 동작들 각각에 대해, 상기 하나의 블록의 모든 정보 비트들에 상기 컨볼루션 인코딩 동작을 병렬로 적용하는 단계를 포함하는,
    원하는 컨볼루션 인코딩 동작을 복수의 입력 정보 비트들에 적용하기 위한 방법.
  13. 원하는 컨볼루션 인코딩 동작을 복수의 입력 정보 비트들에 적용하기 위한 장치로서,
    상기 정보 비트들을 복수의 정보 비트들의 블록들로 분할하기 위한 수단;
    적어도 하나의 컨볼루션 인코딩 동작을 상기 정보 비트들의 블록들 각각에 병렬로 적용하기 위한 수단 ― 상기 적용하기 위한 수단은, 상호간에 서로 상이한 개별 초기 인코딩 상태들을 가지고, 각각의 대응하는 복수의 컨볼루션 인코딩 결과들을 생성하는, 복수의 컨볼루션 인코딩 동작들을 상기 블록들 중 하나에 병렬로 적용하기 위한 수단을 포함함 ― ; 및
    상기 블록들 중 또다른 블록에 적용되는 컨볼루션 인코딩 동작에 기초하여 상기 컨볼루션 인코딩 결과들 중 하나를 선택하기 위한 수단을 포함하는,
    원하는 컨볼루션 인코딩 동작을 복수의 입력 정보 비트들에 적용하기 위한 장치.
  14. 제13항에 있어서,
    상기 선택하기 위한 수단은 상기 또다른 블록에 적용되는 상기 컨볼루션 인코딩 동작과 연관되는 최종 인코딩 상태에 기초하여 상기 하나의 컨볼루션 인코딩 결과를 선택하기 위한 수단을 포함하는,
    원하는 컨볼루션 인코딩 동작을 복수의 입력 정보 비트들에 적용하기 위한 장치.
  15. 제13항에 있어서,
    상기 하나의 컨볼루션 인코딩 동작 결과는 상기 원하는 컨볼루션 인코딩 동작으로부터 야기되는 인코딩된 복수의 비트들의 구성 컴포넌트를 제공하는,
    원하는 컨볼루션 인코딩 동작을 복수의 입력 정보 비트들에 적용하기 위한 장치.
  16. 제13항에 있어서,
    상기 마지막-언급된 적용하기 위한 수단은, 상기 병렬 컨볼루션 인코딩 동작들 각각에 대해, 상기 하나의 블록의 모든 정보 비트들에 상기 컨볼루션 인코딩 동작을 병렬로 적용하기 위한 수단을 포함하는,
    원하는 컨볼루션 인코딩 동작을 복수의 입력 정보 비트들에 적용하기 위한 장치.
  17. 원하는 컨볼루션 인코딩 동작을 복수의 입력 정보 비트들에 적용하기 위한 컴퓨터 프로그램 물건으로서,
    적어도 하나의 데이터 프로세서로 하여금 상기 정보 비트들을 복수의 정보 비트들의 블록들로 분할하게 하기 위한 코드;
    상기 적어도 하나의 데이터 프로세서로 하여금 적어도 하나의 컨볼루션 인코딩 동작을 상기 정보 비트들의 블록들 각각에 병렬로 적용하게 하기 위한 코드 ― 상기 적용은, 상호간에 서로 상이한 개별 초기 인코딩 상태들을 가지고, 각각의 대응하는 복수의 컨볼루션 인코딩 결과들을 생성하는, 복수의 컨볼루션 인코딩 동작들을 상기 블록들 중 하나에 병렬로 적용하는 것을 포함함 ― ; 및
    상기 적어도 하나의 데이터 프로세서로 하여금 상기 블록들 중 또다른 블록에 적용되는 컨볼루션 인코딩 동작에 기초하여 상기 컨볼루션 인코딩 결과들 중 하나를 선택하게 하기 위한 코드를 포함하는 컴퓨터-판독가능한 매체를 포함하는,
    컴퓨터 프로그램 물건.
  18. 제17항에 있어서,
    상기 적어도 하나의 데이터 프로세서로 하여금 선택하게 하기 위한 코드는 상기 적어도 하나의 데이터 프로세서로 하여금 상기 또다른 블록에 적용되는 상기 컨볼루션 인코딩 동작과 연관되는 최종 인코딩 상태에 기초하여 상기 하나의 컨볼루션 인코딩 결과를 선택하게 하는,
    컴퓨터 프로그램 물건.
  19. 제17항에 있어서,
    상기 하나의 컨볼루션 인코딩 동작 결과는 상기 원하는 컨볼루션 인코딩 동작으로부터 야기되는 인코딩된 복수의 비트들의 구성 컴포넌트를 제공하는,
    컴퓨터 프로그램 물건.
  20. 제17항에 있어서,
    상기 병렬로 적용하는 것은, 상기 병렬 컨볼루션 인코딩 동작들 각각에 대해, 상기 하나의 블록의 모든 정보 비트들에 상기 컨볼루션 인코딩 동작을 병렬로 적용하는 것을 포함하는,
    컴퓨터 프로그램 물건.
KR1020107014294A 2007-11-28 2008-11-28 분할된 병렬 인코딩 동작들을 가지는 컨볼루션 인코딩 KR101255749B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US99072207P 2007-11-28 2007-11-28
US60/990,722 2007-11-28
US12/323,365 US8156413B2 (en) 2007-11-28 2008-11-25 Convolutional encoding with partitioned parallel encoding operations
US12/323,365 2008-11-25
PCT/US2008/085070 WO2009070783A1 (en) 2007-11-28 2008-11-28 Convolutional encoding with partitioned parallel encoding operations

Publications (2)

Publication Number Publication Date
KR20100096211A true KR20100096211A (ko) 2010-09-01
KR101255749B1 KR101255749B1 (ko) 2013-04-17

Family

ID=40677018

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107014294A KR101255749B1 (ko) 2007-11-28 2008-11-28 분할된 병렬 인코딩 동작들을 가지는 컨볼루션 인코딩

Country Status (7)

Country Link
US (1) US8156413B2 (ko)
EP (1) EP2215723B1 (ko)
JP (1) JP5185392B2 (ko)
KR (1) KR101255749B1 (ko)
CN (1) CN101874353B (ko)
TW (1) TW200935755A (ko)
WO (1) WO2009070783A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9680562B2 (en) 2014-09-11 2017-06-13 Hughes Network Systems, Llc Inroute burst header in a VSAT system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4575770A (en) * 1983-12-05 1986-03-11 Rca Corporation Video disc data systems for interactive applications
DE3730547A1 (de) * 1987-09-11 1989-03-23 Ant Nachrichtentech Verfahren zur aufbereitung von daten
JP3203289B2 (ja) * 1994-03-09 2001-08-27 株式会社ケンウッド 並列処理復号器の時系列同期回路
JP3217307B2 (ja) * 1997-11-18 2001-10-09 沖電気工業株式会社 無線送信装置
US6738942B1 (en) * 2000-06-02 2004-05-18 Vitesse Semiconductor Corporation Product code based forward error correction system
US7242726B2 (en) * 2000-09-12 2007-07-10 Broadcom Corporation Parallel concatenated code with soft-in soft-out interactive turbo decoder
US6701482B2 (en) * 2001-09-20 2004-03-02 Qualcomm Incorporated Method and apparatus for coding bits of data in parallel
US6954885B2 (en) 2001-12-14 2005-10-11 Qualcomm Incorporated Method and apparatus for coding bits of data in parallel
CN100444524C (zh) * 2002-08-01 2008-12-17 扎班纳数字资金有限责任公司 用于通信系统中编码数据位的方法、设备和系统
CN101507120A (zh) * 2006-08-22 2009-08-12 松下电器产业株式会社 并行剩余运算器和并行剩余运算方法

Also Published As

Publication number Publication date
CN101874353A (zh) 2010-10-27
US20090144604A1 (en) 2009-06-04
CN101874353B (zh) 2013-11-20
TW200935755A (en) 2009-08-16
US8156413B2 (en) 2012-04-10
EP2215723B1 (en) 2019-04-24
JP5185392B2 (ja) 2013-04-17
JP2011505109A (ja) 2011-02-17
WO2009070783A1 (en) 2009-06-04
EP2215723A1 (en) 2010-08-11
KR101255749B1 (ko) 2013-04-17

Similar Documents

Publication Publication Date Title
JP4292298B2 (ja) 並列畳み込み符号器
EP1175014A2 (en) Pipelined architecture to decode parallel and serial concatenated codes
WO2008149290A1 (en) Multiple access for parallel turbo decoder
JP2002135850A (ja) 移動通信システムにおける伝送構成方法
US20130322501A1 (en) Encoding/decoding processor and wireless communication apparatus
JPWO2019130475A1 (ja) 通信路分極を用いた誤り訂正符号化方法および装置、復号方法および装置
WO2019001436A1 (zh) 一种Polar码的编码方法及装置
JP2015089132A (ja) 最大遷移ハミングコード
WO2016050323A1 (en) Method and device for calculating a crc code in parallel
CN101371448A (zh) 快速编码和解码方法及相关设备
US8390485B2 (en) Subset transform interleaver
KR101255749B1 (ko) 분할된 병렬 인코딩 동작들을 가지는 컨볼루션 인코딩
CN112332857A (zh) 一种用于ldpc码的循环移位网络系统及循环移位方法
CN108628698B (zh) 计算crc编码的方法和装置
CN102377438B (zh) 信道译码方法和咬尾卷积译码器
CN110730003B (zh) 一种ldpc编码方法及ldpc编码器
Muhammad et al. Low complexity FPGA implementation of register exchange based viterbi decoder
CN111162800A (zh) 并行卷积编码方法及编码器
Jain et al. FPGA Implementation of Rate Matching in 5G NR PDSCH
KR20020011499A (ko) 가변 데이터 레이트 매칭 방법
KR101114667B1 (ko) 비터비 복호 장치 및 방법
KR101290472B1 (ko) 이동 통신 시스템에서 병렬 복호 방법 및 장치
CN109474376B (zh) 编码方法及装置
CN109474380B (zh) 编码方法及装置
Mouhoubi et al. Low Latency Architecture Design for Decoding 5G NR Polar Codes

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180329

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee