KR100805343B1 - 시프트 레지스터의 업데이트 방법 - Google Patents
시프트 레지스터의 업데이트 방법 Download PDFInfo
- Publication number
- KR100805343B1 KR100805343B1 KR1020037006632A KR20037006632A KR100805343B1 KR 100805343 B1 KR100805343 B1 KR 100805343B1 KR 1020037006632 A KR1020037006632 A KR 1020037006632A KR 20037006632 A KR20037006632 A KR 20037006632A KR 100805343 B1 KR100805343 B1 KR 100805343B1
- Authority
- KR
- South Korea
- Prior art keywords
- shift register
- value
- bits
- current value
- code
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J13/00—Code division multiplex systems
- H04J13/10—Code generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details 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/69—Spread spectrum techniques
- H04B1/707—Spread spectrum techniques using direct sequence modulation
- H04B1/7073—Synchronisation aspects
- H04B1/7075—Synchronisation aspects with code phase acquisition
- H04B1/70756—Jumping within the code, i.e. masking or slewing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Error Detection And Correction (AREA)
Abstract
본 발명은 PN 코드 시프트 레지스터를 현재 값으로부터 새로운 값으로 업데이트 하는 방법에 관한 것으로, (a) 탭 다항식을 탭 다항 이진 시퀀스로 표현하는 과정; (b) 상기 레지스터의 현재 값의 최종 스테이지의 값을 상기 탭 다항식 이진 시퀀스의 각 비트들과 논리곱 연산하는 과정; 및 (c) 상기 (b) 과정의 결과를 상기 레지스터의 현재 값과 논리적으로 배타적 논리합(XOR) 연산하는 과정으로 수행됨을 특징으로 한다.
시프트 레지스터, PN 코드, 탭, 다항식, 업데이트, 시퀀스
Description
본 발명은 셀룰라 통신에 관한 것으로, 특히 PN 시퀀스(pseudo-noise sequence)를 저장하는 시프트 레지스터를 업데이트하는 기술에 관한 것이다. 상기 기술은 부호 분할 다중 접속 방식(Code Division Multiple Access; 이하 'CDMA'라 한다.)에서의 짧은 코드(short code) 및 긴 코드(long code)의 생성과 관련된다.
CDMA 시스템과 프로토콜들은 US-TIA(Telecommunications Industry association) 및 CDMA-2000 RC1에 의한 IS-95(Interim-Standard 95)에 기술되어 있다.
이동국과 기지국 사이의 링크는 순방향 채널(기지국으로부터 이동국으로) 및 역방향 채널(이동국으로부터 기지국으로)로 구성된다.
상기 순방향 채널은 4개의 다른 유형의 채널들로 구성된다. 즉, 상기 순방향 채널은 파일롯 채널, 동기 채널, 페이징 채널 및 순방향 트래픽 채널이다.
전형적인 순방향 CDMA 채널은 64개의 코드 채널들로 구성된다. 상기 64개의 코드 채널들은 하나의 파일롯 채널, 하나의 동기 채널, 7개의 페이징 채널 및 55개 의 순방향 트래픽 채널들로 구성된다.
상기 파일롯 채널은 매 활성(active) 순방향 채널마다 기지국에 의해 모든 시간에서 전송되는 채널로서, 변조되지 않은 다이렉트 시퀀스 확산 스펙트럼 신호(direct sequence spread spectrum signal)이다. 상기 이동국은 상기 순방향 CDMA 채널의 동기를 얻고, 복조시 위상 기준을 얻기 위하여 상기 파일롯 채널을 모니터한다.
상기 동기 채널은 소정의 CDMA 셀 내에서 이동국들에게 동기 메시지를 전송하기 위해 사용된다. 상기 동기 채널은 초기 시간 동기를 얻기 위하여 상기 이동국에서 사용되어진다.
상기 페이징 채널은 상기 CDMA 셀에 있는 이동국들에게 제어 정보 및 호출 정보를 전송하기 위하여 사용된다.
상기 순방향 트래픽 채널은 통화 시간 동안 상기 기지국으로부터 특정 이동국으로 사용자 및 시그널링 트래픽을 전송하기 위하여 사용된다.
상기 순방향 CDMA 채널에서 상기 모든 코드 채널들은 적절한 왈쉬 함수에 의해 직교적으로 확산된 후, 쿼드러쳐 확산(quadrature spreading; 이하 '직교 위상 확산'이라 한다.)을 수행한다.(또한, 상기 동기 채널, 페이징 채널 및 순방향 트래픽 채널은 직교 확산 되기 전 몇 개의 다른 과정을 수행한다.)
특히, 의사잡음(pseudo-noise) PN 시퀀스인 긴 코드(long code)들은 상기 페이징 및 트래픽 채널들을 스크램블하기 위하여 사용된다. 각 채널은 242-1 칩의 주기를 가지는 긴 PN 코드가 하나씩 할당된다. 상기 긴 코드는 생성 다항식 로 정해진다. 상기 긴 코드의 각 PN 칩은 보통 42 비트 마스크(mask)(상기 채널에 배제된 하나의 코드)와 선형 시퀀스 생성기(linear sequence generator)의 42 비트 스테이트(state) 백터를 내적(inner product)함으로써 생성된다.
종래 기술에 의하면, 소정의 PN 시퀀스는 보통 42 스테이지(stage) 선형 피드백 시프트 레지스터(42 stage linear feedback shift register)로 구성되는 선형 PN 시퀀스 생성기에 의해 생성되며, 상기 피드백 로직은 배타적 논리합(XOR; exclusive-OR) 게이트들이다. 이진 시퀀스(binary sequence)는 클럭 펄스들에 따라 상기 시프트 레지스터들을 통해 시프트되며, 여러 가지 상태들의 각 출력들은 논리적으로 결합되고, 최초 스테이지 값으로 입력되도록 피드백된다. 42 스테이지(stage) 선형 시프트 레지스터는 최대 길이 242-1 심볼들의 PN 시퀀스를 생성한다.
상기 PN 시퀀스 생성의 보다 구체적인 내용은 IS-95 또는 'Wireless Communications Principles & Practice by Theodore S.Rappaport(ISBN 0-13-375536-3)과 같은 관련 서적을 참고하여 알 수 있다.
상기 IS-95에서의 1.2288Mcps(million chips per second) PN 시퀀스 칩 레이트를 얻기 위하여, 상기 시프트 레지스터는 대략 매 19.5㎲(microseconds) 마다 업데이트되어야 한다. 상기 PN 시퀀스의 하나의 칩은 대략 매 52㎲마다 출력되어야 한다.
상기 순방향 CDMA 채널들은 모두 1.2288Mcps 의 고정된 칩 레이트의 왈쉬 함수들을 사용하여 직교적으로 확산된다. 직교 확산의 목적은 모든 코드 채널들 사이에 직교적 채널화(orthogonal channelization)를 제공하는 것이다. 상기 파일롯 채널은 항상 왈쉬 코드 0으로 확산되며, 상기 페이징 채널들은 왈쉬 코드 1에서 7번으로 할당된다.
왈쉬 확산에 따라서, 모든 코드 채널들은 직교 위상 확산(Quadrature Spreading)을 수행하며, 상기 직교 확산 데이터를 상기 짧은 코드 발생기에 의해 생성된 짧은 코드 PN 시퀀스와 모듈러 2연산(modulo-2 addition)을 수행한다. 상기 짧은 코드 시프트 레지스터를 위한 탭 다항식(생성 함수)은 다음과 같다.
상기 직교 위상 확산의 출력은 In-Phase(I)와 Quadrature(Q) 채널의 형태로 표현된다. 그런 다음, 상기 I 및 Q 데이터 스트림(채널)들은 심볼간 간섭(ISI; Inter Symbol Interference)을 최소화하고, 요구되는 대역 제한을 만족시키기 위하여 각각 기저대역 필터(Baseband Filter)를 통해 필터링 된다
그런 다음, 상기 I 및 Q 채널들은 QPSK(Quadrature Phase Shift Keying; 이하 'QPSK'라 한다.) 변조 방식을 사용하여 변조된다. 상기 QPSK 방식은 I 채널에서는 BPSK(Binary Phase Shift Keying) 파형을 출력하기 위하여 코사인 함수를 2진수 '0' 및 '1'의 진폭으로 진폭 변조함으로서 구현된다. Q 채널에서는 사인 함수가 직교 BPSK 파형을 출력하기 위해 변조된다. 그런 다음, 상기 BPSK 파형들을 더하여 상기 QPSK 파형을 출력한다.
지금까지 모든 CDMA 시스템들은 하드웨어적으로 설명된다. 최근 들어, 현재의 셀룰러 통신 하드웨어는 소프트웨어 기반의 무선 통신 시스템으로 대체될 수 있다고 제안되어 왔다. 상기 소프트웨어적 구현들은 긴 코드 및 짧은 코드를 저장하는 시프트 레지스터들을 업데이트하기 위한 기술을 효과적으로 구현하는데 이점이 있을 것으로 평가될 것이다.
따라서, 본 발명의 목적은 PN 코드 시프트 레지스터를 현재 값으로부터 새로운 값으로 업데이트 하는 방법을 제공한다.
상기 본 발명은 (a) 탭 다항식을 탭 다항 이진 시퀀스로 표현하는 과정; (b) 상기 레지스터의 현재 값의 최종 스테이지 값을 상기 탭 다항 이진 시퀀스의 각 비트들과 논리곱 연산하는 과정; 및 (c) 상기 (b) 과정의 결과를 상기 레지스터의 현재 값과 논리적으로 배타적 논리합(XOR) 연산하는 과정을 포함한다.
바람직하게는, 상기 (b) 과정은 상기 레지스터의 최종 스테이지의 값을 적어도 상기 탭 다항식 이진 시퀀스의 시퀀스 길이로 부호 확장하고, 상기 부호 확장된 값을 상기 탭 다항식 이진 시퀀스와 논리곱 연산함으로써 수행된다.
본 발명의 실시예에 따라서, 상기 방법은 상기 (c) 단계 이후에, 상기 레지스터의 현재 값을 최상위비트(Most Significant Bit: 이하 'MSB'라 함) 쪽으로 한 비트씩 시프트시키고, 상기 레지스터의 현재 값의 최종 스테이지 값을 상기 레지스터의 새로운 값의 최초 스테이지 값으로 할당하는 과정을 포함한다.
본 발명의 다른 실시예에 따라서, 상기 탭 다항식을 표현하는 본 발명은, LSB를 '1'로 설정하고, 상기 MSB의 앞쪽으로 한 비트 시프트된 이진 시퀀스를 출력하는 것을 포함하며, 상기 방법은 상기 레지스터의 현재 값을 상기 (b) 과정을 수행하기 전에 상기 MSB 쪽으로 한 비트 만큼씩 시프트 하는 것을 포함한다.
도 1a, 1b 및 1c는 CDMA 순방향 채널 구조를 나타낸 도면.
도 2는 본 발명의 제1 실시예에 따른 방법을 보여주는 흐름도.
도 3은 본 발명의 제2 실시예에 따른 방법을 보여주는 흐름도.
CDMA 시스템에 있어서, 이동국과 기지국 사이의 링크는 순방향 채널(기지국으로부터 이동국으로) 및 역방향 채널(이동국으로부터 기지국으로) 2개의 채널들로 구성된다.
본 발명의 바람직한 실시예는 순방향 채널의 전송 섹션(section)과 관련된다. 이하, 순방향 CDMA 채널을 상세히 설명한다.
도 1a, 1b 및 1c는 종래기술에 따른 순방향 CDMA 채널 구조를 나타낸 도면이 다. 본 발명은 이러한 순방향 채널 구조의 변경(modification)과 관련되며, 특히, 직교 위상 확산(quadrature spreading)이 소프트웨어에서 효과적으로 수행될 수 있도록 하는 방법에 관련된다.
도 1a 내지 1c에 도시된 바와 같이, 순방향 채널은 4개의 다른 유형의 코드 채널들로 구성된다. 즉, 상기 4개의 채널들은 파일롯 채널(20a), 동기 채널(20b), 페이징 채널(20c) 및 순방향 트래픽 채널들(20d)이다.
전형적인 순방향 CDMA 채널은 사용자를 위해 이용 가능한 64개 코드 채널들로 구성된다. 상기 64개 코드 채널들은 하나의 파일롯 채널, 하나의 동기 채널, 7개의 페이징 채널 및 55개의 순방향 트래픽 채널들이다.
상기 파일롯 채널(20a)은 매 활성 순방향 채널마다 기지국에 의해 모든 시간에서 전송되며, 변조되지 않은 다이렉트 시퀀스 확산 스펙트럼 신호(direct sequence spread spectrum signal)이다. 상기 이동국은 상기 순방향 CDMA 채널의 동기를 얻고, 복조시 위상 기준을 얻기 위하여 상기 파일롯 채널을 모니터한다.
상기 동기 채널(20b)은 소정의 CDMA 셀 내에서 이동국들에게 동기 메시지를 전송하기 위해 사용된다. 상기 동기 채널은 초기 시간 동기를 얻기 위하여 상기 이동국에서 사용되어진다.
상기 페이징 채널(20c)은 상기 CDMA 셀에 있는 이동국들에게 제어 정보 및 호출 정보를 전송하기 위하여 사용된다.
상기 순방향 트래픽 채널(20d)은 통화 시간 동안 상기 기지국으로부터 특정 이동국으로 사용자 및 시그널링 트래픽을 전송하는 데 사용된다.
상기 도 1a 및 1b를 참조하면, 상기 모든 코드 채널들(20a 내지 20d)은 직교 위상 확산을 수행하기 전 적절한 왈시 함수(36) 에 의해 직교적으로 확산된다. 그러나, 당업자에게 알려진 바와 같이, 상기 동기 채널, 페이징 채널 및 순방향 트래픽채널은 후술될 몇 가지 다른 과정들을 수행한다.
상기 동기, 페이징 및 트래픽 채널들은 모두 길쌈 부호화기(101, 201 및 303)를 이용하여 컨볼루셔녈 코딩을 수행한다. 이러한 과정은 CDMA에서 사용되는 고속 데이터 레이트에서 발생할 수 있는 에러들로부터 상기 시스템을 보호한다. 컨볼루셔널 코딩에 있어서, 상기 채널 데이터 스트림들은 길이 k의 더 작은 블록들로 나누어진 후, 길이 n의 코드 워드 심볼들로 코딩된다. 한편, (n, k, m) 컨볼루셔널 코드에서 k는 입력 비트수, n은 출력 비트수, m은 메모리 차수로 설명된다. 이때, 상기 부호화기의 부호화율은 R=k/n으로 정의된다. 상기 동기, 페이징 및 트래픽 채널들은 모두 코드 부호화율 R=1/2의 부호화기를 사용한다.
또한, 심볼 반복기(102, 202, 304)는 상기 파일롯 채널을 제외한 모든 채널들에 사용된다. 상기 과정의 역할은 데이터 레이트를 블록 인터리버(103, 203 및 305)에 의해 사용되는 레벨, 즉 19200sps(symbols per second) 또는 19.2ksps 로 증가시키는 것이다. 예컨대, 컨볼루셔널 코딩한 후의 상기 동기 채널의 데이터 레이트는 2.4ksps 이다. 이 값은 각 컨볼루션 코딩된 심볼을 7번 반복함으로써, 결국 데이터 레이트가 8배 증가되어 19.2ksps가 된다. 그러나, 9.6ksps 스트림(페이징 채널에서의 하나와 같이)은 단지 한번만 반복함으로서 19.2ksps 스트림을 출력한다.
블록 인터리버(103, 203 및 305)는 심볼의 시퀀스를 재배열 하기 위하여 수행되며, 시간 다이버시티를 얻고 성능을 개선하기 위하여 수행된다.
긴 코드(long code)의 생성은 롱코드 생성기(204, 207)에 의하여 페이징 및 트래픽 채널들에서 수행된다. 상기 롱코드 생성기는 제한된 비밀을 보장하는 순방향 CDMA 채널을 스크램블 하기 위하여 사용되는 42비트의 의사 잡음 PN 시퀀스들인 긴 코드를 생성한다.
상기 긴 코드 생성기는 242-1의 다른 긴 코드의 조합들을 출력하며, 각각의 긴 코드는 순방향 트래픽 채널 및 역방향 트래픽 채널 모두에서 각 이동국을 고유하게 식별해준다. 상기 긴 코드는 공개 긴 코드(public long code) 또는 개인 긴 코드(private long code) 중 하나를 형성하기 위하여 사용되는 긴 코드 마스크(long code mask)에 의해 특정된다. 상기 긴 코드는 하기 수식으로 표현될 수 있다.
상기 긴 코드 생성기의 출력은 데시메이터(205, 309)로 입력된다. 상기 데시메이터는 매 64 비트들마다 1 비트씩 취함으로써 상기 긴 코드의 크기를 줄인다. 상기와 같이 함으로써, 상기 데이터 레이트를 1228800cps(chips per second) 또는 1.2288Mcps에서 19.2ksps로 감소시킨다.
상술한 바와 같이. 상기 서술된 과정은 관련된 채널들에서 수행되며, 순방향 CDMA 채널에서의 상기 모든 코드 채널들은 1.2288Mcps의 고정된 칩 레이트에서 왈 쉬 함수들을 사용하여 직교적으로 확산된다. 상기와 같은 과정은 모든 코드 채널들 사이에서 직교적인 채널화(orthogonal channelization)를 제공한다. 상기 파일롯 채널은 항상 왈쉬 코드 0번으로 확산되며, 상기 동기 채널은 항상 왈쉬 채널 32번으로 확산되고, 상기 페이징 채널들은 코드 채널들 1 번 내지 7번으로 할당된다.
상기 도 1c에서 도시된 바와 같이, 왈쉬 확산에 따라서, 모든 코드 채널들은 직교 위상 확산(quadrature spreading)을 수행하며, 상기 직교 위상 확산은 상기 짧은 코드 생성기에 의해 생성된 PN 짧은 코드 시퀀스를 가지는 각 코드 채널의 직교적으로 확산된 데이터의 모듈러 2 가산 연산을 수행하는 것을 포함한다. 상기 짧은 코드 시프트 레지스터들의 탭 다항식들은 하기와 같다.
상기 직교 위상 확산의 출력은 In-Phase(I)와 Quadrature(Q) 채널(401, 402)의 형태로 표현된다. 선택적으로 다른 기술들이 직교 위상 확산을 위해 사용되는 것도 가능하다. 그러나, 상기 사용된 기술과 관계없이 상기 확산 데이터는 상기 짧은 코드와 결합될 것이다.
그런 다음, 상기 I 및 Q 데이터 스트림(채널)들은 심볼간 간섭(ISI; Inter Symbol Interference)을 최소화하고, 요구되는 대역 제한을 만족시키기 위하여 각각 기저대역 필터(Baseband Filter; 403)를 통해 필터링 된다
요구되는 필터링이 수행된 후에, 상기 I 및 Q 채널들은 QPSK(Quadrature Phase Shift Keying; 이하 'QPSK'라 한다.) 변조 방식을 사용하여 변조된다. 상기 QPSK 방식은 I 채널에서는 BPSK(Binary Phase Shift Keying) 파형을 출력하기 위하여 코사인 함수를 2진수 '0' 및 '1'의 진폭으로 진폭 변조함으로서 구현된다. Q 채널에서는 사인 함수가 직교 BPSK 파형을 출력하기 위해 변조된다. 그런 다음, 상기 BPSK 파형들을 더하여 상기 QPSK 파형을 출력한다.
상기 긴 코드 및 짧은 코드들은 코드의 각 칩이 발진된 후 업데이트되도록 필요로 하는 시프트 레지스터에서 유지되어야 한다.
이하, 도 2 및 도 3을 참조하여 본 발명의 바람직한 실시예에 따른 기술들을 전체적으로 설명한다. 전체적인 설명 이후에, 상기 기술들이 긴 코드 및 짧은 코드들에 대한 시프트 레지스터들을 업데이트 하는 데 적용되는 방법들의 구체적인 실시예가 제시될 것이다.
도 2는 본 발명의 바람직한 구현에 따른 기술을 보여준다.
상기 긴 코드 및 짧은 코드 각각에 대한 탭 다항식은 이진 시퀀스로서 표현될 수 있다. 이것은 상기 시프트 레지스터의 새로운 값을 얻기 위하여 상기 시프트 레지스터의 현재의 값과 결합될 필요가 있다.
본 발명의 제1 실시예에 따라서, 상기 탭 다항식 2진 시퀀스는 MSB 쪽으로 하나의 비트 만큼씩 시프트되며, LSB는 1의 값을 가지도록 설정된다. 이렇게 하여 데이터 엔터티(entity)에 저장되어 있는 시프트된 탭 다항식 상수를 출력(14 단계)한다.
그런 다음, 상기 방법은 상기 시프트 레지스터의 초기 값 또는 현재 값을 획득(10 단계)하며, 상기 시프트된 탭 다항식 상수와 결합되기 위하여 충분한 비트들을 가지도록 상기 시프트 레지스터의 최종 비트를 확장(12 단계)한다. 16 단계에서, 논리곱(AND) 연산은 상기 시프트 레지스터의 부호 확장된 최종 비트를 사용하여 상기 시프트된 탭 다항식 상수에 수행된다. 18단계에서, 상기 시프트 레지스터의 현재 값은 MSB 쪽으로 한 비트 만큼씩 시프트된다. 그런 다음, 상기 시프트된 레지스터는 19 단계에서 배타적 논리합(XOR) 연산을 수행함으로써 상기 16 단계에서 논리곱 연산 수행된 결과와 결합된다. 그런 다음, 상기 배타적 논리곱 연산의 결과는 실제적으로 긴 코드 또는 짧은 코드의 이후 비트를 생성하기 위해 사용될 수 있는 상기 시프트 레지스터의 새로운 값을 제공하게 된다.
도 3은 본 발명의 제2 실시예에 따른 기술을 나타낸다. 상기 제2 실시예에서는 시프트 되지 않은 탭 다항식 상수가 사용(35 단계)된다. 30 단계에서 상기 시프트 레지스터의 초기 값이 얻어지며, 상기 시프트 레지스터의 최종 비트가 부호 확장된다. 동시에, 상기 최종 비트의 값은 32 단계에서 저장된다. 상기 시프트 레지스터의 부호 확장된 최종 비트는 논리곱(AND) 연산을 사용하여 38 단계에서 상기 탭 다항식 상수와 결합되며, 상기 논리곱 연산의 결과는 40 단계에서 배타적 논리합 연산을 사용하여 상기 시프트 레지스터의 초기값과 결합된다. 상기 배타적 논리합 연산에 따라, 상기 배타적 논리합 연산의 결과는 상기 MSB의 앞쪽으로 시프트되며, 32 단계로부터 상기 최종 비트의 저장된 값은 상기 레지스터의 새로운 값을 출력(46 단계)하기 위하여 상기 LSB로 로딩(44 단계)된다.
<제1 실시예 - long code>
이하, 다음 칩이 출력될 수 있도록 시프트 레지스터를 빠르게 업데이트하기 위해 필요한 긴 코드의 칩의 계산이 제시된다. 상기 긴 코드 탭 다항식 를 나타내는 이진 시퀀스는 '100000010101000111001101111000001001110111'과 같이 주어진다. 여기서 상기 MSB는 왼쪽에 있는 비트이며, LSB는 오른쪽에 있는 비트이다.
상기 탭 다항식을 적용하기에 앞서 상기 시프트 레지스터를 시프트 하는 것은 상기 긴 코드를 저장하는 상기 시프트 레지스터를 업데이트 하기 위하여 가장 효과적인 기술을 제공한다. 탭 다항식의 상기 시프트된 버전의 0번 비트는 '1'로 할당된다. 따라서, 상기 시프트된 탭 다항식은 '000000101010001110011011110000010011101111'과 같은 형태를 가진다.
상기 시프트 레지스터의 최종 스테이지의 값은 저장되며, 도 2의 12 단계에 표시된 바와 같이 상기 긴 코드 탭 다항식과 동일한 비트수를 가지기 위하여 부호 확장(sign expanded)된다. 그런 다음, 논리곱(AND) 연산이 상기 시프트 탭 다항식에서 수행된다. 상기 레지스터의 최초 상태는 어떠한 명시된 동작 없이 자동적으로 원하는 값으로 로딩된다.
이때, 42 비트 데이터가 두개의 32 비트 데이터 엔터티(entity)들에 저장된 상기 긴 코드 시퀀스의 현재 스테이트(state)를 나타낸다고 가정한다. 예를 들면, 다음과 같다.
상기 코드에서 42 내지 63번째 비트들은 '0'으로 할당되었음을 알 수 있다.
그런 다음, 빠른 시프트 레지스터 업데이트가 다음과 같이 수행될 수 있다.
상기 탭 다항식의 시프트된 버전은 하기와 같이 32 비트 엔터티들에 저장된다.
상기 코드는 0번 비트를 '1'로 설정하고 한 비트씩 시프트한 CDMA 시스템들을 위한 실제적인 다항식을 나타낸다.
상기 시프트 레지스터의 최종 스테이지(Bit 41)는 '1'이다. 상기 시프트 레지스터의 최종 스테이지인 '1'을 32 비트들에 대하여 부호 확장(sign extending)하면 '1111 1111 1111 1111 1111 1111 1111 1111'과 같이 주어진다.
상기 부호 확장된 코드들은 저장된다. 만약, 64 비트 데이터 엔터티가 사용된다면, 상기 최종 스테이지는 64 비트들까지 부호 확장될 필요가 있게 된다. 즉, 상기 32 비트 의 경우에 있어서, 상기 확장된 최종 스테이지를 유지하는 상기 데이 터 엔터티는 상기 다항식이 저장되는 두개의 엔터티들에서 논리곱 연산을 수행하기 위하여 사용될 수 있다.
이하, 상기 시프트 레지스터를 한 비트씩 왼쪽으로 시프트하면 다음과 같다.
여기서, 42 비트 레지스터를 표현함에 있어 42 번 내지 63번 비트들은 항상 '0'으로 할당됨을 알 수 있다.
상기 부호 확장된 최종 스테이지의 상기 저장된 값과 다항식의 두 32 비트 엔터티들을 논리적으로 논리곱(AND) 연산하면 다음과 같다.
상기 값들을 상기 시프트된 시프트 레지스터와 논리적으로 배타적 논리합 연산하면 다음과 같다.
즉, '1101 1101 0100 0000 1000 1110 1100 1010'(시프트 레지스터의 0번 내지 31번에 저장된 비트들) 및 '1000 1110 0110 1111 0000 0100 1110 1111'(다항식 결과의 0번 내지 31번 비트들)을 배타적 논리합(XOR) 연산하게 되면 다음과 같다.
또한, '0000 0000 0000 0000 0000 0010 0011 1000'(시프트 레지스터의 32번 내지 63번에 저장된 비트들) 및 '0000 0000 0000 0000 0000 0000 0000 1010'(다항식 결과의 32번 내지 63번 비트들)을 배타적 논리합(XOR) 연산하게 되면 다음과 같다.
결과적으로, 시프트 레지스터의 새로운 값은 다음과 같다.
본 발명에 따른 바람직한 제2 실시예에 있어서, 다항식 탭에 따른 상기 시프트 레지스터의 모든 스테이지들은 상기 최종 스테이지의 값과 배타적 논리합 연산되며, 그런다음 상기 시프트 레지스터는 시프트되고, 최종 스테이지의 값이 상기 시프트 레지스터의 최초 스테이지로 입력된다. 바람직한 효과는 상기 탭 다항식을 42 비트의 이진 시퀀스로 변환시킴으로서 얻어진다. 그런다음, 상기 시프트 레지스터의 최종 스테이지로부터 출력되는 매 비트를 논리합 연산하고, 마지막으로 상기 시프트 레지스터의 현재 상태와 상기 결과를 배타적 논리합 연산한다. 일단 상기 과정이 수행되면, 상기 전체 시프트 레지스터의 내용들은 일단 시프트되고 상기 최종 스테이지의 저장된 값이 최초 스테이지로 이동된다.
<제2 실시예 - short code>
짧은 코드 레지스터의 시프트는 매 전력 제어 그룹(power control group; PCG) 동안 1536번 발생하며, I 및 Q 시프트 레지스터 둘다 이러한 동작을 필요로 한다. 상기 짧은 코드 시프트 레지스터들에 대한 탭 다항식들은 다음과 같다.
상기 I 및 Q 가지들에 대한 시프트 레지스터들은 16 비트 데이터 엔터티들로 표현된다. 그러므로, 두개의 시프트 레지스터들 모두 단지 32 비트의 메모리만을 차지할 것이다.
상기 레지스터는 상기 탭 다항식을 적용하기 전에 시프트된다. 또한, 상기 탭 다항식은 최초 비트가 '1'로 설정되어 시프트된다. 상기 시프트된 탭 다항식들은 하기와 같다.
'0010 0011 1010 0001'(I 시퀀스, 왼쪽에서 오른쪽 방향으로 MSB에서 LSB의 순으로 리스트됨)
'0001 1100 0111 1001'(Q 시퀀스, 왼쪽에서 오른쪽 방향으로 MSB에서 LSB의 순으로 리스트됨)
여기서, 상기 15번 비트는 '0'으로 설정됨을 알 수 있다.
그런다음, 상기 시프트된 탭 다항식들은 상기 결과가 논리적으로 상기 시프트된 시프트 레지스터와 배타적 논리합이 되기 전에 상기 시프트 레지스터의 최종 스테이지의 확장된 값과 논리적으로 논리곱 연산된다.
선택적으로, 상기 탭 다항식은 15 비트 이진 시퀀스로 변환된다. 상기 시퀀스는 상기 레지스터의 최종 스테이지로부터의 출력값과 논리적으로 논리곱 연산되고, 상기 결과는 시프트 레지스터의 현재 값과 배타적 논리합 연산된다. 그런 다음, 시프트 레지스터는 MSB 쪽으로 한 비트만큼 시프트되고, 상기 최종 스테이지의 값은 최초 스테이지의 값으로 입력된다.
이러한 경우에 있어서, 상기 시프트되지 않은 이진 시퀀스를 탭 다항식들의 형태로 나타내면 다음과 같다.
'0101 0001 1101 0000'(I 시퀀스, 왼쪽에서 오른쪽 방향으로 MSB에서 LSB의 순으로 리스트됨)
'0100 1110 0011 1100'(Q 시퀀스, 왼쪽에서 오른쪽 방향으로 MSB에서 LSB의 순으로 리스트됨)
여기서, 상기 15번 비트는 '0'으로 설정됨을 알 수 있다.
상기 탭 다항식 시퀀스의 모든 비트를 상기 레지스터의 최종 스테이지의 값과 논리곱 연산(15번의 시프트와 15번의 논리곱 연산이 필요하다)하는 대신에, 상 기 최종 시프트 레지스터 스테이지의 값이 전체 15 비트들로 먼저 확장된다.(실제적으로, C 언어로 구현할 경우, 16비트이며, 상기 시프트 레지스터는 물리적으로 16비트 데이터 엔터티로서 표현된다.) 그런다음, 부호 연산을 사용(use of signed arithmetic)하고. 상기 값을 MSB 위치로 시프트하며, 전체 16비트들로 부호 확장되도록 LSB 위치로 되돌린다.
상기 최종 스테이지의 값은 저장되며, 16비트로 부호 확장된다. 상기 논리곱 및 배타적 논리합 연산은 이제 용이하게 수행될 수 있으며, 상기 레지스터는 MSB 쪽으로 한 비트씩 시프트된다. 마지막으로 시프트 레지스터의 상기 최종 스테이지의 이전 값은 최초 스테이지로 할당된다.
상술한 본 발명의 방법은 숙련된 프로그래머들에 의해 적절한 컴퓨터 프로그램을 사용하여 구현될 수 있음은 자명하다. 본 발명은 상기와 같은 프로그램 및 프로세서(예컨대, DSP 등) 등과 같은 것들을 본 발명의 범위 내에 포함한다.
본 발명에 있어 상술한 시스템의 다양한 변형이 가능함은 당업자에게 있어 자명하며, 본 발명의 범위에 해당되는 것으로 고려되어져야 한다.
상술한 바와 같이 본 발명에 따른 PN 시퀀스를 저장하는 시프트 레지스터를 업데이트 하는 방법에 의하면, 상기 시프트 레지스터를 소프트웨어적으로 구현함으로서, 긴 코드 및 짧은 코드를 저장하는 시프트 레지스터의 업데이트를 보다 빠르고 효율적으로 수행할 수 있게 되는 이점이 있다. 특히, 직교 위상 확산(quadrature spreading)이 소프트웨어에서 효과적으로 수행될 수 있도록 하는 이점이 있다.
Claims (13)
- 의사잡음(PN) 코드 시프트 레지스터의 현재 값으로부터 새로운 값으로 업데이트 하는 방법에 있어서,(a) 탭 다항식(tap polynomial)을 탭 다항식 이진 시퀀스(tap polynomial binary sequence)로 표현하는 과정;(b) 상기 시프트 레지스터의 현재 값의 최종 스테이지(stage)의 값을 상기 탭 다항식 이진 시퀀스의 각 비트들과 논리곱(AND) 연산하는 과정; 및(c) 상기 (b) 과정의 결과를 상기 시프트 레지스터의 현재 값과 논리적으로 배타적 논리합(XOR) 연산하는 과정을 포함함을 특징으로 하는 시프트 레지스터의 업데이트 방법.
- 제1항에 있어서,상기 (b) 과정은,상기 시프트 레지스터의 현재 값의 최종 스테이지의 값을 적어도 상기 탭 다항식 이진 시퀀스의 시퀀스 길이로 부호 확장하고, 상기 부호 확장된 값을 상기 탭 다항식 이진 시퀀스와 논리곱 연산함으로써 수행됨을 특징으로 하는 시프트 레지스터의 업데이트 방법.
- 제1항 또는 제2항에 있어서,상기 방법은 상기 (c) 단계 이후에, 상기 시프트 레지스터의 현재 값을 최상위 비트(MSB) 쪽으로 한 비트만큼 이동시키고, 상기 시프트 레지스터의 현재 값의 최종 스테이지 값을 상기 시프트 레지스터의 새로운 값의 최초 스테이지 값으로 할당하는 과정을 포함함을 특징으로 하는 시프트 레지스터의 업데이트 방법.
- 제1항 또는 제2항에 있어서,상기 탭 다항식의 표현은, 최하위 비트(LSB)를 1로 설정하고 최상위 비트(MSB) 쪽으로 한 비트만큼 시프트 된 이진 시퀀스를 출력하며, 상기 시프트 레지스터의 현재 값을 상기 (b) 과정을 수행하기 전에 상기 최상위 비트(MSB) 쪽으로 한 비트만큼 시프트 함을 특징으로 하는 시프트 레지스터의 업데이트 방법.
- 제1항 또는 제2항에 있어서,상기 시퀀스 길이는 42 비트임을 특징으로 하는 시프트 레지스터의 업데이트 방법.
- 제1항 또는 제2항에 있어서,상기 시퀀스 길이는 15 비트임을 특징으로 하는 시프트 레지스터의 업데이트 방법.
- 삭제
- 의사잡음(PN) 코드 시프트 레지스터의 현재 값으로부터 새로운 값으로 업데이트 하기 위해 프로그램된 프로세서에 있어서,탭 다항식(tap polynomial)을 탭 다항식 이진 시퀀스(tap polynomial binary sequence)로 표현하는 탭 다항식 표현장치와;상기 시프트 레지스터의 현재 값의 최종 스테이지(stage)의 값을 상기 탭 다항식 이진 시퀀스의 각 비트들과 논리곱(AND) 연산하는 논리곱 연산장치; 및상기 (b) 과정의 결과를 상기 시프트 레지스터의 현재 값과 배타적 논리합(XOR) 연산하는 배타적 논리합 연산장치를 포함함을 특징으로 하는 프로세서.
- 제8항에 있어서, 상기 프로세서는 디지털 시그널 프로세서(Digital Signal Processor)임을 특징으로 하는 프로세서.
- 제3항에 있어서,상기 시퀀스 길이는 42 비트임을 특징으로 하는 시프트 레지스터의 업데이트 방법.
- 제4항에 있어서,상기 시퀀스 길이는 42 비트임을 특징으로 하는 시프트 레지스터의 업데이트 방법.
- 제3항에 있어서,상기 시퀀스 길이는 15 비트임을 특징으로 하는 시프트 레지스터의 업데이트 방법.
- 제4항에 있어서,상기 시퀀스 길이는 15 비트임을 특징으로 하는 시프트 레지스터의 업데이트 방법.
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AUPR1487A AUPR148700A0 (en) | 2000-11-15 | 2000-11-15 | Method and apparatus for long code generation |
AUPR1487 | 2000-11-15 | ||
AUPR2063A AUPR206300A0 (en) | 2000-12-13 | 2000-12-13 | A method for quadrature spreading |
AUPR2063 | 2000-12-13 | ||
AUPR2505 | 2001-01-11 | ||
AUPR2505A AUPR250501A0 (en) | 2001-01-11 | 2001-01-11 | Method and apparatus for long code generation |
PCT/AU2001/001405 WO2002041512A1 (en) | 2000-11-15 | 2001-10-31 | A method of updating a shift register |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030064787A KR20030064787A (ko) | 2003-08-02 |
KR100805343B1 true KR100805343B1 (ko) | 2008-02-20 |
Family
ID=27158258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020037006632A KR100805343B1 (ko) | 2000-11-15 | 2001-10-31 | 시프트 레지스터의 업데이트 방법 |
Country Status (12)
Country | Link |
---|---|
US (1) | US7433906B2 (ko) |
EP (1) | EP1334566A1 (ko) |
JP (1) | JP2004513592A (ko) |
KR (1) | KR100805343B1 (ko) |
CN (1) | CN1483248A (ko) |
AU (2) | AU2002213658B2 (ko) |
BR (1) | BR0115417A (ko) |
CA (1) | CA2429080A1 (ko) |
HU (1) | HUP0303546A2 (ko) |
MX (1) | MXPA03004291A (ko) |
NO (1) | NO20032193L (ko) |
WO (1) | WO2002041512A1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006059689A1 (de) * | 2006-12-18 | 2008-06-19 | Robert Bosch Gmbh | Verfahren zum Übertagen von Daten eines Datenstroms über ein Kommunikationsmedium eines Kommunikationssystems, sowie Teilnehmer eines Kommunikationssystems und Kommunikationssystems zur Ausführung des Verfahrens |
KR101044025B1 (ko) * | 2009-03-09 | 2011-06-23 | 정정한 | 두피 마사지기 |
US9747105B2 (en) | 2009-12-17 | 2017-08-29 | Intel Corporation | Method and apparatus for performing a shift and exclusive or operation in a single instruction |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997006609A1 (en) * | 1995-08-03 | 1997-02-20 | Northern Telecom Limited | Synchronization to pseudo random number sequence with sign ambiguity in communications systems |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2641921B1 (fr) * | 1988-12-30 | 1991-03-15 | Portenseigne Radiotechnique | Dispositif generateur de sequence pseudo-aleatoire |
JP2734956B2 (ja) * | 1993-12-24 | 1998-04-02 | 日本電気株式会社 | スペクトラム拡散用pn符号同期方法 |
JP3329705B2 (ja) * | 1997-09-02 | 2002-09-30 | 松下電器産業株式会社 | Pn符号発生装置及び移動無線通信システム |
JP3914626B2 (ja) * | 1998-01-16 | 2007-05-16 | Necエンジニアリング株式会社 | Pn符号発生回路 |
JPH11340799A (ja) * | 1998-05-28 | 1999-12-10 | Oki Electric Ind Co Ltd | M系列発生回路、m系列の発生方法及びpn系列発生回路 |
US6816876B2 (en) * | 2000-01-28 | 2004-11-09 | Infineon Technologies Ag | Apparatus and method for modifying an M-sequence with arbitrary phase shift |
-
2001
- 2001-10-31 KR KR1020037006632A patent/KR100805343B1/ko not_active IP Right Cessation
- 2001-10-31 WO PCT/AU2001/001405 patent/WO2002041512A1/en not_active Application Discontinuation
- 2001-10-31 JP JP2002543801A patent/JP2004513592A/ja active Pending
- 2001-10-31 US US10/416,638 patent/US7433906B2/en not_active Expired - Fee Related
- 2001-10-31 EP EP01981957A patent/EP1334566A1/en not_active Withdrawn
- 2001-10-31 CA CA002429080A patent/CA2429080A1/en not_active Abandoned
- 2001-10-31 AU AU2002213658A patent/AU2002213658B2/en not_active Ceased
- 2001-10-31 CN CNA018214614A patent/CN1483248A/zh active Pending
- 2001-10-31 BR BR0115417-6A patent/BR0115417A/pt not_active Application Discontinuation
- 2001-10-31 MX MXPA03004291A patent/MXPA03004291A/es active IP Right Grant
- 2001-10-31 HU HU0303546A patent/HUP0303546A2/hu unknown
- 2001-10-31 AU AU1365802A patent/AU1365802A/xx active Pending
-
2003
- 2003-05-14 NO NO20032193A patent/NO20032193L/no not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997006609A1 (en) * | 1995-08-03 | 1997-02-20 | Northern Telecom Limited | Synchronization to pseudo random number sequence with sign ambiguity in communications systems |
Also Published As
Publication number | Publication date |
---|---|
EP1334566A1 (en) | 2003-08-13 |
MXPA03004291A (es) | 2004-09-10 |
NO20032193D0 (no) | 2003-05-14 |
WO2002041512A1 (en) | 2002-05-23 |
HUP0303546A2 (en) | 2004-01-28 |
AU1365802A (en) | 2002-05-27 |
BR0115417A (pt) | 2003-12-09 |
NO20032193L (no) | 2003-07-07 |
CA2429080A1 (en) | 2002-05-23 |
JP2004513592A (ja) | 2004-04-30 |
AU2002213658B2 (en) | 2009-10-08 |
US20040052222A1 (en) | 2004-03-18 |
US7433906B2 (en) | 2008-10-07 |
KR20030064787A (ko) | 2003-08-02 |
CN1483248A (zh) | 2004-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100669832B1 (ko) | 복소 스크램블링 코드 시퀀스를 발생하는 방법 및 장치 | |
RU2242819C2 (ru) | Кодирование множественного доступа с использованием свернутых последовательностей для систем подвижной радиосвязи | |
US5452328A (en) | Technique for generating sets of binary spreading-code sequences for a high data-rate spread-spectrum network | |
US6496474B1 (en) | Spread encoding device and method | |
NZ251900A (en) | Ciphering for code division multiple access cellular radio | |
CA2342808A1 (en) | Apparatus and method for generating scrambling code in umts mobile communication system | |
KR100805343B1 (ko) | 시프트 레지스터의 업데이트 방법 | |
JP4027520B2 (ja) | コード位相設定方法及び装置 | |
EP1320940B1 (en) | Method and apparatus for efficient walsh covering and summing of signals in a communication system | |
US6714599B1 (en) | Method and apparatus for efficient processing of signal in a communication system | |
KR100805342B1 (ko) | 직교 확산 방법 | |
AU2002213658A1 (en) | A method of updating a shift register | |
US6975584B1 (en) | Communication system method and apparatus | |
ZA200303779B (en) | A method of updating a shift register. | |
AU2002213647A1 (en) | A method of quadrature spreading | |
KR20000004714U (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 | ||
N231 | Notification of change of applicant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120203 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20130117 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |