KR100860660B1 - 통신시스템의 인터리빙 장치 및 방법 - Google Patents

통신시스템의 인터리빙 장치 및 방법 Download PDF

Info

Publication number
KR100860660B1
KR100860660B1 KR1020020001252A KR20020001252A KR100860660B1 KR 100860660 B1 KR100860660 B1 KR 100860660B1 KR 1020020001252 A KR1020020001252 A KR 1020020001252A KR 20020001252 A KR20020001252 A KR 20020001252A KR 100860660 B1 KR100860660 B1 KR 100860660B1
Authority
KR
South Korea
Prior art keywords
addresses
memory
interleaving
size
interleaver
Prior art date
Application number
KR1020020001252A
Other languages
English (en)
Other versions
KR20030060518A (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
Priority to KR1020020001252A priority Critical patent/KR100860660B1/ko
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to PCT/KR2003/000033 priority patent/WO2003058823A1/en
Priority to CN200910165162A priority patent/CN101615915A/zh
Priority to RU2004121027/09A priority patent/RU2274950C2/ru
Priority to EP03000524A priority patent/EP1330040B1/en
Priority to US10/338,715 priority patent/US6910110B2/en
Priority to JP2003559023A priority patent/JP3958745B2/ja
Priority to BRPI0306689A priority patent/BRPI0306689B1/pt
Priority to CNB038020777A priority patent/CN100539443C/zh
Priority to CA002472952A priority patent/CA2472952C/en
Priority to AU2003202155A priority patent/AU2003202155B2/en
Publication of KR20030060518A publication Critical patent/KR20030060518A/ko
Application granted granted Critical
Publication of KR100860660B1 publication Critical patent/KR100860660B1/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/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
    • 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/276Interleaving address generation

Abstract

통신시스템의 인터리빙/디인터리빙 장치 및 방법이 개시되어 있다. 본 발명의 실시예에 따른 인터리빙 방법은 주어진 인터리버 크기 N이 2mxj보다 크고 2mx(j+1)보다 작은 경우, 상기 2mx(j+1)의 새로운 인터리버 크기 N'와 0부터 N'-1까지의 어드레스들을 결정하는 과정; N 개의 입력 데이터를 메모리의 0부터 N-1까지의 어드레스들에 순차로 저장하는 과정; 상기 메모리의 어드레스들을 부분비트역상순(PBRO) 인터리빙하는 과정; 및 상기 메모리의 상기 N부터 N'-1까지의 어드레스들에 대응하는 어드레스들을 제외하고 상기 메모리로부터 데이터를 독출하는 과정을 포함한다.

Description

통신시스템의 인터리빙 장치 및 방법{INTERLEAVING APPARATUS AND METHOD IN COMMUNICATION SYSTEM}
도 1은 종래기술에 따른 비트역상순 인터리버의 치환방식을 설명한 도면.
도 2는 본 발명의 실시 예에 따른 인터리버의 구성도.
도 3은 본 발명의 실시 예에 따른 디인터리버의 구성도.
도 4는 본 발명의 실시 예에 따른 Imperfect cases에 해당하는 인터리버 크기를 가지고 부분비트역상순 인터리빙을 수행하기 위한 절차를 도시하는 도면.
도 5는 본 발명의 실시 예에 따른 부분비트역상순 인터리빙을 설명하기 위한 도면.
도 6은 본 발명의 일 실시 예에 따라 인터리버 사이즈 N=406일 때 수행되는 부분비트역상순 인터리빙의 수행 동작을 보여주는 도면.
본 발명은 통신시스템에 관한 것으로, 특히 무선통신시스템의 인터리빙/디인터리빙 장치 및 방법에 관한 것이다.
인터리빙은 페이딩 채널에서 오류정정부호의 성능을 향상시키기 위해서 사용하는 기술로 랜덤오류정정부호의 복호화와 밀접한 관계가 있다. 특히 최근에 매우 많은 관심을 모으고 있는 IMT-2000의 에어 인터페이스(air interface)에서 다양한 인터리빙 방식에 대한 구체적인 구현방식이 요구되고 있다. 또한, 이 분야는 디지털 통신시스템의 신뢰도 향상에 광범위하게 관련된 분야로서, 기존의 디지털 통신시스템의 성능개선 분야와 향후 결정되는 차세대 시스템의 성능을 개선시키는 방식에 관한 기술분야이기도 하다.
IMT-2000 분야에서는 채널 인터리버로 비트역상순 인터리버(bit reversal interleaver)를 사용하도록 잠정적으로 권고하고 있다. 그러나 IMT-2000 분야에서 주어진 순방향 링크(forward link)와 역방향 링크(reverse link)의 경우 논리채널(Logical channel)의 종류가 매우 다양하며, 인터리버의 크기 또한 여러 종류로 구성되어 이를 충실히 반영하기 위해서는 많은 양의 메모리가 요구된다. 예로서 순방향 링크 N=3인 전송모드의 경우 최소 144bits/frame부터 최대 36864bits/frame 까지 매우 다양한 크기의 인터리버가 사용된다. 이러한 비트역상순 인터리버에 대하여 개략적으로 설명하면 다음과 같다.
상기 비트역상순 인터리버의 치환방식을 도 1에 보였다. 상기 도 1에 도시된바와 같이, 상기 비트역상순 인터리빙은 어드레스의 최상위 비트인 MSB(Most Significant Bit)로부터 최하위 비트인 LSB(Least Significant Bit)까지의 비트 위 치(bit position)을 상호 교환하여 재정렬시켜 인터리빙 어드레스를 만드는 방식이다. 이와 같은 방식의 장점은 열거(셈) 함수(enumeration function)을 사용하여 인터리버를 구현할수 있으므로 메모리 사용이 간단하며, 또한 여러 크기의 인터리버를 구현하기 쉽다. 또한 상기 치환된 시퀀스의 위치분포가 상당 부분 랜덤하게 이루어진다. 하지만 2의 거듭제곱 형태로 표현될수 없는 인터리버 크기의 경우 메모리 활용면에서 비효율적이라는 문제점을 가진다. 예를 들어, 36864비트의 인터리버의 경우 가장 쉽게 구현하기 위해서는 64k(65536=216)의 메모리가 필요하다. 왜냐하면, 36864보다 큰 가장 작은 정수중 2의 거듭제곱으로 표현될수 있는 정수는 65536이기 때문이다. 따라서 28672(=65536-36864) 만큼의 사용되지 않는 메모리가 구현되므로 인해 메모리 손실이 발생한다. 또한 충분한 메모리를 제공받는다고 가정하더라도, 이를 전송하는 방식의 구현이 매우 어려우며, 수신기 쪽에서도 수신된 심볼의 위치를 정확히 파악하기가 매우 어렵다. 또한, 여러 종류의 인터리버가 사용된다는 면에서 각각 서로 다른 인터리버 규칙(rule)을 메모리에 저장해두어야 하며, 이 때문에 제어기(cpu) 쪽에서도 상당히 많은 메모리 공간을 확보해야 하는 문제점이 있다.
상술한 바와 같이, 종래의 인터리빙 방식의 문제점은 하기와 같이 요약된다.
첫째, 기존의 인터리빙 방식은 인터리버의 크기가 2의 거듭제곱 형태로 표현되지 않고, 크기가 클수록 메모리 활용면에서 매우 비효율적이라는 문제점을 가진다. 즉, IMT-2000 순방향 링크를 위한 인터리버 설계에서 사실 각 논리 채널의 인 터리버 크기가 2m 형태로 표현되지 않으며, 인터리버의 크기 또한 매우 크다는 점을 고려할 때 비트역상순 인터리빙 방식을 사용한다는 것은 비효율적이다.
둘째, 기존의 인터리빙 방식은 각각의 인터리버 크기에 따른 인터리빙 방식을 송수신기의 제어기(cpu=host)가 저장해두어야 하므로, 인터리버 버퍼 이외에 별도의 저장공간이 호스트(host) 메모리 쪽에 필요하다.
셋째, 상기한 비트역상순 인터리빙 방식을 사용하기 위해, 인터리버 크기를 2m 형태로 만들어 송수신을 행할 경우 불필요한 무효 어드레스 제거가 따른 전송방식이 매우 복잡하며, 구현시 심볼동기를 맞추기가 어렵다.
따라서 본 발명의 목적은 통신시스템에서 다양한 인터리버 크기에 대해 어드레스 번지를 하나의 알고리즘을 통해 생성하는 인터리빙 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 통신시스템에서 인터리버 메모리가 프레임 크기 N만큼만 소요될수 있는 인터리빙 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 통신시스템에서 N = 2m> j+a(여기서 0<a<2m)의 입력 데이터를 인터리빙하기 위한 장치 및 방법을 제공함에 있다.
이러한 목적들을 달성하기 위한 본 발명의 제1 견지에 따른 인터리빙 방법은 주어진 인터리버 크기 N이 2mxj보다 크고 2mx(j+1)보다 작은 경우, 상기 2mx(j+1)의 새로운 인터리버 크기 N'와 0부터 N'-1까지의 어드레스들을 결정하는 과정; N 개의 입력 데이터를 메모리의 0부터 N-1까지의 어드레스들에 순차로 저장하는 과정; 상기 메모리의 어드레스들을 부분비트역상순(PBRO) 인터리빙하는 과정; 및 상기 메모리의 상기 N부터 N'-1까지의 어드레스들에 대응하는 어드레스들을 제외하고 상기 메모리로부터 데이터를 독출하는 과정을 포함한다.
본 발명의 제2 견지에 따른 통신시스템에서 N = 2mxj+a(여기서 0<a<2m) 크기의 입력 데이터를 인터리빙하기 위한 방법은 N'= 2mx(j+1) 크기의 RxC 매트릭스 구조를 갖는 메모리의 순차 열 방향으로 어드레스들을 결정하는 과정; 상기 메모리의 0부터 N-1까지의 어드레스들에 상기 입력 데이터를 저장하고 상기 메모리의 마지막 열에서 N부터 N'-1까지의 어드레스들에 해당하는 (2m-a)의 영역들에는 상기 입력 데이터를 저장하지 않는 과정; 상기 결정된 어드레스들을 부분비트역상순(PBRO) 인터리빙하여 상기 RxC 매트릭스 구조를 가지는 출력 어드레스들을 생성하는 과정; 및 상기 순차 열 방향으로 상기 출력 어드레스들을 결정하여 상기 메모리에 저장된 데이터를 독출하기 위한 독출 어드레스 생성하는 과정을 포함하고, 여기서 상기 생성된 독출 어드레스는 상기 N부터 N'-1까지의 어드레스들에 대응하는 출력 어드레스들이 제외된다.
본 발명에 따른 인터리버를 제어하는 프로그램이 기록된 기록 매체는 주어진 인터리버 크기 N이 2mxj보다 크고 2mx(j+1)보다 작은 경우, 상기 2mx(j+1)의 새로운 인터리버 크기 N'에 따라 0부터 N'-1까지의 어드레스들을 카운트하는 카운터; 상기 카운터의 카운팅 결과를 근거로 어드레스 0부터 N-1까지의 N 개의 입력 데이터 비트들을 순차로 저장하는 메모리; 및 부분비트역상순(PBRO) 인터리빙에 의해 상기 메모리에 저장된 데이터를 독출하기 위한 독출 어드레스를 생성하는 어드레스 생성기를 포함하고, 상기 생성된 독출 어드레스는 상기 N부터 N'-1까지의 어드레스들에 대응하는 어드레스들이 제외된다.
이하 본 발명의 바람직한 실시예를 첨부된 도면의 참조와 함께 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 동일 부호를 가지도록 하였다. 또한 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.
본 발명에서 사용하는 인터리버/디인터리버는 인터리빙/디인터리빙 알고리즘을 사용하여 입력으로 들어오는 심볼들의 순서를 치환한 뒤 출력버퍼에 새로운 순서에 따라 저장한다. 따라서 본 발명에서 제안한 인터리버/디인터리버는 3가지 부분(인터리버 메모리(입력 데이터 버퍼/출력 데이터 버퍼), 어드레스 생성부, 일반적인 카운터)으로 구성된다.
도 2는 본 발명의 실시 예에 따른 인터리버의 구성을 도시하고 있다.
상기 도 2를 참조하면, 어드레스 생성부(211)는 인터리버 크기N, 제1변수 m, 제2변수j 값 및 클럭(clock)을 입력하며, 인터리버 메모리(212)에 순차적으로 저장되어 있는 비트심볼들을 읽어내기 위한 인터리빙 어드레스를 발생한다. 상기 인터리버 메모리(212)는 쓰기모드시 입력 비트심볼들을 순서대로 저장하고, 읽기모드시 상기 어드레스 생성부(211)에서 제공되는 어드레스에 의해 비트심볼들을 출력한다. 카운터(213)는 클럭(Clock)을 입력하며, 카운터 값을 생성하여 상기 인터리버 메모리(212)의 쓰기 어드레스(Write)로 출력한다.
상술한 바와 같이 상기 인터리버는 쓰기모드시 입력데이타를 인터리버 메모리(212)에 순서대로 저장하고, 읽기모드시 상기 어드레스 생성부(211)에서 발생된 읽기 어드레스에 따라 상기 인터리버 메모리(212)에 저장되어 있는 데이터를 출력한다.
여기서 상기 어드레스 생성부(211)는 하기 수학식 1과 같은 부분분할 비트역상순 인터리빙 알고리즘에 따라 읽기 어드레스(=인터리빙 어드레스) 번지를 생성한다.
For a given K .....(0 ≤ K ≤N-1)
r = K mod j;
PUC = K / j;
s = BRO (PUC);
ADDRESS_READ = r ×2m + s
여기서 상기 K는 출력되는 데이터의 순서를 나타내는 것으로 순서번호라 칭하고, 상기 m은 LSB로부터 MSB방향으로 연속되는 '0'의 개수를 나타내는 것으로 제1변수이라 칭하며, 상기 j는 상기 연속되는 0를 제외한 비트들의 십진수에 해당하는 값으로 제2변수라 칭한다. 여기서 상기 인터리비 크기 N은 2m×j로 표현된다.
상기 수학식 1을 참조하여 메모리에 순차적으로 기록된 입력 심볼들을 인터리빙하여 읽기 위한 어드레스 생성방법을 설명하면 다음과 같다. 우선 인터리버의 크기를 N이라 하자. 하기 수학식 1에서 K(=0,1,2,....,N-1)는 입력데이타의 시간 인덱스(time index)를 나타내며, 제3변수 r, PUC, 및 제4변수 s는 임의의 변수를 나타낸다. 'mod'와 '/'는 각각 나머지와 몫을 구하는 모듈로 오퍼레이션(Modulo operation)과 디바이더 오퍼레이션(Divider operation)을 나타낸다. 또한, BRO(H)는 H를 이진 포맷(binary format)으로 전환한 뒤, MSB로부터 LSB의 순서를 역상순(reverse ordering)으로 하여 십진형태로 변환하는 비트역상순 함수(function)이다. 따라서 상기 수학식 1과 같은 함수를 이용하여 해당 입력데이타 시퀀스의 K에 대응되는 읽기 시퀀스 인덱스인 ADDRESS_READ를 구하고, 상기 읽 기 시퀀스 인덱스 ADDRESS_READ에 해당하는 메모리 내용을 읽어내면 된다. 상기 제1변수 m와 제2변수 j는 인터리버 크기에 의해서 결정되는 값이다. 일단, 인터리버 크기 N과 상기 제1변수m과 제2변수 j가 결정되면, 이를 가지고 하기의 알고리즘에 따라 각각의 k에 해당되는 새로운 어드레싱 인덱스인 ADDRESS_READ를 생성하고, 이를 이용하여 메모리에 있는 인터리버 메모리212에서 데이터를 읽어간다.
상기 프레임크기(또는 인터리버 크기) N으로부터 상기 제1변수 m과 상기 제2변수 j를 결정하는 방식을 설명하면, 임의의 인터리버 크기 N을 이진 형태로 표시한다. 그리고 LSB로부터 MSB방향으로 연속되는 '0'의 최대수를 구하고, 이를 상기 제1변수 m으로 정의한다. 그리고 상기 연속되는 '0' 비트들을 제외한 비트들(Truncated bits)을 모아서 십진수로 전환하여 상기 제2변수 j로 정의한다.
예를 들어, N=576인 경우 이를 이진 형태로 나타내면 N=[10 0100 0000]이므로 m=6, j=(1001)2=9가 된다.
상술한 인터리버의 역에 해당하는 디인터리버의 구성은 도 3에 도시되어 있다.
상기 도 3을 참조하여 디인터리버의 구성을 살펴보면, 어드레스 생성부(311)는 디인터리버 크기N, BIT_SHIFT, UP_LIMIT 및 클럭을 입력하여 쓰기모드를 수행하기 위한 인터리버 메모리 어드레스를 생성하여 디인터리버 메모리(312)로 출력한다. 상기 디인터리버 메모리(312)는 쓰기모드시 상기 어드레스 생성부(311)에서 제공되는 쓰기 어드레스(write ADDR)에 따라 입력데이타를 저장하고, 읽기모드시 저 장 데이터를 순서대로 출력한다. 카운터(313)는 클럭(Clock)을 입력하며, 상기 클럭을 카운터한 값을 상기 디인터리버 메모리(312)의 읽기 어드레스(Read ADDR) 값으로 출력한다.
상기 디인터리버는 상기 인터리버의 역과정을 수행하는 것으로 구조상 모든 구성이 동일하며, 단지 쓰기모드시 상술한 수학식 1과 같은 알고리즘을 이용하여 입력데이터를 디인터리버 메모리(312)에 순서대로 저장하고, 읽기모드시 데이터를 순서대로 읽어간다는 점에서 다르다. 즉, 상기 디인터리버는 송신측에서 보낸 데이터를 원래의 순서대로 복원하기 위해서 저장시 미리 데이터의 원 순서를 찾아 저장하는 것이다.
따라서, 이하 설명은 인터리버 위주로 설명할 것이다.
그러면, 본 발명을 차세대 이동통신시스템인 CDMA2000 시스템에 적용할 경우의 실제적인 예들을 살펴본다.
우선, IMT2000 시스템의 순방향 링크에서 사용되는 인터리버의 크기를 표 1를 통해 살펴본다.
순방향 기본채널 (RS1) 순방향 기본채널 (RS2) 순방향 부가채널 (RS1) 순방향 부가채널 (RS2) 순방향 공통제어채널 순방향 동기채널 순방향 페이징채널 순방향 전용제어 채널
72(bit)
144 ○ (5msec) ○ (5msec) ○ (5msec)
192 ○ (26.6msec)
288
384
576 ○ (20msec)
1152
2304
4608
9216
18432
36864
상기 표 1에서와 같이 IMT2000 시스템에서는 12개의 인터리버 크기N가 제안되어 있으며, 이는 각 순방향 논리채널에 적정히 사용된다. 여기서 각 순방향 채널에서 사용되는 인터리버들은 '○'로 표시하였다. 일예를 들어, 순방향 기본채널(rate set 2)인 경우, 사용되는 인터리버 크기는 144bit(이때의 프레임 사이즈는 5msec이다), 576bit 및 1152bit이다.
여기서 상기 표 1에서 제시된 인터리버 크기에 해당하는 상기한 제1변수 m와 제2변수 j를 구해보면 하기 표 2와 같다.
인터리버 크기(N) N의 이진형태 j m 논리 채널
144 10010000 9(1001) 4 5msec/frame 순방향 전용제어채널(5msec/frame) 순방향 기본채널/RS2(5msec/frame)
192 1100000 3(0011) 5 동기채널(26.22msec/frame)
576 1001000000 9(1001) 6 순방향 페이징채널, 순방향 공통제어채널 순방향 전용제어채널(20msec/frame) 순방향 기본채널/RS2 순방향 부가채널/RS1
1152 10010000000 9(1001) 7 순방향 기본채널(RS2) 순방향 부가채널
2304 100100000000 9(1001) 8 순방향 부가채널
4608 1001000000000 9(1001) 9 순방향 부가채널
9216 10010000000000 9(1001) 10 순방향 부가채널
18432 100100000000000 9(1001) 11 순방향 부가채널
36864 1001000000000000 9(1001) 12 순방향 부가채널
상기 표 2를 참조하여 인터리버 크기N이 9216인 경우 BIT_SHIFT와 UP_LIMIT를 구하는 방법을 설명하면, 우선 상기 9216을 이진형태로 나타내면 N=[10 0100 0000 0000]이다. 여기서 LSB로부터 MSB방향으로 연속되는 '0'의 개수를 구하고, 이를 제1변수 m으로 정의한다. 그리고 상기 연속되는 '0' 비트들을 제외한 비트들을 모아서 이를 십진수(1001=9(10))를 전환하여 UP_LIMIT(9)를 구한다.
하기 표 3(쓰기모드) 및 표 4(읽기모드)는 N=576인 인터리버에 대하여 읽기-모드(Read-Mode)와 쓰기-모드(Write-Mode)의 일예를 보여준다.
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576
1 65 129 193 257 321 385 449 513 33 97 161 225 289 353 417 481 545 17 81 145 209 273 337 401 465 529 49 113 177 241 305 369 433 497 561 9 73 137 201 265 329 393 457 521 41 105 169 233 297 361 425 489 553 25 89 153 217 281 345 409 473 537 57 121 185 249 313 377 441 505 569 5 69 133 197 261 325 389 453 517 … … … … … … … … … … … … … … … … … … 16 80 144 208 272 336 400 464 528 48 112 176 240 304 368 432 496 560 32 96 160 224 288 352 416 480 544 64 128 192 256 320 384 448 512 576
쓰기-모드에서는 상기 표 1에서와 같이 0번지로터 574번지까지 순차적으로 입력데이타를 인터리버 메모리(212)에 저장한다. 다음으로, 읽기-모드에서는 어드레싱 생성부(211)에서 생성되는 Read ADDR를 사용하여 해당하는 번지의 데이터를 인터리버 메모리(212)로부터 출력한다.
예를 들어, 3번째(k=2)로 출력될 데이터를 상기한 수학식 1를 통해 살펴보자. 우선 인터리버 크기 N(576)으로부터 BIT_SHIFT와 UP_LIMT를 구해보면, BIT_SHIFT는 6이고, UP_LIMIT는 9이다. 따라서 r = 2 mod 9 = 2이고, PUC = 2 / 9 = 0이다. 또한, s = BRO(0) = 0이다. 따라서 최종적으로 구해지는 어드레스 번지 ADDRESS_READ = 2×26 + 0 = 128이다. 그런데, 상기 표 4의 인터리버의 읽기 번지 실시 예에서는 출력번지를 1부터 N까지 표현한 것이다. 즉, 상기 구해진 어드레스 번지에 '1'을 더한 것이다.
삭제
전술한 PBRO 인터리빙 동작은 주어진 인터리버 크기 N이 제1 변수 m과 제2 변수 j로 결정되는 2mxj와 일치하는 경우를 고려한 것이다. 만약, 주어진 인터리버 크기 N이 제1 변수 m과 제2 변수 j로 결정되는 2mxj와 일치하지 않고 그 크기가 2mxj보다 크고 2mx(j+1)보다 작은 경우에는 위에서 설명한 PBRO 인터리빙 동작과는 다르게 처리될 필요가 있다. 즉 주어진 인터리버 크기 N이 2mxj+a로 표현되는 경우에는 또 다른 인터리빙 동작의 처리가 필요하다. 여기서, a는 0보다 크고 2m보다 작은 임의의 양수를 의미한다. 이러한 필요성은 실제로 시스템을 구현하는 경우에 상위 계층의 특징에 따라서 특정 인터리버의 크기가 2mxj와 일치하지 않는 경우나 혹은 크기가 일치하더라도 제1 변수 m이 너무 작은 값으로 결정될 수 있는데, 이러한 경우에는 인터리버가 PBRO의 특성을 가지지 못할 수도 있기 때문이다. 가령, 인터리버의 크기 384는 27x3이기 때문에, m과 j는 각각 7과 3으로 결정될 수 있다. 그러나 인터리버의 크기 406은 (27x3+22)이기 때문에 m과 j를 각각 7과 3으로 결정하면 2mxj 형태로의 표현은 불가능한 것이다. 만일 2mxj 형태로 표현하고자 한다면 가능한 값은 2x(26x3+11)=2x203이기 때문에 m과 j를 각각 1과 203으로 결정할 수 있으나, 실제로 m=1인 경우는 PBRO의 성능이 전혀 제공되지 않는 문제가 발생한다.
하기 <표 5>는 위에서 설명한 바와 같이 인터리버의 크기에 따라 PBRO 인터리빙이 가능한 경우와 가능하지 않은 경우의 예들을 보여준다. 하기 표 5에서 왼쪽 열의 “Perfect cases"는 인터리버 크기 N이 384, 768, 1536, 2304, 3072, 3840인 경우와 같이 Nmax=N이기 때문에 상기 PBRO 인터리빙 방식에 의해서 인터리빙이 가능한 경우를 나타낸다. 그러나 오른쪽 열의 "Imperfect cases"는 인터리버 크기 N이 406, 790, 1558, 2326, 3094, 3862인 경우와 같이 상기 PBRO 인터리빙 방식에 의해서 인터리빙하고자 하면 m 값이 너무 감소하고 따라서 앞서 기술한 바와 같이 PBRO의 특성이 상실되는 문제가 발생하는 경우이다. 하기 표 5에서 "Discard"는 인터리빙을 위한 출력 어드레스들 중에서 삭제될 어드레스의 갯수를 나타낸다. 따라서 본 발명의 실시예에 따라 하기 <표 5>에 나타낸 어떠한 경우의 인터리버의 크기에 대해서도 부분 비트역상순(Partial BRO) 인터리빙이 가능하도록 하는 방안에 대해 설명될 것이다.
도 4는 본 발명의 실시 예에 따른 부분비트역상순(PBRO) 인터리빙 동작의 처리 흐름을 보여주는 도면이다. 즉, 상기 도 4는 하기 <표 5>에 나타낸 Imperfect cases의 인터리버 크기들에 대해 부분비트역상순 인터리빙을 수행하기 위한 절차를 도시하고 있다. 이러한 절차는 도 2에 도시된 카운터(213)에 의한 카운트 값인 기록 어드레스에 따라 인터리버 메모리(212)에 입력 데이터를 저장하고, 어드레스 생성부(211)에 의해 생성된 독출 어드레스에 따라 메모리(212)에 저장된 데이터를 독출함으로써 수행된다. 상기 카운터(213)에 의해 기록 어드레스를 생성하는 당해 분야 통상의 지식을 가진 자에게 잘 알려진 사실이므로 하기에서는 상기 어드레스 생성부(211)에 의해 독출 어드레스를 생성하는 동작이 구체적으로 설명될 것이다.
상기 도 4를 참조하면, 먼저 도 2의 어드레스 생성부(211)는 401단계에서 사용하고자 하는 인터리버 크기 N을 결정한다. 상기 인터리버 크기 N은 인터리빙할 데이터의 크기에 대응한다. 이후, 상기 어드레스 생성부(211)는 403단계에서 상기 인터리버 크기 N보다 작은 Nmax 중에서 2mxj을 만족하는 최대의 Nmax를 구하고, 405단계에서 상기 Nmax=2mxj을 만족하는 m과 j를 각각 상기 perfect cases에 적용가능한 전술한 PBRO 인터리빙 방식으로 구한다.
그리고, 상기 어드레스 생성부는 407단계에서 상기 변수 j에 ‘1’을 더해 변수 j'를 정하고, 409단계에서 변수 k를‘0'으로 초기화시킨다. 여기서, k는 앞서 설명한 바와 같이, 독출 시퀀스를 나타낸다. 이후, 상기 어드레스 생성부(211)는 411단계에서 상기 m과 j'(=j+1)로부터 N'= 2mxj'=2mx(j+1)로 표현되는 새로운 인터리버 사이즈 N'를 정의한다. 여기서, 새로운 인터리버 크기 N'는 N'>N>Nmax의 관계를 갖는다. 그후 상기 어드레스 생성부는 m과 j를 가지고 전술한 부분 비트역상순 인터리빙 방식으로 출력 어드레스 PBRO(k)를 구한다.
한편, 본 발명의 실시예에 따르면, 쓰기모드시 입력되는 일련의 정보심볼들(입력 데이터)은 인터리버 메모리의 0번지에서부터 N-1번지까지 순차로 저장된다. 따라서, 실제 필요로 하는 인터리버 메모리의 사이즈는 N이 된다. 즉, 상기 인터리버 메모리의 나머지 N번지부터 N'-1번지까지의 영역들은 인터리버 설계시에 존재하도록 구현할 수도 있지만, 실제는 사용되지 않는 메모리의 영역들이다. 이러한 쓰기모드 동작은 도 2에 도시된 카운터(213)에 의해 기록 어드레스가 발생함으로써 수행된다. 즉, 상기 카운터(213)은 기록 어드레스 생성부로서 기능한다.
본 발명의 실시예에 따르면, 도 2의 어드레스 생성부(211)는 읽기모드시 상기 새로운 인터리버 사이즈 N’을 가지고 상기한 수학식 1과 같은 부분비트역상순 인터리빙을 수행하여 출력 시퀀스 k에 대한 독출 어드레스 PBRO(k)를 생성하고, 상기 생성되는 독출 어드레스에 따라서 상기 인터리버 메모리(212)에 순차로 저장된 정보심볼들을 독출한다.
이러한 읽기모드 과정 수행중, 상기 어드레스 생성부(211)는 413단계에서 상기 생성된 독출 어드레스 PBRO(k)가 "N-1"보다 큰지를 검사한다. 만일, 상기 생성된 독출 어드레스 PBRO(k)가 상기 "N-1"보다 크면 상기 어드레스 생성부는 423단계로 진행하여 상기 생성된 독출 어드레스를 폐기(discard)한다. 반면에, 상기 생성된 독출 어드레스가 상기 "N-1"보다 작거나 동일하면, 상기 어드레스 생성부(211)는 415단계로 진행하여 상기 생성된 독출 어드레스에 저장된 데이터를 독출한다.
그후 상기 어드레스 생성부(211)는 417단계에서 출력 시퀀스에 해당하는 변수 k를‘1’만큼 증가시키고, 421단계에서 상기 변수 k가 "2mxj'-1"(또는 "N'-1") 보다 큰지를 검사한다. 만일, 상기 변수 k가 상기 "2mxj'-1" 보다 작으면 계속해서 독출 어드레스를 생성하기 위해 상기 어드레스 생성부(211)는 상기 411단계로 되돌아가 이하 단계들을 반복 수행한다. 반면, 상기 변수 k가 상기 "2mxj'-1"보다 크거나 동일하면 상기 어드레스 생성부(211)는 421단계로 진행하여 독출 어드레스 생성 동작을 종료한다.
전술한 동작을 요약하면, 상기 생성되는 독출 어드레스들 중에서 상기 주어진 인터리버 크기 N보다 크거나 같은 어드레스는 폐기(discard)된다. 따라서 최종 인터리빙을 위한 독출 어드레스로는 입력되는 비트 심볼만큼인 N개의 어드레스들이 사용된다.
하기 <표 5>에는 6가지 인터리버 크기(406, 790, 1558, 2326, 3094, 3862) 각각에 대해 결정된 변수들 m과 j'가 또한 나타나 있다. 하기 <표 5>에서 보듯이 j'는 Nmax로부터 구한 j에 비하여 +1만큼 큰 값을 가진다. 도 5는 하기 <표 5>에 나타낸 바와 같이 구해진 m과 j'을 가지고 수행되는“imperfect cases”에 해당하는 부분비트역상순(PBRO) 인터리빙 동작의 예를 보여준다. 상기 도 5를 참조하면, 마지막 열에는 22개의 비트 심볼들이 추가되어 있고, 상기 마지막 열의 원소 중에서 상기 22개를 제외한 2m-22개의 어드레스들(501)은 사용되지 않는다. 따라서 PBRO 인터리빙을 수행한 이후에 이 부분에 해당되는 비트 심볼들은 출력되지 않고 삭제된다. , 인터리버 크기 N=2mxj+a(여기서 0<a< 2m)의 입력 데이터를 인터리빙한다고 가정할 때, 상기 입력 데이터는 순차 열들 방향으로 상기 메모리의 0부터 (N-1)까지의 어드레스들에 저장되고, 이때 상기 메모리의 마지막 열중 N부터 (N'-1)까지의 어드레스들에 해당하는 (2m - a)개의 영역들에는 데이터가 저장되지 않는다.
도 6은 본 발명의 실시예에 따라 인터리버 크기 N=406인 경우에 대한 PBRO 인터리빙 동작의 수행 예를 보여준다.
인터리버 크기가 N=406인 경우에 Nmax는 하기 <표 5>에서 알 수 있는 바와 같이 384이므로 m과 j는 각각 7과 3으로 결정되고, 이에 따라서 j'=j+1=4이다. 본 발명의 인터리버는 상기 도 6에 도시된 바와 같이 쓰기 모드에서 입력되는 0번 비트 심볼부터 405번 비트 심볼까지를 순차로 인터리버 메모리에 저장한다. 나머지 비트 심볼들은 존재하지 않는 것이므로 도면에서는 X로 표시하였다. 상기 인터리버는 입력되는 비트 심볼들을 (27x3+1)의 (행x열) 매트릭스 형상을 가지는 인터리버 메모리에 순차로 열방향으로 406개의 비트 심볼들을 저장한다. 이때 마지막 (j+1)번째 열에는 단지 22개의 비트 심볼들만이 저장되고, 나머지 106개의 어드레스들에는 비트 심볼들이 저장되지 않는다(단계 1). 다음으로 본 발명의 인터리버는 읽기 모드에서 상기 <수학식 1>에 따른 PBRO 인터리빙을 수행한다(단계 2 및 단계 3). 이때 만일 출력 어드레스가 인터리버 크기인 406보다 크거나 같은 경우에는 이를 출력하지 않는다. 따라서 본 발명의 실시예에 따르면 N=406개의 어드레스만이 출력되고 이에 해당되는 메모리도 정확하게 N=406만이 요구된다.
전술한 바와 같은 본 발명의 실시예에 따른 원리는 N = 2mxj+a(여기서 0<a<2m)의 입력 데이터를 인터리빙하는 경우에도 동일하게 적용 가능하다. 이러한 인터리빙 동작은 다음과 같이 정리될 수 있다.
첫 번째 과정에서는 N' = 2mx(j+1)의 (행x열 매트릭스 구조를 가지는 메모리의 순차 열들 방향으로 어드레스들이 결정된다.
두 번째 과정에서는 상기 입력 데이터가 순차 열들 방향으로 인터리버 메모리의 0부터 (N-1)까지의 어드레스들에 저장된다. 이때 상기 인터리버 메모리의 마지막 열중 N부터 (N'-1)까지의 어드레스들에 해당하는 (2m-a)개의 영역들에는 데이터가 저장되지 않는다.
세 번째 과정에서는 상기 결정된 어드레스들이 부분비트역상순(PBRO) 인터리빙되어 (행x열) 매트릭스 구조를 가지는 출력 어드레스들이 생성된다.
네 번째 과정에서는 순차 행들 방향으로 상기 출력 어드레스들을 결정하여 상기 인터리버 메모리에 저장된 데이터를 독출하기 위한 어드레스가 생성된다. 이때 생성된 독출 어드레스에는 상기 N부터 (N'-1)까지의 어드레스들에 대응하는 출력 어드레스들이 삭제되어 있다.
이후 설명되는 표 5 및 표 6은 본 발명의 다른 실시 예에 따른 "Imperfect cases"에 해당하는 부분비트역상순 인터리빙을 수행할 때 필요한 파라미터들(m 및 j')를 보여준다.
하기 표 5는 앞서 설명한 'a'가 22인 6가지 인터리버 크기들(406, 790, 1558, 2326, 3094, 3862)에 대하여 결정된 변수 m과 j'를 보여준다.
Figure 112007024611780-pat00009
하기 표 6는 앞서 설명한 'a'가 24인 6가지 인터리버 크기들(408, 792, 1560, 2328, 3096, 3864)에 대하여 결정된 변수 m과 j'를 보여준다.
Figure 112007024611780-pat00010
한편, 디인터리버의 크기가 상술한 "Imperfect cases"에 해당하는 경우 디인터리빙은 앞서 PBRO 인터리빙과 디인터리빙에서 언급한 것과 마찬가지로 인터리빙의 역과정으로 동일하게 수행하면 되므로 여기서는 이에 대한 구체적인 예와 설명은 생략하기로 한다. 즉, 인터리빙에서 사용되는 독출(Read) 어드레스를 생성하는 상기 도 4의 방식을 이용해 디인터리빙에서의 기록(write) 어드레스 생성하면 된다. 따라서, 실제 디인터리버의 크기보다 큰 새로운 인터리버 크기를 가지고 기록 어드레스를 생성하지만, 생성된 기록 어드레스중 불필요한 어드레스를 제거되기 때문에, 실제 디인터리버의 크기에 해당하는 데이터가 메모리에 기록된다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 예를들어, 본 발명의 실시예에서는 상기 a가 22와 24인 경우만을 기술하였으나 2m 보다 작은 어느 경우에도 본발명이 적용됨은 자명한 사실이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정 해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이 본 발명은 2의 거듭제곱으로 표현되지 않는 다양한 인터리버 크기에 대하여 효과적인 어드레스 번지 생성방법을 제안하였다. 따라서 기존에 2의 거듭제곱으로 표현되지 않는 인터리버가 메모리의 사용면에서 비효율적인 것을 해결하였다. 그리고 다양한 인터리버 사이즈에 대해 어드레스 번지를 하나의 알고리즘을 통해 생성할수 있으므로, 기존에 호스트(CPU)가 각 인터리버 사이즈에 대해 인터리빙 방식을 저장하므로서 소비되는 메모리 공간을 제거하였다. 또한 본 발명은 프레임 크기인 N비트만큼의 메모리를 사용하기 때문에 인터리버 메모리를 최적화할수 있다.

Claims (12)

  1. 주어진 인터리버 크기 N이 2mxj보다 크고 2mx(j+1)보다 작은 경우, 상기 2mx(j+1)의 새로운 인터리버 크기 N'와 0부터 N'-1까지의 어드레스들을 결정하는 과정;
    N 개의 입력 데이터를 메모리의 0부터 N-1까지의 어드레스들에 순차로 저장하는 과정;
    상기 메모리의 어드레스들을 부분비트역상순(PBRO) 인터리빙하는 과정; 및
    상기 메모리의 상기 N부터 N'-1까지의 어드레스들에 대응하는 어드레스들을 제외하고 상기 메모리로부터 데이터를 독출하는 과정을 포함하는 인터리빙 방법.
  2. 제1항에 있어서,
    상기 메모리의 크기가 상기 N인 인터리빙 방법.
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    상기 메모리의 크기가 상기 N'인 인터리빙 방법.
  6. 통신시스템에서 N = 2mxj+a(여기서 0<a<2m) 크기의 입력 데이터를 인터리빙하기 위한 방법에 있어서,
    N'= 2mx(j+1) 크기의 RxC 매트릭스 구조를 갖는 메모리의 순차 열 방향으로 어드레스들을 결정하는 과정;
    상기 메모리의 0부터 N-1까지의 어드레스들에 상기 입력 데이터를 저장하고 상기 메모리의 마지막 열에서 N부터 N'-1까지의 어드레스들에 해당하는 (2m-a)의 영역들에는 상기 입력 데이터를 저장하지 않는 과정;
    상기 결정된 어드레스들을 부분비트역상순(PBRO) 인터리빙하여 상기 RxC 매트릭스 구조를 가지는 출력 어드레스들을 생성하는 과정; 및
    상기 순차 열 방향으로 상기 출력 어드레스들을 결정하여 상기 메모리에 저장된 데이터를 독출하기 위한 독출 어드레스 생성하는 과정을 포함하고,
    상기 생성된 독출 어드레스는 상기 N부터 N'-1까지의 어드레스들에 대응하는 출력 어드레스들이 제외되는 인터리빙 방법.
  7. 제6항에 있어서,
    상기 생성된 독출 어드레스에 따라 상기 메모리에 저장된 데이터를 독출하는 과정을 더 포함하는 인터리빙 방법.
  8. 주어진 인터리버 크기 N이 2mxj보다 크고 2mx(j+1)보다 작은 경우, 상기 2mx(j+1)의 새로운 인터리버 크기 N'에 따라 0부터 N'-1까지의 어드레스들을 카운트하는 카운터;
    상기 카운터의 카운팅 결과를 근거로 어드레스 0부터 N-1까지의 N 개의 입력 데이터 비트들을 순차로 저장하는 메모리; 및
    부분비트역상순(PBRO) 인터리빙에 의해 상기 메모리에 저장된 데이터를 독출하기 위한 독출 어드레스를 생성하는 어드레스 생성기를 포함하고,
    상기 생성된 독출 어드레스는 상기 N부터 N'-1까지의 어드레스들에 대응하는 어드레스들이 제외되는 인터리빙 장치.
  9. 제8항에 있어서,
    상기 메모리의 크기가 상기 N인 인터리빙 장치.
  10. 제8항에 있어서,
    상기 메모리의 크기가 상기 N'인 인터리빙 장치.
  11. N'= 2mx(j+1) 크기의 RxC 매트릭스 구조를 갖는 메모리;
    기록 어드레스 생성기; 및
    독출 어드레스 생성기를 포함하고,
    상기 기록 어드레스 생성기는 상기 메모리의 0부터 N-1까지의 어드레스들에 순차 열 방향으로 N = 2mxj+a(여기서 0<a<2m) 크기의 입력 데이터를 기록하기 위한 기록 어드레스를 생성하고,
    상기 메모리의 N부터 N'-1까지의 어드레스들에 해당하는 (2m-a)의 영역들에는 상기 입력 데이터를 저장하지 않으며,
    상기 독출 어드레스 생성기는 상기 0부터 N-1까지의 어드레스들을 부분비트역상순(PBRO) 인터리빙하여 생성된 RxC 매트릭스 구조의 출력 어드레스를 순차 열 방향으로 결정함으로써 상기 메모리에 저장된 데이터를 독출하기 위한 독출 어드레스를 생성하고, 상기 생성된 독출 어드레스는 상기 N부터 N'-1까지의 어드레스들에 대응하는 어드레스들이 제외되는 통신 시스템에서 인터리빙 장치.
  12. 주어진 인터리버 크기 N이 2mxj보다 크고 2mx(j+1)보다 작은 경우, 상기 2mx(j+1)의 새로운 인터리버 크기 N'에 따라 0부터 N'-1까지의 어드레스들을 카운트하는 카운터;
    상기 카운터의 카운팅 결과를 근거로 어드레스 0부터 N-1까지의 N 개의 입력 데이터 비트들을 순차로 저장하는 메모리; 및
    부분비트역상순(PBRO) 인터리빙에 의해 상기 메모리에 저장된 데이터를 독출하기 위한 독출 어드레스를 생성하는 어드레스 생성기를 포함하고,
    상기 생성된 독출 어드레스는 상기 N부터 N'-1까지의 어드레스들에 대응하는 어드레스들이 제외되는 인터리버를 제어하는 프로그램이 기록된 기록 매체.
KR1020020001252A 2002-01-09 2002-01-09 통신시스템의 인터리빙 장치 및 방법 KR100860660B1 (ko)

Priority Applications (11)

Application Number Priority Date Filing Date Title
KR1020020001252A KR100860660B1 (ko) 2002-01-09 2002-01-09 통신시스템의 인터리빙 장치 및 방법
CN200910165162A CN101615915A (zh) 2002-01-09 2003-01-09 通信系统的交织设备和方法
RU2004121027/09A RU2274950C2 (ru) 2002-01-09 2003-01-09 Устройство и способ перемежения для системы связи
EP03000524A EP1330040B1 (en) 2002-01-09 2003-01-09 Interleaving apparatus and method for a communication system
PCT/KR2003/000033 WO2003058823A1 (en) 2002-01-09 2003-01-09 Interleaving apparatus and method for a communication system
US10/338,715 US6910110B2 (en) 2002-01-09 2003-01-09 Interleaving apparatus and method for a communication system
JP2003559023A JP3958745B2 (ja) 2002-01-09 2003-01-09 通信システムのインターリービング装置及び方法
BRPI0306689A BRPI0306689B1 (pt) 2002-01-09 2003-01-09 aparelho e método de intercalação para um sistema de comunicação
CNB038020777A CN100539443C (zh) 2002-01-09 2003-01-09 通信系统的交织设备和方法
CA002472952A CA2472952C (en) 2002-01-09 2003-01-09 Interleaving apparatus and method for a communication system
AU2003202155A AU2003202155B2 (en) 2002-01-09 2003-01-09 Interleaving apparatus and method for a communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020001252A KR100860660B1 (ko) 2002-01-09 2002-01-09 통신시스템의 인터리빙 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20030060518A KR20030060518A (ko) 2003-07-16
KR100860660B1 true KR100860660B1 (ko) 2008-09-26

Family

ID=19718325

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020001252A KR100860660B1 (ko) 2002-01-09 2002-01-09 통신시스템의 인터리빙 장치 및 방법

Country Status (10)

Country Link
US (1) US6910110B2 (ko)
EP (1) EP1330040B1 (ko)
JP (1) JP3958745B2 (ko)
KR (1) KR100860660B1 (ko)
CN (2) CN101615915A (ko)
AU (1) AU2003202155B2 (ko)
BR (1) BRPI0306689B1 (ko)
CA (1) CA2472952C (ko)
RU (1) RU2274950C2 (ko)
WO (1) WO2003058823A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8443268B2 (en) 2007-06-20 2013-05-14 Lg Electronics Inc. Method of performing interleaving and data transmission apparatus

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2261529C2 (ru) * 2002-02-06 2005-09-27 Самсунг Электроникс Ко.,Лтд Перемежитель и способ перемежения в системе связи
US7360062B2 (en) * 2003-04-25 2008-04-15 International Business Machines Corporation Method and apparatus for selecting an instruction thread for processing in a multi-thread processor
US7401207B2 (en) * 2003-04-25 2008-07-15 International Business Machines Corporation Apparatus and method for adjusting instruction thread priority in a multi-thread processor
US7401208B2 (en) * 2003-04-25 2008-07-15 International Business Machines Corporation Method and apparatus for randomizing instruction thread interleaving in a multi-thread processor
US7398446B2 (en) * 2003-05-29 2008-07-08 Lucent Technologies Inc. Low power operation of an address interleaver
US7069398B2 (en) * 2003-06-20 2006-06-27 Industrial Technology Research Institute Apparatus and method for de-interleaving the interleaved data in a coded orthogonal frequency division multiplexing receiver
WO2005052798A1 (en) * 2003-11-26 2005-06-09 Cygnus Communications Canada Co. Interleaving memory
US7415584B2 (en) * 2003-11-26 2008-08-19 Cygnus Communications Canada Co. Interleaving input sequences to memory
RU2375822C2 (ru) 2004-07-29 2009-12-10 Квэлкомм Инкорпорейтед Система и способ для разнесения во времени
US9246728B2 (en) 2004-07-29 2016-01-26 Qualcomm Incorporated System and method for frequency diversity
KR100853497B1 (ko) * 2004-08-25 2008-08-21 삼성전자주식회사 터보 인터리빙 장치 및 그의 출력주소 발생 방법
US7167114B2 (en) * 2004-10-05 2007-01-23 Sony Corporation Memory efficient interleaving
KR100762134B1 (ko) 2004-10-07 2007-10-02 엘지전자 주식회사 블록 인터리빙을 위한 읽기 주소 발생 방법
US7543197B2 (en) * 2004-12-22 2009-06-02 Qualcomm Incorporated Pruned bit-reversal interleaver
KR100699491B1 (ko) * 2005-07-19 2007-03-26 삼성전자주식회사 인터리빙 방법 및 그 장치
US9391751B2 (en) 2005-07-29 2016-07-12 Qualcomm Incorporated System and method for frequency diversity
US9042212B2 (en) 2005-07-29 2015-05-26 Qualcomm Incorporated Method and apparatus for communicating network identifiers in a communication system
US7555684B1 (en) * 2006-01-17 2009-06-30 Xilinx, Inc. Circuit for and a method of generating an interleaver address
US20070277064A1 (en) * 2006-05-02 2007-11-29 Mediatek Inc. Reconfigurable convolutional interleaver/deinterleaver using minimum amount of memory and an address generator
US8266508B2 (en) * 2007-06-08 2012-09-11 Telefonaktiebolaget L M Ericsson (Publ) Computational efficient convolutional coding with rate matching
KR101613893B1 (ko) 2007-10-04 2016-04-20 삼성전자주식회사 이동통신 시스템에서 데이터 인터리빙 방법 및 장치
US9712279B2 (en) 2007-10-04 2017-07-18 Samsung Electronics Co., Ltd. Method and apparatus for interleaving data in a mobile communication system
GB2456775B (en) * 2008-01-22 2012-10-31 Advanced Risc Mach Ltd Apparatus and method for performing permutation operations on data
US8127105B2 (en) * 2008-11-04 2012-02-28 Qualcomm Incorporated Parallel pruned bit-reversal interleaver
CN101710850B (zh) * 2008-12-26 2013-10-30 三星电子株式会社 卷积Turbo编码方法及实现编码方法的设备
US8572148B1 (en) * 2009-02-23 2013-10-29 Xilinx, Inc. Data reorganizer for fourier transformation of parallel data streams
WO2011033680A1 (en) 2009-09-16 2011-03-24 Nec Corporation Interleaver and interleaving method
US8527833B2 (en) 2010-09-13 2013-09-03 Hughes Network Systems, Llc Method and apparatus for a parameterized interleaver design process
WO2013187862A1 (en) * 2012-06-11 2013-12-19 Intel Corporation A FAST MECHANISM FOR ACCESSING 2n±1 INTERLEAVED MEMORY SYSTEM
EP3376673B1 (en) * 2015-11-10 2022-06-29 Sony Group Corporation Data processing devices and data processing methods for frequency interleaving and deinterleaving
CN109474373B (zh) * 2017-09-08 2021-01-29 华为技术有限公司 交织方法和交织装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000138653A (ja) * 1998-09-14 2000-05-16 Terayon Communication Syst Inc 1次元タイムスロットデ―タのcdma送信のための2次元インタ―リ―ブプロセス
WO2000039941A1 (en) * 1998-12-26 2000-07-06 Samsung Electronics Co., Ltd. Interleaving / deinterleaving device and method for communication system
US6304991B1 (en) * 1998-12-04 2001-10-16 Qualcomm Incorporated Turbo code interleaver using linear congruential sequence
KR100306282B1 (ko) * 1998-12-10 2001-11-02 윤종용 통신시스템의인터리빙/디인터리빙장치및방법
KR20020028639A (ko) * 2000-10-11 2002-04-17 오길록 주소발생기를 포함한 인터리빙/디인터리빙 수행 장치 및그 방법과 그를 이용한 채널 부호화 시스템
KR100346170B1 (ko) * 1998-12-21 2002-11-30 삼성전자 주식회사 통신시스템의인터리빙/디인터리빙장치및방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6198733B1 (en) * 1998-03-13 2001-03-06 Lucent Technologies Inc. Forward-link sync-channel interleaving/de-interleaving for communication systems based on closed-form expressions
US6314534B1 (en) 1999-03-31 2001-11-06 Qualcomm Incorporated Generalized address generation for bit reversed random interleaving
KR100480286B1 (ko) * 1999-04-02 2005-04-06 삼성전자주식회사 터보 인터리빙 어드레스 발생 장치 및 방법
US6854077B2 (en) * 2000-08-05 2005-02-08 Motorola, Inc. Apparatus and method for providing turbo code interleaving in a communications system
JP2004512757A (ja) * 2000-10-25 2004-04-22 ノキア コーポレイション 時空間冗長性を有する信号を形成する装置及びその方法
BRPI0204043B1 (pt) * 2001-02-13 2017-02-14 Qualcomm Inc aparelho e método para gerar códigos em sistema de comunicação
KR100724921B1 (ko) * 2001-02-16 2007-06-04 삼성전자주식회사 통신시스템에서 부호 생성 및 복호 장치 및 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000138653A (ja) * 1998-09-14 2000-05-16 Terayon Communication Syst Inc 1次元タイムスロットデ―タのcdma送信のための2次元インタ―リ―ブプロセス
US6304991B1 (en) * 1998-12-04 2001-10-16 Qualcomm Incorporated Turbo code interleaver using linear congruential sequence
KR100306282B1 (ko) * 1998-12-10 2001-11-02 윤종용 통신시스템의인터리빙/디인터리빙장치및방법
KR100346170B1 (ko) * 1998-12-21 2002-11-30 삼성전자 주식회사 통신시스템의인터리빙/디인터리빙장치및방법
WO2000039941A1 (en) * 1998-12-26 2000-07-06 Samsung Electronics Co., Ltd. Interleaving / deinterleaving device and method for communication system
KR20020028639A (ko) * 2000-10-11 2002-04-17 오길록 주소발생기를 포함한 인터리빙/디인터리빙 수행 장치 및그 방법과 그를 이용한 채널 부호화 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8443268B2 (en) 2007-06-20 2013-05-14 Lg Electronics Inc. Method of performing interleaving and data transmission apparatus

Also Published As

Publication number Publication date
EP1330040A3 (en) 2003-07-30
US20030149849A1 (en) 2003-08-07
BRPI0306689B1 (pt) 2016-11-16
EP1330040B1 (en) 2012-10-03
KR20030060518A (ko) 2003-07-16
CA2472952C (en) 2008-04-01
WO2003058823A1 (en) 2003-07-17
JP2005514848A (ja) 2005-05-19
AU2003202155A1 (en) 2003-07-24
CN101615915A (zh) 2009-12-30
RU2004121027A (ru) 2005-05-27
RU2274950C2 (ru) 2006-04-20
CN1615592A (zh) 2005-05-11
US6910110B2 (en) 2005-06-21
BR0306689A (pt) 2004-12-07
JP3958745B2 (ja) 2007-08-15
AU2003202155B2 (en) 2006-07-06
CN100539443C (zh) 2009-09-09
CA2472952A1 (en) 2003-07-17
EP1330040A2 (en) 2003-07-23

Similar Documents

Publication Publication Date Title
KR100860660B1 (ko) 통신시스템의 인터리빙 장치 및 방법
KR100306282B1 (ko) 통신시스템의인터리빙/디인터리빙장치및방법
KR100350459B1 (ko) 통신시스템의인터리빙/디인터리빙장치및방법
EP1060564B1 (en) Interleaving/deinterleaving device and method for communication system
KR20030052923A (ko) 고속 패킷 이동통신시스템에서 심벌 매핑을 위한 인터리빙장치 및 방법
JP4728500B2 (ja) アドレス発生器を含んだインターリーブ/ディインターリーブを行う装置、その方法及びそれを利用したチャネル符号化システム
US20050050284A1 (en) System and method for interleaving data in a communications device
KR20010088148A (ko) 블록 인터리빙 방법 및 그를 위한 장치
KR100447177B1 (ko) 인터리빙 방법 및 이를 위한 장치
US6687870B1 (en) Method and apparatus for interleaving for information transmission or storage applications
JP2002237756A (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: 20120830

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130829

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140828

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150828

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160830

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170830

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180830

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190829

Year of fee payment: 12