KR100724929B1 - 부호분할다중접속 이동통신시스템에서 스크램블링 코드생성장치 및 방법 - Google Patents

부호분할다중접속 이동통신시스템에서 스크램블링 코드생성장치 및 방법 Download PDF

Info

Publication number
KR100724929B1
KR100724929B1 KR1020010061693A KR20010061693A KR100724929B1 KR 100724929 B1 KR100724929 B1 KR 100724929B1 KR 1020010061693 A KR1020010061693 A KR 1020010061693A KR 20010061693 A KR20010061693 A KR 20010061693A KR 100724929 B1 KR100724929 B1 KR 100724929B1
Authority
KR
South Korea
Prior art keywords
scrambling code
scrambling
predetermined
code
mask
Prior art date
Application number
KR1020010061693A
Other languages
English (en)
Other versions
KR20030029330A (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 KR1020010061693A priority Critical patent/KR100724929B1/ko
Priority to US10/265,147 priority patent/US20030099357A1/en
Publication of KR20030029330A publication Critical patent/KR20030029330A/ko
Application granted granted Critical
Publication of KR100724929B1 publication Critical patent/KR100724929B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • H04B1/7073Synchronisation aspects
    • H04B1/7075Synchronisation aspects with code phase acquisition
    • H04B1/70756Jumping within the code, i.e. masking or slewing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J13/00Code division multiplex systems
    • H04J13/10Code generation

Landscapes

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

Abstract

본 발명은 부호분할다중접속 이동통신시스템에서 스크램블링 코드를 생성하는 장치 및 방법에 관한 것으로, 특히 소정 개수의 스크램블링 코드들을 초기조건으로 저장한 후 저장된 스크램블링 코드들 중 생성하고자 하는 스크램블링 코드에 가장 근사한 스크램블링 코드를 순환 쉬프트 또는 마스킹함으로서 초기화를 위한 스크램블링 코드를 생성하는 장치 및 방법을 구현하였다.
부호분할다중접속 이동통신시스템, 스크램블링 코드, 초기화, 마스크, 순환 쉬프트

Description

부호분할다중접속 이동통신시스템에서 스크램블링 코드 생성장치 및 방법{APPARATUS AND METHOD FOR GENERATING A SCRAMBLING CODE IN CDMA WIRELESS COMMUNICATION SYSTEM}
도 1은 종래 부호분할다중접속 이동통신시스템에서 스크램블링 코드 생성장치의 구성을 보이고 있는 도면.
도 2는 종래 부호분할다중접속 이동통신시스템에서 순환 쉬프트를 이용한 스크램블링 코드 초기화를 위한 장치의 구성을 보이고 있는 도면.
도 3은 종래 부호분할다중접속 이동통신시스템에서 저장된 초기조건을 이용한 스크램블링 코드 초기화를 위한 장치의 구성을 보이고 있는 도면.
도 4는 종래 부호분할다중접속 이동통신시스템에서 마스킹 기법을 적용한 x 시퀀스 생성기의 구성을 보이고 있는 도면,
도 5는 종래 부호분할다중접속 이동통신시스템에서 마스킹 기법을 적용한 y 시퀀스 생성기의 구성을 보이고 있는 도면,
도 6은 종래 부호분할다중접속 이동통신시스템에서 마스킹 기법을 적용한 스크램블링 코드 생성부의 구성을 보이고 있는 도면.
도 7은 종래 부호분할다중접속 이동통신시스템에서 마스크를 이용하여 초기 화되는 스크램블링 코드 생성부의 구성을 보이고 있는 도면.
도 8은 종래 부호분할다중접속 이동통신시스템에서 스크램블링 코드의 초기화 시점에서부터 생성이 시작되는 지점간의 오프셋을 보이고 있는 도면.
도 9는 본 발명의 실시 예에 따른 부호분할다중접속 이동통신시스템에서 스크램블링 코드 초기화를 위한 장치의 구성을 보이고 있는 도면.
도 10은 본 발명의 제1실시 예에 따른 부호분할다중접속 이동통신시스템에서 스크램블링 코드 초기화를 위한 제어 흐름을 보이고 있는 도면.
도 11은 본 발명의 제2실시 예에 따른 부호분할다중접속 이동통신시스템에서 스크램블링 코드 초기화를 위한 제어 흐름을 보이고 있는 도면.
도 12는 본 발명의 제3실시 예에 따른 부호분할다중접속 이동통신시스템에서 스크램블링 코드 초기화를 위한 제어 흐름을 보이고 있는 도면.
도 13은 본 발명의 제4실시 예에 따른 부호분할다중접속 이동통신시스템에서 스크램블링 코드 초기화를 위한 제어 흐름을 보이고 있는 도면.
도 14는 본 발명의 실시 예에 따른 부호분할다중접속 이동통신시스템에서의 마스킹 기법의 예를 보이고 있는 도면.
도 15는 본 발명의 제1실시 예에 따른 스크램블링 초기화시 마스킹 기법을 사용하여 프레임 경계가 아닌 다른 시점에서 초기화를 수행하는 예를 보이고 있는 도면.
도 16은 본 발명의 제2실시 예에 따른 스크램블링 초기화시 마스킹 기법을 사용하여 프레임 경계가 아닌 다른 시점에서 초기화를 수행하는 예를 보이고 있는 도면.
도 17은 본 발명의 제3실시 예에 따른 스크램블링 초기화시 마스킹 기법을 사용하여 프레임 경계가 아닌 다른 시점에서 초기화를 수행하는 예를 보이고 있는 도면.
도 18은 본 발명의 제4실시 예에 따른 스크램블링 초기화시 마스킹 기법을 사용하여 프레임 경계가 아닌 다른 시점에서 초기화를 수행하는 예를 보이고 있는 도면.
본 발명은 부호분할다중접속 이동통신시스템에서 스크램블링 코드 생성장치 및 방법에 관한 것으로, 특히 순환 쉬프트 또는 마스킹 기법을 이용한 초기화를 통해 스크램블링 코드를 생성하는 장치 및 방법을 제공함에 있다.
통상적으로 부호분할다중접속 이동통신시스템에서는 기지국마다 서로 다른 하향링크 스크램블링 코드를 할당함으써 사용자 단말들이 각 기지국들을 구분할 수 있도록 한다. 상기 하향링크 스크램블링 코드로는 0부터 262,142까지 넘버링(numbering)되는 총 262,143(218-1)개의 스크램블링 코드들이 사용될 수 있다. 그러나 전술한 모든 스크램블링 코드들이 사용되지는 않는다. 상기 스크램블링 코드들은 512개의 코드 세트(code set)들로 나뉘는데, 상기 코드 세트(code set)들 각각은 1개의 제1스크램블링 코드(primary scrambling code)와 15개의 제2스크램블링 코드(secondary scrambling code)들로 구성된다.
상기 제1스크램블링 코드(SC)들 중 임의의 코드 세트(code set)를 구성하는 제1스크램블링 코드(primary SCn)는 "16×i"로 표현된다. 여기서, i는 임의의 코드 세트(code set)를 지정하는 값으로서 0부터 511까지의 정수들 중 하나가 될 것이다. 한편, i번째 코드 세트(code set)를 구성하는 제2 스크램블링 코드들(secondary SCn)은 "16×i+k"로 표현된다. 여기서, 상기 k는 하나의 코드 세트(code set)를 구성하는 제1스크램블링 코드들의 수에 대응되며, 일 예로서 1부터 15까지의 정수들 중 하나가 될 것이다. 따라서, 하나의 코드 세트(code set)는 하나의 제1스크램블링 코드와 15개의 제2스크램블링 코드들로 이루어짐을 알 수 있다. 즉, 각각의 코드 세트(code set)들은 하나의 제1스크램블링 코드에 대응하여 15개의 제2스크램블링 코드들이 매핑되는 구조를 가진다.
상기 제1스크램블링 코드 셋은 64개의 스크램블링 코드 그룹으로 나뉜다. 그리고 각 그룹은 8개의 코드 셋으로 구성되어 있다. i번째 스크램블링 코드 그룹(group)은 스크램블링 코드 16*8*i+16*j+k이다. 여기서 i=0..63, j=0..7, k=0..15이다. 각 셀은 하나의 제1스크램블링 코드가 할당된다.
상술한 바와 같이 상기 스크램블링 코드 k=0,..,8191이 이용된다. 한편 압축 모드(compressed mode)에서는 상기 스크램블링 코드 외에 얼터너티브(alternative) 스크램블링 코드가 이용될 수 있다. 상기 스크램블링 코드 k에 대한 레프트(left) 얼터너티브 스크램블링 코드는 스크램블링코드 번호 k+8192이고, 상기 스크램블링 코드 k에 대한 라이트(right) 얼터너티브 스크램블링 코드는 스크램블링 코드 번호 k+16384이다.
전술한 스크램블링 코드의 시퀀스는 두 개의 리얼 시퀀스(real sequence)들을 결합하여 하나의 복소 시퀀스(complex sequence)로 만들어진다. 이때, 상기 두개의 리얼 시퀀스들은 38400 칩 세그먼트를 가지는 두개의 m-시퀀스들에 대한 modulo 2 연산으로서 만들어진다. 상기 두 개 m-시퀀스들은 degree 18의 발생기 다항식(polynomial)들에 의해서 발생된다. 이렇게 만들어진 시퀀스는 골드 시퀀스(Gold sequence)이다. 한편, 상기 스크램블링 코드는 10 미리세크(ms)를 주기로 하는 무선 프레임(radio frame) 단위로 반복된다.
전술한 복합 시퀀스를 생성하는 방법을 보다 구체적으로 살펴보면 하기와 같다.
두 개의 m-시퀀스들 각각을 x, y라고 하자. 상기 x 시퀀스는 초기 다항식(primitive polynomial) 1+X7+X18에 의해서 만들어지고, 상기 y 시퀀스는 다항식(polynomial) 1+X5+X7+X10+X18에 의해서 발생된다.
상기 m-시퀀스 x와 y는 다음과 같이 발생된다.
이때, 초기조건은 하기 <수학식 1>과 같다.
x(0)=1, x(1),..., x(17)=0
y(0),....,y(17)=1
한편, 순환함수의 정의(recursive definition)는 하기 <수학식 2>와 같이 표현할 수 있다.
x(i+18) = x(i+7)+x(i) modulo 2, i=0,1,....,218-20
y(i+18) = y(i+10)+y(i+7)+y(i+5)+y(i) modulo 2, i=0,1,....,218-20
상기 <수학식 1>과 상기 <수학식 2>에 의해 n번째 골드 코드 시퀀스 zn(n=0,1,2,..,218-2)은 하기 <수학식 3>과 같이 표현될 수 있다.
zn(i) = x((i+n) modulo 218 - 1) + y(i) modulo 2, i=0,....,218-2
상기 <수학식 3>으로 표현되는 골드 코드 시퀀스 zn의 2진 시퀀스(binary sequence)는 하기 <수학식 4>에 의한 변환을 통해 실제 값(real value)의 시퀀스 Zn으로 변환된다.
Figure 112001025649056-pat00001
마지막으로 n번째 복소(complex) 스크램블링 코드 시퀀스 S이,n은 상기 <수학식 4>에 의해 구하여진 Zn을 하기 <수학식 5>에 적용함으로서 정의된다.
S이,n(i) = Zn(i) + j Zn((i+131072) modulo (218-1)), i=0,1,...,38399
상기 <수학식 5>에서 첫 번째 항은 I채널에 대한 스크램블링 코드가 되며, 두 번째 항은 Q채널에 대한 스크램블링 코드가 된다. 한편, 상기 <수학식 5>에서도 보이고 있는 바와 같이 상기 스크램블링 코드는 위상 0(phase 0)에서 위상 38399(phase 38399)의 패턴이 반복됨에 주의하여야 한다.
도 1은 전술한 조건들에 의하여 구성된 하향링크 스크램블링 코드를 생성하기 위한 스크램블링 코드 생성기의 구성을 보이고 있는 도면이다. 상기 도 1에서 보이고 있는 스크램블링 코드 생성기는 x 시퀀스 생성을 위한 x 시퀀스 생성기와, y 시퀀스를 생성하기 위한 y 시퀀스 생성기로 구분할 수 있다. 한편 x시퀀스와 y시퀀스는 양자 모두 I-채널 스크램블링 코드를 생성하기 위한 부분과 Q-채널 스크램블링 코드를 생성하기 위한 부분이 있다.
통상적으로 스크램블링 코드 초기화방법은 크게 x 시퀀스에 대하여 순환 쉬프트(cyclic shift)를 이용하는 방법과 모든 초기 조건을 저장하는 방법 및 마스크를 이용하는 방법을 구분할 수 있다.
도 2는 종래 순환 쉬프트(cyclic shift)를 이용하여 하향링크 스크램블링 코드를 생성하는 방법을 보이고 있는 도면이다. 상기 도 2의 스크램블링코드 생성기는 상기 도 1을 참조할 수 있다.
상기 도 2를 참조하면, 제어부(210)는 스크램블링 코드의 초기화가 요구될 시 초기화하고자 하는 스크램블링 코드를 결정하고, 상기 결정한 스크램블링 코드를 생성하기 위한 전반적인 제어를 수행한다. 저장부(212)는 상기 결정한 스크램블링 코드를 생성하기 위해 스크램블링 코드 0의 초기조건을 저장한다. 한편, 상기 저장부(212)는 스크램블링 코드 생성부(214)의 소정의 순환 쉬프트 동작이 완료된 후 상기 스크램블링 코드 생성부(214)로부터 제공되는 x시퀀스 지연기들의 상태(state)를 저장한다. 이는 추후 초기화 동작이 재 수행될 시 초기조건으로 사용된다. 상기 스크램블링 코드 생성부(214)는 상기 저장부(212)로부터 제공되는 스크램블링 코드 초기조건 및 x시퀀스 순환 쉬프트에 의해 초기화를 수행하여 상기 제어부(210)에 의해 결정된 스크램블링 코드를 생성한다. 한편, 상기 스크램블링 코드 생성부(214)는 다음 프레임경계에서 스크램블링 코드를 재 초기화할 경우에는 x시퀀스 순환 쉬프트는 수행하지 않고 상기 저장부(212)에 저장된 초기조건을 제공받아 스크램블링 코드를 생성한다. 상기 스크램블링 코드 생성부(214)로부터 생성된 상기 스크램블링 코드는 제1곱셈기(216)와 제2곱셈기(218)로 각각 제공되어 전송하고자 하는 데이터를 확산하거나 수신하고자 하는 데이터를 역확산한다. 상기 스크램블링 코드 생성부(214)로부터 상기 제1곱셈기(216)로 제공되는 스크램블링 코드는 I-채널을 위한 스크램블링 코드이며, 상기 스크램블링 코드 생성부(214)로부터 상기 제2곱셈기(218)로 제공되는 스크램블링 코드는 Q-채널을 위한 스크램블링 코드이다.
상기 도 2에서의 구성에 의해 스크램블링 코드 n(SCn)을 생성하기 위해서는 이에 대응한 적절한 초기조건이 설정되어야 한다. 상기 초기조건으로는 x 시퀀스를 생성하기 위한 x 시퀀스 초기조건과 y 시퀀스를 생성하기 위한 y 시퀀스 초기조건이 존재한다. 상기 y 시퀀스의 초기조건은 어떠한 스크램블링 코드를 생성하던 지에 관계없이 항상 동일하다. 하지만, 상기 x 시퀀스의 초기조건은 스크램블링 코드 0에서 x 시퀀스의 초기조건과 n 만큼의 오프셋을 가진다. 따라서, 상기 스크램블링 코드 n(SCn)을 생성하기 위한 x 시퀀스의 초기조건을 얻기 위해서는 제어부(210)의 명령에 따라 먼저 저장부(212)로부터 스크램블링 코드 생성부(214)에 스크램블링 코드 0의 x 시퀀스의 초기조건을 로드한 후 이를 n 회만큼 순환 쉬프트 시켜야 한다. 즉, MSB부터 '00000000000000001'을 스크램블링 코드 0을 생성하기 위한 x 시퀀스의 초기조건이라 가정하면 이를 n 회만큼 순환 쉬프트 시킨 후의 상태를 상기 스크램블링 코드 n(SCn)을 생성하기 위한 x 시퀀스의 초기조건이라 할 수 있다. 상기 초기조건으로서의 각 비트들은 상기 도 1에서 보이고 있는 지연기들 각각에 기록되는 값이다.
비동기방식의 부호분할다중접속 이동통신시스템에서 이동국이 기지국 신호를 복조하기 위해서는 코드동기가 먼저 선행되어야 하는데, 통화품질을 보장하기 위하여 상기 코드동기 과정은 고속으로 이루어져야 할 것이다. 하지만, 전술한 바와 같이 스크램블링 코드 n의 초기화를 위해서 x 시퀀스를 n회만큼 순환 쉬프트(cyclic shift)시키는 과정을 매번 거치는 것은 시간상의 손실을 가져오며, 궁극적으로 통화품질을 떨어뜨리는 문제점이 있다.
이러한 문제점은 도 8을 통해 더욱 명확하게 보여지고 있다. 상기 도 8에 도시한 바와 같이 셀에 대응한 스크램블링 코드의 초기화는 해당 셀의 프레임 경계까지 기다려야 한다. 따라서, 부호분할다중접속 이동통신시스템에서 이동국이 속해있는 셀과 인접 셀을 지속적으로 검사해야 하며, 그 주기는 짧을수록 좋다. 동기방식의 부호분할다중접속 이동통신시스템은 현재 스크램블링 코드 생성기의 상태를 유지한 채로 코드 위상만을 바꿔 주는 마스킹 기법을 사용하여 검사하고자 하는 셀의 코드위상으로 바꿔 주면 된다. 하지만, 비동기방식의 부호분할다중접속 이동통신시스템은 검사하고자 하는 셀의 프레임 경계에 맞추어 스크램블링 코드 생성기의 상태를 초기화하여야 한다. 따라서, 비동기방식의 부호분할다중접속 이동통신시스템은 검사하고자 하는 셀마다 그 셀의 프레임 시작점까지 기다려서 스크램블링 코드를 초기화함으로 이는 셀 탐색속도를 떨어뜨리는 원인이 된다.
도 3은 종래 초기조건을 저장하여 하향링크 스크램블링 코드를 생성하는 방법을 보이고 있는 도면이다. 상기 도 3의 스크램블링코드 생성기는 상기 도 1을 참조하면 된다.
상기 도 3을 참조하면, 제어부(310)는 스크램블링 코드의 초기화가 요구될 시 초기화하고자 하는 스크램블링 코드를 결정하고, 상기 결정한 스크램블링 코드를 생성하기 위한 전반적인 제어를 수행한다. 저장부(312)는 상기 결정한 스크램블링 코드를 생성하기 위해 스크램블링 코드의 초기조건을 저장한다. 스크램블링 코드 생성부(314)는 상기 저장부(312)로부터 제공되는 스크램블링 코드 초기조건에 의해 초기화를 수행하여 상기 제어부(310)에 의해 결정된 스크램블링 코드를 생성한다. 상기 스크램블링 코드 생성부(314)로부터 생성된 상기 스크램블링 코드는 제1곱셈기(316)와 제2곱셈기(318)로 각각 제공되어 전송하고자 하는 데이터를 확산하거나 수신하고자 하는 데이터를 역확산한다. 상기 스크램블링 코드 생성부(314)로부터 상기 제1곱셈기(316)로 제공되는 스크램블링 코드는 I-채널을 위한 스크램블링 코드이며, 상기 스크램블링 코드 생성부(314)로부터 상기 제2곱셈기(318)로 제공되는 스크램블링 코드는 Q-채널을 위한 스크램블링 코드이다.
전술한 바와 같이 스크램블링 코드 초기화를 위하여 x 시퀀스 순환 쉬프트 동작 대신 미리 스크램블링 코드의 초기조건을 저장하고 있으면 스크램블링 코드를 초기화할 때마다 순환 쉬프트 동작을 시키지 않아도 되므로 초기화 시간을 단축할 수 있다. 하지만, 모든 스크램블링 코드들에 대하여 초기 조건을 이용하려면 저장량이 커진다는 부담이 있다.
한편, 앞에서도 밝힌 바와 같이 하향링크 스크램블링 코드를 생성하기 위해 x 시퀀스에 대하여 순환 쉬프트를 적용하는 대신에 마스크를 사용하여 동일한 결과를 얻을 수 있다.
도 4와 도 5는 마스크의 이해를 돕기 위하여 하향링크 스크램블링 코드를 생 성하기 위한 x 시퀀스 생성기와 y 시퀀스 생성기의 구성을 보이고 있는 도면이다. 상기 도 4는 하향링크 스크램블링 코드를 생성하기 위한 x 시퀀스 생성기의 구성을 보이고 있으며, 상기 도 5는 하향링크 스크램블링 코드를 생성하기 위한 y 시퀀스 생성기의 구성을 보이고 있는 도면이다.
예컨대, 18차수의 m 시퀀스에 대하여 I회만큼 순환 쉬프트된 시퀀스 xi는 하기 <수학식 6>와 <수학식 7>으로 표현될 수 있다.
Figure 112001025649056-pat00002
Figure 112001025649056-pat00003
상기 <수학식 6>와 상기 <수학식 7>에서 행 벡터 [m0 m1 ... m17 ]이 m 시퀀스 생성기에 대한 마스크 값이라고 정의한다.
예를 들어 상기 도 4를 참조하면, 상기 I채널 스크램블링 코드를 만드는 x 시퀀스의 0회 순환 쉬프트(cyclic shift)시킨(오프셋이 0인) 시퀀스 x0을 얻는 마스크 값은 상기 <수학식 7>로부터 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]이고, 1회 순환 쉬프트 시킨(오프셋이 1인) 시퀀스 x1을 얻는 마스크 값은 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0]이다. 그리고 상기 I채널 스크램블링 코드를 만드는 x 시퀀스에 대하여 18회만큼 순환 쉬프트 시킨 시퀀스 x18을 얻기 위한 마스크 값은 상기 생성 다항식으로부터 x18=x7+1이므로 상기 <수학식 6>으로부터 [0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1]을 얻을 수 있다.
상기 도 5를 참조하여 상기 I채널 스크램블링 코드를 만드는 y 시퀀스를 예로 들면, 0회 순환 쉬프트 시킨(오프셋이 0인) 시퀀스 y0을 얻는 마스크 값은 상기 <수학식 7>로부터 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]이고, 1회 순환 쉬프트 시킨(오프셋이 1인) 시퀀스 y1을 얻는 마스크 값은 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0]이다. 그리고 상기 I채널 스크램블링 코드를 만드는 y 시퀀스에 대하여 18회만큼 순환 쉬프트 시킨 시퀀스 y18을 얻기 위한 마스크 값은 상기 생성 다항식으로부터 y18=y10+y7+y5+1이므로 상기 <수학식 6>으로부터 [0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 1]을 얻을 수 있다.
도 6은 상기 마스크를 이용하여 하향링크 스크램블링 코드를 생성하기 위한 스크램블링 코드 생성기의 구성을 보이고 있는 도면이다. 상기 도 6을 참조하면 마스크는 I-채널 스크램블링코드를 얻기 위한 x시퀀스 마스크, Q-채널 스크램블링코드를 얻기 위한 x시퀀스 마스크, I-채널 스크램블링코드를 얻기 위한 y시퀀스 마스크, Q-채널 스크램블링코드를 얻기 위한 y시퀀스 마스크가 있다. 앞에서도 밝힌 바와 같이 이중 스크램블링 초기화와 관련이 있는 것은 x시퀀스 생성기 부분이다.
한편, 상기 <수학식 5>에서 알 수 있듯이 상기 스크램블링코드를 만드는 두 m-시퀀스들 중 Q채널 스크램블링 코드를 발생시키는 시퀀스는 이미 131,072 순환 쉬프트된 것이므로 하기에서 오프셋이 k 또는 순환 쉬프트 k라고 하면 I채널 스크램블링 코드를 만드는 m-시퀀스(x-시퀀스, y-시퀀스)에 대해서는 그대로 xk, yk 시퀀스를 의미하는 것이다. 한편, Q 채널 스크램블링 코드를 만드는 m-시퀀스에 대해서는 131072 순환 쉬프트를 내포하여 xk+131072, yk+131072 시퀀스를 의미하는 것으로 본다.
예를 들어, Q 채널 스크램블링 코드를 만드는 x 시퀀스의 오프셋 0인 시퀀스는 x131072 = x15+x6+x4이고, 이를 얻기 위한 마스크 값은 [0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0]이다. 또한, Q 채널 스크램블링 코드를 만드는 y 시퀀스의 오프셋이 0인 시퀀스는 y131072 = y15+y14+y13+y12+y11+y 10+y9+y8+y6+y5이고, 이를 얻기 위한 마스크 값은 [0 0 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0]이다.
한편 상기 도 6에서 x시퀀스 생성기와 y시퀀스 생성기에 대하여 모두 오프셋 0인 마스크를 적용하면 상기 도 1과 등가임을 알 수 있다.
도 7은 상술한 마스크를 이용하여 하향링크 스크램블링 코드를 생성하는 방법을 보이고 있는 도면이다. 상기 도 7의 스크램블링코드 생성기는 상기 도 6을 참조하면 된다.
상기 도 7을 참조하면, 제어부(710)는 스크램블링 코드의 초기화가 요구될 시 초기화하고자 하는 스크램블링 코드를 결정하고, 상기 결정한 스크램블링 코드를 생성하기 위한 전반적인 제어를 수행한다. 저장부(712)는 상기 결정한 스크램블링 코드를 생성하기 위해 스크램블링 코드 0번의 초기조건과 마스크 값을 저장한다. 스크램블링 코드 생성부(714)는 상기 저장부(712)로부터 제공되는 스크램블링 코드 초기조건과 마스크에 의해 초기화를 수행하여 상기 제어부(710)에 의해 결정된 스크램블링 코드를 생성한다. 상기 스크램블링 코드 생성부(714)로부터 생성된 상기 스크램블링 코드는 제1곱셈기(716)와 제2곱셈기(718)로 각각 제공되어 전송하고자 하는 데이터를 확산하거나 수신하고자 하는 데이터를 역확산한다. 상기 스크램블링 코드 생성부(714)로부터 상기 제1곱셈기(716)로 제공되는 스크램블링 코드는 I-채널을 위한 스크램블링 코드이며, 상기 스크램블링 코드 생성부(714)로부터 상기 제2곱셈기(718)로 제공되는 스크램블링 코드는 Q-채널을 위한 스크램블링 코드이다.
상기 도 7을 참조한 상기 마스크을 이용한 스크램블링 코드 k의 초기화의 실시 예는 하기와 같다. 스크램블링 코드 생성부(714)는 제어부(710)의 제어에 따라 저장부(712)로부터 스크램블링 코드 0의 초기조건과 x시퀀스에 대한 오프셋인 k인 마스크 값을 x시퀀스 생성기에 적용함으로써 얻어진다. 여기서 x시퀀스에 대한 오프셋 k인 마스크 값이란 I채널 스크램블링 코드를 위한 x시퀀스 마스크 값과 Q채널 스크램블링 코드를 위한 x시퀀스 마스크 값 두 개를 의미한다. 한편 y시퀀스 생성기에 적용되는 y시퀀스에 대한 마스크값은 항상 오프셋 0이다.
전술한 바와 같이 스크램블링 코드 초기화를 위하여 x 시퀀스 순환 쉬프트 동작 대신 마스킹을 x 시퀀스 생성기에 적용하면 스크램블링 코드를 초기화할 때마다 순환 쉬프트 동작을 시키지 않아도 되므로 초기화 시간을 단축할 수 있다. 하지만, 모든 스크램블링 코드들에 대하여 마스킹을 이용하려면 상기 모든 스크램블링 코드들 각각에 대응한 마스크 값들을 모두 저장하고 있어야 하는 부담이 있다.
전술한 세 가지 방법을 통해 살펴본 바와 같이 순환 쉬프트를 이용하는 방식의 경우에는 초기화에 걸리는 시간이 길어지므로 주기적으로 수행되어야 하는 셀 탐색속도를 떨어뜨리는 원인이 되며, 궁극적으로 수신기의 복조 성능을 떨어뜨리는 문제점이 있다. 이러한 문제점을 해결하기 위해서는 스크램블링 코드의 초기조건을 사전에 저장하는 것이 바람직하다. 그러나 현재 스팩(Spec)에서 이용하는 모든 스크램블링 코드들에 대하여 초기조건 또는 마스크 값을 기억하는 것은 하드웨어의 크기를 커지게 한다. 한편, 상기 스크램블링 코드의 초기화는 프레임 경계에서만 이루어지는데 이는 주기적으로 이동국이 속해있는 셀과 인접 셀을 검사하기 위한 셀 탐색의 속도를 떨어뜨리게 된다.
따라서, 상기한 바와 같은 문제점을 해결하기 위한 본 발명의 목적은 효율적으로 스크램블링 코드의 초기조건 저장에 요구되는 기억량을 줄일 수 있는 방법을 제공함에 있다.
본 발명의 다른 목적은 고속의 셀 탐색을 위하여 프레임 경계뿐만 아니라 임의의 시점에서도 스크램블링 코드의 초기화가 가능하도록 하는 마스킹을 활용하는 방법을 제공함에 있다.
본 발명의 또 다른 목적은 비동기방식의 부호분할다중접속 이동통신시스템에서 셀 스크램블링 코드를 효과적으로 생성하는 장치 및 방법을 제공함에 있다.
상기한 바와 같은 목적을 달성하기 위한 제1견지에 있어 본 발명은 스크램블링 코드의 초기조건을 소정 상수(N)의 정수배 단위로 저장하고, N미만의 오프셋에 대하여 x 시퀀스에 대한 마스크 값들을 저장하여 상기 저장된 스크램블링 코드들 중 생성하고자 하는 스크램블링 코드 번호를 넘지 않는 최대 번호의 스크램블링 코드를 로드하고, 상기 저장된 마스크 값들 중 생성하고자 하는 스크램블링 코드 번호와 상기 로드된 스크램블링 코드의 번호와의 오프셋에 해당하는 x 시퀀스 마스킹을 사용하여 상기 생성하고자 하는 스크램블링 코드를 초기화시키는 방법 및 장치를 제안하고 있다.
상기한 바와 같은 목적을 달성하기 위한 제2견지에 있어 본 발명은 스크램블링 코드의 초기조건을 소정 상수(N)의 정수배 단위로 저장하고, 상기 저장된 스크램블링 코드들 중에 생성하고자 하는 스크램블링 코드 번호를 넘지 않는 최대 번호의 스크램블링 코드를 로드하고, 상기 생성하고자 하는 스크램블링 코드 번호와 상 기 로드된 스크램블링 코드의 번호와의 오프셋만큼 사전에 x 시퀀스를 순환 쉬프트(cyclic shift)시켜 상기 생성하고자 하는 스크램블링 코드를 초기화하는 방법 및 장치를 제안하고 있다.
상기한 바와 같은 목적을 달성하기 위한 제3견지에 있어 본 발명은 스크램블링 코드의 초기조건을 일정번호(M개)까지만 저장하고, M칩 단위로 x시퀀스 마스크 값을 저장하여 생성하고자 하는 스크램블링 코드를 초기화하기 위하여 상기 저장된 스크램블링 코드들 중 모듈러(modulo) M인 스크램블링 코드를 로드하고, 상기 저장된 x 시퀀스 마스크 값들 중 상기 생성하고자 하는 스크램블링 코드 번호를 넘지 않는 최대 오프셋 값을 가지는 x시퀀스 마스크를 사용하여 상기 생성하고자 하는 스크램블링 코드를 초기화시키는 방법 및 장치를 제안하고 있다.
상기한 바와 같은 목적을 달성하기 위한 제4견지에 있어 본 발명은 스크램블링 코드의 초기조건을 소정 상수(N)의 정수배로 소정 스크램블링 코드 번호까지(M) 저장하고, M칩 단위로 x 시퀀스 마스크 값을 저장하여 상기 저장된 스크램블링 코드들 중에 생성하고자 하는 스크램블링 코드 번호를 모듈러(modulo) M한 값을 넘지 않는 최대 번호의 스크램블링 코드를 로드하고, 상기 생성하고자 하는 스크램블링 코드 번호와 상기 로드된 스크램블링 코드의 번호와의 오프셋만큼 사전에 x 시퀀스를 순환 쉬프트(cyclic shift)시켜 초기상태를 얻고, 상기 저장된 x 시퀀스 마스크 값들 중 상기 생성하고자 하는 스크램블링 코드 번호를 넘지 않는 최대 오프셋을 가지는 x 시퀀스 마스크를 사용하여 상기 생성하고자 하는 스크램블링 코드를 초기화시키는 방법 및 장치를 제안하고 있다.
이하 본 발명의 실시 예를 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다.
도 9는 본 발명의 실시 예에 따른 부호분할다중접속 이동통신시스템에서 스크램블링 코드에 의해 데이터를 확산(또는 역확산)하는 구성을 도시하고 있는 도면이다. 상기 도 9에서 도시하고 있는 구성은 후술될 본 발명의 실시 예들에 공통으로 적용될 수 있다. 한편 상기 도 9에서 스크램블링 코드 생성부는 경우에 따라 상기 도 1 또는 도 6을 참조할 수 있다. 예를 들어 마스크가 이용되는 경우는 도 6을 참조하고, 마스크가 이용되지 않는 경우는 도 1을 참조하면 된다.
상기 도 9를 참조하면, 제어부(910)는 스크램블링 코드의 초기화가 요구될 시 초기화하고자 하는 스크램블링 코드를 결정하고, 상기 결정한 스크램블링 코드를 생성하기 위한 전반적인 제어를 수행한다. 저장부(912)는 상기 결정한 스크램블링 코드를 생성하기 위해 최소한 요구되는 초기조건들을 저장한다. 상기 저장부(912)는 상기 제어부(910)의 제어에 의해 저장하고 있는 초기조건들 중 해당하는 초기조건을 출력한다. 상기 저장부(912)에 저장되는 초기조건은 후술될 각각의 실시 예에 따라 상이한 값들이 된다. 예컨대, 상기 초기조건으로는 소정 개수의 스크램블링 코드들과 마스크 오프셋들이 될 수 있다. 한편, 상기 저장부(912)는 스크램블링 코드 생성부(914)로부터 제공되는 스크램블링 코드를 저장하며, 이는 추후 초기화 동작이 재 수행될 시 초기조건으로 사용된다. 상기 스크램블링 코드 생성부(914)는 상기 저장부(912)로부터 제공되는 스크램블링 코드 초기조건 및 마스크 오프셋에 의해 초기화를 수행하여 상기 제어부(910)에 의해 결정된 스크램블링 코드를 생성한다. 한편, 상기 스크램블링 코드 생성부(914)는 상기 저장부(912)로부터 초기조건으로 제공되는 소정 x 시퀀스 상태(state)를 상기 제어부(910)의 제어에 따른 소정 횟수 순환 쉬프트 시킴으로서 상기 제어부(910)에 의해 결정된 스크램블링 코드를 초기화할 수 있다. 상기 스크램블링 코드 생성부(914)로부터 생성된 상기 스크램블링 코드는 제1곱셈기(916)와 제2곱셈기(918)로 각각 제공되어 전송하고자 하는 데이터를 확산하거나 수신하고자 하는 데이터를 역확산한다. 상기 스크램블링 코드 생성부(914)로부터 상기 제1곱셈기(916)로 제공되는 스크램블링 코드는 I-채널을 위한 스크램블링 코드이며, 상기 스크램블링 코드 생성부(914)로부터 상기 제2곱셈기(918)로 제공되는 스크램블링 코드는 Q-채널을 위한 스크램블링 코드이다.
본 발명의 실시 예들은 전술한 구성을 참조하여 후술되어질 것이다. 후술될 본 발명은 네 가지의 실시 예들을 제안하고 있으며, 각 실시 예들에 대해 간략하게 살펴보면 다음과 같다.
첫 번째 실시 예에서는 초기조건으로서 소정의 스크램블링 코드들과 소정의 마스크 오프셋들을 저장하고, 상기 소정의 스크램블링 코드들과 상기 소정의 마스크 오프셋들의 조합으로서 원하는 스크램블링 코드를 초기화하는 방법을 제안한다.
두 번째 실시 예에서는 초기조건으로서 소정의 스크램블링 코드들을 저장하고, 상기 소정의 스크램블링 코드들과 순환 쉬프트의 횟수의 조합으로서 원하는 스 크램블링 코드를 초기화하는 방법을 제안한다.
세 번째 실시 예에서는 초기조건으로서 첫 번째 실시 예에서의 스크램블링 코드들과 다른 소정의 스크램블링 코드들과 마스크 오프셋들을 저장하고, 상기 소정의 스크램블링 코드들과 상기 마스크 오프셋들의 조합으로서 원하는 스크램블링 코드를 초기화하는 방법을 제안한다.
네 번째 실시 예에서는 초기조건으로서 소정의 스크램블링 코드, 순환 쉬프트를 위한 소정 횟수 및 소정의 마스크 오프셋들을 저장하고, 상기 소정의 스크램블링 코드, 순환 쉬프트를 위한 소정 횟수 및 소정의 마스크 오프셋들의 조합으로서 원하는 스크램블링 코드를 초기화하는 방법을 제안한다.
이하 전술한 구성을 참조하여 본 발명의 실시 예들에 따른 동작을 상세히 설명하면 다음과 같다.
제1실시 예
도 10은 본 발명의 제1실시 예에 따른 스크램블링 코드의 초기화를 위해 수행되는 제어 흐름을 보이고 있는 도면이다. 상기 도 10에서 보이고 있는 제어 흐름에 따라 본 발명의 제1실시 예를 수행하기 위해서는 저장부(912)에 소정의 초기조건들이 설정되어야 한다. 본 발명의 제1실시 예를 수행하기 위해 상기 저장부(912)에 저장되어야 할 초기조건들로는 소정 개수의 스크램블링 코드들과 소정 개수의 마스크 오프셋들이 된다. 이때, 상기 초기조건들로서 저장되는 스크램블링 코드들은 모든 스크램블링 코드들(예로서 보통모드에서 8,192개, 압축모드까지 포함하면 24576개) 중 일정 간격(K)을 가지는 일부의 스크램블링 코드들이 선택된다. 또한, 상기 초기조건들로서 저장되는 마스크 오프셋들은 상기 선택된 스크램블링 코드들간의 간격에 의해 결정한다. 즉, 상기 선택한 스크램블링 코드들간의 간격이 증가하면 상기 초기조건들로서 저장하여야 할 마스크 오프셋들의 개수는 증가할 것이며, 상기 간격이 감소하면 상기 초기조건들로서 저장하여야 할 마스크 오프셋들의 개수는 감소할 것이다. 상기 선택한 스크램블링 코드들간의 간격이 증가하는 것은 상기 초기조건으로서 저장되는 스크램블링 코드의 수가 적음을 의미하며, 상기 선택한 스크램블링 코드들간의 간격이 줄어드는 것은 상기 초기조건으로 저장되는 스크램블링 코드의 수가 커짐을 의미한다. 따라서, 상기 저장부(912)에 저장되는 초기조건들을 최소화하면서 빠른 스크램블링 코드 초기화를 수행하기 위해서는 상기 스크램블링 코드들간의 간격을 적절하게 정하는 것이 바람직하다.
상기 도 10을 참조하여 본 발명의 제1실시 예에 따른 동작을 상세히 설명하면, 1010단계에서 제어부(910)는 스크램블링 코드의 초기화가 요구되는 지를 판단한다. 상기 스크램블링 코드의 초기화는 매 프레임의 시작점에서 이루어진다.
상기 제어부(910)는 스크램블링 코드의 초기화가 요구되면 1012단계로 진행하여 초기화하고자 하는 스크램블링 코드를 결정한다. 상기 초기화하고자 하는 스크램블링 코드는 기지국을 구분하기 위해 사용되는 코드로서 이동단말이 스크램블링 코드 초기화를 수행하기 이전에 무선통신서비스를 지원 받을 기지국으로부터 어떤 스크램블링 코드를 사용할 것인가에 대한 정보를 미리 제공받게 된다. 상기 도 10에서는 상기 초기화하고자 하는 스크램블링 코드 k를 aK+l로 가정하고 있다.
상기 초기화하고자 하는 스크램블링 코드가 결정되면 상기 제어부(910)는 상 기 1014단계에서 상기 결정한 스크램블링 코드에 따른 스크램블링 코드 초기조건을 로드할 것을 명령한다. 상기 명령은 소정 초기조건들을 저장하고 있는 저장부(912)로 제공된다. 상기 명령을 제공받은 상기 저장부(912)는 상기 저장하고 있는 초기조건들로부터 상기 결정한 스크램블링 코드에 따른 스크램블링 코드 초기조건을 독출하여 출력한다. 상기 도 10에서는 상기 저장부(912)로부터 독출되어 출력되는 스크램블링 코드 초기조건을 aK로 가정하고 있다.
또한, 상기 제어부(910)는 스크램블링 코드 초기조건의 로드가 이루어지면 1016단계로 진행하여 상기 결정한 스크램블링 코드에 따른 마스크 오프셋을 로드할 것을 명령한다. 상기 명령은 상기 저장부(912)로 제공된다. 상기 명령을 제공받은 상기 저장부(912)는 상기 저장하고 있는 초기조건들로부터 상기 결정한 스크램블링 코드에 따른 마스크 오프셋을 독출하여 출력한다. 상기 도 10에서는 상기 저장부(912)로부터 독출되어 출력되는 마스크 오프셋을 l이라 가정하고 있다.
따라서, 상기 저장부(912)로부터 상기 스크램블링 코드 초기조건과 상기 마스크 오프셋을 제공받은 스크램블링 코드 생성부(914)는 상기 결정한 스크램블링 코드를 생성하여 출력한다. 이때, 상기 스크램블링 코드 생성부(914)는 마스크 오프셋을 이용하여 스크램블링 코드를 생성하는 구성을 가져야 하는데, 이는 상기 도 6에서 보여지고 있다. 상기 스크램블링 코드 생성부(914)는 상기 결정한 스크램블링 코드를 생성하기 위해 먼저 상기 스크램블링 코드 초기조건을 내부의 지연기들에 기록한다. 상기 지연기들 각각이 상기 스크램블링 코드 초기조건에 따른 고유한 값들을 가지면 상기 스크램블링 코드 생성부(914)는 상기 스크램블링 코드 초기조 건과 상기 마스크 오프셋을 논리 합하여 I 채널과 Q 채널 스크램블링 코드를 만들기 위한 X 시퀀스와 y 시퀀스를 출력한다.
전술한 바와 같이 본 발명의 제1실시 예는 스크램블링 코드의 초기조건을 소정 상수(N)의 정수배 단위로 저장하고, N미만의 오프셋에 대하여 x 시퀀스에 대한 마스크 값들을 저장하여 상기 저장된 스크램블링 코드들 중 생성하고자 하는 스크램블링 코드 번호를 넘지 않는 최대 번호의 스크램블링 코드를 로드하고, 상기 저장된 마스크 값들 중 생성하고자 하는 스크램블링 코드 번호와 상기 로드된 스크램블링 코드의 번호와의 오프셋에 해당하는 x 시퀀스 마스킹을 사용하여 상기 생성하고자 하는 스크램블링 코드를 초기화시키는 방법 및 장치를 제안하고 있다.
하기 <표 1>에서는 상기 저장부(912)에 저장되어 있는 초기조건들과 상기 초기조건들로 인해 발생할 수 있는 스크램블링 코드들을 보이고 있다. 하기 <표 1>에서 보이고 있는 초기조건들은 앞에서도 밝힌 바와 같이 스크램블링 초기조건과 x 시퀀스 마스크 오프셋으로 이루어진다.
스크램블링 코드 초기조건 x 시퀀스 마스크 오프셋 스크램블링 코드
스크램블링 코드 0 - 스크램블링 코드 0
mask offset 1 스크램블링 코드 1
mask offset 2 스크램블링 코드 2
... ...
mask offset K-1 스크램블링 코드 K-1
스크램블링 코드 K - 스크램블링 코드 K
mask offset 1 스크램블링 코드 K+1
mask offset 2 스크램블링 코드 K+2
... ...
mask offset K-1 스크램블링 코드 2K-1
... ... ...
스크램블링 코드 aK - 스크램블링 코드 aK
mask offset 1 스크램블링 코드 aK+1
mask offset 2 스크램블링 코드 aK+2
... ...
mask offset l 스크램블링 코드 aK+l
... ...
mask offset K-1 스크램블링 코드 (a+1)K-1
상기 <표 1>에서는 초기조건으로서의 스크램블링 코드들간의 간격을 K로서 정의하고 있다. 이는 기지국을 구분하기 위해 사용될 수 있는 모든 스크램블링 코드들(예컨대, 8,192개)을 저장할 필요 없이 8,192/K개의 스크램블링 코드들만을 초기조건으로서 저장하면 된다. 따라서, x 시퀀스 마스크 오프셋의 초기조건들로는 K-1개, 즉 마스크 오프셋 0(mask offset 0) 내지 마스크 오프셋 K-1(mask offset K-1)만을 저장하면 된다. 상기 <표 1>에서는 상기 초기조건으로서의 스크램블링 코드들 각각에 대응하여 K-1개의 x 시퀀스 마스크 오프셋들을 저장하는 것으로 보여지고 있으나 이는 설명의 편의를 위해 보이고 있을 뿐이다. 실제로 저장부(612)에는 8,192/K개의 스크램블링 코드들(aK)과 K-1개의 x 시퀀스 마스크 오프셋들(l)만이 초기조건으로서 저장됨으로 초기조건으로서 저장되는 양을 줄일 수 있다.
상기 생성하고자 하는 스크램블링 코드(k)는 하기 <수학식 8>로 일반화시킬 수 있다.
k=aK+l
여기서, a=0,1,2,...., K는 일정 상수, l=0,1,2,3,...,K-1
예를 들어, 상기 <수학식 8>에서 K가 16을 가진다면 상기 초기조건으로 저장되는 스크램블링 코드들은 제1스크램블링 코드들(primary scrambling codes)만이 저장되며, 상기 제1스크램블링 코드들 중 임의의 두 개의 제1스크램블링 코드들간에 존재하는 스크램블링 코드를 생성할 수 있도록 I=0인 경우를 포함 총 16개의 마스크 오프셋들이 저장된다.
실제 상기 스크램블링 코드는 k번째 스크램블링 코드와 같이 임의의 번호로서 정의될 뿐 상기한 aK+l의 형태로 정의되지 않는다. 따라서, 상기 제어부(910)는 K가 정의되어지면 초기화를 원하는 스크램블링 코드 k를 "aK+l"의 형태로 변형하는 동작이 요구된다. 상기 스크램블링 코드의 표현 방법을 변형하는 것은 k를 K로 나누었을 때 몫을 a값으로 정의하고, 나머지를 마스크 오프셋인 l로 정의할 수 있다. 상기 마스크 오프셋이 l이라는 것은 l칩만큼의 오프셋을 가진다는 의미이다.
상기 제어부(910)에서 초기화하고자 하는 스크램블링 코드가 K+2로 결정된 경우에 있어 상기 결정한 스크램블링 코드를 생성하는 과정을 상기 <표 1>을 참조하여 설명하면 다음과 같다.
먼저, 상기 제어부(910)는 상기 저장부(912)를 제어하여 상기 저장부(912)에 초기조건으로 저장되어 있는 스크램블링 코드 K를 스크램블링 코드 생성부(914)로 로드한다. 이로 인해, 상기 스크램블링 코드 생성부(914)를 구성하는 지연기들에는 상기 로드된 스크램블링 코드 K가 기록된다. 상기 제어부(910)는 상기 스크램블링 코드 K의 로드가 이루어지면 상기 저장부(912)를 제어하여 상기 저장부(912)에 저장되어 있는 상기 마스크 오프셋 2를 상기 스크램블링 코드 생성부(914)로 로드한다. 이로 인해, 상기 스크램블링 코드 생성부(914)는 상기 미리 로드되어 있던 스크램블링 코드를 상기 마스크 오프셋 2로 마스킹함으로서 상기 원하는 스크램블링 코드 K+2를 생성한다.
상기 <표 1>에서 보이고 있는 예들 중에서 한 가지의 예에 대해서만 상세히 설명하였으나 상세히 설명되고 있지 않는 다른 예들 또한 동일한 과정에 의해 설명되어질 수 있음은 자명할 것이다.
전술한 제1실시 예에 따른 동작에 있어 마스크 오프셋을 로딩한 후 스크램블링 코드 초기조건을 로딩하더라도 동일한 스크램블링 코드를 생성할 수 있음은 자명할 것이다. 한편, 전술한 제1실시 예에 따른 동작 설명에서는 x 시퀀스에 따른 스크램블링 코드를 생성하는 관점에서 설명하였다. 하지만, y 시퀀스에 따른 스크램블링 코드를 생성하는 경우에도 전술한 동작에 의해 생성이 가능하다. 단, y 시퀀스에는 마스킹을 적용하지 않는다. 즉, 오프셋이 0인 마스크 오프셋을 사용한다.
제2실시 예
도 11은 본 발명의 제2실시 예에 따른 스크램블링 코드의 초기화를 위해 수행되는 제어 흐름을 보이고 있는 도면이다. 상기 도 11에서 보이고 있는 제어 흐름에 따라 본 발명의 제2실시 예를 수행하기 위해서는 저장부(912)에 소정의 초기조 건들이 설정되어야 한다. 본 발명의 제2실시 예를 수행하기 위해 상기 저장부(912)에 저장되어야 할 초기조건들로는 소정 개수의 스크램블링 코드들이 된다. 이때, 상기 초기조건들로서 저장되는 스크램블링 코드들은 모든 스크램블링 코드들(예로서 8,192개) 중 일정 간격(K)을 가지는 일부의 스크램블링 코드들이 선택된다. 한편, 제어부(910)는 초기화하고자 하는 스크램블링 코드와 상기 일부의 스크램블링 코드들간의 일정 간격(K)에 의해 x 시퀀스에 대한 순환 쉬프트 횟수를 결정하고, 이를 통해 스크램블링 코드 생성부(614)의 순환 쉬프트를 제어한다.
상기 도 11을 참조하여 본 발명의 제2실시 예에 따른 동작을 상세히 설명하면, 1110단계에서 제어부(910)는 스크램블링 코드의 초기화가 요구되는 지를 판단한다. 상기 스크램블링 코드의 초기화는 매 프레임의 시작점에서 이루어진다.
상기 제어부(910)는 스크램블링 코드의 초기화가 요구되면 1112단계로 진행하여 초기화하고자 하는 스크램블링 코드를 결정한다. 상기 초기화하고자 하는 스크램블링 코드는 기지국을 구분하기 위해 사용되는 코드로서 이동단말이 스크램블링 코드 초기화를 수행하기 이전에 무선통신서비스를 지원 받을 기지국으로부터 미리 제공받게 된다. 상기 도 11에서는 상기 초기화하고자 하는 스크램블링 코드 k를 aK+l로 가정하고 있다.
상기 초기화하고자 하는 스크램블링 코드가 결정되면 상기 제어부(910)는 1114단계에서 상기 결정한 스크램블링 코드에 따른 스크램블링 코드 초기조건을 로드할 것을 명령한다. 상기 명령은 소정 초기조건들을 저장하고 있는 저장부(912)로 제공된다. 상기 명령을 제공받은 상기 저장부(912)는 상기 저장하고 있는 초기조건 들로부터 상기 결정한 스크램블링 코드에 따른 스크램블링 코드 초기조건을 독출하여 출력한다. 상기 도 11에서는 상기 저장부(912)로부터 독출되어 출력되는 스크램블링 코드 초기조건을 aK로 가정하고 있다.
또한, 상기 제어부(910)는 스크램블링 코드 초기조건의 로드가 이루어지면 1116단계로 진행하여 상기 결정한 스크램블링 코드에 따른 순환 쉬프트 횟수를 결정하고, 상기 스크램블링 코드 생성부(914)가 상기 결정한 횟수의 순환 쉬프트를 수행하도록 제어한다. 상기 도 11에서는 상기 순환 쉬프트 횟수를 l이라 가정하고 있다.
따라서, 상기 저장부(912)로부터 상기 스크램블링 코드 초기조건을 제공받고, 상기 제어부(910)로부터 순환 쉬프트 횟수를 제공받은 상기 스크램블링 코드 생성부(914)는 상기 결정한 스크램블링 코드를 생성하여 출력한다. 이때, 상기 스크램블링 코드 생성부(914)는 순환 쉬프트를 이용하여 스크램블링 코드를 생성하는 구성을 가져야 하는데, 이는 상기 도 2에서 보여지고 있다. 상기 스크램블링 코드 생성부(914)는 상기 결정한 스크램블링 코드를 생성하기 위해 먼저 상기 스크램블링 코드 초기조건을 내부의 지연기들에 기록한다. 상기 지연기들 각각이 상기 스크램블링 코드 초기조건에 따른 고유한 값들을 가지면 상기 스크램블링 코드 생성부(914)는 상기 제어부(910)로부터 제공된 x 시퀀스 순환 쉬프트 횟수에 의해 상기 x 시퀀스 지연기들에 대하여 순환 쉬프트를 수행한다.
전술한 바와 같이 본 발명의 제2실시 예는 스크램블링 코드의 초기조건을 소정 상수(N)의 정수배 단위로 저장하고, 상기 저장된 스크램블링 코드들 중에 생성 하고자 하는 스크램블링 코드 번호를 넘지 않는 최대 번호의 스크램블링 코드를 로드하고, 상기 생성하고자 하는 스크램블링 코드 번호와 상기 로드된 스크램블링 코드의 번호와의 오프셋만큼 사전에 x 시퀀스를 순환 쉬프트(cyclic shift)시켜 상기 생성하고자 하는 스크램블링 코드를 초기화하는 방법 및 장치를 제안하고 있다.
하기 <표 2>에서는 상기 저장부(912)에 저장되어 있는 초기조건의 스크램블링 코드들과 순환 쉬프트 횟수로 인해 발생할 수 있는 스크램블링 코드들을 보이고 있다.
스크램블링 코드 초기조건 x 시퀀스 순환 쉬프트 스크램블링 코드
스크램블링 코드 0 - 스크램블링 코드 0
cyclic shift 1 스크램블링 코드 1
cyclic shift 2 스크램블링 코드 2
... ...
cyclic shift K-1 스크램블링 코드 K-1
스크램블링 코드 K - 스크램블링 코드 K
cyclic shift 1 스크램블링 코드 K+1
cyclic shift 2 스크램블링 코드 K+2
... ...
cyclic shift K-1 스크램블링 코드 2K-1
... ... ...
스크램블링 코드 aK - 스크램블링 코드 aK
cyclic shift 1 스크램블링 코드 aK+1
cyclic shift 2 스크램블링 코드 aK+2
... ...
cyclic shift l 스크램블링 코드 aK+l
... ...
cyclic shift K-1 스크램블링 코드 (a+1)K-1
상기 <표 2>에서는 초기조건으로서의 스크램블링 코드들간의 간격을 K로서 정의하고 있다. 이는 기지국을 구분하기 위해 사용될 수 있는 모든 스크램블링 코드들(예컨대, 8,192개)을 모두 저장할 필요 없이 8,192/K개의 스크램블링 코드들만을 초기조건으로서 저장하면 된다. 따라서, 순환 쉬프트 횟수로는 K-1개, 즉 순환 쉬프트 1(cyclic shift 1) 내지 순환 쉬프트 K-1(cyclic shift K-1)만이 사용된다.
상기 생성하고자 하는 스크램블링 코드(k)는 전술한 제1실시 예에서와 같이 k=aK+l로 일반화시킬 수 있다. 상기 K가 16을 가진다면 상기 초기조건으로 저장되는 스크램블링 코드들은 제1스크램블링 코드들(primary scrambling codes)만이 저장되며, 상기 제1스크램블링 코드들 중 임의의 두 개의 제1스크램블링 코드들간에 존재하는 스크램블링 코드를 생성할 수 있도록 15가지의 순환 쉬프트 횟수들이 사용된다. 상기 순환 쉬프트가 l이라는 것은 l번만큼의 순환 쉬프트 수행을 요구하는 의미이다.
상기 제어부(910)에서 초기화하고자 하는 스크램블링 코드가 K+2로 결정된 경우에 있어 상기 결정한 스크램블링 코드를 생성하는 과정을 상기 <표 2>을 참조하여 설명하면 다음과 같다.
먼저, 상기 제어부(910)는 상기 저장부(912)를 제어하여 상기 저장부(912)에 초기조건으로 저장되어 있는 스크램블링 코드 K를 스크램블링 코드 생성부(914)로 로드한다. 이로 인해, 상기 스크램블링 코드 생성부(914)를 구성하는 지연기들에는 상기 로드된 스크램블링 코드 K가 기록된다. 상기 제어부(910)는 상기 스크램블링 코드 K의 로드가 이루어지면 상기 스크램블링 코드 생성부(914)가 순환 쉬프트를 수행하도록 제어한다. 이로 인해, 상기 스크램블링 코드 생성부(914)는 상기 미리 로드되어 있던 스크램블링 코드를 상기 제어부(910)로부터 제공되는 순환 쉬프트 횟수만큼의 순환 쉬프트를 수행함으로서 상기 원하는 스크램블링 코드 K+2를 생성한다.
상기 <표 2>에서 보이고 있는 예들 중에서 한 가지의 예에 대해서만 상세히 설명하였으나 상세히 설명되고 있지 않는 다른 예들 또한 동일한 과정에 의해 설명되어질 수 있음은 자명할 것이다.
전술한 제2실시 예에 따른 동작 설명에서는 x 시퀀스에 따른 스크램블링 코드를 생성하는 관점에서 설명하였다. 하지만, y 시퀀스에 따른 스크램블링 코드를 생성하는 경우에도 전술한 동작에 의해 생성이 가능하다. 단, 스크램블링 코드는 x 시퀀스의 오프셋으로 결정되므로 y 시퀀스에는 순환 쉬프트를 적용하지 않는다.
제3실시 예
도 12는 본 발명의 제3실시 예에 따른 스크램블링 코드의 초기화를 위해 수행되는 제어 흐름을 보이고 있는 도면이다. 상기 도 12에서 보이고 있는 제어 흐름에 따라 본 발명의 제3실시 예를 수행하기 위해서는 저장부(912)에 소정의 초기조건들이 설정되어야 한다. 본 발명의 제3실시 예를 수행하기 위해 상기 저장부(912)에 저장되어야 할 초기조건들로는 소정 개수(M)의 스크램블링 코드들과 소정 개수(m)의 마스크 오프셋들이 된다. 이때, 상기 초기조건들로서 저장되는 스크램블링 코드들은 모든 스크램블링 코드들(예로서 8,192개) 중 최초 일정 개수(M)의 일부 스크램블링 코드들(스크램블링 코드 0 내지 스크램블링 코드 M-1)이 선택된다. 또한, 상기 초기조건들로서 저장되는 마스크 오프셋들의 수(m)는 상기 모든 스크램블링 코드들의 수(예로서 8,192개)를 상기 선택된 스크램블링 코드들의 수(M)로 나눈 몫에 의해 결정한다. 상기 선택된 스크램블링 코드들의 수(M)가 작아 상기 몫이 커지면 상기 초기조건으로서 저장하여야 하는 마스크 오프셋들의 수는 증가하며, 상기 선택된 스크램블링 코드들의 수(M)가 커 상기 몫이 작아지면 상기 초기조건으로서 저장하여야 하는 마스크 오프셋들의 수는 감소한다. 따라서, 상기 저장부(912)에 저장되는 초기조건들을 최소화하면서 스크램블링 코드의 초기화를 빠르게 하기 위해서는 상기 초기조건으로서 저장할 스크램블링 코드들의 수를 적절하게 정하는 것이 바람직하다.
상기 도 12를 참조하여 본 발명의 제3실시 예에 따른 동작을 상세히 설명하면, 1210단계에서 제어부(910)는 스크램블링 코드의 초기화가 요구되는 지를 판단한다. 상기 스크램블링 코드의 초기화는 매 프레임의 시작점에서 이루어진다.
상기 제어부(910)는 스크램블링 코드의 초기화가 요구되면 1212단계로 진행하여 초기화하고자 하는 스크램블링 코드를 결정한다. 상기 초기화하고자 하는 스크램블링 코드는 기지국을 구분하기 위해 사용되는 코드로서 이동단말이 스크램블링 코드 초기화를 수행하기 이전에 무선통신서비스를 지원 받을 기지국으로부터 미리 제공받게 된다. 상기 도 12에서는 상기 초기화하고자 하는 스크램블링 코드 k를 mM+n으로 가정하고 있다.
상기 초기화하고자 하는 스크램블링 코드가 결정되면 상기 제어부(910)는 1214단계에서 상기 결정한 스크램블링 코드에 따른 스크램블링 코드 초기조건을 로드할 것을 명령한다. 상기 명령은 소정 초기조건들을 저장하고 있는 저장부(912)로 제공된다. 상기 명령을 제공받은 상기 저장부(912)는 상기 저장하고 있는 초기조건들로부터 상기 결정한 스크램블링 코드에 따른 스크램블링 코드 초기조건을 독출하여 출력한다. 상기 도 12에서는 상기 저장부(912)로부터 독출되어 출력되는 스크램블링 코드 초기조건을 n으로 가정하고 있다.
또한, 상기 제어부(910)는 스크램블링 코드 초기조건의 로드가 이루어지면 1216단계로 진행하여 상기 결정한 스크램블링 코드에 따른 마스크 오프셋을 로드할 것을 명령한다. 상기 명령은 상기 저장부(912)로 제공된다. 상기 명령을 제공받은 상기 저장부(912)는 상기 저장하고 있는 초기조건들로부터 상기 결정한 스크램블링 코드에 따른 마스크 오프셋을 독출하여 출력한다. 상기 도 12에서는 상기 저장부(912)로부터 독출되어 출력되는 마스크 오프셋을 aM이라 가정하고 있다.
따라서, 상기 저장부(912)로부터 상기 스크램블링 코드 초기조건과 상기 마스크 오프셋을 제공받은 스크램블링 코드 생성부(914)는 상기 결정한 스크램블링 코드를 생성하여 출력한다. 이때, 상기 스크램블링 코드 생성부(914)는 마스크 오프셋을 이용하여 스크램블링 코드를 생성하는 구성을 가져야 하는데, 이는 상기 도 6에서 보여지고 있다.
전술한 바와 같이 본 발명의 제3실시 예는 스크램블링 코드의 초기조건을 일정번호(M개)까지만 저장하고, M칩 단위로 x시퀀스 마스크 값을 저장하여 생성하고자 하는 스크램블링 코드를 초기화하기 위하여 상기 저장된 스크램블링 코드들 중 모듈러(modulo) M인 스크램블링 코드를 로드하고, 상기 저장된 x 시퀀스 마스크 값들 중 상기 생성하고자 하는 스크램블링 코드 번호를 넘지 않는 최대 오프셋 값을 가지는 x시퀀스 마스크를 사용하여 상기 생성하고자 하는 스크램블링 코드를 초기화시키는 방법 및 장치를 제안하고 있다.
하기 <표 3>에서는 상기 저장부(912)에 저장되어 있는 초기조건들과 상기 초기조건들로 인해 발생할 수 있는 스크램블링 코드들을 보이고 있다. 하기 <표 3>에서 보이고 있는 초기조건들은 앞에서도 밝힌 바와 같이 스크램블링 초기조건과 x 시퀀스 마스크 오프셋으로 이루어진다.
스크램블링 코드 초기 조건 x 시퀀스 마스크 오프셋 스크램블링 코드
스크램블링 코드 0 - 스크램블링 코드 0
스크램블링 코드 1 스크램블링 코드 1
... ...
스크램블링 코드 n 스크램블링 코드 n
... ...
스크램블링 코드 M-1 스크램블링 코드 M-1
스크램블링 코드 0 mask offset M 스크램블링 코드 M
스크램블링 코드 1 스크램블링 코드 M+1
... ...
스크램블링 코드 n 스크램블링 코드 M+n
... ...
스크램블링 코드 M-1 스크램블링 코드 2M-1
스크램블링 코드 0 mask offset 2M 스크램블링 코드 2M
스크램블링 코드 1 스크램블링 코드 2M+1
... ...
스크램블링 코드 n 스크램블링 코드 2M+n
... ...
스크램블링 코드 M-1 스크램블링 코드 3M-1
... ... ...
스크램블링 코드 0 mask offset mM 스크램블링 코드 mM
스크램블링 코드 1 스크램블링 코드 mM+1
... ...
스크램블링 코드 n 스크램블링 코드 mM+n
... ...
스크램블링 코드 M-1 스크램블링 코드 (m+1)M-1
상기 <표 3>에서는 초기조건으로서 앞에서부터 소정 개수(M)의 스크램블링 코드들(스크램블링 코드 0 내지 스크램블링 코드 M-1)을 정의하고 있다. 이는 기지국을 구분하기 위해 사용될 수 있는 모든 스크램블링 코드들(예컨대, 8,192개)을 모두 저장할 필요 없이 소정 개수(M)의 스크램블링 코드들만을 초기조건으로서 저장하면 된다. 따라서, x 시퀀스 마스크 오프셋의 초기조건들로는 m(8,192/M)개를 M 칩 단위로 하는 마스크 오프셋 0(mask offset 0) 내지 마스크 오프셋 mM(mask offset mM)만을 저장하면 된다. 상기 <표 3>에서는 상기 초기조건으로서의 스크램블링 코드 0 내지 스크램블링 코드 M-1을 중복하여 저장하는 것으로 보여지고 있으나 이는 설명의 편의를 위해 보이고 있을 뿐이다. 실제로 저장부(912)에는 M개의 스크램블링 코드들과 M칩을 단위로 하는 m개의 x 시퀀스 마스크 오프셋들(mM)만이 초기조건으로서 저장됨으로 초기조건으로서 저장되는 양을 줄일 수 있다.
상기 생성하고자 하는 스크램블링 코드(k)는 하기 <수학식 9>로 일반화시킬 수 있다.
k=mM+n
여기서, m=0,1,2,...., M은 초기 마스크 오프셋, n은 초기 조건의 스크램블링 코드들 중 임의의 스크램블링 코드
상기 <수학식 9>에서 n과 M은 "n〈M"의 조건을 만족하여야 한다.
실제 상기 스크램블링 코드는 k번째 스크램블링 코드와 같이 임의의 번호로서 정의될 뿐 상기한 mM+n의 형태로 정의되지 않는다. 따라서, 상기 제어부(910)는 초기화를 원하는 스크램블링 코드 k를 "mM+n"의 형태로 변형하는 동작이 요구된다. 상기 마스크 오프셋이 mM이라는 것은 mM칩만큼의 오프셋을 가진다는 의미이다.
상기 제어부(910)에서 초기화하고자 하는 스크램블링 코드가 2M+1로 결정된 경우에 있어 상기 결정한 스크램블링 코드를 생성하는 과정을 상기 <표 3>을 참조하여 설명하면 다음과 같다.
먼저, 상기 제어부(910)는 상기 저장부(912)를 제어하여 상기 저장부(912)에 초기조건으로 저장되어 있는 스크램블링 코드 1을 스크램블링 코드 생성부(914)로 로드한다. 이로 인해, 상기 스크램블링 코드 생성부(914)를 구성하는 지연기들에는 상기 로드된 스크램블링 코드 1이 기록된다. 상기 제어부(910)는 상기 스크램블링 코드 1의 로드가 이루어지면 상기 저장부(912)를 제어하여 상기 저장부(912)에 저장되어 있는 상기 마스크 오프셋 2M을 상기 스크램블링 코드 생성부(914)로 로드한다. 이로 인해, 상기 스크램블링 코드 생성부(914)는 상기 미리 로드되어 있던 스크램블링 코드 1을 상기 마스크 오프셋 2M으로 마스킹함으로서 상기 원하는 스크램블링 코드 2M+1을 생성한다.
상기 <표 3>에서 보이고 있는 예들 중에서 한 가지의 예에 대해서만 상세히 설명하였으나 상세히 설명되고 있지 않는 다른 예들 또한 동일한 과정에 의해 설명되어질 수 있음은 자명할 것이다.
전술한 제3실시 예에 따른 동작에 있어 마스크 오프셋을 로딩한 후 스크램블링 코드 초기조건을 로딩하더라도 동일한 스크램블링 코드를 생성할 수 있음은 자명할 것이다. 한편, 전술한 제3실시 예에 따른 동작 설명에서는 I 채널과 Q 채널에서의 x 시퀀스에 따른 스크램블링 코드를 생성하는 관점에서 설명하였다. 하지만, I 채널과 Q 채널에서의 y 시퀀스에 따른 스크램블링 코드를 생성하는 경우에도 전술한 동작에 의해 생성이 가능하다. 단, 스크램블링 코드는 x 시퀀스의 오프셋만으로 결정되므로 y 시퀀스에 대한 마스크는 오프셋 0으로 한다. 또한 상기 도 12에서 보이고 있는 과정에 의한 초기화 과정은 매 프레임의 경계마다 수행될 것이다.
제4실시 예
도 13은 본 발명의 제4실시 예에 따른 스크램블링 코드의 초기화를 위해 수행되는 제어 흐름을 보이고 있는 도면이다. 상기 도 13에서 보이고 있는 제어 흐름에 따라 본 발명의 제4실시 예를 수행하기 위해서는 저장부(912)에 소정의 초기조건들이 설정되어야 한다. 본 발명의 제4실시 예를 수행하기 위해 상기 저장부(912)에 저장되어야 할 초기조건들로는 소정 개수의 스크램블링 코드들과 소정 개수의 마스크 오프셋들이 된다. 이때, 상기 초기조건들로서 저장되는 스크램블링 코드들은 모든 스크램블링 코드들(예로서 8,192개) 중 일정 간격(N)을 가지는 일부의 스크램블링 코드들이 선택된다. 또한, 상기 초기조건들로서 저장되는 마스크 오프셋들은 M칩 단위로 저장된다. 즉, 상기 초기조건으로서 저장되는 마스크 오프셋들은 aM으로 표현될 수 있다. 상기 a는 0을 포함하는 양의 정수들을 나타낸다. 한편, 제어부(910)는 상기 일부의 스크램블링 코드들간에 존재하는 스크램블링 코드를 생성하기 위한 순환 쉬프트 횟수를 결정하여 스크램블링 코드 생성부(914)의 순환 쉬프트를 제어한다. 상기 제어부(910)에 의해 결정될 수 있는 순환 쉬프트 횟수의 범위는 상기 일부의 스크램블링 코드들간의 일정 간격(N)에 의해 결정한다. 따라서, 상기 제어부(910)는 상기 결정한 순환 쉬프트 횟수의 범위에서 초기화하고자 하는 스크램블링 코드를 생성할 수 있도록 순환 쉬프트 횟수를 선택한다. 예컨대, 상기 일부의 스크램블링 코드간의 일정 간격(N)이 16이라면 상기 순환 쉬프트 횟수는 0내지 15중의 하나가 선택될 것이다. 전술한 관계에 의해 상기 일부의 스크램블링 코 드들간의 간격(N)이 증가하면 상기 순환 쉬프트 횟수의 범위는 증가할 것이며, 상기 간격이 감소하면 상기 순환 쉬프트 횟수의 범위는 감소할 것이다. 상기 선택한 스크램블링 코드들간의 간격이 증가하는 것은 상기 초기조건으로서 저장되는 스크램블링 코드들의 수가 작음을 의미하며, 상기 선택한 스크램블링 코드들간의 간격이 줄어드는 것은 상기 초기조건으로 저장되는 스크램블링 코드들의 수가 커짐을 의미한다. 따라서, 상기 저장부(912)에 저장되는 초기조건들을 최소화하면서 빠른 스크램블링 코드 초기화를 수행하기 위해서는 상기 스크램블링 코드들간의 간격을 적절하게 정하는 것이 바람직하다.
상기 도 13을 참조하여 본 발명의 제4실시 예에 따른 동작을 상세히 설명하면, 1310단계에서 제어부(910)는 스크램블링 코드의 초기화가 요구되는 지를 판단한다. 상기 스크램블링 코드의 초기화는 매 프레임의 시작점에서 이루어진다.
상기 제어부(910)는 스크램블링 코드의 초기화가 요구되면 1312단계로 진행하여 초기화하고자 하는 스크램블링 코드를 결정한다. 상기 초기화하고자 하는 스크램블링 코드는 기지국을 구분하기 위해 사용되는 코드로서 이동단말이 스크램블링 코드 초기화를 수행하기 이전에 무선통신서비스를 지원 받을 기지국으로부터 미리 제공받게 된다. 상기 도 13에서는 상기 초기화하고자 하는 스크램블링 코드 k를 aM+bN+c로 가정하고 있다.
상기 초기화하고자 하는 스크램블링 코드가 결정되면 상기 제어부(910)는 상기 1314단계에서 상기 결정한 스크램블링 코드에 따른 스크램블링 코드 초기조건을 로드할 것을 명령한다. 상기 명령은 소정 초기조건들을 저장하고 있는 저장부(912)로 제공된다. 상기 명령을 제공받은 상기 저장부(912)는 상기 저장하고 있는 초기조건들로부터 상기 결정한 스크램블링 코드에 따른 스크램블링 코드 초기조건을 독출하여 출력한다. 상기 도 13에서는 상기 저장부(912)로부터 독출되어 출력되는 스크램블링 코드 초기조건을 bN으로 가정하고 있다.
또한, 상기 제어부(910)는 스크램블링 코드 초기조건의 로드가 이루어지면 1316단계로 진행하여 상기 결정한 스크램블링 코드에 따른 순환 쉬프트 횟수를 결정하고, 상기 스크램블링 코드 생성부(914)가 상기 결정한 횟수의 순환 쉬프트를 수행하도록 제어한다. 상기 도 13에서는 상기 순환 쉬프트 횟수를 c라 가정하고 있다.
따라서, 상기 저장부(912)로부터 상기 스크램블링 코드 초기조건을 제공받고, 상기 제어부(910)로부터 순환 쉬프트 횟수를 제공받은 상기 스크램블링 코드 생성부(914)는 소정 스크램블링 코드를 생성하여 출력한다. 상기 도 13에서는 상기 스크램블링 코드 생성부(914)로부터 생성된 소정 스크램블링 코드를 bN+c로 가정하고 있다. 상기 스크램블링 코드 생성부(914)는 1318단계에서 상기 생성된 소정 x 시퀀스 생성기의 상태(state)를 상기 저장부(912)로 제공하여 저장되도록 한다. 이는 매 프레임의 경계에서 수행되는 스크램블링 코드 초기화시 상기 저장한 소정 스크램블링 코드를 이용할 수 있도록 하기 위함이다.
하지만, 초기화하고자 하는 스크램블링 코드를 생성하기 위해서는 추가로 마스크 오프셋을 적용하는 하기의 과정들을 수행하여야 한다.
상기 제어부(910)는 상기 소정 스크램블링 코드의 생성이 완료되면 1320단계 로 진행하여 상기 결정한 스크램블링 코드에 따른 마스크 오프셋을 로드할 것을 명령한다. 상기 명령은 상기 저장부(912)로 제공된다. 상기 명령을 제공받은 상기 저장부(912)는 상기 저장하고 있는 마스크 오프셋을 독출하여 출력한다. 상기 도 13에서는 상기 저장부(912)로부터 독출되어 출력되는 마스크 오프셋을 aM이라 가정하고 있다.
따라서, 상기 저장부(912)로부터 상기 마스크 오프셋을 제공받은 상기 스크램블링 코드 생성부(914)는 상기 생성된 스크램블링 코드에 상기 마스크 오프셋을 마스킹함으로서 상기 결정한 스크램블링 코드를 생성하여 출력한다. 만약, 상기 마스크 오프셋 aM에서 상기 a가 0인 경우에는 상기 1316단계에서 상기 스크램블링 코드 생성부(914)로부터 생성된 소정 스크램블링 코드가 상기 초기화하고자 하는 스크램블링 코드로서 출력된다. 이때, 상기 스크램블링 코드 생성부(914)는 순환 쉬프트와 마스크 오프셋을 이용하여 스크램블링 코드를 생성하는 구성을 가져야 한다. 상기 스크램블링 코드를 생성하는 구성은 상기 도 6의 구조를 이용할 수 있다.
전술한 바와 같이 본 발명의 제 4실시 예는 스크램블링 코드의 초기조건을 소정 상수(N)의 정수배로 소정 스크램블링 코드 번호까지(M) 저장하고, M칩 단위로 x 시퀀스 마스크 값을 저장하여 상기 저장된 스크램블링 코드들 중에 생성하고자 하는 스크램블링 코드 번호를 모듈러(modulo) M한 값을 넘지 않는 최대 번호의 스크램블링 코드를 로드하고, 상기 생성하고자 하는 스크램블링 코드 번호와 상기 로드된 스크램블링 코드의 번호와의 오프셋만큼 사전에 x 시퀀스를 순환 쉬프트(cyclic shift)시켜 초기상태를 얻고, 상기 저장된 x 시퀀스 마스크 값들 중 상기 생성하고자 하는 스크램블링 코드 번호를 넘지 않는 최대 오프셋을 가지는 x 시퀀스 마스크를 사용하여 상기 생성하고자 하는 스크램블링 코드를 초기화시키는 방법 및 장치를 제안하고 있다.
하기 <표 4>에서는 상기 저장부(912)에 저장되어 있는 초기조건들과 상기 초기조건들로 인해 발생할 수 있는 스크램블링 코드들을 보이고 있다. 하기 <표 4>에서 보이고 있는 초기조건들은 앞에서도 밝힌 바와 같이 스크램블링 초기조건과 순환 쉬프트 횟수 및 x 시퀀스 마스크 오프셋으로 이루어진다.
스크램블링 코드 초기조건 x 시퀀스 순환 쉬프트 제1 스크램블링 코드 x 시퀀스 마스크 오프셋 제2 스크램블링 코드
SC_0 - SC_0 mask offset aM SC_aM
cyclic shift 1 SC_1 mask offset aM SC_aM+1
cyclic shift 2 SC_2 mask offset aM SC_aM+2
... ... ... ...
cyclic shift N-1 SC_N-1 mask offset aM SC_aM+N-1
SC_N - SC_N mask offset aM SC_aM+N
cyclic shift 1 SC_N+1 mask offset aM SC_aM+N+1
cyclic shift 2 SC_N+2 mask offset aM SC_aM+N+2
... ... ... ...
cyclic shift N-1 SC_2N-1 mask offset aM SC_aM+2N-1
... ... ... ... ...
SC_bN - SC_bN mask offset aM SC_aM+bN
cyclic shift 1 SC_bN+1 mask offset aM SC_aM+bN+1
cyclic shift 2 SC_bN+2 mask offset aM SC_aM+bN+2
... ... ... ...
cyclic shift c SC_bN+c mask offset aM SC_aM+bN+c
... ... ... ...
cyclic shift N-1 SC_(b+1)N-1 mask offset aM SC_aM+(b+1)N-1
... ... ... ... ...
SC_(L-1)N - SC_(L-1)N mask offset aM SC_aM+(L-1)N
cyclic shift 1 SC_(L-1)N+1 mask offset aM SC_aM+(L-1)N+1
cyclic shift 2 SC_(L-1)N+2 mask offset aM SC_aM+(L-1)N+2
... ... ... ...
cyclic shift N-1 SC_LN-1 mask offset aM SC_aM+LN-1
상기 <표 4>에서는 초기조건으로서의 스크램블링 코드들간의 간격을 N으로서 정의하고 있으며, M칩 단위로 저장된 마스크 오프셋들(aM)을 정의하고 있다. 이는 기지국을 구분하기 위해 사용될 수 있는 모든 스크램블링 코드들(예컨대, 8,192개)을 모두 저장할 필요 없이 소정 개수의 스크램블링 코드들과 최대 8192/M개의 마스크 오프셋들만을 초기조건으로서 저장하면 된다. 한편, 순환 쉬프트 횟수로는 N개, 즉 순환 쉬프트 0(cyclic shift 0) 내지 순환 쉬프트 N-1(cyclic shift N-1)만이 사용된다. 따라서, 상기 저장부(912)에는 N을 간격으로 하는 L개의 스크램블링 코드들과 마스크 오프셋 aM만이 초기조건으로 저장되면 된다.
상기 생성하고자 하는 스크램블링 코드(k)는 하기 <수학식 10>으로 일반화시킬 수 있다.
k=aM+bN+c
여기서, a=0,1,2,...., N=M/L, b〈L, c〈N
실제 상기 스크램블링 코드는 k번째 스크램블링 코드와 같이 임의의 번호로서 정의될 뿐 상기한 aM+bN+c의 형태로 정의되지 않는다. 따라서, 상기 제어부(910)는 초기화를 원하는 스크램블링 코드 k를 "aM+bN+c"의 형태로 변형하는 동작이 요구된다. 따라서, 상기 제어부(910)는 초기화를 원하는 스크램블링 코드 k를 "aM+bN+c"의 형태로 변형하는 동작이 요구된다. 상기 마스크 오프셋이 aM이라는 것은 aM칩만큼의 오프셋을 가진다는 의미이다.
상기 제어부(910)에서 초기화하고자 하는 스크램블링 코드가 aM+bN+c로 결정 된 경우에 있어 상기 결정한 스크램블링 코드를 생성하는 과정을 상기 <표 4>를 참조하여 설명하면 다음과 같다.
먼저, 상기 제어부(910)는 상기 저장부(912)를 제어하여 상기 저장부(912)에 초기조건으로 저장되어 있는 스크램블링 코드 bN을 스크램블링 코드 생성부(914)로 로드한다. 이로 인해, 상기 스크램블링 코드 생성부(914)를 구성하는 지연기들에는 상기 로드된 스크램블링 코드 bN이 기록된다. 상기 제어부(910)는 상기 스크램블링 코드 bN의 로드가 이루어지면 상기 스크램블링 코드 생성부(914)가 순환 쉬프트를 수행하도록 제어한다. 이로 인해, 상기 스크램블링 코드 생성부(914)는 상기 미리 로드되어 있던 스크램블링 코드를 상기 제어부(910)로부터 제공되는 순환 쉬프트 횟수 c만큼의 순환 쉬프트를 수행함으로서 소정 스크램블링 코드 bN+c를 생성한다. 상기 소정 스크램블링 코드 bN+c가 생성되면 상기 제어부(910)는 상기 저장부(912)를 제어하여 상기 저장부(912)에 저장되어 있는 상기 마스크 오프셋 aM을 상기 스크램블링 코드 생성부(914)로 로드한다. 이로 인해, 상기 스크램블링 코드 생성부(914)는 상기 소정 스크램블링 코드를 상기 마스크 오프셋 aM으로 마스킹함으로서 상기 원하는 스크램블링 코드 am+bN+c를 생성한다.
본 발명의 실시 예로서 상기 <표 4>에서 보이고 있는 예들 중에서 한 가지의 예에 대해서만 상세히 설명하였으나 상세히 설명되고 있지 않는 다른 예들 또한 동일한 과정에 의해 설명되어질 수 있음은 자명할 것이다.
전술한 제4실시 예에 따른 동작에 있어 마스크 오프셋을 로딩한 후 스크램블링 코드 초기조건을 로딩하더라도 동일한 스크램블링 코드를 생성할 수 있음은 자 명할 것이다. 한편, 전술한 제4실시 예에 따른 동작 설명에서는 I 채널과 Q 채널을 위한 x 시퀀스에 따른 스크램블링 코드를 생성하는 관점에서 설명하였다. 하지만, y 시퀀스에 따른 스크램블링 코드를 생성하는 경우에도 전술한 동작에 의해 생성이 가능하다.
한편, 전술한 실시 예들에서는 스크램블링 코드 초기화가 프레임 경계에서만 이루어지는 경우를 가정하고 있다. 이와 같이 프레임 경계에서만 스크램블링 코드 초기화가 이루어지는 경우에는 셀 탐색 속도가 저하되는 문제가 존재한다. 이러한 문제를 해결하기 위하여 마스킹 기법을 적용할 수 있다.
도 6을 참조하면, I 채널을 위한 x 시퀀스의 마스크 값으로 MSB로부터 "000000000000000001", I 채널을 위한 y 시퀀스의 마스크 값으로 MSB로부터 "000000000000000001"을 이용한다. 한편, Q 채널을 위한 x 시퀀스의 마스크 값으로 MSB로부터 "001000000001010000", Q 채널을 위한 y 시퀀스의 마스크 값으로 MSB로부터 "001111111101100000"을 이용한다. 이와 같은 마스크 값을 이용하면 도 1에서의 스크램블링 코드 생성기와 동일한 결과를 얻을 수 있다.
도 14에 도시한 바와 같이 마스킹 기법은 프레임 경계에 대하여 오프셋을 가지도록 스크램블링 코드를 발생시키는 것이다. 즉, 스크램블링 코드는 반드시 프레임 경계까지 기다리지 않고도 마스크 오프셋단위의 임의의 시점에서 초기화시킬 수 있다. 예를 들어 마스킹 기법을 M칩 단위로 이용한다고 할 때 프레임 경계로부터 M칩만큼 떨어진 시점에서 초기화시킨다. 이로서, 마스킹되지 않은 스크램블링 코드의 위상은 0이나 M칩만큼의 오프셋을 가지는 마스킹을 적용한 후의 스크램블링 코 드의 위상은 M이 되므로 프레임 경계에서 초기화한 것과 동일한 효과를 나타낸다. 한편, UMTS에서 이용되는 스크램블링 코드는 38400칩 주기의 단축 시퀀스이므로 매 38400칩마다 다시 초기화해주어야 한다. 따라서, 다음 번 프레임 경계를 만났을 때부터는 오프셋 0인 마스크 값을 적용한다.
전술한 본 발명의 제1실시 예에서 프레임 경계로부터 특정 오프셋을 가지는 시점에서 스크램블링 코드를 초기화하기 위하여 마스킹 기법을 적용하는 예를 도 15에 도시하였다.
상기 도 15를 참조하면, 프레임 경계로부터 mM 칩만큼 떨어진 시점에서 스크램블링 코드를 초기화하기 위하여 mM 내지 mM+K-1 칩 오프셋에 해당하는 x시퀀스 마스크 값을 이용하고, y시퀀스에 대한 마스크 값은 오프셋 mM에 해당하는 마스크값을 이용한다. 여기서 m = 0, 1, ..., (38400/M)-1 이다. 가령 스크램블링 코드 K+2번에 대하여 M칩 오프셋을 가지는 마스킹을 적용하려면 스크램블링 코드 K번의 초기조건을 로드한 후 x 시퀀스에 M+2칩 오프셋에 해당하는 마스킹을 적용하고, y 시퀀스에는 M 칩 오프셋에 해당하는 마스킹을 적용하면 된다. 프레임 경계에 도달하면 스크램블링 코드 K의 초기조건을 로딩하고, x 시퀀스에 적용되는 마스크 값은 각각 2 칩 오프셋을 갖는 마스크를 이용하고, y 시퀀스에는 0칩의 오프셋을 갖는 마스크를 이용한다.
전술한 본 발명의 제2실시 예에서 프레임 경계로부터 특정 오프셋을 가지는 시점에서 스크램블링 코드를 초기화하기 위하여 마스킹 기법을 적용하는 예를 도 16에 도시하였다.
상기 도 16을 참조하면, 스크램블링 코드 K+1번에 대하여 M칩 오프셋을 가지는 마스킹을 적용하려면 상기 초기화 과정을 거친 후 x 시퀀스와 y 시퀀스에 각각 M칩 오프셋에 해당하는 마스킹을 적용하면 된다. 프레임 경계에 도달하면 저장부(912)에 저장된 초기조건을 x 시퀀스 생성기(914)에 로딩하고, x 시퀀스와 y 시퀀스는 0 칩의 오프셋을 갖는 마스크를 이용한다.
전술한 본 발명의 제3실시 예에서 프레임경계로부터 특정 오프셋을 가지는 시점에서 스크램블링 코드를 초기화하기 위하여 마스킹 기법을 적용하는 예를 도 17에 도시하였다.
상기 도 17을 참조하면, 스크램블링 코드 k=mM+n에 대하여 I칩(I=i×M, i=0,1,2...)만큼의 오프셋을 가지는 마스크를 사용하는 경우 x 시퀀스 생성기에 로드되는 스크램블링 코드의 초기조건은 스크램블링 코드 n을 이용한다. 그리고, x 시퀀스에 적용되는 마스크 값은 각각 (m+i)×M칩의 오프셋을 갖는 마스크를 사용하고, y 시퀀스에 적용되는 마스크 값은 각각 i×M칩의 오프셋을 갖는 마스크를 사용한다. 상기 도 17의 실시 예에서는 i=1인 경우를 보이고 있다. 프레임 경계에 도달하면 x 시퀀스에 적용되는 마스크 값은 각각 m×M칩의 오프셋을 갖는 마스크를 이용하고, y 시퀀스에는 0칩의 오프셋을 갖는 마스크를 이용한다.
전술한 본 발명의 제4실시 예에서 프레임 경계로부터 특정 오프셋을 가지는 시점에서 스크램블링 코드를 초기화하기 위하여 마스킹을 적용하는 예를 도 18에 도시하였다.
상기 도 18을 참조하면, 스크램블링 코드 k=aM+bN+c에 대해서 프레임 경계로 부터 I칩(I=i×M, i=0,1,2...)만큼 떨어진 시점에서 초기화하는 경우 x 시퀀스 생성기에 로드되는 스크램블링 코드의 초기조건은 스크램블링 코드 b*N을 이용한다. 그리고, x 시퀀스 생성기를 사전에 c회만큼 순환 스프트(cyclic shift)시킨다. 이때 x 시퀀스생성기의 상태가 향후 스크램블링 코드 k의 초기조건으로 이용되며, 매 프레임시작점에서 스크램블링 코드 생성기에 로드된다. 한편, x 시퀀스의 마스크 값으로 (a+i)×M칩의 오프셋을 갖는 마스킹을 사용하고, y 시퀀스의 마스크 값으로 i×M칩의 오프셋을 갖는 마스킹을 사용한다. 상기 도 14의 실시 예에서는 i=1인 경우를 보이고 있다. 다음 번 프레임 경계를 만나면 x 시퀀스의 마스크 값으로 a×M칩의 오프셋을 갖는 마스킹을 사용하고, y 시퀀스의 마스크는 오프셋 0인 것을 사용하면 된다.
상술한 바와 같이 본 발명에 의하면 스크램블링 코드의 초기화를 위해 소요되는 시간을 단축시킬 수 있다. 특히, 스크램블링 코드에 대한 초기조건을 저장하는 방법에 비하여 성능 저하 없이 기억량을 줄일 수 있는 장점이 있다. 또한, 본 발명에 의하여 마스킹 기법을 활용함으로써 스크램블링 코드의 초기화가 프레임 경계가 아닌 임의의 시점에서 가능하여 셀 탐색시간을 단축시킬 수 있다.

Claims (20)

  1. 소정 상수(K)의 정수배 단위로의 스크램블링 코드들을 초기조건으로 저장하고, 상기 스크램블링 코드들 중 임의의 두 스크램블링 코드들간에 존재하는 스크램블링 코드들 각각에 대응한 오프셋들에 따른 마스크 값들을 저장하는 부호분할다중접속 이동통신시스템에서 초기화를 통해 소정 스크램블링 코드를 생성하는 방법에 있어서,
    상기 초기조건으로 저장된 스크램블링 코드들 중 상기 소정 스크램블링 코드의 번호를 넘지 않는 최대 번호의 스크램블링 코드를 로드하는 과정과,
    상기 저장된 마스크 값들 중 상기 소정 스크램블링 코드의 번호와 상기 로드된 스크램블링 코드의 번호간의 오프셋에 해당하는 마스크 값을 로드하는 과정과,
    상기 로드된 스크램블링 코드를 상기 로드된 마스크 값으로 마스킹함으로서 상기 소정 스크램블링 코드를 생성하는 과정을 포함함을 특징으로 하는 스크램블링 코드 생성 방법.
  2. 제1항에 있어서,
    상기 소정 스크램블링 코드를 생성하기 위한 초기화는 매 프레임의 경계에서 이루어짐을 특징으로 하는 스크램블링 코드 생성 방법.
  3. 부호분할다중접속 이동통신시스템에서 초기화를 통해 소정 스크램블링 코드를 생성하는 장치에 있어서,
    소정 상수(K)의 정수배 단위로의 스크램블링 코드들과, 상기 스크램블링 코드들 중 임의의 두 스크램블링 코드들간에 존재하는 스크램블링 코드들 각각에 대응한 오프셋들에 따른 마스크 값들을 저장하여 제어부로부터의 로드 명령에 의해 상기 스크램블링 코드들 중 하나의 스크램블링 코드와 상기 마스크 값들 중 하나의 마스크 값을 로드하는 저장부와,
    상기 초기화 요구가 있을 시 초기조건으로 저장된 스크램블링 코드들 중 상기 소정 스크램블링 코드의 번호를 넘지 않는 최대 번호의 스크램블링 코드의 로드를 명령하고, 상기 저장된 마스크 값들 중 상기 소정 스크램블링 코드의 번호와 상기 로드된 스크램블링 코드의 번호간의 오프셋에 해당하는 마스크 값의 로드를 명령하는 상기 제어부와,
    상기 저장부로부터 로드되는 상기 스크램블링 코드를 상기 저장부로부터 로드되는 마스크 값으로 마스킹함으로서 상기 소정 스크램블링 코드를 생성하는 스크램블링 코드 생성부를 포함함을 특징으로 하는 스크램블링 코드 생성 장치.
  4. 제3항에 있어서,
    상기 소정 스크램블링 코드를 생성하기 위한 초기화는 매 프레임의 경계에서 이루어짐을 특징으로 하는 스크램블링 코드 생성 장치.
  5. 소정 상수(K)의 정수배 단위로의 스크램블링 코드들을 초기조건으로 저장하는 부호분할다중접속 이동통신시스템에서 초기화를 통해 소정 스크램블링 코드를 생성하는 방법에 있어서,
    상기 초기조건으로 저장된 스크램블링 코드들 중 상기 소정 스크램블링 코드의 번호를 넘지 않는 최대 번호의 스크램블링 코드를 로드하는 과정과,
    상기 소정 스크램블링 코드의 번호와 상기 로드된 스크램블링 코드의 번호간의 오프셋에 의해 상기 로드된 스크램블링 코드를 순환 쉬프트 시켜 상기 소정 스크램블링 코드를 생성하는 과정을 포함함을 특징으로 하는 스크램블링 코드 생성 방법.
  6. 제5항에 있어서,
    상기 소정 스크램블링 코드를 생성하기 위한 초기화는 매 프레임의 경계에서 이루어짐을 특징으로 하는 스크램블링 코드 생성 방법.
  7. 제6항에 있어서,
    상기 생성한 상기 소정 스크램블링 코드를 다음 초기화를 위해 저장하는 과정을 더 구비함을 특징으로 하는 스크램블링 코드 생성 방법.
  8. 부호분할다중접속 이동통신시스템에서 초기화를 통해 소정 스크램블링 코드를 생성하는 장치에 있어서,
    소정 상수(K)의 정수배 단위로의 스크램블링 코드들을 저장하여 제어부로부터의 로드 명령에 의해 상기 스크램블링 코드들 중 하나의 스크램블링 코드를 로드하는 저장부와,
    상기 초기화 요구가 있을 시 초기조건으로 저장된 스크램블링 코드들 중 상기 소정 스크램블링 코드의 번호를 넘지 않는 최대 번호의 스크램블링 코드의 로드를 명령하고, 상기 소정 스크램블링 코드의 번호와 상기 로드된 스크램블링 코드의 번호간의 오프셋에 의해 상기 로드된 스크램블링 코드의 순환 쉬프트를 명령하는 상기 제어부와,
    상기 저장부로부터 로드되는 상기 스크램블링 코드를 상기 제어부로부터의 명령에 의해 순환 쉬프트 시킴으로서 상기 소정 스크램블링 코드를 생성하는 스크램블링 코드 생성부를 포함함을 특징으로 하는 스크램블링 코드 생성 장치.
  9. 제8항에 있어서,
    상기 소정 스크램블링 코드를 생성하기 위한 초기화는 매 프레임의 경계에서 이루어짐을 특징으로 하는 스크램블링 코드 생성 장치.
  10. 제9항에 있어서, 상기 저장부는,
    상기 스크램블링 코드 생성부로부터 생성된 상기 소정 스크램블링 코드를 다음 초기화를 위해 저장함을 특징으로 하는 스크램블링 코드 생성 장치.
  11. 최초 스크램블링 코드로부터 연속하는 소정 개수(M)의 스크램블링 코드들을 저장하고, M칩 단위로의 마스크 값들을 저장하는 부호분할다중접속 이동통신시스템에서 초기화를 통한 소정 스크램블링 코드를 생성하는 방법에 있어서,
    상기 소정 개수(M)로 상기 소정 스크램블링 코드의 번호를 모듈러 연산한 값에 의해 상기 저장된 스크램블링 코드들 중 하나의 스크램블링 코드를 선택하여 로드하는 과정과,
    상기 저장된 마스크 값들 중 상기 소정 스크램블링 코드의 번호를 넘지 않는 최대 오프셋을 가지는 마스크 값을 로드하는 과정과,
    상기 로드된 스크램블링 코드를 상기 로드된 마스크 값으로 마스킹함으로서 상기 소정 스크램블링 코드를 생성하는 과정을 포함함을 특징으로 하는 스크램블링 코드 생성 방법.
  12. 제11항에 있어서,
    상기 소정 스크램블링 코드를 생성하기 위한 초기화는 매 프레임의 경계에서 이루어짐을 특징으로 하는 스크램블링 코드 생성 방법.
  13. 부호분할다중접속 이동통신시스템에서 초기화를 통한 소정 스크램블링 코드를 생성하는 장치에 있어서,
    최초 스크램블링 코드로부터 연속하는 소정 개수(M)의 스크램블링 코드들을 저장하고, M칩 단위로의 마스크 값들을 저장하여 제어부로부터의 명령에 의해 상기 소정 개수(M)의 스크램블링 코드들 중 하나의 스크램블링 코드와 상기 마스크 값들 중 하나의 마스크 값을 로드하는 저장부와,
    상기 소정 개수(M)로 상기 소정 스크램블링 코드의 번호를 모듈러 연산한 값에 의해 상기 저장된 스크램블링 코드들 중 하나의 스크램블링 코드의 로드를 명령하고, 상기 저장된 마스크 값들 중 상기 소정 스크램블링 코드의 번호를 넘지 않는 최대 오프셋을 가지는 마스크 값의 로드를 명령하는 제어부와,
    상기 저장부로부터 로드된 스크램블링 코드를 상기 저장부로부터 로드된 마스크 값으로 마스킹함으로서 상기 소정 스크램블링 코드를 생성하는 스크램블링 코드 생성부를 포함함을 특징으로 하는 스크램블링 코드 생성 장치.
  14. 제13항에 있어서,
    상기 소정 스크램블링 코드를 생성하기 위한 초기화는 매 프레임의 경계에서 이루어짐을 특징으로 하는 스크램블링 코드 생성 장치.
  15. 소정 상수(N)의 정수배 단위로 소정 개수(L)의 스크램블링 코드들을 초기조건으로 저장하고, 상기 소정 상수(N)와 상기 소정 개수(L)의 곱의 결과(M)를 칩 단위로 하는 마스크 값들을 저장하는 부호분할다중접속 이동통신시스템에서 초기화를 통해 소정 스크램블링 코드를 생성하는 방법에 있어서,
    상기 저장된 스크램블링 코드들 중 상기 곱의 결과(M)로 상기 소정 스크램블링 코드의 번호를 모듈러 연산한 값을 넘지 않는 최대 번호를 가지는 스크램블링 코드를 로드하는 과정과,
    상기 소정 스크램블링 코드를 생성하기 위해 요구되어지는 횟수만큼 상기 로드한 스크램블링 코드를 순환 쉬프트 시키는 과정과,
    상기 저장된 마스크 값들 중 상기 소정 스크램블링 코드의 번호를 넘지 않는 최대 오프셋을 가지는 마스크 값을 로드하는 과정과,
    상기 순환 쉬프트된 상기 스크램블링 코드를 상기 로드된 마스크 값으로 마스킹함으로서 상기 소정 스크램블링 코드를 생성하는 과정을 포함함을 특징으로 하는 스크램블링 코드 생성 방법.
  16. 제15항에 있어서,
    상기 소정 스크램블링 코드를 생성하기 위한 초기화는 매 프레임의 경계에서 이루어짐을 특징으로 하는 스크램블링 코드 생성 방법.
  17. 제16항에 있어서,
    상기 순환 쉬프트된 상기 스크램블링 코드를 다음 초기화를 위해 저장하는 과정을 더 구비함을 특징으로 하는 스크램블링 코드 생성 방법.
  18. 부호분할다중접속 이동통신시스템에서 초기화를 통해 소정 스크램블링 코드를 생성하는 장치에 있어서,
    소정 상수(N)의 정수배 단위로 소정 개수(L)의 스크램블링 코드들을 초기조건으로 저장하고, 상기 소정 상수(N)와 상기 소정 개수(L)의 곱의 결과(M)를 칩 단위로 하는 마스크 값들을 저장하여 제어부로부터의 명령에 의해 상기 저장된 스크램블링 코드들 중 하나의 스크램블링 코드와 상기 저장된 마스크 값들 중 하나의 마스크 값을 로드하는 저장부와,
    상기 저장된 스크램블링 코드들 중 상기 곱의 결과(M)로 상기 소정 스크램블링 코드의 번호를 모듈러 연산한 값을 넘지 않는 최대 번호를 가지는 스크램블링 코드의 로드를 명령하고, 상기 소정 스크램블링 코드를 생성하기 위해 요구되어지는 횟수만큼 상기 로드한 스크램블링 코드의 순환 쉬프트를 명령하며, 상기 저장된 마스크 값들 중 상기 소정 스크램블링 코드의 번호를 넘지 않는 최대 오프셋을 가지는 마스크 값의 로드를 명령하는 제어부와,
    상기 저장부로부터 로드된 상기 스크램블링 코드를 상기 제어부의 명령에 의해 순환 쉬프트하고, 상기 순환 쉬프트된 상기 스크램블링 코드를 상기 저장부로부터 로드된 마스크 값으로 마스킹함으로서 상기 소정 스크램블링 코드를 생성하는 스크램블링 코드 생성부를 포함함을 특징으로 하는 스크램블링 코드 생성 장치.
  19. 제18항에 있어서,
    상기 소정 스크램블링 코드를 생성하기 위한 초기화는 매 프레임의 경계에서 이루어짐을 특징으로 하는 스크램블링 코드 생성 장치.
  20. 제18항에 있어서, 상기 저장부는,
    상기 순환 쉬프트된 상기 스크램블링 코드를 다음 초기화를 위해 저장함을 특징으로 하는 스크램블링 코드 생성 장치.
KR1020010061693A 2001-10-06 2001-10-06 부호분할다중접속 이동통신시스템에서 스크램블링 코드생성장치 및 방법 KR100724929B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020010061693A KR100724929B1 (ko) 2001-10-06 2001-10-06 부호분할다중접속 이동통신시스템에서 스크램블링 코드생성장치 및 방법
US10/265,147 US20030099357A1 (en) 2001-10-06 2002-10-07 Apparatus and method for generating scrambling code in a CDMA mobile communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010061693A KR100724929B1 (ko) 2001-10-06 2001-10-06 부호분할다중접속 이동통신시스템에서 스크램블링 코드생성장치 및 방법

Publications (2)

Publication Number Publication Date
KR20030029330A KR20030029330A (ko) 2003-04-14
KR100724929B1 true KR100724929B1 (ko) 2007-06-04

Family

ID=19714927

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010061693A KR100724929B1 (ko) 2001-10-06 2001-10-06 부호분할다중접속 이동통신시스템에서 스크램블링 코드생성장치 및 방법

Country Status (2)

Country Link
US (1) US20030099357A1 (ko)
KR (1) KR100724929B1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4792196B2 (ja) * 2003-03-27 2011-10-12 三洋電機株式会社 データ入出力方法、およびその方法を利用可能な記憶装置およびホスト装置
US7403574B2 (en) * 2003-08-29 2008-07-22 The Directv Group, Inc. Simplified scrambling scheme for satellite broadcasting systems
DE10359268B4 (de) * 2003-12-17 2011-05-19 Infineon Technologies Ag Vorrichtung zum Erzeugen von Sendesignalen in einer Mobilfunkstation mittels eines Verwürfelungscode-Generators für Präambeln und für Sendesignale dedizierter physikalischer Kanäle
WO2006058562A1 (en) * 2004-12-01 2006-06-08 Telecom Italia S.P.A. Method for assigning scrambling codes in a cdma cellular mobile communications network
SG166823A1 (en) * 2005-11-07 2010-12-29 Agency Science Tech & Res Method and system for transmitting a signal to a communication device in a cellular communication system
US20090129448A1 (en) * 2006-02-15 2009-05-21 Joshua Lawrence Koslov Apparatus and Method For Generating Scrambling Codes
US7991040B2 (en) * 2006-04-04 2011-08-02 Qualcomm Incorporated Methods and apparatus for reduction of a peak to average ratio for an OFDM transmit signal
KR100970003B1 (ko) 2007-05-02 2010-07-16 한국전자통신연구원 신호 송신 방법 및 장치
US8315291B2 (en) * 2009-07-02 2012-11-20 Cambridge Silicon Radio Limited Method and apparatus for generating scrambling codes
JP5344045B2 (ja) * 2009-09-30 2013-11-20 富士通株式会社 無線通信装置および無線通信方法
CN105790877B (zh) * 2014-12-25 2023-05-23 锐迪科(重庆)微电子科技有限公司 扰码快速产生装置和方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0971489A2 (en) * 1992-04-13 2000-01-12 Telefonaktiebolaget Lm Ericsson Method and transmitter in a CDMA communication system
KR20000017241A (ko) * 1998-08-12 2000-03-25 크리스티안 그레그와르 특히 cdma 셀룰러 이동 무선 시스템에서의 전송에 대해 공통 스크램블링 코드를 유지하면서 상이한 스프레딩 팩터들을허용하는 장치
KR20010046635A (ko) * 1999-11-13 2001-06-15 이병기 분산 표본 포착을 이용한 고속 셀 탐색 방법 및 그를 위한장치
KR20020090722A (ko) * 2001-05-29 2002-12-05 엘지전자 주식회사 이동통신시스템에서의 스크램블링 코드 생성 장치 및 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491718A (en) * 1994-01-05 1996-02-13 Nokia Mobile Phones Ltd. CDMA radiotelephone having optimized slotted mode and long code operation
DE60009052T2 (de) * 2000-07-21 2004-10-21 St Microelectronics Nv RAKE-Empfänger für ein CDMA System, insbesondere in einem zellularen Mobiltelefon

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0971489A2 (en) * 1992-04-13 2000-01-12 Telefonaktiebolaget Lm Ericsson Method and transmitter in a CDMA communication system
KR20000017241A (ko) * 1998-08-12 2000-03-25 크리스티안 그레그와르 특히 cdma 셀룰러 이동 무선 시스템에서의 전송에 대해 공통 스크램블링 코드를 유지하면서 상이한 스프레딩 팩터들을허용하는 장치
KR20010046635A (ko) * 1999-11-13 2001-06-15 이병기 분산 표본 포착을 이용한 고속 셀 탐색 방법 및 그를 위한장치
KR20020090722A (ko) * 2001-05-29 2002-12-05 엘지전자 주식회사 이동통신시스템에서의 스크램블링 코드 생성 장치 및 방법

Also Published As

Publication number Publication date
US20030099357A1 (en) 2003-05-29
KR20030029330A (ko) 2003-04-14

Similar Documents

Publication Publication Date Title
KR100594042B1 (ko) 비동기 이동통신시스템의 멀티 스크램블링 코드 생성 장치 및 방법
JP3730125B2 (ja) 符号分割多重接続移動通信システムにおけるセル検索装置及び方法
KR100689562B1 (ko) 코드 분할 다중 접속 통신에서 4 위상 확산 코드
KR100724929B1 (ko) 부호분할다중접속 이동통신시스템에서 스크램블링 코드생성장치 및 방법
EP1351421A1 (en) Apparatus and method for generating scrambling code in UMTS mobile communication system
AU6481300A (en) Method for communicating scrambling code ID in mobile communication system
US6907060B2 (en) Method for generating OVSF codes in CDMA multi-rate system
RU2193282C2 (ru) Устройство и способ выработки четверичного комплексного квазиортогонального кода и расширения сигнала передачи с использованием квазиортогонального кода в системе связи мдкр
AU764193B2 (en) Method for generating complex quasi-orthogonal code and apparatus and method for spreading channel data using the quasi-orthogonal code in CDMA communication system
KR100360729B1 (ko) 무선 수신 장치와, 그를 구비한 통신 단말 장치 및 확산 부호 동정 방법
WO2000065757A1 (en) Apparatus and method for generating spreading code in cdma communication system
US6052404A (en) Radio communication system employing a spread-spectrum technique
US6456612B1 (en) Device and method for generating short PN code in a mobile communication system
KR100493074B1 (ko) 비동기방식의 부호분할다중접속 이동통신시스템에서 코드생성장치 및 방법
KR100308150B1 (ko) 이동 통신 시스템에서 셀 탐색 방법
WO2001050659A1 (en) Method and device for orthogonal variable spreading factor codes and hadamard matrices generation
US7286589B1 (en) Method and apparatus for generation of downlink scrambling code in wideband CDMA mobile devices
KR100369659B1 (ko) 부호분할다중접속 통신시스템에서 코드포착을 위한상관장치 및 방법
KR101066316B1 (ko) 직접 확산 대역 통신 시스템에서 마스크 패턴 변환을이용한 피엔 시퀀스 생성 방법 및 장치
KR100212486B1 (ko) 저속병렬상관기
EP1422832A1 (en) Process and device for synchronization and codegroup identification in CDMA cellular communication systens
KR100805342B1 (ko) 직교 확산 방법
KR100406520B1 (ko) 광대역-코드분할다중접속 시스템에서의 스크램블링 코드 탐색방법
KR100763599B1 (ko) 임의의 오프셋을 갖는 단축된 주기의 의사잡음 코드를 생성하기 위한 의사잡음 코드 생성 장치 및 그 방법
KR19990009540A (ko) 코드분할다중접속방식의 무선가입자 망 시스템에서 기지국 시퀀스 할당 방법

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
LAPS Lapse due to unpaid annual fee