KR20010110482A - 비트반전된 랜덤 인터리빙을 위한 일반화된 주소 생성기 - Google Patents

비트반전된 랜덤 인터리빙을 위한 일반화된 주소 생성기 Download PDF

Info

Publication number
KR20010110482A
KR20010110482A KR1020017012539A KR20017012539A KR20010110482A KR 20010110482 A KR20010110482 A KR 20010110482A KR 1020017012539 A KR1020017012539 A KR 1020017012539A KR 20017012539 A KR20017012539 A KR 20017012539A KR 20010110482 A KR20010110482 A KR 20010110482A
Authority
KR
South Korea
Prior art keywords
address
fragment
bit inverted
address fragment
interleaver
Prior art date
Application number
KR1020017012539A
Other languages
English (en)
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 KR20010110482A publication Critical patent/KR20010110482A/ko

Links

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/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/2789Interleaver providing variable interleaving, e.g. variable block sizes
    • 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/2735Interleaver using powers of a primitive element, e.g. Galois field [GF] interleaver
    • 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
    • H03M13/2764Circuits therefore
    • 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/2771Internal interleaver for turbo codes
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding

Abstract

인터리버에서 주소 생성을 위한 신규하고 개선된 방법 및 장치가 제공된다. 본 발명의 일 실시예에 따라, 주소는 랜덤 주소 프레그먼트(108) 및 비트반전 주소 프레그먼트(106)를 이용하여 생성된다. 비트 인터리버 프레그먼트는 두개의 연속된 후보 비트 인터리빙된 프레그먼트를 우선적으로 생성하여 선택된다. 두번째 비트 인터리빙된 프레그먼트는 첫번째 비트 인터리빙된 주소 프레그먼트가 최대 주소보다 큰 주소를 생성할 때 선택된다. 주소 생성기는 N의 인터리버 및 디인터리버 프레임에 대한 주소 생성을 가능하게 하며, N은 2의 정수제곱은 아니며, 임의의 사이클 패널티는 존재하지 않는다.

Description

비트반전된 랜덤 인터리빙을 위한 일반화된 주소 생성기{GENERALIZED ADDRESS GENERATION FOR BIT REVERSED RANDOM INTERLEAVING}
터보 코딩은 포워드 에러 보정(FEC) 코딩의 매우 강력한 형태이다. 포워드 에러 보정은 전송된 데이터의 에러 보정을 포함한다. 에러 보정을 수행하기 위하여, FEC 코딩은 전송전에 데이터에 인가된다. 일단 수신되면, 원 데이터는 디코딩 프로세스를 사용하여 수신된 데이터로부터 복구된다. 이 타입의 에러 보정을 제공하는 것은 잡음이 많은 환경에서 데이터의 성공적인 전송을 가능하게 하며, 따라서 여러 타입의 디지털 전송을 용이하게 한다.
터보 코딩은 전형적으로 최상의 성능을 위하여 랜덤 또는 유사-랜덤 인터리빙을 사용하는 것을 포함한다. 랜덤 인터리빙은 집적 회로에서 수행될 때 바람직하지 않은 크고 복잡한 주소 생성 회로를 필요로 할 수 있다. 또한, 랜덤 주소 생성기는 인터리빙된 블록의 크기가 2의 정수제곱이 아닐 때 문제를 일으킬 수 있다.
본 발명은 집적 회로에서 수행하기에 더욱 적당한 주소 생성기의 방법 및 장치에 관한 것이다. 이것은 모든 애플리케이션, 특히 이동 통신에 대한 터보 코딩의 유용성을 증가시킬 것이며, 회로크기, 비용 및 전력 소비들이 주요 관심사이다.
본 발명은 통신에 관한 것이다. 특히, 본 발명은 인터리버에서 메모리 주소를 생성하는 신규하고 개선된 방법 및 장치에 관한 것이다.
본 발명의 특징, 목적, 및 이점들은 이하의 상세한 설명에서 도면을 참조로 상세하게 설명될 것이다.
도 1은 인터리버의 블록도이다.
도 2는 주소 생성기의 블록도이다.
도 3은 주소 생성기의 블록도이다.
도 4는 여러 크기의 인터리버의 표이다.
본 발명은 인터리버에서 주소를 생성하기 위한 신규하고 개선된 방법 및 장치이다. 본 발명의 일 실시예에 따라, 주소는 랜덤 주소 프레그먼트 및 비트반전된 주소 프레그먼트를 이용하여 생성된다. 비트 인터리버 프레그먼트는 두개의 연속된 비트 인터리빙된 프레그먼트를 먼저 생성하여 선택된다. 제 2 비트 인터리빙된 프레그먼트는 제 1 비트 인터리빙된 주소 프레그먼트가 최대 주소보다 큰 주소를 생성할 때 선택된다. 주소 생성기는 인터리버를 위한 주소 생성기 및 N의 디인터리버 프레임을 가능하게 하며, 여기에서 N은 2의 정수제곱이 아니며, 임의의 사이클 페널티도 존재하지 않는다.
본 발명은 인터리버에서 주소를 생성하기 위한 신규하고 개선된 방법 및 장치이다. 본 발명은 디지털 통신 시스템 및 셀룰러 전화 시스템과 같은 육상 기반의 디지털 통신 시스템을 포함하는 여러 타입의 디지털 통신에서 사용될 것이다. 상기 시스템은 "무선"이며, 다른 신호 또는 데이터를 전송하기 위하여 무선 주파수 전자기 신호를 이용한다. 유선 시스템이 또한 본 발명을 이용할 수 있다. 본 발명은 바람직하게 집적 회로에서 이용되지만, 이산 또는 게이트 어레이 로직 또는 마이크로프로세서에서 동작하는 소프트웨어를 포함하는 다른 여러 방법들이 사용될 수 있다. 본 발명을 기술하는데 이용되는 여러 블록도는 하드웨어 구성 및 방법 단계를 설명한다.
도 1은 본 발명의 일 실시예의 사용에 따라 구성된 일반화된 코드 인터리버의 블록도이다. 코드 인터리버는 송신 및 수신 처리 체인내에서 사용되는 것이 채널 인터리버와 구별된다. 전형적으로 코드와 채널 인터리버는 터보 코딩을 사용하는 시스템에서 사용된다. 본 발명은 바람직하게 코드 인터리버내에서 사용되며, 이는 코드 인터리버가 유사랜덤 주소 생성의 사용으로부터 이득을 얻는 것으로 공지되어 있기 때문이다. 채널 디인터리버는 전형적으로 수신 체인의 디코더 이전에 그리고 수신 체인의 코더 인터리부 이후에 위치한다. 여러 터보 코딩 시스템 및 인터리버는 "Coding System Having State Machine Based Interleaver"로 명명되고 1998년 9월 22일자에 출원된 미국특허 출원번호 09/158,459호, "Coding System Having State Machine Based Interleaver"로 명명되고 1998년 10월 13일 출원된 상기 건의 부분연속출원인 미국특허 출원번호 09/172,069호, 및 "Turbo Code Interleaver Using Linear Cogruential Sequence"로 명명되고 1998년 12월 4일 출원된 미국특허 출원번호 제09/205,511호에 개시되어 있으며, 본 발명의 양수인에게양도되고, 본 명세서에서 상호참조된다.
인터리빙될 데이터(또는 심볼)는 인터리버 메모리(100)에 저장된다. 터보 코딩에 적당한 실제 유사랜덤 인터리빙을 수행하기 위하여, 여러 인터리버는 유사랜덤 주소 생성과 비트반전 주소 생성의 사용을 결합한다. 디인터리버는 전형적으로 적용된 카운터 및 인터리빙된 주소가 반전되는 순서를 제외하면 인터리버와 유사한 방식으로 구성된다.
전형적인 프로세싱동안, 데이터는 카운터(102)를 사용하여 코드 인터리버 메모리에 기록되고, 주소 생성기로서 mux(104)를 통하여 인가된다. 데이터가 판독되었을 때, 주소는 비트반전된 프레그먼트와 유사랜덤 프레그먼트를 연결하여 생성되고, 이는 mux(104)를 통하여 인가된다. 비트반전된 주소 프레그먼트 생성기(106)는 비트반전된 주소 프레그먼트를 생성한다. 유사-랜덤 주소 프레그먼트 생성기(108)는 유사랜덤 주소 프레그먼트를 생성한다. 유사-랜덤 주소 프레그먼트 생성기는 예를 들면 상태 기계일 수 있다. 두개의 프레그먼트들이 연결되고 mux(104)에 인가된다.
두개의 프레그먼트들은 메모리의 행과 열에 해당하며, 그 역 또한 마찬가지이지만, 꼭 그런것은 아니다. 상술한 두개의 주소 프레그먼트 생성기에 의하여 생성된 주소를 사용하여 데이터를 판독함으로써, 데이터는 매우 랜덤한 방식으로 출력되며, 이에 따라 판독된 순서로 인터리빙된다.
본 발명의 상술한 실시예에서, 유사-랜덤 주소 프레그먼트는 주소의 최하위 부분을 형성하고 비트반전 인터리버는 주소의 최상위 부분을 형성한다. 유사-랜덤및 비트반전된 주소 프레그먼트를 이용하는 인터리빙을 수행하는 여러 대안방법들이 공지되어 있으며, 주소 생성 프로세스의 추가 단계를 통합한 것을 포함한다. 일반적으로 이러한 보다 복잡한 대안 계획안이 또한 본 발명을 사용하는 것으로부터 이익을 받을 수 있을 것이다.
인터리빙될 블록(코드 인터리빙 블록)의 크기가 2의 정수 제곱일 때(2i, i는 정수값), 두개의 주소 프레그먼트의 연결에 의하여 생성된 전체 주소 세트가 이용될 수 있다. 그러나, 코드 인터리브 블록의 크기가 2의 정수제곱이 아닐 때, 생성된 주소의 일부만이 사용될 것이다. 유사랜덤 주소 생성기에서, 사용되지 않은 주소는 일반적으로 "펑처링"되며 따라서 사용되지 않는다. 만일 여러 주소가 한줄로 펑처링되어야 한다면, 적당한 주소를 생성하는데 이용될 수 있는 클록 사이클이 충분하지 않을 것이다.
적절한 방식으로 주소를 생성하지 못하는 것은 회로의 동작을 중단시키고, 추가의 복잡성을 요구하거나 전력 소비를 증가시키거나 실행하기 힘든 높은 클록 속도를 필요로 하게된다. 본 발명의 일 측면을 따르면, 각각의 클록 사이클동안 생성된 적당한 주소를 보장하는 인터리버 주소 생성 유니트가 제공된다.
도 2는 본 발명의 일 실시예에 따라 구성된 주소 생성 유니트의 블록도이다. 주소 생성 유니트는 비트반전된 주소 프레그먼트 생성기(200)(전형적인 실시예에서 줄 생성기로서 사용되고 또한 간단하게 줄 프레그먼트 생성기로서 참조된다.), 및 유사랜덤 주소 프레그먼트 생성기(202)(전형적인 실시예에서 열 생성기로서 사용되고 또한 간단하게 열 프레그먼트 생성기로서 참조된다.)를 포함한다. 최종 주소는 비트반전된 주소 프레그먼트 및 유사랜덤 주소 프레그먼트를 연결하여 형성된다.
비트반전된 주소 프레그먼트 생성기(200)내에서 줄 생성기(210)는 현 주소를 위한 비트반전된 줄 프레그먼트를 생성한다. 줄+1 생성기(212)는 다음 주소를 위한 줄 프레그먼트를 생성한다. 줄 생성기(210)의 현 비트반전된 주소 프레그먼트는 멀티플렉서(214)에 인가되고 회로(216)를 제어한다. 줄+1 생성기(212)의 다음의 비트반전된 주소 프레그먼트가 또한 멀티플렉서(214)에 인가된다. 멀티플렉서(214)는 최종 줄을 출력한다(비트반전된 프레그먼트는 결국 주소를 생성하는데 사용된다).
유사랜덤 주소 프레그먼트 생성기(202)내에서, 현 열 생성기(col;230)는 현 주소를 위한 유사랜덤 주소 프레그먼트를 생성하고, 이는 멀티플렉서(234)에 인가된다. 또한, 현 열 생성기(230)의 출력은 유니트(216)를 제어하는데 이용된다. 다음의 열 생성기(col+1;232)는 다음 주소를 위한 유사랜덤 주소 프레그먼트를 생성하고, 이는 멀티플렉서(234)에 인가된다. 멀티플렉서(234)는 최종 열을 생성한다(유사랜덤 주소 프레그먼트는 결국 주소를 생성하는데 이용된다). 본 발명의 전형적인 실시예에서, 열 및 줄 프레그먼트는 각각의 주소 변경시에 변경된다.
동작시, 제어 유니트(216)는 현 주소에 대한 열 및 줄을 수신하고, 최종 주소(전형적인 실시예의 두개 프레그먼트의 연결)가 N보다 큰지를 결정한다. N은 코드 인터리버의 데이터 비트 또는 심볼수이다. 전형적인 실시예에서, N은 2의 비정수제곱이다. 즉, 제어 유니트(216)는 현 주소가 코드 인터리버 블록의 크기보다큰지를 결정한다. 만일 그렇지 않다면, 제어 유니트(216)는 멀티플렉서(214)로 하여금 현 줄 프레그먼트 생성기(210)로부터 현 줄 주소를 생성하도록 한다.
만일 현 주소가 N보다 커서 범위를 벗어난다면, 제어 유니트(216)는 멀티플렉서(214)로 하여금 줄+1 생성기(212)의 줄 프레그먼트를 출력하도록 한다. 그러므로 제어 유니트(216)는 현 주소가 범위를 벗어날 때 현 주소를 효과적으로 "펑처링"하도록 한다. 하기와 같이, 만일 현 주소가 범위를 벗어난다면, 다음 주소는 범위내에 있을 것이며, 따라서 사용될 수 있는 주소는 클록 사이클동안 이용될 수 있을 것이다.
일반적으로, N이 2의 정수제곱이 아닐 경우, 주소의 비트번호는 2의 정수제곱인 다음의 큰 값을 어드레싱하기에 충분히 크다. 즉, 주소의 비트수는 N보다 큰 2i의 다음 정수제곱으로 세팅될 것이며, 2(i-1)은 N보다 작은 2의 다음 정수제곱으로 세팅될 것이다. 그러므로 N값은 언제나 2i와 2(i-1)사이에 존재할 것이다. 따라서 범위를 벗어난 주소는 2(i-1)보다 클것이며, 최상위 비트를 가지게 되어 로직 제로로 세팅될 것이다.
이것은 비트반전된 주소의 줄을 이용하기 때문에, 두개의 주소 프레그먼트의 최상위 비트가 각각의 새로운 주소를 위하여 로직 제로와 로직 원 사이에서 변경되기 때문이다. 즉, 최하위 비트는 비트반전동안 최하우 비트가 되기 때문에, 비트 반전된 주소의 최상위 비트는 각각의 시간을 증가시킨다. 그러므로 비트반전된 조수 프레그먼트에 대한 최상위 비트는 로직 원과 로직 제로사이에서 변경되며, 이는일반적인 카운터의 최하위 비트 역시 마찬가지이다.
현재의 주소가 범위를 벗어날 때, 다음 주소의 최상위 비트가 로직 제로가 될 것이다. 그러므로 주소는 2(i-1)보다 작을 것이다. 2(i-1)는 N보다 작기 때문에, 다음 주소는 범위안에 존재하는 것을 보장하며 따라서 이용될 수 있다. 따라서 현 주소와 다음 주소에 대한 비트반전된 주소 프레그먼트를 생성함으로써, 적어도 하나의 주소가 범위안에 존재하며 클록 사이클동안 이용될 수 있다는 것을 보장한다.
유사랜덤 주소 프레그먼트 생성기9202)내에서, 현 주소 열 생성기(col;230)는 현 주소에 대한 유사랜덤 주소 프레그먼트를 생성하고, 이는 멀티플렉서(234)와 제어 유니트(216)에 인가된다. 멀티플렉서(234)는 인터리빙 또는 디인터리빙에 대한 주소를 생성하는데 사용되는 열값을 출력한다. 다음 주소 생성기(col+1;232)는 다음 열을 위한 유사랜덤 주소 프레그먼트를 생성하며, 이는 멀티플렉서(234)에 인가된다. 바람직하게, 특정 줄에 따라 생성된 열 주소 세트가 처리되고, 인터리빙 랜덤성을 증가시킨다.
멀티플렉서(234)는 AND 게이트(240)의 출력에 의하여 제어되며, 최종 열값을 출력한다. AND 게이트(240)는 제어 유니트(216,242)의 출력을 수신한다. 제어 유니트(242)는 최종 줄값을 수신하고, 이는 비트반전된 주소 프레그먼트에 의하여 생성된다(줄 생성기).
동작시, 제어 유니트(216)는 줄 및 열 프레그먼트 생성기(200,202)의 현 줄과 현 열을 수신하고, 최종 주소(상술한 바와 같은)가 N보다 크다면 제어신호(250)를 생성한다. 제어 유니트(242)는 줄 프레그먼트 생성기(200)으로부터 최종 줄을 수신하고, 수신된 줄값이 각각의 열에 대하여 처리된 첫번째 줄(FIRST_ROW)과 동일할 때 제어 신호(252)를 발생한다. FIRST_ROW는 각 열에 대하여 처리된 첫번째 줄 프레그먼트이며, 일 실시예에서는 모든 로직과 동일하고, 모든 제로의 비트반전된 값에 해당한다.
상술한 바와 같이, 현 줄 및 열이 N보다 클때, 제어 신호(250)가 발생하고 다음 줄이 사용된다. 다음 줄이 FIRST_ROW와 동일할 때, 제어 신호(252)가 또한 발생하고, AND 게이트(240)으로 하여금 제어 신호(254)를 발생하도록 한다. 제어 신호(252,254)가 모두 발생하였을 때, 다음 줄 동작의 결과는 새로운 주소로 하여금 사이클링하도록 하며, 따라서 다음 세트의 열 주소의 생성이 시작된다. 다음 클록 사이클에서 이러한 처리과정을 시작하기 위하여, 열 프레그먼트 생성기(202)의 다음 열 주소가 사용된다. 그러므로 현 열 및 다음 열 생성기를 모두 사용하는 것은 디인터리빙이 빠르고 효과적으로 처리되도록 한다.
본 발명의 일 실시예는 현재와 다음의 열 생성기를 사용하는 것을 생략할 수 있다. 본 발명의 상기 실시예는 또한 특정 줄의 처리동안 효과적으로 동작할 수 있지만, 열 스위치가 끝났을 때 약간의 효율성이 떨어질 수도 있다. 예를 들어, 추가의 클록 사이클이 필요할 수 있다. 또한 현 줄 생성기 및 다음 줄 생성기가 분리된 블록 또는 회로로 나타날 수 있으며, 두개 유니트의 일부는 회로를 공유할 수도 있다. 또한 두배의 클록 속도에서 동일한 유니트가 동작할 수도 있다. 이는 현 열 생성기 및 다음 열 생성기에 대하여도 사실이다.
도 3은 갈루아 필드(GF) 유사랜덤 인터리버의 사용에 따라 구성된 주소 생성기 유니트의 블록도이다. 전형적인 실시예에서, GF 인터리빙은 다음 단계를 거쳐 수행된다.
N의 인터리버에 대하여, 2m의 블록이 2m= r ×c(r=줄,c=열)로서 정의되며, 2m은 N 이상의 2의 다음 정수제곱이다. 전송될 심볼들은 다음과 같다.
/1/ 인터리버 메모리에 줄대줄로 기록된다.
/2/ 각각의 줄 i(I=0,1,...,r-1)은 다음 규칙에 따라 치환된다:
, j=0,1,2,3,...,c-2
, j=c-1
여기에서 α는 GF(c)를 구성하는데 사용된 원다항식 p(x)∈GF(2)[x]의 근이다. α^ib는 GF(c)의 원엘리멘트이고 i0은 0과 c-2를 포함한 사이의 정수이다. 상수 ib와 i0은 각각의 줄에 특정되며, 여러 크기의 인터리버에 대한 전형적인 값세트는 도 3에 제공되어 있다. 게다가, 정의에 의하면,
/3/ 줄 인덱스의 비트반전에 따라 줄을 재배치한다.
/4/ 인터리버의 내용을 열대열로 판독한다.
또한, 상술한 바와 같은 비트반전되고 연결된(유사랜덤) 주소 프레그먼트를 이용하여 생성된 주소가 N보다 클때, 주소는 펑처링되고, 다음 주소가 사용된다.
도 3을 참조하면, 본 발명의 선택적인 실시예에서, 주소 생성기는 비트반전된 주소 프레그먼트 생성기(390)와 유사랜덤 주소 프레그먼트 생성기(392)를 포함한다. 추가의 제어 회로는 제어 유니트(420), 제어 유니트(422) 및 멀티플렉서(423)를 포함한다.
비트반전된 주소 프레그먼트 생성기(390)내에서, 줄 카운터(400)는 인터리버 메모리의 r줄 세트에 대하여, 0에서 r-1까지 순환한다. 줄 카운터(400)의 값중에서 하나의 복사본이 멀티플렉서(408)외에 비트반전 유니트(404b)에 인가된다. 줄 카운터(400)의 값중 다른 복사본은 가산기(402)에 의하여 1만큼 증가된 후 비트반전 유니트(404a)와 멀티플렉서(408)에 인가된다. 멀터플렉서(408)의 출력은 회로(410)를 추가하여 증가된 후, 줄 카운터(400)에 입력으로서 인가된다.
비트반전 유니트(404b)는 현 주소에 대하여 비트반전된 주소 프레그먼트를 생성하고, 비트반전된 유니트(404a)는 다음 주소에 대하여 비트반전된 주소 프레그먼트를 생성한다. 현재와 다음 비트반전된 주소 프레그먼트는 멀티플렉서(406)에 인가되고, 이는 Addr_GT_N 신호(422)에 의하여 제어되며 최종 주소를 생성하는데 사용된 최종 줄 인덱스를 출력한다. 추가적으로, 비트반전 유니트(404b)의 출력(현 줄 프레그먼트)은 제어 유니트(420)에 인가된다. 제어 유니트(420)는 또한 인터리빙된 비트 또는 심볼수인 N값을 수신하고, 이하 상세하게 설명하려는 처리된 현 열과 관계된 열 인덱스(424)를 수신한다.
동작시, 현 비트반전 프레그먼트를 수신한 제어 유니트(420)는 이를 열수만큼 곱하고, 현 열 인덱스(424)를 추가한다. 만일 최종값이 N보다 크다면, 현 주소는 범위가 벗어났음을 나타내며, 제어 유니트(420)는 Addr_GT_N 신호(422)를 발생한다. Addr_GT_N이 발생하였을 때, 멀티플렉서(406)는 최종 줄과 마찬가지로 다음 줄 주소 프레그먼트를 출력한다. 또한, 멀티플렉서(406)는 다음 사이클동안 현 줄 및 다음 줄을 생성하는데 사용되는 다음 줄 인덱스값(반전되지 않은 다음 줄값)을 출력한다. 그러므로 비트반전된 주소 프레그먼트 생성기(390)는 현재와 다음의 주소 줄을 모두 생성하고 범위안의 주소를 생성하는 줄을 선택함으로써 각각의 클록 사이클동안 범위안에 있는 줄 주소를 생성한다.
유사랜덤 주소 프레그먼트 생성기(392)내에서, 열 카운터(450)는 현 열 인덱스(452)를 생성한다. 현 열 인덱스(452)는 Abs(i0-j)회로(454;MIN(i0,j) 및 멀티플렉서(457)에 인가된다. 또한 현 열 인덱스(424)는 접속이 도시되지는 않았지만 멀티플렉서(423)에 인가된다. 다음 열 인덱스(col+1)은 또한 현 열 인덱스(424)를 이용하여 생성되며, mux(423)에 인가된다. 멀티플렉서(423)의 출력은 멀티플렉서(457)에 인가된다.
참조 테이블1(LUT1;472)은 줄 주소 생성기(390)로부터 현 줄 인덱스(403)를 수신하고, i0 및 다음 줄(row+1)에 대한 i0값에 해당하는 Next_i0(478)를 생성한다. 참조 테이블2(LUT2;480)은 또한 현 줄 인덱스(403)를 수신하고, logα ib(α)와 Next_logα ib(α)를 생성한다. 용어 logα ib(α)는 현 줄 인덱스에 대한 값에 해당한다. 용어 Next logα ib(α)는 다음 줄 인덱스에 대한 값에 해당한다. 참조 테이블3(LUT3;482) 및 참조 테이블3프라임(LUT3')은 값 X+1을 생성하며, X는 GF(c)의 엘리멘트이다. LUT3은 Abs(i0-j) 회로(454)의 출력에 의하여 제어되며, LUT3'(484)는 Abs(i0-j') 회로(492)의 출력에 의하여 제어된다.
LUT3(482)의 출력은 MIN(i0,j) 회로(456)의 출력이 가산된 모듈이며, 그 결과는 멀티플렉서(486)에 인가된다. 멀티플렉서(486)는 또한 멀티플렉서1(472)으로부터 i0을 수신한다. 멀티플렉서(486)의 출력은 값에 해당하는 현 열 인덱스(424)를 생성하는 LUT2(480)의 값만큼 곱해진다.
유사하게, LUT3'(484)의 출력은 MIN(i0,j) 회로(490)의 출력이 가산된 모듈이며, 그 결과는 멀티플렉서(496)에 인가된다. 멀티플렉서(486)는 또한 멀티플렉서(470)으로부터 i0'을 수신한다. 멀티플렉서(496)의 출력은 값에 해당하는 현 열 인덱스(424)를 생성하는 LUT2(480)의 값만큼 곱해진다.
도 4는 본 발명의 일 실시예를 따르는 여러 크기의 인터리버에 대한 ib및 i0의 전형적인 리스트를 제공한다.
도 3을 참조하면, 동작시, 멀티플렉서(423)는 NextRow = 0 회로(422)의 출력을 기초로 현 열(452) 또는 다음 열(453)중 하나를 제공한다. 상술한 바와 같이, NextRow = 0 회로는 다음 줄이 제로와 같을 때 신호를 발생하며, 따라서 전형적인실시예에서 각 첫번째 줄이 각 열에 대하여 처리된다. 멀티플렉서(457)는 현 열(452)의 복사본과 멀티플렉서(423)의 출력을 수신한다. 그 결과가 만일 Addr_GT_N 신호(422)가 발생되고(열이 펑처링됨을 나타냄), 결과된 다음 줄이 열의 첫번째 줄이라면, 다음 열(col+1)값은 멀티플렉서(457)의 출력이 된다.
다음 열이 멀티플렉서(457)의 출력일 때, 나머지 회로는 다음 열 인덱스에 해당하는 최종 열 인덱스(498)(열 주소 프레그먼트)를 생성한다. 시스템은 현 열 인덱스를 생성하며, 해당 세트의 줄의 처리가 완료되는지를 인덱스를 이용하여 결정한다. 만일 그렇다면, 다음 열 인덱스의 값이 계산된다. 그러므로, 적당한 열 인덱스는 추가의 클록 사이클이 필요없이 생성된다.
만일 줄 인덱스가 펑처링되지만, 열 인덱스가 동일하게 남아있다면, Addr_GT_T(422)는 멀티플렉서(470,495)가 관련 입력값 세트의 다음 줄 값을 출력하도록 한다. 또한 멀티플렉서(486,496)는 i0값으로 하여금 상술한 처리 단계를 수행하도록 j = c-1 일때 사용되도록 한다. 결과된 최종 줄 인덱스 및 최종 열 인덱스는 인터리빙 또는 디인터리빙에 사용되는 주소를 생성하기 위하여 연결된다.
바람직한 실시예의 상술한 설명은 당업자가 본 발명을 이용할 수 있도록 제공된다. 상기 실시예에 대한 여러 변용은 당업자에게 자명하며, 그 일반적인 원칙들은 본 발명의 범위를 벗어나지 않는다면 다른 실시예에 적용될 수 있다. 그러므로 본 발명은 상술한 설명에 제한되지 않으며, 신규한 원칙 및 특징들을 포함하는 가장 넓은 범위를 인정받는다.

Claims (16)

  1. 2의 정수제곱이 아닌 N을 가지는 인터리버로서:
    현재의 비트반전된 주소 프레그먼트를 생성하는 현재의 비트반전된 주소 생성기 수단;
    다음의 비트반전된 주소 프레그먼트를 생성하는 다음의 비트반전된 주소 생성기 수단;
    유사랜덤 주소 프레그먼트를 생성하는 유사랜덤 주소 프레그먼트 생성기 수단; 그리고
    상기 현재의 비트반전된 주소 프레그먼트 및 상기 유사랜덤 주소 프레그먼트로 이루어진 주소가 N보다 작을 때는 상기 현재의 비트반전된 주소 프레그먼트를 선택하고, N보다 클 때는 상기 다음의 비트반전된 주소 프레그먼트를 선택하는 제어 유니트를 포함하는 인터리버.
  2. 제 1 항에 있어서, 상기 유사랜덤 주소 프레그먼트 생성기 수단은 갈루아(Galios) 필드 기반의 상태 장치인 것을 특징으로 하는 인터리버.
  3. 제 1 항에 있어서, 다음의 유사랜덤 주소 프레그먼트를 생성하는 다음의 유사랜덤 주소 프레그먼트 생성기 수단을 더 포함하는 것을 특징으로 하는 인터리버.
  4. 제 3 항에 있어서, 상기 제어 시스템은, 상기 다음의 비트반전된 주소 프레그먼트가 선택되어 비트반전된 주소 프레그먼트 시리즈의 첫번째 주소에 존재할 때, 상기 다음의 유사랜덤 주소 프레그먼트를 선택하는 것을 특징으로 하는 인터리버.
  5. 제 1 항에 있어서, 상기 현재의 비트반전된 주소 프레그먼트와 상기 다음의 비트반전된 주소 프레그먼트는 하나의 클록 사이클동안 생성되는 것을 특징으로 하는 인터리버.
  6. 2의 정수제곱이 아닌 N을 가지는 인터리버로서:
    현재의 비트반전된 주소 프레그먼트를 생성하는 현재의 비트반전된 주소 생성기;
    다음의 비트반전된 주소 프레그먼트를 생성하는 다음의 비트반전된 주소 생성기;
    유사랜덤 주소 프레그먼트를 생성하는 유사랜덤 주소 프레그먼트 생성기; 그리고
    상기 현재의 비트반전된 주소 프레그먼트와 상기 유사랜덤 주소 프레그먼트로 이루어진 주소가 N보다 작을 때 상기 현재의 비트반전된 주소 프레그먼트를 선택하고, N보다 클 때 상기 다음의 비트반전된 주소 프레그먼트를 선택하는 제어 유니트를 포함하는 인터리버.
  7. 제 1 항에 있어서, 상기 유사랜덤 주소 프레그먼트 생성기 수단은 갈루아(Galios) 필드 기반의 상태 장치인 것을 특징으로 하는 인터리버.
  8. 제 1 항에 있어서, 다음의 유사랜덤 주소 프레그먼트를 생성하는 다음의 유사랜덤 주소 프레그먼트 생성기 수단을 더 포함하는 것을 특징으로 하는 인터리버.
  9. 제 3 항에 있어서, 상기 제어 시스템은, 상기 다음의 비트반전된 주소 프레그먼트가 선택되어 비트반전된 주소 프레그먼트 시리즈의 첫번째 주소에 존재할 때, 상기 다음의 유사랜덤 주소 프레그먼트를 선택하는 것을 특징으로 하는 인터리버.
  10. 제 1 항에 있어서, 상기 현재의 비트반전된 주소 프레그먼트와 상기 다음의 비트반전된 주소 프레그먼트는 하나의 클록 사이클동안 생성되는 것을 특징으로 하는 인터리버.
  11. 2의 정수제곱이 아닌 N을 가지는 인터리빙 방법으로서:
    a) 현재의 비트반전된 주소 프레그먼트를 생성하는 단계;
    b) 다음의 비트반전된 주소 프레그먼트를 생성하는 단계;
    c) 유사랜덤 주소 프레그먼트를 생성하는 단계; 그리고
    d) 상기 현재의 비트반전된 주소 프레그먼트와 상기 유사랜덤 주소 프레그먼트로 이루어진 주소가 N보다 작을 때 상기 현재의 비트반전된 주소 프레그먼트를 선택하고, N보다 클 때 상기 다음의 비트반전된 주소 프레그먼트를 선택하는 단계를 포함하는 방법.
  12. 제 11 항에 있어서, 상기 단계 c)는:
    각각의 비트반전된 주소에 대하여 j를 계산하는 단계를 포함하며,
    상기 j는
    , j=0,1,2,3,...,c-2
    , j=c-1
    와 동일하며, α는 GF(c)를 구성하는데 사용된 원다항식 p(x)∈GF(2)[x]의 근이고,는 GF(c)의 원엘리멘트이고, i0은 0과 c-2를 포함한 사이의 정수이며, 상수 ib와 i0는 각각의 줄에 대한 고유값인 것을 특징으로 하는 방법.
  13. 제 11 항에 있어서, 다음의 유사랜덤 주소 프레그먼트를 생성하는 단계 e)를 더 포함하는 것을 특징으로 하는 방법.
  14. 제 13 항에 있어서, 상기 다음의 비트반전된 주소 프레그먼트가 선택되어 비트반전된 주소 프레그먼트 시리즈의 첫번째 주소에 존재할 때 상기 다음의 유사랜덤 주소 프레그먼트가 선택되는 단계를 더 포함하는 것을 특징으로 하는 방법.
  15. 제 11 항에 있어서, 상기 유사랜덤 주소 프레그먼트는 갈루아 필드 연산에 따라 생성되는 것을 특징으로 하는 방법.
  16. 제 11 항에 있어서, 상기 현재의 비트반전된 주소 프레그먼트 및 상기 다음의 비트반전된 주소 프레그먼트는 하나의 클록 사이클동안 생성되는 것을 특징으로 하는 방법.
KR1020017012539A 1999-03-31 2000-03-30 비트반전된 랜덤 인터리빙을 위한 일반화된 주소 생성기 KR20010110482A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/282,106 US6314534B1 (en) 1999-03-31 1999-03-31 Generalized address generation for bit reversed random interleaving
US09/282,106 1999-03-31
PCT/US2000/008623 WO2000059117A1 (en) 1999-03-31 2000-03-30 Generalized address generation for bit reversed random interleaving

Publications (1)

Publication Number Publication Date
KR20010110482A true KR20010110482A (ko) 2001-12-13

Family

ID=23080131

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017012539A KR20010110482A (ko) 1999-03-31 2000-03-30 비트반전된 랜덤 인터리빙을 위한 일반화된 주소 생성기

Country Status (8)

Country Link
US (1) US6314534B1 (ko)
EP (1) EP1166450A1 (ko)
JP (1) JP2002540712A (ko)
KR (1) KR20010110482A (ko)
CN (1) CN1168223C (ko)
AU (1) AU4059000A (ko)
HK (1) HK1043885A1 (ko)
WO (1) WO2000059117A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100793799B1 (ko) * 2006-01-17 2008-01-11 엘지전자 주식회사 주소 생성 장치 및 이를 이용한 오디오 신호 처리 방법

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6871303B2 (en) * 1998-12-04 2005-03-22 Qualcomm Incorporated Random-access multi-directional CDMA2000 turbo code interleaver
KR100306282B1 (ko) * 1998-12-10 2001-11-02 윤종용 통신시스템의인터리빙/디인터리빙장치및방법
US6536001B1 (en) * 1999-03-11 2003-03-18 Globespanvirata, Inc. Circuit and method for convolutional interleaving using a single modulo operation
RU2210186C2 (ru) * 1999-04-02 2003-08-10 Самсунг Электроникс Ко., Лтд. Способ перемежения/обращенного перемежения для системы связи и устройство для его осуществления
US6587977B1 (en) * 1999-12-06 2003-07-01 Maxtor Corporation o,k,m,/m recording code
US6549998B1 (en) * 2000-01-14 2003-04-15 Agere Systems Inc. Address generator for interleaving data
US6854077B2 (en) * 2000-08-05 2005-02-08 Motorola, Inc. Apparatus and method for providing turbo code interleaving in a communications system
US6871270B2 (en) * 2001-12-03 2005-03-22 Samsung Electronics Co., Ltd. Device and method for minimizing puncturing-caused output delay
US7228480B1 (en) 2001-12-11 2007-06-05 Maxtor Corporation Rate-1 coding for increasing timing information in recording data
US6954885B2 (en) * 2001-12-14 2005-10-11 Qualcomm Incorporated Method and apparatus for coding bits of data in parallel
KR100860660B1 (ko) * 2002-01-09 2008-09-26 삼성전자주식회사 통신시스템의 인터리빙 장치 및 방법
KR20030069431A (ko) * 2002-02-20 2003-08-27 삼성전자주식회사 통신 시스템에 적용되는 모뎀 에이직의 터보 부호화 장치및 그 부호화 방법
DE10306302A1 (de) * 2003-02-14 2004-08-26 Infineon Technologies Ag Verfahren und Schaltung zur Adressgenerierung von Pseudo-Zufalls-Interleavern oder -Deinterleavern
US8179954B2 (en) 2007-10-30 2012-05-15 Sony Corporation Odd interleaving only of an odd-even interleaver when half or less data subcarriers are active in a digital video broadcasting (DVB) standard
GB2454193B (en) 2007-10-30 2012-07-18 Sony Corp Data processing apparatus and method
GB2454196B (en) * 2007-10-30 2012-10-10 Sony Corp Data processsing apparatus and method
US8885761B2 (en) 2003-03-25 2014-11-11 Sony Corporation Data processing apparatus and method
ATE410830T1 (de) * 2004-03-10 2008-10-15 Ericsson Telefon Ab L M Addressgenerator für einen verschachtelungsspeicher und einen entschachtelungsspeicher
US7543197B2 (en) * 2004-12-22 2009-06-02 Qualcomm Incorporated Pruned bit-reversal interleaver
US7437650B2 (en) * 2005-04-12 2008-10-14 Agere Systems Inc. Pre-emptive interleaver address generator for turbo decoders
US7925956B2 (en) * 2006-10-03 2011-04-12 Motorola Mobility, Inc. Method and apparatus for encoding and decoding data
US8356232B2 (en) * 2006-10-06 2013-01-15 Motorola Mobility Llc Method and apparatus for encoding and decoding data
US8959403B2 (en) 2006-11-10 2015-02-17 Optis Wireless Technology, Llc QPP interleaver/de-interleaver for turbo codes
EP2092652A4 (en) * 2006-11-10 2012-11-07 Ericsson Telefon Ab L M NAKED / DECORATED WITH QUADRIC PERMUTATION POLYNOME FOR TURBOCODES
US7949926B2 (en) * 2006-11-30 2011-05-24 Motorola Mobility, Inc. Method and apparatus for encoding and decoding data
US8296627B2 (en) * 2007-07-20 2012-10-23 Electronics And Telecommunications Research Institute Address generation apparatus and method of data interleaver/deinterleaver
DK2056472T3 (da) * 2007-10-30 2010-04-19 Sony Corp Apparat og fremgangsmåde til databehandling
DK2204002T3 (da) * 2007-10-30 2013-06-17 Sony Corp Anordning og fremgangsmåde til databehandling
DK2056510T3 (da) 2007-10-30 2013-05-21 Sony Corp Anordning og fremgangsmåde til databehandling
US8751769B2 (en) * 2007-12-21 2014-06-10 Qualcomm Incorporated Efficient address generation for pruned interleavers and de-interleavers
GB2460459B (en) * 2008-05-30 2012-07-11 Sony Corp Data processing apparatus and method
US8219782B2 (en) * 2008-09-18 2012-07-10 Xilinx, Inc. Address generation
CN101674092B (zh) * 2009-09-28 2012-12-05 北京海尔集成电路设计有限公司 一种支持数据帧长无缝变化的解交织器及其方法
CN102227097B (zh) * 2011-04-11 2013-05-15 重庆大学 一种可变长度s随机交织器的生成方法
FR3004611B1 (fr) * 2013-04-16 2015-05-15 Morpho Procede de gestion des ressources memoire d'un dispositif de securite, tel qu'une carte a puce, et dispositif de securite mettant en œuvre ledit procede.

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4394642A (en) * 1981-09-21 1983-07-19 Sperry Corporation Apparatus for interleaving and de-interleaving data
KR930004823B1 (ko) 1990-04-14 1993-06-08 삼성전자 주식회사 텔레비젼 신호의 스크램블링 및 디스크램블링 회로
KR940001838B1 (ko) 1990-11-09 1994-03-09 삼성전자 주식회사 영상 데이타 스플리트 회로
US5392299A (en) * 1992-01-15 1995-02-21 E-Systems, Inc. Triple orthogonally interleaed error correction system
US5572532A (en) * 1993-12-29 1996-11-05 Zenith Electronics Corp. Convolutional interleaver and deinterleaver
KR100186627B1 (ko) * 1996-09-21 1999-05-15 삼성전자 주식회사 베이스 밴드 인터리버
US5898698A (en) * 1996-09-24 1999-04-27 Orckit Communications Ltd. Multiple codeword interleaver method and apparatus
US6101465A (en) * 1997-06-12 2000-08-08 Advanced Micro Devices, Inc. System and method for bit interleaving of full-rate speech data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100793799B1 (ko) * 2006-01-17 2008-01-11 엘지전자 주식회사 주소 생성 장치 및 이를 이용한 오디오 신호 처리 방법

Also Published As

Publication number Publication date
US6314534B1 (en) 2001-11-06
JP2002540712A (ja) 2002-11-26
CN1345486A (zh) 2002-04-17
AU4059000A (en) 2000-10-16
HK1043885A1 (zh) 2002-09-27
EP1166450A1 (en) 2002-01-02
CN1168223C (zh) 2004-09-22
WO2000059117A1 (en) 2000-10-05

Similar Documents

Publication Publication Date Title
KR20010110482A (ko) 비트반전된 랜덤 인터리빙을 위한 일반화된 주소 생성기
RU2235424C2 (ru) Перемежитель турбокода, использующий линейные конгруэнтные последовательности
EP1138121B1 (en) Efficient implementation of proposed turbo code interleavers for third generation code division multiple access
US5040179A (en) High data rate BCH encoder
US6353900B1 (en) Coding system having state machine based interleaver
CN100539443C (zh) 通信系统的交织设备和方法
JP2004088789A (ja) 通信システムのインターリビング/ディインターリビング装置及び方法
JP2003324357A5 (ko)
WO2005091509A1 (en) Address generator for an interleaver memory and a deinterleaver memory
EP1166449A4 (en) DEVICE WITH A METHOD OF TWO-DIMENSIONAL NEGOTIATION
US6185200B1 (en) Reverse-link de-interleaving for communication systems based on closed-form expressions
EP1223506B1 (en) Random number generator using compression
JP3801972B2 (ja) インタリーバ・パターンの修正
US6304985B1 (en) Coding system having state machine based interleaver
KR20060121312A (ko) 컨볼루션 터보 부호 인터리버
US6295287B1 (en) Reverse-link interleaving for communication systems based on closed-form expressions
KR100561631B1 (ko) 터보 인터리버의 출력 주소 산출 장치
KR100362557B1 (ko) 이차원 인터리빙 장치 및 방법

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid