KR20080068660A - 지능형 테이블-구동 인터리빙 - Google Patents

지능형 테이블-구동 인터리빙 Download PDF

Info

Publication number
KR20080068660A
KR20080068660A KR1020087009273A KR20087009273A KR20080068660A KR 20080068660 A KR20080068660 A KR 20080068660A KR 1020087009273 A KR1020087009273 A KR 1020087009273A KR 20087009273 A KR20087009273 A KR 20087009273A KR 20080068660 A KR20080068660 A KR 20080068660A
Authority
KR
South Korea
Prior art keywords
data
blocks
output
interleaving
bit position
Prior art date
Application number
KR1020087009273A
Other languages
English (en)
Other versions
KR101084821B1 (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 KR20080068660A publication Critical patent/KR20080068660A/ko
Application granted granted Critical
Publication of KR101084821B1 publication Critical patent/KR101084821B1/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/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/2792Interleaver wherein interleaving is performed jointly with another technique such as puncturing, multiplexing or routing
    • 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
    • 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/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/275Interleaver wherein the permutation pattern is obtained using a congruential operation of the type y=ax+b modulo c
    • 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/276Interleaving address generation
    • 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/2767Interleaver wherein the permutation pattern or a portion thereof is stored
    • 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/2782Interleaver implementations, which reduce the amount of required interleaving memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

본 발명은 감소된 인터리빙 테이블을 사용하는 인터리버를 사용하여 입력 데이터 블록으로부터 인터리빙된 출력 데이터 블록들을 발생시킨다. 감소된 인터리빙 테이블을 입력 데이터 블록의 비트들에게 상호 동작가능하게 적용함으로써, 인터리버는 풀-사이즈 인터리빙 테이블을 사용하여 발생되는 것과 동일한 출력 데이터 블록들을 발생시킨다. 본 발명의 일 실시예에 따르면 인터리빙 회로는 그룹화 회로, 치환 회로 및 맵핑 회로를 포함한다. 그룹화 회로는 다수의 서브-블록들로 각각의 데이터 블록의 비트들을 그룹화하는 반면, 치환 회로는 감소된 인터리빙 테이블을 사용하여 각각의 서브-블록에서 데이터 비트들을 독립적으로 치환함으로써 치환된 서브-블록들을 발생시킨다. 맵핑 회로는 비트들을 각각의 치환된 서브-블록으로부터 하나 이상의 출력 데이터 블록들로 맵핑하는데, 여기서 각각의 출력 데이터 블록의 비트들은 여러 서브-블록 및/또는 여러 입력 데이트 블록으로부터 비트들을 포함할 수 있다.
Figure P1020087009273
인터리빙 테이블, 인터리빙 회로, 그룹화 회로, 치환 회로, 맵핑 회로

Description

지능형 테이블-구동 인터리빙{INTELLIGENT TABLE-DRIVEN INTERLEAVING}
본 발명은 일반적으로 디지털 통신 시스템에 관한 것이고, 특히 무선 디지털 통신 시스템에서 인터리버 및 디-인터리버에 관한 것이다.
디지털 통신에서, 잡음 및 간섭은 비트 오류가 전송 동안 발생하도록 한다. 이러한 비트 오류를 감소시키기 위해서, 디지털 통신 시스템은 전형적으로 수신기에서 비트 오류의 검출 및/또는 정정을 가능하게 하는 오류 제어 코드들을 사용한다. 이러한 오류 제어 코드들은 통신 채널을 통해 전송된 정보 내로 제어된 리던던시(redundancy)를 도입하는데, 이는 수신된 신호에서 오류를 검출하고/하거나 정정하기 위해서 수신기에서 사용될 수 있다.
컨볼루션 코드(convolutional code)들은 비트 오류를 검출하여 정정하기 위해서 디지털 통신 시스템에 의해 사용되는 한 유형의 오류 제어 코드를 나타낸다. 컨볼루션 코드들은 전송된 비트에서 개별적인 비트에 오류를 일으킬 때 발생하는 랜덤 비트 오류를 효율적으로 검출하여 정정한다. 랜덤 오류는 전형적으로 격리되고, 통신 채널에서 잡음에 의해 야기될 수 있다. 그러나 컨볼루션 코드들은 수신기가 오류에서 일련의 근접하거나 가깝게 거리를 두는 비트들을 수신할 때 발생하는 버스트 오류에 민감한다.
컨볼루션 코드와 같은 오류 정정 코드의 버스트 오류 정정 캐퍼빌리티(capability)를 강화하기 위해서, 디지털 통신 시스템은 인터리버 및 디-인터리버를 포함할 수 있다. 인터리버 맵은 공지된 인터리빙 패턴에 따라 출력 데이터 블록의 대응하는 출력 비트 위치에 입력 데이터 블록의 비트 위치를 입력한다. 결과적으로, 인터리버는 시간에 걸쳐 비트를 확산시키도록 비트에 다시 명령한다. 이러한 재명령은 출력 데이터 블록(들)을 통해 긴 버스트 오류들을 확산시켜 버스트 오류를 독립적인 랜덤 비트 오류로 나타내도록 한다.
통신 시스템은 전형적으로 인터리빙 및 디-인터리빙을 수행하기 위해서 계산 방법 또는 룩-업 방법 중 하나를 사용한다. 룩-업 방법은 각각의 입력 비트에 대한 사전-계산된 맵핑 값을 포함하는 인터리빙 테이블을 사용한다. 인터리빙 테이블에서 값은 입력 데이터 블록의 비트들을 출력 데이터 블록의 출력 비트 위치에 맵핑한다. 결과적으로, 인터리버/디-인터리버는 단순한 룩-업 동작에 의해 각각의 입력 비트에 대한 출력 비트 위치를 결정한다. 룩-업 방법을 구현하는 것은 최소의 프로세싱 리소스를 필요로 하지만, 상대적으로 많은 비용을 필요로 한다.
계산 방법은 실시간으로 입력 데이터 블록의 각각의 비트에 대한 출력 비트 위치를 계산하기 위해 인터리빙 알고리즘을 사용하며, 맵핑 기능이 닫힌 형태로 표현될 수 있을 때 사용될 수 있다. 계산 방법은 비용을 거의 필요로 하지 않는 반면 더 많은 프로세싱 리소스를 필요로 한다.
메모리 제한은 종종 사용 가능한 프로세싱 리소스에서의 제한보다 디지털 통신 시스템에 대한 칩의 디자인을 제한한다. 그러므로 이러한 시스템에서, 룩-업 방 법은 적합하지 않다. 그러나 프로세싱 리소스는 전력을 많이 소비하고 메모리 리소스보다 비용이 많이 들기 때문에, 메모리 및 프로세싱 리소스들 사이의 양호한 균형을 성취하는 것은 디지털 통신, 특히 모바일 디지털 통신에 대한 칩 세트의 크기 및 비용을 감소시키는 것을 돕는다.
인터리빙 테이블을 저장하는데 필요로 되는 메모리를 감소시키기 위해서, 본 발명에 따른 인터리버는 입력 데이터 블록들로부터 인터리빙된 출력 데이터 블록들을 발생시키기 위해서 감소된 인터리빙 테이블을 사용한다. 입력 데이터 블록의 비트에 감소된 인터리빙 테이블을 상호 동작가능하게 적용함으로써, 인터리버는 종래 풀-사이즈 인터리빙 테이블(full-size interleaving table)을 사용하여 발생되는 것과 동일한 하나 이상의 출력 데이터 블록들을 발생시킨다.
본 발명의 일 실시예에 따르면, 인터리빙 회로는 그룹화 회로(grouping circuit) 및 치환 회로(permuting circuit)를 포함한다. 그룹화 회로는 다수의 서브-블록들로 각각의 데이터 블록의 비트들을 그룹화하는 반면, 치환 회로는 감소된 인터리빙 테이블을 사용하여 각각의 서브-블록에서 데이터 비트들을 독립적으로 치환함으로써 치환된 서브-블록들을 발생시킨다. 인터리버는 또한 각각의 치환된 서브-블록으로부터 출력 데이터 블록으로 비트들을 맵핑하는 맵핑 회로를 포함할 수 있다. 각각의 출력 데이터 블록의 비트들은 상이한 입력 데이터 블록들로부터 비트들을 포함할 수 있다.
하나의 예시적인 실시예에서, 인터리버는 풀-레이트 음성 채널 상에서 비트들을 인터리빙하는데 사용될 수 있다. 이러한 실시예에 따라, 그룹화 회로는 입력 데이터 블록의 456 데이터 비트들을 8 개의 서브-블록으로 그룹화하는데, 여기서 각각의 서브-블록은 57 개의 데이터 비트들을 포함한다. 치환 회로는 치환된 서브-블록들을 발생시키기 위해서 감소된 인터리빙 테이블을 사용하여 각각의 서브 블록의 비트들을 치환한다. 맵핑 회로는 제1 네 개의 치환 서브-블록으로부터 제1 출력 데이터 블록의 짝수 위치로 비트들을 맵핑하고, 마지막 네 개의 치환 서브-블록들로부터 제2 출력 데이터 블록의 홀수 위치로 비트들을 맵핑한다.
도1은 본 발명의 채널 인코더/디코더가 사용될 수 있는 이동 통신 장치의 블록도.
도2는 본 발명에 따른 예시적인 채널 인코더의 블록도.
도3은 본 발명에 따른 예시적인 채널 디코더의 블록도.
도4는 본 발명에 따른 예시적인 인터리버의 블록도.
도5는 본 발명에 따른 예시적인 인터리버의 프로세싱 다이어그램.
도6은 본 발명의 인터리버에 대한 예시적인 감소된 인터리빙 테이블을 도시하는 도면.
도7A 및 도7B는 본 발명에 따른 예시적인 치환 프로세스의 도식적인 도면.
본 발명은 이동 통신 장치 및 무선 네트워크 사이의 무선 통신에 관한 것이다. 아래에서 본 발명을 단일 이동 통신 장치로 설명하였지만, 당업자는 본 발명이 무선 네트워크 내에서 무선 신호를 송신하고 수신하는 다수의 이동 통신 장치에 적용된다는 것을 인식할 것이다.
도1은 10으로 일반적으로 나타내지는 이동 통신 장치를 도시한다. 이동 통신 장치(10)는 이동 통신 징치(10)의 모든 동작을 제어하는 시스템 제어기(12), 동작을 위해 필요로 되는 프로그램 및 데이터를 저장하는 메모리(14), 신호를 송신하기 위한 송신기(20) 및 신호를 수신하기 위한 수신기(30)를 포함한다. 듀플렉서 또는 스위치(16)는 풀-듀플렉스 동작을 허용하기 위해서 송신기(20) 및 수신기(30)를 공통 안테나(18)에 결합시킨다.
송신기(20)는 정보 소스로부터 소스 데이터 스트림을 수신하고, 무선 채널을 통해 전송에 적합한 송신 신호를 발생시키도록 소스 데이터 스트림을 처리하며, RF 반송파 상에서 송신 신호를 변조시킨다. 이 때문에, 송신기(20)는 소스 인코더(22), 채널 인코더(24) 및 변조기(26)를 포함한다. 소스 인코더(22)는 리던던시를 제거하거나 소스 데이터 스트림을 랜덤화하여 최대 정보 콘텐츠에 대해 최적화된 정보 데이터 블록을 생성한다. 예를 들어, 소스 인코더(22)는 통신 채널을 통한 전송을 위해 음성을 인코딩하기 위해서 음성 인코더를 포함할 수 있다. 소스 인코더(22)로부터의 정보 스트림은 채널 인코더(24)로 통과된다. 채널 인코더(24)는 코딩된 출력을 발생시키기 위해 리던던시 요소를 정보 스트림에 도입한다. 채널 인코더(24)에 의해 부가된 리던던시는 통신 시스템의 오류 정정 캐퍼빌리티를 강화하도록 서비스한다. 리던던트 정보를 사용함으로써, 수신기(30)는 전송 동안 발생할 수 있는 비트 오류들을 검출하여 정정할 수 있다. 게다가, 채널 인코더(24)는 코딩된 비트들을 인터리빙하여 인터리빙된 출력 데이터 블록, 즉, 출력 데이터 블록을 발생시킨다. 변조기(26)는 채널 인코더(24)로부터 출력 데이터 블록(즉, 114 비트)으로부터 발생된 무선 블록(즉, 116 비트)을 변조하여 통신 채널의 물리적인 특성에 적합하고, 통신 채널을 통해 효율적으로 송신될 수 있는 파형을 발생시킨다. 전형적인 변조 방식은 16-QAM, 8-PSK, 4-PSK 등을 포함한다.
수신기(30)는 통신 채널을 통한 통로에 의해 오류가 일어나는 파-엔드 장치(far-end device)로부터 송신된 신호를 수신하고, 수신된 신호로부터 원래 소스 데이터 스트림을 재구성한다. 수신기(30)는 복조기(32), 채널 디코더(34) 및 소스 디코더(36)를 포함한다. 복조기(32)는 수신된 신호들을 프로세싱하고 수신된 비트 시퀀스들을 발생시키는데, 이는 각각 수신된 비트에 대한 하드 또는 소프트 값을 포함할 수 있다. 수신된 신호가 통신 채널을 통해 오류 없이 송신된다면, 복조된 신호는 채널 인코더(24)의 출력에서 대응하는 출력 데이터 블록과 동일할 것이다. 실질적으로, 통신 채널은 비트 오류들을 수신된 신호에 도입한다. 채널 디코더(34)는 채널 인코더(24)에 의해 부가된 리던던시를 사용하여 이러한 비트 오류들을 검출하여 정정한다. 최종 단계로서, 소스 디코더(36)는 채널 디코더(34)의 출력으로부터 정보 신호들을 재구성한다. 재구성된 정보 신호들 및 원래 정보 신호들 사이의 차이점은 통신 시스템에 의해 도입된 왜곡의 측정을 제공한다.
도2 및 도3은 예시적인 채널 인코더(24) 및 디코더(34) 각각을 도시한다. 채널 인코더(24)(도2)는 소스 인코더(22)에 의해 제공되는 정보 시퀀스를 인코딩하기 위해서 인코더(40)를 포함하고, 인코더(40)에 의해 코딩된 비트 출력의 데이터 블 록을 재명령하기 위해 인터리버(50)를 포함한다. 인코더(40)는 예를 들어, 컨볼루션 인코더 또는 블록 인코더를 포함할 수 있다. 인터리버(50)는 후술되는 바와 같이 인코더(40)에 의해 출력된 비트에 재명령하여 버스트 오류에 코딩된 비트들을 더 저항력 있게 하도록 시간에 걸쳐 코딩된 비트들을 확산시킨다.
채널 디코더(34)(도3)는 디코더(62) 다음에 디-인터리버(60)를 포함한다. 디-인터리버(60)는 인터리버(50)에 의해 수행되는 프로세스를 반전시킨다. 비트 오류가 존재하면, 디-인터리버(60)로의 입력 시퀀스는 인터리버(50)에 의해 출력된 시퀀스일 것이다. 이와 같이, 디-인터리버(60)로부터 출력 데이터 블록의 비트들은 전송 동안 발생될 수 있는 임의의 비트 오류들을 제외하고 채널 인코더(40)에 의해 출력된 코딩된 비트들과 같다. 디-인터리버(60)로부터 출력 비트 시퀀스는 오류 검출 및/또는 정정을 위해 디코더(62)에 입력된다.
종래 인터리버 및 디-인터리버는 인터리빙 알고리즘(계산 방법) 또는 풀-인터리빙 테이블(룩-업 테이블 방법)을 사용하여 인터리빙 및 디-인터리빙 프로세스들을 수행한다. 그러나 상기 논의된 바와 같이, 계산 방법은 프로세서 집약적이고 룩-업 테이블 방법은 메모리 집약적이다. 본 발명은 감소된 인터리빙 테이블(15)을 상호 동작가능하게 사용함으로써 프로세싱 및 메모리 리소스의 사용의 균형을 맞춰 인터리빙 및 디-인터리빙 프로세스 각각을 용이하게 한다. "감소된 인터리빙 테이블"은 종래 인터리버에서 사용되는 풀-인터리빙 테이블보다 적은 값을 갖는 인터리빙 테이블을 나타낸다. 이와 같이, 감소된 인터리빙 테이블(15)은 풀 인터리빙 테이블보다 비용을 더 필요로 한다. 상호 동작 가능하게 감소된 인터리빙 테이블(15) 을 사용함으로써, 인터리버(50)는 풀-인터리빙 테이블을 사용하여 발생되는 것과 동일한 출력 데이터 블록을 발생시킨다. 본 발명이 인터리버(50)에 의해 수행되는 인터리빙 동작의 콘텍스트에서 설명될지라도, 당업자는 동일한 인터리빙 기술이 수신된 데이터 블록들을 디-인터리빙 하기 위해서 수신기(30)에서 디-인터리버(60)에 의해 사용될 수 있다는 것을 인식할 것이다.
도4는 본 발명에 따라 하나의 예시적인 인터리버(50)에 대한 블록도를 도시한다. 인터리버(50)는 그룹화 회로(52), 치환 회로(54) 및 맵핑 회로(56)를 포함한다. 그룹화 회로(52)는 n번째 데이터 블록(B(n))의 비트를 b 개의 서브-블록(bs(n, 0:b-1)으로 그룹화하는 반면, 치환 회로(54)는 감소된 인터리빙 테이블(15)을 사용하여 각각의 서브-블록의 비트들을 독립적으로 치환함으로써 치환된 서브-블록들(bp(n,0:b-1)을 발생시킨다. 맵핑 회로(56)는 치환된 서브-블록들(bp(n,0:b-1)의 비트들을 하나 이상의 출력 데이터 블록(Tb)의 비트 위치로 맵핑한다. 다음 논의를 용이하게 하기 위해서, 도5 내지 도7은 GSM 시스템에서 풀-레이트 음성 채널에 대한 본 발명의 인터리빙 프로세스를 도시한다. 그러나 당업자는 인터리버(50)가 특정한 유형의 데이터 블록들 또는 이러한 특정한 구현에 국한되지 않는다는 것을 인식할 것이다.
도5에 도시된 바와 같이, 풀-레이트 음성 채널에 대한 입력 데이터 블록은 456 비트를 포함한다. 그룹화 회로(52)는 연속적인 비트를 입력 데이터 블록(B(n))으로부터 b=8 서브 블록들(Bs(N, 0:7))로 그룹화한다. 입력 데이터 블록의 비트 위 치(K)에 대해서, 서브-블록은 mod(k,8)에 의해 제공될 수 있다. 치환 회로(54)는 아래에서 더 설명되는 바와 같이, 감소된 인터리빙 테이블(15)을 사용하여 각각의 서브-블록에서 비트를 독립적으로 치환함으로써 치환된 서브-블록(bp(n, 0:7)을 발생시킨다. 맵핑 회로(56)는 각각의 치환된 서브-블록의 비트들을 하나 이상의 출력 데이터 블록(Tb)으로 맵핑한다. 도5에 도시된 하나의 예시적인 실시예에 따르면, 맵핑 회로(56)는 입력 데이터 블록(n)에 대응하는 제1 네 개의 치환 서브 블록(bp(n, 0:3)의 비트들을 제1 출력 데이터 블록(Tb(n))의 짝수 위치로 맵핑하고, 입력 데이터 블록(n)에 대응하는 제1 네 개의 치환된 서브-블록들(bp(n, 0:3))의 비트들을 제1 출력 데이터 블록(Tb(n))의 홀수 위치에 맵핑하며, 입력 데이터 블록(n)에 대응하는 마지막 네 개의 치환된 서브-블록들(bp(n, 4:7))의 비트들을 다음의 출력 데이터 블록(Tb(n+1))의 홀수 위치에 맵핑한다.
도6은 GSM 풀-레이트 음성 채널에 적용 가능한 예시적인 감소된 인터리빙 테이블(15)을 도시한다. 치환 회로(54)는 그룹화 회로(52)에 의해서 발생된 각각의 서브-블록에 감소된 인터리빙 테이블(15)을 적용시켜 치환 서브-블록을 발생시킨다. 특히, 치환 회로(54)는 각각의 서브-블록에 대한 시작 위치를 식별하고, 대응하는 시작 위치로부터 서브-블록에 감소된 인터리빙 테이블(15)을 적용한다. 테이블의 끝이 치환 동작을 완성하기 전에 도달한다면, 치환 회로(54)는 감소된 인터리 빙 테이블(15)의 시작으로 되돌아가서, bs(n,1)에 대해 도7에 도시된 바와 같이, 치환 프로세스를 계속한다.
도7A 및 도7B는 n번째 입력 데이터 블록(bs(n,0) 및 bs(n,1))의 제1 및 제2 서브-블록들에 대한 치환 프로세스를 도식적으로 도시한다. bs(n,0)에 대해서, 치환 회로(54)는 bs(n,0)에 대한 시작 위치로서 테이블 위치(0)를 식별한다. 도7A에 도시된 바와 같이, 치환 회로(54)는 테이블 위치(0)로부터 시작하는 감소된 인터리빙 테이블(15)의 치환 패턴을 bs(n,0)의 각각의 비트에 적용하여, 제1 치환된 서브-블록(bp(n,0))을 발생시킨다. 특히, 치환 회로(54)는 bs(n,0)의 제1 비트를 bp(n,0)의 비트 위치(0)로 이동시키고, bs(n,0)의 제2 비트를 bp(n,0)의 비트 위치로 이동시킨다. 제2 서브 블록(bs(n,1))을 치환하기 위해서, 치환 회로(54)는 도7B에 도식적으로 도시된 바와 같이, 테이블 위치(50)로부터 시작하는 bs(n,1))의 각각의 비트에 치환 패턴을 적용하기 위해서 시작 위치를 이동시킨다. 특히, 치환 회로(54)는 bs(n,1)의 제1 비트를 bp(n,0)의 비트 위치(49)로 이동시키고, bs(n,0)의 제2 비트는 bp(n,0)의 비트 위치(42)로 이동시킨다. 이러한 프로세스는 치환 회로(54)가 소정의 입력 데이터 블록에 대한 각각의 서브-블록을 독립적으로 치환할 때까지 각각의 서브-블록에 대해 계속한다.
치환 회로(54)가 치환 동작을 완료한 후에, 맵핑 회로(56)는 치환된 서브-블 록들(bp(n, 0:7)의 비트들을 하나 이상의 출력 데이터 블록에 맵핑한다. 도5에 도시된 바와 같이, 예시적인 출력 데이터 블록(Tb)은 네 개의 전송 버스트(Ti)를 포함하는데, 여기서 각각의 전송 버스트는 114 비트를 포함한다. 도5에 도시된 예시적인 실시예에서, 맵핑 회로는 제1 네 개의 치환 된 서브 블록의 비트들을 제1 치환 서브 블록(bp(0, 0:3))으로부터 제1 출력 데이터 블록(Tb(0))의 대응하는 전송 버스트의 홀수 비트 위치로 맵핑한다. 예를 들어, 맵핑 회로(56)는 bp(0,0)로부터 제1 전송 버스트(Ti(0))의 홀수 비트 위치로 비트들을 맵핑하고, 비트들을 bp(0,1)로부터 Ti(1)의 홀수 비트 위치로 맵핑한다. 맵핑 회로(56)는 또한 마지막 네 개의 치환된 서브-블록들(bp(0, 4:7))의 비트들을 제2 출력 데이터 블록(Tb(1))의 대응하는 전송 버스트의 홀수 비트 위치로 맵핑한다. 예를 들어, 맵핑 회로(56)가 비트들을 bp(0,4)로부터 Tb(1)의 제1 전송 버스트(Ti(0))의 홀수 비트 위치로 맵핑하고, 비트들을 bp(0,5)으로부터 Tb(1)의 제2 전송 버스트(Ti(1))의 홀수 비트 위치로 맵핑한다. 유사하게, 맵핑 회로(56)는 제2 데이터 블록(bp(1, 0:3)의 제1 네 개의 치환된 서브-블록의 비트들을 제2 출력 데이터 블록(Tb(1))의 대응하는 전송 버스트의 짝수 비트 위치로 맵핑하고, 마지막 네 개의 치환된 서브-블록(bp(1, 4:7))의 비트들을 제3 출력 데이터 블록(Tb(2))의 대응하는 전송 버스트의 홀수 비트 위치로 맵핑한 다. 이러한 프로세스는 송신기가 순차적으로 각각의 출력 데이터 블록의 변조된 버전을 송신함에 따라 각각의 데이터 블록 동안 반복된다.
상술된 바와 같이, 인터리버(50)는 감소된 인터리빙 테이블(15)을 사용하여 종래 풀 인터리빙 테이블에 의해 발생된 것과 동일한 인터리빙된 출력 데이터 블록을 발생시킨다. 아래에서 감소된 인터리빙 테이블(15)이 풀 인터리빙 테이블로부터 도출되는 방법이 상세히 설명된다.
종래 풀-레이트 음성 인터리버는:
Ti(l,j) = B(n,k), k=0,1,2,3,…,42,453,454,455, (1)
여기서 l= 4n + mod(k,8) 및 (2)
j = 2mod(49k,57) + quotient((mod(k,8)),4) (3)
에 따라 n번째 입력 데이터 블록(B)의 k번째 위치의 데이터 비트를 출력 데이터 블록(Tb)의 l번째 전송 버스트(Ti)의 j번째 위치로 인터리빙할 수 있다.
수학식(2) 및 수학식(3)은 폐쇄형 블록 대각 인터리빙 함수의 한 예를 나타낸다. 수학식(3)의 제 1항은 데이터를 치환하고 인터리버가 현재 데이터 블록으로부터 인터리빙된 비트들로 출력 데이터 블록의 반을 채우도록 한다. 수학식(3)의 제 2항은 입력 데이터 블록의 k번째 위치의 비트가 출력 데이터 블록의 홀수 또는 짝수 위치로 가는지 여부를 결정한다. 456 데이터 블록의 비트들을 인터리빙하기 위해서, 종래 인터리빙 시스템은 수학식 (3)으로부터 도출된 인터리빙 테이블을 필요로 하는데, 여기서 결과적인 인터리빙 테이블은 456 값, 입력 데이터 블록의 비 트들 각각에 대해 1을 갖는다.
종래 인터리빙 테이블의 크기를 감소시키기 위해서, 본 발명은 도5에 도시되고 상술된 바와 같이 세 개의 독립적인 단계로 인터리빙 프로세스를 분리한다: 그룹화 회로(52)에 의해 수행되는 그룹화 단계, 치환 회로(54)에 의해 수행되는 치환 단계, 및 맵핑 회로(56)에 의해 수행되는 맵핑 단계. 그룹화 회로(52) 및 맵핑 회로(56)는 일반적으로 수학식(3)의 제2 반을 구현하고, 치환 회로(54)에 대해 수학식(3)의 제1 반을 남긴다.
수학식(4)에 도시된 바와 같이, mod(49k,57)은 서브-블록들의 비트 위치를 참조하기 위해서 재기록될 수 있다.
mod(49k,57) = mod((49(8m + b) + 57), 57) (4)
수학식(4)에서, m=0,1,…,56이고, b번째 서브-블록의 비트 위치를 나타낸다. 수학식(4)의 모듈로(modulo) 특징으로 인해, b=1에 대해 발생된 치환 패턴은 b=0에 대해 발생된 치환 패턴의 오프셋, 반복된 버전이다. 유사하게, 수학식(4)은 또한 b=1에 대해 치환 패턴의 오프셋 반복된 버전인 b=2에 대한 치환 패턴을 발생시킨다. 이는 각각의 서브-블록들에 대해 참을 유지한다. 그러므로 수학식(4)의 우항은 각각의 서브-블록에 대해 반복하는 치환 패턴을 발생시키고, 여기서, 각각의 반복된 패턴은 이전 반복된 패턴으로부터 오프셋된다. 반복된 패턴에서 감소된 인터리빙 테이블을 생성함으로써, 그리고 각각의 서브-블록에 대한 감소된 인터리빙 테이블 내에서 여러 시작 위치를 나타냄으로써, 본 발명은 입력 데이터 블록의 각각의 서브-블록을 독립적으로 치환하는데 재사용될 수 있고, 종래 인터리빙 시스템의 풀 인터리빙 테이블보다 더 적은 메모리를 사용하는 감소된 인터리빙 테이블을 생성한다.
8개의 하프-버스트(또는 2개의 하프-블록)를 통해 입력 데이터 블록의 비트들을 인터리빙 하는 방법 및 장치가 설명되었다. 그러나 본 발명은 제한적이지 않다. 예를 들어, 본 발명의 감소된 인터리빙 테이블은 또한 4개의 하프-전송 버스트(변형1)를 통해, 6개의 전송 버스트(변형2), 또는 4개의 풀-전송 버스트(변형3)을 통해 입력 데이터 블록으로부터 데이터 비트들을 인터리빙 하기 위해서 다른 제어 채널 인터리버들 또는 AMR(적응형 멀티-레이트) 인터리버에서 사용될 수 있다.
종래 인터리버들은:
Ti(b,j) = B(n,k), k=4,5,6,7,12,13,14,15,…,452,453,454,455, (5)
여기서 b = 4n + mod(k,8) - 4, 및 (6)
j = 2mod(49k,57) + quotient((mod(k,8)), 4) (7)
에 따라 4개의 하프-전송 버스트를 통해 데이터를 인터리빙한다.
수학식(7)은 수학식(3)과 동일하기 때문에, 본 발명의 인터리버(50)는 상술된 바와 같이 감소된 인터리빙 테이블(15)을 사용하여 그룹화 회로(52)에 의해 발생된 서브-블록에서 비트들을 치환할 수 있다. 그러나 이러한 실시예에 대해서, 그룹화 회로(52)는 8개의 서브-블록 대신 4개의 서브-블록으로 비트들을 그룹화하는데, 여기서 각각의 서브-블록은 57비트들을 포함한다. 치환 및 맵핑 함수는 상술된 바와 같다.
종래 인터리버들은:
Ti(b,j) = B(n,k), k=0,1,2,3,…,42,453,454,455, (8)
여기서 b = 4n + mod(k,8) - 4quotient((mod(k,8)),6), 및 (9)
j = 2mod(49k, 57) + quotient((mod(k,8)), 4) (10)
에 따라 6개의 전송 버스트(변형2)를 통해 데이터를 인터리빙한다.
수학식(8) 내지 수학식 (10)의 인터리빙 동작은 입력 데이터 블록의 비트의 반을 제1 출력 데이터 블록의 4개의 전송 버스트의 짝수 위치로 인터리빙하고, 입력 데이터 블록의 나머지 비트들을 제2 출력 데이터 블록의 4개의 전송 버스트의 홀수 위치로 인터리빙한다. 최종 인터리빙 프로세스의 일부로서, 제1 출력 데이터 블록으로부터 마지막 두 개의 전송 버스트는 제2 출력 데이터 블록의 마지막 두 개의 전송 버스트와 결합되어 나머지 4개의 하프 전송 버스트들 사이의 2개의 풀 전송 버스트를 형성한다.
변형1에 대해서, 본 발명의 인터리버(50)는 수학식(10)이 수학식(3)과 동일하기 때문에 상술된 동일한 감소된 인터리빙 테이블(15)을 사용하여 변형(11)을 구현할 수 있다. 게다가, 그룹화 회로(52) 및 치환 회로(54)는 상술된 동일한 그룹화 프로세스 및 치환 프로세스를 수행한다. 그러나 이러한 변형에 대해서, 맵핑 회로(56)는 상술된 것과는 상당히 다른 맵핑 프로세스를 수행한다. 특히, 맵핑 회로(56)는 비트들을 bp(n, 0:1)로부터 제1 출력 데이터 블록의 제1 두 개의 전송 버스트의 짝수 위치로 맵핑하고, 비트들을 bp(n, 4:5)로부터 제2 출력 데이터 블록의 제1 두 개의 전송 버스트의 홀수 위치로 맵핑한다. 게다가, 맵핑 회로(56)는 비트들을 bp(n, 2:3)으로부터 제1 출력 데이터 블록의 마지막 두 개의 전송 버스트의 짝수 위치로 맵핑하며, 비트들을 bp(n, 6:7)로부터 제1 출력 데이터 블록의 마지막 두 개의 전송 버스트의 홀수 위치로 맵핑한다.
종래 인터리버들은:
Ti(b,j) = B(n,k), k=0,1,2,3,…,42,453,454,455, (11)
여기서 b = 4n + mod(k,4), 및 (12)
j = 2mod(49k,57) + quotient((mod(k,8)), 4) (13)
에 따라 4개의 풀 전송 버스트(변형3)를 통해 데이터를 인터리빙한다.
또한, 수학식(13)이 수학식(3)과 동일하기 때문에, 본 발명의 인터리버(50)는 상술된 것과 동일한 감소된 인터리빙 테이블(15)을 사용할 수 있다. 게다가, 그룹화 회로(52)는 모듈로 프로세스를 사용하여 8개의 서브-블록으로 입력 데이터 비트들을 그룹화하며, 치환 회로(54)들은 감소된 인터리빙 테이블(15)을 사용하여 서브-블록의 데이터 비트들을 치환한다. 그러나 이러한 실시예에서, 맵핑 회로(56)는 비트들을 제1 네 개의 치환 서브-블록으로부터 출력 데이터 블록의 대응하는 전송 버스트의 짝수 위치로 맵핑하며, 비트들을 마지막 네 개의 치환된 서브 블록으로부터 동일한 출력 데이터 블록의 대응하는 전송 버스트의 홀수 위치로 맵핑한다.
감소된 인터리빙 테이블(15)을 사용하여 입력 데이터 블록의 데이터 비트들을 인터리빙하는 것이 상술되었다. 상술된 예시적인 감소된 인터리빙 테이블(15)은 57 개의 값을 포함한다. 종래 인터리빙 테이블은 456 개의 값을 포함하기 때문에, 본 발명은 적어도 8의 팩터에 의해 인터리빙 테이블에 대한 메모리 요구 조건을 감소시킨다. 게다가, 메모리(14)는 각각의 인터리빙 테이블 값에 대한 16 개의 비트들을 저장하며, 감소된 인터리빙 테이블(15)의 값들(s)은 6개의 비트만을 필요로 하기 때문에, 두 개의 값들을 하나의 16 비트 워드로 결합함으로써 메모리를 더 절약할 수 있다. 결과적으로, 메모리(14)는 단지 27개의 워드들을 저장하여 전체 감소된 인터리빙 테이블(15)을 저장할 필요가 있다.
게다가, 메모리 절약은 메모리(14)가 간결화된 버전의 감소된 인터리빙 테이블을 저장한다면 인식될 수 있다. 예를 들어, 메모리(14)는 값들을 시드(seed)함으로써 감소된 인터리빙 테이블(15)의 제1 8개의 값(0,50,43,36,29,22,15 및 18) 만을 저장할 수 있다. 이러한 실시예에 따르면, 치환 회로(54)는 치환 프로세스의 일부로서 8개의 저장된 시드 값으로부터 감소된 인터리빙 테이블(15)을 재생성한다. 예를 들어, 치환 회로(54)는 다음의 허위-코드에 따라 감소된 인터리빙 테이블(15)을 재생성할 수 있다:
seed = {0,50,43,36,29,22,15 and 18}
for i = 0 to 6{
for j= 0 to 7{
RIT [8*i+j]=seed[j] + i
}
}
RIT(56) = 7
end
시드 값들로부터 감소된 인터리빙 테이블(15)을 재생성하는 다른 형태가 또한 구현될 수 있다고 인식될 것이다.
본 발명의 인터리버(50)는 종래 인터리버와 비교될 때 메모리 및 프로세싱 리소스들 사이에 양호한 균형을 제공한다. 우선, 종래 인터리버는 각각의 입력 데이터 비트 상에서 두 개의 동작(인터리빙 및 이동)을 수행하는 반면, 본 발명의 인터리버는 각각의 입력 데이터 비트 상에서 세 개의 동작(그룹화, 치환 및 맵핑)을 수행한다. 이와 같이, 본 발명은 1.5의 팩터에 의해서만 인터리빙 동작의 프로세싱 요구 조건을 증가시킨다. 게다가, 감소된 인터리빙 테이블(15)에 대한 메모리 요구 조건은 적어도 8의 팩터에 의해 감소된다. 이와 같이, 본 발명의 인터리버는 송신기(24)의 프로세싱 리소스에 최소의 영향을 미치는 인터리빙 프로세스의 메모리 요구조건을 상당히 감소시킨다. 게다가, 감소된 인터리빙 테이블은 임의의 실시예 및/또는 상술된 변형과 같은 여러 인터리빙 프로세스를 구현하기 위해서 단일 송수신기에 의해 사용될 수 있다.
일반적으로 풀-레이트 음성 채널에 관하여 인터리버가 설명되었다. 상술된 변형과 함께, 이러한 인터리버는 또한 FACCH, SACCH 및 SACCH/TP를 포함하는 제어 채널들을 프로세싱할 수 있다. 이러한 인터리버는 또한 ONSET 및 SID-업데이트 채널들을 포함하는, 조정 가능한 레이트 멀티-채널을 프로세싱할 수 있다. 상술된 인터리버는 강화된 회선-교환 데이터 모드에 대한 E-FACCH에 적용되고, GPRS CS1-4 채널 및 EGPRS MCS 1-4 채널에 적용된다. 일반적으로, 본 발명의 인터리버는 폐쇄된 형태의 인터리빙 함수에 의해 규정된 블록 대각 인터리빙 프로세스를 포함하는 임의의 인터리빙 프로세스에 적용된다.
본 발명은 물론 본 발명의 필수적인 특성을 벗어나지 않고 본원에서 특별히 설명되는 것과 다른 방법으로 수행될 수 있다. 현재 실시예들은 제한적인 것이 아니라 설명적인 것이라고 고려되며, 모든 변화는 본원에 포함된다고 의도되는 첨부된 청구항의 수단 및 등가 범위 내에서 이루어진다.

Claims (44)

  1. 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 데이터 비트들을 인터리빙하는 방법에 있어서,
    감소된 인터리빙 테이블을 저장하는 단계; 및
    상기 감소된 인터리빙 테이블을 상기 데이터 비트들에게 상호 동작 가능하게 적용함으로써 상기 입력 데이터 블록의 데이터 비트들을 인터리빙하는 단계를 포함하는, 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 데이터 비트들을 인터리빙하는 방법.
  2. 제 1항에 있어서,
    상기 데이터 비트들을 인터리빙하는 단계가:
    상기 입력 데이터 블록의 데이터 비트들을 다수의 서브-블록으로 그룹화하는 단계; 및
    각각의 서브-블록의 상기 데이터 비트들을 독립적으로 치환하기 위해서 상기 각각의 서브-블록의 데이터 비트들에게 상기 감소된 인터리빙 테이블을 적용함으로써 치환된 서브-블록들을 발생시키는 단계를 포함하는 것을 특징으로 하는 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 데이터 비트들을 인터리빙하는 방법.
  3. 제 2항에 있어서,
    각각의 서브-블록에 대해 상기 감소된 인터리빙 테이블의 시작 위치를 식별하는 단계를 더 포함하는 것을 특징으로 하는 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 데이터 비트들을 인터리빙하는 방법.
  4. 제 3항에 있어서,
    상기 시작 위치는 각각의 서브-블록에 대한 여러 시작 위치를 식별하는 단계를 포함하고, 여기서 상기 식별된 시작 위치는 상기 감소된 인터리빙 테이블을 통해 균일하게 분포되는 것을 특징으로 하는 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 데이터 비트들을 인터리빙하는 방법.
  5. 제 3항에 있어서,
    상기 감소된 인터리빙 테이블을 상기 각각의 서브-블록의 데이터 비트들에 적용하는 하는 단계는 감소된 인터리빙 테이블을 각각의 식별된 시작 위치로부터 대응하는 서브-블록의 데이터 비트들에게 적용하는 단계를 포함하는 것을 특징으로 하는 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 데이터 비트들을 인터리빙하는 방법.
  6. 제 5항에 있어서,
    상기 감소된 인터리빙 테이블을 상기 각각의 서브-블록의 데이터 비트들에 적용하는 단계는 상기 감소된 인터리빙 테이블의 시작과 다른 시작 위치로부터 상기 감소된 인터리빙 테이블을 적용할 때 상기 감소된 인터리빙 테이블의 끝으로부터 상기 감소된 인터리빙 테이블의 시작으로 랩핑(wrap)하는 단계를 더 포함하는 것을 특징으로 하는 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 데이터 비트들을 인터리빙하는 방법.
  7. 제 2항에 있어서,
    상기 데이터 비트들을 인터리빙하는 단계는 상기 데이터 비트들을 각각의 치환된 서브-블록으로부터 하나 이상의 출력 데이터 블록들로 맵핑하는 단계를 더 포함하는 것을 특징으로 하는 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 데이터 비트들을 인터리빙하는 방법.
  8. 제 7항에 있어서,
    상기 치환된 데이터 비트들을 맵핑하는 단계는:
    상기 데이터 비트들을 제1 수의 치환된 서브-블록들로부터 제1 출력 데이터 블록의 짝수 위치로 맵핑하는 단계; 및
    상기 데이터 비트들을 제2 수의 치환된 서브-블록으로부터 상기 제1 출력 데이터 블록의 홀수 위치로 맵핑하는 단계를 포함하는 것을 특징으로 하는 입력 데이 터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 데이터 비트들을 인터리빙하는 방법.
  9. 제 7항에 있어서,
    상기 치환된 데이터 비트들을 맵핑하는 단계는:
    상기 데이터 비트들을 제1 수의 치환된 서브-블록들로부터 제1 출력 데이터 블록의 짝수 위치로 맵핑하는 단계; 및
    상기 데이터 비트들을 제2 수의 치환된 서브-블록으로부터 상기 제2 출력 데이터 블록의 홀수 위치로 맵핑하는 단계를 포함하는 것을 특징으로 하는 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 데이터 비트들을 인터리빙하는 방법.
  10. 제 9항에 있어서,
    상기 데이터 비트들을 제2 데이터 블록으로부터 제2 다수의 서브-블록들로 그룹화하는 단계;
    각각의 상기 제2 다수의 서브-블록들의 데이터 비트들을 독립적으로 치환하기 위해서 각각의 상기 제2 다수의 서브-블록들의 데이터 비트들에게 상기 감소된 인터리빙 테이블을 적용함으로써 제2 세트의 치환된 서브-블록들을 발생시키는 단계;
    상기 데이터 비트들을 제1 수의 제2 다수의 치환된 서브-블록으로부터 상기 제2 출력 데이터 블록의 짝수 위치로 맵핑하는 단계; 및
    상기 데이터 비트들을 제2 수의 제2 다수의 치환된 서브-블록으로부터 제3 출력 데이터 블록의 홀수 위치로 맵핑하는 단계를 더 포함하는 것을 특징으로 하는 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 데이터 비트들을 인터리빙하는 방법.
  11. 제 10항에 있어서,
    소정의 통신 표준에 따라 상기 출력 데이터 블록들을 초기화하는 단계를 더 포함하는 것을 특징으로 하는 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 데이터 비트들을 인터리빙하는 방법.
  12. 제 2항에 있어서,
    상기 입력 데이터 블록이 456-비트 데이터 블록을 포함하는 것을 특징으로 하는 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 데이터 비트들을 인터리빙하는 방법.
  13. 제 12항에 있어서,
    상기 데이터 비트들을 그룹화하는 단계는 상기 입력 데이터 블록의 데이터 비트들을 8개의 서브-블록들로 그룹화하는 단계를 포함하는데, 여기서 각각의 서브-블록은 상기 입력 데이터 블록으로부터 57개의 비트를 포함하는 것을 특징으로 하 는 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 데이터 비트들을 인터리빙하는 방법.
  14. 제 12항에 있어서,
    상기 데이터 비트들을 그룹화하는 단계는 상기 입력 데이터 블록의 데이터 비트들을 4개의 서브-블록들로 그룹화하는 단계를 포함하는데, 여기서 각각의 서브-블록은 상기 입력 데이터 블록으로부터 57개의 비트들을 포함하는 것을 특징으로 하는 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 데이터 비트들을 인터리빙하는 방법.
  15. 제 12항에 있어서,
    상기 감소된 인터리빙 테이블을 저장하는 단계는 57개의 값을 갖는 감소된 인터리빙 테이블을 저장하는 단계를 포함하는 것을 특징으로 하는 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 데이터 비트들을 인터리빙하는 방법.
  16. 제 1항에 있어서,
    상기 입력 데이터 블록이 풀-레이트 음성 채널, 조정 가능한 멀티-레이트 채널, GSM, 및 GPRS에 대한 채널 및 EGPRS 채널들 중 적어도 하나에 대한 데이터 블록을 포함하는 것을 특징으로 하는 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 데이터 비트들을 인터리빙하는 방법.
  17. 제 1항에 있어서,
    상기 감소된 인터리빙 테이블을 저장하는 단계는 간결화된 버전의 상기 감소된 인터리빙 테이블을 저장하는 단계를 포함하는 것을 특징으로 하는 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 데이터 비트들을 인터리빙하는 방법.
  18. 제 17항에 있어서,
    상기 간결화된 버전의 감소된 인터리빙 테이블에 기초하여 상기 감소된 인터리빙 테이블을 재생성하는 단계를 더 포함하는 것을 특징으로 하는 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 데이터 비트들을 인터리빙하는 방법.
  19. 제 1항에 있어서,
    상기 데이터 비트들을 인터리빙하는 단계는 모듈로 인터리빙 프로세스에 따라 상기 입력 데이터 블록의 데이터 비트들을 인터리빙하는 단계를 포함하는 것을 특징으로 하는 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 데이터 비트들을 인터리빙하는 방법.
  20. 제 1항에 있어서,
    상기 데이터 비트들을 인터리빙하는 단계는 동일한 감소된 인터리빙 테이블을 사용하여 하나 이상의 입력 데이터 블록들의 상기 데이터 비트들을 인터리빙하도록 여러 인터리빙 프로세스를 구현하는 단계를 포함하는 것을 특징으로 하는 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 데이터 비트들을 인터리빙하는 방법.
  21. 데이터 비트들을 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 인터리빙하도록 구성된 인터리버에 있어서,
    감소된 인터리빙 테이블을 저장하는 메모리; 및
    상기 감소된 인터리빙 테이블을 상기 데이터 비트들에게 상호 동작가능하게 적용함으로써 상기 입력 데이터 블록의 데이터 비트들을 인터리빙하도록 구성된 인터리빙 회로를 포함하는, 데이터 비트들을 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 인터리빙하도록 구성된 인터리버.
  22. 제 21항에 있어서,
    상기 인터리빙 회로는:
    상기 입력 데이터 블록의 데이터 비트들을 다수의 서브-블록으로 그룹화하도록 구성된 그룹화 회로; 및
    상기 각각의 서브-블록을 독립적으로 치환하기 위해서 상기 각각의 서브-블록의 데이터 비트들에게 상기 감소된 인터리빙 테이블을 적용함으로써 치환된 서브-블록들을 발생시키도록 구성된 치환 회로를 포함하는 것을 특징으로 하는 데이터 비트들을 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 인터리빙하도록 구성된 인터리버.
  23. 제 22항에 있어서,
    상기 치환 회로는 각각의 서브 블록에 대한 상기 감소된 인터리빙 테이블의 시작 위치를 식별하도록 더 구성되는 것을 특징으로 하는 데이터 비트들을 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 인터리빙하도록 구성된 인터리버.
  24. 제 23항에 있어서,
    상기 치환 회로는 각각의 서브-블록에 대한 여러 시작 위치를 식별하도록 구성되는데, 여기서 상기 식별된 시작 위치는 상기 감소된 인터리빙 테이블을 통해 균일하게 분포되는 것을 특징으로 하는 데이터 비트들을 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 인터리빙하도록 구성된 인터리버.
  25. 제 23항에 있어서,
    상기 치환 회로는 상기 감소된 인터리빙 테이블을 각각의 식별된 시작 위치로부터 상기 대응하는 서브-블록의 데이터 비트에 적용하도록 구성되는 것을 특징으로 하는 데이터 비트들을 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 인터리빙하도록 구성된 인터리버.
  26. 제 25항에 있어서,
    상기 치환 회로는 상기 감소된 인터리빙 테이블의 시작과 다른 시작 위치로부터 상기 감소된 인터리빙 테이블을 적용할 때 상기 감소된 인터리빙 테이블의 끝으로부터 상기 감소된 인터리빙 테이블의 시작으로 랩핑하도록 구성되는 것을 특징으로 하는 데이터 비트들을 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 인터리빙하도록 구성된 인터리버.
  27. 제 22항에 있어서,
    상기 인터리빙 회로는 상기 치환된 비트들을 각각의 서브-블록으로부터 하나 이상의 출력 데이터 블록으로 맵핑하도록 구성된 맵핑 회로를 더 포함하는 것을 특징으로 하는 데이터 비트들을 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 인터리빙하도록 구성된 인터리버.
  28. 제 27항에 있어서,
    상기 맵핑 회로는:
    상기 치환된 데이터 비트들을 제1 수의 서브-블록들로부터 제1 출력 데이터 블록의 짝수 위치로 맵핑하도록 구성되며;
    상기 치환된 데이터 비트들을 제2 수의 서브-블록들로부터 제1 출력 데이터의 홀수 위치로 맵핑하도록 구성되는 것을 특징으로 하는 데이터 비트들을 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 인터리빙하도록 구성된 인터리버.
  29. 제 27항에 있어서,
    상기 맵핑 회로는:
    상기 데이터 비트들을 제1 수의 치환된 서브 블록들로부터 제1 출력 데이터 블록의 짝수 위치로 맵핑하도록 구성되며;
    상기 데이터 비트들을 제2 수의 치환된 서브-블록들로부터 제2 출력 데이터 블록의 홀수 위치로 맵핑하도록 구성되는 것을 특징으로 하는 데이터 비트들을 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 인터리빙하도록 구성된 인터리버.
  30. 제 29항에 있어서,
    상기 그룹화 회로는 데이트 비트들을 제2 입력 데이터 블록으로부터 제2 다수의 서브-블록들로 그룹화하도록 더 구성되고, 상기 치환 회로는 각각의 제2 다수의 서브-블록의 상기 데이터 비트들을 독립적으로 치환하기 위해서 각각의 제2 다 수의 서브-블록의 상기 데이터 비트들에게 상기 감소된 인터리빙 테이블을 적용함으로써 제2 세트의 치환된 서브-블록들을 발생시키도록 더 구성되며, 상기 맵핑 회로는:
    상기 데이터 비트들을 제1 수의 제2 다수의 치환된 서브 블록으로부터 상기 제2 출력 데이터 블록의 짝수 위치로 맵핑하도록 구성되며;
    상기 데이터 비트들을 제2 수의 제2 다수의 치환된 서브-블록으로부터 제3 출력 데이터 블록의 홀수 위치로 맵핑하도록 구성되는 것을 특징으로 하는 데이터 비트들을 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 인터리빙하도록 구성된 인터리버.
  31. 제 22항에 있어서,
    상기 데이터 블록은 456 개의 데이터 비트를 포함하는 것을 특징으로 하는 데이터 비트들을 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 인터리빙하도록 구성된 인터리버.
  32. 제 31항에 있어서,
    상기 그룹화 회로는 상기 입력 데이터 블록의 데이터 비트들을 8개의 서브-블록으로 그룹화하도록 구성되며, 각각의 서브-블록은 상기 입력 데이터 블록으로부터 57개의 비트들을 포함하는 것을 특징으로 하는 데이터 비트들을 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 인터리빙하도록 구성된 인터리버.
  33. 제 31항에 있어서,
    상기 그룹화 회로는 상기 입력 데이터 블록의 데이터 비트들을 4개의 서브 블록으로 그룹화하도록 구성되는데, 각각의 서브-블록은 상기 입력 데이터 블록으로부터 57 개의 비트를 포함하는 것을 특징으로 하는 데이터 비트들을 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 인터리빙하도록 구성된 인터리버.
  34. 제 31항에 있어서,
    상기 메모리는 57개의 값을 갖는 감소된 인터리빙 테이블을 저장하는 것을 특징으로 하는 데이터 비트들을 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 인터리빙하도록 구성된 인터리버.
  35. 제 21항에 있어서,
    상기 입력 데이터 블록이 풀-레이트 음성 채널, 조정 가능한 멀티-레이트 채널, GSM, 및 GPRS에 대한 채널 및 EGPRS 채널들 중 적어도 하나에 대한 데이터 블록을 포함하는 것을 특징으로 하는 데이터 비트들을 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 인터리빙하도록 구성된 인터리버.
  36. 제 21항에 있어서,
    상기 메모리는 간결화된 버전의 상기 감소된 인터리빙 테이블을 저장하는 것을 특징으로 하는 데이터 비트들을 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 인터리빙하도록 구성된 인터리버.
  37. 제 36항에 있어서,
    상기 인터리빙 회로는 상기 간결화된 버전의 감소된 인터리빙 테이블에 기초하여 상기 감소된 인터리빙 테이블을 재생성하도록 구성되는 것을 특징으로 하는 데이터 비트들을 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 인터리빙하도록 구성된 인터리버.
  38. 제 21항에 있어서,
    상기 인터리빙 회로는 모듈로 인터리빙 프로세스에 따라 상기 입력 데이터 블록의 데이터 비트들을 인터리빙하도록 구성되는 것을 특징으로 하는 데이터 비트들을 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 인터리빙하도록 구성된 인터리버.
  39. 제 21항에 있어서,
    상기 인터리빙 회로는 디-인터리빙 회로인 것을 특징으로 하는 데이터 비트 들을 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 인터리빙하도록 구성된 인터리버.
  40. 제 21항에 있어서,
    상기 인터리빙 회로는 동일한 감소된 인터리빙 테이블을 사용하여 여러 인터리빙 프로세스에 따라 하나 이상의 입력 데이터 블록의 상기 데이터 비트들을 인터리빙하도록 구성되는 것을 특징으로 하는 데이터 비트들을 입력 데이터 블록의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록의 출력 비트 위치로 인터리빙하도록 구성된 인터리버.
  41. 데이터 비트들을 하나 이상의 수신된 데이터 블록들의 입력 비트 위치로부터 하나 이상의 데이터 블록들의 출력 비트 위치로 디-인터리빙하는 방법에 있어서,
    감소된 인터리빙 테이블을 저장하는 단계; 및
    상기 감소된 인터리빙 테이블을 데이터 비트들에게 상호 동작가능하게 적용함으로써 상기 입력 데이터 블록의 데이터 비트들을 디-인터리빙하는 단계를 포함하는, 데이터 비트들을 하나 이상의 수신된 데이터 블록들의 입력 비트 위치로부터 하나 이상의 데이터 블록들의 출력 비트 위치로 디-인터리빙하는 방법.
  42. 제 41항에 있어서,
    상기 데이터 비트들을 디-인터리빙하는 단계는:
    하나 이상의 치환된 서브-블록들을 발생시키기 위해서 상기 데이터 비트들을 맵핑해제하는 단계;
    각각의 치환된 서브-블록의 상기 데이터 비트들에게 상기 감소된 인터리빙 테이블을 상호 동작가능하게 적용함으로써 하나 이상의 치환해제된 서브-블록들을 발생시키는 단계; 및
    상기 치환해제된 서브-블록들을 상기 하나 이상의 출력 데이터 블록들의 데이터 비트들로 그룹화해제 단계를 포함하는 것을 특징으로 하는 데이터 비트들을 하나 이상의 수신된 데이터 블록들의 입력 비트 위치로부터 하나 이상의 데이터 블록들의 출력 비트 위치로 디-인터리빙하는 방법.
  43. 인터리빙된 데이터 비트들을 하나 이상의 수신된 데이터 블록들의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록들의 출력 비트 위치로 디-인터리빙하도록 구성된 디-인터리버에 있어서,
    감소된 인터리빙 테이블을 저장하는 메모리; 및
    상기 데이터 비트들에게 감소된 인터리빙 테이블을 상호 동작 가능하게 적용함으로써 상기 입력 데이터 블록의 데이터 비트들을 디-인터리빙하도록 구성된 인터리빙 회로를 포함하는, 인터리빙된 데이터 비트들을 하나 이상의 수신된 데이터 블록들의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록들의 출력 비트 위치로 디-인터리빙하도록 구성된 디-인터리버.
  44. 제 43항에 있어서,
    상기 인터리빙 회로는:
    하나 이상의 치환된 서브-블록들을 발생시키기 위해서 상기 데이터 비트들을 맵핑 해제하도록 구성된 맵핑 회로;
    상기 각각의 치환된 서브-블록의 데이터 비트들을 상기 감소된 인터리빙 테이블에 독립적으로 적용함으로써 하나 이상의 치환 해제된 서브-블록들을 발생시키도록 구성된 치환 회로; 및
    상기 치환 해제된 서브-블록들의 데이터 비트들을 상기 하나 이상의 출력 데이터 블록들의 데이터 비트들로 그룹화 해제하도록 구성된 그룹화 회로를 포함하는 것을 특징으로 하는 인터리빙된 데이터 비트들을 하나 이상의 수신된 데이터 블록들의 입력 비트 위치로부터 하나 이상의 출력 데이터 블록들의 출력 비트 위치로 디-인터리빙하도록 구성된 디-인터리버.
KR1020087009273A 2005-10-19 2006-10-17 지능형 테이블-구동 인터리빙 KR101084821B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/253,407 US7793169B2 (en) 2005-10-19 2005-10-19 Intelligent table-driven interleaving
US11/253,407 2005-10-19
PCT/EP2006/067478 WO2007045642A1 (en) 2005-10-19 2006-10-17 Intelligent table-driven interleaving

Publications (2)

Publication Number Publication Date
KR20080068660A true KR20080068660A (ko) 2008-07-23
KR101084821B1 KR101084821B1 (ko) 2011-11-21

Family

ID=35448293

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087009273A KR101084821B1 (ko) 2005-10-19 2006-10-17 지능형 테이블-구동 인터리빙

Country Status (6)

Country Link
US (1) US7793169B2 (ko)
EP (1) EP1938459A1 (ko)
KR (1) KR101084821B1 (ko)
CN (1) CN101292430B (ko)
TW (1) TWI400914B (ko)
WO (1) WO2007045642A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170008897A (ko) 2015-07-14 2017-01-25 주식회사 아이에스엘코리아 지능형 테이블을 이용한 정보제공 방법 및 시스템

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7957418B2 (en) * 2007-07-31 2011-06-07 Research In Motion Limited Data burst communication techniques for use in increasing data throughput to mobile communication devices
US7886203B2 (en) * 2007-09-05 2011-02-08 Mindtree Consulting Ltd Method and apparatus for bit interleaving and deinterleaving in wireless communication systems
KR101110201B1 (ko) * 2007-10-31 2012-02-15 연세대학교 산학협력단 통신시스템에서 병렬구조 라틴방진 인터리빙 방법 및 장치
EP2706667A1 (en) * 2010-09-13 2014-03-12 Hughes Network Systems, LLC Method and apparatus for a parameterized interleaver design process
KR20220114920A (ko) * 2021-02-09 2022-08-17 삼성전자주식회사 데이터 전송을 위한 블록 인터리빙을 수행하는 장치 및 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3652998A (en) * 1970-03-01 1972-03-28 Codex Corp Interleavers
JP3415693B2 (ja) 1993-12-23 2003-06-09 ノキア モービル フォーンズ リミテッド インターリーブプロセス
EP0671824B1 (de) * 1994-03-07 2004-05-19 Siemens Aktiengesellschaft Verfahren und Anordnung zur Übertragen von block kodierten Informationen über mehrere Kanäle in einem digitalen mobilen Funksystem
US6529730B1 (en) * 1998-05-15 2003-03-04 Conexant Systems, Inc System and method for adaptive multi-rate (AMR) vocoder rate adaption
JP3453122B2 (ja) * 1998-08-17 2003-10-06 ヒューズ・エレクトロニクス・コーポレーション 最適性能に近いターボコードインターリーバ
KR100350459B1 (ko) * 1998-12-26 2002-12-26 삼성전자 주식회사 통신시스템의인터리빙/디인터리빙장치및방법
EP1039646A1 (en) 1999-03-05 2000-09-27 Mitsubishi Electric France Interleaver device and method for interleaving a data set
US6553517B1 (en) * 1999-04-09 2003-04-22 Sony Corporation Interleavers and de-interleavers
US6543013B1 (en) * 1999-04-14 2003-04-01 Nortel Networks Limited Intra-row permutation for turbo code
US6813252B2 (en) * 2000-01-07 2004-11-02 Lucent Technologies Inc. Method and system for interleaving of full rate channels suitable for half duplex operation and statistical multiplexing
US6973611B2 (en) * 2001-04-17 2005-12-06 Texas Instruments Incorporated Interleaved coder and method
US7564460B2 (en) * 2001-07-16 2009-07-21 Microsoft Corporation Systems and methods for providing intermediate targets in a graphics system
JP3823315B2 (ja) * 2002-05-07 2006-09-20 ソニー株式会社 符号化装置及び符号化方法、並びに復号装置及び復号方法
US7568145B2 (en) * 2004-04-15 2009-07-28 Libero Dinoi Prunable S-random interleavers

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170008897A (ko) 2015-07-14 2017-01-25 주식회사 아이에스엘코리아 지능형 테이블을 이용한 정보제공 방법 및 시스템

Also Published As

Publication number Publication date
US7793169B2 (en) 2010-09-07
TW200727634A (en) 2007-07-16
CN101292430A (zh) 2008-10-22
WO2007045642A1 (en) 2007-04-26
EP1938459A1 (en) 2008-07-02
CN101292430B (zh) 2012-08-22
KR101084821B1 (ko) 2011-11-21
US20070101210A1 (en) 2007-05-03
TWI400914B (zh) 2013-07-01

Similar Documents

Publication Publication Date Title
US9467176B2 (en) Computationally efficient convolutional coding with rate-matching
JP3746426B2 (ja) ターボ復号装置
US7342915B2 (en) Data multiplexing method and data multiplexer, and data transmitting method and data transmitter
US6064664A (en) Base-band interleaver for code division multiple access mobile telecommunication system
US5659580A (en) Data interleaver for use with mobile communication systems and having a contiguous counter and an address twister
JP4955049B2 (ja) ターボ符号化のためのブロック・インターリーブ
KR101084821B1 (ko) 지능형 테이블-구동 인터리빙
JP4296172B2 (ja) インタリーバ及びデインタリーバシステム
KR100593496B1 (ko) 변조 전 컨벌루션 부호화된 비트들을 심볼들로 할당하는방법 및 시스템
US20080014871A1 (en) System and method for interleaving data in a wireless transmitter
CN1319300C (zh) 码分多址通信系统中的数据发送设备和方法
JP2003179528A (ja) インタリーバ・パターンの修正
WO2006063843A1 (en) Memory efficient interleaving / de-interleaving utilising the periodicity of the mapping function
US7873897B2 (en) Devices and methods for bit-level coding and decoding of turbo codes
JP2005535210A (ja) データ送信におけるレートマッチングのための符号化及び復号化
US7886203B2 (en) Method and apparatus for bit interleaving and deinterleaving in wireless communication systems
WO2004002046A2 (en) Method of interleaving/deinterleaving in a communication system
KR20010080700A (ko) 인터리브 어드레스 생성 장치, 인터리브 장치, 터보 부호화 장치, 터보 복호화 장치, 통신 단말 장치, 기지국 장치 및 인터리브 어드레스 생성 방법
JP2006060859A (ja) ターボ復号装置並びにターボ復号装置に用いられるメモリ及びデコーダ並びにターボ復号装置をそなえた移動通信システム用受信側装置

Legal Events

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

Payment date: 20141027

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151026

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161025

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171024

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181025

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20191030

Year of fee payment: 9