KR100338635B1 - 다단계 채널 인터리버/디인터리버에 사용하기 위한어드레스 생성 장치 및 방법 - Google Patents

다단계 채널 인터리버/디인터리버에 사용하기 위한어드레스 생성 장치 및 방법 Download PDF

Info

Publication number
KR100338635B1
KR100338635B1 KR1020000040322A KR20000040322A KR100338635B1 KR 100338635 B1 KR100338635 B1 KR 100338635B1 KR 1020000040322 A KR1020000040322 A KR 1020000040322A KR 20000040322 A KR20000040322 A KR 20000040322A KR 100338635 B1 KR100338635 B1 KR 100338635B1
Authority
KR
South Korea
Prior art keywords
address
row
value
column
generating
Prior art date
Application number
KR1020000040322A
Other languages
English (en)
Other versions
KR20010021078A (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 윤종용
Priority to KR1020000040322A priority Critical patent/KR100338635B1/ko
Publication of KR20010021078A publication Critical patent/KR20010021078A/ko
Application granted granted Critical
Publication of KR100338635B1 publication Critical patent/KR100338635B1/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

Landscapes

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

Abstract

무선 통신시스템에서 다단계 채널 인터리버/디인터리버에 사용하기 위한 어드레스 생성 장치 및 방법이 개시되어 있다. 본 발명에 따르면, 인터리버 메모리내에 B개의 행들과 양의 정수 k에 대해 2k가 아닌 F개의 열들로 저장된 데이터를 독출하기 위한 어드레스를 생성하는 어드레스 생성 장치는, B개의 클럭 펄스들에 응답하고, 첫 번째 행 어드레스로서 0의 값을 출력하고, 오프셋 값 F와 이전에 출력된 행 어드레스의 값을 가산한 값을 (B-1)번 출력하고, 상기 B개의 클럭 펄스들의 완료시 캐리신호를 발생하는 행 카운터와, 상기 캐리신호에 응답하여 1씩 증가하는 카운트값을 증가시키기 위한 열 카운터와, 미리 설정된 열 치환 규칙에 따라 상기 열 카운터로부터의 출력을 치환하기 위한 매핑기와, 상기 행 카운터의 출력을 최상위비트(MSB)로서 사용하고, 상기 매핑기의 출력을 최하위비트(LSB)로서 사용함에 의해 구성되는 상기 독출 어드레스를 발생하는 가산기를 포함한다.

Description

다단계 채널 인터리버/디인터리버에 사용하기 위한 어드레스 생성 장치 및 방법 {ADDRESS GENERATING DEVICE AND METHOD FOR USE IN MULTI-STAGE CHANNEL INTERLEAVER/DEINTERLEAVER}
본 발명은 무선 통신시스템의 다단계 채널 인터리버/디인터리버에 관한 것으로, 특히 다단계 채널 인터리버/디인터리버에 사용하기 위한 어드레스 생성 장치 및 방법에 관한 것이다.
일반적으로 채널 페이딩(Channel Fading) 효과가 존재하는 무선 통신시스템에서는 유선 또는 무선상으로 전송될 디지털 소스 데이터의 안정적 송수신을 위해 상기 페이딩 효과(Fading Effect)를 완화하기 위한 채널 인터리빙 및 디인터리빙 처리를 행하고 있다. 예를 들어, IMT(International Mobile Telecommunication)2000 무선 통신시스템, 즉 UMTS(Universal Mobile Telecommunication System)방식이나 CDMA(Code Division Multiple Access)2000 방식의 무선 통신시스템에서는 채널의 페이딩 효과를 완화하기 위해 채널 인터리버(Interleaver) 및 디인터리버(deinterleaver)를 구비하고 있다.
현재 3GPP(3rd Generation Partnership Project)의 기본 무선 프레임 구조(radio frame structure)는 10ms단위로 이루어 졌으며, 이는 다시 16개의 타임슬롯(time slot)으로 이루어져 있다. 따라서, 시스템의 각각의 부분들에 대한 표준화 동향도 이를 기준으로 흘러가고 있다. 현재 2차 채널 인터리버(2nd channel interleaver)의 연구 가설(working assumption)로 정해진 고정 크기 다단계 인터리버(FS-MIL: Fixed Size Multi-state Interleaver: 이하 "MIL 인터리버"라 칭함)는 2차원(2-Dimensional) 채널 인터리버(channel interleaver)로서, 이때 열(column)의 수는 32로 고정되어 있다. 상기 MIL 인터리버는 16 타임 슬롯(time slot)으로 이루어진 프레임 구조를 지원하는 형태로 설계된 것으로 각 타임 슬롯 당 2개의 열에 해당하는 데이터가 전송되도록 한다. 이러한 2차 인터리버와 1차 인터리버(1st interleaver)는 모두 열의 수가 2의 거듭제곱의 형태를 지원하는 하드웨어(hardware) 구조를 가지기 때문에, 하나의 하드웨어 모듈(hardware module)로 1차 채널 인터리버와, 2차 채널 인터리버를 동시에 지원하도록 구현하는 것이 가능할 것이다. 따라서 하나의 하드웨어 모듈로 1차 및 2차 채널 인터리버를 구현할 수 있다면, 하드웨어의 복잡성(hardware complexity)은 매우 크게 줄어들게 될 것이다.
한편, IMT2000 시스템의 북미방식인 CDMA2000과 유럽방식인 UTMS의 조화화(harmonization)가 추진중에 있다. 그러나 상기 CDMA2000시스템은 프레임당 16타임슬롯의 프레임 구조(radio frame structure)를 사용하고, 상기 UMTS는 프레임당 15타임슬롯의 프레임 구조를 사용한다는 근본적인 차이점이 있다. 그러므로 16 타임 슬롯을 기준으로 설계된 기존의 CDMA2000 시스템용 채널 인터리버를 UMTS용 채널 인터리버로 그대로 사용하기는 곤란하고, 상기 UMTS용 채널 인터리버를 구현함에 있어서는 15타임슬롯을 기준으로 설계되어야 한다는 사실이 고려되어야 한다.
도 1은 일반적인 2차원 채널 인터리버에서 수행되는 기본적인 MIL 채널 인터리빙 기법을 도시하고 있다. 10msec의 입력 시퀸스는 도 1과 같은 방식으로 인터리빙된다. 도 1에서 입력 시퀸스의 길이가 L ≤F×B일 때, 입력 시퀸스는 F×B크기의 2차원 메모리(2-Dimension Memory)에 저장된다. 여기서 F는 인터리버의 열의 수이고, B는 인터리버의 행의 수이다. 또한 상기 B는 F가 고정되어 있을 때 L ≤F×B를만족하는 최소 정수이다. 이때 데이터는 임의의 시간에 인터리버의 하나의 행에 순차적으로 저장된다. 다시 말하면, 데이터는 두 번째 행에 저장되기 전에 첫 번째 행에 저장되고 상기 첫 번째 행을 채우는 형태로 저장된다. 순차적으로 저장된 입력 시퀸스는 일예로 하기의 <표 1>과 같은 컬럼간 치환 패턴(Inter-column permutation pattern)의 순서에 의해서 해당 열의 각 행에 해당하는 데이터로서 순차적으로 출력된다. 하기의 <표 1>은 열의 수 F가 32일 때의 치환 패턴(Permutation pattern)이다.
Interleaving Span Number of Columns (F) Inter-column permutation patterns
10ms 1 C0
20ms 2 C0,C1
30ms 4 C0,C2,C1,C3
40ms 8 C0,C4,C2,C6,C1,C5,C3,C7
도 2는 종래 기술에 따른 MIL 채널 인터리버를 위한 어드레스 생성 장치의 구성을 도시하는 도면이다. 이러한 어드레스 생성 장치는 열의 수가 2의 거듭제곱 형태인 32인 경우에 해당하는 장치이다. 하기에서는 상기 어드레스 생성 장치가 채널 인터리버를 위해 사용되는 것으로 설명될 것이나, 당해 분야 통상의 지식을 가진 자에게 채널 디인터리버를 위해서도 동일하게 사용될 수 있음은 잘 알려진 사실이다.
상기 도 2를 참조하면, 어드레스 생성 장치는 2차원 채널 인터리버에 사용하기 위한 어드레스를 발생시키기 위한 구성요소들인 행 카운터 210과, 열 카운터 230과, 매핑기 240과, 5비트 시프터 220과, 가산기 250으로 구성된다. 상기 행 카운터 210과 상기 열 카운터 230은 각각 인터리빙을 위한 메모리(도시하지 않음)의 행과 열을 카운트하기 위한 것이다. 이러한 메모리에는 전술한 바와 같이 입력 데이터가 행과 열의 순으로 순차적으로 저장된다. 상기 매핑기 240은 상기 열 카운터 230에 의해 카운트된 열을 치환된 열로서 매핑하기 위한 것이다. 이러한 매핑기 240은 일예로 상기 <표 1>에 도시된 바와 같은 열치환 패턴에 따라 상기 열 카운터 230에 의해 카운트된 열을 치환된 열로서 출력한다. 비트 시프터 220은 상기 행 카운터 210에 의해 카운트된 값을 비트 시프트시켜 출력한다. 가산기 250은 새로운 어드레스를 구성한다. 상기 가산기 250은 상기 비트 시프터 220의 출력을 상기 새로운 어드레스의 최상위비트(MSB: Most Significant Bits)로서 사용하고, 상기 매핑기 240의 출력을 상기 새로운 어드레스의 최하위비트(LSB: Least Significant Bits)로서 사용함에 의해 상기 새로운 어드레스를 구성한다. 이러한 어드레스는 행과 열의 순으로 순차적으로 상기 메모리에 저장된 데이터를 2차원 인터리빙된 데이터로서 출력하기 위한 어드레스이다.
한편, 종래 기술에 따른 MIL 채널 인터리버를 위한 어드레스 생성 장치는 비트 시프터 220을 포함하여 구성된다. 이러한 비트 시프터 220은 열의 수가 2의 거듭제곱인 32인 경우 5비트 시프터로 구현되는 것이다.
전술한 바와 같이, 열의 수가 2의 거듭제곱 형태인 32인 경우 행 카운터 210으로부터의 어드레스를 얻기 위해 5비트의 비트 시프터 220에 의한 비트 시프트 동작(bit shift operation)이 수행되었다. 이때의 비트 시프터 220의 하드웨어적인 복잡도(H/W complexity)는 매우 미미하다.
그러나 상기한 바와 같이 프레임(frame)당 타임슬롯(time slot)이 16이 아닌 15로 변하게되면, 열의 수 또한 변하게 될 것이며 새로운 열의 수는 2의 거듭제곱이 아닐 확률이 매우 높게 된다. 예를 들어, 한 타임슬롯당 2개의 열의 수를 가정하며 총 열의 수가 30이라고 가정할 때, 각 열의 수에 해당하는 30개의 곱셈기가 필요하며 곱셈기의 하드웨어의 크기는 MIL 2차 인터리버의 인터리빙을 위한 하드웨어의 크기를 2배 이상 증가시키게 된다. 이와 같이 MIL 인터리버의 열의 수가 2의 거듭제곱이 아닌 경우, 열의 수가 1, 2, 4, 8인 1차 MIL 인터리버와 같이 비트 시프트 동작을 사용할 수 없으므로, 열의 수에 해당하는 만큼의 곱셈기가 필요하게 되며, 이러한 경우 전체 인터리버의 하드웨어 복잡도(H/W complexity)가 2배 정도 복잡해지게 된다.
따라서 본 발명의 목적은 MIL 인터리버를 구현함에 있어 하드웨어의 복잡도를 줄이는 어드레스 생성 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 MIL 인터리버의 열의 수가 2의 거듭제곱이 아닌 경우에도 인터리버의 하드웨어적인 복잡도의 증가없이 인터리빙 동작을 위한 어드레스를 생성하는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 MIL 1차 및 2차 채널 인터리버를 위한 어드레스 생성의 동작이 하나의 모듈로서 이루어질 수 있도록 하는 장치 및 방법을 제공함에 있다.
이러한 목적들을 달성하기 위한 본 발명은 B개의 행들과 F개의 열들을 가지는 인터리버 메모리로부터 데이터를 독출하고, 여기서 상기 메모리로부터의 데이터는 하기와 같은 미리 설정된 열치환 규칙에 의해 임의의 시간에 하나의 컬럼이 인터리빙되는 어드레스 생성 장치를 제안한다. 상기 인터리버 메모리에서 행의 수 F는 2의 거듭제곱이 아니다. 즉 상기 행의 수 F는 양의 정수 k에 대해 2k가 아닌 수이다. 행 카운터는 B개의 클럭 펄스들에 응답하고, 연속적인 각 클럭 펄스에 대하여 0에서부터 (B-1)×F까지 F 단위로 증가하는 오프셋값들을 출력하고, 상기 B개의 클럭 펄스들의 완료시 캐리신호를 발생한다. 열 카운터는 상기 캐리신호에 응답하여 1씩 증가하는 카운트값을 출력한다. 매핑기는 상기 열 카운터로부터 출력되는 신호열을 치환하여 출력한다. 가산기는 상기 매핑기로부터 출력되는 상기 치환된 신호열과 상기 행 카운터로부터의 출력 신호를 가산하고 어드레스를 발생한다.
도 1은 기본적인 인터리빙 기법을 보여주는 도면.
도 2는 종래 기술에 따른 다단계(MIL) 채널 인터리버/디인터리버에 사용하기 위한 어드레스 생성 장치의 구성을 보여주는 도면.
도 3은 본 발명의 일 실시예에 따른 MIL 채널 인터리버/디인터리버에 사용하기 위한 어드레스 생성 장치의 구성을 보여주는 도면.
도 4는 본 발명의 다른 실시 예에 따른 MIL 채널 인터리버/디인터리버에 사용하기 위한 어드레스 생성 장치의 구성을 보여주는 도면.
도 5는 본 발명의 또 다른 실시예에 따른 MIL 채널 인터리버/디인터리버에 사용하기 위한 어드레스 생성 장치의 구성을 보여주는 도면.
이하 본 발명의 바람직한 실시예의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다.
도 3은 본 발명에 따른 MIL 2차 채널 인터리버를 위한 어드레스 생성장치의 구성을 도시하고 있다. 이러한 도 3은 임의의 열의 수(F)에 해당하는 것으로 가정한 경우이다.
상기 도 3을 참조하면, 본 발명의 실시예에 따른 어드레스 생성 장치는 가산기 320과 행 카운터 330으로 구성되는 행 어드레스 생성기 310과, 열 카운터 350과 매핑(mapping)기 360으로 구성되는 열 어드레스 생성기 340 및 상기 어드레스 생성기들 310,340으로부터 각각 생성되는 행 어드레스와 열 어드레스를 가산하고 실제 인터리빙 어드레스를 발생시키는 가산기 370으로 구성된다. 상기 가산기 370은 상기 행 카운터 330의 출력을 상기 인터리빙 어드레스의 최상위비트(MSB: Most Significant Bits)로서 사용하고, 상기 매핑기 360의 출력을 상기 인터리빙 어드레스의 최하위비트(LSB: Least Significant Bits)로 사용함에 의해 상기 인터리빙 어드레스를 구성한다.
상기 도 3에 도시된 바와 같이 본 발명에서는 MIL 2차 인터리버의 행 어드레스를 생성하는 과정에서 곱셈을 하지 않고, 가산기 320을 사용하여 오프셋(Offset)을 갖는 행 어드레스를 발생시킴으로써 적은 하드웨어 복잡도(complexity)를 가지면서도 동일한 인터리빙 기능이 구현되도록 한 것이다.
먼저 MIL 2차 채널 인터리버의 동작을 도 3을 사용하여 설명하면 다음과 같다.
상기 도 3에 도시된 바와 같이 행 어드레스 생성기 310은 행 카운터 330와 가산기 320으로 구성된다. 상기 행 카운터 330은 기본적으로 0에서부터 B-1까지를 카운트한다. 여기서 B는 행의 수이다. 상기 행 카운터 330에서의 초기의 카운트값이 0일 때, 상기 행 카운터 330은 0의 카운트값을 출력한다. 상기 행 카운터 330이출력을 하자마자, 행 카운터 330의 카운트는 클럭 펄스에 응답하여 하나 증가한다. 이때 상기 행 카운터 330으로부터의 출력은 가산기 370 및 가산기 320으로 인가된다. 상기 가산기 320은 상기 행 카운터 330의 출력과 오프셋값 'C'를 가산하고, 가산된 값을 상기 행 카운터 330으로 인가한다. 본 발명의 바람직한 실시예에서 상기 오프셋값 C=30이다. 상기 행 카운터 330은 상기 가산기 320의 출력을 수신하고, 수신된 값을 자신의 출력으로서 출력한다. 즉 상기 가산기 320의 출력은 행 카운터 330을 통과하게 된다. 행 카운터 330이 새로운 값을 출력하자마자, 상기 행 카운터 330의 카운트값은 1증가한다. 위에서 기술한 바와 같은 과정은 행 카운터 330에서의 카운트값이 B-1이 될 때까지 반복된다. 그러므로 행 카운터 330의 출력은 매 클럭 싸이클마다 'C'만큼씩 증가한다. 행 카운터 330의 카운트값이 B-1에 도달한 경우, 상기 행 카운터 330은 C ×(B-1)값과 동일한 값을 출력한다. 왜냐하면, 가산기 320은 C ×(B-2)를 가산하고, C ×(B-1)의 값을 상기 행 카운터 330으로 인가하기 때문이다. 상기 행 카운터 330이 C ×(B-1)의 값을 출력하자마자, 행 카운터 330에서의 카운트값은 1증가하지 않고, 0으로 리셋된다. 이때 상기 행 카운터 330은 열 카운터 350으로 캐리신호 Carry를 출력한다. 상기 행 카운터 330에서의 카운트값이 0으로 다시 리셋된 후에, 상기 행 카운터 330은 0의 값을 출력하고, 전술한 바와 같은 동작을 반복한다.
열 카운터 350은 상기 캐리신호 Carry가 발생할 때마다 0에서 29까지 1씩 증가하는 카운팅을 한다. 예를 들어, 상기 열 카운터 350은 처음에는 0을 출력하고, 상기 행 카운터 330으로부터 Carry 신호가 처음 발생하는 경우에는 1을 발생하고,다음 Carry 신호가 발생하는 경우 2를 발생한다.
매핑기 360은 열 치환(permutation)을 위하여 (0,1,2,3,4,5,6.7.8,9,10,11,12,13,14,15,16, 17,18,19,20,21,22,23,24,25,26,27,28,29)에 해당하는 열 카운터 350의 출력을 (0,15,1,16,2,17,3, 18,4,19,5,20,6,21,7,22,8,23,9,24,10, 25,11,26,12,27,13,28,14,29)의 값으로 매핑(Mapping)하여 출력한다. 인터리버의 열의 수가 32일 때의 열 치환(permultation)방식은 하기의 <표 2>에 따른다. 그러나 인터리버의 열의 수가 30일 때 열 치환 방식은 인터리버의 컬럼 수가 2k인 경우와는 달라질 수 있다. 그러므로 매핑(Mapping)기 360의 매핑(mapping)순서는 치환 방식에 의해 달라져야 한다. 상기 인터리빙 어드레스는 상기 행 카운터 330의 출력을 상기 인터리빙 어드레스의 MSB로서 사용하고, 상기 매핑기 360의 출력을 상기 인터리빙 어드레스의 LSB로서 사용함에 의해 구성된다.
Number of Columns (F) Inter-column permutation patterns
32 C0,C16,C8,C24,C20,C12,C28,C18,C2,C26,C10,C22,C6,C30,C14,C17,C1,C25,C9,C21,C5,C29,C13,C3,C19,C11,C27,C7,C23,C15,C31
상기 어드레스 생성장치의 동작 예를 설명하면 하기와 같다. 여기서는 설명의 편의를 위해 열 카운터 350에 의한 카운트 출력값이 매핑기 360에 열 치환 처리되지 않고 출력되는 것으로 가정한다.
일 예로, 행의 수 B=5이고, 열의 수 F=30이라 가정하면, 행 어드레스 생성기310은 각 클럭 펄스에 응답하여 0부터 (B-1=5-1=4)까지 30의 오프셋을 가지는 값인 0, 30, 60, 90, 120을 순차적으로 출력한다. 이때 열 어드레스 생성기 340의 열 카운터 350은 0을 카운트 출력하므로, 가산기 370은 인터리빙을 위한 어드레스로서 0, 30, 60, 90, 120을 순차적으로 출력할 것이다. 120까지 출력된 경우 상기 행 어드레스 생성기 310의 행 카운터 330은 캐리신호 Carry를 발생한다. 그리고, 행 어드레TM 생성기 310은 행 카운터 330이 B의 값을 카운트할 때 행 카운터 330을 0으로 리셋시키기 위한 리셋 신호를 생성한다. 상기 캐리신호 Carry에 응답하여 열 어드레스 생성기 350은 카운트 값을 1증가시켜 1을 출력할 것이고, 행 어드레스 생성기 310은 다시 각 클럭 펄스에 응답하여 0부터 (B-1=4)까지 30의 오프셋을 가지는 값인 0, 30, 60, 90, 120을 순차적으로 출력한다. 이에 따라 가산기 370은 상기 행 어드레스 생성기 310의 출력값과 열 어드레스 생성기 340의 출력값을 가산하고, 인터리빙을 위한 어드레스로서 16(0+16), 46(30+16), 76(60+16), 106(90+16), 136(120+16)을 순차적으로 출력할 것이다. 다음에도 위와 같은 동작이 반복되어 가산기 370은 인터리빙을 위한 어드레스로서 8(0+8), 38(30+8), 68(60+8), 98(90+8), 128(120+8)을 순차적으로 출력할 것이다. 이와 같은 동작은 최종적으로 가산기 370이 인터리빙을 위한 어드레스로서 31(0+31), 61(30+31), 91(60+31), 121(90+31), 151(120+31)을 순차적으로 출력할 때까지 수행된다.
도 4는 본 발명의 다른 실시 예에 따른 MIL 채널 인터리버를 위한 어드레스 생성 장치의 구성을 도시하고 있다. 상기 도 4는 2차 인터리버의 구조를 1차 인터리버와 단일 모듈로 구현하기 위한 것이다.
도 4를 참조하면, 1차 인터리버로 동작할 경우 멀티플렉서(선택기) 410,430의 선택을 0으로 선택하며, 2차 인터리버로 동작할 경우 멀티플렉서(선택기) 410,430의 선택을 1로 선택함으로써 도 3에 도시된 바와 같이 동작하도록 한다. 행 카운터 330, 열 카운터 350, 그리고 매핑기 360을 1차 인터리버와 2차 인터리버가 공유함으로써 하드웨어적인 복잡도를 최소화한 것이다.
본 발명의 다른 실시예에 따른 어드레스 생성 장치는 제1선택기 410을 포함한다. 상기 제1선택기 410은 제1오프셋값(1)과 제2오프셋값(30)을 제1입력단자(0) 및 제2입력단자(1)로 각각 입력하고, 인터리버 선택신호(1st,2nd)에 따라 선택적으로 출력한다. 가산기 320은 상기 제1선택기 410을 통해 선택적으로 제공되는 오프셋값과 행 카운터 330의 출력값을 가산하여 출력한다. 행 카운터 330은 제1선택기 410의 출력과 행 카운터 330의 출력을 가산하는 가산기 320에 의해 가산된 어드레스를 출력한다.
상기 카운팅 동작이 B개의 클럭 펄스들에 응답하여 0에서부터 (B-1)번 수행된 경우, 상기 행 카운터 330은 이를 나타내는 캐리신호 Carry를 발생하여 열 카운터 350으로 인가하고, 상기 행 카운터 330은 0으로 리셋된다. 상기 행 카운터 330의 출력은 시프터 420을 거쳐 제2선택기 430의 한 입력단자(0)와, 상기 제2선택기 430의 다른 입력단자(1)로 인가되고, 또한 가산기 320으로도 인가된다. 상기 시프터 420은 열의 수가 각각 1,2,4,8과 같이 2의 거듭제곱인 경우 각각 0비트, 1비트, 2비트, 3비트의 시프터로서 구성된다. 상기 제2선택기 430은 제1입력단자(0) 및 제2입력단자(1)로 각각 입력되는 값을 인터리버 선택신호(1st,2nd)에 따라 선택하고, 행 어드레스로서 출력한다.
열 카운터 350은 상기 캐리신호 Carry가 발생할 때마다 0에서 29까지 1씩 증가하는 카운트동작을 수행하고, 그 수행결과에 따른 값을 출력한다. 매핑기 360은 상기 열 카운터 350으로부터 출력되는 카운트 결과값을 열 치환 패턴(column permutation/randomizing pattern)에 따라 매핑하여 출력한다. 가산기 370은 제2선택기 430과 매핑기 360에 의해 각각 생성되는 행 어드레스와 열 어드레스를 가산하고, 인터리빙을 위한 어드레스로서 발생한다. 이렇게 발생된 어드레스는 인터리버 메모리내에 행과 열의 순으로 저장된 데이터를 인터리빙된 데이터로서 출력하기 위해 사용된다.
상기 도 4를 참조하여, MIL 1차/2차 겸용 채널 인터리버를 위한 어드레스 생성장치의 동작을 설명하면 다음과 같다. 이때 MUX (1st) 0은 1차 인터리빙 동작을 위한 선택 신호이고, MUX (2nd) 1은 2차 인터리빙 동작을 위한 선택 신호이다.
본 발명중 도 4에 해당하는 MIL 채널 인터리버의 1차 인터리빙시 기능블럭의 해당 동작은 0인 멀티플렉서(Multiplexer) 410,430의 경로(Path)가 선택되어지며, 이때 인터리버의 동작은 기존의 도 2에 도시된 방식과 동일하다. 이때 열 치환(column permutation)은 전술한 <표 1>과 같이 이루어진다. 시프터(shifter) 420의 시프팅 비트 크기(shifting bit size)도 인터리버의 열의 수(F)에 따른다. 예를 들어, 열의 수가 각각 1,2,4,8과 같이 2의 거듭제곱인 경우 시프터 420은 각각 0비트, 1비트, 2비트, 3비트의 시프터로서 구성된다.
본 발명에 해당하는 MIL 채널 인터리버의 2차 인터리빙시 기능 블록의 해당동작은 다음과 같다. 2차 인터리빙 동작시 멀티플렉서 410,430은 1의 경로가 선택되어지며, 행 카운터 330은 MIL 2차 채널 인터리버의 열의 수가 30일 때 행의 수인 B개의 클럭 펄스들 각각에 응답하여 30의 오프셋(offset)을 가지면서 0부터 B-1까지의 카운트 동작 및 그 결과에 따라 상기 행 카운터 330의 피드백값과 오프셋 값이 가산된 값들을 나타내는 신호를 행 어드레스로서 발생하는 동작을 수행한다. (B-1)번째 클럭에 대한 카운트 동작이 수행되었을 때 상기 행 카운터 330은 상기 캐리신호 Carry를 발생한다.
열 카운터 350은 상기 캐리신호 Carry가 발생할 때마다 0에서 29까지 1씩 증가하는 카운팅을 한다. 매핑기 360은 치환(permultation)을 위하여 (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30)에 해당하는 열 카운터 350의 출력을 (0,15,1,16,2,7,3,18,4,19,5,20,6,21,7,22,8,23,9,24,10,25,11,26,12,27,13,28,14,29,)의 값으로 매핑하여 출력한다. 여기서 인터리버의 열의 수가 32일 때의 열 치환 방식은 상기 <표 2>에 의한다. 그러나, 인터리버의 열의 수가 30일 때 열 치환 방식은 인터리버의 컬럼 수 2k와 달라질 수 있다. 그러므로, 매핑기 360의 매핑 순서는 치환 방식에 의해 달라질 수도 있다. 행 카운터 330과 열 카운터 350에 의해 각각 생성되는 행 어드레스와 열 어드레스는 가산기 370에 의해 더해지므로써 실제 인터리빙 어드레스로서 발생된다.
도 5는 본 발명의 또 다른 실시 예에 따른 MIL 인터리빙 동작을 위한 어드레스 생성 장치의 구성을 보여주는 도면이다. 여기서 MUX (1st,2nd) 0/1은 각각 1차/2차 인터리빙 동작을 선택하기 위한 신호이다. mode 0은 행 어드레스 계산 후 해당 열의 오프셋을 더하여 인터리빙이 이루어지도록 하는 신호이다. mode 1은 해당 열의 어드레스로 행 어드레스를 초기화하여 인터리빙이 이루어지도록 하는 신호이다. 상기 mode 0,1의 신호는 멀티플렉서들(선택기들) 440,450 및 460으로 제공된다.
본 발명의 또 다른 실시예에 따른 어드레스 생성 장치는 도 4에 도시된 어드레스 생성 장치의 구성에 추가적으로 선택기들 440,450,460을 포함한다. 상기 선택기들 440,450은 행 카운터 330과 가산기 320의 사이에 접속되고, 선택기 460은 매핑기 360과 가산기 370의 사이에 접속된다. 상기 선택기들 440,460은 모드 제어신호인 (mode 0,1)에 의해 제어되고, 상기 선택기 450은 행 카운터 330으로부터 발생되는 캐리신호 Carry에 의해 제어된다.
먼저, (mode 0)의 모드 제어신호가 인가되는 경우를 설명한다.
상기 (mode 0)신호에 응답하여 선택기 440은 행 카운터 330의 출력이 가산기 320의 한 입력으로 인가되도록 접속하고, 선택기 460은 매핑기 360의 출력이 가산기 370의 한 입력으로 인가되도록 접속한다. 행 카운터 330이 오프셋 값 1과 행 카운터 300의 이전 출력값의 가산값을 순차적으로 출력하는 동작을 수행하는 경우에, 선택기 450은 (0)입력단자가 선택기 440의 (1)입력단자에 접속되도록 하고, 상기 행 카운터 330이 Carry 신호를 발생하는 경우에는 (1)입력단자가 선택기 440의 (1)입력단자에 접속되도록 한다. 그러나 상기 선택기 450의 선택적인 신호 출력 동작에도 불구하고, 선택기 440은 항상 (0)입력단자가 출력단자에 연결되어 있는 상태이다. 그러므로 이러한 접속에 의한 구성은 도 4에 도시된 구성과 동일하게 행 어드레스를 생성한 후 해당 열의 어드레스와 가산하여 인터리빙을 위한 어드레스를 생성하는 동작을 수행한다.
다음에, (mode 1)의 모드 제어신호가 인가되는 경우를 설명한다. 여기서, 설명의 편의를 위해 행의 수 B=5이고, 열의 수 F=30이고, 매핑기 360은 생략되었다고 가정한다.
상기 (mode 1)신호에 응답하여 선택기 440은 선택기 450의 출력이 가산기 320의 한 입력으로 인가되도록 접속하고, 선택기 460은 0이 가산기 370의 한 입력으로 인가되도록 접속한다. 행 카운터 330이 행 카운터 330의 이전 출력값과 오프셋값 30의 가산값을 순차적으로 출력하는 동작을 수행하는 경우에, 선택기 450은 (0)입력단자가 선택기 440의 (1)입력단자에 접속되도록 하고, Carry 신호를 발생하는 경우에는 (1)입력단자가 선택기 440의 (1)입력단자에 접속되도록 한다. 그러므로 이러한 접속에 의한 구성하에서 행 카운터 330은 각 클럭 펄스에 응답하여 0부터 (B-1=5-1=4)까지 30의 오프셋을 가지는 값인 0, 30, 60, 90, 120의 값을 순차적으로 출력한다. 이러한 상태에서 행 카운터 330은 Carry신호를 발생하고, 상기 Carry신호에 응답하여 선택기 450은 (1)입력단자가 선택기 440의 (1)입력단자에 접속되도록 한다. 이에 따라 열 카운터 350은 다음 카운트값인 1을 출력하고, 이 출력값 1은 선택기 450 및 선택기 440을 거쳐 가산기 320의 한 입력으로 인가된다.그러면, 가산기 320의 한 입력으로는 1이 인가되고, 행 카운터 330은 상기 인가된 1의 값에 응답하여 1, 31, 61, 91, 121의 값을 순차적으로 출력한다. 그 다음에, 상기 행 카운터 330은 전술한 바와 같은 동작에 의해 2, 32, 62, 92, 122의 값을 순차적으로 출력할 것이다. 그러므로 이러한 접속에 의한 구성은 해당 열의 어드레스로 행 어드레스를 초기화하고, 인터리빙을 위한 어드레스를 생성하는 동작에 해당한다. 즉, 열의 어드레스와 행의 어드레스를 먼저 가산하여 인터리빙을 위한 어드레스를 생성하고, 상기 생성된 인터리빙을 위한 어드레스를 선택기 430 및 가산기 370을 거쳐 출력하는 동작에 해당한다.
구분 Circuit 하드웨어 수
MIL using Multiplier(종래 기술) Adder 90
Multiplier 206
Shifter 45
Column Counter 65
Row Counter 65
Mapping Circuit 40
Total 511
MIL using Offset Adder(본 발명) Adder 90
Shifter 45
Column Counter 65
Row Counter(Offset Adder) 90
Mapping Circuit 40
Total 330
상기의 <표 3>을 참조하면, 2차 MIL 채널 인터리버의 열의 수가 2의 거듭제곱이 아닌 경우, 종래 기술에 따른 어드레스 생성장치는 열의 수가 1,2,4,8인 1차 MIL 인터리버와 같이 비트 시프트 동작을 사용할 수 없기 때문에 열의 수에 해당하는 곱셈기가 필요하고 이에 따라 전체 하드웨어 복잡도(Total: 511)가 본 발명에따른 어드레스 생성장치에 비해 2배 정도 복잡해짐을 알 수 있다. 반면에 본 발명에 따른 어드레스 생성장치는 전체 하드웨어 복잡도(Total: 330)가 종래 기술의 경우에 비해 절반에 해당함을 알 수 있다.
상술한 바와 같이 본 발명은 MIL 2차 채널 인터리버의 행 어드레스를 구하는 과정에서 곱셈기를 사용하지 않고 가산기를 사용하여 오프셋을 갖는 행 어드레스를 발생시킴으로써 적은 하드웨어 복잡도를 가지고 동일한 인터리빙 기능을 구현할 수 있다는 이점이 있다. 또한 본 발명은 곱셈기 대신 가산기를 사용한 방식을 사용하여, 1차 인터리버와, 2차 인터리버의 구현을 위해 하드웨어를 공유함으로써 전체 시스템의 복잡도를 최소화하는 채널 인터리버를 구현한다는 이점이 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (12)

  1. 인터리버 메모리내에 B개의 행들과 양의 정수 k에 대해 2k가 아닌 F개의 열들로 저장된 데이터를 독출하기 위한 어드레스를 생성하는 어드레스 생성 장치에 있어서,
    B개의 클럭 펄스들에 응답하고, 첫 번째 행 어드레스로서 0의 값을 출력하고, 오프셋 값 F와 이전에 출력된 행 어드레스의 값을 가산한 값을 (B-1)번 출력하고, 상기 B개의 클럭 펄스들의 완료시 캐리신호를 발생하는 행 카운터와,
    상기 캐리신호에 응답하여 1씩 증가하는 카운트값을 증가시키기 위한 열 카운터와,
    미리 설정된 열 치환 규칙에 따라 상기 열 카운터로부터의 출력을 치환하기 위한 매핑기와,
    상기 행 카운터의 출력을 최상위비트(MSB)로서 사용하고, 상기 매핑기의 출력을 최하위비트(LSB)로서 사용함에 의해 구성되는 상기 독출 어드레스를 발생하는 가산기를 포함함을 특징으로 하는 상기 장치.
  2. 인터리버 메모리내에 B개의 행들과 양의 정수 k에 대해 2k가 아닌 F개의 열들로 저장된 데이터를 인터리빙하기 위한 어드레스를 생성하기 위한 장치에 있어서,
    B개의 클럭 펄스들 각각에 응답하여 상기 B개의 행 어드레스를 생성하고, 상기 B개의 행 어드레스는 0의 값과 0에서부터 상기 열의 수 F를 순차적으로 (B-1)번 가산한 결과값들을 포함하고, 상기 B개의 행 어드레스가 생성될 시 캐리신호를 발생하는 행 어드레스 생성기와,
    상기 캐리신호에 응답하여 1씩 증가하는 카운트값을 출력하고, 상기 카운트값을 미리 설정된 치환 규칙에 따라 치환하여 열 어드레스로서 생성하는 열 어드레스 생성기와,
    상기 행 어드레스와 상기 열 어드레스를 각각 가산하고, 상기 어드레스를 발생하는 가산기를 포함함을 특징으로 하는 상기 장치.
  3. 제2항에 있어서, 상기 행 어드레스 생성기는,
    상기 B개의 클럭 펄스들중 첫 번째 펄스에 응답하여 상기 0의 값을 출력하고, 나머지 (B-1)개의 클럭 펄스 각각에 응답하여 입력값을 가산하고, 상기 가산값을 상기 행 어드레스로서 발생하는 행 카운터와,
    상기 행 카운터의 출력과 상기 열의 수 F를 오프셋값으로 입력하고, 이들 입력값들을 가산하여 상기 행 카운터로 출력하는 가산기를 포함함을 특징으로 하는 상기 장치.
  4. 제2항에 있어서, 상기 열 어드레스 생성기는,
    상기 캐리신호에 응답하여 1씩 증가하는 카운트값을 출력하는 열 카운터와,
    상기 열 카운터로부터 출력되는 카운트값을 상기 치환 규칙에 따라 치환하고, 상기 열 어드레스들을 출력하는 매핑기를 포함함을 특징으로 하는 상기 장치.
  5. 데이터를 행과 열의 순서로 저장하고 있는 인터리버 메모리를 포함하는 1차 인터리버 또는 2차 인터리버에 사용하기 위한 어드레스를 생성하기 위한 장치에 있어서,
    상기 1차 인터리버에 대응하는 제1오프셋값과 상기 2차 인터리버에 대응하는 제2오프셋값을 인터리버 선택신호에 따라 선택적으로 출력하는 제1선택기와,
    B개의 클럭 펄스들 각각에 응답하여 상기 B개의 행 어드레스를 생성하고, 상기 B개의 행 어드레스는 0의 값과 상기 선택된 제1오프셋값 또는 제2오프셋값을 0에서부터 순차적으로 (B-1)번 가산한 결과값들을 포함하고, 상기 B개의 행 어드레스가 생성될 시 캐리신호를 발생하는 행 어드레스 생성기와,
    상기 캐리신호에 응답하여 1씩 증가하는 카운트값을 출력하고, 상기 카운트값을 미리 설정된 치환 패턴에 따라 치환하여 열 어드레스들로서 생성하는 열 어드레스 생성기와,
    상기 행 어드레스를 열의 수 F에 대응하여 결정되는 비트 수만큼 시프트시켜출력하는 시프터와,
    상기 시프터의 출력과 상기 행 어드레스를 상기 인터리버 선택신호에 따라 선택적으로 출력하는 제2선택기와,
    상기 제2선택기의 출력 어드레스와 상기 열 어드레스를 각각 가산하고, 상기 어드레스를 발생하는 가산기를 포함함을 특징으로 하는 상기 장치.
  6. 제5항에 있어서, 상기 행 어드레스 생성기는,
    상기 B개의 클럭 펄스들중 첫 번째 펄스에 응답하여 상기 0의 값을 출력하고, 나머지 (B-1)개의 클럭 펄스 각각에 응답하여 상기 오프셋값들중의 하나와 이전의 상기 행 카운터의 출력값을 가산함에 의해 결정되는 값을 수신하는 행 카운터와,
    상기 행 카운터의 이전의 출력값과 상기 제1오프셋값과 상기 제2오프셋값중의 어느 한 선택된 오프셋값을 입력하고, 이들 입력값들을 가산하여 상기 행 카운터로 출력하는 가산기를 포함함을 특징으로 하는 상기 장치.
  7. 제5항에 있어서, 상기 열 어드레스 생성기는,
    상기 캐리신호에 응답하여 1씩 증가하는 카운트값을 출력하는 열 카운터와,
    상기 열 카운터로부터 출력되는 카운트값을 상기 치환 규칙에 따라 치환하고, 상기 열 어드레스들를 출력하는 매핑기를 포함함을 특징으로 하는 상기 장치.
  8. 제5항에 있어서, 상기 제1오프셋값은 1임을 특징으로 하는 상기 장치.
  9. 제5항에 있어서, 상기 제2오프셋값은 열의 수임을 특징으로 하는 상기 장치.
  10. 인터리버 메모리내에 B개의 행들과 양의 정수 k에 대해 2k가 아닌 F개의 열들로 저장된 데이터를 독출하기 위한 어드레스를 생성하는 어드레스 생성 방법에 있어서,
    B개의 클럭 펄스들에 응답하고, 첫 번째 행 어드레스로서 0의 값을 출력하고, 오프셋 값 F와 이전에 출력된 행 어드레스의 값을 가산한 값을 (B-1)번 출력하는 (a)과정과,
    상기 B개의 클럭 펄스들의 완료시 발생되는 캐리신호에 응답하여 1씩 증가하는 카운트값을 출력시키는 (b)과정과,
    미리 설정된 열 치환 규칙에 따라 상기 (b)과정의 수행결과를 치환하는 (c)과정과,
    상기 (a)과정의 수행결과를 최상위비트(MSB)로서 사용하고, 상기 (b)과정의 수행결과를 최하위비트(LSB)로서 사용함에 의해 구성되는 상기 독출 어드레스를 발생하는 (d)과정을 포함함을 특징으로 하는 상기 방법.
  11. 인터리버 메모리내에 B개의 행들과 양의 정수 k에 대해 2k가 아닌 F개의 열들로 저장된 데이터를 인터리빙하기 위한 어드레스를 생성하기 위한 방법에 있어서,
    B개의 클럭 펄스들 각각에 응답하여 상기 B개의 행 어드레스는 0의 값과 0에서부터 상기 열의 수 F를 순차적으로 (B-1)번 가산한 결과값들을 포함하는 상기 B개의 행 어드레스를 생성하는 (a)과정과,
    상기 B개의 행 어드레스가 생성될 시 발생하는 캐리신호에 응답하여 1씩 증가하는 카운트값을 출력하고, 상기 카운트값을 미리 설정된 치환 규칙에 따라 치환하여 열 어드레스로서 생성하는 (b)과정과,
    상기 (a)과정의 수행결과와 상기 (b)과정의 수행결과를 각각 가산하고, 상기 독출 어드레스를 발생하는 (c)과정을 포함함을 특징으로 하는 상기 방법.
  12. 데이터를 행과 열의 순서로 저장하고 있는 인터리버 메모리를 포함하는 1차인터리버 또는 2차 인터리버에 사용하기 위한 어드레스를 생성하기 위한 방법에 있어서,
    상기 1차 인터리버에 대응하는 제1오프셋값과 상기 2차 인터리버에 대응하는 제2오프셋값을 인터리버 선택신호에 따라 선택적으로 출력하는 (a)과정과,
    B개의 클럭 펄스들 각각에 응답하여, 상기 B개의 행 어드레스는 0의 값과 상기 선택된 제1오프셋값 또는 제2오프셋값을 0에서부터 순차적으로 (B-1)번 가산한 결과값들을 포함하는 상기 B개의 행 어드레스를 생성하는 (b)과정과,
    상기 B개의 행 어드레스가 생성될 시 발생하는 캐리신호에 응답하여 1씩 증가하는 카운트값을 출력하고, 상기 카운트값을 미리 설정된 치환 패턴에 따라 치환하여 열 어드레스들로서 생성하는 (c)과정과,
    상기 (a)과정의 수행결과를 열의 수 F에 대응하여 결정되는 비트 수만큼 시프트시켜 출력하는 (d)과정과,
    상기 (d)과정의 수행결과와 상기 (a)과정의 수행결과를 상기 인터리버 선택신호에 따라 선택적으로 출력하는 (e)과정과,
    상기 (e)과정의 수행결과와 상기 (b)과정의 수행결과를 각각 가산하고, 상기 독출 어드레스를 발생하는 (f)과정을 포함함을 특징으로 하는 상기 방법.
KR1020000040322A 1999-07-13 2000-07-13 다단계 채널 인터리버/디인터리버에 사용하기 위한어드레스 생성 장치 및 방법 KR100338635B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000040322A KR100338635B1 (ko) 1999-07-13 2000-07-13 다단계 채널 인터리버/디인터리버에 사용하기 위한어드레스 생성 장치 및 방법

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR19990029198 1999-07-13
KR1019990029198 1999-07-13
KR1020000040322A KR100338635B1 (ko) 1999-07-13 2000-07-13 다단계 채널 인터리버/디인터리버에 사용하기 위한어드레스 생성 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20010021078A KR20010021078A (ko) 2001-03-15
KR100338635B1 true KR100338635B1 (ko) 2002-05-30

Family

ID=26635865

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000040322A KR100338635B1 (ko) 1999-07-13 2000-07-13 다단계 채널 인터리버/디인터리버에 사용하기 위한어드레스 생성 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100338635B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08265177A (ja) * 1995-03-22 1996-10-11 Toshiba Corp インターリーブ・データ処理装置
JPH08279766A (ja) * 1995-04-07 1996-10-22 Nec Corp コンボリューショナル・インターリーブ回路
JPH0962585A (ja) * 1995-08-21 1997-03-07 Nec Corp インターリーブ装置
JPH1013253A (ja) * 1996-06-24 1998-01-16 Nec Eng Ltd コンボリューショナル・インターリーバ
JP2000041018A (ja) * 1998-07-22 2000-02-08 Sony Corp Ofdm信号発生方法及びofdm信号発生装置
US6035427A (en) * 1996-07-01 2000-03-07 Daewoo Electronics Co., Ltd. Convolutional interleaver and method for generating memory address therefor

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08265177A (ja) * 1995-03-22 1996-10-11 Toshiba Corp インターリーブ・データ処理装置
JPH08279766A (ja) * 1995-04-07 1996-10-22 Nec Corp コンボリューショナル・インターリーブ回路
JPH0962585A (ja) * 1995-08-21 1997-03-07 Nec Corp インターリーブ装置
JPH1013253A (ja) * 1996-06-24 1998-01-16 Nec Eng Ltd コンボリューショナル・インターリーバ
US6035427A (en) * 1996-07-01 2000-03-07 Daewoo Electronics Co., Ltd. Convolutional interleaver and method for generating memory address therefor
JP2000041018A (ja) * 1998-07-22 2000-02-08 Sony Corp Ofdm信号発生方法及びofdm信号発生装置

Also Published As

Publication number Publication date
KR20010021078A (ko) 2001-03-15

Similar Documents

Publication Publication Date Title
CA2357613C (en) Efficient implementation of proposed turbo code interleavers for third generation code division multiple access
US5745497A (en) Convolutional interleaving/DE-interleaving method and apparatus for data transmission
JP4355031B2 (ja) 一般的なターボコードトレリスの終端方法およびシステム
US7127004B1 (en) Interleaver and method for interleaving an input data bit sequence using a coded storing of symbol and additional information
JP3553546B2 (ja) 多段階チャネルインターリーバ/デインターリーバに使用するためのアドレス生成装置
KR20010110482A (ko) 비트반전된 랜덤 인터리빙을 위한 일반화된 주소 생성기
GB2329804A (en) Time and frequency interleaving device for a multicarrier system
US8462614B2 (en) Buffer-based generation of OVSF code sequences
US6646579B2 (en) Method and device for generating OVSF code words
JP2003188857A (ja) データ送信装置およびデータ受信装置
JP2003179528A (ja) インタリーバ・パターンの修正
KR100338635B1 (ko) 다단계 채널 인터리버/디인터리버에 사용하기 위한어드레스 생성 장치 및 방법
US7765456B1 (en) Optimal multi-user orthogonal variable spreading factor (OVSF) code generator
JPH08265177A (ja) インターリーブ・データ処理装置
KR100308887B1 (ko) 계층화된 직교부호 발생장치 및 그 방법
KR100601624B1 (ko) 인터리버빙과 디인터리빙 장치 및 방법
JPH08335887A (ja) 複数インタリーブ・マトリクスのインタリーブアドレス生成回路
KR100739197B1 (ko) 디지털 오디오 방송에서의 주파수 디인터리빙 장치
KR100456494B1 (ko) 수신기 및 역확산 부호 생성 방법
KR100350683B1 (ko) 데이터 디인터리버 및 어드레스 발생방법
EP1283613A1 (en) Receiver and inverse-spreading code generating method
KR100525549B1 (ko) 블럭 인터리버의 읽기용 어드레스 계수 장치 및 그 방법
US7839762B2 (en) Method and apparatus for vector based walsh code bit sequence generation
GB2294616A (en) Data interleaving process for radio transmission
JP2001119308A (ja) Milパターン生成回路

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

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20130429

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee