KR20020086817A - 멀티 채널 지원용 수신기 - Google Patents

멀티 채널 지원용 수신기 Download PDF

Info

Publication number
KR20020086817A
KR20020086817A KR1020010026041A KR20010026041A KR20020086817A KR 20020086817 A KR20020086817 A KR 20020086817A KR 1020010026041 A KR1020010026041 A KR 1020010026041A KR 20010026041 A KR20010026041 A KR 20010026041A KR 20020086817 A KR20020086817 A KR 20020086817A
Authority
KR
South Korea
Prior art keywords
data
channel
spreader
symbol
segment
Prior art date
Application number
KR1020010026041A
Other languages
English (en)
Other versions
KR100376752B1 (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-0026041A priority Critical patent/KR100376752B1/ko
Publication of KR20020086817A publication Critical patent/KR20020086817A/ko
Application granted granted Critical
Publication of KR100376752B1 publication Critical patent/KR100376752B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/08Access point devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors
    • G06F15/8061Details on data memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/02Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
    • H04B7/04Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas
    • H04B7/08Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas at the receiving station
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/155Ground-based stations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 UMTS(Universal Mobile Telecommunications Ststem) 기지국 모뎀 수신기를 위한 멀티 채널 지원용 수신기에 관한 것으로, 다수의 안테나를 통해 입력되는 수신 신호를 선택하여 디스크램블링과 디채널라이징하여 심볼 수준의 데이터로 각각 출력하는 복수의 디스프레더가 하나의 그룹을 형성하고 있는 디스프레더 그룹들과; 상기 디스프레더 그룹들 각각으로부터 출력되는 심볼 수준의 데이터를 저장하기 위한 심볼버퍼들과; 상기 심볼 수준의 데이터를 구성하는 컨트롤 채널 데이터와 데이터 채널 데이터 및 알고리즘 데이터 각각을 동일 심볼버퍼내의 서로 다른 영역에 라이트되도록 제어하고, 서로 다른 영역에 라이트된 데이터들을 리드하여 후처리부에서 요구하는 데이터로 처리하여 출력하는 벡터 프로세서와; 상기 벡터 프로세서에서 처리된 컨트롤 채널 데이터와 데이터 채널 데이터 및 알고리즘 데이터들을 서로 다른 영역에 일시 저장한후 출력하는 슬롯버퍼를 포함함을 특징으로 한다.

Description

멀티 채널 지원용 수신기{RECEIVER FOR SUPPORTING MULTI-CHANNEL}
본 발명은 기지국 모뎀 수신기에 관한 것으로, 특히 UMTS(Universal Mobile Telecommunications Ststem) 기지국 모뎀 수신기를 위한 멀티 채널 지원용 수신기에 관한 것이다.
꿈의 통신이라고 불리는 차세대 이동 통신 시스템, 즉 IMT-2000은 연구 단계를 넘어 이제 상용화의 단계에 와 있다. IMT-2000은 출발 당시 세계 단일 표준이라는 목표와는 달리 동기식과 비동기식이 있으며, 이들을 각각 CDMA2000(또는 IS-200), 3GPP2)과 UMTS(Universal Mobile Telecommunications Ststem)(또는 WCDMA, 3GPP)라고 부르고 있다. 기술 선진국들의 연구개발 상황을 고려해 볼 때 비동기식 방식이 주축을 이룰 것으로 예상된다.
비동기식 IMT-2000 시스템을 개발할 때 중요한 부분중 하나가 바로 기지국의 채널 카드(channel card)이다. 기지국 채널 카드는 기지국 안테나로부터 온 데이터를 RF, IF를 거쳐 샘플링(sampling)한후 디지털 처리를 하는 부분으로서 RF, IF를 제외한 물리 계층 처리를 담당한다.
채널 카드는 하나의 CPU와 다수의 모뎀 ASIC, 다수의 DSP(Digital Signal Processor), 그 외의 주변 회로 등으로 구성된다. 채널 카드의 핵심은 모뎀 ASIC과 DSP이며, 하나의 모뎀 ASIC, DSP쌍은 24개의 하향링크 채널 엘리먼트, 16개의 상향링크 채널 엘리먼트를 지원한다. 기지국 모뎀 ASIC이 경쟁령을 가지기 위해서는 보다 많은 채널 엘리먼트가 하나의 ASIC에서 지원되어 채널 엘리먼트당 비용을 절감시켜야 한다. 모뎀 운영상 하나의 사용자는 하나의 모뎀에서 지원해야 하며, 하나의 사용자는 최대 하향링크 2Mbps, 상향 링크 2Mbps의 서비스를 받을 수 있다. 따라서 모뎀 ASIC과 DSP는 최대 하향링크 2Mbps, 상향링크 2Mbps의 데이터 전송 속도를 지원해야 한다.
비동기식 기지국 모뎀은 수신기(finger 및 combiner), 전치 탐색기(preamble searcher), 메시지 탐색기(message searcher), 전송기, 그리고 주변회로(Miscellaneous) 블록들로 이루어진다. 하드웨어의 여러 블록중 수신기, 즉 핑거 및 컴바이너(combiner)블록은 기지국 모뎀 수신기 전체 면적에 지대한 영향을 미친다.
따라서 기지국 모뎀 ASIC의 사이즈를 소형화시키기 위해서는 우선적으로 모뎀 ASIC의 수신기 구조를 단순화할 필요가 있으며, 또한 경쟁력 있는 모뎀 ASIC을 만들기 위해서는 하드웨어에서 낭비되고 있는 부분이 없도록 자원을 적절한 양만큼 준비하고 각 채널에 적절히 분배하는 방법이 필요하다.
따라서 본 발명의 목적은 멀티 채널을 지원하면서도 기지국 모뎀 ASIC의 사이즈를 소형화할 수 있는 멀티 채널 지원용 수신기를 제공함에 있으며,
또한 단위 채널 엘리먼트당 비용을 최소화하기 위해 여러 자원을 공유하도록 설계된 멀티 채널 지원용 수신기를 제공함에 있다.
도 1은 본 발명의 실시예에 따른 멀티 채널 지원용 수신기를 설명하기 위한 단일 채널 지원용 수신기의 구성 예시도.
도 2는 도 1중 디스프레더(Despreader:100) 구성도.
도 3은 본 발명의 실시예에 따른 멀티 채널 지원용 수신기 구성도.
도 4는 도 3중 디스프레더 그룹(Despreader Group:) 구성도.
도 5는 본 발명의 실시예에 따른 컨트롤 채널 심볼버퍼의 액세스 과정을 설명하기 위한 도면.
도 6은 본 발명의 실시예에 따른 데이터 채널 심볼버퍼를 액세스하기 위해 필요한 넥스트 세그먼트 테이블(next segment table) 구성 예시도.
도 7은 본 발명의 실시예에 따른 데이터 채널 심볼버퍼의 액세스 과정을 설명하기 위한 도면.
도 8은 본 발명의 실시예에 따른 컨트롤 채널 슬롯버퍼의 액세스 과정을 설명하기 위한 도면.
도 9는 본 발명의 실시예에 따른 데이터 채널 슬롯버퍼의 액세스 과정을 설명하기 위한 도면.
상기 목적을 달성하기 위한 본 발명의 일 양상에 따른 멀티 채널 지원용 수신기는;
다수의 안테나를 통해 입력되는 수신 신호를 선택하여 디스크램블링과 디채널라이징하여 심볼 수준의 데이터로 각각 출력하는 복수의 디스프레더가 하나의 그룹을 형성하고 있는 디스프레더 그룹들과;
상기 디스프레더 그룹들 각각으로부터 출력되는 심볼 수준의 데이터를 저장하기 위한 심볼버퍼들과;
상기 심볼 수준의 데이터를 구성하는 컨트롤 채널 데이터와 데이터 채널 데이터 및 알고리즘 데이터 각각을 동일 심볼버퍼내의 서로 다른 영역에 라이트되도록 제어하고, 서로 다른 영역에 라이트된 데이터들을 리드하여 후처리부에서 요구하는 데이터로 처리하여 출력하는 벡터 프로세서와;
상기 벡터 프로세서에서 처리된 컨트롤 채널 데이터와 데이터 채널 데이터 및 알고리즘 데이터들을 서로 다른 영역에 일시 저장한후 출력하는 슬롯버퍼를 포함함을 특징으로 한다.
이하 본 발명의 바람직한 실시예들을 첨부한 도면을 참조하여 상세히 설명하기로 한다. 본 발명을 설명함에 있어 디스프레더 그룹 및 그를 구성하는 디스프레더의 수, 데이터 전송속도와 그에 따라 할당되는 세그먼트의 수, 그리고 구체적인 처리흐름 등과 같은 많은 특정 상세들이 본 발명의 전반적인 이해를 돕기 위해 제공되어 있다. 이들 특정 상세들 없이 본 발명이 실시될 수 있다는 것은 이 기술분야에서 통상의 지식을 가진 자에게 자명하다 할 것이다.
한편 본 발명의 실시예에서는 멀티 채널 지원용 수신기의 요구사항을 다음과같이 가정하여 본 발명을 설명하기로 한다.
우선 본 발명의 실시예에 따른 멀티 채널 지원용 수신기는 16 채널 엘리먼트를 지원할 수 있어야 한다. 본 발명에서 하나의 채널 엘리먼트는 하나의 데이터 채널(DCH)과 하나의 컨트롤 채널(CCH)의 쌍을 의미한다. 하나의 데이터 채널은 최대 384Kbps의 전송속도를 가지며, 최대 전송속도가 이를 초과할 때에는 두 개 이상의 데이터 채널(DPDCH:Dedicated Physical Data Channel)을 할당받게 되며 이들은 별도의 채널 엘리먼트로 간주한다. 따라서 2Mbps의 전송속도로 데이터를 전송하는 사용자는 6개의 채널 엘리먼트를 사용한다. 각 채널 엘리먼트들은 DPCH(Dedicated Physical channel), RACH(Random Access Channel), CPCH(Common Packet Channel) 등 어떠한 상향링크 채널로 구성이 가능하여야 한다. 전체 채널 엘리먼트들의 전송속도의 합은 최대 2Mbps까지 지원한다. 입력은 14 안테나 포트를 지원하며 입력 샘플은 I와 Q의 형태로 8배 오버샘플링되어 5비트로 들어온다. 최대 딜레이 스프레드(spread)는 312칩이며 한 채널 엘리먼트의 최대 수신 경로(path)는 8개이다. 본 발명은 이러한 요구사항을 만족하도록 설계되었다.
이하 하기에서는 하나의 채널 엘리먼트만 존재할 때의 수신기 구성을 설명하고, 이어 16 채널 엘리먼트를 지원하기 위한 멀티 채널 수신기 구성을 설명하기로 한다. 그리고 본 발명의 실시예에 따른 멀티 채널 지원용 수신기에서 공유자원인 심볼버퍼와 슬롯버퍼를 벡터 프로세서가 액세스하는 과정을 순차적으로 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 멀티 채널 지원용 수신기를 설명하기 위한단일 채널 지원용 수신기의 구성 예시도를 도시한 것으로, 상기 단일 채널 지원용 수신기는 디스프레더(Despreader:100), 심볼 버퍼(200), 벡터 프로세서(300)와 슬롯 버퍼(400)로 구성되어 있다.
도 1을 참조하면, 디스프레더(100)는 다수(14개)의 안테나(ANT)를 통해 입력되는 수신 신호를 디스크램블링과 디채널라이징하여 심볼 수준의 데이터를 만들어 출력한다. 도 1에서 디스프레더(100)의 수를 8로 가정하고, 이러한 디스프레더(100)의 구성을 도 2를 참조하여 보다 상세히 설명하면, 도 2는 도 1중 디스프레더(Despreader:100) 구성도를 도시한 것으로, 상기 디스프레더(100)는 멀티플렉서 및 데시메이터(Multiplexer & Decimator)(110), 상관기들(120 ∼ 150) 및 디채널라이징부(160∼195)로 구성된다.
상기 멀티플렉서 및 데시메이터(110)는 제어 프로세서(도시하지 않았음)의 제어에 따라 14개의 안테나 입력 포트중 하나의 수신신호를 선택하고 핑거 포지션(finger position) 또는 추적 제어에 의해 초기(early), 후기(late), 정시(on-time) 상관기들(120 ∼140) 각각으로 필요한 수신신호를 선택하여 공급한다. 상기 세 개의 상관기(120∼140)를 사용하는 이유는 추적 제어를 하기 위함이다. 즉, 유저(user)가 이동하고 있을 때 신호가 이동하게 되는데, 이때 입력되는 신호도 이동하게 되므로 이를 추적하기 위해 현재 주 위치를 기준(on-time)으로 좌우에 위치하는 비슷한 신호를 모니터링하기 위함이다. 따라서 세 개의 상관기(120∼140) 입력은 현재 주 위치와 이를 기준으로 하여 좌우 위치의 신호가 입력된다.
한편 상기 세 개의 상관기(120∼140)에서는 스크램블링 코드 발생기(150)에서 발생한 스크램블링 코드와 수신 신호가 승산됨으로서 수신신호의 디스크램블링이 이루어진다. 이와 같이 디스크램블링된 수신신호는 후단의 디채널라이징부(160∼195) 각각에서 발생하는 OVSF(Orthogonal Variable Spreading Factor) 코드와 승산되어 디채널라이징됨으로서 심볼 수준의 컨트롤 채널 데이터, 데이터 채널 데이터, 3개의 알고리즘 데이터가 출력된다. 상기 OVSF 코드는 채널라이제이션 코드로서 특정 유저의 다른 물리채널들을 구분할 때 사용한다.
따라서 상술한 구성을 가지는 각각의 디스프레더(100)에서는 디스크램블링에 의해 유저를 구분하고 디채널라이징에 의해 유저내의 물리채널들을 구분하게 되는 것이다.
참고적으로 상기 알고리즘 데이터에 대하여 부연 설명하면, 상기 알고리즘 데이터는 수신기에서 사용되는 알고리즘에 필요한 데이터를 지칭하는 것으로, 알고리즘에 필요한 데이터는 락 검출(lock Detection), 트랙킹(tracking), SIR측정을 위한 데이터이다. 이러한 데이터는 컨트롤 채널 데이터로부터 얻어지며 본 발명에 따른 멀티 채널 수신기(도 3의 구성) 외부에 위치하는 컨트롤 프로세서에 전송된다.
다시 도 1을 참조하면, 심볼 버퍼(200)는 상기 디스프레더(100)에서 출력되는 심볼 수준의 데이터를 일시 저장한다. 이러한 심볼 버퍼(200)는 컨트롤 채널 데이터, 데이터 채널 데이터, 알고리즘 데이터를 저장하기 위한 영역들(이를 본 발명에서는 컨트롤 채널 심볼버퍼, 데이터 채널 심볼버퍼, 알고리즘 데이터 심볼 버퍼로 명명하기로 한다)로 다시 구분된다. 그리고 각각의 영역은 다수개의 세그먼트들로 다시 구획된다. 상기 심볼 버퍼(200)는 채널 추정을 위한 지연, 딜레이 스프레드, 심볼 처리에 의한 지연 등의 지연을 포함하여 2048 칩의 지연을 수용할 수 있는 메모리 크기를 가진다. 데이터 채널은 최대 384Kbps의 전송속도를 지원할 수 있어야 하므로 전체 데이터 양은 다음과 같다.
컨트롤 채널 데이터 = 8 핑거 × 8 심볼 ×2 바이트/심볼 = 128 바이트
알고리즘 데이터 = 8 핑거 × 12 심볼 ×2 바이트/심볼 = 192 바이트
데이터 채널 데이터 = 8 핑거 × 512심볼 × 2 바이트/심볼 = 8192바이트
전체 데이터 = 128 + 192 + 8192 = 8512 바이트
한편 도 1에서 심볼 버퍼(200) 후단에 위치하는 벡터 프로세서(Vector Processor)(300)는 하나의 컨트롤러와 상기 디스프레더의 수와 일치하는 수의 데이터 처리부를 포함함에 따라 최대 8개의 심볼 수준의 데이터를 후처리부인 DSP에서 요구하는 데이터로 처리하여 출력한다. 심볼 수준의 데이터를 DSP에서 요구하는 데이터로 처리하기 위해서, 상기 벡터 프로세서(300)는 채널 추정, 채널 보상, 속도 추정, AFC(Auto Frequency Control) 전처리(preprocessing), 주파수 오차(offset) 보상, 타임 추적, 락 검출(lock detecting), 신호간섭비(SIR) 측정, 최대 이득 결합(maximal ratio combining)기능을 수행한다.
도 1에 도시된 슬롯버퍼(400)는 상기 벡터 프로세서(300)의 출력 데이터를 DSP로 전달하기 전에 일시 저장하는 역할을 수행한다. 한 슬롯(2560 칩)에 해당되는 데이터가 모여지면 DSP로 전달되도록 설계할 수 있으나, DSP에서 충분한 시간 여유를 가질 수 있도록 두 슬롯 분의 데이터를 저장하는 것으로 가정한다.
슬롯 버퍼(400)의 크기는 다음과 같다.
컨트롤 채널 데이터 = 2 슬롯 × 10 심볼/슬롯 ×2 바이트/심볼 = 40 바이트
알고리즘 데이터 = 2 슬롯 × 20 심볼/슬롯 ×2 바이트/심볼 = 80 바이트
데이터 채널 데이터 = 2 슬롯 × 640심볼/슬롯 × 2 바이트/심볼=2560바이트
전체 데이터 = 40 + 80 + 2560 = 2680 바이트
상술한 구성을 가지는 단일 채널 지원용 기지국 모뎀 수신기는 별도의 딜레이 스프레드 처리를 위한 버퍼를 두지 않았고, 8개 핑거(디스프레더)의 심볼 수준의 처리를 위해서 하나의 컨트롤러를 가지는 벡터 프로세서(300)를 사용함으로써, 컨트롤에 의한 오버헤드를 줄이고 디자인을 간편하게 할 수 있는 장점이 있다.
이하 상술한 단일 채널 기지국 모뎀 수신기의 확장에 대하여 설명하면, 우선 상용화 수준의 모뎀 수신기는 16 채널 이상의 복수 채널을 지원하여야 한다. 수신기의 주요 자원으로는 디스프레더(100), 심볼 버퍼(200), 벡터 프로세서(300), 슬롯 버퍼(400) 등이 있다. 가장 손쉽게 자원 공유를 하는 방법은 시분할 공유(time-multiplexing)나 파이프라이닝(pipelining)이지만, 이런 방법은 데이터 경로를 공유하는 방법이므로 자원 공유가 가능한 블록은 벡터 프로세서(300) 뿐이다.
그 이유는 디스프레더의 경우 데이터 처리 부분은 매우 간단하며 대부분의 로직이 디스프레더마다 별도로 각각 존재해야 하는 레지스터(register)들이므로 시분할 공유, 파이프라이닝 등의 장점이 사라지게 되며, 버퍼들 역시 메모리이기 때문에 자원 공유가 불가능하다. 복수 채널 구조로서 단일 채널 구조를 16개 복수로 둔다면 다음과 같은 비용이 요구된다.
디스프레더의 수 = 16 ×8 =128개
심볼 버퍼 크기 = 16 ×8512바이트 = 136192 바이트
슬롯 버퍼 크기 = 16 × 2680바이트 = 42880 바이트
이와 같은 크기는 ASIC의 여러 개의 블록중 하나로서는 적당치 않다. 따라서 경쟁력 있는 ASIC을 만들기 위해서는 복수 채널 구조가 병렬 처리, 파이프라이닝, 시분할 공유 등을 사용한 단일 채널 구조의 단순 확장 구조와는 다른 형태를 가져야 한다.
따라서 본 발명에서는 복수 채널을 지원하기 위한 수신기의 구조를 다음과 같이 설계하였다.
우선 최대 8개의 핑거를 할당할 수 있다는 것은 평균적으로 8개의 핑거를 할당한다는 것과는 매우 다를 수 있다. 특히 RACH과 같은 경우에는 두 명의 사용자가 같은 채널로 동시에 액세스할 가능성이 있기 때문에 여러 개의 핑거를 할당하지 않는 것이 일반적이므로, 16개의 채널 엘리먼트를 위해서 128개의 핑거가 필요한 것은 아니다. 따라서 채널 엘리먼트 수에 의해서 제한이 걸릴 때 핑거는 항상 남아 있는 상태가 되어 자원의 낭비를 초래한다. 하나의 채널 엘리먼트의 최대 전송속도는 384Kbps이지만, 기지국의 용량 문제상 모든 채널 엘리먼트가 대용량 채널이 될 수는 없으며 대부분의 채널 엘리먼트들은 12.2Kbps AMR 보코더(Vocoder) 등의 저용량 채널을 사용할 것이다. 따라서 채널 엘리먼트 수에 의해서 제한이 걸릴 때 메모리는 항상 남아 있는 상태가 되어 자원의 낭비를 초래한다.
한편 기지국 모뎀의 요구 조건으로서 500Km/h의 차량과 180Km/h의 셀 반경이요구된다. 그러나 이것은 최대치로서 모뎀이 500Km/h의 차량과 180Km/h의 셀 반경에서 최적화되도록 하며, 500Km/h의 차량과 180Km/h의 셀 반경에서도 동작이 가능하도록 한다. 아키텍쳐의 설계에서도 같은 개념이 적용되어 일반적인 경우에 대해서 최적화되도록 하며, 최대 채널 엘리먼트나 최대 데이터 전송속도에서도 동작이 가능하도록 한다.
하나의 채널 카드는 하나의 주파수를 사용하므로 2Mbps ×8 =16Mbps의 전송 속도를 지원할 수는 없다. 그러나 하나의 모뎀 ASIC에서 2Mbps가 지원되어야 하는 이유는 한 사용자의 최대 데이터 전송속도가 2Mbps이며, 한 사용자는 기지국의 운영상 하나의 모뎀에 할당되어야 하기 때문이다. 단말기가 고속 데이터 전송을 하는 경우 단말기의 문제상 흔히 있을 수는 없을 것이며, 많은 경우 단말기가 기지국에 가까이 있거나 채널 환경이 아주 좋은 경우로 제한될 것이다. 이럴 때에는 다중 경로가 작아져 핑거 할당이 많이 필요하지 않을 수 있다. 따라서 2Mbps 데이터 전송을 위해서 8개의 핑거를 위한 메모리를 확보하는 것은 가능성이 희박한 경우를 위해서 자원을 낭비하는 것이다. 또한 기지국은 하나의 부품이 오동작을 하여 수리되는 동안 약간의 성능 감소가 있더라도 나머지 부분으로만 전체의 지원이 가능한 것이 이상적이다. 따라서 최대 채널 엘리먼트의 수나 최대 데이터 전송 속도 등은 일반적인 경우에 비해서 크게 잡고, 일반적인 경우에 대해서 최적화된 자원이 최대 채널 엘리먼트나 최대 데이터 전송속도에서도 큰 성능의 저하 없이 나뉘어져 사용될 수 있도록 아키텍쳐가 설계되어야 한다.
본 발명에서의 수신기는 기지국 모뎀의 채널 운영에 하기 표 1과 같이 제한을 두어 자원을 최적화한다. 하기 표 1은 각 데이터 전송속도에 대해서 지원할 수 있는 채널의 수와 평균 핑거의 수 관계를 나타낸다. 채널 엘리먼트의 수가 많지 않은 일반적인 경우에서는 다수의 핑거를 사용할 수 있으므로 성능을 최적화할 수 있으며 채널 엘리먼트의 수가 증가할 경우에도 핑거의 수를 줄임으로서 큰 문제 없이 지원이 가능하도록 한다.
Source Rate Spreading Factor # of Channels Average# Fingers Limitation Point
≤128Kbps ≥16 16 5 채널,디스프레더
≤128Kbps ≥16 15 5.33 디스프레더
≤128Kbps ≥16 14 5.71 디스프레더
≤128Kbps ≥16 13 6.15 디스프레더
≤128Kbps ≥16 12 6.67 디스프레더
≤128Kbps ≥16 11 7.27 디스프레더
≤128Kbps ≥16 ≤10 8 디스프레더
144Kbps 8 12 4 슬롯,심볼버퍼
144Kbps 8 11 4.36 심볼버퍼
144Kbps 8 10 4.8 심볼버퍼
144Kbps 8 9 5.33 심볼버퍼
144Kbps 8 8 6 심볼버퍼
144Kbps 8 7 6.86 심볼버퍼
144Kbps 8 ≤6 8 심볼버퍼
384Kbps 4 6 4 슬롯,심볼버퍼
384Kbps 4 5 4.8 심볼버퍼
384Kbps 4 4 6 심볼버퍼
384Kbps 4 ≤3 8 심볼버퍼
본 발명에서는 최적화된 자원의 사용을 위해서 풀(pool)의 개념을 사용한다. 상기 "풀"이란 각 채널 엘리먼트들이 자원을 미리 가지고 있는 것이 아니고, 자원을 모아 놓고 필요할 때 마다 필요한 만큼 할당 받는 것을 의미한다. 풀의 개념은 데이터 경로 풀, 메모리 풀, 시간 풀이 사용된다.
데이터 경로 풀의 개념으로 같은 종류의 데이터 경로가 여러 개 준비되어 있고 필요할 때마다 필요한 수 만큼 할당 받아 사용하고, 메모리 풀의 개념으로 하나의 메모리에서 필요할 때마다 필요한 만큼의 영역을 할당 받아 사용하며, 시간 풀의 개념으로 하나의 공유된 자원이 있고 필요할 때마다 필요한 처리 시간 만큼 자원을 점유한다. 구체적으로는 채널 엘리먼트가 할당될 때마다 슬롯 버퍼(400)에서 필요한 만큼의 영역을 할당 받고 벡터 프로세서(300)를 필요한 시간만큼 점유하게 되며, 핑거가 할당될 때마다 디스프레더(100)를 할당 받고 심볼 버퍼(200)에서 필요한 만큼의 영역을 할당받는다. 이는 채널 엘리먼트의 최대 메모리 요구량, 최대 디스프레더 수, 최대 벡터 프로세서 점유 시간은 크지만 평균값들은 크지 않다는 것을 이용한 것이다.
본 발명에서는 상술한 풀의 개념을 사용하면서 구현이 용이한 수신기 구조를 제안하고자 한다. 구조적으로 풀의 개념을 가장 효과적으로 사용하기 위해서는 모든 자원을 모아 놓고 필요할 때마다 할당 받아 사용해야 한다. 예를 들면 하나의 메모리만 두고 모든 메모리를 필요할 때마다 필요한 양 만큼 할당 받아 사용할 수 있다. 그러나 모든 자원이 한 군데 집중될 경우에는 구현적인 측면에서 여러 문제점을 야기시킨다. 하나의 메모리에 많은 데이터가 집중된다면 읽고 쓰는 타이밍과 제어가 어렵게 되며, 부하(load)와 멀티플렉서의 증가에 의해 단일 싸이클에 읽고 쓰는 것이 어려워진다. 따라서 구현을 용이하게 하기 위해서는 풀의 개념을 사용하되 여러 개의 그룹을 가지도록 하는 방법을 사용할 수 있다.
도 3은 본 발명의 실시예에 따른 멀티 채널 지원용 수신기의 구성도를 도시한 것이며, 도 4는 도 3중 디스프레더 그룹(Despreader Group:)의 구성을 도시한 것이다.
도 3을 참조하면, 우선 본 발명의 실시예에 따른 멀티 채널 지원용 수신기는 도 1에 도시된 단일 채널 지원용 수신기의 구조와 비슷한 구조를 가지지만, 하나의 디스프레더(100) 대신 16채널을 지원할 수 있도록 여러 디스프레더가 모여 있는 디스프레더 그룹(500)이 사용되며, 보다 큰 심볼 버퍼(600)와 슬롯 버퍼(800)가 사용된다.
상기 디스프레더 그룹(500)은 도 4에 도시한 바와 같이 L개의 디스프레더(510)로 이루어져 있으며, 이러한 디스프레더(510)는 도 2에 도시한 구성을 갖는다. 상기 표 1의 제약조건을 만족시키기 위해 L은 10이 선택될 수 있다. 하나의 디스프레더 그룹(500)은 모든 채널 엘리먼트를 지원하지는 못한다. 전체 디스프레더(510)의 개수는 8 × L이므로 16채널 엘리먼트가 사용될 때 한 채널 엘리먼트는 다른 제약 조건에 걸리지 않을 때 평균적으로 8 × L ÷ 16 개의 디스프레더(510)를 할당 받을 수 있다.
한편 디스프레더(510) 후단의 선택기(520)는 데이터-구동(data- driven)방식의 형태로 디스프레더(510)에 데이터가 존재하면 미리 정해진 우선순위에 의해서 심볼 수준의 데이터를 심볼 버퍼(600)로 전송한다.
도 3에 도시된 심볼 버퍼(600)는 상기 디스프레더 그룹(500)에서 출력되는 심볼 수준의 데이터를 일시 저장한다. 한 채널 엘리먼트에 할당된 여러 개의 디스프레더(510)중 가장 지연이 큰 디스프레더의 심볼 출력이 심볼 버퍼(600)에 저장되면 제어 프로세서(도시하지 않았음)로부터 트리거 플래그(trigger flag)가 발생됨에 따라 벡터 프로세서(700)에서는 심볼 수준의 데이터를 읽어와 처리한후 슬롯 버퍼(800)로 출력한다.
이하 메모리 풀의 개념을 적용하기 위해 상기 벡터 프로세서(700)가 심볼버퍼(600)에 심볼수준의 데이터를 액세스(라이트 혹은 리드)하는 방법과 슬롯버퍼(800)에 라이트하는 방법을 설명하기로 한다.
우선 하나의 심볼 버퍼(600)는 데이터 채널, 컨트롤 채널, 알고리즘 데이터 심볼버퍼 영역으로 분할되어 있으며, 분할된 각 심볼버퍼의 영역은 다시 여러 개의 세그먼트로 나뉘어 진다. 본 발명에서 디스프레더(510)에는 채널 엘리먼트의 개념은 없으며, 디스프레더(510)와 채널간의 관계는 벡터 프로세서(700)에서 심볼 버퍼(600)의 데이터를 읽는 관계식에 의해 결정된다. 따라서 디스프레더 그룹(500)에서 데이터를 라이팅(writing)하는 경우에는 채널 엘리먼트의 개념 없이 디스프레더(510) 번호에 의해서 라이팅되도록 벡터 프로세서(700)가 주소를 발생시키고, 심볼버퍼(600)로부터 데이터를 읽을 때에는 채널 엘리먼트 번호에 의해서 데이터를 리딩하도록 벡터 프로세서(700)가 주소를 발생시킨다. 즉, 벡터 프로세서(700)는 채널-디스프레더 맵핑 테이블에 따라 채널 번호를 디스프레더 번호로 변환하고 이후 해당 디스프레더 번호에 대응하는 주소를 발생시켜 심볼 수준의 데이터를 리딩한다. 상기 벡터 프로세서(700) 내부에 구비되는 채널-디스프레더 맵핑 테이블은 디스프레더 그룹(500)마다 하나씩 존재하므로 본 발명의 실시예에서는 8개가 존재하고, 각 테이블은 16개의 채널 엘리먼트에 대해서 디스프레더 번호를 할당할 수 있게 되어 있다.
본 발명의 실시예에서 컨트롤 채널 심볼버퍼와 알고리즘 데이터 심볼버퍼는M개의 세그먼트로 나뉘어져 있다고 가정하면, i번째 디스프레더의 데이터는 벡터 프로세서(700)의 제어에 따라 할당된 심볼버퍼영역의 i번째 세그먼트에 라이트 된다. 이와 같이 i번째 세그먼트에 라이트된 심볼 수준의 데이터를 리드하는 방법을 도 5를 참조하여 좀 더 구체적으로 설명하면,
도 5는 본 발명의 실시예에 따른 컨트롤 채널 심볼버퍼를 액세스하기 위한 주소발생 과정을 설명하기 위한 도면을 도시한 것으로, 알고리즘 데이터 심볼버퍼의 주소 발생방법 역시 이와 동일하다.
도 5를 참조하면, 우선 벡터 프로세서(700)는 900단계에서 심볼버퍼(600)에 심볼 수준의 데이터 라이팅이 완료되었음을 지시하는 트리거 펄스가 수신되면 910단계로 진행하여 채널-디스프레더 맵핑 테이블에 기초하여 채널 번호를 디스프레더 번호로 변환한다. 그리고 920단계로 진행하여 심볼 카운트(symbol_count:s_c라함)를 "0"으로 초기화시킨후 930단계로 진행하여 컨트롤 채널 심볼버퍼 영역에 라이트된 심볼수준의 데이터를 리드하기 위한 주소(adr)를 발생시킨다. 930단계에서 발생되는 주소(adr)는 초기화된 심볼 카운트(s_c)의 값에 컨트롤 채널 심볼버퍼의 세그먼트 스타트 어드레스(cch_seg_sta_adr)값을 가산함으로서 첫 번째 주소가 발생된다. 이와 같이 분할된 컨트롤 채널 심볼버퍼의 세그먼트를 구성하는 첫 번째 주소를 발생시킨후 심볼 카운트(s_c)의 값이 컨트롤 채널 심볼버퍼의 세그먼트 사이즈와 일치할때(940단계)까지 순차적으로 주소를 발생시키면 컨트롤 채널 심볼버퍼 영역에 라이트된 심볼수준의 데이터 모두가 읽혀짐으로서, 벡터 프로세서(700)는 읽혀진 심볼수준의 데이터를 후처리부인 DSP(도시하지 않았음)에서 요구하는 데이터로 처리하여 후술한 도 8에 도시된 액세스 방법에 의해 슬롯 버퍼(800)로 출력한다. 즉, 벡터 프로세서(700)는 우선적으로 채널번호와 디스프레더 번호가 맵핑되어 있는 테이블을 검색하여 디스프레더 번호를 검출하고, 이후 검출된 디스프레더 번호에 대응하는 세그먼트에 라이트된 데이터를 리드하는 것이다.
심볼 수준의 데이터를 DSP에서 요구하는 데이터로 처리하기 위해서, 상기 벡터 프로세서(300)는 채널 추정, 채널 보상, 속도 추정, AFC(Auto Frequency Control) 전처리(preprocessing), 주파수 오차(offset) 보상, 타임 추적, 락 검출(lock detecting), 신호간섭비(SIR) 측정, 최대 이득 결합(maximal ratio combining)기능을 수행한다.
상기 벡터 프로세서(700)의 데이터 경로는 시분할 방법에 의해서 16 채널 엘리먼트에 공유된다. 하나의 채널을 처리하는 최대 시간은 384Kbps의 데이터에 의해서 결정되지만, 16채널이 모두 384Kbps가 될 수는 없으며 대부분의 채널은 낮은 데이터 전송 속도를 사용할 것이다.
따라서 모든 채널에 동일한 시간을 할당하는 고정 시분할 자원 공유(fixed assignment time-multiplexing)나 파이프라이닝 등의 방법을 사용하면, 각 채널 엘리먼트들은 최대 처리시간, 즉 384Kbps 데이터를 처리할 수 있는 시간을 할당 받아야 한다. 이러한 경우 벡터 프로세서(300)가 멈춰져 있는 시간이 많아지게 되는데, 이것은 불필요한 하드웨어의 증가를 의미한다. 따라서 본 발명의 수신기에서는 데이터-구동 방식의 시분할 자원 공유(packet switching time-multiplexing)를 사용하여 각 채널 엘리먼트가 필요한 만큼의 시간을 할당 받도록함으로써 자원 공유를최적화하였다. 참고적으로 상기 데이터-구동 방식의 시분할 자원 공유는 "B. Sklar, Digital Communications, Prentice Hall, 20001"에 상세히 개시되어 있다.
한편 데이터 채널 심볼 버퍼는 컨트롤 채널 데이터나 알고리즘 데이터와는 달리 채널 엘리먼트의 데이터 전송 속도에 따라서 다른 메모리 양을 요구한다. 데이터 채널 심볼 버퍼는 본 발명의 실시예에서 M(≥L)개의 세그먼트로 나뉘어져 있으며 상기 표 1을 만족시키기 위해서 M은 12가 될 수 있다. 하나의 디스프레더(510)는 데이터 전송속도에 따라 1개부터 4개 까지의 세그먼트를 할당받을 수 있다. DPDCH의 데이터 전송속도가 384Kbps일 때 4개, 144Kbps일 때 2개, 그 외에는 1개의 세그먼트를 할당받는다. 즉, 하나의 채널 엘리먼트는 여러 개의 세그먼트를 사용할 수 있으며, 세그먼트들은 불연속하게 위치할 수 있으므로 세그먼트를 연결하기 위해 본 발명의 실시예에서는 링크 리스트(linked-list) 구조를 사용한다. 이러한 링크 리스트 구조를 구현하기 위한 넥스트 세그먼트 테이블(next segment table)의 예가 도 6에 도시되어 있으며, 이러한 넥스트 세그먼트 테이블은 앞서 설명한 채널 카드의 일 구성요소인 DSP에 구비될 수 있으며, 벡터 프로세서(700)에 구비될 수도 있다.
도 6에서 디스프레더 0과 디스프레더 3은 데이터 전송속도가 128Kbps 이하로서 하나의 세그먼트가 할당되어 있는 것을 나타내고 있으며, 디스프레더 1은 데이터 전송속도가 384Kbps로서 4개의 세그먼트가 할당되어 있는 것을 나타내고 있다. 즉, 디스프레더 0과 3은 하나의 세그먼트가 할당되기 때문에 디스프레더 번호가 곧 세그먼트의 번호가 되며 넥스트 세그먼트 번호 역시 그 자신이 된다. 하지만 디스프레더 1은 세그먼트 1을 첫 번째 세그먼트로 할당받고 이후 넥스트 세그먼트로서 2를, 그리고 그 다음 넥스트 세그먼트로 4,5,1를 순차적으로 할당받아 총 4개의 세그먼트를 할당받는다.
이와 같이 데이터 채널 심볼버퍼에는 데이터 전송속도에 따라 여러 개의 세그먼트가 할당되어 심볼수준의 데이터가 라이팅된다. 즉, 벡터 프로세서(700)는 데이터 전송속도에 따라 1 내지 4개의 세그먼트를 할당하여 라이트하되, 하나의 세그먼트 할당시에는 i번째 디스프레더의 데이터를 i번째 세그먼트에 라이트하고, 복수의 세그먼트 할당시에는 넥스트 세그먼트를 지정한 넥스트 세그먼트 테이블을 작성하여 그에 따르는 세그먼트들에 데이터 채널의 데이터를 라이트한다
데이터 채널 심볼버퍼에 데이터를 라이트하기 위한 주소 발생과정 및 리드하기 위한 주소 발생과정은 동일하다. 다만 라이팅시에는 상술한 바와 같이 넥스트 세그먼트 테이블 작성이 이루어져야 하며 이와 같이 작성된 테이블을 이용하여 리드시에 이용한다.
이하 도 7을 참조하여 설명하면,
도 7은 본 발명의 실시예에 따른 데이터 채널 심볼버퍼를 액세스하는 과정을 설명하기 위한 도면을 도시한 것으로, 보다 구체적으로는 벡터 프로세서(700)에 의해 데이터 채널 심볼버퍼에 라이트된 데이터가 리드되기 위해 필요한 주소 발생과정을 나타낸 것이다.
도 7를 참조하면, 우선 벡터 프로세서(700)는 1000단계에서 심볼버퍼(600)에 심볼 수준의 데이터 라이팅이 완료되었음을 지시하는 트리거 펄스가 수신되면 1010단계로 진행하여 채널-디스프레더 맵핑 테이블에 기초하여 채널 번호를 디스프레더 번호로 변환하고, 1020단계로 진행하여 다시 디스프레더 번호를 세그먼트(seg) 번호로 설정한다. 이와 같이 하는 이유는 데이터 채널 심볼버퍼에 데이터가 라이트되는 경우 디스프레더 번호와 동일한 세그먼트번호가 지정되어 데이터 라이트가 이루어지기 때문이다. 따라서 1020단계에서 디스프레더 번호를 세그먼트 번호로 설정한후 1030단계로 진행하여 심볼 카운트(s_c)를 "0"으로 초기화(리셋)시킨다.
그리고 벡터 프로세서(700)는 1040단계로 진행하여 상기 심볼 카운트(s_c)와 데이터 채널 심볼버퍼의 세그먼트 스타트 어드레스(dch_seg_sta_adr)값을 가산하여 주소(adr)를 발생시킴으로서 첫 번째 주소의 데이터를 리드한다. 이와 같이 분할된 데이터 채널 심볼버퍼의 세그먼트를 구성하는 첫 번째 주소를 발생시킨후 심볼 카운트(s_c)의 값이 데이터 채널 심볼버퍼의 세그먼트 사이즈와 일치할때(1050단계)까지 순차적으로 주소를 발생시키면 데이터 채널 심볼버퍼 영역에 라이트된 심볼수준의 데이터 모두가 읽혀짐으로서, 벡터 프로세서(700)는 읽혀진 심볼수준의 데이터를 후처리부인 DSP(도시하지 않았음)에서 요구하는 데이터로 처리하여 후술한 도 9에 도시된 액세스 방법에 의해 슬롯 버퍼(800)로 출력한다.
만약 데이터 전송속도가 144Kbps 이상일 때에는 세그먼트가 2개 이상 할당되므로 벡터 프로세서(700)는 넥스트 세그먼트 테이블에 기초하여 1080단계에서 넥스트 세그먼트 넘버를 설정한후 1030단계로 되돌아감으로서 두 번째로 할당된 세그먼트에 라이트된 데이터를 읽을 수 있게 된다. 이와 같은 과정들을 통해 1070단계에서 마지막 세그먼트의 데이터를 리드한 것으로 판명되면 벡터 프로세서(700)는 데이터 채널 심볼버퍼에 라이트된 데이터의 리드과정을 종료한다.
따라서 본 발명의 실시예에 따른 멀티 채널 지원용 수신기는 심볼버퍼를 도 5 및 도 7에 도시된 순차적인 단계들의 구현을 통해 컨트롤 채널 심볼버퍼와 데이터 채널 심볼버퍼를 액세스할 수 있기 때문에, 벡터 프로세서(700)를 필요한 시간만큼 점유하는 효과를 가지게 되는 것이며, 심볼버퍼에서 필요한 만큼의 영역을 할당받아 사용할 수 있게 되는 것이다. 이는 곧 자원의 효율적인 공유를 의미하며 메모리 풀 및 데이터 경로의 풀에 해당한다.
이하 벡터 프로세서(700)에서 처리된 데이터를 슬롯 버퍼(800)에 라이트하기 위한 주소 발생방법을 설명하기로 한다.
우선 슬롯 버퍼(800)는 상술한 심볼 버퍼(600)의 구조와 비슷하다. 즉, 슬롯 버퍼(800) 역시 데이터 채널 슬롯 버퍼, 컨트롤 채널 슬롯 버퍼, 알고리즘 데이터 슬롯 버퍼 영역으로 나뉘어 지며, 각 슬롯 버퍼의 영역은 다시 여러 개의 세그먼트로 나뉘어 진다. 그리고 컨트롤 채널 슬롯 버퍼와 알고리즘 채널 슬롯 버퍼는 16개의 세그먼트로 나뉘어져 있으며 i번째 세그먼트는 i번째 채널 엘리먼트의 데이터를 저장한다.
도 8은 본 발명의 실시예에 따른 컨트롤 채널 슬롯버퍼의 액세스 과정을 설명하기 위한 도면을 도시한 것으로, 보다 구체적으로는 벡터 프로세서(700)에서 처리된 데이터를 슬롯 버퍼(800)에 라이트하기 위해 필요한 주소 발생과정을 나타낸 것이다.
도 8를 참조하면, 우선 벡터 프로세서(700)는 데이터 라이트를 위해 1100단계에서 심볼 카운트(s_c)를 "0"으로 초기화시킨후 1110단계로 진행하여 컨트롤 채널 슬롯버퍼의 세그먼트 스타트 어드레스(cch_slot_seg_sta_adr)에 상기 심볼 카운트(s_c)의 값을 가산하여 주소(adr)를 발생시켜 처리된 데이터를 라이트한다. 그리고 1120단계로 진행하여 심볼 카운트(s_c)의 값이 컨트롤 채널 슬롯 버퍼의 세그먼트 사이즈와 동일한지를 비교하여 동일하지 않으면 심볼 카운트(s_c)의 값을 증가(1130단계)면서 데이터를 라이트한다. 만약 심볼 카운트(s_c)의 값이 컨트롤 채널 슬롯 버퍼의 세그먼트 사이즈와 동일하다면 i번째 세그먼트에 i번째 채널 엘리먼트의 데이터 라이팅이 완료된 것이므로 벡터 프로세서(700)는 컨트롤 채널의 슬롯 버퍼 액세스과정을 종료한다.
한편 데이터 채널 슬롯 버퍼는 N(≥24)개의 세그먼트를 가지며 하나의 채널 엘리먼트는 데이터 전송 속도에 따라 1개부터 4개까지의 세그먼트를 할당받을 수 있다. DPDCH의 데이터 전송속도가 384Kbps일 때에는 4개, 144Kbps일 때에는 2개, 그 외에는 1개의 세그먼트를 할당받아 데이터를 저장한다. 이를 위해 역시 도 6에 도시한 바와 같은 넥스트 세그먼트 테이블이 요구된다.
도 9는 본 발명의 실시예에 따른 데이터 채널 슬롯버퍼의 액세스 과정을 설명하기 위한 도면을 도시한 것으로, 데이터 전송속도에 따라 다수 개의 세그먼트를 할당하여 처리된 데이터를 슬롯버퍼(800)에 라이트하기 위해 필요한 주소 발생과정을 도시한 것이다.
도 9를 참조하면, 우선 벡터 프로세서(700)는 심볼버퍼(600)에서 리드한 데이터를 DSP(도시하지 않았음)에서 요구하는 데이터로 처리 완료하였으면 1200단계로 진행하여 채널-세그먼트 맵핑 테이블에 기초하여 채널 번호를 세그먼트 번호로 설정하고, 1210단계로 진행하여 심볼 카운트(s_c)를 "0"으로 초기화시킨다.
그리고 벡터 프로세서(700)는 1220단계로 진행하여 상기 심볼 카운트(s_c)와 데이터 채널 슬롯버퍼의 세그먼트 스타트 어드레스(dch_slot_seg_sta_adr)값을 가산하여 주소(adr)를 발생시킴으로서 첫 번째 주소에 처리된 데이터를 라이트한다. 이와 같이 분할된 데이터 채널 슬롯버퍼의 세그먼트와 일치(1230단계)할때까지 심볼 카운트를 증가시키면서 데이터 라이트를 완료하면 벡터 프로세서(700)는 데이터 기록중인 세그먼트가 데이터 전송속도에 따라 할당된 마지막 세그먼트인지를 검사(1250단계)한다. 검사결과 마지막 세그먼트가 아니면 1260단계로 진행하여 넥스트 세그먼트를 설정한후 다시 1210단계로 진행하여 넥스트 세그먼트를 구성하는 주소를 순차적으로 발생시켜 처리된 데이터를 라이팅한다. 만약 1250단계의 검사결과 현재 라이팅하고 있는 세그먼트가 할당된 마지막 세그먼트이면 벡터 프로세서(700)는 데이터 채널 슬롯버퍼에 처리된 데이터를 라이트하는 과정을 종료한다.
따라서 본 발명의 실시예에 따른 멀티 채널 지원용 수신기는 슬롯버퍼를 도 8 및 도 9에 도시된 순차적인 단계들의 구현을 통해 슬롯버퍼에서 필요한 만큼의 영역을 할당받아 사용할 수 있게 되는 것이다. 이 역시 자원의 효율적인 공유를 의미하며, 메모리 풀 및 데이터 경로 풀에 해당한다.
참고적으로 본 발명의 실시예에 따른 멀티 채널 지원용 수신기 구조를 구현하였을 경우 비용상의 이득을 설명해 보면,
우선 상기 표 1을 만족시키기 위해서 L(디스프레더 그룹당 디스프레더 수)= 10, M(심볼 버퍼 세그먼트 수 )= 12, N(슬롯 버퍼 세그먼트 수)=24를 사용할 때의 비용은 다음과 같다.
디스프레더의 수 = 8 × 10 = 80개
심볼버퍼 크기 = 16×(128+192) + 12×2048바이트 = 29696바이트
슬롯 버퍼 크기 = 16×(40+80)+24×640 = 17280바이트
이것을 단일 채널 아키텍쳐의 단순 확장과 비교하면 비용이 현격히 준 것을 알 수 있다.
즉, 본 발명에서는 풀의 개념을 도입하고 있는데, 디스프레더의 풀 개념을 위해서 디스프레더 그룹을 채용하였으며, 심볼 버퍼의 풀 개념을 위해서 넥스트 세그먼트 테이블을 채용하였으며, 데이터 구동(data-driven)방식의 시분할 자원 공유(packet switching time-multiplexing)를 사용하여 각 채널 엘리먼트가 필요한 만큼의 시간을 할당 받도록 함으로서 벡터 프로세서 자원을 시간적으로 공유하였으며, 슬롯 버퍼의 풀 개념을 위해서 하나의 넥스트 세그먼트 테이블을 채용하였다. 따라서 본 발명은 멀티 채널을 지원하기 위한 수신기의 ASIC 구조를 단순화시킬 수 있게 되는 것이다.
상술한 바와 같이 본 발명은 채널 엘리먼트가 할당될 때마다 슬롯 버퍼에서 필요한 만큼의 영역을 할당 받고, 벡터 프로세서를 필요한 시간만큼 점유하도록 하고, 핑거가 할당될 때마다 디스프레더를 할당 받은후 심볼 버퍼에서 필요한 만큼의영역을 할당받도록 설계함으로서, 멀티 채널을 지원할 수 있는 수신기의 구조를 단순화시켜 ASIC의 사이즈를 소형화할 수 있는 장점이 있다.
또한 본 발명은 할당되는 채널 엘리먼트가 필요로 하는 자원을 멀티 채널 엘리먼트들 각각이 공유토록 함으로서, 단위 채널 엘리먼트당 지원되어야 하는 자원의 비용을 최소화할 수 있는 이점이 있다.
한편 본 발명은 도면에 도시된 실시예들을 참고로 설명되었으나 이는 예시적인 것에 불과하며, 당해 기술분야에 통상의 지식을 지닌자라면 이로부터 다양한 변형 및 균등한 타실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위에 의해서만 정해져야 할 것이다.

Claims (10)

  1. 멀티 채널 지원용 수신기에 있어서,
    다수의 안테나를 통해 입력되는 수신 신호를 선택하여 디스크램블링과 디채널라이징하여 심볼 수준의 데이터로 각각 출력하는 복수의 디스프레더가 하나의 그룹을 형성하고 있는 디스프레더 그룹들과;
    상기 디스프레더 그룹들 각각으로부터 출력되는 심볼 수준의 데이터를 저장하기 위한 심볼버퍼들과;
    상기 심볼 수준의 데이터를 구성하는 컨트롤 채널 데이터와 데이터 채널 데이터 및 알고리즘 데이터 각각을 동일 심볼버퍼내의 서로 다른 영역에 라이트되도록 제어하고, 서로 다른 영역에 라이트된 데이터들을 리드하여 후처리부에서 요구하는 데이터로 처리하여 출력하는 벡터 프로세서와;
    상기 벡터 프로세서에서 처리된 컨트롤 채널 데이터와 데이터 채널 데이터 및 알고리즘 데이터들을 서로 다른 영역에 일시 저장한후 출력하는 슬롯버퍼를 포함함을 특징으로 하는 멀티 채널 지원용 수신기.
  2. 청구항 1에 있어서, 상기 디스프레더 그룹을 형성하는 각각의 디스프레더는;
    입력되는 선택신호에 따라 다수의 안테나 입력 포트중 하나의 수신신호를 선택하고 핑거 포지션(finger position) 또는 추적 제어에 의해 현재를 기준으로 전/후에 위치하는 수신신호를 선택하여 출력하는 멀티플렉서 및 데시메이터와;
    현재를 기준으로 전/후에 위치하는 수신신호 각각을 입력하여 스크램블링 코드 발생기로부터 발생한 스크램블링 코드와 승산하여 디스크램블링을 수행하는 세 개의 상관기들과;
    상기 상관기들 각각의 출력단과 접속되며 디스크램블링된 수신신호를 OVSF(Orthogonal Variable Spreading Factor) 코드와 승산하여 디채널라이징 수행하는 디채널라이징부;를 포함함을 특징으로 하는 멀티 채널 지원용 수신기.
  3. 청구항 1 또는 청구항 2에 있어서, 상기 디스프레더 그룹 각각에는;
    데이터-구동(data- driven)방식의 형태로 그룹내 임의의 디스프레더에 데이터가 존재하면 미리 정해진 우선순위에 따라 심볼 수준의 데이터를 상기 심볼 버퍼로 선택 출력하는 선택기를 더 포함함을 특징으로 하는 멀티 채널 지원용 수신기.
  4. 청구항 1 또는 청구항 2에 있어서, 상기 벡터 프로세서는;
    임의의 디스프레더 그룹에서 출력되는 컨트롤 채널 데이터 혹은 알고리즘 데이터를 그 후단에 접속된 심볼버퍼에 라이트하여야 하는 경우 i번째 디스프레더의 출력데이터를 미리 구획된 컨트롤 채널 심볼버퍼영역 혹은 알고리즘 데이터 심볼버퍼 영역의 i번째 세그먼트에 라이트되도록 제어함을 특징으로 하는 멀티 채널 지원용 수신기.
  5. 청구항 1 또는 청구항 2에 있어서, 상기 벡터 프로세서는;
    임의의 디스프레더 그룹에서 출력되는 데이터 채널 데이터를 그 후단에 접속된 심볼버퍼에 라이트하여야 하는 경우 데이터 전송속도에 따라 1 내지 4개의 세그먼트를 할당하여 라이트하되, 하나의 세그먼트 할당시에는 i번째 디스프레더의 데이터를 i번째 세그먼트에 라이트하고 복수의 세그먼트 할당시에는 넥스트 세그먼트를 지정한 넥스트 세그먼트 테이블을 작성하여 그에 따르는 세그먼트들에 라이트함을 특징으로 하는 멀티 채널 지원용 수신기.
  6. 청구항 1 또는 청구항 2에 있어서, 상기 벡터 프로세서는;
    임의의 심볼버퍼에 라이트된 컨트롤 채널 데이터 혹은 알고리즘 데이터를 리드하여야 하는 경우 우선적으로 채널번호와 디스프레더 번호가 맵핑되어 있는 테이블을 검색하여 디스프레더 번호를 검출하고, 이후 검출된 디스프레더 번호에 대응하는 세그먼트에 라이트된 데이터를 리드함을 특징으로 하는 특징으로 하는 멀티 채널 지원용 수신기.
  7. 청구항 5에 있어서, 상기 벡터 프로세서는;
    임의의 심볼버퍼에 라이트된 데이터 채널 데이터를 리드하여야 하는 경우 우선적으로 채널번호와 디스프레더 번호가 맵핑되어 있는 테이블을 검색하여 디스프레더 번호를 검출하고, 검출된 디스프레더 번호에 대응하는 세그먼트에 라이트된 데이터를 리드하며, 넥스트 세그먼트 테이블을 검색하여 지정된 넥스트 세그먼트의 지정이 있으면 해당 넥스트 세그먼트에 라이트된 데이터를 순차적으로 리드함을 특징으로 하는 멀티 채널 지원용 수신기.
  8. 청구항 6에 있어서, 상기 채널번호와 디스프레더 번호가 맵핑되어 있는 테이블은 상기 디스프레더 그룹마다 하나씩 할당되어 있음을 특징으로 하는 멀티 채널 지원용 수신기.
  9. 청구항 1 또는 청구항 2에 있어서, 상기 벡터 프로세서는;
    데이터 처리된 i번째 채널 엘리먼트의 컨트롤 채널 데이터 혹은 알고리즘 데이터를 미리 구획된 컨트롤 채널 슬롯버퍼영역 혹은 알고리즘 채널 슬롯버퍼영역의 i번째 세그먼트에 라이트시킴을 특징으로 하는 멀티 채널 지원용 수신기.
  10. 청구항 1 또는 청구항 2에 있어서, 상기 벡터 프로세서는;
    데이터 채널 데이터를 데이터 전송속도에 따라 1 내지 4개의 세그먼트를 할당하여 미리 구획된 데이터 채널 슬롯버퍼영역에 라이트하되, 하나의 세그먼트 할당시에는 해당 채널번호와 일치하는 세그먼트에 라이트하고 복수의 세그먼트 할당시에는 넥스트 세그먼트를 지정한 넥스트 세그먼트 테이블을 작성하여 그에 따르는 세그먼트에 라이트함을 특징으로 하는 멀티 채널 지원용 수신기.
KR10-2001-0026041A 2001-05-12 2001-05-12 멀티 채널 지원용 수신기 KR100376752B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0026041A KR100376752B1 (ko) 2001-05-12 2001-05-12 멀티 채널 지원용 수신기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0026041A KR100376752B1 (ko) 2001-05-12 2001-05-12 멀티 채널 지원용 수신기

Publications (2)

Publication Number Publication Date
KR20020086817A true KR20020086817A (ko) 2002-11-20
KR100376752B1 KR100376752B1 (ko) 2003-03-19

Family

ID=27704712

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0026041A KR100376752B1 (ko) 2001-05-12 2001-05-12 멀티 채널 지원용 수신기

Country Status (1)

Country Link
KR (1) KR100376752B1 (ko)

Also Published As

Publication number Publication date
KR100376752B1 (ko) 2003-03-19

Similar Documents

Publication Publication Date Title
JP3730125B2 (ja) 符号分割多重接続移動通信システムにおけるセル検索装置及び方法
US8442096B2 (en) Low I/O bandwidth method and system for implementing detection and identification of scrambling codes
JP2002540714A (ja) プログラマブル整合フィルタサーチャ
US7065128B2 (en) Apparatus and methods for sample selection and reuse of rake fingers in spread spectrum systems
JP4426678B2 (ja) 第1および第2ステージ用の簡略化セル検索方式
US20070147613A1 (en) Low I/O bandwidth method and system for implementing detection and identification of scrambling codes
US20050088987A1 (en) Apparatus and method for searching for cell and multi-path in mobile communication system
JP2004531135A (ja) Cdmaシステムにおけるチップレート処理のための方法および装置
KR100480302B1 (ko) 레이크 수신기의 다중 복조 경로간의 자원 공유 장치 및 수신 방법
CN1157074C (zh) 移动无线通信系统中的基带信号解调装置与方法
KR101157108B1 (ko) 메모리 아키텍처를 사용하여 1차 셀을 검색하기 위한 상관기
EP0729240B1 (en) Code division multiple access cellular mobile radio systems
KR100376752B1 (ko) 멀티 채널 지원용 수신기
CN101310455B (zh) 整体瑞克(Rake)接收机及其接收方法
KR20010007309A (ko) 확산 스펙트럼 수신기
US7706427B2 (en) Method and apparatus for compact OVSF despreading
JP3398708B2 (ja) スペクトル拡散受信装置
US7903722B2 (en) Hardware-efficient searcher architecture for code division multiple access (CDMA) cellular receivers
JPH07107006A (ja) 拡散符号発生方法及び装置
GB2298341A (en) Code division multiple access cellular mobile radio systems
KR100427577B1 (ko) 하드웨어 복잡도를 줄인 레이크 수신기
KR100767418B1 (ko) 부호분할 다중접속 시스템의 프리앰블 수신기

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee