KR100447177B1 - 인터리빙 방법 및 이를 위한 장치 - Google Patents

인터리빙 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR100447177B1
KR100447177B1 KR10-2001-0077046A KR20010077046A KR100447177B1 KR 100447177 B1 KR100447177 B1 KR 100447177B1 KR 20010077046 A KR20010077046 A KR 20010077046A KR 100447177 B1 KR100447177 B1 KR 100447177B1
Authority
KR
South Korea
Prior art keywords
memory
data bits
interleaving
interleaver
bit
Prior art date
Application number
KR10-2001-0077046A
Other languages
English (en)
Other versions
KR20030046790A (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 KR10-2001-0077046A priority Critical patent/KR100447177B1/ko
Publication of KR20030046790A publication Critical patent/KR20030046790A/ko
Application granted granted Critical
Publication of KR100447177B1 publication Critical patent/KR100447177B1/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
    • H03M13/276Interleaving address generation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2778Interleaver using block-wise interleaving, e.g. the interleaving matrix is sub-divided into sub-matrices and the permutation is performed in blocks of sub-matrices

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 데이터 비트들에 대하여 인터리빙된 메모리 주소를 부여하는 단계와 상기 메모리로부터 상기 데이터 비트들을 상기 메모리 주소에 따라 순차적으로 읽어 출력하는 단계 및 상기 출력된 비트들을 변조 심볼 단위에 따라 디멀티플렉싱하는 단계를 포함하여 이루어지는 인터리빙 방법 및 이를 위한 장치에 관한 것으로써, 한번의 액세스를 통해 하나의 변조 심볼에 해당하는 데이터 비트를 읽을 수 있도록 하여 별도의 래치 회로를 필요로 하지 않으며, 시간 지연을 일으키지 않는 효과가 있다.

Description

인터리빙 방법 및 이를 위한 장치{Method and Apparatus for Interleaving}
본 발명은 이동통신 시스템에 관한 것으로, 특히 효율적인 인터리빙 방법 및 이를 위한 장치에 관한 것이다.
제 3 세대 CDMA 이동통신 시스템은 수 Mbps까지의 고속 데이터 전송을 지원할 수 있어야 한다. 데이터 통신은 음성 통신과는 달리 10-5~10-6정도의 아주 낮은 패킷 에러 확률을 요구하기 때문에 고속 데이터 통신에 있어서는 기존 시스템에서 주로 사용되던 컨벌루셔널 코딩(Convolutional Coding) 방법으로는 한계에 부딪칠 수밖에 없다.
그러나, 최근에 급속도로 널리 알려진 터보 코딩(Turbo Coding) 방법을 사용하면 열악한 이동통신 환경 하에서도 상기에서 요구하는 정도의 아주 낮은 패킷 에러 확률을 유지할 수 있기 때문에 터보 코딩 방법은 최근 이동통신 시스템에 대한 표준으로 널리 채택되고 있다.
즉, 소스 코딩이 된 입력 데이터 스트림은 FEC(Forward Error Coding)와 같은 형태의 채널 코딩이 수행되는데, 이 채널 코딩의 일종으로써 상기와 같은 터보 코딩 방식이 이용된다.
이 채널 코딩이 된 심볼은 군집 에러(burst error)를 방지하기 위해, 블락 인터리빙이 수행되며, 도 1을 참조하여 보다 상세히 설명하기로 한다.
도 1은 종래 기술에 따른 블록 인터리빙 과정을 위한 상세 구성을 나타낸 도면이다.
도 1에서, 블록 인터리버(101)는 입력 심볼의 랜덤화 과정과, 버퍼링을 위해 RAM(Random Access Memory)으로 구현된다.
그리고, 상기 블록 인터리버(101)의 메모리(미도시)는 새로운 입력 심볼을 기록하기 위한 심볼 입력 핀과, 기록 주소 포트가 있고, 인터리빙된 입력 심볼을읽기 위한 데이터 출력 핀과, 읽기 주소 포트가 있다. 따라서, 상기 블록 인터리버(101)는 인터리버 기록 주소 제어기(103)로부터 제공되는 기록 순서에 따라 해당 입력 심볼을 기록한다. 또한, 이 기록된 심볼을 상기 인터리버 읽기 주소 제어기(104)로부터 제공되는 읽기 순서에 따라 해당 심볼을 읽어서 출력한다.
상기에서 제어기들(103,104)로부터 제공되는 제어 신호에 따른 기록 주소 포트/읽기 주소 포트에 저장되는 순서는 순차적 기록/인터리빙 읽기로 되어 있다.
하나의 변조 심볼에 필요로 하는 비트 숫자만큼을 상기 블록 인터리버(101)로부터 읽어서 디먹스(102)로 전달이 되어야 한다. IS-2000 통신 시스템에서, 변조 방법은 BPSK, QPSK, 8-PSK, 16-QAM이 사용된다. 그리고, IS-2000 1xtreme 통신 시스템에서 변조 방법은 BPSK, QPSK, 8-PSK, 16-QAM, 64-QAM이 사용된다. 이러한 시스템들에서, 전송 채널의 상태에 따라 변조 방법이 매 전송 구간마다 변화하므로, 하나의 변조 심볼은 1심볼, 2심볼, ..., 6심볼의 비트 시퀀스로 구성이 된다. 상기 디먹스(102)는 디멀티플렉서의 약칭이다.
그리고, 서로 동일한 하나의 변조 타이밍 정렬(modulation timing alignment)을 맞추기 위해, 각각의 래치(latch) 회로(105a,105b,...,105n)는 이 읽어진 출력 심볼들처리 지연시킨다.
이와 같이, 종래 기술에서는 하나의 변조 심볼을 구성하기 위한 처리 대기 시간(latency)이 1,2,..,6이 되므로, 전송 동기화를 위해서는 추가의 래치 회로가 필요하다.
또한, 상기의 순차적 기록/인터리빙 읽기로 된 인터리버를 이용하는 경우에는, 동시에 6개의 출력 심볼들을 얻을 수 없다. 물론, 읽기 포트가 6개가 되는 메모리이면 가능할지도 모르나, 일반적으로 구현하기에는 곤란할 것이다.
따라서, 본 발명은 이상에서 언급한 종래 기술의 문제점을 감안하여 안출한 것으로서, 인터리버 메모리의 읽기 파트의 심볼이 주소에 따라 순차적으로 배열되게 되는 인터리빙 방법 및 이를 위한 장치를 제공하기 위한 것이다.
또한, 본 발명은 인터리버 메모리의 출력 포트에 대한 심볼 길이(width)가 기 결정된 변조 방식에서 요구하는 심볼 번호에 대한 최소 공배수를 갖도록 하는 인터리빙 방법 및 이를 위한 장치를 제공하기 위한 것이다.
또한, 본 발명은 인터리버 메모리의 입력 심볼에 대한 기록 주소 생성 방법을 동일한 인터리빙 효과를 위해 변경하도록 하는 인터리빙 방법 및 이를 위한 장치를 제공하기 위한 것이다.
도 1은 종래 기술에 따른 블록 인터리빙 과정을 위한 상세 구성을 나타낸 도면.
도 2는 본 발명에 따른 블록 인터리빙 과정을 위한 상세 구성을 나타낸 도면.
*도면의 주요 부분에 대한 부호의 설명*
201 : 블록 인터리버
202 : 디먹스
203 : 인터리버 기록 주소 제어기
204 : 인터리버 읽기 주소 제어기
상기 목적을 달성하기 위한 본 발명의 방법은 인터리빙 방법에 있어서, 데이터 비트들에 대하여 인터리빙된 메모리 주소를 부여하는 단계와 상기 메모리로부터 상기 데이터 비트들을 상기 메모리 주소에 따라 순차적으로 읽어 출력하는 단계 및 상기 출력된 비트들을 변조 심볼 단위에 따라 디멀티플렉싱하는 단계를 포함하여 이루어진다.또한, 본 발명은 데이터 비트들에 대하여 인터리빙된 메모리 주소를 부여하는 인터리버 기록 제어부와, 상기 메모리 주소에 따라 데이터 비트들이 기록되는 인터리버 메모리부와, 상기 메모리에 기록된 상기 데이터 비트들을 상기 메모리 주소에 따라 순차적으로 읽어 출력하도록 제어하는 인터리버 읽기 제어부 및 상기 출력된 비트들을 변조 심볼 단위에 따라 디멀티플렉싱하는 디멀티플렉싱부를 포함하여 이루어진다.이하 본 발명의 바람직한 일 실시 예에 따른 구성 및 작용을 첨부된 도면을 참조하여 설명한다.
도 2는 본 발명에 따른 블록 인터리빙 과정을 위한 상세 구성을 나타낸 도면이다.
도 2에 도시된 바와 같이, 블록 인터리버(201)의 메모리(미도시)는 새로운 입력 심볼을 기록하기 위한 심볼 입력 핀과, 기록 주소 포트가 있고, 인터리빙된 입력 심볼을 읽기 위한 데이터 출력 핀과, 읽기 주소 포트가 있다.
따라서, 상기 블록 인터리버(201)는 인터리버 기록 주소 제어기(203)로부터 제공되는 기록 순서에 따라 해당 입력 심볼을 기록 순서에 기록한다. 또한, 이 기록된 심볼을 상기 인터리버 읽기 주소 제어기(204)로부터 제공되는 읽기 순서에 따라 해당 심볼을 읽어서 디먹스(202)로 출력한다.
상기에서 제어기들(203,204)로부터 제공되는 제어 신호에 따른 기록 주소 포트/읽기 주소 포트에 저장되는 순서는 인터리빙 기록/순차적 읽기로 되어 있다.
즉, 인터리버 메모리에서 메모리 깊이를 J로 나타내고, 넓이를 m으로 나타내는 경우, 인터리버 메모리의 열 주소는 2m으로, 행 주소는 J로 표현된다. 이때, 이 인터리버 메모리에 인가되는 비트는 여러 열(column)들에서 랜덤하게 기록되고, 하나의 행에서 순차적으로 읽혀지도록 한다.
따라서, 디먹스(202)는 하나의 변조 심볼에 해당하는 수 비트로 이루어지는 시퀀스를 하나의 행 주소 포트에서 한 번의 액세스로 읽어 온다.
자세하게는, 본 발명에서 인터리빙 읽기 주소 수식에서 동일한 인터리빙 효과를 얻는 인터리빙 기록 주소는 다음과 같이 얻을 수 있다.
일반적으로 i 번째(i = 0,1,..,N-1) 출력 심볼에 대한 주소 Ai는 알려져 있고, 인터리버 읽기 포트에서 이 Ai번째의 데이터를 선택한다. 이 Ai(Ai= 0,1,..., N-1) 값은 인터리버 메모리에 순차적으로 기록된 출력 심볼의 인덱스이다.
이 Ai가 0이면 인터리버 메모리에 제일 처음 기록된 데이터의 인덱스이고, 1은 두 번째 기록된 데이터의 인덱스이다. Ai가 N-1이면 마지막으로 기록된 데이터의 인덱스이다.
본 발명은 상기의 특성을 이용하여 Ai번째 입력되는 데이터를 i번째 기록 주소에 저장하는 것이다. 이렇게 함으로써 읽기 포트에서 출력 데이터는 순차적 순서에 따라 읽어지며, 종래의 기술과 동일한 인터리빙 효과를 얻는다.
예를 들어, IS-2000 표준에서 제시되어 있는 인터리버 읽기 수식은 다음과 같다.
비트 리버싱 연산(Bit Reversing Operation) 인터리빙
순방향-역방향 비트 리버싱 연산 인터리빙
상기 수학식 1과, 수학식 2a, 수학식 2b에서 N은 인터리버 사이즈(2m* J)를 나타내고,는 x를 넘지 않는 최대 정수를 나타내고, BROm(y)는 y의 비트 반전된 m 비트 값을 나타낸다. 예를 들어, BRO3(6)은 3이다.
이에 대한 본 발명에서 제안한 인터리빙 기록 수식은 다음과 같다.
먼저, 상기의 비트 리버싱 연산 인터리빙에 대한 본 발명의 수식은 다음 수학식 3과 같다.
또한, 상기 순방향-역방향 비트 리버싱 연산 인터리빙에 대한 본 발명의 수식은 다음 수학식 4 및 수학식 5와 같다. 이하 수학식 4는 i번째 비트가 짝수 비트일 때, 수학식 5는 i번째 비트가 홀수 비트일 때 적용된다.
본 발명의 인터리버 읽기 포트는 순차적으로 데이터 읽기가 되어 한 번의 액세스로 수 비트를 동시에 얻을 수 있다.
한편, IS-2000 1xtreme 시스템에서 사용한 변조 방법은 BPSK, QPSK, 8-PSK, 16-QAM, 64-QAM이다. 이러한 변조 방식을 적용함에 있어, 하나의 변조 심볼을 구성하기 위해서는 각각 1,2,3,4,6 비트 인터리버 데이터를 필요로 한다.
따라서, 본 발명은 1,2,3,4,6 비트의 최소 공배수인 12 비트를 인터리버 메모리의 출력 데이터 비트 길이로 제안한다. 이 인터리버 메모리에서 한꺼번에 12 비트 데이터를 읽어서 변조 방법에 따라 필요한 데이터 비트수 만큼 다중화하여 변조를 수행한다.
이를 위해 디먹스(202)는 12비트의 시퀀스로 읽어져 출력되는 비트를 시스템에서 설정한 하나의 변조 심볼 길이에 따라 디먹싱한다.이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
이상의 설명에서와 같이 본 발명은 하나의 변조 심볼에 필요한 인터리빙이 된 데이터 심볼 번호를 한 번의 액세스로 얻을 수 있다. 종래의 기술을 사용하면 필요로 하는 수만큼 인터리버 메모리를 액세스해야 한다. 그에 따라, 별도의 래취회로와, 처리 대기 시간을 달라지게 된다. 본 발명은 이러한 문제점을 한꺼번에 해결할 수 있음을 보여준다. 그리고, 본 발명은 종래 기술의 수식과 비교하여 본 발명의 수식이 복잡하질 않으며, 실제 구현에서 상대적으로 간단하게 구현된다.

Claims (6)

  1. 데이터 비트들에 대하여 인터리빙된 메모리 주소를 부여하는 단계;
    상기 메모리 주소에 따라 상기 데이터 비트들을 메모리에 기록하는 단계;
    상기 메모리로부터 상기 데이터 비트들을 상기 메모리 주소에 따라 순차적으로 읽어 출력하되, 변조 심볼 단위로 읽어 출력하는 단계; 및
    상기 출력된 비트들을 디멀티플렉싱하는 단계
    를 포함하여 이루어지는 인터리빙 방법.
  2. 제 1 항에 있어서,
    상기 메모리 주소를 부여하는 단계는,
    비트 리버싱 연산 인터리빙을 수행하는 단계; 및
    상기 인터리빙이 수행된 값을 데이터 비트에 대한 메모리 주소로 부여하는 단계;
    를 포함하는 인터리빙 방법.
  3. 제 2 항에 있어서,
    상기 비트 리버싱 연산 인터리빙은,
    에 의해 수행되는 것을 특징으로 하는 인터리빙 방법.
    (는 i 번째 출력 심볼에 대한 주소, J는 상기 메모리의 깊이, m은 상기 메모리의 넓이,,는 x를 넘지 않는 최대 정수, BROm(y)는 y의 비트 반전된 m 비트 값을 나타낸다.)
  4. 제 2 항에 있어서,
    상기 비트 리버싱 연산 인터리빙은,
    i 가 홀수일 때,
    (i가 홀수일 때)
    i 가 짝수일 때,
    (i가 짝수일 때)
    에 의해 수행되는 것을 특징으로 하는 인터리빙 방법.
    (는 i 번째 출력 심볼에 대한 주소, J는 상기 메모리의 깊이, m은 상기 메모리의 넓이,, N 은 인터리버 사이즈(2m* J)를 나타내고,는 x를 넘지 않는 최대 정수, BROm(y)는 y의 비트 반전된 m 비트 값을 나타낸다.)
  5. 제 1 항에 있어서,
    상기 데이터 비트들을 출력하는 단계는,
    상기 변조 심볼 단위에 상응하는 데이터 비트 수의 최소공배수에 해당하는 데이터 비트들을 한번의 액세스로 읽어서 출력하는 것을 특징으로 하는 인터리빙 방법.
  6. 데이터 비트들에 대하여 인터리빙된 메모리 주소를 부여하는 인터리버 기록 제어부;
    상기 메모리 주소에 따라 데이터 비트들이 기록되는 인터리버 메모리부;
    상기 메모리에 기록된 상기 데이터 비트들을 상기 메모리 주소에 따라 순차적으로 읽어 출력하도록 제어하는 인터리버 읽기 제어부; 및
    상기 출력된 비트들을 변조 심볼 단위에 따라 디멀티플렉싱하는 디멀티플렉싱부
    를 포함하여 이루어지는 인터리빙 장치.
KR10-2001-0077046A 2001-12-06 2001-12-06 인터리빙 방법 및 이를 위한 장치 KR100447177B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0077046A KR100447177B1 (ko) 2001-12-06 2001-12-06 인터리빙 방법 및 이를 위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0077046A KR100447177B1 (ko) 2001-12-06 2001-12-06 인터리빙 방법 및 이를 위한 장치

Publications (2)

Publication Number Publication Date
KR20030046790A KR20030046790A (ko) 2003-06-18
KR100447177B1 true KR100447177B1 (ko) 2004-09-04

Family

ID=29573464

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0077046A KR100447177B1 (ko) 2001-12-06 2001-12-06 인터리빙 방법 및 이를 위한 장치

Country Status (1)

Country Link
KR (1) KR100447177B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100431082B1 (ko) * 2001-12-28 2004-05-12 한국전자통신연구원 인터리버 메모리의 운용 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10209884A (ja) * 1997-01-21 1998-08-07 Matsushita Electric Ind Co Ltd インターリーブ回路、及びデインターリーブ回路
KR20000017420A (ko) * 1998-08-21 2000-03-25 루센트 테크놀러지스 인크 Cdma 시스템
KR20000031148A (ko) * 1998-11-03 2000-06-05 서평원 인터리버
KR20010008096A (ko) * 2000-11-08 2001-02-05 안병엽 터보 코드용 인코더 및 디코더
US6229824B1 (en) * 1999-05-26 2001-05-08 Xm Satellite Radio Inc. Method and apparatus for concatenated convolutional endcoding and interleaving
KR20010113804A (ko) * 1999-04-15 2001-12-28 밀러 럿셀 비 다이버시티 전송 통신 시스템용 인터리버 및 디인터리버

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10209884A (ja) * 1997-01-21 1998-08-07 Matsushita Electric Ind Co Ltd インターリーブ回路、及びデインターリーブ回路
KR20000017420A (ko) * 1998-08-21 2000-03-25 루센트 테크놀러지스 인크 Cdma 시스템
KR20000031148A (ko) * 1998-11-03 2000-06-05 서평원 인터리버
KR20010113804A (ko) * 1999-04-15 2001-12-28 밀러 럿셀 비 다이버시티 전송 통신 시스템용 인터리버 및 디인터리버
US6229824B1 (en) * 1999-05-26 2001-05-08 Xm Satellite Radio Inc. Method and apparatus for concatenated convolutional endcoding and interleaving
KR20010008096A (ko) * 2000-11-08 2001-02-05 안병엽 터보 코드용 인코더 및 디코더

Also Published As

Publication number Publication date
KR20030046790A (ko) 2003-06-18

Similar Documents

Publication Publication Date Title
JP3748550B2 (ja) 高速ダウンリンクパケットアクセス移動通信システムにおけるシンボルマッピングのためのインターリービング装置及び方法
CA2321977C (en) Puncturing device and method for turbo encoder in mobile communication system
RU2255419C2 (ru) Перемежитель и способ перемежения в системе связи
US7840859B2 (en) Block interleaving with memory table of reduced size
EP1264409B1 (en) Interleaver and method for interleaving an input data bit sequence using a coded storing of symbol and additional information
US6182265B1 (en) Method for encoding a channel using a parallel convolutional encoder
US7073012B2 (en) System and method for interleaving data in a communications device
KR20020048998A (ko) 인트라-프레임 인터리빙을 구현하기 위한 방법 및 장치
US6993702B2 (en) Radix-N architecture for deinterleaver-depuncturer block
US7363552B2 (en) Method and apparatus for convolutional interleaving/de-interleaving technique
KR100359814B1 (ko) 인터리버 메모리 제어 장치 및 방법
KR100447177B1 (ko) 인터리빙 방법 및 이를 위한 장치
KR20010080294A (ko) 데이터 기록/판독 방법, 디인터리빙 방법, 데이터 처리방법, 메모리 및 메모리 드라이브 장치
JP3551881B2 (ja) インタリーブ装置およびデインタリーブ装置
CN108023662B (zh) 一种可配置的分组交织方法及交织器
JPH09102748A (ja) インターリーブ回路
CN109728826B (zh) 一种数据交织与解交织方法和装置
KR100248395B1 (ko) 디지털 통신용 채널 부호기 설계방법
US7061988B2 (en) Interleaver memory access apparatus and method of mobile communication system
JPH10163887A (ja) インターリーブ装置およびデインターリーブ装置
KR0183171B1 (ko) 인터리버 및 디인터리버와 그 방법
KR100782214B1 (ko) 멀티 캐리어 인터리빙 구현장치 및 방법
JPH0974361A (ja) 変復調装置
KR100487366B1 (ko) 블록 인터리빙 방법 및 그를 위한 장치
KR100525549B1 (ko) 블럭 인터리버의 읽기용 어드레스 계수 장치 및 그 방법

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20080618

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee