KR20160006249A - 순환 버퍼를 포함하는 장치 및 순환 버퍼에 리던던시 버전들을 할당하는 방법 - Google Patents

순환 버퍼를 포함하는 장치 및 순환 버퍼에 리던던시 버전들을 할당하는 방법 Download PDF

Info

Publication number
KR20160006249A
KR20160006249A KR1020157036856A KR20157036856A KR20160006249A KR 20160006249 A KR20160006249 A KR 20160006249A KR 1020157036856 A KR1020157036856 A KR 1020157036856A KR 20157036856 A KR20157036856 A KR 20157036856A KR 20160006249 A KR20160006249 A KR 20160006249A
Authority
KR
South Korea
Prior art keywords
bits
block
parity bits
systematic
circular buffer
Prior art date
Application number
KR1020157036856A
Other languages
English (en)
Other versions
KR101701083B1 (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 KR20160006249A publication Critical patent/KR20160006249A/ko
Application granted granted Critical
Publication of KR101701083B1 publication Critical patent/KR101701083B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • 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/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2703Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • 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
    • 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/6356Error control coding in combination with rate matching by repetition or insertion of dummy data, i.e. rate reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • H04L1/1819Hybrid protocols; Hybrid automatic repeat request [HARQ] with retransmission of additional or different redundancy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Information Transfer Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Detection And Correction Of Errors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

각각이 길이 Kstream을 갖는 체계적 비트들, 제1 블록의 패리티 비트들 및 제2 블록의 패리티 비트들을 출력하는 인코더; 상기 체계적 비트들, 제1 블록의 패리티 비트들 및 제2 블록의 패리티 비트들을 수신하고 상기 체계적 비트들, 제1 블록의 패리티 비트들 및 제2 블록의 패리티 비트들을 개별적으로 인터리빙하는 레이트 매칭 회로; 데이터 출력을 시작하도록 데이터 스트림 내에서 비트 위치에 대응하는 리던던시 버전(RV)들을 정의하는 논리 회로 - 상기 RV들은 위치
Figure pat00011
(여기서, i=0, 1,..., Y-1)에서 시작하고, C는 2개의 인접 RV들 사이의 열들의 수를 나타내고, Y는 정의된 RV들의 수이고, σ는 제1 RV(RV0)의 시작 위치의 열 인덱스를 나타내고, 상기 스트림은 상기 인터리빙된 체계적 비트들 및 인터리빙되고 인터레이싱된 제1 및 제2 블록의 패리티 비트들, 및 더미 비트들을 포함함 - ; 및 특정 RV에서 시작하는 비 더미(non-dummy) 비트들을 수신하고 상기 비 더미 비트들을 전송하는 전송 회로를 포함하는 장치가 제공된다.

Description

순환 버퍼를 포함하는 장치 및 순환 버퍼에 리던던시 버전들을 할당하는 방법{AN APPARATUS COMPRISING A CIRCULAR BUFFER AND METHOD FOR ASSIGNING REDUNDANCY VERSIONS TO A CIRCULAR BUFFER}
본 발명은 일반적으로 통신 시스템에 관한 것으로, 특히 통신 시스템 내에서 리던던시 버전들을 순환 버퍼(circular buffer)에 할당하는 방법 및 장치에 관한 것이다.
통신 시스템에서, 오류 제어 기술은 채널을 통한 전송 중에 신호를 손상으로부터 보호하기 위해 사용된다. 이러한 오류 제어 기술의 일부로, 코드워드가 정보 블록마다 생성된다. OTA(over-the-air) 전송 레이트에 일치시키기 위해, 코드워드는 물리적 채널을 통해 전송되기 전에 레이트 매칭 알고리즘(rate matching algorithm)을 통해 리사이징된다. 레이트 매칭 알고리즘은 코드워드의 펑처링(puncturing) 또는 반복을 통해 채널로 전송될 원하는 갯수의 비트를 제공한다. 레이트 매칭 알고리즘은 시스템 성능 및 구현 효율에 큰 영향을 미칠 수 있다는 점에서 중요하다.
시스템이 순방향 오류 정정(forward error correction: FEC)만을 이용하면, 주어진 하나의 정보 블록에 대해 1회의 전송만이 필요하고 레이트 매칭 알고리즘은 한 버전의 코드워드만을 제공한다. 시스템이 하이브리드 자동 재전송 요구(Hybrid Automatic Repeat reQuest: HARQ) 동작을 이용하면, 주어진 하나의 정보 블록에 대해 다중 전송이 필요할 수 있고 레이트 매칭 알고리즘은 서로 다른 버전의 코드워드를 제공하여야 할 수도 있다(예컨대, 점증 리던던시 HARQ에 대해). HARQ는 정보 블록에 대해 1회의 전송만이 이용되면 FEC로 변질된다.
레이트 매칭 기능을 수행하는 한가지 방법은 시스템이 직면할 수 있는 모든 정보 블록 크기 및 코드 레이트에 대한 펑처링/반복 패턴을 정의하는 것이다. 그러나, 이 방법은 유연성이 없다. 또한, 이 시스템이 3GPP 통신 시스템에서와 같이 수천의 정보 블록 크기 및 코드 레이트 조합을 포함하면 비실용적이 된다.
레이트 매칭을 수행하는 다른 방법은 코드워드 비트들을 통해 하나씩 진행하고 코드워드 비트가 펑처링(제거)되어야 하는지 반복되어야 하는지 결정하는 규칙을 정의하는 것이다. 이러한 방법은 유연성의 장점을 갖고 3GPP Rel-99에 정의된다. 그러나, 이러한 방법은 구현 비효율성을 갖는다. 또한, 주어진 정보 블록과 연관된 전송이 IR HARQ에 대해 중첩하지 않음(즉, 직교성)을 보장할 방법이 없다. 따라서, 시스템 성능이 나빠질 수 있다.
이와 달리, 순환 버퍼 기반 레이트 매칭 알고리즘은 낮은 구현 복잡도로 우수한 성능을 제공하도록 설계될 수 있다. 이 방법에서, 코드워드 비트들은 순환 버퍼를 형성하도록 재정렬된다. Ndesired 코딩된 비트들이 전송을 위해 필요하면, 길이-Ndesired 블록의 연속 비트들이 순환 버퍼(순환 버퍼의 최종 비트에 도달하면 처음으로 순환)로부터 취해진다. 따라서, 펑처링 및 반복은 단일 방법을 이용하여 달성될 수 있다. 순환 버퍼링 기술은 유연성, 성능 및 구현 용이성에서 이점이 있다.
HARQ 동작에서 서로 다른 코드워드 버전을 실현하기 위해, 리던던시 버전(RV)과 같은 파라미터는 순환 버퍼 기반 레이트 매칭 알고리즘으로의 입력으로 사용될 수 있다. 리던던시 버전들은 전송을 위한 코드워드의 슬라이스를 선택하기 위한 순환 버퍼 내 시작 위치를 정의할 수 있다.
종래 기술에서, RV들의 허용가능한 시작 위치는 재정렬 후 코드워드 비트 시퀀스를 포함하는 순환 버퍼에 대해 균일하게 분배되고, 이것은 HARQ의 각 전송을 구현하는 것을 어렵게 한다. 따라서, 순환 버퍼 기반 레이트 매칭 알고리즘의 효율을 개선하는 통신 시스템 내에서 순환 버퍼에 리던던시 버전을 할당하는 방법 및 장치가 필요하다.
도 1은 종래 송신기의 블록도이다.
도 2는 서브 블록 인터리빙 및 인터레이싱을 도시한다.
도 3은 송신기의 블록도이다.
도 4 및 도 5는 서브 블록 인터리빙 및 인터레이싱을 도시한다.
도 6은 매트릭스 포맷으로 제시될 수 있는 더미 제거 순환 버퍼를 도시한다.
도 7은 더미 비트들을 갖는 리던던시 버전 순환 버퍼를 도시한다.
도 8은 가상 순환 버퍼의 사용을 도시한다.
도 9는 순환 버퍼링을 이용한 제1단 레이트 매칭을 도시한다.
도 10은 체계적 비트 펑처링을 도시한다.
도 11은 순환 버퍼내 체계적 비트들의 소부분의 스키핑을 도시한다.
도 12는 도 3의 송신기의 동작을 도시하는 흐름도이다.
도 13은 도 3의 송신기의 동작을 도시하는 흐름도이다.
상기 필요성을 해결하기 위해, 통신 시스템 내 순환 버퍼로 리던던시 버전들을 할당하는 방법 및 장치가 제공된다. 동작 동안, 리던던시 버전만이 구성 서브블록 인터리버의 최상단(즉, 제1 행)에서 시작하도록 정의되는 순환 버퍼가 생성된다. 예컨대, 총 8개의 리던던시 버전의 경우, 이 리던던시 버전은 위치
Figure pat00001
(여기서, i=0, 1, ..., 7)에 위치할 것이고, 여기서 σ은 제1 RV(RV0)의 위치의 서브블록 인터리버 열 인덱스를 나타낸다.
상기와 같이 RV 위치들의 정의로 HARQ의 구현이 용이해진다. 특히, 이 기술은 순환 버퍼 레이트 매칭(RM)으로 다수의 입력 블록 크기를 지원할 때 매우 유용한 메모리없는 RV 정의를 허용한다. 특히, 상기 RV 배치는 원하는 수의 비트가 순환 버퍼에서 임의의 RV로부터 시작하여 인코더 출력 스트림으로부터 직접 선택될 수 있게 하는 가상 순환 버퍼(즉, 물리적 순환 버퍼가 구현되지 않음)의 구현을 허용한다.
본 발명은 리던던시 버전을 순환 버퍼에 할당하는 방법을 포함한다. 이 방법은 체계적 비트들, 제1 블록의 패리티 비트들, 및 제2 블록의 패리티 비트들을 수신하는 단계를 포함한다. 체계적 비트들, 제1 블록의 패리티 비트들, 및 제2 블록의 패리티 비트들은 모두 더미 비트를 포함한다. 체계적 비트들, 제1 블록의 패리티 비트들, 및 제2 블록의 패리티 비트들은 개별적으로 블록 인터리빙되고 제1 블록의 패리티 비트들은 제2 블록의 패리티 비트들과 인터레이싱되어 인터레이스 패리티 비트들을 생성한다. 인터리빙된 체계적 비트들은 인터레이스 패리티 비트들의 앞에 부가되어 순환 버퍼를 생성하고 리던던시 버전들은 순환 버퍼의 특정 행에서 시작하도록 정의된다. 리던던시 버전(RV) 및 원하는 비트의 수가 수신되면, 원하는 비트의 수가 RV 비트 위치에서 시작하여 출력된다.
본 발명은 체계적 비트들, 제1 블록의 패리티 비트들, 및 제2 블록의 패리티 비트들을 출력하는 인코더를 포함하는 장치를 포함한다. 체계적 비트들, 제1 블록의 패리티 비트들, 및 제2 블록의 패리티 비트들을 수신하고 더미 비트들을 갖는 순환 버퍼를 생성하는 레이트 매칭 회로가 제공된다. 순환 버퍼의 특정 행은 리던던시 버전(RV)으로 사용되고, 레이트 매칭 회로는 특정 RV에서 시작하여 순환 버퍼로부터 송신기로 비 더미(non-dummy) 비트들을 출력한다. 최종적으로, 비 더미 비트들을 수신하고 비 더미 비트들을 송신하는 전송 회로가 제공된다.
마지막으로, 본 발명은 각 길이가 Kstream인 체계적 비트들, 제1 블록의 패리티 비트들, 및 제2 블록의 패리티 비트들을 출력하는 인코더를 포함하는 장치를 포함한다. 이 장치는 체계적 비트들, 제1 블록의 패리티 비트들, 및 제2 블록의 패리티 비트들을 수신하고 체계적 비트들, 제1 블록의 패리티 비트들, 및 제2 블록의 패리티 비트들을 인터리빙하는 레이트 매칭 회로를 추가적으로 포함한다. 데이터 출력을 시작하는 데이터 스트림 내 위치에 대응하는 리던던시 버전(RV)을 정의하는 논리 회로가 제공된다. 8개의 RV들이 사용되면, RV들은 위치
Figure pat00002
(여기서, i=0, 1, ..., 7)에 있고, 여기서 σ는 제1 RV(RV0)의 시작 위치의 서브블록 인터리버 열 인덱스를 나타낸다. 이 스트림은 인터리빙된 체계적 비트들, 및 인터리빙되고 인터레이싱된 제1 및 제2 블록의 패리티 비트들을 포함한다. 최종적으로, 특정 RV에서 시작하는 비 더미 비트들을 수신하고 비 더미 비트들을 송신하는 전송 회로가 제공된다.
이제 도면을 참조하면, 동일한 참고번호는 동일한 컴포넌트를 나타내는데, 도 1 및 도 2는 순환 버퍼 기반 레이트 매칭 방법의 기능을 도시한다. 특히, 도 1은 송신기의 블록도이고 도 2는 서브블록 인터리빙 및 인터레이싱을 나타낸다. 송신기(100)의 동작 동안에, 인코더(101)는 체계적 비트 스트림 및 적어도 2개의 패리티 스트림들을 출력한다. 이 특정예에서, 인코더(101)는 3GPP 표준화에서 채택된 레이트-1/3 터보 코더를 포함한다. 다음 개념은 다른 코드 레이트를 갖는 터보 코드들, 저밀도 패리티 체크(low-density parity check: LDPC) 코드들, 컨볼루션 코드들 등과 같은 다른 종류의 오류 정정 코드에 적용될 수 있음에 유의한다.
인코더(101)는 체계적 비트 스트림 및 2개의 패리티 스트림들에 대응하는 3개의 스트림들을 출력한다. 일부 경우에 체계적 스트림은 예컨대 3GPP 터보 코드에 대한 테일 비트들에 기인하여 비체계적인 수개의(예컨대, 4개) 비트를 포함할 수 있다. (테일 바이팅 인코딩이 사용되는 경우 테일 비트들은 없다.) 이 스트림들은 또한 터보 인코딩 이전에 삽입되는 필러(filler) 비트들을 포함할 수 있다. 간단하게 하기 위해, 체계적 스트림내 모든 비트들은 체계적 비트들이라 하고, 각 패리티 스트림 내 모든 비트는 각각 패리티 0 비트 및 패리티 1 비트라 한다.
레이트 매칭 회로(102)는 인코더(101)로부터 출력되는 스트림들을 수신하고 각 스트림에 대해 개별적으로 서브블록 인터리빙을 수행한다. 이것은 도 2에 도시되고 여기서 S', P0' 및 P1'는 각각 체계적 비트 스트림, 패리티 0 비트 스트림 및 패리티 1 비트 스트림이다. 각 스트림은 S, P0 및 P1을 생성하기 위해 자신의 서브블록 인터리버(도 1 또는 2에 도시되지 않음)로 재정렬(인터리빙)된다. P0 및 P1은 서로 인터레이싱되어 인터레이싱된 P0 및 P1 부(201)를 생성한다. 단일 출력 버퍼(105)(순환 버퍼라고도 함)는 시작부에 재정렬된 체계적 비트들 S 다음에 인터레이싱된 P0 및 P1 부(201)를 저장함으로써 형성된다.
원하는 코드 레이트의 동작의 경우, 전송을 위해 선택될 코드 비트 Ndesired의 수가 계산되어 입력으로서 논리 회로(104)로 전달된다. 논리 회로(104)는 임의의 시작점에서 순환 버퍼(순환 버퍼의 최종 비트가 초과되면 처음으로 순환)의 시퀀스로부터 길이-Ndesired 블록의 연속 비트를 단순히 판독한다. 따라서, 펑처링 및 반복이 단일 방법을 이용하여 달성될 수 있다. 순환 버퍼링 기술은 (달성되는 코드 레이트에서의) 유연성 및 (스트림 크기에서의) 입상(granularity)에서 이점을 갖는다. 순환 버퍼 레이트 매칭은 서브블록 인터리버가 적절히 설계되면 원하는 코드 레이트의 동작에 상관없이 코드 트렐리스에 대해 대략 균일하게 분포되는 패리티 비트들을 선택한다.
도 3은 송신기(300)의 블록도이다. 송신기(300)는 인코더(301) 및 레이트 매칭 회로(303)를 포함한다. 레이트 매칭 회로(303)는 추가적으로 논리 회로(305) 및 메모리(307)를 포함한다. 논리 회로(305)는 마이크로프로세서, 마이크로컨트롤러, 디지털 신호 프로세서(DSP)들 또는 당업자에게 알려진 이러한 다른 장치들인 것이 바람직하다. 송신기(300)의 논리 회로(305)의 특정 동작/기능은 소프트웨어 명령 및 루틴의 실행에 의해 결정된다. 메모리(307)는 순환 버퍼로 사용되는 랜덤 액세스 메모리(RAM), 다이나믹 랜덤 액세스 메모리(DRAM), 및/또는 ROM(read-only memory) 또는 그 균등물을 포함한다. 인코더(301)는 레이트-1/3 3GPP 터보 코더인 것이 바람직하지만, 송신기(300)를 동작하기 위한 여기 설명된 기술은 다른 코드 레이트를 갖고 테일 비트들을 갖거나 갖지 않는 터보 코딩을 수행하는 터보 코더, 필러 비트 삽입을 갖거나 갖지 않는 테일 바이팅, 바이너리(binary) 또는 듀오 바이너리 터보 코더 등을 포함하지만 이에 한정되지 않는 다른 인코더에 적용될 수 있다.
동작 동안에 인코더(301)는 체계적 비트 스트림 및 2개의 패리티 스트림에 대응하는 3개의 스트림들을 출력한다. 논리 회로(305)는 인코더(301)로부터 출력된 스트림을 수신하고 각 스트림에 대해 개별적으로 서브블록 인터리빙을 수행한다. 논리 회로(305)는 이후 P0' 및 P1'를 인터레이싱한다. 단일 출력 버퍼(307)(순환 버퍼)는 시작부의 재정렬된 체계적 비트 S 다음의 인터레이스 P0 및 P1를 저장함으로써 형성된다.
서브블록 인터리버가 임의의 퍼뮤터(permuter)일 수 있지만, 보통 Nr 행 및 Nc 열의 직사각형 인터리버(블록 인터리버라고도 함)가 간단히 하기 위해 사용된다. 각 스트림의 스트림 크기 Kstream이 직사각형 인터리버 크기 Nr×Nc와 같다면(즉, 블록이 완전히 채워짐) 동작은 간단하다. 그러나, 스트림 크기는 종종 Nr×Nc 보다 작고, 따라서 블록을 채우기 위해(Nr×Nc-Kstream) 더미 비트들이 필요하다.
순환 버퍼를 형성하는 이 프로세스는 도 4 및 도 5에 도시되는데 각 스트림에 4개의 더미 비트가 삽입된다. 도 4를 참조하면, 더미 비트들(407)이 추가된 체계적 비트들(401)은 블록 인터리빙되어 퍼뮤트된 체계적 비트들 S(402)를 생성한다. 유사한 방식으로 패리티 비트들 P0' 및 P1'(403)(더미 비트 추가)는 인터리빙되어 패리티 비트들 P0 및 P1(404)를 생성한다. 더미 비트들은 블록 인터리버가 각 스트림에 대해 완전히 채워지도록 스트림에 부가된다. P0 및 P1는 인터레이싱되어 인터레이싱된 P0 및 P1 부(405)를 생성한다. 2개의 매트릭스 S 및 P0 -1은 도 5에 도시된 바와 같이 조합되어 버퍼(307)에 저장된다. 버퍼(307)는 매트릭스의 최상단에서 시작하여 열방향으로 판독된다. 상기 설명에서 더미 비트들이 스트림 다음에 삽입되지만, 임의의 실시예에서, 이들은 스트림 전에 삽입될 수도 있다.
송신기(300)의 동작 동안에, 전송을 위해 선택되는 코딩된 비트들의 수 Ndesired가 계산되어 논리 회로(305)로 전달된다. 논리 회로(305)는 임의의 시작점에서 출력 버퍼(307)(출력 버퍼의 최종 비트가 초과되면 처음으로 순환)로부터 길이-Ndesired 블록의 연속 비트를 단순히 판독한다. HARQ(Hybrid Automatic Repeat reQuest) 동작의 경우, 파라미터(리던던시 버전(RV))가 버퍼(307) 내 시작점을 정의하기 위해 논리 회로(305)로 제공되어 버퍼의 서로 다른 섹션들이 전송을 위해 선택될 수 있도록 한다. FEC가 1회의 전송만을 갖는 HARQ와 등가이므로, FEC는 RV 값으로 정의될 수도 있다. 따라서, 논리 회로(305)는 RV 값과 전송을 위해 선택되는 코드 비트의 수 Ndesired를 수신한다. Ndesired 비트들은 RV에 의해 정의된 위치에서 시작하여 버퍼(307)로부터 판독된다. 이 비트들은 일반적으로 이후 변조 및 전송을 위해 송신기(311)로 출력된다.
S에 대한 특정 포맷 및 인터레이싱된 P0 및 P1가 설명의 목적으로 위에서 주어지고 여러 방식으로 포맷될 수 있음에 유의한다. 예컨대, 순환 버퍼가 단일 차원 어레이를 이용하여 표현되지만, 수학적 목적상 2차원 매트릭스 포맷을 이용하는 것이 종종 유용하다.
더미 비트들이 순환 버퍼에서 유지되면, 더미 삽입(dummy-padded) 순환 버퍼라고 한다. 더미 삽입 순환 버퍼의 크기는 입력 스트림 크기 및 삽입된 더미 비트의 총 갯수의 합과 같다. 컨텍스트로부터 명백하듯이, 더미 삽입 순환 버퍼는 도 5에 도시된 매트릭스 포맷으로 되거나 도 2에 도시된 시퀀스 포맷(즉, 단일 차원 어레이 또는 데이터 스트림)으로 될 수 있다. 더미 비트들이 제거되면, 더미 제거(dummy-removed) 순환 버퍼라고 한다. 더미 제거 순환 버퍼의 크기는 입력 스트림 크기들의 합과 같다. 마찬가지로, 더미 제거 순환 버퍼는 더미 비트가 제거된 곳에서 불연속이 존재하는 도 6에서와 같은 매트릭스 포맷이나 시퀀스 포맷으로 제시될 수 있다. 종래의 RV들은 더미 제거 순환 버퍼에 대해 대략 균일하게 분포되는데, 이것은 인코더 출력 스트림에서 정확한 RV 시작 위치가 각 경우에 대한 사소하지 않은 동작을 이용하여 계산될 필요가 있으므로 HARQ의 각 전송을 구현하는 것을 어렵게 한다. 이 문제를 해결하기 위해, 더미 삽입 순환 버퍼(307)는 리던던시 버전에 대한 시작 위치를 정의하기 위해 사용될 수 있다.
다음 텍스트는 레이트 매칭 기술의 이후 설명에서 유용할 수 있다.
■ Kinfo는 정보 블록 크기(또는 메시지 패킷의 길이)를 가리킨다.
■ KFEC는 FEC 인코더에 의해 지원되는 입력 블록 크기를 가리킨다(KFEC는 바이너리 터보 코드에 대한 인터리버 크기와 같고 듀오 바이너리 터보 코드에 대한 인터리버 크기의 2배와 같다.)
■ Kfiller는 FEC 인코더에 대해 지원되는 입력 크기를 얻기 위해 정보 블록에 부가되는 필러 비트의 수를 가리킨다. Kfiller=KFEC-Kinfo.
■ Kstream=K는 스트림 길이라 하고 이것은 터보 코드에서 사용되는 트렐리스(trellis) 종료 방법에 따라 KFEC 보다 약간 더 크다. 3GPP 터보 코드의 경우, 제1 및 제2 인코더들로부터의 체계적 비트들 및 패리티 비트들로 구성된 각각의 길이가 Kstream=KFEC+4인 3개의 스트림이 있고, 12개의 테일 비트가 균일하게 3개의 스트림으로 분포된다.
■ Nr은 순환 버퍼에서 사용되는 서브블록 인터리버에서의 행의 수를 가리킨다.
■ Nc는 순환 버퍼에서 사용되는 서브블록 인터리버에서의 열의 수를 가리킨다.
■ Krect=Nr×Nc는 순환 버퍼에서 사용되는 서브블록 인터리버의 차원이다. 일반적으로, 필러 비트가 레이트 매칭 알고리즘의 일부로서 버려지면 KFEC보다 크거나 같도록 선택될 수도 있지만 Krect는 Kstream 보다 크거나 같도록 선택된다.
RV 정의
예시를 위해, 서브블록 인터리버가 30개의 열을 갖고 8개의 RV가 정의될 필요가 있는 경우를 고려한다. 이 경우, 도 7의 버퍼는 8개의 RV로 균일하게 나누어질 수 없는 90개의 열을 가질 수 있다. 인코더 출력 스트림에서 각 RV의 시작점을 찾기가 어렵다(RV0가 항상 순환 버퍼의 처음에서 시작하면 RV0 제외). 8개의 균일하게 분포된 RV들이 필요하다고 가정하면, RVi의 시작점은, 더미 비트(즉, 더미 제거 순환 버퍼)를 포함하지 않는다면 Kstream×3/8×i(여기서, i=0, 1,..., 7)이다(필요하면, 반올림, 내림, 올림과 같은 연산을 통해 정수화). 이와 달리, 더미 비트들이 포함되면(즉, 더미 삽입 순환 버퍼), RVi의 시작점은 Nr×Nc×3/8×i=Nr×90/8×i 이다(필요하면, 반올림, 내림, 올림과 같은 연산을 통해 정수화). 어느 경우든지, 균일하게 분포된 RV 시작 위치를 원한다면 7개의 RV 시작점은 거의 언제나 Nr×90 직사각형의 중간에 위치한다.(해법은 모든 7개의 RV 시작점을 Nr×30 직사각형의 최상단 행에 위치하게 하여 버퍼에서 RV의 약간 불균일한 분포가 되게 하는 것이다.) 30열 서브블록 인터리버들은 3GPP LTE(Long Term Evolution) 표준에 적용되면 다음에 유의한다.
● RV 시작점이 저장되면, 총 188×7개의 시작점이 저장될 필요가 있어 메모리가 필요하다. 188개의 QPP 인터리버 크기와 각 크기에 대해 저장될 필요가 있는 7개의 RV가 있음에 유의한다.
● RV 시작점이 작동중에 계산되면, 체계적 비트들의 직사각형 또는 패리티-0/패리티-1 직사각형 내에 한 지점의 행 및 열 인덱스를 찾기 위해 하드웨어에서 2가지 어려운 동작이 프로그램될 필요가 있다. 예컨대, RV가 체계적 스트림 내 L번째 인덱스에서 시작하면, 2가지 동작은 다음과 같다.
○ 열 인덱스가 0에서 시작한다고 가정하면 열 인덱스=floor(L/_Nr)을 구하기 위한 나눗셈. Nc가 30으로 고정되면 Nr이 Kstream과 함께 변하고 Nr이 아마도 2의 거듭제곱이 아니므로, 이 나눗셈은 하드웨어에서 간단하지 않다.
○ 행 인덱스=mod(L, Nc)=mod(L, 30)을 구하기 위한 모듈로(modulo). 30은 2의 거듭제곱이 아니므로, 모듈로 연산도 하드웨어에서 간단하지 않다.
Nc=30을 이용하는 것은 RV들을 찾는 어려움에 상당히 기여한다. 대신에, 버퍼(307)에서 전체 갯수의 열을 균일하게 분포된 RV들을 갖도록 지원되는 RV들의 총 갯수의 배수가 되도록 하는 것이 바람직하다(RV가 여전히 불균일하게 정의될 수 있더라도). 예컨대, 서브블록 인터리버는 8개의 RV가 정의되어야 할 때 32개의 열을 사용할 수 있다. 종종 2c개의 RV가 정의될 필요가 있다(c는 정수). 따라서, Nc=2d를 이용하는 것이 편리하다(d는 c보다 크거나 같은 정수). 복잡도를 더 줄이고 더미 비트의 양을 최소화하기 위해, 시스템의 모든 정보 블록 크기에 대해 동일한 값 d를 사용하는 것이 바람직하다. 예컨대, 상수 d=5(따라서, Nc=32개의 열)가 3GPP LTE의 모든 정보 블록 크기에 대해 사용될 수 있다.
또한, 균일하게 분포된 RV들은 더미 비트가 RV의 시작 위치를 정의하기 전에 버려지지 않으면 구성 서브블록 인터리버의 열의 최상단(즉, 제1 행)에서 항상 시작하도록 정의될 수 있어서, 상기 나눗셈 및 모듈로와 같은 복잡한 연산을 피할 수 있다.
열간(inter-column) 퍼뮤테이션 패턴={0, 16, 8, 24, 4, 20, 12, 28, 2, 18, 10, 26, 6, 22, 14, 30, 1, 17, 9, 25, 5, 21, 13, 29, 3, 19, 11, 27, 7, 23, 15, 31}을 갖는 Nc=32 서브블록 인터리버가 사용되면, 동일 갯수의 열이 모든 Kstream에 대해 사용되는데, 여기서 행의 수가 Kstream과 함께 변하고,
Figure pat00003
이다. RV들은 보통 대략적으로 균일한 섹션들로 버퍼(307)를 분할할 필요가 있으므로, 더미 제거 순환 버퍼가 사용되면 각 스트림 크기에 대한 RV 정의에서 불균일성을 모델화하기 위해 추가 계산 오버헤드가 필요하다.
분명하게 하기 위해, RV들의 수=8, 서브블록 인터리버에서 열의 수 Nc=32, 입력 스트림 크기는 Kstream, 길이-32 열 퍼뮤테이션이 S, P0 및 P1의 서브블록 인터리빙에서 사용되는 경우를 고려한다.
도 6은 8개의 RV가 정의된 더미 제거 순환 버퍼(즉, 더미 비트 제거후)를 도시한다. 더미 비트가 버려지는 곳에서 불연속이 있고, 시퀀스 포맷의 더미 제거 순환 버퍼(버퍼(307)에서 사용가능)가 매트릭스 요소를 좌측 최상단 코너로부터 전방으로 열방향으로 판독하여 얻어진다. 직사각형에서 RV 분포의 규칙성의 부재는 임의의 RV 값이 RM 블록으로 입력될 수 있는 HARQ 동작에서의 어려움을 야기한다. RV의 시작점에 대한 행 및 열 인덱스는 스트림 크기(및 더미 비트의 수)에 기초하여 계산되어야 하고, 이에 의해 하드웨어가 복잡하게 된다.
순환 버퍼를 이용한 HARQ 동작을 용이하게 하는 다른 방법에 대해 설명한다. 이 경우, 더미 비트들은 도 7에 도시된 바와 같이 RV들이 정의된 후에 버려진다. 실제로, 더미 비트들이 순환 버퍼에 남아있고(더미 삽입 순환 버퍼), 더미 삽입 순환 버퍼 크기가 8의 배수이므로, 임의의 스트림 크기 Kstream에 대해 동일하게 이격된 8개의 RV를 정의하는 것이 가능하다. 특히, 8개의 RV는 서브블록 인터리버 열의 최상단에서 시작하도록 정의될 수 있다. 일반적으로 서브블록 인터리버의 제1 행의 임의의 위치(즉 열의 최상단)에 RV를 할당하는 것이 편리하다. 예컨대, 8개의 RV는 도 7(Nc=32)에서 다음 8개의 열 2, 14, 26, 38, 50, 62, 74, 86의 최상단에서 시작할 수 있다. 시퀀스 포맷의 더미 삽입 순환 버퍼에서 위치의 면에서 볼 때, 리던던시 버전은 위치
Figure pat00004
(여기서, i=0, 1,..., 7)에서 시작하는데, 여기서 σ는 제1 RV(RV0)의 시작 위치의 열 인덱스를 나타낸다.
이 RV 정의는 이전의 RV의 시작 위치를 알지 못한 채 임의의 RV로부터 원하는 코드 비트를 출력하는 것을 시작하는 것이 용이하다는 의미에서 더미 삽입 순환 버퍼에 대해 메모리가 없는(memoryless) 것임에 유의한다. 더미 비트들은 비트들이 더미 삽입 순환 버퍼로부터 판독되고 있을 때 버려진다. 총 열의 갯수가 지원되는 RV의 총 갯수의 배수가 아니더라도, 예컨대 8개의 RV에 대해 Nc=30인 경우, RV들은 여전히 90개의 열 중 임의의 8개의 최상단에서 시작하도록 정의될 수 있다.
열 최상단이 RV의 시작 위치를 정의하는 간단한 방법으로 상기 논의에서 사용되지만, 다른 편리한 위치가 역시 사용될 수 있다. 예컨대, RV들의 시작 위치는 모두 더미 삽입 순환 버퍼의 특정 행 r에 위치한다(0≤r<Nr).
더미 삽입 순환 버퍼에 대해 RV들을 정의하는 정당성은 이하에 주어진다.
● 각 스트림(또는 서브블록 인터리버)의 퍼뮤테이션은 더미 비트들을 갖는 Krect=Nr×Nc 직사각형 어레이로 설명된다.
○ Kstream=Nr×Nc인 경우, 각 스트림의 비트는 직사각형 행 방향으로 기록되고 열 방향으로 판독된다(열 퍼뮤테이션 이후).
○ Kstream<Nr×Nc인 경우, 각 스트림의 비트는 직사각형 행 방향으로 기록되고 열 방향으로 판독되고,(Nr×Nc - Kstream) 더미 비트는 직사각형을 완전히 채우기 위해 삽입된다. 더미 비트들은 채널을 통한 전송 전에 삭제 또는 "제거(pruned)"된다.
● 직사각형이 완전히 채워질 때(더미 비트 사용 여부 불문), 각 스트림의 퍼뮤테이션은 닫힌 형태 표현(closed-form expression)을 갖는데 이것은 역 퍼뮤테이션(inverse permutation)을 결정하기 용이하다는 의미이다. 역 퍼뮤테이션을 결정하기 용이하면, 특정 RV에 대응하는 인코더 출력 스트림에서의 위치를 결정하기도 용이하다. 직사각형이 부분적으로 채워지면(더미 비트가 없고 Kstream<Nr×Nc), 각 스트림의 퍼뮤테이션은 닫힌 형태 표현을 갖지 않는다. 이 경우, 역 퍼뮤테이션을 결정하기 어렵고, 따라서 특정 RV에 대응하는 인코더 출력 스트림에서의 위치를 결정하기도 어렵다.
설명을 간단하게 하기 위해, 상기 논의에서, 예컨대 메모리에서 순환 버퍼의 비트들을 저장함으로써 순환 버퍼(307)(더미 제거 또는 더미 삽입)가 물리적으로 형성된다고 가정한다. 하드웨어 구현의 경우, 물리적 순환 버퍼(307)를 형성하지 않고서 원하는 출력 비트를 직접 생성하는 가상 순환 버퍼 개념을 이용하는 것이 더 낫다. 즉, 레이트 매칭 기능은 중간 저장 없이 수행된다. 이 개념은 도 8에 도시된다.
물리적 순환 버퍼를 형성하는 중간 단계는 전체 물리적 순환 버퍼 형성 프로세스를 거칠 필요없이 물리적 순환 버퍼의 원하는 부분을 용이하게 생성하는 대수 규칙을 구함으로써 피할 수 있다.
가상 순환 버퍼에서, 레이트 매칭 알고리즘은 자신의 어드레스 생성기를 입력 파라미터(RV 수 및 입력 크기)에 기초하여 적절한 시작 값으로 초기화한다. 이후 이것은 입력 스트림의 서브블록 퍼뮤테이션에 의해 설명된 어드레스 생성 규칙을 따름으로써 비트들을 출력하는 것을 직접 시작한다. 어드레스 생성 규칙은 비트들이 출력되는 인코더 출력 스트림에서의 위치 시퀀스를 정의한다.
가상 순환 버퍼는 더미 삽입 순환 버퍼 및 더미 제거 순환 버퍼로서 동작될 수 있다. 그러나, 더미 제거 순환 버퍼가 사용되면, RV는 도 6에 도시된 바와 같이 순환 버퍼(매트릭스 포맷)의 어느 곳에서든지 시작할 수 있다. 따라서, 이러한 시나리오에서, RV 시작점은 명시적으로 저장될 필요가 있을 수 있어서 메모리가 필요하다. 이와 달리, RV 시작점은 각 경우에 대해 도출될 수 있지만 가상 순환 버퍼 동작에서 어드레스 초기화는 하드웨어에서 구현하기 복잡해진다.
대조적으로, 더미 삽입 순환 버퍼가 사용될 때 가상 순환 버퍼를 동작시키기 위해, RV들은 서브블록 인터리버 열의 최상단에서 시작하고 따라서 가상 순환 버퍼 동작에서의 어드레스 초기화는 더 효율적으로 된다. 어드레스 생성기가 더미 비트를 가리킬 때마다, 어드레스 생성기는 비트 출력 없이 자동적으로 진행된다.
제1단 레이트 매칭을 이용한 RV 정의
제1단(1st stage) 레이트 매칭 기술은 수신기가 한정된 양의 소프트 버퍼 크기를 가질 때 필요할 수 있다. 제1단 레이트 매칭에서, 송신기는 수신기의 소프트 버퍼 능력을 알고 있을 수 있고, 따라서 수신기의 소프트 버퍼에 저장될 수 있는 것보다 더 많지 않은 코드 비트를 전송하도록 허용된다.
최대 소프트 버퍼 크기는 순환 버퍼를 이용한 레이트 매칭에 임의의 제약을 가할 수 있다. 특히, 각 코드 블록에 대한 순환 버퍼는 도 9에 도시된 바와 같이 더 한정될 수 있다. 이 경우, 순환 버퍼에서의 순환(wrap around)은 순환 버퍼의 끝 보다 더 앞선 지점에서 발생할 수 있다.
일반적으로, 터보 코더로의 입력(전송 블록(Transport block) 또는 연접(concatenated) 전송 블록)이 터보 인터리버에 의해 지원되는 최대 크기 보다 더 크면, TB는 다수의 코드 블록 세그먼트로 분할되고 각 코드 블록 세그먼트는 개별적으로 터보 인코딩 및 레이트 매칭되어, 파이프라인 동작이 허용된다. 따라서, TB의 각 세그먼트는 자신의 순환 버퍼(또는 가상 순환 버퍼)를 가질 수 있다(각 세그먼트에 대해 물리적 순환 버퍼를 생성할 필요는 없다). NIR은 HARQ 프로세스당 총 소프트 버퍼 크기(또는 TB에 대응하는 최대 버퍼 크기)라고 가정한다.
레이트 매칭이 코드워드별(즉, 세그먼트별)로 수행되면, 제1단 레이트 매칭은 포함된다면 코드워드별(세그먼트별)로 수행되는 것이 바람직하다. 각 코드워드(또는 세그먼트)에 대한 순환 버퍼 크기는 Ncw로 한정되고, 여기서 Ncw<3×Kstream, 및 3×Kstream=3×Kinfo+12 는 제1단 레이트 매칭 전 최대 순환 버퍼 크기(세그먼트당)이다. Ncw≥3×Kstream인 경우, 제1단 RM(세그먼트당)은 투과성(transparent)임에 유의한다. 모든 코드워드(모든 전송 블록으로부터)에 대한 크기 Ncw의 합은 모든 TB의 소프트 버퍼 크기인 NIR을 초과할 수 없다. NIR을 제1단 RM 알고리즘으로의 입력으로 취하는 대신, LTE에서 코드워드당 RM의 제1단 RM은 입력으로 Ncw를 취할 수 있다.
제1단 레이트 매칭에 대한 선택안은 다음을 포함할 수 있다.
1. 버퍼 크기를 UE 클래스에 대한 설정된 최대값으로 한정(모든 TB에 대해, 주어진 TTI의 모든 코드워드. UE(User Equipment) 클래스는 3GPP 및 3GPP LTE에서 일군의 송신기/수신기 능력을 정의한다.). 스케일링을 통해 NIR로부터 TB당 및 코드워드당 한계를 결정한다. 예컨대, Ncw=floor(NIR/C)(여기서, C는 코드 블록 분할 규칙에 의해 정해진 연접 TB에 대한 터보 코드워드 수). 코드 블록 분할 규칙과 유사한 방식으로 코드워드당 한계를 정할 수 있다.
2. 버퍼를 UE 클래스에 대한 설정된 최대값 N'IR로 한정(TB당 한계를 설정). 스케일링을 통해 이 최대값으로부터 코드워드당 한계를 결정한다.
3. 버퍼를 UE 클래스에 대한 코드워드당 설정된 최대값으로 한정.
이 3가지 선택사항 중 임의의 것을 이용하여, 코드워드당 한계는 가상 순환 버퍼로부터 전체 열을(개별 세그먼트에서) 삭제함으로써 정의될 수 있다.
RV 정의의 경우, 선택사항은 다음을 포함한다.
방식 1. 한 서브세트의 가능한 RV들만을 허용한다. Y개의 RV들이 제1단 레이트 매칭없이 정의되면(즉, 제1단 레이트 매칭은 투과성임), Y개의 이용가능 RV들로부터의 Y' RV들은 제1단 레이트 매칭이 투과성이 아닐 때, Y'<=Y, 유지될 수 있다. 예컨대, RV-i(여기서, i=0, 1,..., Y'-1)이 사용되고, 여기서 RV-Y'의 시작점은 Ncw 보다 작다.
방식 2. 전체 세트의 Y개의 RV가 허용된 최대 순환 버퍼 크기 내에서 이용가능하도록 RV들을 재정의한다. RV는 더미 비트가 삽입된 순환 버퍼의 열의 최상단에서 시작하도록 재정의된다. 체계적 비트 펑처링의 양은 불변이어서 RV 0이 모든 UE 클래스에 대해 동일한 위치에서 시작하도록 한다. 예컨대, 더미 삽입 순환 버퍼의 Ncol 열(제1단 레이트 매칭 전 3×Nc 열 포함)이 제1단 레이트 매칭 후에 남아 있으면, Y개의 RV는 열 인덱스 floor((Ncol-2)/Y)×i+2(여기서, i=0, 1,..., Y-1)의 열 최상단에서 시작할 수 있다.
효율적인 HARQ 동작을 위해 TB당 단일 RV를 신호보내는 것이 바람직하더라도 RV 시작점은 코드워드별로 정의될 수 있다.
체계적 비트 펑처링
상기 RV 정의는 체계적 펑처링이라고 하는 성능 강화 기술을 수용하도록 상술될 수 있다.
부분적인 체계적 터보 코드는 체계적 터보 코드 보다 성능이 더 나을 수 있다고 문헌에서 알려져 있는데, 한가지 간단한 설명으로는 후자가 전자의 서브세트라는 것이다. 그러나, 체계적 비트 펑처링은 WCDMA 또는 CDMA2000 터보 코딩과 같은 기존의 무선 표준에서 레이트 매칭 알고리즘에서 사용되지 않는다. 그 주요 이유는 전송(RV0로)은 유효 코딩 레이트가 높을 때 자체 디코딩가능한 것이 바람직하다는 것이다.
체계적 비트 펑처링은 패리티 비트들의 과도한 펑처링을 피하기 위해 사용되는데, 이것은 그렇지 않은 경우 더 높은 코딩 레이트로 좋지 않은 최소 거리와 열등한 성능으로 이어지게 될 것이다.
3GPP와 같은 통신 시스템에서, 코딩 레이트는 아마도 5/6(또는 그보다 높음) 정도일 수 있고 따라서 이러한 시스템은 체계적 비트의 펑처링의 일부를 취급할 수 있어야 한다. 이러한 부분적인 체계적 코드는 여전히 자체 디코딩가능함에 유의한다. 블록 크기 Kinfo를 갖는 터보 코드의 경우, △K(R)을 코드 레이트 R로 펑처링된 체계적 비트의 소부분으로 나타낸다.
레이트 매칭 설계시 한가지 어려운 점은 Kinfo 및 R의 모든 유효한 조합에 대해 △K(R)의 최적 값들을 구하는 것이다. △K(R)이 결정된 후, 순환 버퍼는 체계적 비트 펑처링을 포함하도록 재구성될 수 있다. 도 10에 도시된 바와 같이, 재구성을 위한 많은 선택안이 있다. 체계적 펑처링의 논의에서, 시퀀스 포맷의 순환 버퍼는 이 기술을 설명하기 위해 사용되고 순환 버퍼는 더미 삽입 또는 더미 제거 상태일 수 있다. 다음 예에서, 마더(mother) 코드 레이트는 1/3이고 비트들은 항상 순환 버퍼에서 제1 비트에서 시작하여 순차적으로 취해진다고 가정한다. 상기한 바와 같이, Kinfo는 정보 블록 크기를 나타내고 Kstream은 스트림의 길이를 나타낸다.
1. 도 10에서 선택안 1은 시퀀스 포맷으로 정규 순환 버퍼를 설명하고 여기서 모든 체계적 비트가 먼저 전송되고 다음에 일부 또는 모든 패리티 비트가 전송된다.
2. 도 10에서 선택안 2는 정규 순환 버퍼와 동일한 비트를 포함하지만 순환 버퍼가 수정된다. 체계적 비트(SA)의 일부는 순환 버퍼의 체계적 부분으로부터 취해져 버퍼의 끝에 놓인다. 따라서, 제1 전송에서, SA에서의 체계적 비트는 코드 레이트의 많은 곳에서 펑처링된다. 선택안 2는 또한 순환 버퍼의 시작에 대해 오프셋을 갖는 위치에서 시작에 RV0를 배치함으로써 달성될 수 있다. 이 오프셋은 필요한 체계적 비트 펑처링 양에 기초하여 결정될 수 있다. 코드 레이트 R>=Kinfo/(3×L-SA)의 경우, SA에서의 체계적 비트들은 항상 펑처링된다.
3. 선택안 3은 순환 버퍼가 수정된다는 점에서 선택안 2와 동일하다. 그러나, 순환 버퍼의 체계적 부분으로부터 취해진 체계적 비트들(SA)은 패리티 스트림으로부터 X 비트 후에 버퍼에 배치된다. 따라서, 제1 전송에서, 체계적 비트들의 일부는 코드 레이트의 많은 곳에서 펑처링된다. 코드 레이트 R>=Kinfo/(SB+X)의 경우, SA에서의 체계적 비트는 항상 펑처링된다.
a. 코드 레이트 K/(SB+X)>R>Kinfo/(SB+X+SA)의 경우, SA에서의 체계적 비트들의 일부가 펑처링된다.
b. 코드 레이트 Kinfo/(SB+X+SA)>=R의 경우, 모든 체계적 비트가 전송된다.
4. 선택안 4는 순환 버퍼가 수정된다는 점에서 선택안 3과 동일하다. 그러나, 순환 버퍼의 체계적 부분으로부터 취해진 체계적 비트(SA)는 임의의 범위에서 버퍼에서 분포된다. 따라서, 제1 전송에서, 체계적 비트의 일부가 코드 레이트의 많은 곳에서 펑처링된다. 선택안 4는 순환 버퍼의 설계에서 더 많은 유연성을 허용하여, 체계적 펑처링 비 △K(R)을 최적으로 활용한다. 예컨대, SA에서의 체계적 비트들은 한 범위 내에서 균일하게 분포될 수 있거나, 한 범위 내에서 증가하는 밀도의 체계적 비트들로 분포되거나, 한 범위 내에서 감소하는 밀도의 체계적 비트들로 분포된다.
상기 선택안의 다른 변형이 존재한다. 예컨대, SA에서의 체계적 비트들은 서브블록 인터리빙된 체계적 스트림 S'의 앞에 위치되지 않고 대신에 S'의 중간이나 끝에 위치될 수 있다. 이것은 또한 S'의 x 비트들(x>1) 마다 한 비트와 같이 S'의 불연속 위치로부터 취해질 수 있다.
새로운 수정이 순환 버퍼를 형성한 후에 수행되는 추가 단계로서 도시되지만, 이 단계는 순환 버퍼의 정의로 직접 결합될 수 있다.
다른 선택안은 다른 복잡도/성능 교환조건을 갖는다. 선택안 2는 체계적 비트 펑처링이 거의 1/3에 가까운 모든 레이트에 대해 고정되므로 바람직하지 않을 수 있다. 시뮬레이션에 따르면, LTE의 경우, 약 5%의 체계적 비트 펑처링이 3/4 또는 5/6과 같은 높은 레이트에 대해 바람직할 수 있는 반면, 2/3 또는 1/2와 같은 낮은 코딩 레이트에 대해서는 0%가 바람직한 것으로 나타난다. 따라서, 이러한 이유에 따라 버퍼의 부분에 체계적 비트를 배치하는 것이 바람직할 수 있다. 이와 달리, 체계적 비트 펑처링을 스위치 오프하기 위해 낮은 코딩 레이트로 RV7을 사용하는 것이 제안되었다.
상기 논의가 제1 전송에 대한 레이트 매칭 설계(따라서 FEC)에 중점을 둔 것이지만, 동일한 재구성된 순환 버퍼가 정보 블록당 다수의 전송을 갖는 HARQ의 컨텍스트에서 사용될 수 있다. HARQ 전송에 대한 서로 다른 리던던시 버전들은 재구성된 순환 버퍼의 서로 다른 섹션을 취함으로써 얻어질 수 있는데, 여기서 각 섹션 크기는 현재의 물리적 채널 전송에 필요한 길이와 같다. 특히, Y개의 리던던시 버전(RV)이 필요하면, 간단한 방법은, 하나의 리던던시 버전에 대해 하나씩, 재구성된 순환 버퍼 내에서 Y개의 서로 다른 시작점들(A0, A1,..., AY-1)을 정의하는 것이다. RVi의 경우, 비트는 Ai부터 mod(Ai+Ntx, NCB) 까지 취해지는데, 여기서 i=0, 1,..., Y-1, Ntx는 전송에 필요한 비트 수, NCB는 순환 버퍼의 길이이다. 즉, Ntx 비트는 위치 Ai에서부터 판독되고, 버퍼의 끝에 도달하면 순환 버퍼의 처음으로 순환된다. 주어진 정보 블록에 대해, Ntx는 각 전송에 대해 서로 다를 수 있다.
체계적 펑처링을 이용한 RV 정의
(a) 더미 삽입 순환 버퍼에 기초한 RV 정의와(b) 체계적 펑처링을 결합하면, 개선된 레이트 매칭 설계는 예시를 위해 Nc=32 및 마더 코드 레이트 1/3(즉, 터보 인코더(101)로부터의 3개의 스트림)을 이용하여 다음과 같은 이점을 갖는다.
● RV 정의를 용이하게 하기 위한 순환 버퍼에 포함된 더미 비트(즉, 더미 삽입 순환 버퍼).
● HARQ 재전송을 위한 각 RV 시작이 용이. 예컨대, RV는 매트릭스 포맷의 순환 버퍼에서 서브블록 인터리버 열의 최상단(즉, 제1 행)에서 시작하도록 정의된다. 구체적으로,
- 8개의 RV가 정의될 필요가 있으면, RVi는 시퀀스 포맷의 더미 삽입 순환 버퍼에서 위치
Figure pat00005
Figure pat00006
,(i=0, 1,..., 7)에서 시작할 것이다. 매트릭스 포맷에서, RVi는(12×i+σ)번째 열의 최상단에서 시작한다.
- 4개의 RV만 정의된다면, 각 RV는(24×i+σ)번째 열(여기서, σ=2)의 최상단에서 시작한다. 동일하게, 시퀀스 포맷에서, RVi는 비트 위치
Figure pat00007
Figure pat00008
,(i=0, 1,..., 3)에서 시작한다.
σ=0(모듈로 3×Nc)인 경우, RV0 (즉, i=0)는 순환 버퍼의 시작에서 시작하여, 체계적 비트 펑처링이 없을 것이다. 체계적 비트 펑처링은 3개의 스트림(즉, 마더 코드 레이트 1/3)에 대해 0 보다 큰 값(모듈로 3×Nc)이 되도록 σ를 설정함으로써 스위치 온될 수 있어서, 이에 의해 RV0에 대한 비트를 판독할 때 체계적 비트들의 소부분을 생략할 수 있다. 즉, RV0(제1 리던던시 버전)는 σ번째 열의 최상단에서 시작하도록 정의된다(여기서 σ는 오프셋 열의 수). 이것은 도 11에 도시된다. 예컨대, RV0는 σ=2를 설정함으로써 열 #0 대신에 열 #2 로부터 시작하도록 정의될 수 있다. σ의 다른 값들도 고려될 수 있다.
상기 개선된 설계는 여러 변형을 가질 수 있다. 그 중 일부는 다음과 같다.
● 제안된 설계에서 32개의 열이 사용되지만, 다른 값, 특히 8, 16, 64 또는 128과 같은 2의 거듭제곱이 Nc로 사용될 수 있다.
● 상기 설계예에서 특정 열 퍼뮤테이션이 사용되지만, 열을 퍼뮤팅하기 위해 다른 퍼뮤테이션도 사용될 수 있다.
● 레이트 매칭 설계에서 두개 이상의 Nc가 사용되면, 각 Nc는 다수의 인터리버 크기에 대해 사용될 수 있다.
● 서브블록 인터리버는 모든 스트림에 대해 동일하지 않을 수 있다. 예컨대, 서브블록 인터리버는 체계적 및 패리티 1 스트림 모두에 대해 동일할 수 있지만, 패리티 2 스트림의 서브블록 인터리버는 다를 수 있다.
● 설명을 간단하게 하기 위해 RV들이 서브블록 인터리버 열의 최상단에서 시작하도록 정의되지만, 더미 삽입 순환 버퍼에서 다른 편리한 위치에서 시작하도록 정의될 수도 있다. 예컨대, 모든 RV는 구성 서브블록 인터리버의 동일한 행 r에서 시작할 수 있다(여기서, 0≤r<Nr).
제1단 레이트 매칭 및 체계적 펑처링을 이용한 RV 정의
체계적 펑처링 및 제1단 레이트 매칭이 모두 사용될 때, RV 정의는 다음 요건을 충족하도록 수정될 필요가 있을 수 있다.
● 순환 버퍼에 더미 비트를 포함(즉, 더미 삽입 순환 버퍼) 함으로써 RV 정의의 용이함.
● HARQ 재전송을 위한 각 RV에 대한 어드레스 생성의 시작의 용이함. 예컨대, RV는 매트릭스 포맷의 순환 버퍼에서 서브블록 인터리버 열의 최상단(즉, 서브블록 인터리버 열에서 제1 행)에서 시작하도록 정의될 수 있다.
● 제1단 레이트 매칭 후 순환 버퍼 한계의 범위 내에서 RV의 시작 위치를 유지.
체계적 펑처링 및 제1단 레이트 매칭이 모두 사용될 때, 이 구현은 다음과 같이 예시될 수 있다. 먼저, 짧아진 순환 버퍼를 형성하기 위해 순환 버퍼로부터 하나 이상의 열(바람직하게는 가상 순환 버퍼의 최종 열로부터)을 삭제함으로써 제1단 RM이 달성된다. 따라서, 체계적 비트들은 짧아진 순환 버퍼의 처음에 대해 오프셋을 갖는 위치에서 시작하도록 제1 리던던시 버전을 정의함으로써 펑처링될 수 있다. 즉, 체계적 비트 펑처링은 체계적 서브블록 인터리버의 서브블록 인터리버에서 임의의 영이 아닌(non-zero) 열 수로 RV0를 정의함으로써 달성될 수 있다. 상기 단계들은 직접 조합될 수도 있음에 유의한다. 제1단 레이트 매칭은 코드워드별(세그먼트별)로 적용되도록 고려될 수 있다. 편의상, 짧아진 순환 버퍼는 제1단 레이트 매칭이 적용된 후의 순환 버퍼라고도 한다. 이 구별은 컨텍스트로부터 명백하여야 한다.
예컨대, 8개의 RV가 기준선(baseline)으로 사용되면(제1단 RM이 없는 경우), 제1단 RM을 이용한 RV 정의를 위해 다음 선택안이 이용가능하다.
● RV 정의 방식 1에서, 8개의 RV 시작 위치가 유지될 수 있지만 반드시 항상 사용되는 것은 아니다. 순환 버퍼에서 범위(0≤j≤Ncw-1) 내에 있는 원래 RV 시작 위치만이 허용될 수 있다. 이것은 다음 조건을 이용하여 진술될 수 있다. Nr×σ<=Nr(12×i+σ)<=Ncw-1을 갖는 RV-i 만이 사용되어, 일부 경우에 8개의 RV 보다 더 적게 될 가능성이 있다. 따라서 허용된 최종 RV 인덱스 i는 floor(((Ncw-1)/Nr-σ)/12)이다.
● RV 정의 방식 2에서, 8개의 RV가 여전히 필요하고(모든 경우), RV 시작 위치는 Nr(C×i+σ)(여기서, i=0, 1,..., 7)이고 여기서 C는 Nr(C×i+σ)<=Ncw-1이 되도록 하는 최대 정수이다. 즉, C=floor(((Ncw-1)/Nr-σ)/7).
상기 논의에서, C는 두개의 인접한 RV 사이의 열의 갯수를 나타내고, Y는 정의된 RV의 갯수이다.
다른 수(예컨대, 4)의 RV가 제1단 레이트 매칭 전에 정의되면 유사한 RV 수정이 적용될 수 있다. 예컨대, 4개의 RV가 기준선으로 사용되면(제1단 RM이 없는 경우), 다음 선택안이 제1단 RM을 이용한 RV 정의에 이용가능하다.
제1단 레이트 매칭이 없다면, RV-i는 시퀀스 포맷의 더미 삽입 순환 버퍼에서 위치 Nr×(Nc×3/4×i+σ)=Nr×(24×i+σ)(여기서, i=0, 1, 2, 3)에서 시작한다. 제1단 레이트 매칭이 사용된 후, 순환 버퍼는 위치 j의 비트를 포함한다(여기서, 0≤j≤Ncw-1).
● RV 정의 방식 1에서, 4개의 RV 시작 위치가 유지되고, Nr×2<=Nr(24×i+σ)<=Ncw-1을 갖는 RV-i 만이 사용되어, 4개의 RV 보다 더 적게 될 가능성이 있다.
● RV 정의 방식 2에서, 4개의 RV가 여전히 필요하고, RV 시작 위치는 Nr×(C×i+2)(여기서, i=0, 1, 2, 3)이고 여기서 C는 Nr×(C×i+σ)<=Ncw-1이 되도록 하는 최대 정수이다.
도 12는 도 3의 송신기의 동작을 도시하는 흐름도이다. 특히, 도 12의 논리 흐름은 순환 버퍼(307)로 리던던시 버전들을 할당하는 단계 및 순환 버퍼(307)로부터 비트들의 이후 전송 단계를 도시한다. 논리 흐름은 단계 1201에서 시작하는데 여기서 논리 회로(305)는 체계적 비트들, 제1 블록의 패리티 비트들, 및 제2 블록의 패리티 비트들을 수신한다. 이 비트들은 인코더(301)로부터 출력된다. 상술한 바와 같이, 체계적 비트들, 제1 블록의 패리티 비트들, 및 제2 블록의 패리티 비트들은 모두 더미 비트들을 포함한다. 논리 회로(305)는 인터리버(309)를 이용하여 체계적 비트들, 제1 블록의 패리티 비트들, 및 제2 블록의 패리티 비트들을 개별적으로 블록 인터리빙한다(단계 1203). 단계 1205에서, 논리 회로(305)는 제1 블록의 패리티 비트들을 제2 블록의 패리티 비트들과 인터레이싱하고 인터리빙된 체계적 비트들을 인터레이싱된 패리티 비트들의 앞에 부가하여 순환 버퍼(307)를 생성한다. 단계 1207에서, 논리 회로(305)는 순환 버퍼의 특정 행 내에 리던던시 버전을 정의한다. 본 발명의 일실시예에서, 특정 행은 순환 버퍼의 최상단 행, 예컨대 8 또는 4개의 서브블록 인터리버 열 최상단을 포함한다. 논리 회로(305)는 리던던시 버전 및 원하는 비트의 수를 수신하고(단계 1209) RV 비트 위치에서 시작하여 원하는 비트의 수를 송신기로 출력한다(단계 1211).
도 13은 도 3의 송신기의 동작을 도시하는 흐름도이다. 특히, 도 13의 논리 흐름은 가상 순환 버퍼로 리던던시 버전들을 할당하는 단계 및 가상 순환 버퍼로부터 비트의 이후 전송 단계를 도시한다. 논리 흐름은 단계 1301에서 시작하는데 여기서 논리 회로(305)는 체계적 비트들, 제1 블록의 패리티 비트들, 및 제2 블록의 패리티 비트들을 수신한다. 상술한 바와 같이, 체계적 비트들, 제1 블록의 패리티 비트들, 및 제2 블록의 패리티 비트들은 모두 더미 비트들을 포함한다. 논리 회로(305)는 인터리버(309)를 이용하여 체계적 비트들, 제1 블록의 패리티 비트들, 및 제2 블록의 패리티 비트들을 개별적으로 블록 인터리빙한다(단계 1303). 단계 1305에서, 논리 회로(305)는 제1 블록의 패리티 비트들을 제2 블록의 패리티 비트들과 인터레이싱하고 인터리빙된 체계적 비트들을 인터레이싱된 패리티 비트들의 앞에 부가한다. 단계 1307에서, 논리 회로(305)는 데이터 스트림 내에서 비트 위치에 대응하는 리던던시 버전을 정의하고, 여기서 모든 가능한 RV는 위치들
Figure pat00009
(여기서, i=0, 1,..., 7)에 있고 여기서 σ는 제1 RV(RV0)의 시작 위치의 열 인덱스를 나타낸다. 데이터 스트림은 인터리빙된 체계적 비트 및 인터레이싱된 제1 블록의 인터리빙된 패리티 비트들 및 제2 블록의 인터리빙된 패리티 비트들을 포함한다. 논리 회로(305)는 리던던시 버전 및 원하는 비트의 수를 수신하고(단계 1309) RV 비트 위치에서 시작하여 원하는 비트들의 수를 송신기로 출력한다(단계 1311).
본 발명이 특정 실시예를 참조하여 특정적으로 도시되고 설명되었지만, 당업자라면 본 발명의 사상 및 범위에서 벗어남 없이 형태 및 세부사항에 있어서 다양한 변화가 이루어질 수 있음을 이해할 것이다.
일예에서, 절차가 설명되지만, 더미 비트는 스트림에 추가되지 않을 수 있고 순환 버퍼로부터 나중에 제거될 수 있고, 동일한 효과가 어드레스를 적절히 생성하는 것과 같은 다른 방법에 의해 실현된다.
다른 예에서, 순환 버퍼의 특정 행(예컨대, 열 최상단)으로부터 RV들을 시작하는 것은 더미 비트들이 존재하는 중에 각 스트림에 대한 서브블록 인터리버에서 특정 행으로부터 RV를 시작하는 것과 동등할 수 있다. 시작점을 서브블록 인터리버 내 그 위치로 매핑하는 것은 임의의 구현에 대해 더 편리할 수 있지만, 순환 버퍼에서 RV 시작점을 정의하는 것은 다른 구현에 대해 더 편리할 수 있다.
이러한 변경은 다음 청구범위 내에서 이루어지는 것이다.

Claims (2)

  1. 각각이 길이 Kstream을 갖는 체계적 비트들, 제1 블록의 패리티 비트들 및 제2 블록의 패리티 비트들을 출력하는 인코더;
    상기 체계적 비트들, 제1 블록의 패리티 비트들 및 제2 블록의 패리티 비트들을 수신하고 상기 체계적 비트들, 제1 블록의 패리티 비트들 및 제2 블록의 패리티 비트들을 개별적으로 인터리빙하는 레이트 매칭 회로;
    데이터 출력을 시작하도록 데이터 스트림 내에서 비트 위치에 대응하는 리던던시 버전(RV)들을 정의하는 논리 회로 - 상기 RV들은 위치
    Figure pat00010
    (여기서, i=0, 1,..., Y-1)에서 시작하고, C는 2개의 인접 RV들 사이의 열들의 수를 나타내고, Y는 정의된 RV들의 수이고, σ는 제1 RV(RV0)의 시작 위치의 열 인덱스를 나타내고, 상기 스트림은 상기 인터리빙된 체계적 비트들 및 인터리빙되고 인터레이싱된 제1 및 제2 블록의 패리티 비트들, 및 더미 비트들을 포함함 - ; 및
    특정 RV에서 시작하는 비 더미(non-dummy) 비트들을 수신하고 상기 비 더미 비트들을 전송하는 전송 회로
    를 포함하는 장치.
  2. 리던던시 버전들을 트랜스포트 블록의 메모리 버퍼에 할당하는 방법으로서,
    트랜스포트 블록을 멀티 코드 블록 세그먼트들로 분할(segmenting)하는 단계;
    트랜스포트 블록과 연관된 세그먼트를 인코더로 인코딩하여, 체계적 비트 스트림 및 두 개의 패리티 비트 스트림들을 생성하는 단계;
    각 스트림에 더미 비트들을 삽입하여, 체계적 비트들, 제1 블록의 패리티 비트들 및 제2 블록의 패리티 비트들을 생성하는 단계 - 상기 체계적 비트들, 상기 제1 블록의 패리티 비트들, 및 상기 제2 블록의 패리티 비트들 모두는 더미 비트들을 포함함 -;
    상기 체계적 비트들, 상기 제1 블록의 패리티 비트들, 및 상기 제2 블록의 패리티 비트들을 개별적으로 블록 인터리빙(block interleaving)하는 단계;
    상기 제1 블록의 패리티 비트들을 상기 제2 블록의 패리티 비트들과 인터레이싱(interlace)하여 인터레이싱된 패리티 비트들을 생성하는 단계;
    상기 인터리빙된 체계적 비트들을 상기 인터레이싱된 패리티 비트들에 프리-펜딩(pre-pending)하여 메모리 버퍼를 생성하는 단계;
    플로어(floor)(NIR/C)에 기초하여 세그먼트당 축소된 메모리 버퍼의 버퍼 사이즈를 결정하는 단계 - C는 코드 블록 세그먼트화 룰(code block segmentation rule)에 의해 결정되는, 트랜스포트 블록(Transport block)에 대한 세그먼트들의 수이며, NIR은 하이브리드 자동 반복 리퀘스트 프로세스(Hybrid Automatic Repeat reQuest process)당 총 소프트 버퍼 사이즈임 -;
    리던던시 버전(RV) 및 다수의 원하는 비트들(a number of desired bits)을 수신하는 단계; 및
    상기 축소된 메모리 버퍼로부터 상기 RV의 위치에서 시작하여 상기 다수의 원하는 비트들을 출력하는 단계
    를 포함하는 방법.
KR1020157036856A 2007-06-20 2008-06-17 순환 버퍼를 포함하는 장치 및 순환 버퍼에 리던던시 버전들을 할당하는 방법 KR101701083B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/765,921 US7890834B2 (en) 2007-06-20 2007-06-20 Apparatus comprising a circular buffer and method for assigning redundancy versions to a circular buffer
US11/765,921 2007-06-20
PCT/US2008/067175 WO2008157523A2 (en) 2007-06-20 2008-06-17 An apparatus comprising a circular buffer and method for assigning redundancy versions to a circular buffer

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020097026467A Division KR101593700B1 (ko) 2007-06-20 2008-06-17 순환 버퍼를 포함하는 장치 및 순환 버퍼에 리던던시 버전들을 할당하는 방법

Publications (2)

Publication Number Publication Date
KR20160006249A true KR20160006249A (ko) 2016-01-18
KR101701083B1 KR101701083B1 (ko) 2017-01-31

Family

ID=39941691

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020097026467A KR101593700B1 (ko) 2007-06-20 2008-06-17 순환 버퍼를 포함하는 장치 및 순환 버퍼에 리던던시 버전들을 할당하는 방법
KR1020157036856A KR101701083B1 (ko) 2007-06-20 2008-06-17 순환 버퍼를 포함하는 장치 및 순환 버퍼에 리던던시 버전들을 할당하는 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020097026467A KR101593700B1 (ko) 2007-06-20 2008-06-17 순환 버퍼를 포함하는 장치 및 순환 버퍼에 리던던시 버전들을 할당하는 방법

Country Status (12)

Country Link
US (1) US7890834B2 (ko)
EP (3) EP2171908B9 (ko)
JP (2) JP5499366B2 (ko)
KR (2) KR101593700B1 (ko)
CN (1) CN101682486B (ko)
BR (1) BRPI0813136A2 (ko)
CA (1) CA2689587C (ko)
ES (1) ES2610818T3 (ko)
MY (1) MY149949A (ko)
RU (2) RU2467484C2 (ko)
WO (1) WO2008157523A2 (ko)
ZA (1) ZA200908521B (ko)

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7434138B2 (en) * 2005-06-27 2008-10-07 Agere Systems Inc. Structured interleaving/de-interleaving scheme for product code encoders/decorders
US8069400B2 (en) * 2007-08-13 2011-11-29 Broadcom Corporation Optimal circular buffer rate matching for turbo code
KR20090030378A (ko) * 2007-09-20 2009-03-25 삼성전자주식회사 이동통신 시스템에서 블럭 인터리빙을 위한 장치 및 방법
US7986741B2 (en) * 2007-09-28 2011-07-26 Samsung Electronics Co., Ltd. Method and apparatus of improved circular buffer rate matching for turbo-coded MIMO-OFDM wireless systems
RU2010112600A (ru) * 2007-10-01 2011-10-10 Панасоник Корпорэйшн (Jp) Устройство беспроводной связи и способ управления кольцевым буфером
KR20090036534A (ko) * 2007-10-09 2009-04-14 엘지전자 주식회사 성상 재배열을 이용한 데이터 전송 방법
US8225165B2 (en) * 2007-10-12 2012-07-17 Industrial Technology Research Institute Methods and devices for encoding data in communication systems
WO2009057922A1 (en) * 2007-10-29 2009-05-07 Lg Electronics Inc. Method of data transmission using harq
US8234551B2 (en) * 2007-11-02 2012-07-31 Broadcom Corporation Single CRC polynomial for both turbo code block CRC and transport block CRC
US8532012B2 (en) * 2007-12-07 2013-09-10 Industrial Technology Research Institute Methods and devices for scalable reception in wireless communication systems
KR101476203B1 (ko) * 2008-01-08 2014-12-24 엘지전자 주식회사 성좌 재배열 이득을 보장하기 위한 harq 기반 신호 전송 방법
US8934890B2 (en) * 2008-01-11 2015-01-13 Texas Instruments Incorporated Transmission of data bursts on a constant data rate channel
JP5172943B2 (ja) 2008-03-12 2013-03-27 パナソニック株式会社 無線通信装置、無線通信システム及び無線通信方法
US8665720B2 (en) * 2008-03-12 2014-03-04 Broadcom Corporation Method and system for determining limited soft buffer size on transport blocks for rate matching
US8514888B2 (en) * 2008-09-12 2013-08-20 Industrial Technology Research Institute Methods and devices for wireless broadcasting service communication environment
WO2010087682A2 (en) * 2009-02-02 2010-08-05 Lg Electronics Inc. Apparatus and method for transmitting signal using bit grouping in wireless communication system
KR101216102B1 (ko) 2009-02-02 2012-12-26 엘지전자 주식회사 무선 통신 시스템에서 비트 그룹핑을 이용하여 신호를 전송하기 위한 장치 및 그 방법
EP2424143A1 (en) * 2009-04-24 2012-02-29 Panasonic Corporation Wireless communication device and wireless communication method
US8516352B2 (en) * 2009-07-21 2013-08-20 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US8516351B2 (en) * 2009-07-21 2013-08-20 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US9397699B2 (en) * 2009-07-21 2016-07-19 Ramot At Tel Aviv University Ltd. Compact decoding of punctured codes
US8375278B2 (en) * 2009-07-21 2013-02-12 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US8290073B2 (en) 2009-10-08 2012-10-16 Intel Corporation Device, system and method of communicating data over wireless communication symbols with check code
US8423861B2 (en) * 2009-11-19 2013-04-16 Lsi Corporation Subwords coding using different interleaving schemes
US8537755B2 (en) * 2010-05-11 2013-09-17 Qualcomm Incorporated Rate matching device
JP2011249914A (ja) * 2010-05-24 2011-12-08 Panasonic Corp 無線送信装置、無線受信装置、無線送信方法及び無線受信方法
US8621289B2 (en) 2010-07-14 2013-12-31 Lsi Corporation Local and global interleaving/de-interleaving on values in an information word
CN101895374B (zh) * 2010-07-20 2012-09-05 华为技术有限公司 速率匹配方法及装置
US8402324B2 (en) 2010-09-27 2013-03-19 Lsi Corporation Communications system employing local and global interleaving/de-interleaving
US8724742B2 (en) 2010-10-06 2014-05-13 Motorola Mobility Llc Method and apparatus for soft buffer management for carrier aggregation
US8976876B2 (en) 2010-10-25 2015-03-10 Lsi Corporation Communications system supporting multiple sector sizes
US8588223B2 (en) 2010-11-09 2013-11-19 Lsi Corporation Multi-stage interconnection networks having smaller memory requirements
US8782320B2 (en) 2010-11-09 2014-07-15 Lsi Corporation Multi-stage interconnection networks having fixed mappings
CN102215097B (zh) * 2011-06-01 2017-12-29 深圳市中兴微电子技术有限公司 一种管理混合自动重传请求缓存的方法及装置
CN103378956B (zh) * 2012-04-12 2019-03-01 北京三星通信技术研究有限公司 Tdd系统的处理软缓存的方法及设备
CN107659384A (zh) 2012-11-16 2018-02-02 华为技术有限公司 数据处理的方法和装置
US9143291B2 (en) 2012-12-27 2015-09-22 Google Technology Holdings LLC Method and apparatus for device-to-device communication
US9185697B2 (en) 2012-12-27 2015-11-10 Google Technology Holdings LLC Method and apparatus for device-to-device communication
US9042938B2 (en) 2012-12-27 2015-05-26 Google Technology Holdings LLC Method and apparatus for device-to-device communication
US9370035B2 (en) 2013-08-12 2016-06-14 Google Technology Holdings LLC Methods and devices for mobile station device-to-device beacon window determination
US9392615B2 (en) 2013-08-20 2016-07-12 Google Technology Holdings LLC Methods and devices for allocating resources in device-to-device communication
US9727611B2 (en) * 2013-11-08 2017-08-08 Samsung Electronics Co., Ltd. Hybrid buffer management scheme for immutable pages
CN105637791A (zh) * 2014-05-27 2016-06-01 华为技术有限公司 一种循环映射方法和设备
CN105337684B (zh) * 2014-07-25 2019-09-13 华为技术有限公司 一种传输、存储下行数据的方法、基站及终端
CN106533611A (zh) * 2015-09-14 2017-03-22 中兴通讯股份有限公司 一种卷积码的数据发送方法及装置
CN105187162B (zh) * 2015-09-24 2018-04-27 北京思朗科技有限责任公司 一种多粒度并行解速率匹配方法和装置
US10784901B2 (en) 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
CN108432167B (zh) * 2016-01-14 2021-07-30 苹果公司 对消息进行编码解码的装置、系统和计算机可读介质
US10541781B2 (en) * 2016-01-29 2020-01-21 Intel IP Corporation Rate matching using low-density parity-check codes
US9819445B1 (en) * 2016-05-05 2017-11-14 Mbit Wireless, Inc. Method and apparatus for joint rate matching and deinterleaving
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
EP3902142A1 (en) 2016-05-12 2021-10-27 MediaTek Inc. Qc-ldpc coding methods and apparatus
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
JP2019165269A (ja) * 2016-07-28 2019-09-26 シャープ株式会社 基地局装置、端末装置および通信方法
KR102126404B1 (ko) * 2016-08-12 2020-06-24 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘) Ldpc 코드들에 대한 레이트 매칭 방법들
WO2018068001A1 (en) * 2016-10-06 2018-04-12 Intel Corporation Circular buffer rate matching for polar code
WO2018103638A1 (zh) * 2016-12-07 2018-06-14 华为技术有限公司 数据传输的方法、发送设备、接收设备和通信系统
CN108173621B (zh) * 2016-12-07 2022-06-14 华为技术有限公司 数据传输的方法、发送设备、接收设备和通信系统
US10581457B2 (en) 2017-01-09 2020-03-03 Mediatek Inc. Shift coefficient and lifting factor design for NR LDPC code
US10432227B2 (en) * 2017-01-24 2019-10-01 Mediatek Inc. Location of interleaver with LDPC code
US10630319B2 (en) 2017-01-24 2020-04-21 Mediatek Inc. Structure of interleaver with LDPC code
CN108400844B (zh) * 2017-02-04 2021-07-20 华为技术有限公司 信息处理的方法、装置、通信设备和通信系统
EP3566351B1 (en) * 2017-02-06 2024-04-03 Mediatek Inc. Method and apparatus for communication
CN108400832B (zh) * 2017-02-06 2022-09-09 华为技术有限公司 数据处理方法和通信设备
US10348329B2 (en) * 2017-02-13 2019-07-09 Qualcomm Incorporated Low density parity check (LDPC) circular buffer rate matching
CN108574491B (zh) 2017-03-09 2020-02-21 华为技术有限公司 数据处理方法、数据处理装置和通信设备
CN114553368B (zh) 2017-03-22 2024-05-17 三星电子株式会社 在通信或广播系统中使用harq传输的装置和方法
KR20180107692A (ko) * 2017-03-22 2018-10-02 삼성전자주식회사 통신 또는 방송 시스템에서 harq 적용시 전송 방법 및 장치
US10567116B2 (en) 2017-05-12 2020-02-18 Mediatek Inc. Wireless communication using codebooks from a QC-LDPC code for shorter processing latency and improved decoder throughput efficiency
US10484013B2 (en) 2017-05-12 2019-11-19 Mediatek Inc. Shift-coefficient table design of QC-LDPC code for smaller code block sizes in mobile communications
US10484011B2 (en) 2017-05-12 2019-11-19 Mediatek Inc. Shift-coefficient table design of QC-LDPC code for larger code block sizes in mobile communications
US10312939B2 (en) 2017-06-10 2019-06-04 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code
CN110266448B (zh) * 2017-06-19 2020-11-10 华为技术有限公司 信息处理的方法、通信装置和存储介质
US20180367245A1 (en) * 2017-06-19 2018-12-20 Qualcomm Incorporated COMMUNICATION TECHNIQUES WITH SELF-DECODABLE REDUNDANCY VERSIONS (RVs) USING SYSTEMATIC CODES
WO2019028774A1 (en) * 2017-08-10 2019-02-14 Nokia Solutions And Networks Oy METHOD AND APPARATUS
WO2019100236A1 (en) * 2017-11-22 2019-05-31 Qualcomm Incorporated Circular buffer based hybrid automatic retransmission request for polar codes
US10680764B2 (en) 2018-02-09 2020-06-09 Qualcomm Incorporated Low-density parity check (LDPC) parity bit storage for redundancy versions
EP3857747A4 (en) * 2018-09-28 2022-01-26 ZTE Corporation BIT SELECTION FOR HYBRID AUTOMATIC REPEAT REQUESTS
WO2020114572A1 (en) * 2018-12-03 2020-06-11 Huawei Technologies Co., Ltd. Devices, methods and computer programs for spatial diversity via enhanced rate matching in wireless communications

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2196668T3 (es) * 1993-12-18 2003-12-16 Sony Corp Aparato de reproduccion de datos y medio de almacenamiento de datos.
GB9814960D0 (en) * 1998-07-10 1998-09-09 Koninkl Philips Electronics Nv Coding device and communication system using the same
US6628723B1 (en) * 1999-10-15 2003-09-30 Cisco Technology Coding rate reduction for turbo codes
DE60128993T2 (de) * 2001-02-06 2008-02-28 Nortel Networks S.A. Mehrfachratenringpuffer und entsprechendes Betriebsverfahren
KR100480251B1 (ko) * 2001-05-08 2005-04-06 삼성전자주식회사 통신시스템에서 부호 생성 장치 및 방법
KR20030004978A (ko) * 2001-07-07 2003-01-15 삼성전자 주식회사 이동 통신시스템에서 초기전송 및 재전송 방법
US20050283710A1 (en) * 2002-08-01 2005-12-22 Stefano Olivieri Coding and decoding for rate matching in data transmission
US7986741B2 (en) * 2007-09-28 2011-07-26 Samsung Electronics Co., Ltd. Method and apparatus of improved circular buffer rate matching for turbo-coded MIMO-OFDM wireless systems

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
3GPP TSG RAN WG1 #48bis R1-071578 *
3GPP TSG RAN WG1 #48bis R1-071699 *
3GPP TSG RAN WG1 #49 R1-072138 *
3GPP TSG RAN WG1 #49 R1-072245 *

Also Published As

Publication number Publication date
MY149949A (en) 2013-11-15
JP2014060814A (ja) 2014-04-03
KR101593700B1 (ko) 2016-02-12
ES2610818T3 (es) 2017-05-03
EP3136638A1 (en) 2017-03-01
RU2467484C2 (ru) 2012-11-20
KR20100031575A (ko) 2010-03-23
US7890834B2 (en) 2011-02-15
EP2171908B1 (en) 2016-10-19
ZA200908521B (en) 2010-08-25
WO2008157523A2 (en) 2008-12-24
JP2010529756A (ja) 2010-08-26
BRPI0813136A2 (pt) 2014-12-23
EP2171908B9 (en) 2017-04-19
US20080320353A1 (en) 2008-12-25
CN101682486B (zh) 2013-04-10
WO2008157523A3 (en) 2009-02-19
RU2604992C2 (ru) 2016-12-20
JP5499366B2 (ja) 2014-05-21
RU2012118754A (ru) 2013-11-10
CA2689587C (en) 2012-11-13
EP2485426A1 (en) 2012-08-08
KR101701083B1 (ko) 2017-01-31
EP2171908A2 (en) 2010-04-07
CA2689587A1 (en) 2008-12-24
JP5791161B2 (ja) 2015-10-07
RU2010101681A (ru) 2011-07-27
CN101682486A (zh) 2010-03-24

Similar Documents

Publication Publication Date Title
KR101701083B1 (ko) 순환 버퍼를 포함하는 장치 및 순환 버퍼에 리던던시 버전들을 할당하는 방법
US11165537B2 (en) Method for encoding information bit sequence in communication network
US7260770B2 (en) Block puncturing for turbo code based incremental redundancy
KR100586343B1 (ko) 향상된 터보 코드 기반 증분 리던던시
CN101183875B (zh) 一种Turbo码的有限长度循环缓存的速率匹配方法
EP2111703B1 (en) Method for sub -packet generation with adaptive bit index
US8341490B2 (en) Virtual limited buffer modification for rate matching
US11133832B2 (en) Data processing method and device
JP2011139475A (ja) 通信システムのためのレートマッチングおよびチャネル・インターリービング
CN108173621B (zh) 数据传输的方法、发送设备、接收设备和通信系统
US8583997B2 (en) Method and device for padding optimization of segmented turbo codes
US20080256424A1 (en) Information bit puncturing for turbo coding with parameter selectable rate matching tailored to lower eb/no without degrading bler (block error rate) performance
JP4741130B2 (ja) データフレームを伝送する方法および装置ならびにデータレートを適合化する方法および装置
WO2002099994A1 (en) System and method for interleaving data in a wireless transmitter
KR20080010736A (ko) 광대역 무선접속 통신시스템에서 길쌈 터보 부호의 부호화장치 및 방법
CN102075285B (zh) 一种速率匹配方法及装置
KR101613984B1 (ko) 입력 데이터의 상대적 고밀도를 이용한 부호화 방법 및 장치
WO2009119057A1 (ja) 無線通信装置および誤り訂正符号化方法

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant