KR100800800B1 - 선형궤환시프트레지스터를 이용한 부호 생성 방법 및 장치 - Google Patents

선형궤환시프트레지스터를 이용한 부호 생성 방법 및 장치 Download PDF

Info

Publication number
KR100800800B1
KR100800800B1 KR1020050080387A KR20050080387A KR100800800B1 KR 100800800 B1 KR100800800 B1 KR 100800800B1 KR 1020050080387 A KR1020050080387 A KR 1020050080387A KR 20050080387 A KR20050080387 A KR 20050080387A KR 100800800 B1 KR100800800 B1 KR 100800800B1
Authority
KR
South Korea
Prior art keywords
lfsr
shift register
state value
state
output
Prior art date
Application number
KR1020050080387A
Other languages
English (en)
Other versions
KR20070024840A (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 KR1020050080387A priority Critical patent/KR100800800B1/ko
Priority to US11/511,505 priority patent/US20070047623A1/en
Publication of KR20070024840A publication Critical patent/KR20070024840A/ko
Application granted granted Critical
Publication of KR100800800B1 publication Critical patent/KR100800800B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J13/00Code division multiplex systems
    • H04J13/10Code generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • G06F7/584Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

이동 통신시스템에서 부호 생성을 위해 사용되는 선형궤환시프트레지스터(Linear Feedback Shift Register)의 스테이트를 빠르게 계산하여 부호를 생성하는 방법 및 장치가 개시되어 있다. 이러한 본 발명에 따르면, 슬립모드와, 상기 슬립모드로부터 미리 설정된 시간구간 간격으로 정해지는 액티브모드에서 동작하며 n-스테이지의 선형궤환시프트레지스터(LFSR)를 포함하는 통신시스템에서 사용되는 부호를 생성하기 위한 방법은, 상기 LFSR의 현재 스테이트 값을 각각 {20,21,,2n-1}만큼 시프트시키기 위하여 상기 LFSR의 현재 스테이트 값과 n개의 서로 다른 마스크패턴들을 결합하는 과정과, 상기 결합 결과를 상기 슬립모드중 비고정적으로 결정되는 임의의 시간에서 상기 LFSR의 새로운 스테이트 값으로 제공하는 과정을 포함한다. 또한, 본 발명에 따르면, 상기 LFSR의 현재 스테이트 값을 임의의 시간후의 값으로 변환하기 위하여 마스크 패턴을 사용하지 않고 제곱 & 곱셈연산 (Square-n-Multiply) 방식에 의해 부호를 생성하기 위한 방법이 제공된다.
LFSR, 스테이트, 슬립모드, 마스크패턴

Description

선형궤환시프트레지스터를 이용한 부호 생성 방법 및 장치 {PSEUDORANDOM BINARY SEQUENCE GENERATION METHOD AND APPARATUS USING LINEAR FEEDBACK SHIFT REGISTER}
도 1은 종래기술에 따른 의사잡음 생성기의 스테이트 계산을 위한 장치의 일 예를 보여주는 블록 다이아그램.
도 2는 종래기술에 따른 의사잡음 생성기의 스테이트 계산을 위한 장치의 다른 예를 보여주는 블록 다이아그램.
도 3은 종래기술에 따른 의사잡음 생성기의 스테이트 계산을 위한 동작의 처리 흐름의 또 다른 예를 보여주는 도면.
도 4는 일반적인 슬루 동작의 개념을 설명하기 위한 도면.
도 5는 종래기술에 따른 의사잡음 생성기의 스테이트 계산 동작의 문제점을 설명하기 위한 신호 타이밍도.
도 6은 본 발명에 따른 의사잡음 생성기의 스테이트 계산을 위한 장치의 일 예를 보여주는 블록 다이아그램.
도 7은 도 6에 도시된 장치에 의한 스테이트 계산 동작의 처리 흐름을 보여주는 도면.
도 8은 본 발명에 따른 의사잡음 생성기의 스테이트 계산을 위한 장치의 다 른 예를 보여주는 블록 다이아그램.
도 9는 도 8에 도시된 장치에 의한 스테이트 계산 동작의 처리 흐름을 보여주는 도면.
도 10은 본 발명에 따른 의사잡음 생성기의 스테이트 계산을 위한 처리 흐름의 또 다른 예를 보여주는 도면.
도 11a 및 도 11b는 도 10에 도시된 처리 흐름에 의한 곱셈 연산과 제곱 연산을 수행하는 시프트레지스터 로직의 구성의 일 예를 보여주는 도면.
도 12는 본 발명에 따른 의사잡음 생성기의 스테이트 계산을 위한 장치에 따른 블록 다이아그램.
도 13은 도 12에 도시된 장치에 의한 스테이트 계산 동작의 신호 타이밍도.
도 14 내지 도 16은 도 12에 도시된 장치에 의한 제곱연산 동작시 각 시프트레지스터들에 궤환되는 선형조합 함수를 보여주는 도면들.
본 발명은 선형궤환시프트레지스터(Linear Feedback Shift Register: 이하 LFSR이라 칭함)에 관한 것으로, 특히 이동 통신시스템에서 부호 생성을 위해 사용되는 LFSR의 스테이트를 빠르게 계산하여 부호를 생성하는 방법 및 장치에 관한 것이다.
LFSR은 선형 피드백을 사용하여 순서화된 2진 비트열의 의사랜덤 시퀀스(pseudorandom binary sequence)를 생성하는 회로를 말한다. 이 회로에서는 클록의 주기에 맞추어 여러 개의 시프트 레지스터의 내용이 하나씩 시프트되고 동시에 출력값과 시프트 레지스터의 배타적 논리합 연산값이 시프트 레지스터의 입력으로 인가된다. 이러한 LFSR은 전송을 위한 데이터의 암호화나 동기화를 위해 널리 사용되는데, 대표적으로 cdma2000이나 UMTS(Universal Mobile Telecommunication Systems)와 같은 부호분할다중접속(Code Division Multiple Access: 이하 "CDMA"라 칭함)방식 이동 통신시스템의 의사잡음(Pseudo Noise: 이하 "PN"이라 칭함) 생성기 등에 적용되고 있다.
상기 CDMA 시스템의 단말기에는 전력 소모를 줄이기 위한 다양한 기술들이 적용되고 있다. 대표적인 기술이 슬립모드(sleep mode) 동작인데, 이 슬립모드에서도 전력 소모를 줄이는 방안이 고려되고 있다. 상기 PN 생성기를 구성하는 LFSR을 구동하는 클럭(clock)은 보통 고속으로 동작하는 TCXO(Temperature Compensated Crystal Oscillator)가 제공하는데, 슬립모드에서는 상기 TCXO를 저속으로 동작시키고 LFSR의 전원을 차단함으로써 전력 소모를 줄일 수 있다. 예를 들면, cdma2000 1x 시스템에서는 1.2288Mchip/sec로 동작하는 고속의 42-스테이지(stage) LFSR에 의해 롱(long) PN 부호(code)가 발생되는데, 슬립모드에서는 상기 LFSR의 전원을 차단하고 고속의 클럭 대신에 저속의 클럭을 이용하여 경과 시간을 센다. 이때 만약 단말기가 고정 주기로 슬립과 깨어나는(wake-up) 동작을 반복한다면, 슬립 시간에 해당하는 칩(chip) 수만큼 LFSR의 스테이트(state)를 전진(advance)시키는 마스 크패턴(mask pattern)을 사용함으로써 깨어난 후부터 사용될 LFSR의 스테이트를 구하는 방안이 제안된 바 있다.
상기 LFSR이 슬립모드에서 깨어나는 주기가 일정한 경우, 고정된 마스크패턴을 이용하여 슬립모드에서 깨어난 이후에 사용될 LFSR 스테이트를 구하는 장치가 도 1 및 도 2에 도시되어 있다. 도 1은 종래기술에 따른 PN 생성기의 스테이트 계산을 위한 장치의 일 예를 보여주는 블록 다이아그램으로, 이 장치는 피보나치(Fibonacci) 연결 방식의 4-stage LFSR에 대한 스테이트를 계산하는 동작을 수행한다.
상기 도 1을 참조하면, 상기 장치는 주어진 마스크패턴을 이용하여, 현재 LFSR 스테이트를 추출하고 이로부터 상기 마스크패턴이 의미하는 시간 후의 스테이트를 구한다. 이러한 동작을 위하여 먼저 SW1과 SW2는 닫고 SW3는 열어 둔 상태에서 4칩을 진행하여 버퍼들 R3,R2,R1,R0에 원하는 스테이트를 저장한다. 이후에 반대로 SW1과 SW2는 열고 SW3는 닫아 5칩째부터 8칩까지 R3,R2,R1,R0값을 LFSR의 레지스터 S3,S2,S1,S0에 차례로 채워 넣는다. 여기서는 R3,R2,R1,R0값을 S3,S2,S1,S0에 직렬로(serially) 집어 넣는 방식으로 설명하고 있으나, 병렬로 한번에 입력도 가능하다. 8칩 이후부터는 원하는 스테이트가 S3,S2,S1,S0에 채워졌으므로 SW1만 닫은 상태에서 정상적으로 LFSR을 구동하면 된다.
상기 도 1에 도시된 장치를 확장 적용하면, n-stage LFSR에 대하여 {2n} 칩이 지난 후에 원하는 LFSR 스테이트를 구할 수 있다. 따라서 만약 상기 장치를 LFSR의 칩레이트(chip rate)와 같은 속도로 구동하고 LFSR은 슬립모드의 시작 시점으로부터 T칩 후에 슬립모드에서 깨어난다고 가정할 경우, {T-2n} 칩 시점에서 T칩 앞선 마스크패턴(advance mask pattern)을 가지고 상기 장치를 시동하면 된다. 상기 장치가 LFSR 스테이트 연산 구간에 한하여 칩레이트보다 빨리 진행되고 그 소요 시간이 x(<2n) 칩이라고 가정하면, 슬립모드의 시작 시점으로부터 {T-x} 칩 후에 동작을 시작하면 된다.
도 2는 종래기술에 따른 PN 생성기의 스테이트 계산을 위한 장치의 다른 예를 보여주는 블록 다이아그램으로, 이 장치는 갈로와(Galois) 연결 방식의 4-stage LFSR에 대한 스테이트를 계산하는 동작을 수행한다.
상기 도 2를 참조하면, 상기 장치는 도 1에 도시된 장치와 같이 R3,R2,R1,R0을 구하지만 이것을 다시 선형 조합하여 R'3,R'2,R'1,R'0을 구하고 이를 LFSR의 레지스터 S3,S2,S1,S0에 차례로 채워 넣는다. 여기서는 R'3,R'2,R'1,R'0 값을 S3,S2,S1,S0에 직렬로(serially) 집어 넣는 방식을 설명하고 있으나, 병렬로 입력할 경우 R'3,R'2,R'1,R'0에 해당하는 R3,R2,R1,R0의 적절한 선형 조합을 바로 S3,S2,S1,S0에 입력하면 된다.
상기 도 1 및 도 2에 도시된 바와 같은 장치와 다르게 슬립모드의 시작시점으로부터 고정 시간이 아닌 임의 시간 t(=tn-1 tn-2 t0)2) 칩 후에 n-stage LFSR의 스테이트를 구하는 종래기술에 따른 처리 흐름이 도 3에 도시되어 있다. 이 처리 흐 름에 따르면, 유한체 GF(2n)상에서 직접 곱셈 방법을 사용할 수 있다.
상기 도 3을 참조하면, 슬립모드의 시작점에서 갈로와 연결 방식의 LFSR 스테이트를 GF(2n)상의 원소
Figure 112005048529085-pat00001
로 변환(map)하고(33단계) 여기에 원시원소(primitive element)
Figure 112005048529085-pat00002
의 t승인
Figure 112005048529085-pat00003
을 곱한다. 이 곱셈 결과를 다시 LFSR의 스테이트로 역변환(de-map)하면 원하는 결과를 얻을 수 있다(39단계). 이 때 계산량을 줄이기 위하여
Figure 112005048529085-pat00004
을 직접 구하지 않고 0≤i≤n-1의 범위에 있는
Figure 112005048529085-pat00005
를 미리 테이블에 저장하여 사용한다(31단계). 그러면
Figure 112005048529085-pat00006
를 계산하는 대신 i를 1씩 증가시키면서 ti가 1인 경우에 대해서만 테이블에 적힌
Figure 112005048529085-pat00007
Figure 112005048529085-pat00008
에 누적 곱셈하면 된다(36단계).
한편, CDMA 시스템의 탐색기(searcher)나 핑거(finger)에서는 다중경로 컴바이닝(multipath combining) 또는 핸드오버(handover)를 위해 슬루(slew) 동작이 수행된다. 클럭의 증감을 이용한 슬루 동작에 대한 일반적인 개념이 도 4에 도시되어 있는데, 이러한 동작은 PN 생성기의 현재 스테이트 대신에 경과 시간에 대한 새로운 스테이트를 구하는 것에 해당한다.
상기 도 4를 참조하면, PN 수열의 한 주기를 나타내는 PN 원(circle)상에서 그림과 같이 PN 수열을 지연(retard)시키고 싶을 때는 PN 발생기의 클럭 속도를 정상상태의 1/2로 줄이고, 반대로 수열을 전진(advance)시키고 싶을 때는 정상상태의 클럭 속도보다 2배 이상 빠른 속도로 동작시킨다.
전술한 바와 같은 종래기술이 가지는 문제점을 살펴보면 다음과 같다.
슬립 모드에서 일정한 시간 간격으로 깨어나는 경우, 도 1 및 도 2에 도시된 바와 같은 장치는 간단하고 효과적이다. 도 5에 도시된 바와 같이 슬립 모드에서는 LFSR과 이를 구동하는 고속의 클럭은 전원이 차단되고, k칩 단위의 저속 카운터가 경과 시간을 카운트하게 된다. 이때 미리 저장된 마스크패턴이 현재 LFSR 스테이트로부터 T/4, T/2, 3T/4, T칩 후의 스테이트를 발생시킬 수 있다고 가정하자. T가 충분히 크고 사용자 인터럽트(user interrupt)가 T/4칩과 T/2 칩 사이에서 발생했을 경우, 상기 사용자 인터럽트로부터 가장 근처에 있으며 계산 가능한 다음 LFSR 스테이트는 T/2 칩에서의 스테이트이다. 그러므로, 사용자 인터럽트가 발생한 시점부터 다음 스테이트의 계산이 가능한 시점까지 대략 δ칩 만큼의 대기시간이 생기게 된다. 이러한 대기 시간을 없애기 위해서는 모든 k칩의 배수에 대하여 T칩까지 T/k개의 모든 마스크패턴을 저장하거나 경과 시간 후의 스테이트를 직접 계산하여야만 하는데, 필요한 마스크패턴을 모두 저장할 경우 그 만큼의 메모리가 필요하다는 문제점이 있다.
한편, 도 3에 도시된 바와 같이 임의의 시간 후에 스테이트를 계산하는 처리 흐름을 소프트웨어로 구성하면 연산 및 자료의 읽기/쓰기에 따른 처리 지연이 발생하며, 만약 이를 하드웨어로 구성할 경우는 매우 복잡한 연산 로직이 필요하다는 문제점이 있다.
다른 한편, 이미 앞서서 설명한 바와 같이 슬루 동작은 경과시간에 대한 새 로운 LFSR 스테이트를 구하는 것인데, 이 동작은 LFSR을 구동하는 클럭의 속도를 조절하여 LFSR을 지연(retard) 또는 전진(advance)시킴으로써 가능하다. 이때 슬루에 걸리는 시간은 슬루량에 비례하게 된다. 그런데 도면에 도시된 바와 같이 지연과 전진 동작을 위하여 각각 정상적인 클럭(normal clock)의 1/2배와 2배 칩 클럭을 사용한다면 최악의 경우 PN 수열 주기의 반에 해당하는 칩 클럭이 필요하다는 문제점이 있다.
따라서 본 발명의 목적은 이동 통신시스템의 부호 생성기로서 사용되는 LFSR의 새로운 스테이트를 보다 빠르고 효율적으로 계산함으로써 보다 빠르고 효율적으로 부호가 생성되도록 하는 방법 및 장치를 제공함에 있다.
본 발명의 다른 목적은 이동 통신시스템의 부호 생성기로서 사용되는 LFSR의 스테이트를 계산할 시 요구되는 하드웨어적인 연산 로직을 단순화하는 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 목적은 이동 통신시스템의 부호 생성기로서 사용되는 LFSR의 새로운 스테이트를 구할 때 클럭의 수를 줄임으로써 요구되는 시간을 줄이고, 결과적으로 전력 소모를 줄임과 동시에 신호의 포착성능을 향상시키는 방법 및 장치를 제공함에 있다.
이러한 목적들을 달성하기 위한 본 발명의 제1 견지(aspect)에 따르면, n-스테이지의 선형궤환시프트레지스터(LFSR)를 이용하여 통신시스템에서 사용되는 부호를 생성하기 위한 방법은, 상기 LFSR의 현재 스테이트 값을 나타내는 특성 다항식을 유한체 갈로와필드의 원소로 표현하는 과정과, 상기 특성 다항식을 상기 갈로와필드의 원시근에 대한 함수로 표현하는 과정과, 상기 원시근에 대한 함수로 표현된 특성 다항식으로부터 비고정적으로 결정되는 임의의 시간에서의 특성 다항식을 구하는 과정과, 상기 임의의 시간에서 구해진 특성 다항식에 대해 곱셈 연산 및 제곱 연산을 반복적으로 수행하여 상기 LFSR의 새로운 스테이트 값을 제공함으로써 새로운 스테이트 값을 가지는 부호가 생성되도록 하는 과정을 포함한다.
본 발명의 제2 견지에 따르면, 슬립모드와, 상기 슬립모드로부터 미리 설정된 시간구간 간격으로 정해지는 액티브모드에서 동작하며 n-스테이지의 선형궤환시프트레지스터(LFSR)를 포함하는 통신시스템에서 사용되는 부호를 생성하기 위한 방법은, 상기 LFSR의 현재 스테이트 값을 각각 {20,21,,2n-1}만큼 시프트시키기 위하여 상기 LFSR의 현재 스테이트 값과 n개의 서로 다른 마스크패턴들을 결합하는 과정과, 상기 결합 결과를 상기 슬립모드중 비고정적으로 결정되는 임의의 시간에서 상기 LFSR의 새로운 스테이트 값으로 제공하는 과정을 포함한다.
전술한 바와 같은 내용은 당해 분야 통상의 지식을 가진 자는 후술되는 본 발명의 구체적인 설명으로 보다 잘 이해할 수 있도록 하기 위하여 본 발명의 특징들 및 기술적인 장점들을 다소 넓게 약술한 것이다.
본 발명의 청구범위의 주제를 형성하는 본 발명의 추가적인 특징들 및 장점들이 후술될 것이다. 당해 분야에서 통상의 지식을 가진 자는 본 발명의 동일한 목 적들을 달성하기 위하여 다른 구조들을 계산하거나 설계하는 기초로서 발명의 개시된 개념 및 구체적인 실시예가 용이하게 사용될 수도 있다는 사실을 인식하여야 한다. 당해 분야에서 통상의 지식을 가진 자는 또한 발명과 균등한 구조들이 본 발명의 가장 넓은 형태의 사상 및 범위로부터 벗어나지 않는다는 사실을 인식하여야 한다.
이하 본 발명의 바람직한 실시예의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 도면들 중 참조번호들 및 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호들 및 부호들로 나타내고 있음에 유의해야 한다. 하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
A. 본 발명의 개략적 설명
하기에서는 본 발명의 원리에 따라 이동 통신시스템의 PN부호 생성기로서 사용되는 LFSR의 스테이트를 임의의 시간 후에 빠르게 계산하는 새로운 알고리즘과 하드웨어 구조가 제안될 것이다. 이러한 본 발명은 종래기술에서 이미 설명되어진 바와 같이 크게 2가지 측면에서의 구현 예로 구분될 수 있다. 첫번째 측면에서의 구현 예는 CDMA 시스템의 단말이 슬립 모드에서 전력 소모를 줄이기 위하여 PN 생성기를 정지시켰다가 일정한 시간 간격으로 깨어나는 경우와 관련있다. 두번째 측면에서의 구현 예는 CDMA 시스템의 탐색기나 핑거에서 다중경로 컴바이닝 또는 핸드오버를 위해 칩레이트로 동작중인 PN 생성기를 임의의 칩 수만큼 빠르게 슬루(slew)시키는 동작과 관련있다. 이와 같이 본 발명은 그 구현 예에 있어서는 차이가 있으나, 양자는 모두 PN 생성기의 현재 스테이트 대신에 경과 시간에 대한 새로운 스테이트를 구하는 것이라는 동일한 기술적 사상을 따른 것이다.
먼저, 이미 앞서서 도 5와 관련하여 설명한 바와 같이, CDMA 시스템의 단말은 슬립모드의 시작으로부터 고정된 시간 구간까지 매번 기다리지 않고 사용자 요구에 의하여 임의의 시간에 깨어나 동작할 수 있어야 한다. 따라서 임의의 시점에서 LFSR 스테이트를 빠르게 복원해야 할 필요성이 있다. 본 발명에서는 이를 해결하기 위해서 슬립모드로부터 임의의 시간이 경과한 후의 LFSR 스테이트를 마스크패턴을 반복적으로 적용하여 구하는 방법 및 장치, 즉 고정된 경과시간에 대해 마스크패턴을 사용하는 종래기술의 방식을 개선하여 n-stage LFSR일 경우 n개의 마스크패턴만을 반복적으로 적용하여 임의의 시간 경과에 대한 LFSR 스테이트를 구하는 방법 및 장치를 제안한다.
다음으로, 이미 앞서서 도 4와 관련하여 설명한 바와 같이, CDMA시스템에서 탐색기나 핑거의 슬루 동작은 PN 생성기의 현재 스테이트를 임의의 시간이 경과한 후의 스테이트로 바꾸는 것과 동일하다. 슬립모드 또는 핸드오버와 관련하여 단말의 대기시간(standby time)을 증대시키거나 동기포착 성능을 향상시키기 위해서는 고속의 슬루 동작이 필요한 상황이다. 본 발명에서는 이러한 상황을 인식하고, 전술한 도 3과 같은 직접계산 방식을 개선하여 수행속도가 2n 칩 시간으로 매우 짧고 메모리 참조가 필요없는 새로운 제곱 연산 & 곱셈 연산(square-n-multiply) 방법과, 이 방법으로 구현된 슬루 장치를 제안한다. 이러한 제안에 따른 슬루 동작의 시간 단축은 탐색기 및 핑거 할당(assignment)의 고속 동작을 가능하게 하며, 전력 소모를 줄이기 위한 슬립(sleep)/아이들(idle) 모드에서는 단말의 동작시간을 줄임으로써 전력 소모를 줄일 수 있다.
B. 마스크패턴의 반복적 적용
도 6은 본 발명에 따른 PN 생성기의 스테이트 계산을 위한 장치의 일 예를 보여주는 블록 다이아그램이고, 도 7은 도 6에 도시된 장치에 의한 스테이트 계산 동작의 처리 흐름을 보여주는 도면이다. 상기 도 6은 피보나찌 연결(Fibonacci connection) 방식의 4-stage LFSR에 대하여 4번 이하의 서로 다른 마스크패턴을 연속적으로 적용시켜 임의의 시간이 흐른 뒤에 스테이트를 계산하는 장치의 블록 다이어그램을 나타낸 것이고, 이를 확장하여 상기 도 7은 n-stage LFSR에 대하여 n번 이하의 서로 다른 마스크패턴을 연속적으로 적용시켜 임의의 시간이 흐른 뒤에 스테이트를 계산하는 동작의 처리 흐름을 나타낸 것이다.
상기 도 6를 참조하면, 시프트레지스터들 S0,S1,S2,S3과, 배타적 논리합 연산기들 2,4는 PN 생성기의 LFSR들이다. 이 구성요소들을 제외한 나머지 구성요소들은 상기 PN 생성기의 스테이트 계산을 위한 장치를 구성한다.
시프트레지스터 S0는 배타적 논리합 연산기 2의 출력을 입력하고 시프트 출력한다. 시프트레지스터 S1은 시프트레지스터 S0의 출력을 입력하고 시프트 출력한다. 시프트레지스터 S2는 시프트레지스터 S1의 출력을 입력하고 시프트 출력한다. 시프트레지스터 S3은 시프트레지스터 S2의 출력을 입력하고 시프트 출력한다. 상기 시프트레지스터 S3으로부터의 출력이 PN부호 출력이다. 배타적 논리합 연산기 4는 시프트레지스터 S2의 출력과 시프트레지스터 S3의 출력을 입력하고, 이 입력들을 배타적 논리합 연산하여 출력한다. 이 배타적 논리합 연산기 4의 출력은 스위치 SW1을 통해 배타적 논리합 연산기 2의 한 입력으로 제공된다. 배타적 논리합 연산기 2는 상기 배타적 논리합 연산기 4로부터의 출력과 스위치 SW3을 통한 버퍼 R3으로부터의 출력을 입력하고, 이 입력들을 배타적 논리합 연산하여 출력한다. 논리곱 연산기들 10~13은 각각 시프트레지스터들 S0~S3의 출력들과 이에 대응하는 마스크패턴들 M0~M3을 입력하고, 이 입력들을 논리곱 연산하여 출력한다. 논리곱 연산기 10은 시프트레지스터 S0의 출력과 마스크패턴 M0을 입력하고, 이 입력들을 논리곱 연산한다. 논리곱 연산기 11은 시프트레지스터 S1의 출력과 마스크패턴 M1을 입력하고, 이 입력들을 논리곱 연산한다. 논리곱 연산기 12는 시프트레지스터 S2의 출력과 마스크패턴 M2를 입력하고, 이 입력들을 논리곱 연산한다. 논리곱 연산기 13은 시프트레지스터 S3의 출력과 마스크패턴 M3을 입력하고, 이 입력들을 논리곱 연산한다. 배타적 논리합 연산기 20은 상기 논리곱 연산기들 10~13의 출력들을 입력하고 이 입력들을 배타적 논리합 연산하여 출력한다. 버퍼 R0은 상기 배타적 논리합 연산기 20의 출력을 스위치 SW2를 통해 입력하고 버퍼링한다. 버퍼 R1은 상기 버퍼 R0의 출력을 입력하고 버퍼링한다. 버퍼 R2는 상기 버퍼 R1의 출력을 입력하고 버퍼링한다. 버퍼 R3은 상기 버퍼 R2의 출력을 입력하고 버퍼링한다. 상기 버퍼 R3의 출력은 스위치 SW3을 통해 배타적 논리합 연산기 2의 한 입력으로 제공된다. 상기 버퍼들을 통해 출력되는 스테이트 값들 R3,R2,R1,R0은 LFSR의 시프트레지스터들 S3,S2,S1,S0에 직렬로 제공된다.
초기 동작시 상기 스위치들 SW1,SW2는 닫혀있는 상태이고 상기 스위치 SW3은 열려있는 상태이다. 미리 설정된 시간(예: 4칩)이 경과한 경우 상기 스위치들 SW1,SW2는 열려있는 상태로 스위칭되고 상기 스위치 SW3은 닫혀있는 상태로 스위칭된다. 다시 설정된 시간(예: 8칩)이 경과한 경우 상기 스위치들 SW1,SW2는 닫혀있는 상태로 스위칭되고 상기 스위치 SW3은 열려있는 상태로 스위칭된다. 이러한 스위칭 동작은 상기 설정 시간 단위로 반복된다.
마스크패턴들 M(20) (=M0(20)M1(20)M2(20)M3(20)), M(21) (=M0(21)M1(21)M2(21) M3(21)), M(22) (=M0(22)M1(22)M2(22)M3(22)), M(23) (=M0(23)M1(23)M2(23)M3(23))은 결과적으로 현재 스테이트를 각각 20,21,22,23만큼씩 시프트(또는 전진)시키는 역할을 한다. 왜냐하면, 상기 마스크패턴들 중 2i만큼 시프트시키는 마스크 패턴 M(2i) (=M0(2i)M1(2i)M2(2i)M3(2i))은 각각 논리곱 연산기들 10~13으로 입력되어 시프트레지스터들 S0~S3의 현재 스테이트 값들과 각각 논리곱 연산되고, 배타적 논리합 연산기 20을 거쳐 버퍼들 R0~R3에서 순차적으로 버퍼링된 후 다시 시프트레지스터 S0로 입력되기 때문이다. 상기 마스크패턴 M(20) (=M0(20)M1(20)M2(20)M3(20))은 t0=1일 때 로드(load)되고, 상기 마스크패턴 M(21) (=M0(21)M1(21)M2(21)M3(21))은 t1=1일 때 로드되고, 상기 마스크패턴 M(22) (=M0(22)M1(22)M2(22)M3(22))은 t2=1일 때 로드되고, 상기 마스크패턴 M(23) (=M0(23)M1(23)M2(23)M3(23))은 t3=1일 때 로드된다. 즉 t0=1일 때 시프트레지스터 S0의 현재 스테이트 값과 마스크패턴 M0(20)는 논리곱 연산기 10에 의해 연산되고, 시프트레지스터 S1의 현재 스테이트 값과 마스크패턴 M1(20)은 논리곱 연산기 11에 의해 연산되고, 시프트레지스터 S2의 현재 스테이트 값과 마스크패턴 M2(20)는 논리곱 연산기 12에 의해 연산되고, 시프트레지스터 S3의 현재 스테이트 값과 마스크패턴 M3(20)는 논리곱 연산기 13에 의해 연산된다. 마찬가지로 t1, t2, t3가 1일 때 상기와 같은 방식으로 연산된다.
전술한 바와 같이, 도 6은 4-stage LFSR의 현재 스테이트로부터 임의의 t(=(t3t2 … t0)2) 칩 후에 스테이트를 구하는 경우에 해당한다. 이 경우에는 현재 스테이트를 각각 20,21,22,23만큼씩 시프트(또는 전진)시키는 4개의 마스크패턴들 M(20), M(21), M(22), M(23)이 연속적으로 적용된다. 즉 0=k<4일 때 k의 순서에 상관없이 모든 k에 관하여 한 번씩 tk=1인 경우에 한해서 M(2k)를 반복적으로 적용한다. 이 방법은 t = t0 + t12 + t222 + t323 만큼의 시프트를 각각 t0 , t12, t222, t323 만큼씩 나누어 시프트하는 것과 같다.
이를 확장하면, n-stage LFSR의 현재 스테이트로부터 임의의 t(=(tn-1tn-2 … t0)2) 칩 후에 스테이트를 구하는 경우를 고려할 수 있다. 이 경우에는 현재 스테이트를 각각 20,21, … 2n-1만큼씩 시프트(또는 전진)시키는 n개의 마스크패턴들 M(20), M(21), … , M(2n-1)이 연속적으로 적용된다. 즉 0=k<n일 때 k의 순서에 상관없이 모 든 k에 관하여 한 번씩 tk=1인 경우에 한해서 M(2k)를 반복적으로 적용한다. 이 방법은 t = t0+t12+ … +tn-12n-1만큼의 시프트를 각각 t0, t12, … ,tn-12n-1만큼씩 나누어 시프트하는 것과 같다. 이러한 n-stage LFSR의 현재 스테이트로부터 임의의 t( =(tn-1tn-2 … t0)2 ) 칩 후에 스테이트를 구하는 동작의 처리 흐름이 도 7에 도시되어 있다.
상기 도 7을 참조하면, 111단계에서 제어부(또는 프로세서)(도시하지 않음)는 마스크패턴들 M(2i)(for 0≤i<n)을 테이블(도시하지 않음)에 저장한다. 이 테이블에 저장된 마스크패턴들이 도 6에 도시된 논리곱 연산기들 10~13으로 제공되는 마스크패턴들이다. 112단계에서 상기 제어부는 LFSR의 현재 스테이트로부터 임의의 t(=(tn-1tn-2 … t0)2) 칩 후의 스테이트를 구하기 위하여 슬립모드의 시간 구간중에서 t(=(tn-1tn-2 … t0)2) 칩의 시간을 취한다. 113단계에서 상기 제어부는 변수 i=0으로 설정한다. 114단계에서 상기 제어부는 ti=0인지 여부를 판단한다. 상기 114단계에서 ti=0인 것으로 판단되는 경우에는 118단계로 진행하고, ti=0이 아닌 것으로 판단되는 경우에는 115단계 내지 117단계의 동작들을 수행한 후 118단계로 진행한다. 115단계에서는 해당하는 마스크패턴 M(2i)에 의해 다음 심볼이 얻어진다. 여기서 다음 심볼이 얻어졌다는 의미는 해당하는 마스크패턴 M(2i)과 해당하는 시프트레지스터의 출력이 논리곱 연산되어 출력된다는 것을 의미한다. 116단계에서는 상기 얻어진 심볼이 스위치 SW2를 통해 버퍼들 R0~R3에 순차적으로 저장된 후 스위치 SW3을 통해 LFSR로 제공된다. 이에 따라 117단계에서 LFSR의 스테이트가 업데이트된다. 이러한 LFSR의 스테이트 업데이트 동작은 119단계에서 i가 n보다 작지 않은 것으로 판단될 때까지 반복적으로 수행된다.
전술한 도 6 및 도 7에 도시된 본 발명은 도 1 및 도 2에 도시된 종래 기술에 비해 다음과 같은 효과가 있다. 만약 도 1에 도시된 장치에서 4칩 전진시키는 마스크 패턴을 사용하고 도 6에 도시된 장치와 비슷하게 연속적으로 누적하는 방식을 적용할 경우 이론적으로 LFSR 스테이트를 모든 4의 배수의 칩만큼 전진시킬 수 있다. 그러나 도 1에 도시된 장치는 LFSR의 길이 n이 크고 상기 배수가 클 경우 마스크 패턴을 배수만큼 여러 번 적용시켜야만 한다는 한계가 있다. 따라서 도 6에 도시된 장치와 같이 2의 지수승 만큼 진행시키는 서로 다른 n개의 마스크 패턴들을 최대 n번 연속하여 적용하는 것이 최소의 마스크 패턴을 사용하여 임의의 시간 후의 LFSR 스테이트를 구할 수 있는 효과적인 방법임을 알 수 있다. 왜냐하면, 만약 t28 칩 구간에서의 스테이트를 구한다고 가정할 경우, 종래 기술에 따르면 t0 칩 구간에서의 마스크 패턴 내지 t28 칩 구간에서의 마스크 패턴중 t28 칩 구간에서의 마스크 패턴을 선택하지만, 본 발명에 따르면 종래 기술과 같이 29개의 마스크 패턴들이 필요한 것이 아니라 24(=16)에 대응하는 마스크 패턴, 23(=8)에 대응하는 마스크 패턴, 22(=4)에 대응하는 마스크 패턴만이 요구되기 때문이다.
도 8은 본 발명에 따른 PN 생성기의 스테이트 계산을 위한 장치의 다른 예를 보여주는 블록 다이아그램이고, 도 9는 도 8에 도시된 장치에 의한 스테이트 계산 동작의 처리 흐름을 보여주는 도면이다. 상기 도 8은 갈로와 연결(Galois connection) 방식의 4-stage LFSR에 대하여 4번 이하의 서로 다른 마스크패턴을 연속적으로 적용시켜 임의의 시간이 흐른 뒤의 스테이트를 계산하는 장치의 블록 다이어그램을 나타낸 것이고, 이를 확장하여 상기 도 9는 n-stage LFSR에 대하여 n번 이하의 서로 다른 마스크패턴을 연속적으로 적용시켜 임의의 시간이 흐른 뒤의 스테이트를 계산하는 동작의 처리 흐름을 나타낸 것이다.
상기 도 8을 참조하면, 시프트레지스터들 S0,S1,S2,S3과, 배타적 논리합 연산기들 6,8은 PN 생성기의 LFSR들이다. 이 구성요소들을 제외한 나머지 구성요소들은 상기 PN 생성기의 스테이트 계산을 위한 장치를 구성한다.
시프트레지스터 S0는 배타적 논리합 연산기 6의 출력을 입력하고 시프트 출력한다. 시프트레지스터 S1은 시프트레지스터 S0의 출력을 배타적 논리합 연산기 8을 통해 입력하고 시프트 출력한다. 시프트레지스터 S2는 시프트레지스터 S1의 출력을 입력하고 시프트 출력한다. 시프트레지스터 S3은 시프트레지스터 S2의 출력을 입력하고 시프트 출력한다. 상기 시프트레지스터 S3으로부터의 출력은 스위치 SW1을 거쳐 PN부호로서 출력된다. 배타적 논리합 연산기 8은 시프트레지스터 S0의 출력과 스위치 SW1을 통한 시프트레지스터 S3의 출력을 입력하고, 이 입력들을 배타적 논리합 연산하여 출력한다. 이 배타적 논리합 연산기 8의 출력은 시프트레지스터 S1의 입력으로 제공된다. 배타적 논리합 연산기 6은 스위치 SW1을 통한 시프트레지스터 S3의 출력과 스위치 SW3을 통한 버퍼 R3'의 출력을 입력하고, 이 입력들을 배타적 논리합 연산하여 출력한다.
논리곱 연산기들 10~13은 각각 시프트레지스터들 S0~S3의 출력들과 이에 대응하는 마스크패턴들 M0~M3을 각각 입력하고, 이 입력들을 논리곱 연산하여 출력한다. 논리곱 연산기 10은 시프트레지스터 S0의 출력과 마스크패턴 M0을 입력하고, 이 입력들을 논리곱 연산한다. 논리곱 연산기 11은 시프트레지스터 S1의 출력과 마스크패턴 M1을 입력하고, 이 입력들을 논리곱 연산한다. 논리곱 연산기 12는 시프트레지스터 S2의 출력과 마스크패턴 M2를 입력하고, 이 입력들을 논리곱 연산한다. 논리곱 연산기 13은 시프트레지스터 S3의 출력과 마스크패턴 M3을 입력하고, 이 입력들을 논리곱 연산한다. 배타적 논리합 연산기 20은 상기 논리곱 연산기들 10~13의 출력들을 배타적 논리합 연산하여 출력한다. 버퍼 R0은 상기 배타적 논리합 연산기 20의 출력을 스위치 SW2를 통해 입력하고 버퍼링한다. 버퍼 R1은 상기 버퍼 R0의 출력을 입력하고 버퍼링한다. 버퍼 R2는 상기 버퍼 R1의 출력을 입력하고 버퍼링한다. 버퍼 R3은 상기 버퍼 R2의 출력을 입력하고 버퍼링한다. 상기 버퍼 R3까지 모두 채워지면 R3 , R2 , R1 , R0 의 출력들은 선형 변환기 30으로 제공된다.
상기 선형 변환기 30은 상기 버퍼들 R0~R3의 출력들을 각각 입력하고 이 입력들을 선형 조합한다. 상기 선형 변환기 30에 의해 선형 조합된 결과들은 각각 버퍼들 R'3~R'0로 제공한다. 상기 선형 변환기 30에 의한 선형 조합 동작은 미리 설정된 시간(예: 4칩)이 경과한 직후 바로 수행된다. 상기 버퍼 R'3로부터의 출력은 스위치 SW3을 통해 배타적 논리합 연산기 6의 한 입력으로 제공된다. 상기 버퍼들 R'3,R'2,R'1,R'0를 통해 출력되는 스테이트 값들은 LFSR의 시프트레지스터들 S3,S2,S1,S0에 직렬로 제공된다.
초기 동작시 상기 스위치들 SW1,SW2는 닫혀있는 상태이고 상기 스위치 SW3는 열려 있는 상태이다. 미리 설정된 시간(예: 4칩)이 경과한 경우 상기 스위치들 SW1,SW2는 열려있는 상태로 스위칭되고 상기 스위치 SW3은 닫혀있는 상태로 스위칭된다. 다시 설정된 시간(예: 8칩)이 경과한 경우 상기 스위치들 SW1,SW2는 닫혀있는 상태로 스위칭되고 상기 스위치 SW3은 열려있는 상태로 스위칭된다. 이러한 스위칭 동작은 상기 설정 시간 단위로 반복된다.
마스크패턴들 M0~M3은 결과적으로 현재 스테이트를 각각 20,21,22,23만큼씩 시프트(또는 전진)시키는 역할을 한다. 왜냐하면, 상기 마스크패턴들 M0~M3은 각각 논리곱 연산기들 10~13으로 입력되어 시프트레지스터들 S0~S3의 현재 스테이트 값들과 각각 논리곱 연산되고, 배타적 논리합 연산기 20을 거쳐 버퍼들 R0~R3에서 순차적으로 버퍼링되고, 이 버퍼들 R0~R3의 출력들은 각각 선형 변환기 30에 의해 선형 조합되고 버퍼들 R'3~R'0에서 순차적으로 버퍼링된 후 다시 시프트레지스터 S0로 입력되기 때문이다.
마스크패턴들 M(20) (=M0(20)M1(20)M2(20)M3(20)), M(21) (=M0(21)M1(21)M2(21) M3(21)), M(22) (=M0(22)M1(22)M2(22)M3(22)), M(23) (=M0(23)M1(23)M2(23)M3(23))은 결과적으로 현재 스테이트를 각각 20,21,22,23만큼씩 시프트(또는 전진)시키는 역할을 한다. 왜냐하면, 상기 마스크패턴들 중 2i만큼 시프트시키는 마스크 패턴 M(2i) (=M0(2i)M1(2i)M2(2i)M3(2i))은 각각 논리곱 연산기들 10~13으로 입력되어 시프트레지스터들 S0~S3의 현재 스테이트 값들과 각각 논리곱 연산되고, 배타적 논리합 연산기 20을 거쳐 버퍼들 R0~R3에서 순차적으로 버퍼링된 후 다시 시프트레지스터 S0로 입력되기 때문이다. 상기 마스크패턴 M(20) (=M0(20)M1(20)M2(20)M3(20))은 t0=1일 때 로 드(load)되고, 상기 마스크패턴 M(21) (=M0(21)M1(21)M2(21)M3(21))은 t1=1일 때 로드되고, 상기 마스크패턴 M(22) (=M0(22)M1(22)M2(22)M3(22))은 t2=1일 때 로드되고, 상기 마스크패턴 M(23) (=M0(23)M1(23)M2(23)M3(23))은 t3=1일 때 로드된다. 즉 t0=1일 때는 시프트레지스터 S0 의 현재 스테이트 값과 마스크패턴 M0(20)는 논리곱 연산기 10에 의해 연산되고, 시프트레지스터 S1의 현재 스테이트 값과 마스크패턴 M1(20)은 논리곱 연산기 11에 의해 연산되고, 시프트레지스터 S2의 현재 스테이트 값과 마스크패턴 M2(20)는 논리곱 연산기 12에 의해 연산되고, 시프트레지스터 S3의 현재 스테이트 값과 마스크패턴 M3(20)는 논리곱 연산기 13에 의해 연산된다. 마찬가지로 t1, t2, t3가 1일 때 상기와 같은 방식으로 연산된다.
전술한 바와 같이, 도 8은 4-stage LFSR의 현재 스테이트로부터 임의의 t(=(t3t2 … t0)2) 칩 후에 스테이트를 구하는 경우에 해당한다. 이 경우에는 현재 스테이트를 각각 20,21, … 23만큼씩 시프트(또는 전진)시키는 4개의 마스크패턴들 M(20), M(21), … , M(23)이 연속적으로 적용된다. 즉 0=k<4일 때 k의 순서에 상관 없이 모든 k에 관하여 한 번씩 tk=1인 경우에 한해서 M(2k)를 반복적으로 적용한다. 이 방법은 t = t0 + t12 + t222 + t323 만큼의 시프트를 각각 t0 , t12, t222, t323 만큼씩 나누어 시프트하는 것과 같다.
이를 확장하면, n-stage LFSR의 현재 스테이트로부터 임의의 t(=(tn-1tn-2 … t0)2) 칩 후에 스테이트를 구하는 경우를 고려할 수 있다. 이 경우에는 현재 스테이트를 각각 20,21, … 2n-1만큼씩 시프트(또는 전진)시키는 n개의 마스크패턴들 M(20), M(21), … , M(2n-1)이 연속적으로 적용된다. 즉 0=k<n일 때 k의 순서에 상관없이 모든 k에 관하여 한 번씩 tk=1인 경우에 한해서 M(2k)를 반복적으로 적용한다. 이 방법은 t = t0+t12+ … +tn-12n-1만큼의 시프트를 각각 t0, t12,… ,tn-12n-1만큼씩 나누어 시프트하는 것과 같다. 이러한 n-stage LFSR의 현재 스테이트로부터 임의의 t(=(tn-1tn-2 … t0)2 ) 칩 후의 스테이트를 구하는 동작의 처리 흐름이 도 9에 도시되어 있다.
상기 도 9를 참조하면, n-stage LFSR에 대하여 n번 이하의 서로 다른 마스크패턴을 연속적으로 적용시켜 임의의 시간이 흐른 뒤의 스테이트를 계산하는 동작의 처리 흐름이 도시되어 있다. 이러한 처리 흐름은 참조부호와 216a단계의 선형변환 부분만을 달리할 뿐이지 전술한 도 7에 도시된 처리 흐름과 동일하게 수행된다. 그러므로 이에 대한 구체적인 설명은 생략하기로 한다.
C. 제곱연산 & 곱셈연산(Square-n-Multiply) 방식
하기에서는 전술한 도 6 내지 도 9에 도시된 바와 같이 마스크패턴을 사용하지 않고, 임의의 시간 후에 직접 LFSR의 스테이트를 계산할 수 있는 새로운 square-n-multiply 방식이 도 10 내지 도 13을 참조하여 설명될 것이다.
도 10과 도 12는 각각 square-n-multiply 방식으로 마스크를 이용하지 않고 직접 LFSR의 스테이트를 계산할 수 있는 알고리즘의 흐름도와 하드웨어 구성도이다. 상기 도 10의 알고리즘을 도 12와 같이 하드웨어로 구성할 경우, n-stage LFSR에 대하여 2n의 시프트 후의 임의의 스테이트로 빠르게 슬루(slew)할 수 있음을 보인다. 도 11a 및 도 11b는 n=4일 때 곱셈 연산과 제곱 연산을 수행하는 시프트레지스터의 로직을 각각 도시한 것이다. 도 13은 도 12에 도시된 장치에 의한 스테이트 계산 동작의 신호 타이밍도이다.
갈로와(Galois) 방식으로 연결된 n-stage LFSR의 초기값이 0이 아닌 경우, LFSR이 시프트함에 따라 출력되는 스테이트는 GF(2n)의 0을 제외한 모든 원소에 일대일 대응된다. 예를 들어, GF(24)의 원시근(primitive element)을
Figure 112005048529085-pat00009
라 할 때 LFSR의 스테이트중 (0010)을 이 원시근
Figure 112005048529085-pat00010
에 대응한다고 가정하면, 어떤 LFSR의 스테이 트
Figure 112005048529085-pat00011
는 하기의 <수학식 1>과 같이 표현된다.
Figure 112006063055818-pat00012
상기 <수학식 1>의
Figure 112006063055818-pat00013
로 가정했을 때, t칩 후의 스테이트는 하기의 <수학식 2>와 같다. t칩 후의 스테이트라는 것은 t번 시프트됨을 의미한다.
Figure 112005048529085-pat00014
Figure 112006063055818-pat00015
의 t칩 후의 스테이트를 구한다는 것은 상기 <수학식 2>를
Figure 112006063055818-pat00016
,
Figure 112006063055818-pat00017
,
Figure 112006063055818-pat00018
,1에 관한 선형 조합으로 하기의 <수학식 3>과 같이 표현한다는 것과 같은 의미이다.
Figure 112005048529085-pat00019
상기 <수학식 3>과 같이 표현했을 경우 a'3,a'2,a'1,a'0가 LFSR의 t칩 후의 스테이트가 된다.
예컨대, 4-stage LFSR에 대하여 t = t0+t12+t222+t323 일 때
Figure 112005048529085-pat00021
를 구하기 위한 한 방법은 제곱 연산과
Figure 112005048529085-pat00022
에 의한 곱셈 연산(by
Figure 112005048529085-pat00023
)을 반복적으로 수행하는 것이다. 이를 표현하면 하기의 <수학식 4>와 같다.
Figure 112005048529085-pat00024
Figure 112005048529085-pat00025
상기 <수학식 4>에서 두 번째 등식은 GF(2 n )에서 임의의 원소
Figure 112005048529085-pat00026
Figure 112005048529085-pat00027
라는 성질을 이용한 것이다. 따라서 제곱 연산과 곱셈 연산(by
Figure 112005048529085-pat00028
)만으로 위 <수학식 4>에 기재된 연산을 수행할 수 있다. 이러한 연산에 대한 처리 흐름이 도 10에 도시되어 있다.
상기 도 10을 참조하면, 311단계에서 제어부(또는 프로세서)(도시하지 않음)는 LFSR의 현재 스테이트로부터 임의의 t(=(tn-1tn-2 … t0)2) 칩 후의 스테이트를 구하기 위하여 슬립모드의 시간 구간중에서 t(=(tn-1tn-2 … t0)2) 칩의 시간을 취한다. 312단계에서 상기 제어부는 GF(2n) 상의 원소 β에 PN 스테이트를 매핑한다. 313단계에서 상기 제어부는 변수 i=0으로 설정한다. 314단계에서 상기 제어부는
Figure 112006063055818-pat00029
를 β로 대체한다. 315단계에서 상기 제어부는 ti = 0인지 여부를 판단한다. 상기 315단계에서 ti = 0인 것으로 판단되는 경우에는 317단계로 바로 진행하고, ti = 0가 아닌 것으로 판단되는 경우에는 316단계를 수행한 후 317단계로 진행한다. 316단계에서 상기 제어부는 {β·α}를 β로 대체한다. 317단계에서 상기 제어부는 i에 대해 314단계 내지 316단계의 동작이 수행된 경우이므로, i를 1 증가시킨 후 다시 314단계 내지 316단계의 동작을 수행한다. 이러한 동작은 318단계에서 i가 n보다 작지 않은 경우로 판단될 때까지 수행된다. 상기 318단계에서 i가 n보다 작지 않은 것, 즉 i가 n보다 같거나 큰 것으로 판단되는 경우, 319단계에서 상기 제어부는 β에 해당하는 PN 스테이트를 라이트하고 동작을 종료한다.
상기 <수학식 4>에 기재된 바와 같이, 4-stage LFSR에 대하여 t = t0+t12+t222+t323 일 때
Figure 112005048529085-pat00030
를 구하기 위한 한 방법은 제곱 연산과 곱셈 연산(by
Figure 112005048529085-pat00031
)을 반복적으로 수행함으로써 가능하다. 곱셈 연산은 갈로와 방식으로 연결된 LFSR을 1번 시프트시키는 결과와 동일한데, 이를 시프트레지스터 로직으로 구현한 예가 도 11a에 도시되어 있다.
반면에, 제곱 연산은 다음과 같이 수행될 수 있다. GF(2 4 )의 원소를 표현하는 갈로와 방식으로 연결된 LFSR의 특성 다항식이 도 2 및 도 8과 같이
Figure 112005048529085-pat00032
이라 가정하면, 원시근
Figure 112005048529085-pat00033
Figure 112005048529085-pat00034
을 만족한다. 만약
Figure 112005048529085-pat00035
,
Figure 112005048529085-pat00036
일 경우
Figure 112005048529085-pat00037
은 특성값(characteristic)이 2인 유한체 곱의 특성에 의하여 하기의 <수학식 5>와 같이 표현된다.
Figure 112005048529085-pat00038
상기 <수학식 5>의 첫 번째 등식은 (b3α3)2 + (b2α2)2 + (b1α)2 + (b0)2 이 고, 이때 b3, b2, b1, b0 는 0 또는 1의 값을 가지기 때문에 두 번째 등식과 같이 표현된다. 또한, 상기 <수학식 5>에서
Figure 112005048529085-pat00039
이고
Figure 112005048529085-pat00040
이므로, 상기 <수학식 5>는 하기의 <수학식 6>과 같이 표현된다. 이러한 <수학식 6>을 시프트레지스터 로직으로 구현한 예가 도 11b에 도시되어 있다.
Figure 112005048529085-pat00041
상기 <수학식 4>에 기재된
Figure 112005048529085-pat00042
는 도 11a 및 도 11b에 도시된 형태로 각각 구현 가능한 제곱 연산과 곱셈 연산을 반복적으로 적용함으로써 그 구현이 가능한데, 이러한 연산 기능에 의해 LFSR의 스테이트를 계산하는 장치의 구현 예가 도 12에 도시되어 있고, 상기 도 12에 도시된 장치에 의한 동작 타이밍이 도 13에 도시되어 있다.
상기 도 12를 참조하면, 4-stage LFSR의 시프트레지스터들 S0,S1,S2,S3이 포함됨을 알 수 있다. 시프트레지스터 S0는 배타적 논리합 연산기 68의 출력을 입력하고 클럭 CLK에 따라 출력한다. 배타적 논리합 연산기 68은 논리곱 연산기 55의 출력과 논리곱 연산기 56의 출력과 논리곱 연산기 64의 출력을 입력하고, 이들을 배타적 논리합 연산하여 출력한다. 논리곱 연산기 55는 논리합 연산기 54의 출력과 시프트레지스터 S3의 출력을 입력하고, 이들을 논리곱 연산하여 출력한다. 논리곱 연산기 56은 논리곱 연산기 53의 출력과 시프트레지스터 S0의 출력을 입력하고, 이 들을 논리곱 연산하여 출력한다. 논리곱 연산기 64는 시프트레지스터들 S0,S2의 출력들에 대한 배타적 논리합 연산 결과와 논리곱 연산기 63의 출력을 입력하고, 이들을 논리곱 연산하여 출력한다. 논리곱 연산기 63은 인에이블신호 Enb와 반전된 선택신호 FbMux를 입력하고, 이들을 논리곱 연산하여 출력한다. 배타적 논리합 연산기 69는 시프트레지스터 S0의 출력과 시프트레지스터 S3의 출력을 입력하고, 이들을 배타적 논리합 연산하여 출력한다. 논리곱 연산기 57은 배타적 논리합 연산기 69의 출력과 논리합 연산기 54의 출력을 입력하고, 이들을 논리곱 연산하여 출력한다. 배타적 논리합 연산기 70은 논리곱 연산기 57의 출력과 논리곱 연산기 58의 출력과 논리곱 연산기 65의 출력을 입력하고, 이들을 배타적 논리합 연산하여 출력한다. 논리곱 연산기 58은 시프트레지스터 S1의 출력과 논리곱 연산기 53의 출력을 입력하고, 이들을 논리곱 연산하여 출력한다. 논리곱 연산기 65는 시프트레지스터 S2의 출력과 논리곱 연산기 63의 출력을 입력하고, 이들을 논리곱 연산하여 출력한다.
시프트레지스터 S1은 배타적 논리합 연산기 70의 출력을 입력하고 클럭 CLK에 따라 출력한다. 논리곱 연산기 59는 시프트레지스터 S1의 출력과 논리합 연산기 54의 출력을 입력하고, 이들을 논리곱 연산하여 출력한다. 배타적 논리합 연산기 71은 논리곱 연산기 59의 출력과 논리곱 연산기 60의 출력과 논리곱 연산기 66의 출력을 입력하고, 이들을 배타적 논리합 연산하여 출력한다. 논리곱 연산기 60은 시프트레지스터 S2의 출력과 논리곱 연산기 53의 출력을 입력하고, 이들을 논리곱 연산하여 출력한다. 논리곱 연산기 66은 시프트레지스터들 S1,S2의 출력들에 대한 배타적 논리합 연산 결과와 논리곱 연산기 63의 출력을 입력하고, 이들을 논리곱 연산하여 출력한다.
시프트레지스터 S2는 배타적 논리합 연산기 71의 출력을 입력하고 클럭 CLK에 따라 출력한다. 논리곱 연산기 61은 시프트레지스터 S2의 출력과 논리합 연산기 54의 출력을 입력하고, 이들을 논리곱 연산하여 출력한다. 배타적 논리합 연산기 72는 논리곱 연산기 61의 출력과 논리곱 연산기 62의 출력과 논리곱 연산기 67의 출력을 입력하고, 이들을 배타적 논리합 연산하여 출력한다. 논리곱 연산기 62는 논리곱 연산기 53의 출력과 시프트레지스터 S3의 출력을 입력하고, 이들을 논리곱 연산하여 출력한다. 논리곱 연산기 67은 시프트레지스터 S3의 출력과 논리곱 연산기 63의 출력을 입력하고, 이들을 논리곱 연산하여 출력한다. 시프트레지스터 S3은 배타적 논리합 연산기 72의 출력을 입력하고 클럭 CLK에 따라 출력한다.
논리곱 연산기 53은 논리곱 연산기 51의 출력과 인에이블신호 Enb를 입력하고, 이들을 논리곱 연산하여 출력한다. 논리합 연산기 54는 논리곱 연산기 52의 출력과 반전된 인에이블신호를 입력하고, 이들을 논리합 연산하여 출력한다. 논리곱 연산기 52는 선택신호 FbMux와 플립플롭 t3의 출력을 입력하고, 이들을 논리곱 연산하여 출력한다. 논리곱 연산기 51은 선택신호 FbMux와 반전기를 거친 플립플롭 t3의 출력을 입력하고, 이들을 논리곱 연산하여 출력한다. 일련의 직렬접속된 플립플롭들 t3,t2,t1,t0는 선택신호 FbMux에 따라 동작한다.
상기 구성요소들중 논리곱 연산기들 63~67은 제곱 연산을 위한 구성요소들이고, 플립플롭들 t3,t2,t1,t0과 논리곱 연산기 51,52는 곱셈 연산을 위한 구성요소들이다.
상기 도 12 및 도 13을 참조하면, 인에이블신호 Enb는 제곱 연산 및 곱셈 연산의 수행을 결정하는 신호이고, 선택신호 FbMux는 제곱 연산 또는 곱셈 연산의 수행을 결정하는 신호이다. 즉, 상기 인에이블신호 Enb=1일 때 상기 <수학식 4>의 제곱 연산 및 곱셈 연산이 수행된다. 상기 선택신호 FbMux=0인 경우에는 제곱 연산이 수행되고, FbMux=1인 경우에는 곱셈 연산이 수행된다. 상기 곱셈 연산은 ti의 값에 따라 달라진다. 즉, ti가 0의 값을 가지는 경우에는 1을 곱하는 연산이 수행되고, ti가 1의 값을 가지는 경우에는 α를 곱하는 연산이 수행된다. 이러한 제곱 연산 및 곱셈 연산에는 n-stage LFSR인 경우 고정된 {2n} 칩 시간이 필요하다. 고정된 {2n} 칩 시간이 필요하다는 것은 그만큼의 시프트가 필요하다는 의미이다. 예를 들어, 도 12에 도시된 바와 같은 4-stage LFSR의 경우, 제곱 연산 및 곱셈 연산을 수행하는 데에는 8번의 시프트가 필요하므로, 클럭 CLK에서 8번의 펄스(pulse)가 소요된다. 따라서 이것을 슬루 동작에 이용할 경우 t에 고정적인 연산 지연을 미리 더해주면 된다.
D. 본 발명의 적용 예
전술한 도 10 내지 도 13에 도시된 바와 같은 본 발명의 실시 예에 따라 LFSR을 구현할 수 있는데, 이러한 LFSR은 후술될 도 14 내지 도 16에 도시한 바와 같이 cdma2000 시스템, UMTS(또는 WCDMA) 시스템 등에 적용이 가능하다.
도 14 내지 도 16은 도 12에 도시된 장치에 의한 제곱 연산 동작시 각 시프트레지스터들에 궤환되는 선형조합 함수를 보여주는 도면들이다. 상기 도 14는 cdma2000 시스템에서 긴부호(또는 롱코드)(long code) 발생 LFSR의 제곱 연산에 대한 선형궤환 로직(linear feedback logic)을 16진수로 표현한 테이블을 보여준다. 상기 도 15는 cdma2000 1x 시스템 또는 HRPD(High Rate Packet Data) 시스템에서 I/Q채널 짧은부호(또는 숏코드)(short code) 발생 LFSR의 제곱 연산에 대한 선형궤환 로직을 16진수로 표현한 테이블을 보여준다. 상기 도 16은 3GPP에서 제안된 WCDMA 시스템에서 다운링크 스크램블링 부호 생성기(downlink scrambling code generator)를 구성하는 두 m-시퀀스 발생 LFSR의 제곱 연산에 대한 선형궤환 로직을 16진수로 표현한 테이블을 보여준다.
상기 도 14를 참조하면, 하기의 <수학식 7>과 같은 특성 다항식 p(x)을 가지는 cdma2000 롱코드 수열 발생기의 제곱 연산을 위하여, 각 시프트레지스터 Si에 입력되는 선형 조합 함수가 도시되어 있다.
Figure 112005048529085-pat00043
예를 들어, 상기 도 14에서 S22에 해당하는 연결이 (22A13A00800)16이므로, S22의 새로운 상태 S22'는 이 값을 이진수로 썼을 때 1인 위치에 해당하는 이전 레지스터 값들이 입력된다는 뜻이며 이에 따라 하기의 <수학식 8>과 같이 나타낼 수 있다.
Figure 112005048529085-pat00044
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이 본 발명은 임의의 시간 후의 LFSR 스테이트를 빠르고 효율적으로 계산할 수 있는 방법 및 장치를 제시한다. 이러한 본 발명은 슬립/아이들 모드에서 PN 생성기의 다음 스테이트를 계산하거나, 탐색기 또는 핑거의 다중경로 컴바이닝 또는 핸드오버시 PN 발생기의 슬루 동작에 응용될 수 있다.
고속 슬루 동작이 가능할 경우, 단말기의 포착 성능을 향상시킬 수 있다. 또한 슬립/아이들 모드에서 PN 발생기에 관한 연산시간을 줄이는 경우, CPU 및 관련 블록들이 깨어 있는 시간을 줄일 수 있고 결과적으로 그만큼 전력소모를 줄일 수 있는 장점이다.
일반적으로 이동 단말에서 전력소모를 줄이기 위한 불연속 수신(discontinuous reception) 방식은 필수적이며, 데이터 전송량이 많아지고 주파수 대역이 높아짐에 따라 탐색기 또는 핑거의 동작속도 개선이 필요하다. 따라서 본 기술을 이용하여 이러한 블록들의 동작속도가 개선되면 단말의 전력 소모 및 수신성능 개선 관점에서 이득이 있을 것이다.

Claims (11)

  1. n-스테이지의 선형궤환시프트레지스터(LFSR)를 이용하여 통신시스템에서 사용되는 부호를 생성하기 위한 방법에 있어서,
    상기 LFSR의 현재 스테이트 값을 나타내는 특성 다항식을 유한체 갈로와필드의 원소로 표현하는 과정과,
    상기 특성 다항식을 상기 갈로와필드의 원시근에 대한 함수로 표현하는 과정과,
    상기 원시근에 대한 함수로 표현된 특성 다항식으로부터 비고정적으로 결정되는 임의의 시간에서의 특성 다항식을 구하는 과정과,
    상기 임의의 시간에서 구해진 특성 다항식에 대해 곱셈 연산 및 제곱 연산을 반복적으로 수행하여 상기 LFSR의 새로운 스테이트 값을 제공함으로써 새로운 스테이트 값을 가지는 부호가 생성되도록 하는 과정을 포함함을 특징으로 하는 부호 생성 방법.
  2. 제 1 항에 있어서,
    상기 LFSR의 현재 스테이트 값을 각각 {20,21,…,2n-1}만큼 시프트시키기 위하여 상기 LFSR의 현재 스테이트 값과 n개의 서로 다른 마스크패턴들을 결합하는 과정을 더 포함하는 것을 특징으로 하는 부호 생성 방법.
  3. 제 2 항에 있어서,
    상기 마스크패턴들을 결합한 결과를 슬립모드중 비고정적으로 결정되는 임의의 시간에서 상기 LFSR의 새로운 스테이트 값으로 제공하는 과정을 더 포함함을 특징으로 하는 부호 생성 방법.
  4. 제 2 항에 있어서,
    상기 LFSR은 피보나찌 연결을 위한 구성을 가짐을 특징으로 하는 부호 생성 방법.
  5. 제 2 항에 있어서,
    상기 LFSR은 갈로와 연결을 위한 구성을 가짐을 특징으로 하는 부호 생성 방법.
  6. 통신시스템에서 사용되는 부호를 생성하기 위한 장치에 있어서,
    n-스테이지의 선형궤환시프트레지스터(LFSR)와,
    상기 LFSR의 현재 스테이트 값과 상기 LFSR의 현재 스테이트 값을 각각 {20,21,…,2n-1}만큼 시프트시키기 위하여 n개의 서로 다른 마스크패턴들을 결합하고 결합 결과를 슬립모드중 비고정적으로 결정되는 임의의 시간에서 상기 LFSR의 새로운 스테이트 값으로 제공하는 결합 로직을 포함함을 특징으로 하는 부호 생성 장치.
  7. 제 6 항에 있어서,
    상기 결합 로직은 피보나찌 연결을 위한 로직임을 특징으로 하는 부호 생성 장치.
  8. 제 6 항에 있어서,
    상기 결합 로직은 갈로와 연결을 위한 로직임을 특징으로 하는 부호 생성 장치.
  9. n-스테이지의 선형궤환시프트레지스터(LFSR)를 포함하는 통신시스템에서 사용되는 부호를 생성하기 위한 방법에 있어서,
    상기 LFSR의 현재 스테이트 값을 각각 {20,21,…,2n-1}만큼 시프트시키기 위하여 상기 LFSR의 현재 스테이트 값과 n개의 서로 다른 마스크패턴들을 결합하는 과정과,
    상기 결합 결과를 슬립모드중 비고정적으로 결정되는 임의의 시간에서 상기 LFSR의 새로운 스테이트 값으로 제공하는 과정을 포함함을 특징으로 하는 부호 생성 방법.
  10. 제 9 항에 있어서,
    상기 LFSR은 피보나찌 연결을 위한 구성을 가짐을 특징으로 하는 부호 생성 방법.
  11. 제 9 항에 있어서,
    상기 LFSR은 갈로와 연결을 위한 구성을 가짐을 특징으로 하는 부호 생성 방법.
KR1020050080387A 2005-08-30 2005-08-30 선형궤환시프트레지스터를 이용한 부호 생성 방법 및 장치 KR100800800B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020050080387A KR100800800B1 (ko) 2005-08-30 2005-08-30 선형궤환시프트레지스터를 이용한 부호 생성 방법 및 장치
US11/511,505 US20070047623A1 (en) 2005-08-30 2006-08-29 Method and apparatus for generating a pseudorandom binary sequence using a linear feedback shift register

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050080387A KR100800800B1 (ko) 2005-08-30 2005-08-30 선형궤환시프트레지스터를 이용한 부호 생성 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20070024840A KR20070024840A (ko) 2007-03-08
KR100800800B1 true KR100800800B1 (ko) 2008-02-04

Family

ID=37804040

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050080387A KR100800800B1 (ko) 2005-08-30 2005-08-30 선형궤환시프트레지스터를 이용한 부호 생성 방법 및 장치

Country Status (2)

Country Link
US (1) US20070047623A1 (ko)
KR (1) KR100800800B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010064852A3 (en) * 2008-12-02 2010-07-29 Pantech Co., Ltd. Method and apparatus for generating pseudo random sequence in broadband wireless communication system

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100871221B1 (ko) * 2005-11-11 2008-12-01 삼성전자주식회사 선형 궤환 시프트 레지스터를 이용하는 통신 시스템에서부호 생성 방법 및 장치
US7487194B2 (en) * 2006-04-05 2009-02-03 Peter Lablans Binary and n-valued LFSR and LFCSR based scramblers, descramblers, sequence generators and detectors in Galois configuration
US8036380B2 (en) * 2006-12-14 2011-10-11 Telefonaktiebolaget L M Ericsson (Publ) Efficient data integrity protection
US8345873B2 (en) * 2007-04-04 2013-01-01 Ternarylogic Llc Methods and systems for N-state signal processing with binary devices
KR101615542B1 (ko) * 2009-06-10 2016-04-26 삼성전자주식회사 무선 식별 시스템 및 그의 인증 방법
US8299817B2 (en) * 2010-11-30 2012-10-30 Stmicroelectronics Asia Pacific Pte Ltd. Circuit and method for adding dither to vertical droop compensation using linear feedback shift registers
US8769355B2 (en) 2011-06-27 2014-07-01 Freescale Semiconductor, Inc. Using built-in self test for preventing side channel security attacks on multi-processor systems
US9448942B2 (en) 2012-08-20 2016-09-20 Freescale Semiconductor, Inc. Random access of a cache portion using an access module
US9092622B2 (en) 2012-08-20 2015-07-28 Freescale Semiconductor, Inc. Random timeslot controller for enabling built-in self test module
CN106293611A (zh) * 2015-06-03 2017-01-04 宜春市等比科技有限公司 一种用于扩频通信和频率复用的伪随机码生成方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030034233A (ko) * 2000-09-29 2003-05-01 콸콤 인코포레이티드 임의의 위상으로 pn 시퀀스를 발생시키기 위한 방법 및장치

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038577A (en) * 1998-01-09 2000-03-14 Dspc Israel Ltd. Efficient way to produce a delayed version of a maximum length sequence using a division circuit
US6282181B1 (en) * 1998-04-24 2001-08-28 Ericsson Inc Pseudorandom number sequence generation in radiocommunication systems
US6141669A (en) * 1998-05-06 2000-10-31 Nortel Networks Corporation Pseudorandom binary sequence block shifter
JPH11340799A (ja) * 1998-05-28 1999-12-10 Oki Electric Ind Co Ltd M系列発生回路、m系列の発生方法及びpn系列発生回路
US6556555B1 (en) * 1998-09-22 2003-04-29 J.S. Lee Associates, Inc. Method for calculating the PN generator mask to obtain a desired shift of the PN code
US6687376B1 (en) * 1998-12-29 2004-02-03 Texas Instruments Incorporated High-speed long code generation with arbitrary delay
FI108182B (fi) * 1999-03-23 2001-11-30 Nokia Networks Oy Menetelmä päivittää koodigeneraattorin lineaarinen palautesiirtorekisteri
US6282230B1 (en) * 1999-09-23 2001-08-28 Texas Instruments Incorporated Block pseudo-noise generating circuit
WO2001050239A1 (en) * 1999-12-30 2001-07-12 Morphics Technology, Inc. Apparatus and method for calculating and implementing a fibonacci mask for a code generator
GB2393366B (en) * 1999-12-30 2004-07-21 Morphics Tech Inc A configurable code generator system for spread spectrum applications
US6788668B1 (en) * 2000-02-29 2004-09-07 National Semiconductor Corporation Low power long code synchronization scheme for sleep mode operation of CDMA systems
US20030002566A1 (en) * 2001-06-19 2003-01-02 Mcdonough John G. System and method for shifting the phase of pseudorandom noise code in direct sequence spread spectrum communications
US8873469B2 (en) * 2003-07-10 2014-10-28 Qualcomm Incorporated Method and apparatus for reducing access latency in a wireless communication system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030034233A (ko) * 2000-09-29 2003-05-01 콸콤 인코포레이티드 임의의 위상으로 pn 시퀀스를 발생시키기 위한 방법 및장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010064852A3 (en) * 2008-12-02 2010-07-29 Pantech Co., Ltd. Method and apparatus for generating pseudo random sequence in broadband wireless communication system
KR101037520B1 (ko) 2008-12-02 2011-05-26 주식회사 팬택 광대역 무선통신시스템에서 스크램블링 코드 생성 방법 및 그 장치

Also Published As

Publication number Publication date
US20070047623A1 (en) 2007-03-01
KR20070024840A (ko) 2007-03-08

Similar Documents

Publication Publication Date Title
KR100800800B1 (ko) 선형궤환시프트레지스터를 이용한 부호 생성 방법 및 장치
US5987056A (en) PN sequence hopping method and system
US5926070A (en) Efficient offset mask generator for pseudo-noise sequence generator
US6141669A (en) Pseudorandom binary sequence block shifter
JPH09204236A (ja) 高速コンピュータにおけるタイミング信号発生方法及びその装置
JP3329705B2 (ja) Pn符号発生装置及び移動無線通信システム
KR20010042993A (ko) 무선 통신 시스템에서 의사난수 시퀀스 생성 장치 및 방법
JP3551333B2 (ja) 疑似雑音符号発生回路
KR100871221B1 (ko) 선형 궤환 시프트 레지스터를 이용하는 통신 시스템에서부호 생성 방법 및 장치
JP2002271189A (ja) カウンタ回路及びカウンティング方法
US9904275B2 (en) Semiconductor integrated circuit and operation method thereof
KR100478974B1 (ko) 직렬 유한체 승산기
US5822365A (en) Variable correlator
EP0720327A2 (en) Device and method for generating pseudorandom noise sequence
US10416703B2 (en) Counter/timer array for generation of complex patterns independent of software control
JP2000350262A (ja) 符号生成方法および符号生成回路
JPH07107006A (ja) 拡散符号発生方法及び装置
US5935236A (en) Microcomputer capable of outputting pulses
JP2000252862A (ja) 拡散符号発生回路および拡散符号発生方法
JP3782720B2 (ja) 符号発生器
US5835528A (en) Method for fast determination of puesdo-noise code generator state
Kim et al. Efficient implementation of ovsf code generator for umts systems
KR0171010B1 (ko) Cdma pcs 시스템의 동기장치
JPH1146132A (ja) 符号生成回路
KR20050065128A (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
FPAY Annual fee payment

Payment date: 20121228

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131230

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141223

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151229

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee