KR101961912B1 - 신호 상관 방법 - Google Patents

신호 상관 방법 Download PDF

Info

Publication number
KR101961912B1
KR101961912B1 KR1020170110397A KR20170110397A KR101961912B1 KR 101961912 B1 KR101961912 B1 KR 101961912B1 KR 1020170110397 A KR1020170110397 A KR 1020170110397A KR 20170110397 A KR20170110397 A KR 20170110397A KR 101961912 B1 KR101961912 B1 KR 101961912B1
Authority
KR
South Korea
Prior art keywords
value
code
complex data
sign
correlation
Prior art date
Application number
KR1020170110397A
Other languages
English (en)
Other versions
KR20190023946A (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 KR1020170110397A priority Critical patent/KR101961912B1/ko
Publication of KR20190023946A publication Critical patent/KR20190023946A/ko
Application granted granted Critical
Publication of KR101961912B1 publication Critical patent/KR101961912B1/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/709Correlator structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J13/00Code division multiplex systems
    • H04J13/0007Code type
    • H04J13/0022PN, e.g. Kronecker
    • 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)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

본 발명은 신호 상관기 및 이를 이용한 신호 상관 방법에 관한 것으로서, 보다 상세하게는 수신되는 신호를 효율적으로 동기화시키기 위한 신호 상관기 및 이를 이용한 신호 상관 방법에 관한 것이다.
본 발명의 실시 예에 따른 신호 상관기는 수신 신호로부터 변환된 복소 데이터가 입력되는 입력부; 상기 복소 데이터에 대응되는 PN 코드(Pseudo Noise Code)를 생성하는 PN 코드 생성부; 및 상기 PN 코드를 설정된 배율로 스케일링한 값에 상기 복소 데이터(PN)의 값을 곱한 값을 상관 값으로 연산하는 연산부;를 포함한다.

Description

신호 상관 방법{METHOD FOR CORRELATING SIGNAL}
본 발명은 신호 상관기 및 이를 이용한 신호 상관 방법에 관한 것으로서, 보다 상세하게는 수신되는 신호를 효율적으로 동기화시키기 위한 신호 상관기 및 이를 이용한 신호 상관 방법에 관한 것이다.
최근 무선랜(WLAN: Wireless Local Area Network)을 이용한 고속 데이터 통신이 적용되는 분야가 증가하고 있다.
현재, 무선랜은 사용되는 주파수 대역, 통신방식 등에 따른 IEEE 802.11의 다양한 표준에 맞춰 개발되고 있다. 특히, IEEE 802.11a, 802.11b 및 802.11g는 직교 주파수 분할 다중화 방식을 채택한 표준화가 완료된 상태이며, IEEE 802.11n은 드래프트(draft) 3.0 까지 표준화가 진행되었다.
이러한 직교 주파수 분할 다중화 방식을 채택한 무선랜에서 동기 획득을 위한 상관 연산에는 자기 상관 기법(auto-correlation method) 또는 크로스 상관 기법(cross-correlation method) 등이 적용될 수 있는데, 이러한 상관 기법들은 모두 복소 연산을 필요로 한다. 즉, 직교 주파수 분할 다중화 방식에 적용되는 상관 기법들은 모두 복소 신호를 입력으로 하는 복소 연산이 필요하며, 이러한 복소 연산을 위해 연산량이 증가하고 하드웨어의 복잡도가 증가하게 되는 문제점이 발생하고 있다.
KR 10-0155522 B1
본 발명은 동기 획득을 위한 상관 값 계산시 연산량을 최소화할 수 있는 신호 상관기 및 이를 이용한 신호 상관 방법을 제공한다.
또한, 본 발명은 상관 값 계산시 곱셈 연산을 필요로 하지 않는 신호 상관기 및 이를 이용한 신호 상관 방법을 제공한다.
본 발명의 실시 예에 따른 신호 상관 방법은 수신 신호로부터 변환된 복소 데이터를 입력받는 과정; 상기 복소 데이터에 대응되는 PN 코드(Pseudo Noise Code)를 생성하는 과정; 상기 PN 코드의 실수부 및 허수부의 부호를 확인하는 과정; 및 상기 확인된 PN 코드의 실수부 및 허수부의 부호에 따라 상관 값을 연산하는 과정;을 포함한다.
상기 수신 신호는 BPSK(Binary Phase Shift Keying) 또는 QPSK(Quadrature Phase Shift Keying) 방식으로 변조된 신호를 포함할 수 있다.
상기 복소 데이터를 입력받는 과정은, 상기 복소 데이터의 실수부 및 허수부를 추출하는 과정; 및 상기 복소 데이터의 실수부 및 허수부를 상호 연산하여 전처리하는 과정;을 포함할 수 있다.
상기 전처리하는 과정은, 상기 복소 데이터의 실수부의 값에 허수부의 값을 합한 가산 값을 저장하는 과정; 및 상기 복소 데이터의 실수부의 값에 허수부의 값을 뺀 감산 값을 저장하는 과정;을 포함할 수 있다.
상기 상관 값을 연산하는 과정은, 상기 저장된 가산 값 및 감산 값을 입력받는 과정; 상기 입력받은 가산 값 및 감산 값의 부호를 결정하는 과정; 및 상기 부호 결정된 가산 값 및 감산 값으로부터 상기 상관 값의 실수부 및 허수부의 값을 결정하는 과정;을 포함할 수 있다.
상기 가산 값 및 감산 값의 부호를 결정하는 과정은, 상기 PN 코드의 실수부가 음의 부호를 가지는 경우, 상기 가산 값의 부호를 변환하는 것으로 결정하고, 상기 PN 코드의 허수부가 음의 부호를 가지는 경우, 상기 감산 값의 부호를 변환하는 것으로 결정할 수 있다.
상기 상관 값의 실수부 및 허수부의 값을 결정하는 과정은, 상기 PN 코드의 실수부 및 허수부가 서로 다른 부호를 가지는 경우, 상기 부호 결정된 가산 값 및 감산 값을 상기 상관 값의 실수부 및 허수부의 값으로 각각 선택하고, 상기 PN 코드의 실수부 및 허수부가 동일한 부호를 가지는 경우, 상기 부호 결정된 가산 값 및 감산 값을 상기 상관 값의 허수부 및 실수부의 값으로 각각 선택할 수 있다.
상기 복소 데이터를 입력받는 과정은, 복수 개의 저장부에 복수 개의 복소 데이터를 순차적으로 임시 저장하고, 상기 PN 코드를 생성하는 과정은, 상기 복수 개의 저장부에 각각 대응되는 복수 개의 PN 코드를 생성할 수 있다.
상기 복수 개의 복소 데이터에 대하여 결정된 상관 값을 합산하여 출력하는 과정;을 더 포함할 수 있다.
본 발명의 실시 예에 따른 신호 상관기 및 이를 이용한 신호 상관 방법에 의하면, PN 코드를 설정된 배율로 스케일링한 값에 상기 복소 데이터의 값을 곱한 값을 상관 값으로 연산하고, 연산된 상관 값에 대한 피크를 확인하여 동기를 획득함으로써 연산량을 증가시키는 곱셈 연산을 생략하고, CPU의 자원 소모 및 로직의 사용량을 절감할 수 있다.
또한, 간단한 부호 변환만으로 상관 값을 연산할 수 있게 되어 상관기를 구성하는 하드웨어를 단순화시킬 수 있다.
뿐만 아니라, 복수 데이터의 실수부와 허수부에 대하여 가산 값 및 감산 값을 전처리함으로써, 실제 상관 값의 연산에 필요한 동기 신호의 획득 시간을 최대한 활용하고, 짧은 길이의 PN 시퀀스에 대해서도 듀웰 타임의 개념을 적용하여 동기 신호를 획득할 수 있다.
도 1은 일반적인 신호 상관기가 동작하는 모습을 나타내는 도면.
도 2는 본 발명의 실시 예에 따른 신호 상관기를 개략적으로 나타내는 도면.
도 3은 PN 코드를 설정된 배율로 스케일링한 값을 나타내는 도면.
도 4는 본 발명의 실시 예에 따른 상관 값의 실수부 및 허수부의 값을 각각 나타내는 도면.
도 5는 본 발명의 실시 예에 따른 신호 상관기가 동작하는 모습을 나타내는 도면.
도 6은 본 발명의 실시 예에 따른 신호 상관 방법을 개략적으로 나타내는 도면.
본 발명에 따른 신호 상관기 및 이를 이용한 신호 상관 방법은 동기 획득을 위한 상관 값 계산시 연산량을 최소화하고, 상관 값 계산시에 곱셈 연산을 필요로 하지 않는 기술적 특징을 제시한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예들을 상세히 설명하기로 한다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 발명의 실시 예들은 본 발명의 개시가 완전하도록 하며, 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 도면상에서 동일 부호는 동일한 요소를 지칭한다.
대역 확산 무선 통신에서는 전송 데이터 레이트에 필요한 최소 대역폭 보다 더 큰 무선 주파수 대역폭을 사용하고 있으나, 다수의 사용자들이 이 대역폭을 동시에 점유(다중접속)할 수도 있다. 각 사용자들은 정보를 인코딩하기 위해 정보를 "확산"하고 대응되는 사용자의 정보를 복구하기 위해 대역 확산 신호를 (상호상관에 의해) 역확산하기 위한 의사 난수 코드(Pseudo Random Code)를 갖는다.
다중 접속은 통상 코드분할 다중접속(CDMA)으로 지칭된다. 의사 난수 코드로는 직교 코드(왈시 코드), 의사 잡음 코드(PN 코드), 골드 코드 또는 이들 코드들을 조합(모듈로-2 가산)하여 사용할 수 있다. 수신된 신호가 정확한 타이밍에 역확산된 다음, 대응되는 정보가 사용자에 의해 복구되는 한편 나머지 간섭 신호들은 잡음으로 보이게 된다. 여기서, 대역 확산 수신기는 코드 트랙킹을 수반하는 코드 획득에 의해 송신기와 동기된다. 이와 같은 동기화는 신호 상관기에 의하여 수행된다.
일반적인 신호 상관기는 두 가지 종류가 있다. 하나는 액티브 상관기(active correlator)이고, 나머지 하나는 정합 필터 상관기(matched filter correlator)이다.
액티브 상관기(active correlator)는 입력부로 복소 데이터(RX)가 입력되면, 상기 복소 데이터(RX)와 PN 시퀀스의 하나인 PN 코드가 곱해져서 상관 값을 얻는다. 그리고, 상기 상관 값을 PN 시퀀스의 개수(N개)만큼 합산하여 합산된 최종 상관 값(ΣCR)을 얻을 수 있다. 그러나, 상기 액티브 상관기는 하나의 상관 값을 구하는 데 소요되는 시간이 Tc이라면, N×Tc 만큼의 시간이 소요된다. 따라서, 간단한 하드웨어 구성만으로 상관 값을 얻을 수 있지만, 상관 값을 순차적(serial)으로 처리하므로 획득 시간(acquisition time)이 긴 문제점이 있다.
도 1은 정합 필터 상관기가 동작하는 모습을 나타내는 도면이다. 정합 필터 상관기는 탭(tap)의 수를 다수로 구성하고, 바람직하게는 PN 시퀀스의 개수만큼 구성한다. 그리고, 복소 데이터(RX)가 저장부(도 1에 D로 표시)에 하나씩 입력되고, 상기 하나의 복소 데이터 (RX)와 PN 코드 생성부에서 생성된 PN 시퀀스(PNN, PNN-1, PNN-2, ... ,PN0)중 하나가 곱셈부(도 1에 X로 표시)에서 상관되어 상관 값(CRN, CRN-1, CRN-2, ... ,CR0)을 얻게 되고, 상기 상관 값들이 모두 더해져 합산된 최종 상관 값(ΣCR)을 얻을 수 있다. 따라서, 하나의 상관 값을 구하는 데 소요되는 시간이 Tc이라면 모든 상관 값(CRN, CRN-1, CRN-2, ... ,CR0)을 구하는데 Tc의 시간이 소요된다. 상기 정합 필터 상관기는 데이터를 병렬적(parallel)으로 처리하므로 하드웨어가 다소 복잡하지만 획득 시간은 짧은 장점이 있다.
이러한 상관기들은 모두 곱셈부에서의 복소 연산을 필요로 한다. 즉, 직교 주파수 분할 다중화 방식에 적용되는 상관 기법들은 모두 복소 데이터를 입력으로 하여 PN 시퀀스의 하나인 PN 코드와의 곱셈에 따른 복소 연산을 필요로 하며, 이러한 복소 연산을 위해 연산량이 증가하고 하드웨어의 복잡도가 더욱 증가하게 되는 문제점이 발생하였다.
도 2는 본 발명의 실시 예에 따른 신호 상관기를 개략적으로 나타내는 도면이다.
본 발명의 실시 예에 따른 신호 상관기는 수신 신호로부터 변환된 복소 데이터(RX)가 입력되는 입력부(100); 상기 복소 데이터(RX)에 대응되는 PN 코드(Pseudo Noise Code)를 생성하는 PN 코드 생성부(200); 및 상기 PN 코드를 설정된 배율로 스케일링한 값에 상기 복소 데이터(PN)의 값을 곱한 값을 상관 값으로 연산하는 연산부(300);를 포함한다.
입력부(100)에는 송신 장치로부터 송신되어 수신 장치로 수신되는 수신 신호로부터 변환된 복소 데이터(RX)가 입력된다. 대역 확산 무선 통신에서는 다수의 사용자들에 의한 다중 접속의 필요성 때문에 변조된 송신 신호를 송출하며, 수신 장치는 이와 같은 변조된 신호를 수신하게 된다. 여기서, 수신 신호는 BPSK(Binary Phase Shift Keying) 또는 QPSK(Quadrature Phase Shift Keying) 방식으로 변조된 신호를 포함할 수 있다. BPSK 방식은 위상을 변조하여 1 비트(bit)를 한 심볼에 전송하는 방식을 의미하며, QPSK 방식은 위상을 변조하여 2 비트(bit)를 한 심볼에 전송하는 방식을 의미한다.
PN 코드 생성부(200)는 입력부(100)로부터 입력되는 복소 데이터(RX)에 대응되는 PN 코드(Pseudo Noise Code)를 생성한다. PN 코드는 하나의 주기 내에 복수 개로 구비되어 PN 시퀀스를 구성하며, 각 PN 코드는 송신된 신호를 변조하기 위한 변조 코드의 공액 복소수 형태를 가진다. 이와 같은 PN 코드 생성부(200)는 일반적인 상관기에서의 경우와 동일한 구성을 가지므로, 이에 대한 상세한 설명은 생략하기로 한다.
연산부(300)는 PN 코드 생성부(200)로부터 생성된 PN 코드를 설정된 배율로 스케일링한 값에 복소 데이터(RX)의 값을 곱한 값을 상관 값으로 연산한다. 본 발명의 실시 예에 따른 신호 상관기 및 이를 이용한 신호 상관 방법에 따르면, 곱셈 연산 과정 없이 PN 코드를 설정된 배율로 스케일링한 값에 복소 데이터(RX)의 값을 곱한 결과인 상관 값을 연산할 수 있으며, 이와 같이 연산부(300)가 PN 코드를 설정된 배율로 스케일링한 값에 복소 데이터(RX)의 값을 곱한 값을 상관 값으로 연산하는 과정은 이하에서 상세하게 설명하기로 한다.
도 3은 PN 코드를 설정된 배율로 스케일링한 값을 나타내는 도면이고, 도 4는 본 발명의 실시 예에 따른 상관 값의 실수부 및 허수부의 값을 각각 나타내는 도면이다.
도 3을 참조하면, 본 발명의 실시 예에 따른 연산부(300)는 PN 코드 생성부(200)로부터 생성된 PN 코드를 설정된 배율로 스케일링한 값에 복소 데이터(RX)의 값을 곱한 값을 상관 값으로 연산한다. 여기서, PN 코드 생성부(200)로부터 생성된 PN 코드를 설정된 배율로 스케일링한 값(PN')은 실수부 및 허수부의 값이 1 또는 -1의 값을 가질 수 있다.
일반적으로, 복소수의 곱셈 연산은 (a+bi)×(c+di)로 표현되는데, 그 결과는 (ac-bd)+(ad+bc)i로 나타난다. 여기서 (a+bi)는 송신한 PN 시퀀스의 패턴, 즉 PN 코드가 되고 (c+di)는 수신된 신호의 값, 즉 수신 신호로부터 변환된 복소 데이터의 값이 된다. 여기서 PN 코드는 도 3에 도시된 바와 같이 반지름의 크기가 1인 원 위의 점(X로 표시)으로 표현되고, PN 코드는 BPSK 혹은 QPSK 형태의 성상도를 갖는 형태로 매핑되므로, (a+bi)는 ±1/sqrt(2)±i/sqrt(2), 즉 1/sqrt(2)+i/sqrt(2), 1/sqrt(2)-i/sqrt(2), -1/sqrt(2)+i/sqrt(2) 및 -1/sqrt(2)-i/sqrt(2) 중 어느 하나의 값으로 표현될 수 있다.
여기서, PN 코드의 상관기 결과 값은 그 절대적인 값이 의미가 있는 것이 아니라 입력 값들의 상관 값들 간의 상대적인 값의 차이가 의미가 있는 것이므로 실제 상관 값에 다른 값이 곱해지거나 나누어지는 것은 결과 값의 사용에 영향을 주지 않게 된다. 이를 이용하여 (a+bi)를 sqrt(2)만큼의 배율로 스케일링한 값(PN')은 ±1±i, 즉 1+i, 1-i, -1+i 및 -1-i 중 어느 하나의 값으로 고쳐 쓸 수 있다.
이렇게 바뀐 값으로 (a+bi)×(c+di) 연산에 적용하면 (ac-bd)+(ad+bc)i 이었던 상관 값 연산 결과를 (±c±d)+(±d±c)i로 나타낼 수 있다. 즉, 곱셈 연산은 더이상 필요 없게 되며, 덧셈 연산과 뺄셈 연산만으로 상관 값을 연산할 수 있게 된다. 여기서, (±c±d), (±d±c) 의 값은 ±(c+d), ±(c-d)로 표현될 수 있다. 이는 (c+d) 및 (c-d) 두 가지 덧셈 연산과 뺄셈 연산을 먼저 수행한 후, 그 결과 값에 부호를 변환하는 방법으로 구현할 수 있는 형태가 된다.
도 4에 도시된 바와 같이, 먼저 PN 코드가 1/sqrt(2)+i/sqrt(2)의 값을 가지는 경우 PN 코드를 설정된 배율로 스케일링한 값(PN')은 1+i의 값을 가지게 된다. 따라서, PN 코드를 설정된 배율로 스케일링한 값(PN')에 수신 신호로부터 변환된 복소 데이터의 값인 c+di를 곱한 결과 값인 상관 값(CR')은 실수부가 (c-d)의 값을 가지고 허수부가 (c+d)의 값을 가지는 (c-d)+(c+d)i의 값으로 연산된다.
또한, PN 코드가 1/sqrt(2)-i/sqrt(2)의 값을 가지는 경우 PN 코드를 설정된 배율로 스케일링한 값(PN')은 1-i의 값을 가지게 된다. 따라서, PN 코드를 설정된 배율로 스케일링한 값(PN')에 수신 신호로부터 변환된 복소 데이터의 값인 c+di를 곱한 결과 값인 상관 값(CR')은 실수부가 (c+d)의 값을 가지고 허수부가 -(c-d)의 값을 가지는 (c+d)-(c-d)i의 값으로 연산된다.
뿐만 아니라, PN 코드가 -1/sqrt(2)+i/sqrt(2)의 값을 가지는 경우 PN 코드를 설정된 배율로 스케일링한 값(PN')은 -1+i의 값을 가지게 되어, 상관 값(CR')은 실수부가 -(c+d)의 값을 가지고 허수부가 (c-d)의 값을 가지는 -(c+d)+(c-d)i의 값으로 연산되고, PN 코드가 -1/sqrt(2)-i/sqrt(2)의 값을 가지는 경우 PN 코드를 설정된 배율로 스케일링한 값(PN')은 -1-i의 값을 가지게 되어, 상관 값(CR')은 실수부가 -(c-d)의 값을 가지고 허수부가 -(c+d)의 값을 가지는 -(c-d)-(c+d)i의 값으로 연산된다.
도 5는 본 발명의 실시 예에 따른 신호 상관기가 동작하는 모습을 나타내는 도면이고, 도 6은 본 발명의 실시 예에 따른 신호 상관 방법을 개략적으로 나타내는 도면이다. 이하에서는 신호 상관기가 동작하는 모습과 관련하여 본 발명의 실시 예에 따른 신호 상관 방법을 상세하게 설명하기로 한다.
도 5에 도시된 바와 같이 본 발명의 실시 예에 따른 신호 상관기는 수신 신호로부터 변환된 복소 데이터(RX)가 입력되는 입력부(100); 상기 복소 데이터(RX)에 대응되는 PN 코드(Pseudo Noise Code)를 생성하는 PN 코드 생성부(200); 및 상기 PN 코드를 설정된 배율로 스케일링한 값에 상기 복소 데이터(PN)의 값을 곱한 값을 상관 값으로 연산하는 연산부(300);를 포함하고, 입력부(100)는 상기 복소 데이터를 전처리하는 전처리부(110);를 포함하며, 상기 전처리부(110)는 상기 복소 데이터의 실수부의 값에 허수부의 값을 합한 가산 값을 출력하는 가산부(112); 및 상기 복소 데이터의 실수부의 값에 허수부의 값을 뺀 감산 값을 출력하는 감산부(114);를 포함할 수 있다. 또한, 상기 입력부(100)는 복수 개의 복소 데이터를 순차적으로 임시 저장하는 복수 개의 저장부(120);를 포함하여 상기 PN 코드 생성부(200)가 상기 복수 개의 저장부(120)에 각각 대응되는 복수 개의 PN 코드를 생성할 수 있으며, 연산부(300)는 가산 값 및 감산 값의 부호를 변환시키기 위한 부호 변환부(310);를 포함할 수 있다.
또한, 도 6을 참조하면 본 발명의 실시 예에 따른 신호 상관 방법은 수신 신호로부터 변환된 복소 데이터(RX)를 입력받는 과정(S100); 상기 복소 데이터(RX)에 대응되는 PN 코드(Pseudo Noise Code)를 생성하는 과정(S200); 상기 PN 코드의 실수부 및 허수부의 부호를 확인하는 과정(S300); 및 상기 확인된 PN 코드의 실수부 및 허수부의 부호에 따라 상관 값(CR')을 연산하는 과정(S400);을 포함한다.
먼저, 수신 신호로부터 변환된 복소 데이터(RX)를 입력받는 과정(S100)은, 입력부(100)에 수신 신호로부터 변환되어 c+di의 값을 가지는 복소 데이터(RX)를 입력받는다. 여기서, 수신 신호는 BPSK(Binary Phase Shift Keying) 또는 QPSK(Quadrature Phase Shift Keying) 방식으로 변조된 신호를 포함할 수 있으며, BPSK 방식은 위상을 변조하여 1 비트(bit)를 한 심볼에 전송하는 방식을 의미하며, QPSK 방식은 위상을 변조하여 2 비트(bit)를 한 심볼에 전송하는 방식을 의미함은 전술한 바와 같다.
여기서, 복소 데이터(RX)를 입력받는 과정(S100)은 복소 데이터(RX)의 실수부 및 허수부를 추출하는 과정; 및 복소 데이터(RX)의 실수부 및 허수부를 상호 연산하여 전처리하는 과정;을 포함할 수 있다. 즉, 입력부(100)에 수신 신호로부터 변환되어 c+di의 값을 가지는 복소 데이터(RX)가 입력되면, 전처리부(110)는 상기 복소 데이터(RX)의 실수부 및 허수부의 값, 즉 c 값 및 d 값을 추출한다. 이후, 복소 데이터의 실수부 및 허수부를 상호 연산하여 전처리하는 과정에서 가산부(112)는 추출된 실수부 및 허수부의 값을 합하여 가산 값인 (c+d) 값을 출력하고, 감산부(114)는 추출된 실수부에 허수부의 값을 빼서 감산 값인 (c-d) 값을 출력한다.
출력된 가산 값과 감산 값은 저장부(120)에 저장된다. 즉, 전처리하는 과정은 복소 데이터(RX)의 실수부의 값에 허수부의 값을 합한 가산 값, (c+d)를 저장하는 과정; 및 복소 데이터(RX)의 실수부의 값에 허수부의 값을 뺀 감산 값, (c-d)를저장하는 과정;을 포함할 수 있다. 이를 위하여, 저장부(120)는 제1 저장부(122) 및 제2 저장부(124)를 포함할 수 있으며, 제1 저장부(122)는 전처리부(110)에서 출력되는 가산 값을 순차적으로 임시 저장하고, 제2 저장부(124)는 전처리부(110)에서 출력되는 감산 값을 순차적으로 임시 저장할 수 있다. 또한, 저장부(120)는 복수 개의 복소 데이터를 순차적으로 임시 저장하도록 복수 개로 구비될 수 있으며, 이 경우 제1 저장부(122) 및 제2 저장부(124)는 각각 복수 개로 구비될 수 있다.
또한, 복소 데이터(RX)에 대응되는 PN 코드를 생성하는 과정(S200)은, 입력부(100)에 수신 신호로부터 변환된 복소 데이터(RX)가 입력되면, PN 코드 생성부(200)로부터 입력된 복소 데이터(RX)에 대응되는 PN 코드(PN)를 생성한다. 즉, 복소 데이터(RX)가 입력되면 PN 코드 생성부는 PN 시퀀스(PNN, PNN-1, PNN-2, ... ,PN0)에 포함되는 복수 개의 PN 코드를 생성하게 된다. 여기서, 생성된 복수 개의 PN 코드는 전술한 복수 개의 저장부(120), 즉, 복수 개의 제1 저장부(122) 및 제2 저장부(124)에 각각 저장된 가산 값 및 감산 값과 각각 대응되어 복수 개의 상관 값(CR'N, CR'N-1, CR'N-2, ... ,CR'0)으로 각각 연산된다.
이후, PN 코드의 실수부 및 허수부의 부호를 확인하는 과정(S300) 및 확인된 PN 코드의 실수부 및 허수부의 부호에 따라 상관 값(CR')을 연산하는 과정(S400)이 수행된다. 여기서, 상기 상관 값(CR')을 연산하는 과정(S400)은, 저장된 가산 값 및 감산 값을 입력받는 과정; 상기 입력받은 가산 값 및 감산 값의 부호를 결정하는 과정; 및 상기 부호 결정된 가산 값 및 감산 값으로부터 상기 상관 값(CR')의 실수부 및 허수부의 값을 결정하는 과정;을 포함할 수 있다.
전술한 바와 같이, PN 코드는 BPSK 혹은 QPSK 형태의 성상도를 갖는 형태로 매핑되므로, (a+bi)는 ±1/sqrt(2)±i/sqrt(2), 즉 1/sqrt(2)+i/sqrt(2), 1/sqrt(2)-i/sqrt(2), -1/sqrt(2)+i/sqrt(2) 및 -1/sqrt(2)-i/sqrt(2) 중 어느 하나의 값으로 표현될 수 있다. 여기서, PN 코드의 상관기 결과 값은 그 절대적인 값이 의미가 있는 것이 아니라 입력 값들의 상관 값들 간의 상대적인 값의 차이가 의미가 있는 것이므로 실제 상관 값에 다른 값이 곱해지거나 나누어지는 것은 결과 값의 사용에 영향을 주지 않게 된다. 이를 이용하여 (a+bi)를 sqrt(2)만큼의 배율로 스케일링한 값(PN')은 ±1±i, 즉 1+i, 1-i, -1+i 및 -1-i 중 어느 하나의 값으로 고쳐 쓸 수 있다.
이렇게 바뀐 값으로 (a+bi)×(c+di) 연산에 적용하면 (ac-bd)+(ad+bc)i 이었던 상관 값 연산 결과를 (±c±d)+(±d±c)i로 나타낼 수 있다. 즉, 곱셈 연산은 더이상 필요 없게 되며, 덧셈 연산과 뺄셈 연산만으로 상관 값을 연산할 수 있게 된다. 여기서, (±c±d), (±d±c) 의 값은 ±(c+d), ±(c-d)로 표현될 수 있다. 이는 (c+d) 및 (c-d) 두 가지 덧셈 연산과 뺄셈 연산을 먼저 수행한 후, 그 결과 값에 부호를 변환하는 방법으로 구현할 수 있는 형태가 된다.
이러한 원리를 이용하여, 제1 저장부(122) 및 제2 저장부(124)에 각각 (c+d)의 가산 값 및 (c-d)의 감산 값이 저장되면, 연산부(300)는 PN 코드의 실수부 및 허수부의 부호를 확인한다.
즉, 가산 값 및 감산 값의 부호를 결정하는 과정에서, 상기 PN 코드의 실수부가 음의 부호를 가지는 경우, 상기 가산 값의 부호를 변환하는 것으로 결정하고, 상기 PN 코드의 허수부가 음의 부호를 가지는 경우, 상기 감산 값의 부호를 변환하는 것으로 결정한다. 또한, 상관 값(CR')의 실수부 및 허수부의 값을 결정하는 과정은, 상기 PN 코드의 실수부 및 허수부가 서로 다른 부호를 가지는 경우, 상기 부호 결정된 가산 값 및 감산 값을 상기 상관 값의 실수부 및 허수부의 값으로 각각 선택하고, 상기 PN 코드의 실수부 및 허수부가 동일한 부호를 가지는 경우, 상기 부호 결정된 가산 값 및 감산 값을 상기 상관 값의 허수부 및 실수부의 값으로 각각 선택한다.
예를 들어, 제1 저장부(122)에 가산 값인 (c+d)가 저장되고, 제2 저장부(124)에 감산 값인 (c-d)가 저장되어, PN 코드 생성부(200)로부터 생성된 PN 코드가 1/sqrt(2)+i/sqrt(2)의 값을 가지는 경우, 연산부(200)는 PN 코드의 실수부 및 허수부가 각각 양의 부호를 가지는 것으로 확인한다. 따라서, 연산부(200)는 제1 저장부(122) 및 제2 저장부(124)에 저장된 가산 값 및 감산 값의 부호를 변환하지 않는 것으로 결정한다. 즉, 부호 변환부(310)는 PN 코드의 실수부 및 허수부의 부호에 따라 제1 저장부(122) 및 제2 저장부(124)에 저장된 가산 값 및 감산 값의 부호를 선택적으로 변환시킬 수 있는 바, 이 경우 부호 변환부(310)는 제1 저장부(122) 및 제2 저장부(124)에 저장된 가산 값 및 감산 값의 부호를 변환하지 않는다.
이와 같이, 부호 변환부(310)에 의하여 제1 저장부(122) 및 제2 저장부(124)에 저장된 가산 값 및 감산 값의 부호가 변환되지 않게 되면, 연산부(300)는 PN 코드의 실수부 및 허수부가 동일한 부호를 가지는 경우이므로 부호 변환부(310)에 의하여 부호 결정된 가산 값 및 감산 값을 상관 값(CR')의 허수부 및 실수부의 값으로 각각 선택한다. 즉, PN 코드 생성부(200)로부터 생성된 PN 코드가 1/sqrt(2)+i/sqrt(2)의 값을 가지는 경우 상관 값(CR')은 (c-d)+(c+d)i의 값으로 연산된다.
또한, 예를 들어, 제1 저장부(122)에 가산 값인 (c+d)가 저장되고, 제2 저장부(124)에 감산 값인 (c-d)가 저장되어, PN 코드 생성부(200)로부터 생성된 PN 코드가 1/sqrt(2)-i/sqrt(2)의 값을 가지는 경우, 연산부(200)는 PN 코드의 실수부가 양의 부호를 가지고, 허수부가 음의 부호를 가지는 것으로 확인한다. 따라서, 연산부(200)는 제1 저장부(122)에 저장된 가산 값의 부호를 변환하지 않고, 제2 저장부(124)에 저장된 감산 값의 부호를 변환하는 것으로 결정한다. 따라서, 부호 변환부(310)는 제1 저장부(122)에 저장된 가산 값의 부호를 변환하지 않고, 제2 저장부(124)에 저장된 감산 값의 부호를 음의 부호로 변환하여 (c+d) 및 -(c-d)를 출력한다.
이와 같이, 부호 변환부(310)에 의하여 제2 저장부(124)에 저장된 감산 값의 부호만 변환되어 출력되면, 연산부(300)는 PN 코드의 실수부 및 허수부가 서로 다른 부호를 가지는 경우이므로 부호 변환부(310)에 의하여 부호 결정된 가산 값, (c+d) 및 감산 값, -(c-d)을 상관 값(CR')의 실수부 및 허수부의 값으로 각각 선택한다. 즉, PN 코드 생성부(200)로부터 생성된 PN 코드가 1/sqrt(2)-i/sqrt(2)의 값을 가지는 경우 상관 값(CR')은 (c+d)-(c-d)i의 값으로 연산된다.
이러한 과정은, PN 코드 생성부(200)로부터 생성된 PN 코드가 -1/sqrt(2)+i/sqrt(2)의 값을 가지거나, PN 코드 생성부(200)로부터 생성된 PN 코드가 -1/sqrt(2)-i/sqrt(2)의 값을 가지는 경우에도 동일하게 적용된다. 즉, 상기의 과정에 의하여 PN 코드가 -1/sqrt(2)+i/sqrt(2)의 값을 가지는 경우 상관 값(CR')은 -(c+d)+(c-d)i의 값으로 연산되고, PN 코드가 -1/sqrt(2)-i/sqrt(2)의 값을 가지는 경우 상관 값(CR')은 -(c-d)-(c+d)i의 값으로 연산된다.
이와 같이, 복수 개의 PN 코드를 포함하는 PN 시퀀스에서 복수 개의 복소 데이터(RX)에 대하여 각각 상관 값(CR')이 결정되면, 결정된 상관 값(CR')을 PN 시퀀스의 개수(N개)만큼 합산하여 출력하는 과정이 수행되며, 이에 의하여 합산된 최종 상관 값(ΣCR')을 얻을 수 있게 된다.
결국, 길이가 N인 PN 시퀀스가 있을 때, 기존에는 상관 값(CR)을 연산하기 위하여 N회의 복소 곱셈, 2×(N-1)회의 덧셈 연산과 뺄셈 연산이 필요하였다. 여기서, 복소 곱셈은 4번의 곱셈 연산과 2번의 덧셈 연산 및 뺄셈 연산으로 구성되므로 기존의 연산은 4N 회의 곱셈과 2N + 2×(N-1) 회의 덧셈 연산 및 뺄셈 연산이 필요했다. 반면, 본 발명에 의하면 기본적으로 2N+2×(N-1)회의 덧셈 연산 및 뺄셈 연산, 그리고 2N 회의 부호 변환만으로 상관 값(CR')의 연산이 가능하다. 여기에 전처리를 더해 미리 가산 값인 (c+d)와, 감산 값인 (c-d)를 미리 연산하여 저장하고, 저장된 값을 전달하게 되면 연산량은 2×(N-1)회의 덧셈 연산 및 뺄셈 연산과 2N 회의 부호 변환으로 줄어들게 된다. 따라서, 본 발명을 통해 많은 곱셈 연산에 필요한 CPU 자원 소모 혹은 로직의 사용량을 절감할 수 있다.
즉, 본 발명의 실시 예에 따른 신호 상관기 및 이를 이용한 신호 상관 방법에 의하면, PN 코드를 설정된 배율로 스케일링한 값에 상기 복소 데이터의 값을 곱한 값을 상관 값으로 연산하고, 연산된 상관 값에 대한 피크를 확인하여 동기를 획득함으로써 연산량을 증가시키는 곱셈 연산을 생략하고, CPU의 자원 소모 및 로직의 사용량을 절감할 수 있다.
또한, 간단한 부호 변환만으로 상관 값을 연산할 수 있게 되어 상관기를 구성하는 하드웨어를 단순화시킬 수 있다.
뿐만 아니라, 복수 데이터의 실수부와 허수부에 대하여 가산 값 및 감산 값을 전처리함으로써, 실제 상관 값의 연산에 필요한 동기 신호의 획득 시간을 최대한 활용하고, 짧은 길이의 PN 시퀀스에 대해서도 듀웰 타임의 개념을 적용하여 동기 신호를 획득할 수 있다.
상기에서, 본 발명의 바람직한 실시 예가 특정 용어들을 사용하여 설명 및 도시되었지만 그러한 용어는 오로지 본 발명을 명확하게 설명하기 위한 것일 뿐이며, 본 발명의 실시 예 및 기술된 용어는 다음의 청구범위의 기술적 사상 및 범위로부터 이탈되지 않고서 여러 가지 변경 및 변화가 가해질 수 있는 것은 자명한 일이다. 이와 같이 변형된 실시 예들은 본 발명의 사상 및 범위로부터 개별적으로 이해되어져서는 안 되며, 본 발명의 청구범위 안에 속한다고 해야 할 것이다.
100: 입력부 110: 전처리부
112: 가산부 114: 감산부
120: 저장부 200: PN 코드 생성부
300: 연산부 310: 부호 변환부

Claims (9)

  1. 수신 신호로부터 변환된 복소 데이터를 입력받는 과정;
    상기 복소 데이터에 대응되는 PN 코드(Pseudo Noise Code)를 생성하는 과정;
    상기 PN 코드의 실수부 및 허수부의 부호를 확인하는 과정; 및
    상기 확인된 PN 코드의 실수부 및 허수부의 부호에 따라 상관 값을 연산하는 과정;을 포함하고,
    상기 복소 데이터를 입력받는 과정은,
    상기 복소 데이터의 실수부 및 허수부를 추출하는 과정; 및
    상기 복소 데이터의 실수부의 값에 허수부의 값을 합한 가산 값을 저장하는 과정과, 상기 복소 데이터의 실수부의 값에 허수부의 값을 뺀 감산 값을 저장하는 과정을 포함하여 상기 복소 데이터를 전처리하는 과정;을 포함하고,
    상기 상관 값을 연산하는 과정은,
    상기 저장된 가산 값 및 감산 값을 입력받는 과정;
    상기 입력받은 가산 값 및 감산 값의 부호를 결정하는 과정; 및
    상기 부호 결정된 가산 값 및 감산 값으로부터 상기 상관 값의 실수부 및 허수부의 값을 결정하는 과정;을 포함하여,
    QPSK(Quadrature Phase Shift Keying) 방식으로 변조된 수신 신호에 대하여 상기 가산 값 및 감산 값의 부호 변환만으로 상관 값을 연산하는 신호 상관 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. ◈청구항 6은(는) 설정등록료 납부시 포기되었습니다.◈
    청구항 1에 있어서,
    상기 가산 값 및 감산 값의 부호를 결정하는 과정은,
    상기 PN 코드의 실수부가 음의 부호를 가지는 경우, 상기 가산 값의 부호를 변환하는 것으로 결정하고,
    상기 PN 코드의 허수부가 음의 부호를 가지는 경우, 상기 감산 값의 부호를 변환하는 것으로 결정하는 신호 상관 방법.
  7. ◈청구항 7은(는) 설정등록료 납부시 포기되었습니다.◈
    청구항 6에 있어서,
    상기 상관 값의 실수부 및 허수부의 값을 결정하는 과정은,
    상기 PN 코드의 실수부 및 허수부가 서로 다른 부호를 가지는 경우, 상기 부호 결정된 가산 값 및 감산 값을 상기 상관 값의 실수부 및 허수부의 값으로 각각 선택하고,
    상기 PN 코드의 실수부 및 허수부가 동일한 부호를 가지는 경우, 상기 부호 결정된 가산 값 및 감산 값을 상기 상관 값의 허수부 및 실수부의 값으로 각각 선택하는 신호 상관 방법.
  8. ◈청구항 8은(는) 설정등록료 납부시 포기되었습니다.◈
    청구항 1에 있어서,
    상기 복소 데이터를 입력받는 과정은,
    복수 개의 저장부에 복수 개의 복소 데이터를 순차적으로 임시 저장하고,
    상기 PN 코드를 생성하는 과정은,
    상기 복수 개의 저장부에 각각 대응되는 복수 개의 PN 코드를 생성하는 신호 상관 방법.
  9. ◈청구항 9은(는) 설정등록료 납부시 포기되었습니다.◈
    청구항 8에 있어서,
    상기 복수 개의 복소 데이터에 대하여 결정된 상관 값을 합산하여 출력하는 과정;을 더 포함하는 신호 상관 방법.
KR1020170110397A 2017-08-30 2017-08-30 신호 상관 방법 KR101961912B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170110397A KR101961912B1 (ko) 2017-08-30 2017-08-30 신호 상관 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170110397A KR101961912B1 (ko) 2017-08-30 2017-08-30 신호 상관 방법

Related Child Applications (2)

Application Number Title Priority Date Filing Date
KR1020190031375A Division KR20190032333A (ko) 2019-03-19 2019-03-19 신호 상관 방법
KR1020190031376A Division KR20190033053A (ko) 2019-03-19 2019-03-19 신호 상관 방법

Publications (2)

Publication Number Publication Date
KR20190023946A KR20190023946A (ko) 2019-03-08
KR101961912B1 true KR101961912B1 (ko) 2019-03-28

Family

ID=65800830

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170110397A KR101961912B1 (ko) 2017-08-30 2017-08-30 신호 상관 방법

Country Status (1)

Country Link
KR (1) KR101961912B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001136105A (ja) * 1999-11-08 2001-05-18 Canon Inc マッチトフィルタ及び受信装置
JP2002064406A (ja) * 2000-08-10 2002-02-28 Motorola Inc 複素ディジタル整合フィルタ
KR100662424B1 (ko) * 2005-09-29 2007-01-02 엘지전자 주식회사 PN 시퀀스(pseudonoisesequence)상관기 및 PN 시퀀스 상관방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0155522B1 (ko) 1995-12-15 1998-11-16 양승택 병렬 상관기를 이용한 대역확산 pn코드 트랙킹 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001136105A (ja) * 1999-11-08 2001-05-18 Canon Inc マッチトフィルタ及び受信装置
JP2002064406A (ja) * 2000-08-10 2002-02-28 Motorola Inc 複素ディジタル整合フィルタ
KR100662424B1 (ko) * 2005-09-29 2007-01-02 엘지전자 주식회사 PN 시퀀스(pseudonoisesequence)상관기 및 PN 시퀀스 상관방법

Also Published As

Publication number Publication date
KR20190023946A (ko) 2019-03-08

Similar Documents

Publication Publication Date Title
FI113228B (fi) Kvantisoitu koherentti RAKE-vastaanotin
US7095778B2 (en) Spread spectrum transmitter and spread spectrum receiver
US7167456B2 (en) Apparatus for estimating propagation path characteristics
US5677930A (en) Method and apparatus for spread spectrum channel estimation
JP4350271B2 (ja) Cdma通信システムの受信器における拡散コード同期取得方法及びその装置
KR20000053310A (ko) 직접적인 시퀀스 확산 스펙트럼 통신신호의 역확산
JPH1141141A (ja) スペクトル拡散信号受信方法及びスペクトル拡散信号受信装置
JPH118568A (ja) Cdma通信システムにおける信号受信装置
KR20190033053A (ko) 신호 상관 방법
KR101961912B1 (ko) 신호 상관 방법
KR101933979B1 (ko) 신호 상관기
KR20190032333A (ko) 신호 상관 방법
JP2008529385A (ja) 無線通信システムにおける逆拡散データのための方法及び装置
JP2002135168A (ja) Rach受信装置
JPH07107007A (ja) 拡散符号生成方式
JP3719175B2 (ja) 同期追跡回路
JP2000209123A (ja) 相関演算方法及びマッチドフィルタ
EP1207660A2 (en) Time-sharing of a digital filter
JPH0832547A (ja) 同期捕捉方法
JP2003008475A (ja) Rach受信装置
JPH1117652A (ja) フレーム同期検出回路
JP4148879B2 (ja) 受信方法および装置
JPH0677931A (ja) スペクトル拡散信号の受信機
KR20070070486A (ko) 골레이 보완형 시퀀스 변조에 의한 확장 스펙트럼 디지털통신 방법
KR100283077B1 (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
A107 Divisional application of patent