KR101143768B1 - 맵핑 펑크션의 주기성을 사용하여 메모리 효율적인 인터리빙/디-인터리빙 - Google Patents

맵핑 펑크션의 주기성을 사용하여 메모리 효율적인 인터리빙/디-인터리빙 Download PDF

Info

Publication number
KR101143768B1
KR101143768B1 KR1020077016336A KR20077016336A KR101143768B1 KR 101143768 B1 KR101143768 B1 KR 101143768B1 KR 1020077016336 A KR1020077016336 A KR 1020077016336A KR 20077016336 A KR20077016336 A KR 20077016336A KR 101143768 B1 KR101143768 B1 KR 101143768B1
Authority
KR
South Korea
Prior art keywords
mapping
sequence
bit
index
input bit
Prior art date
Application number
KR1020077016336A
Other languages
English (en)
Other versions
KR20070097066A (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 KR20070097066A publication Critical patent/KR20070097066A/ko
Application granted granted Critical
Publication of KR101143768B1 publication Critical patent/KR101143768B1/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
    • 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/6502Reduction of hardware complexity or efficient processing
    • 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
    • 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

Abstract

입력 시퀀스의 입력 비트 위치를 출력 시퀀스의 출력 비트 위치에 맵핑하는 방법은 소정의 맵핑 펑크션으로부터 비롯된 메모리에 저장된 압축 맵핑 시퀀스를 사용한다. 맵핑 펑크션은 압축 맵핑 시퀀스를 발생시키는데 사용되는 주기적인 컴포넌트 펑크션으로 분리된다. 각각의 압축 맵핑 시퀀스는 상응하는 컴포넌트 펑크션의 하나의 기간 또는 컴포넌트 펑크션의 그룹을 나타내는 다수의 부분적인 맵핑값을 포함한다. 부분적인 맵핑값은 현재 입력 비트의 비트 인덱스에 기초하여 각각의 압축 맵핑 시퀀스로부터 선택되고 합산되거나 그렇지 않으면 결합되어 출력 인덱스를 획득된다.
Figure R1020077016336
입력 시퀀스, 출력 시퀀스, 입력 인덱스, 출력 인덱스, 압축 맵핑 시퀀스

Description

맵핑 펑크션의 주기성을 사용하여 메모리 효율적인 인터리빙/디-인터리빙{MEMORY EFFICIENT INTERLEAVING/DE-INTERLEAVING UTILISING THE PERIODICITY OF THE MAPPING FUNCTION}
본 발명은 일반적으로 비트-맵핑에 관한 것이고, 특히, 압축 맵핑 시퀀스들을 갖는 인터리빙/디-인터리빙 방법에 관한 것이다.
무선 채널들과 같은 여러 유형의 통신 채널들에서, 고유 잡음은 전송 동안 비트 오류들을 야기한다. 비트 오류들을 감소시키기 위해서, 디지털 통신 시스템은 전형적으로 오류 제어 코드들을 사용하여 수신기에서 비트 오류들의 검출 및/또는 정정을 가능하게 한다. 이러한 오류 제어 코드들은 제어된 중복성(redundancy)을 통신 채널을 통해 전송되는 정보에 도입하는데, 이는 수신기에서 사용되어 수신기 신호에서 수신된 오류들을 검출 및/또는 정정할 수 있다. 오류 검출 코드들은 수신기가 비트 오류들을 검출하도록 한다. 그 후에 수신기는 잘못 수신된 정보의 재전송을 요청할 수 있다. 오류 정정 코드들은 수신기가 재전송없이 비트 오류들을 검출하여 제어할 수 있도록 한다.
길쌈 부호(convolutional code)들은 디지털 통신 시스템에서 사용되는 한 유형의 순방향 오류 정정 코드(forward error correcting code)이다. 전송 동안 발생 하는 랜덤 비트 오류들을 정정하는데 매우 효율적일지라도, 길쌈 부호들은 버스트 오류(burst error)들을 허용할 수 있다. 랜덤 오류들은 전송된 비트 시퀀스에서 개별적인 비트들이 잡음에 의해 오류를 일으키거나 오류에 수신될 때 발생한다. 랜덤 오류들은 격리되는 것이 전형적이고 토신 채널에서 잡음에 의해 야기될 수 있다. 버스트 오류들은 일련의 근접하거나 가깝게 이격된 비트들이 오류에 수신될 때 발생하고 통신 채널에서 페이딩(fading)에 의해 야기될 수 있다. 여러 코딩 방식들은 버스트 오류들을 정정하는데 어려움이 있다.
인터리빙은 길쌈 코드들과 같은 오류 정정 코드들의 오류 정정 성능을 강화시켜 이러한 성능이 오류들에 대해 더욱 효율적이도록 하는데 사용되는 기술이다. 인코더에 의해 출력된 코딩된 비트들은 인터리버(interleaver)에 의해 다시 순서가 정해져 시간당 코딩된 비트들을 확산시킨다. 사실상 코딩된 비트들의 순서를 다시 정하는 것은 긴 버스트 오류들을 확산시켜, 그들이 독립적인 랜덤 비트 오류들로써 디코더에 나타내진다. 인터리버는 동일한 길이의 출력 비트 시퀀스에서 입력 시퀀스의 입력 비트들을 상응하는 위치에 맵핑하는 일-대-일 맵핑 펑크션(mapping function)으로 보여질 수 있다.
인터리빙 및 디-인터리빙을 수행하는 두 개의 기술- 검색(look up) 방법 및 계산 방법이 통상적으로 사용된다. 검색 방법은 각각의 입력 비트에 대해 사전에 계산된 맵핑값을 사용하여 입력 시퀀스의 입력 비트 위치를 출력 시퀀스의 출력 비트 위치에 맵핑한다. 사전에 계산된 맵핑값들은 검색표에 저장된 맵핑 시퀀스를 포함한다. 인터리버/디-인터리버는 단순한 검색 연산에 의해서 각각의 입력 비트들에 대한 출력 비트 위치를 획득한다. 이런 검색표 방법은 프로세싱 자원을 사용하는데 상대적으로 효율적이지만, 계산 방법에 비해 상대적으로 더 많은 양의 메모리를 필요로 한다. 계산 방법은 실시간 각각의 입력 비트에 대한 출력 비트 위치를 계산한다. 계산 방법은 맵핑 펑크션이 닫혀진 형태로 표현될 수 있을 때 사용될 수 있다. 계산 방법은 보다 많은 프로세싱 자원에 대한 비용을 검색표에 저장하기 위한 임의의 메모리를 필요로 하지 않는다.
디지털 통신 시스템용 칩 세트의 디자인은 종종 프로세싱 자원들에 의한 것보다 메모리에 의해 제약을 받는다. 이런 시스템에서, 검색표 방법은 적합하지 않고, 메모리 및 프로세싱 자원들 간의 양호한 균형을 성취할 수 있는 방법이 종종 필요로 된다. 메모리 및 프로세싱 자원들 간의 양호한 균형을 성취하는 것은 이동 통신용 칩 세트의 가격 및 크기를 감소시키는 것을 도울 수 있다.
본 발명은 비트 맵핑 시퀀스를 압축하고 압축 맵핑 시퀀스를 사용하여 인터리빙 및 디-인터리빙을 수행하는 방법을 제공한다. 본 발명은 예를 들어 무선 통신 네트워크와 같은 디지털 통신 시스템에서 사용될 수 있다.
비트 맵핑 펑크션은 주기적인 컴포넌트 펑크션(component function)들로 분리된다. 주기적인 컴포넌트 펑크션들은 한 주기 동안 평가되어 두 개 이상의 압축 맵핑 시퀀스를 획득한다. 동일하거나 양립할 수 있는 주기를 갖는 주기적인 컴포넌트 펑크션들은 결합되어 단순한 압축 맵핑 시퀀스를 발생시킨다. 각각의 압축 맵핑 시퀀스는 입력 시퀀스의 간격 내에서 반복하는 다수의 부분적인 맵핑값을 포함한다. 맵핑 회로는 압축 맵핑 시퀀스를 사용하여 입력 시퀀스의 입력 비트 위치를 출력 시퀀스의 상응하는 출력 비트 위치에 맵핑한다. 맵핑 회로는 각각의 입력 비트의 비트 인덱스를 사용하여 각각의 압축 맵핑 시퀀스로부터 부분적인 맵핑값을 선택하고, 예컨대, 부분적인 맵핑값들과 함께 부가됨으로써 출력 인덱스를 계산한다. 각각의 입력 비트에 대해 발생된 출력 인덱스는 입력 비트가 맵핑되는 출력 시퀀스의 위치를 나타낸다. 출력 비트 맵핑 펑크션들에 대한 압축 방법은 모든 압축 해제 맵핑 시퀀스들을 저장하는 종래 기술에 비해 메모리 요구 사항을 감소시키는 것이다. 인터리빙 및 디-인터리빙을 수행하기 위해서 압축 맵핑 시퀀스들을 사용하는 것은 또한 맵핑 펑크션 평가에 기초하여 각각의 출력 인덱스에 대한 실시간 계산보다 적은 프로세싱 자원들을 필요로 한다.
도1은 본 발명의 채널 인코더/디코더가 사용될 수 있는 이동 통신 디바이스의 블록도.
도2는 본 발명에 따르는 예시적인 채널 인코더의 블록도.
도3은 본 발명에 따르는 예시적인 채널 디코더의 블록도.
도4는 본 발명의 하나의 예시적인 실시예에서 맵핑 시퀀스의 도시적인 도면.
도5는 맵핑 시퀀스에 포함된 맵핑값을 부가하기 위해서 본 발명에서 사용되는 주기적인 부가 방법의 그래프.
도6은 본 발명의 일 실시예에 따르는 인터리버 또는 디-인터리버에 사용하기 위한 맵핑 회로의 블록도.
도7은 본 발명의 일 실시예에 따르는 인터리버 및 디-인터리버에 대한 예시적인 비트-맵핑 알고리즘의 흐름도.
도8은 본 발명의 일 실시예에 따르는 압축 유닛의 블록도.
도9는 본 발명의 일 실시예에 따르는 압축 맵핑 시퀀스에 대한 예시적인 압축 방법의 흐름도.
도1은 전체적으로 10으로 나타내지는 무선 통신 디바이스를 도시한다. 무선 통신 디바이스(10)는 시스템 제어기(12)를 포함하여 이동 통신 디바이스(10)의 전체 연산을 제어하고, 메모리(14)를 포함하여 연산 동안에 필요로 되는 프로그램들 및 데이터를 저장하고, 전송기(20)를 포함하여 신호들을 전달하며, 수신기(30)를 포함하여 신호들을 수신한다. 전송기(20) 및 수신기(30)는 충분한 듀플렉스 연산을 허용하는 듀플렉서 또는 스위치(16)에 의해 공통 안테나(18)에 커플링된다.
전송기(20)는 정보 자원으로부터 자원 데이터 스트림을 수신하고, 자원 데이터 스트림을 프로세싱하여 무선 채널에 걸쳐 전송에 적합한 전송 신호를 발생시키며, RF 반송기 상에서 전송 신호를 변조시킨다. 전송기(20)는 자원 인코더(22), 채널 인코더(24) 및 변조기(26)를 포함한다. 자원 인코더(22)는 중복성을 제거하거나 자원 데이터 스트림을 랜덤화하여 최대 정보 콘텐츠에 대해 최적화된 정보 시퀀스를 생성한다. 예를 들어, 자원 인코더는 음성 인코더를 포함하여 통신 채널을 통한 전송을 위해 음성을 인코딩할 수 있다. 자원 인코더(22)로부터의 정보 시퀀스는 채널 인코더(24)로 보내진다. 채널 인코더(24)는 자원 인코더(22)에 의해 공급되는 정보 시퀀스에 엘리멘트의 중복성을 도입하여 코딩된 출력을 발생시킨다. 채널 인코더(24)에 의해 부가된 중복성은 통신 시스템의 오류 정정 성능을 강화시키는 것을 돕는다. 중복된 정보의 사용함으로써, 수신기(30)는 전송 동안 발생할 수 있는 비트 오류들을 검출하여 정정한다. 채널 인코더(24)의 출력은 전송 비트 시퀀스이다. 변조기(26)는 채널 인코더(24)로부터 전송 비트 시퀀스를 수신하여 통신 채널의 물리적인 특성에 적합하고 통신 채널에 걸쳐 효율적으로 전송될 수 있는 파형을 발생시킨다. 이동 통신 디바이스(10)에서 사용되는 전형적인 변조 방식은 16QAM, 8-P나 4-PSK 등을 포함한다.
수신기(30)는 통신 채널을 통과하는 통로에 의해 오류를 일으켜온 원단 디바이스(far-end device)로부터 전송된 신호들을 수신한다. 수신기(30)의 기능은 수신된 신호로부터 본래 자원 데이터 스트림을 재구성하는 것이다. 수신기(30)는 복조기(32), 채널 디코더(34) 및 자원 디코더(36)를 포함한다. 복조기(32)는 수신된 신호를 프로세싱하여 수신된 비트 시퀀스를 발생시키는데, 이는 각각의 수신된 비트에 대한 하드한 값 또는 소프트한 값을 포함할 수 있다. 수신된 신호가 오류 없이 통신 채널을 통해 전송될 때, 수신된 비트 시퀀스는 전송기에서 전송 비트 시퀀스와 동일할 것이다. 실제로, 통신 채널을 통해 수신된 신호의 통로는 비트 오류들을 수신된 신호에 도입한다. 채널 디코더(34)는 전송기(20)에서 채널 인코더(24)에 의해 부가된 중복성을 사용하여 비트 오류들을 검출하여 정정한다. 복조기(32) 및 디코더(34)가 얼마나 양호하게 수행하는지에 대한 측정치는 비트 오류들이 디코딩된 시퀀스에서 발생하는 주파수이다. 최종 단계로, 자원 디코더(36)가 정보 자원으로 부터 본래 신호를 재구성한다. 재구성된 정보 신호 및 본래 정보 신호 간의 차이는 통신 시스템에 의해 도입된 왜곡에 측정치이다.
도2 및 도3은 예시적인 채널 인코더(24) 및 디코더(34)를 각각 도시한다. 채널 인코더(24)(도2)는 인코더(40)를 포함하여 자원 인코더(22)로부터의 정보 시퀀스를 인코딩하고, 인터리버(42)를 포함하여 인코더(40)에 의해 출력된 코딩된 비트들의 순서를 다시 정한다. 인코더(40)는 예컨대, 길쌈 인코더 또는 블록 인코더를 포함할 수 있다. 인터리버(42)는 인코더(40)에 의해 출력된 비트의 순서를 다시 정하여 시간에 걸쳐 코딩된 비트들을 확산시켜 그들이 버스트 오류들에 더욱 저항력있게 된다.
채널 디코더(34)(도3)는 디코더(62)로 이어지는 디-인터리버(60)를 포함한다. 디-인터리버(60)는 인터리버(42)에 의해 수행되는 프로세스를 반전시킨다. 비트 오류가 있는 곳에서, 디-인터리버로의 입력 시퀀스가 인터리버(42)에 의해 출력된 인터리빙된 시퀀스일 것이다. 디-인터리버(60)는 인터리빙된 비트들의 순서를 다시 정하여 그들의 본래 위치로 리턴한다. 디-인터리버(60)로부터의 출력 시퀀스는 전송 동안 발생될 수 있는 임의의 비트 오류들을 제외하고 채널 인코더(40)에 의해 출력된 디코딩 비트 시퀀스와 동일하다. 코딩된 비트 시퀀스는 오류 검출 및/또는 정정을 위해 디코더(62)에 입력된다.
인터리버(42) 및 디-인터리버(60) 둘 다는 맵핑 규칙을 사용하여 입력 비트들의 순서를 다시 정한다. 맵핑 규칙은 맵핑 펑크션으로써 수학적으로 표현될 수 있거나, 각각의 입력 비트의 입력 비트 위치를 출력 비트 시퀀스의 상응하는 출력 비트 위치에 맵핑하는 맵핑 시퀀스, 즉, 맵핑값의 시퀀스로 표현될 수 있다. 계산을 위해서 확실한 맵핑 펑크션을 사용하면, 모든 출력 비트 인덱스가 상당한 프로세싱 자원을 필요로 한다. 맵핑 시퀀스를 메모리에 저장하는 것은 프로세싱 자원 상의 부하를 감소시키지만, 부가적인 메모리에 대한 비용이 있다. 본 발명은 압축 맵핑 시퀀스를 사용하는 프로세싱 맵핑 시퀀스들을 압축하여 비트-맵핑, 예컨대, 인터리빙 및/디-인터리빙을 수행하는 방법 및 장치를 제공함으로써 메모리 자원들 및 프로세싱의 사용 간의 균형을 맞추도록 시도한다. 압축 맵핑 시퀀스는 압축 해제 맵핑 시퀀스들 보다 적은 양의 메모리를 필요로 한다. 인터리빙 및 디-인터리빙을 수행하기 위해서 압축 맵핑 시퀀스를 사용하는 것은 맵핑 펑크션에 기초하여 각각의 출력 인덱스의 계산보다 프로세싱 자원들을 덜 필요로 한다.
보 발명에 사용되는 압축 및 비트-맵핑 방법은 GSM SACCH 채널에 대해 규정된 인터리빙 맵핑을 사용하여 후술되는데, 이는 비-제한적인 예로써 보여져야만 한다. GSM SACCH 채널에 대한 인터리버(42)는 0 내지 455의 비트 인덱스들이라 칭해지는 456 비트의 블록 상에서 연산한다. 인터리빙 및 디-인터리빙 둘 다는 입력 시퀀스의 k 번째 입력 비트가 출력 비트 시퀀스의 n 번째 위치에 맵핑되는 1:1 맵핑이다. 발생된 맵핑 펑크션은 다음과 같이 표현될 수 있다:
n=f(k)
여기서 n은 출력 인덱스이다. GSM SACCH 채널의 경우에, 인터리빙 기능이 다음과 같이 표현될 수 있다:
n=f(k)=114mod(k,4)+2mod(49k,57)+floor(mod(k,8)/4)
출력 인덱스(n)는 0 내지 455의 모든 k 값에 동일하다. 그러므로 0 내지 455의 모든 k 값에 대한 맵핑 펑크션은 상응하는 출력 비트 위치에 각각의 입력 비트 위치를 유일하게 밉핑하는 맵핑 시퀀스를 산출한다.
맵핑 시퀀스를 압축하기 위해서, 맵핑 펑크션(f(k))은 주기적인 컴포넌트 펑크션으로 분리된다. 수학식 2는 다음과 같이 다시 쓸 수 있다:
n=f(k)=f1(k)+f2(k)+f3(k)
여기서
f1(k)=114mod(k,4)
f2(k)=2mod(49k,57)
f3(k)=floor(mod(k,8)/4)이다.
컴포넌트 펑크션(f1(k))은 114의 정수배로 각각의 입력 비트에 대한 비트 인덱스(k)를 맵핑한 후에 매 4 비트당 반복된다. 컴포넌트 펑크션(f2(k))은 0 내지 112 사이의 짝수로 각각의 입력 비트에 대한 비트 인덱스(k)를 맵핑한 후에 매 57 입력 비트당 반복된다. 컴포넌트 펑크션(f3(k))은 0 또는 1로 각각의 입력 비트에 대한 비트 인덱스(k)를 맵핑한 후에 매 8 입력 비트당 반복된다.
맵핑 펑크션(f(k))이 GSM SACCH 채널에 대한 인터리버(42)에 의해 사용되는 456 비트 공간에 걸쳐 주기적이지 않을지라도, 컴포넌트 펑크션들(f1(k),f2(k),f3(k))이456 비트 공간 내에서 주기적이다. 여기서 설명되는 예시적인 실시예에서, 컴포넌트 펑크션들(f1(k),f2(k),f3(k))은 각각 4, 57 및 8의 기간을 가지며, 컴포넌트 펑크션(f2(k))은 57의 기간을 갖는다. 본 발명은 컴포넌트 펑크션들(f1(k),f2(k),f3(k))의 주기성을 활용하여 메모리(14)에 저장될 수 있는 압축 맵핑 시퀀스를 발생시킨다.
도4는 GSM SACCH 채널에 대한 컴포넌트 펑크션들(f1(k),f2(k),f3(k))로부터 비롯된 맵핑 시퀀스(S1,S2)의 도시적인 도면이다. 동일한 주기성을 갖는 두 개 이상의 컴포넌트 펑크션들이 결합되어 단일 맵핑 시퀀스를 생성할 수 있다. 특히, P(fn)는 컴포넌트 펑크션(fn)의 주기성을 나타내고, m은 음이 아닌 정수인 P(f1)=mP(f2)에 관련된 임의의 두 개의 컴포넌트 펑크션들은 결합되어 단일 맵핑 시퀀스를 생성할 수 있다. 다시 말해서, 두 개의 컴포넌트 펑크션들은 하나의 컴포넌트 펑크션의 주기성이 다른 컴포넌트 펑크션의 정수배인한 결합될 수 있다. 결합된 맵핑 시퀀스의 주기성은 가장 길은 주기성을 갖는 컴포넌트 펑크션의 주기성과 동일할 것이다. 컴포넌트 펑크션(f3(k))의 주기성이 컴포넌트 펑크션(f1(k))의 정수배이기 때문에, f1(k) 및 f3(k)에 의해 발생된 맵핑값들이 8의 주기성을 갖는 하나의 맵핑 시퀀스(S1)로 결합되어 메모리(14)에 저장된다.맵핑 시퀀스(S1)의 각각의 엘리멘트는 소정의 비트 인덱스(k)에서 f1(k) 및 f3(k)의 합과 동일한 부분적인 맵핑값을 포함한다. 시퀀스가 매 8 비트 이후에 반복되기 때문에, 결합된 컴포넌트 펑크션(f1(k) + f3(k))의 하나의 기간을 나타내는 맵핑 시퀀스(S1)의 8 개의 부분적인 맵핑값만을 저장할 필요가 있다. 그러므로, f1(k) + f3(k)의 모든 가능한 값들은 맵핑 시퀀스(S1)로 나타내진다. 컴포넌트 펑크션(f2(k))의 기간이 결합된 컴포넌트 펑크션(f1(k) + f3(k))의 기간에 정수배가 아니기 때문에, 컴포넌트 펑크션(f2(k))에 상응하는 분리된 맵핑 시퀀스(S2)가 메모리(14)에 저장된다. 맵핑 시퀀스(S2)는 f2(k)의 모든 가능한 값을 나타내는 57 개의 부분적인 맵핑값을 포함한다. 맵핑 시퀀스(S1,S2)는 메모리(140의 하나 이상의 검색표에 저장될 수 있다. 설명을 위해서 맵핑 시퀀스(S1)가 검색표(T1)에 저장되고, 맵핑 시퀀스(S2)는 검색표(T2)에 저장된다고 가정할 것이다. 이런 예는 비-제한적인 것이라고 고려되어야만 한다. 맵핑 시퀀스(S1,S2)는 동일한 검색표에 저장되거나, 어떤 다른 유형의 데이터 구조(예컨대, 어레이, 등록기 등)에 저장될 수 있다.
검색표(T1,T2)는 부분적인 맵핑값을 16-비트 워드로 저장할 수 있다. 소정의 예에서, 맵핑 시퀀스(S1)에 상응하는 검색표(T1)은 8 개의 워드를 포함하고, 맵핑 시퀀스(S2)에 상응하는 검색표(T2)의 57 개의 워드를 포함한다. 맵핑 시퀀스의 최대값이 255보다 작거나 같다면, 단지 8 비트가 부분적인 맵핑값을 저장하는데 필요로 된다. 이런 경우에, 1 바이트의 두 개의 부분적인 맵핑값 각각이 두 개의 부분적인 맵핑값을 저장하는 검색표에 단일 워드로 저장될 수 있다. 그러므로 소정의 예에서, 검색표(T1)은 네 개의 워드는 단지 네 개의 워드만을 필요로 할 것이고, 검색표(T2)은 총 33 개의 워드에 대해 단지 29 개의 워드만을 필요로 할 것이다. 비교를 위해서, 완전한 압축 해제 맵핑 시퀀스가 456 개의 워드를 필요로 할 것이다. 그러므로, 본 발명은 맵핑 시퀀스를 대략 93% 압축시킨다.
입력-대-출력 맵핑값 또는 출력 인덱스(n)는 각각의 맵핑 시퀀스(S1,S2)에서 부분적인 맵핑값들을 주기적으로 부가함으로써 입력 시퀀스에서 각각의 입력 비트에 대해 계산될 수 있다. 도3에 도시된 GSM SACCH 채널에 대한 인터리빙 기능은 주기적인 부가 프로세스를 설명하기 위해 사용될 것이다. 인터리버(4)로의 입력 비트들은 C(k)로 나타내지는 채널 인코더(40)에 의해 출력된 코딩된 비트들이다. 각각의 입력 비트(C(k))에 대해서, 상응하는 부분적인 맵핑값들(S1(i),S2(j))이 비트 인덱스(k)에 기초하여 맵핑 테이블들(T1,T2)로부터 선택되고 합산되어 출력 인덱스(n) 를 성취한다. 입력 시퀀스의 제1 비트(k=0)가 인터리버(42)에 입력될 때, 각각의 맵핑 시퀀스의 제1 맵핑값이 선택된다. 선택된 맵핑값들은 모두 합산되어 입력-대-출력 맵핑값(n)을 획득한다. 각각의 다음 입력 비트에 대해서, 다음의 근접한 맵핑값이 각각의 맵핑 시퀀스로부터 선택되고, 선택된 부분적인 맵핑값들이 합산되어 다음으 출력 인텍스를 획득한다. 맵핑 시퀀스(S1 또는 S2)의 끝에 도달할 때, 선택될 다음 부분적인 맵핑값은 맵핑 시퀀스의 제1 맵핑값일 것이다. 이런 프로세스는 입력 시퀀스의 끝에 도달할 때까지 반복된다. 맵핑 시퀀스(S1,S2)의 주기적인 부가물은 출력 시퀀스의 상응하는 출력 비트(I(n))에 입력 시퀀스의 입력 비트(C(k))를 맵핑하는데 사용될 수 있는 압축 해제 맵핑 시퀀스를 생성한다.
도5는 주기적인 부가물 프로세스를 도시적으로 도시한다. 도5에서 보여지는 바와 같이, 각각의 맵핑 시퀀스(S1,S2)가 링형으로 형성된다. 각각의 입력 비트 이후에, 링들은 1 비트 위치마다 인덱스한다. 도5의 표시는 현재 입력 비트의 비트 인덱스를 나타내다. 도5에서, 114번째 비트(k=113)가 맵핑되고 있다. 비트 인덱스는 S1의 제2 맵핑값(값=114) 및 S2(의 57번째 맵핑값값=16)을 선택한다. 115번째 입력 비트에 대해서, 비트 인덱스(k=114)는 S1의 제3 맵핑값(값=228) 및 S2의 제1 맵핑값(값=0)을 선택할 것이다. 그러므로, 115번째 비트에 대해서 입력/출력 맵핑값(n)이228과 동일하다. 이런 프로세스는 입력 시퀀스의 끝(비트 인덱스=455)에 도달할 때까지 반복된다.
주기적인 부가 프로세스는 다음과 같이 선택 인덱스들(i,j)을 계산함으로써 수행될 수 있다:
i=mod(k,8)
j=mod(k,57)
도7 및 도8의 제수(divisor)는 상응하는 맵핑 시퀀스의 기간과 동일하다는 것을 주의하자. 그러므로, 선택 인덱스(i)는 0 내지 7로 반복적으로 증분할 것이고, 선택 인덱스(j)는 0 내지 56으로 반복적으로 증분할 것이다. 각각의 입력 비트(C(k))에 대해서, 출력 인덱스(n)는 다음과 같이 계산된다:
n=S1(i)+S2(j)
수학식 9는 부분적인 맵핑값 계수(456)를 합산하여 C(k) 및 I(n) 간의 1:1 맵핑을 제공하는 0 내지 455 사이의 비-반복적인 값을 산출한다.
다른 예는 GSM 최대-레이트 음성이다. GSM 최대-레이트 음성 채널의 경우에, 인터리빙 기능은 수학식 3과 같고, 여기서
f1(k)=114mod(k,8)
f2(k)=2mod(49k,57)
f3(k)=floor(mod(k,8)/4)이다.
f1(k) 및 f3(k)의 주기성은 동일하여, 8의 주기성을 갖는 결합된 맵핑 시퀀스(S1)를 생성한다고 이미 설명된 바와 같이, 컴포넌트 펑크션들이 결합될 수 있다. 그러므로 맵핑 시퀀스(S1)는 {0,114,228,342,457,571,685,799}이다. 시퀀스(S2)는 상술된 바와 동일할 것이다. 출력 인덱스는 다음과 같이 계산된다:
n=mod(S1(i)+S2(j),456)
여기서 i 및 j는 수학식 7 및 수학식 8에서 한정된 인덱스이다. GSM 최대-레이트 음성 채널에 대한 인터리빙 기능이 블록-사선 인터리빙을 사용하기 때문에 수학식 13의 계수 연산이 필요로 된다. 결과적으로, 시퀀스(S1)의 인덱스 값은 456을 초과하므로, 계수 연산을 필요로 한다.
수학식 13에서 계수 연산이 소거되어 맵핑 시퀀스(S1)를 수정함으로써 프로세싱 자원을 절약할 수 있다. 비트 맵핑 프로세스 동안 실시간으로 계수 연산을 수행하는 것보다, 계수 연산은 맵핑 시퀀스(S1) 상에서 수행될 수 있는데, 이는 사전에 계산되어 메모리(14)에 저장된다. 그러므로 맵핑 시퀀스(S1)는 다음과 같아진다:
S1={0,114,228,342,1,115,229,343}
수학식 14에서 보여지는 바와 같이 수정된 S1과 함께, 수학식 13이
n=S1(i)+S2(j)로 되어 간략해지고, 이는 단순한 부가적인 연산이다.
본 발명이 전송기(20)에 의해 수행되는 인터리빙 연산의 관점에서 설명되는 반면, 당업자는 동일한 비트 맵핑 기술이 수신기(30)에서 디-인터리버(60)에 의해 사용될 수 있다는 것을 인식할 것이다.
도6은 도1의 통신 시스템의 인터리버(42) 또는 디-인터리버(60)로써 사용될 수 있는 맵핑 회로(100)를 도시한다. 맵핑 회로(100)는 압축 해제 유닛(102), 맵핑 유닛(104), 입력 버퍼(106) 및 출력 버퍼(108)를 포함한다. 입력 버퍼(106)는 입력 시퀀스를 저장하고 맵핑 유닛(104)에 입력 비트(C(k))를 차례로 입력한다. 압축 해제 유닛(102)은 메모리(14)의 일부일 수 있는 검색표(110)에 저장된 압축 맵핑 시퀀스 상에 기초하여 압축 해제 맵핑 시퀀스 및 상술된 바와 같은 입력 비트(C(k))의 비트 인덱스(k)를 발생시킨다.
맵핑 유닛(104)에 입력된 각각의 입력 비트(C(k))에 대해서, 압축 해제 유닛(102)은 검색표(110)로부터 상응하는 부분적인 맵핑값을 판독하여 맵핑 유닛(104)에 출력된 출력 인덱스(n)를 계산한다. 맵핑 유닛(104)은 압축 해제 유닛(102)에 의해서 제공되는 입력-대-출력 맵핑값(n)에 기초하여 입력 비트(C(k))를 출력 버퍼(108)의 상응하는 위치에 맵핑한다. 연속적인 출력 인덱스(n)의 시퀀스는 본래 압축 해제된 맵핑 시퀀스이다.
도7은 본 발명의 일 실시예에 따르는 비트 맵핑 방법(200)을 도시하는 흐름도이다. 맵핑 프로세스(200)는 입력 시퀀스의 입력 버퍼(106)로의 로딩과 함게 단계(202)로 시작한다. 비트 인덱스(k)는 "0"으로 초기화 된다(블록204). 압축 해제 유닛(102)은 비트 인덱스(k)에 기초하여 압축 해제된 맵핑 시퀀스(S1,S2) 각각에 대한 선택 인덱스(i,j)를 계산하고(블록206), 메모리(14)의 검색표(110)로부터 상응하는 부분적인 맵핑값을 검색한다. 그 후에 압축 해제 유닛(102)은 예컨대, 검색표 밖에서 판독된 부분적인 맵핑값을 합산함으로써, 출력 인덱스(n)를 계산한다. 출력 인덱스(n)는 맵핑 유닛(104)에 출력된다.
출력 인덱스(n)는 상응하는 입력 비트의 출력 시퀀스의 비트 위치를 나타낸다. 맵핑 유닛(104)은 출력 버퍼(108)의 n 번째 위치에 k 번째 입력 비트를 기록한다. 맵핑 회로(100)는 차례로 입력 비트(C(k)를 출력 버퍼(108)의 상응하는 위치에 맵핑한다(블록212). 각각의 입력 비트(C(k))가 맵핑된 후에, 맵핑 회로(100)는 입력 시퀀스의 끝에 도달했는지 여부를 결정한다(블록214). 도달했다면, 프로세스가 종료된다(블록218). 도달하지 않았다면, 맵핑 회로(100)는 비트 인덱스(k)를 증분하고(블록 214), 다음 입력 비트(C(k))에 대한 맵핑 프로세스를 반복한다(블록206-212).
도8은 본 발명에서 사용되는 압축 맵핑 시퀀스를 발생시키는 예시적인 압축 유닛(150)을 도시한다. 압축 유닛(150)은 분리기(152) 및 시퀀스 발생기(154)를 포함한다. 맵핑 펑크션(f(k))은 분리기(152)에 입력된다. 분리기(152)는 시퀀스 발생기(154)에 입력된 m 개의 주기적인 컴포넌트 펑크션들(f1(k), f2(k), …, fm(k))로 맵핑 펑크션(f(k))을 분리한다. 시퀀스 발생기(154)는 컴포넌트 펑크션들(f1(k), f2(k), …, fm(k))로부터 l 개의 압축 맵핑 시퀀스들(S1(k), S2(k),…,Sl(k))을 발생시킨다. 일반적으로, 압축 맵핑 시퀀스의 수는 컴포넌트 펑크션들의 수보다 작거나 동일하다. 시퀀스 발생기(154)에 의해 발생된 압축 맵핑 시퀀스들(S1(k), S2(k),…,Sl(k))은 그 후에 메모리(14)의 검색표(110)에 저장된다.
도9는 본 발명의 일 예시적인 실시예의 압축 유닛(150)의 연산을 도시하는 흐름도이다. 압축 프로세스(250)는 맵핑 펑크션(f(k))이 압축 유닛(150)에 입력될 때 시작한다(블록 252). 분리기(152)는 맵핑 펑크션(f(k))을 컴포넌트 펑크션들(f1(k), f2(k), …, fm(k))로 분리한다(블록254). 컴포넌트 펑크션들(f1(k), f2(k), …, fm(k))은 시퀀스 발생기(154)에 입력되는데, 이는 동일하거나 양립할 수 있는 기간을 갖는 컴포넌트 펑크션들을 그룹화하나(블록 256). 시퀀스 발생기(154)는 컴포넌트 펑크션들의 각 그룹에 대한 압축된 맵핑 시퀀스를 계산한다(블록258). 각각의 그룹에 대해서, 그룹의 컴포넌트 펑크션들은 그룹의 가장 긴 기간에 걸쳐 평가된다. 각각의 비트 인덱스(k)에 대해서, 시퀀스 발생기(154)는 그룹의 모든 컴포넌트 펑크션들을 평가하고 합산하거나, 그렇지 않으면 결과를 결합하여 부분적인 맵핑값을 산출한다. 그룹의 가장 긴 기간에 걸쳐 결과적인 부분 맵핑값이 압축 맵핑 시퀀스를 형성한다. 그 후에 시퀀스 발생기(154)에 의해 발생된 압축 맵핑 시퀀스는 검색표(110)에 저장되고(블록260) 프로세스가 종료된다(블록(262).
본 발명은 물론 본 발명의 정신 및 필수적인 특성을 벗어나지 않고 설명되는 다른 특정한 방법들로 실행될 수 있다. 본원은 그러므로 제한하는 것이 아닌 설명으로써 모든 것을 고려하고, 첨부된 청구항의 수단 및 동일한 범위 내에서의 모든 변화가 본 발명에 포함되는 것으로 의도된다.

Claims (40)

  1. 통신 디바이스에 의해 구현되고, 상기 통신 디바이스에 의한 채널 코딩 또는 채널 디코딩을 위해 비트들을 재정렬하는 방법에 있어서:
    미리 결정된 맵핑 펑크션(mapping function)의 주기적인 컴포넌트 펑크션(component function)들로부터 도출되는 압축 맵핑 시퀀스들을 메모리에 저장하는 단계로서, 각각의 압축 맵핑 시퀀스는 상기 주기적인 콤포넌트 기능들을 한 주기에 걸쳐 추정함으로써 도출되는 복수의 사전 계산된 부분적인 맵핑값을 포함하는, 맵핑 시퀀스 저장 단계;
    입력 비트 시퀀스 내의 각각의 입력 비트들에 대해, 상기 입력 비트의 입력 인덱스에 기반하여 상기 메모리에 저장된 상기 압축 맵핑 시퀀스들로부터 부분적인 맵핑값들을 선택하는 단계;
    상기 입력 비트 맵핑값들 내의 각각의 입력 비트에 대해, 상기 선택된 부분적인 맵핑값들에 기반하여 상기 입력 비트에 대한 출력 인덱스를 계산하는 단계;
    상기 입력 비트 시퀀스에서의 각각의 입력 비트에 대해, 대응하는 출력 인덱스에 기반하여 상기 입력 비트를 자신과 대응하는 출력 비트 시퀀스에서의 출력 비트 위치로 맵핑하는 단계를 포함하는 비트들을 재정렬하는 방법.
  2. 제 1 항에 있어서,
    상기 선택된 부분적인 맵핑값들에 기반하여 상기 입력 비트 시퀀스 내의 상기 입력 비트에 대한 출력 인덱스를 계산하는 단계는 상기 선택된 부분적인 맵핑값들을 가산하여 상기 입력 비트에 대한 출력 인덱스를 생성하는 단계를 포함하는 것을 특징으로 하는 비트들을 재정렬하는 방법.
  3. 제 1 항에 있어서,
    입력 비트 시퀀스 내의 상기 입력 비트의 입력 인덱스에 기반하여 메모리에 저장되는 상기 압축 맵핑 시퀀스들로부터 부분적인 맵핑값들을 선택하는 단계는: 상기 입력 비트의 비트 인덱스에 기반하여 선택 인덱스를 각각의 압축 맵핑 시퀀스에 대해 계산하는 단계; 및 상기 선택 인덱스에 기반하여 각각의 압축 맵핑 시퀀스로부터 부분적인 맵핑값을 선택하는 단계를 포함하는 것을 특징으로 하는 비트들을 재정렬하는 방법.
  4. 제 3 항에 있어서,
    상기 비트 인덱스에 기반하여 선택 인덱스를 각각의 압축 맵핑 시퀀스에 대해 계산하는 단계는 상기 압축 맵핑 시퀀스의 주기에 의해 분할되는 비트 인덱스의 모듈러스(modulus)를 계산하는 단계를 포함하는 것을 특징으로 하는 비트들을 재정렬하는 방법.
  5. 제 1 항에 있어서,
    미리 결정된 맵핑 펑크션의 주기적인 컴포넌트 펑크션들로부터 도출되는 압축 맵핑 시퀀스들을 메모리에 저장하는 단계는 상기 압축 맵핑 시퀀스들을 메모리에 검색표들로 저장하는 단계를 포함하고, 각각의 입력 비트의 비트 인덱스는 상기 검색표들에 대한 인덱스를 계산하여 부분적인 맵핑 값들을 선택하는데 사용되는 것을 특징으로 하는 비트들을 재정렬하는 방법.
  6. 제 5 항에 있어서,
    상기 압축 맵핑 시퀀스들을 메모리에 검색표들로 저장하는 단계는 상기 부분적인 맵핑값들을 상기 검색표들에 16-비트 워드들로 저장하는 단계를 포함하는 것을 특징으로 하는 비트들을 재정렬하는 방법.
  7. 제 6 항에 있어서,
    상기 압축 맵핑 시퀀스들을 메모리에 검색표들로 저장하는 단계는 적어도 하나의 검색표 내의 16-비트 워드 내에 두 1-바이트의 부분적인 맵핑 값들을 저장하는 단계를 포함하는 것을 특징으로 하는 비트들을 재정렬하는 방법.
  8. 제 1 항에 있어서,
    각각의 압축 맵핑 시퀀스는 대응하는 컴포넌트 펑크션의 한 주기 또는 컴포넌트 펑크션들의 그룹을 포함하는 것을 특징으로 하는 비트들을 재정렬하는 방법.
  9. 제 8 항에 있어서,
    상기 압축 맵핑 시퀀스들 중 적어도 하나는 둘 이상의 주기적인 컴포넌트 펑크션들의 결합으로부터 도출되는 것을 특징으로 하는 비트들을 재정렬하는 방법.
  10. 제 1 항에 있어서,
    상기 선택된 부분적인 맵핑값들에 기반하여 상기 입력 비트 시퀀스 내의 상기 입력 비트에 대한 출력 인덱스를 계산하는 단계는 각각의 압축 맵핑 시퀀스로부터의 부분적인 맵핑값들을 주기적으로 가산하여 압축 해제 맵핑 시퀀스를 획득하는 단계를 포함하는 것을 특징으로 하는 비트들을 재정렬하는 방법.
  11. 제 1 항에 있어서,
    상기 미리 결정된 맵핑 펑크션은 인터리빙 기능인 것을 특징으로 하는 비트들을 재정렬하는 방법.
  12. 제 1 항에 있어서,
    상기 미리 결정된 맵핑 펑크션은 디-인터리빙 기능인 것을 특징으로 하는 비트들을 재정렬하는 방법.
  13. 통신 디바이스에 의한 채널 코딩 또는 채널 디코딩을 위해 비트들을 재정렬하기 위한 맵핑 회로에 있어서:
    미리 결정된 맵핑 펑크션의 주기적인 컴포넌트 펑크션들로부터 도출되는 압축 맵핑 시퀀스들을 저장하기 위한 메모리로서, 각각의 압축 맵핑 시퀀스는 상기 주기적인 콤포넌트 기능들을 한 주기에 걸쳐 추정함으로써 도출되는 복수의 사전 계산된 부분적인 맵핑값을 포함하는, 메모리;
    입력 비트 시퀀스 내의 각각의 입력 비트들에 대해, 상기 입력 비트에 대한 대응하는 비트 인덱스에 기반하여 각각의 압축 맵핑 시퀀스들로부터 부분적인 맵핑값들을 선택하고, 각각의 입력 비트에 대해, 각각의 상기 입력 비트에 대한 대응하는 출력 인덱스들을 계산하여 압축해제된 맵핑 시퀀스를 생성하는 압축해제 유닛;
    상기 대응하는 출력 인덱스에 기반하여 상기 입력 비트 시퀀스 내의 각각의 입력 비트를 자신과 대응하는 출력 비트 위치로 맵핑하는 맵핑 유닛을 포함하는 맵핑 회로.
  14. 제 13 항에 있어서,
    상기 압축해제 유닛은 선택된 부분적인 맵핑값들을 합산함으로써 각각의 입력 비트에 대한 출력 인덱스를 계산하도록 구성되는 것을 특징으로 하는 맵핑 회로.
  15. 제 13 항에 있어서,
    상기 압축해제 유닛은 상기 입력 비트의 비트 인덱스에 기반하여 선택 인덱스를 각각의 압축 맵핑 시퀀스에 대해 계산하고; 상기 선택 인덱스에 기반하여 각각의 압축 맵핑 시퀀스로부터 부분적인 맵핑값을 선택함으로써 각각의 입력 비트에 대한 부분적인 맵핑값들을 생성하도록 구성되는 것을 특징으로 하는 맵핑 회로.
  16. 제 15 항에 있어서,
    상기 압축해제 유닛은 상기 압축 맵핑 시퀀스의 주기에 의해 분할되는 비트 인덱스의 모듈러스를 계산함으로써 상기 비트 인덱스에 기반하여 선택 인덱스를 각각의 압축 맵핑 시퀀스에 대해 계산하도록 구성되는 것을 특징으로 하는 맵핑 회로.
  17. 제 13 항에 있어서,
    상기 메모리는 각각의 압축 맵핑 시퀀스를 검색표들로 저장하도록 구성되고, 각각의 입력 비트의 비트 인덱스는 상기 검색표들에 대한 인덱스를 계산하여 부분적인 맵핑 값들을 현재 입력 비트들을 맵핑하기 위해 선택하는데 사용되는 것을 특징으로 하는 맵핑 회로.
  18. 제 17 항에 있어서,
    상기 메모리는 상기 부분적인 맵핑값들을 상기 검색표들에 16-비트 워드들로 저장하도록 구성되는 것을 특징으로 하는 맵핑 회로.
  19. 제 18 항에 있어서,
    상기 메모리는 적어도 하나의 검색표 내에 있는 16-비트 워드 내에 두 1-바이트의 부분적인 맵핑 값들을 저장하도록 구성되는 것을 특징으로 하는 맵핑 회로.
  20. 제 13 항에 있어서,
    각각의 압축 맵핑 시퀀스는 대응하는 컴포넌트 펑크션의 한 주기 또는 컴포넌트 펑크션들의 그룹을 포함하는 것을 특징으로 하는 맵핑 회로.
  21. 제 20 항에 있어서,
    상기 압축 맵핑 시퀀스들 중 적어도 하나는 둘 이상의 주기적인 컴포넌트 펑크션들의 결합으로부터 도출되는 것을 특징으로 하는 맵핑 회로.
  22. 제 13 항에 있어서,
    상기 압축해제 유닛은 각각의 압축 맵핑 시퀀스로부터의 부분적인 맵핑값들을 주기적으로 가산하여 압축 해제 맵핑 시퀀스를 획득함으로써 각각의 입력 비트에 대한 상기 출력 인덱스를 생성하도록 구성되는 것을 특징으로 하는 맵핑 회로.
  23. 제 13 항에 있어서,
    상기 맵핑 회로는 인터리버인 것을 특징으로 하는 맵핑 회로.
  24. 제 13 항에 있어서,
    상기 맵핑 회로는 디-인터리버인 것을 특징으로 하는 맵핑 회로.
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
KR1020077016336A 2004-12-17 2005-12-16 맵핑 펑크션의 주기성을 사용하여 메모리 효율적인 인터리빙/디-인터리빙 KR101143768B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/016,643 US7600164B2 (en) 2004-12-17 2004-12-17 Interleaving/de-interleaving using compressed bit-mapping sequences
US11/016,643 2004-12-17
PCT/EP2005/013564 WO2006063843A1 (en) 2004-12-17 2005-12-16 Memory efficient interleaving / de-interleaving utilising the periodicity of the mapping function

Publications (2)

Publication Number Publication Date
KR20070097066A KR20070097066A (ko) 2007-10-02
KR101143768B1 true KR101143768B1 (ko) 2012-05-16

Family

ID=35589659

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077016336A KR101143768B1 (ko) 2004-12-17 2005-12-16 맵핑 펑크션의 주기성을 사용하여 메모리 효율적인 인터리빙/디-인터리빙

Country Status (5)

Country Link
US (1) US7600164B2 (ko)
EP (1) EP1834411A1 (ko)
KR (1) KR101143768B1 (ko)
CN (1) CN101151806B (ko)
WO (1) WO2006063843A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1561296A1 (en) * 2002-09-24 2005-08-10 Telefonaktiebolaget LM Ericsson (publ) Interleaving for mobile communications
US7308616B2 (en) * 2004-08-26 2007-12-11 International Business Machines Corporation Method, apparatus, and computer program product for enhanced diagnostic test error reporting utilizing fault isolation registers
US20080133997A1 (en) * 2006-12-01 2008-06-05 Broadcom Corporation, A California Corporation Turbo decoder employing ARP (almost regular permutation) interleave and inverse thereof as de-interleave
US7886203B2 (en) * 2007-09-05 2011-02-08 Mindtree Consulting Ltd Method and apparatus for bit interleaving and deinterleaving in wireless communication systems
US8036258B2 (en) * 2007-10-17 2011-10-11 Mazen Alkhatib Method and system for increasing transmission speed of wired or wireless signals while minimizing the bit error rate
WO2010131491A1 (ja) * 2009-05-15 2010-11-18 国立大学法人東京大学 肥満素因の評価方法及びキット、並びに、抗肥満薬及びそのスクリーニング方法、非ヒト動物、脂肪組織、脂肪細胞、トランスジェニックマウス作成方法、抗原、抗体
KR101288548B1 (ko) * 2009-12-15 2013-07-22 한국전자통신연구원 전송 성능 향상을 위한 인터리빙 장치 및 이의 인터리빙 방법
CN102812431A (zh) 2010-03-22 2012-12-05 Lrdc系统有限公司 用于识别与保护一组源数据的完整性的方法

Family Cites Families (30)

* 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
US4641327A (en) * 1985-07-09 1987-02-03 Codex Corporation Frame synchronization in trellis-coded communication systems
US4901319A (en) * 1988-03-18 1990-02-13 General Electric Company Transmission system with adaptive interleaving
US4907233A (en) * 1988-05-18 1990-03-06 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration VLSI single-chip (255,223) Reed-Solomon encoder with interleaver
US5042033A (en) * 1989-06-05 1991-08-20 Canadian Marconi Corporation RAM-implemented convolutional interleaver
US5077737A (en) * 1989-08-18 1991-12-31 Micron Technology, Inc. Method and apparatus for storing digital data in off-specification dynamic random access memory devices
US5392299A (en) * 1992-01-15 1995-02-21 E-Systems, Inc. Triple orthogonally interleaed error correction system
JPH0721356A (ja) 1992-12-31 1995-01-24 Eastman Kodak Co 画像処理装置
JP3415693B2 (ja) 1993-12-23 2003-06-09 ノキア モービル フォーンズ リミテッド インターリーブプロセス
US5572532A (en) 1993-12-29 1996-11-05 Zenith Electronics Corp. Convolutional interleaver and deinterleaver
US5719875A (en) 1996-06-11 1998-02-17 Lucent Technologies Inc. Systematic convolution interleavers and deinterleavers
KR19990012821A (ko) * 1997-07-31 1999-02-25 홍성용 전자기파 흡수체 조성물과 이의 제조 방법, 전자기파 흡수용도료 조성물과 이의 제조 방법 및 이의 도포 방법
US6339834B1 (en) * 1998-05-28 2002-01-15 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communication Research Centre Interleaving with golden section increments
US6347385B1 (en) * 1998-08-03 2002-02-12 Nortel Networks Limited Interleavers for turbo code
JP4081875B2 (ja) * 1998-09-08 2008-04-30 ソニー株式会社 符号化装置および方法、復号装置および方法、並びに提供媒体
JP2000124816A (ja) * 1998-10-14 2000-04-28 Oki Electric Ind Co Ltd 符号化インタリーブ装置
EP1039646A1 (en) 1999-03-05 2000-09-27 Mitsubishi Electric France Interleaver device and method for interleaving a data set
AU759580B2 (en) * 1999-04-06 2003-04-17 Qualcomm Incorporated 2-dimensional interleaving apparatus and method
US6553517B1 (en) 1999-04-09 2003-04-22 Sony Corporation Interleavers and de-interleavers
US6259744B1 (en) * 1999-06-01 2001-07-10 Motorola, Inc. Method and apparatus for mapping bits to an information burst
US7286670B2 (en) 1999-11-09 2007-10-23 Chaoticom, Inc. Method and apparatus for chaotic opportunistic lossless compression of data
US7055088B2 (en) * 2000-02-11 2006-05-30 Paradyne Corporation Interleaved generalized convolutional encoder
US6662332B1 (en) * 2000-07-05 2003-12-09 3Com Corporation Interleaver for burst error correction
US6785859B2 (en) * 2000-08-04 2004-08-31 Texas Instruments Incorporated Interleaver for variable block size
US6981202B2 (en) * 2001-01-08 2005-12-27 Nokia Corporation Method and system for allocating convolutional encoded bits into symbols before modulation for wireless communication
US6845482B2 (en) * 2001-02-28 2005-01-18 Qualcomm Incorporated Interleaver for turbo decoder
US7170849B1 (en) * 2001-03-19 2007-01-30 Cisco Systems Wireless Networking (Australia) Pty Limited Interleaver, deinterleaver, interleaving method, and deinterleaving method for OFDM data
US6973611B2 (en) 2001-04-17 2005-12-06 Texas Instruments Incorporated Interleaved coder and method
US6987470B2 (en) 2003-11-21 2006-01-17 Qualcomm Incorporated Method to efficiently generate the row and column index for half rate interleaver in GSM
GB2409133A (en) 2003-12-11 2005-06-15 Motorola Inc Interleaver for a turbo encoder and decoder

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
AMPADU P ET AL, "An efficient hardware inter leaver for 3G turbo decoding," PROC. RADIO AND WIRELESS CONFERENCE RAWCON '03, 10 August 2003 (2003-08-10), pages 199-201, XP010656732 PISCATAWAY, NJ, USA *

Also Published As

Publication number Publication date
US7600164B2 (en) 2009-10-06
WO2006063843A1 (en) 2006-06-22
CN101151806B (zh) 2012-04-25
KR20070097066A (ko) 2007-10-02
CN101151806A (zh) 2008-03-26
EP1834411A1 (en) 2007-09-19
US20060156094A1 (en) 2006-07-13

Similar Documents

Publication Publication Date Title
KR101143768B1 (ko) 맵핑 펑크션의 주기성을 사용하여 메모리 효율적인 인터리빙/디-인터리빙
EP1805899B1 (en) Puncturing/depuncturing using compressed differential puncturing pattern
US7962828B2 (en) Apparatus and method for coding/decoding block low density parity check code in a mobile communication system
KR100711326B1 (ko) 선형 합동 시퀀스들을 이용한 터보 코드 인터리버
JP5875713B2 (ja) 送信機および受信機、並びに符号化率可変方法
MXPA01010239A (es) Sistema y metodo que emplean un decodificador modular para decodificar codigos turbo y similares al turbo en una red de comunicaciones.
CA2545404A1 (en) Apparatus and method for transmitting and receiving coded data by encoder having unequal error probability in mobile communication system
EP0999648B1 (en) Data rate matching method
WO2000064058A1 (fr) Codeur et decodeur
US20040193995A1 (en) Apparatus for decoding an error correction code in a communication system and method thereof
US7095808B1 (en) Code puncturing method and apparatus
US20080208939A1 (en) Decoder device and decoding method
KR101200073B1 (ko) 무선 통신 시스템의 채널 부호기
KR100317262B1 (ko) 상향 링크에서의 채널화 코드 레이트 매칭 방법
KR100956592B1 (ko) 메시지 전달 알고리즘을 이용한 ldpc 코드 부호화 장치및 그 방법
KR101353094B1 (ko) 오류정정부호에 대한 인터리빙 방법 및 이를 이용한 정보 송수신 시스템
EP1445885A1 (en) Code puncturing method and apparatus
Zarrinkhat et al. Enhancement of resilience to bit-errors of compressed data on-board a hyperspectral satellite using forward error correction
Usher et al. Coding
JP2000307436A (ja) 誤り訂正復号化方式及び誤り訂正復号化装置
JP2001326577A (ja) 直接連接畳込み符号器、及び、直接連接畳込み符号化方法
WO2008060843A2 (en) Interleaver for use in turbo coding

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: 20160411

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee