KR100431082B1 - 인터리버 메모리의 운용 방법 - Google Patents

인터리버 메모리의 운용 방법 Download PDF

Info

Publication number
KR100431082B1
KR100431082B1 KR10-2001-0086828A KR20010086828A KR100431082B1 KR 100431082 B1 KR100431082 B1 KR 100431082B1 KR 20010086828 A KR20010086828 A KR 20010086828A KR 100431082 B1 KR100431082 B1 KR 100431082B1
Authority
KR
South Korea
Prior art keywords
bank
memory
data
register
interleaver memory
Prior art date
Application number
KR10-2001-0086828A
Other languages
English (en)
Other versions
KR20030056566A (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-0086828A priority Critical patent/KR100431082B1/ko
Publication of KR20030056566A publication Critical patent/KR20030056566A/ko
Application granted granted Critical
Publication of KR100431082B1 publication Critical patent/KR100431082B1/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/2782Interleaver implementations, which reduce the amount of required interleaving memory
    • 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/2792Interleaver wherein interleaving is performed jointly with another technique such as puncturing, multiplexing or routing

Landscapes

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

Abstract

본 발명은 버스트 에러를 방지하기 위해 WCDMA 기지국 시스템에서 사용하고 있는 인터리버를 구현하기 위한 변조기의 메모리 관리(Management) 및 메모리 운용 방법에 관한 것으로, 하나의 인터리버 메모리를 여러 개의 가변 뱅크(Bank)로 구성함으로써 다수의 가입자(채널)가 최소 4 채널에서 음성영역일 경우 동시에 최대 64 채널까지 지원할 수 있도록 하여 인터리버 메모리의 효율적인 관리 및 제어가 이루어질 수 있도록 한 인터리버 메모리의 운용 방법에 관한 것이다.

Description

인터리버 메모리의 운용 방법 {Method for operating an interleaver memory}
본 발명은 WCDMA 기지국 시스템에서 버스트 에러를 방지하기 위한 인터리버 구현에 사용되는 변조기의 메모리 관리(Management) 및 운용 방법에 관한 것으로, 특히, 하나의 인터리버 메모리를 여러 개의 가변 뱅크(Bank)로 구성하여 메모리의 효율적인 관리 및 제어가 이루어지도록 한 인터리버 메모리의 운용 방법에 관한 것이다.
이동통신 시스템의 전파 환경에서 신호의 복조는 여러 반사파의 합에 의해 이루어지는데, 하나의 통신 경로가 심하게 왜곡되거나 유실될 경우 그 부분에 오류가 발생하여 복조가 불가능하게 된다.
CDMA 시스템에서는 시스템의 복조 성능을 향상시키기 위해 경로 다이버시티(Path Diversity), 시간 다이버시티 등의 다이버시티를 사용한다. 시간 다이버시티는 전송되는 신호의 버스트 에러(Burst error)에 의한 정보의 손실을 보상하기 위해 사용된다. 버스트 에러를 방지하기 위해서는 잘못된 정보가 한 곳에 집중되지 않도록 일정한 규칙에 따라 정보의 전송 순서를 바꾸어야 한다.
인터리빙(Interleaving) 방법은 오류가 발생되어도 오류가 발생된 부분이 분산되도록 하여 정보의 복원이 가능하도록 한다. 일반적으로 인터리빙은 심볼(Symbol) 단위로 수행되며, 이 심볼이 모여서 하나의 불럭을 이룬다. 각 불럭 내에서의 각 심볼들의 위치는 입력된 위치와 다른 상태로 무선구간으로 송출된다. 이와 같이 디지털 데이터의 열을 일정한 블록 단위로 배열한 후 열과 행을 바꾸어 전송하는 블럭 인터리빙은 무선구간에서 페이딩으로 인해 발생되는 버스트 에러를 극복하기 위한 방법이다. 블록 인터리빙을 수행하면 버스트 에러가 분산되므로 부분적인 오류로 인식되어 쉽게 버스트 에러를 수정할 수 있다.
인터리버는 심볼을 프레임 단위로 인터리버 메모리에 저장하고, 정해진 규칙에 따라 인터리빙을 수행하는데, 다수의 메모리 불럭 또는 대용량의 인터리버 메모리를 사용하기 때문에 메모리의 효율 면에서 자원을 낭비하게 되며, 시스템의 면적 및 소비전력을 감소시키는 구조를 구현하기 어렵다.
따라서 본 발명은 하나의 인터리버 메모리의 메모리 영역을 다수의 뱅크로 구분하고, 빈 뱅크에 채널 데이터가 저장되도록 하므로써 상기한 단점을 해소할 수 있는 인터리버 메모리의 운용 방법을 제공하는 데 그 목적이 있다.
상기한 목적을 달성하기 위한 본 발명은 마이크로 프로세서가 뱅크 상태 레지스터를 읽어 빈 뱅크의 위치 및 크기를 인식하는 단계와, 연속된 빈 뱅크의 갯수와 최소 시작 번지의 뱅크를 계산하여 프레임 오프셋 레지스터, 어드레스 오프셋 레지스터 및 스프래딩 팩터값 레지스터에 해당 값을 각각 저장하는 단계와, 인터리빙할 데이터를 받아 인터리버 메모리의 빈 뱅크에 데이터를 순차적으로 서입하는 단계와, 정해진 인터리빙 공식에 따라 어드레스를 제어하여 서입된 데이터를 순차적으로 읽는 단계와, 인터리빙이 완료되면 플래그 신호를 발생하여 상기 뱅크 상태 레지스터를 리셋시키는 단계를 포함하여 이루어진 것을 특징으로 한다.
상기 뱅크 상태 레지스터에는 각 뱅크에 관한 상태 정보가 저장되며, 상기 데이터는 채널 데이터인 것을 특징으로 한다.
상기 인터리빙할 데이터는 어드레스의 증가에 따라 인터리버 메모리의 빈 뱅크에 순차적으로 서입되는 것을 특징으로 한다.
도 1은 본 발명에 따른 인터리버 메모리의 운용 방법을 설명하기 위한 흐름도.
도 2는 본 발명이 적용되는 WCDMA 기지국 시스템에서의 변조기의 구성도.
도 3은 가입자 수(채널수)에 따른 메모리의 관리예를 설명하기 위한 메모리의 구성도.
<도면의 주요 부분에 대한 부호의 설명>
10: 마이크로콘트롤러 30: 가산기
100: 서브 모듈레이터 110: 인터리버 메모리
120: 뱅크 제어부 121: 뱅크 상태 레지스터
122: 뱅크 할당 레지스터 123: 뱅크 제어기
130: 제어신호 발생부 140: 모듈레이터 유니트
141: 프레임 오프셋 레지스터 142: 어드레스 오프셋 레지스터
143: 스프래딩 팩터값 레지스터
144: 메모리 읽기 어드레스 및 제어신호 발생부
145: 프레임 제어부 146: 모듈레이션 블록
본 발명은 인터리버를 위한 메모리 영역을 다수의 뱅크로 구분하고, 스프레딩 팩터(Spreading factor)에 따라 가변적으로 뱅크를 운용함으로써 다수의 가입자가 기지국을 액세스(Access)하는 경우 메모리의 사용 효율이 향상되도록 하며, 제한된 하드웨어로 더 많은 가입자를 수용할 수 있게 한다. 효율적으로 인터리버 메모리의 영역을 관리할 수 있고, 전송률에 따라 각각의 인터리버 메모리를 두지 않아도 되므로 시스템 구성 및 인터리버 메모리 제어회로의 구성이 간소화된다.
그러면 이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명에 따른 가변 뱅크 인터리버 메모리의 운용 방법을 설명하기 위한 흐름도이다.
본 발명에 따른 인터리버 메모리의 운용 방법은 마이크로 프로세서가 뱅크 상태 레지스터를 읽어 빈 뱅크의 위치 및 크기를 인식하는 단계와, 연속된 빈 뱅크의 갯수와 최소 시작 번지의 뱅크를 계산하여 프레임 오프셋(Frame Offset) 레지스터, 어드레스 오프셋(Address Offset) 레지스터 및 스프래딩 팩터값(SF_value) 레지스터에 해당 값을 각각 저장하는 단계와, 인터리빙할 데이터를 받아 인터리버 메모리의 빈 뱅크에 순차적으로 서입하는 단계와, 정해진 인터리빙 공식에 따라 어드레스를 제어하여 서입된 데이터를 순차적으로 읽는 단계와, 인터리빙이 완료되면 플래그 신호를 발생하여 상기 뱅크 상태 레지스터를 리셋시키는 단계로 이루어진다. 그러면 각 단계의 과정을 도 2 및 도 3을 참조하여 보다 상세히 설명하면 다음과 같다.
먼저, 마이크로콘트롤러(100)는 인터리빙을 수행하기 위해 필요한 쓰기 신호(쓰기 어드레스(ADDR_W), 쓰기 신호(WEN1)) 및 읽기 신호(읽기 어드레스(ADDR_R), 읽기 신호(OEN2))를 제공하고, 제어신호 발생부(13)는 모듈레이터 유니트(#0 - #15)(140)에서 만들어지는 각각의 신호(ADDR_U0 ~ ADDR_U15, CSN_U1 ~ CSN_U15, OEN_U1 ~ OEN_U15)를 조합하여 인터리버 메모리(110)의 읽기 어드레스(ADDR_R), 메모리 선택 신호(CSN), 읽기 신호(OEN) 입력 단으로 각각의 신호를 제공한다.
인터리버 메모리(110)에 읽기 어드레스(ADDR_R) 및 읽기 신호(OEN2)가 제공되면 원하는 위치에 저장된 데이터가 출력되는데, 이 출력된 값들이 모듈레이터 유니트(#0 - #15)(140)로 공급되어 모듈레이션이 이루어진다.
시작 단계로부터 쓰기 요청(단계 1)이 이루어지면 마이크로 프로세서(10)가 서브 모듈레이터(100) 및 모듈레이터 유니트(140)를 결정하고(단계 2), 뱅크 제어부(120)의 뱅크 상태 레지스터(121)를 읽어 빈 뱅크의 위치 및 크기를 인식한다(단계 3). 뱅크 상태 레지스터(121)에는 각 뱅크에 관한 상태 정보가 저장된다.
연속된 빈 뱅크의 갯수와 최소 시작 번지의 뱅크를 계산하고(단계 4), 뱅크 할당 레지스터(122)에 데이터를 서입한다(단계 5). 상기 단계 5에서, 뱅크 제어부(120)의 뱅크 상태 레지스터(121)가 세트된다(단계 51).
인터리빙할 데이터의 크기를 고려하여 상기 단계 4에서 계산된 값에 해당하는 값을 모듈레이터 유니트(140)의 프레임 오프셋(Frame Offset) 레지스터(141), 어드레스 오프셋(Address Offset 레지스터(142), 스프래딩 팩터값(SF_value) 레지스터(143)에 각각 저장한다(단계 6).
예를 들어, 도 3에 도시된 바와 같이 인터리버 메모리(110)는 최대 32개의 뱅크로 나누어질 수 있는데, 이 경우 도 2와 같이 뱅크 제어부(120)의 뱅크 할당 레지스터(122)는 32 비트이고, 모듈레이터 유니트(140)가 16개(16 채널)이므로 뱅크 할당 레지스터(122)도 16개가 된다. 따라서 1 채널만 사용하면 메모리(110)가 2개의 뱅크로 운영될 수 있고, 16 채널을 모두 사용하면 메모리(110)가 32개의 뱅크로 운영되는 것이다. 여기서, 스프래딩 팩터값(SF_value)은 데이터의 비트 수를 결정하는 팩터(Factor)이다.
상기 단계 6에서 저장이 완료되면, 마이크로콘트롤러(10)는 인터리빙할 채널 데이터를 입력받고 순차적으로 증가되는 어드레스에 따라 인터리버 메모리(110)의빈 뱅크에 채널 데이터를 순차적으로 서입한다(단계 7), 이때 쓰기 어드레스(ADDR_W) 및 쓰기 신호(WEN1)는 마이크로콘트롤러(10)에서 제공된다.
메모리(110)에 채널 데이터가 모두 서입되면 정해진 인터리빙 공식에 따라 어드레스를 제어하여 서입된 데이터를 순차적으로 읽는다. 모듈레이터 유니트(140)의 프레임 제어부(145)에서 자체 카운터에 의해 일정한 시간이 되면 프레임 동기 신호를 발생하는데(단계 61), 프레인 동기 신호가 1이면(단계 62) 메모리 읽기 어드레스 및 제어신호 발생부(144)에서 읽기 어드레스(ADDR_R), 메모리 선택 신호(CSN) 및 읽기 신호(OEN2)를 각각 발생시킨다(단계 63). 이때 프레임 오프셋(Frame Offset) 레지스터(141), 어드레스 오프셋(Address Offset 레지스터(142), 스프래딩 팩터값(SF_value) 레지스터(143)에 저장된 값들을 참조하여 인터리버 메모리(110)에 저장된 채널 데이터를 읽기 위한 신호를 만든다(단계 64). 이와 같이 읽기 신호가 만들어지면 인터리버 메모리(110)에 저장된 채널 데이터를 읽는데, 이 값들이 제어신호 발생부(130)를 거쳐 각각의 모듈레이터 유니트(140)로 제공되고(단계 65), 가산기(30)에서 합해져 변조기의 출력값이 만들어진다.
상기와 같이 인터리버 메모리(110)에 저장된 채널 데이터를 다 읽고 나면, 메모리 읽기 어드레스 및 제어신호 발생부(144)에서 인터리빙의 완료를 알리는 플래그 신호(Done_U#)를 생성하여(단계 66) 뱅크 제어부(120)의 뱅크 제어기(123)를 통해 32 비트의 뱅크 상태 레지스터(121)의 인터리빙이 완료된 한 비트(즉, 한 뱅크)를 리셋시키므로써 그 뱅크가 비어져 있음을 마이크로콘트롤러에 알리게 된다.
이와 같은 과정을 통해 한 프레임의 인터리빙이 완료된다.
상술한 바와 같이 본 발명은 하나의 인터리버 메모리의 메모리 영역을 다수의 뱅크로 구분하고, 빈 뱅크에 채널 데이터가 저장되도록 한다. 따라서 하나의 메모리를 N개의 독립된 뱅크로 운용함으로서 메모리의 사용 효율을 높일수 있으며, 제한된 하드웨어로 더 많은 가입자를 수용할 수 있다. 또한 효율적으로 인터리버 메모리의 영역을 관리할 수 있고, 전송률에 따른 각각의 인터리버 메모리를 구비하지 않아도 되므로 시스템의 구성을 간소화시키고, 메모리 제어회로를 간단하게 구성할 수 있도록 한다.

Claims (4)

  1. 마이크로 프로세서가 뱅크 상태 레지스터를 읽어 빈 뱅크의 위치 및 크기를 인식하는 단계와,
    연속된 빈 뱅크의 갯수와 최소 시작 번지의 뱅크를 계산하여 프레임 오프셋 레지스터, 어드레스 오프셋 레지스터 및 스프래딩 팩터값 레지스터에 해당 값을 각각 저장하는 단계와,
    인터리빙할 데이터를 받아 인터리버 메모리의 빈 뱅크에 데이터를 순차적으로 서입하는 단계와,
    정해진 인터리빙 공식에 따라 어드레스를 제어하여 서입된 데이터를 순차적으로 읽는 단계와,
    인터리빙이 완료되면 플래그 신호를 발생하여 상기 뱅크 상태 레지스터를 리셋시키는 단계를 포함하여 이루어지는 것을 특징으로 하는 인터리버 메모리의 운용 방법.
  2. 제 1 항에 있어서,
    상기 뱅크 상태 레지스터에는 각 뱅크에 관한 상태 정보가 저장되는 것을 특징으로 하는 인터리버 메모리의 운용 방법.
  3. 제 1 항에 있어서,
    상기 데이터는 채널 데이터인 것을 특징으로 하는 인터리버 메모리의 운용 방법.
  4. 제 1 항에 있어서,
    상기 인터리빙할 데이터는 어드레스의 증가에 따라 상기 인터리버 메모리의 빈 뱅크에 순차적으로 서입되는 것을 특징으로 하는 인터리버 메모리의 운용 방법.
KR10-2001-0086828A 2001-12-28 2001-12-28 인터리버 메모리의 운용 방법 KR100431082B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0086828A KR100431082B1 (ko) 2001-12-28 2001-12-28 인터리버 메모리의 운용 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0086828A KR100431082B1 (ko) 2001-12-28 2001-12-28 인터리버 메모리의 운용 방법

Publications (2)

Publication Number Publication Date
KR20030056566A KR20030056566A (ko) 2003-07-04
KR100431082B1 true KR100431082B1 (ko) 2004-05-12

Family

ID=32214757

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0086828A KR100431082B1 (ko) 2001-12-28 2001-12-28 인터리버 메모리의 운용 방법

Country Status (1)

Country Link
KR (1) KR100431082B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100736606B1 (ko) * 2005-03-23 2007-07-09 엘지전자 주식회사 비트 역인터리버용 메모리 및 그 제어방법
JP2008048258A (ja) * 2006-08-18 2008-02-28 Fujitsu Ltd 画像データ記憶装置、および記憶方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0159205B1 (ko) * 1995-12-21 1998-12-01 양승택 무선이동통신 시스템에서 기지국에 사용된 인터리버의 파이프라인 방식 제어방법
KR19990075311A (ko) * 1998-03-19 1999-10-15 서평원 무선통신시스템에서의 인터리빙장치
JP2000353964A (ja) * 1999-06-10 2000-12-19 Matsushita Electric Ind Co Ltd インタリーブ装置及びインタリーブ方法
KR20010036487A (ko) * 1999-10-08 2001-05-07 서평원 이중 인터리빙 방법
KR20010088176A (ko) * 2000-03-11 2001-09-26 서평원 인터리버 메모리 제어 장치 및 방법
KR20030046790A (ko) * 2001-12-06 2003-06-18 엘지전자 주식회사 인터리빙 방법 및 이를 위한 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0159205B1 (ko) * 1995-12-21 1998-12-01 양승택 무선이동통신 시스템에서 기지국에 사용된 인터리버의 파이프라인 방식 제어방법
KR19990075311A (ko) * 1998-03-19 1999-10-15 서평원 무선통신시스템에서의 인터리빙장치
JP2000353964A (ja) * 1999-06-10 2000-12-19 Matsushita Electric Ind Co Ltd インタリーブ装置及びインタリーブ方法
KR20010036487A (ko) * 1999-10-08 2001-05-07 서평원 이중 인터리빙 방법
KR20010088176A (ko) * 2000-03-11 2001-09-26 서평원 인터리버 메모리 제어 장치 및 방법
KR20030046790A (ko) * 2001-12-06 2003-06-18 엘지전자 주식회사 인터리빙 방법 및 이를 위한 장치

Also Published As

Publication number Publication date
KR20030056566A (ko) 2003-07-04

Similar Documents

Publication Publication Date Title
JP3415693B2 (ja) インターリーブプロセス
US7127004B1 (en) Interleaver and method for interleaving an input data bit sequence using a coded storing of symbol and additional information
JP4728500B2 (ja) アドレス発生器を含んだインターリーブ/ディインターリーブを行う装置、その方法及びそれを利用したチャネル符号化システム
KR100680120B1 (ko) 인트라-프레임 인터리빙을 구현하기 위한 방법 및 장치
JP3553546B2 (ja) 多段階チャネルインターリーバ/デインターリーバに使用するためのアドレス生成装置
CN101140543B (zh) 支持flash页操作与流水线纠错码的数据交换装置与方法
KR100431082B1 (ko) 인터리버 메모리의 운용 방법
US7073012B2 (en) System and method for interleaving data in a communications device
CA2337008A1 (en) De-interleaving circuit using one superframe memory storage
CN102437896B (zh) 一种比特交织及星座映射的方法及装置
KR100359814B1 (ko) 인터리버 메모리 제어 장치 및 방법
JP4012444B2 (ja) 遅延プロファイル作成方法および遅延プロファイル作成装置
JPH09102748A (ja) インターリーブ回路
US20060233009A1 (en) Interleaving and de-interleaving methods, wireless apparatus and semiconductor apparatus of same
US6744837B1 (en) Clock switching circuit
WO2000077937A1 (fr) Procede et dispositif d&#39;imbrication
KR100413421B1 (ko) 이중 인터리빙 방법
EP1093232A1 (en) Processor and processing method
GB2294616A (en) Data interleaving process for radio transmission
JP2001103386A (ja) デジタル放送受信装置
KR100308145B1 (ko) 인터리버
KR100306581B1 (ko) 하나의램을이용한인터리버/디인터리버방법
JPH0974361A (ja) 変復調装置
AU5793700A (en) Transmitting and receiving circuit, mobile communication terminal device employing the same and control method therefor
US7366201B2 (en) Method and apparatus for vector based sequence generation

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

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee