KR102579282B1 - Gnss 신호 모델링 - Google Patents

Gnss 신호 모델링 Download PDF

Info

Publication number
KR102579282B1
KR102579282B1 KR1020237011011A KR20237011011A KR102579282B1 KR 102579282 B1 KR102579282 B1 KR 102579282B1 KR 1020237011011 A KR1020237011011 A KR 1020237011011A KR 20237011011 A KR20237011011 A KR 20237011011A KR 102579282 B1 KR102579282 B1 KR 102579282B1
Authority
KR
South Korea
Prior art keywords
gnss
candidate
signal
data processing
signal paths
Prior art date
Application number
KR1020237011011A
Other languages
English (en)
Other versions
KR20230048462A (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 구글 엘엘씨
Publication of KR20230048462A publication Critical patent/KR20230048462A/ko
Application granted granted Critical
Publication of KR102579282B1 publication Critical patent/KR102579282B1/ko

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/22Multipath-related issues
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • G01S19/428Determining position using multipath or indirect path propagation signals in position determination
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/03Cooperating elements; Interaction or communication between different cooperating elements or between cooperating elements and receivers
    • G01S19/05Cooperating elements; Interaction or communication between different cooperating elements or between cooperating elements and receivers providing aiding data
    • G01S19/06Cooperating elements; Interaction or communication between different cooperating elements or between cooperating elements and receivers providing aiding data employing an initial estimate of the location of the receiver as aiding data or in generating aiding data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/35Constructional details or hardware or software details of the signal processing chain
    • G01S19/37Hardware or software details of the signal processing chain
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/396Determining accuracy or reliability of position or pseudorange measurements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)
  • Navigation (AREA)

Abstract

방법(600)은 환경(100) 내의 GNSS 수신기(114)에 대한 추정된 로케이션을 수신하는 단계를 포함한다. 이 방법은 추정된 로케이션에 관한 복수의 후보 포지션들(214)을 생성하는 단계를 또한 포함한다 ― 여기서 각각의 후보 포지션은 GNSS 수신기의 가능한 실제 로케이션(12A)에 대응한다. 이 방법은 각각의 후보 포지션에서 각각의 이용 가능한 위성(20)에 대해, 지리적 데이터(222)의 래스터 맵(226)을 광선 발사함으로써 복수의 후보 신호 경로들(232)을 모델링하는 단계를 추가로 포함한다. 여기서, 복수의 후보 신호 경로들은 하나 이상의 반사된 신호 경로를 포함한다. 각각의 후보 포지션에서, 이 방법은, 개개의 후보 포지션에서 각각의 이용 가능한 위성에 대해 모델링된 복수의 후보 신호 경로들을 GNSS 수신기로부터의 측정된 GNSS 신호 데이터(202)와 비교하는 단계 및 비교에 기초하여 개개의 후보 포지션이 GNSS 수신기의 실제 로케이션을 포함할 우도를 생성하는 단계를 또한 포함한다.

Description

GNSS 신호 모델링
[0001] 본 발명은 초과 경로 길이 계산 처리에 관한 것이다.
[0002] GNSS(Global Navigation Satellite Systems)는 궤도 위성들에 의해 송신된 무선 신호들을 사용하여 정확한 지상 로케이션들을 결정하여, 진보된 내비게이션 및 로케이션 기반 서비스들을 가능하게 한다. 전형적으로, GNSS 수신기가 궤도 위성들에 의해 송신된 하나 이상의 무선 신호를 수신하고, GNSS 수신기 또는 GNSS 수신기와 연관된 로케이션 시스템이 위성(들)(예를 들어, 종종 적어도 4개의 위성)으로부터 수신된 메시지들의 타이밍에 기초하여 GNSS 수신기의 포지션을 결정할 수 있다. 각각의 메시지는 송신 시간 및 송신 시간에서의 위성의 포지션을 특정한다. 수신기 또는 로케이션 시스템은 각각의 수신된 메시지에 대한 송신 시간을 계산하고, 종종, 내비게이션 방정식을 이용하여, 수신기의 로케이션을 계산할 수 있다. 그 후 수신기의 로케이션은 통신에서 내비게이션에 이르는 다양한 애플리케이션들에 의해 이용될 수 있다. GNSS 기반 로컬라이제이션의 어떤 양태를 포함하는 애플리케이션들의 수가 계속해서 증가함에 따라, 이들 애플리케이션은 탁 트인 하늘 환경뿐만 아니라 도시 환경에서도 정확하도록 GNSS 기반 로컬라이제이션에 의존한다. 이는 도시 환경들이 GNSS 기반 로컬라이제이션을 활용하는 로케이션 기반 서비스들의 사용자들로 밀집되어 있을 때 특히 그러하다.
[0003] 본 개시내용의 일 양태는 신호 경로들을 처리하는 방법을 제공한다. 이 방법은 GNSS-가능(Global Navigation Satellite Systems-enabled) 디바이스의 데이터 처리 하드웨어에서, 환경 내의 GNSS 수신기에 대한 추정된 로케이션을 수신하는 단계를 포함한다. 이 방법은, 데이터 처리 하드웨어에 의해, GNSS 수신기에 대한 추정된 로케이션에 관한(예를 들어, 주위의, 주변의, 근처의, 인접한 등) 복수의 후보 포지션들을 생성하는 단계를 또한 포함한다 ― 여기서 복수의 후보 포지션들의 각각의 후보 포지션은 GNSS 수신기의 가능한 실제 로케이션에 대응한다. 이 방법은 (복수의 후보 포지션들의) 각각의 후보 포지션에서 각각의 이용 가능한 위성에 대해, 데이터 처리 하드웨어에 의해, 환경에 대한 지리적 데이터의 래스터 맵을 광선 발사(ray-launching)함으로써 복수의 후보 신호 경로들을 모델링하는 단계를 추가로 포함한다. 여기서, 복수의 후보 신호 경로들은 하나 이상의 반사된 신호 경로를 포함한다. 복수의 후보 포지션들의 각각의 후보 포지션에서, 이 방법은, 데이터 처리 하드웨어에 의해, 개개의 후보 포지션에서 각각의 이용 가능한 위성에 대해 모델링된 복수의 후보 신호 경로들을 GNSS 수신기로부터의 측정된 GNSS 신호 데이터와 비교하는 단계 및 데이터 처리 하드웨어에 의해, 개개의 후보 포지션에서 각각의 이용 가능한 위성에 대해 모델링된 복수의 후보 신호 경로들과 GNSS 수신기로부터의 측정된 GNSS 신호 데이터의 비교에 기초하여 개개의 후보 포지션이 GNSS 수신기의 실제 로케이션을 포함할 우도(likelihood)를 생성하는 단계를 또한 포함한다.
[0004] 본 개시내용의 구현들은 다음의 옵션의 특징들 중 하나 이상을 포함할 수 있다. 일부 구현들에서는, 래스터 맵은 환경 내의 각각의 건물의 다각형 표현을 포함할 수 있고, 다각형 표현은 GNSS-가능 디바이스 상에 구성된다. 복수의 후보 신호 경로들을 모델링하는 단계는, 복수의 후보 신호 경로들의 각각의 후보 신호 경로에 대해, 개개의 후보 신호 경로에 대한 초과 경로 길이를 결정하는 단계를 포함할 수 있다. 복수의 후보 신호 경로들을 모델링하는 단계는, 복수의 후보 신호 경로들의 각각의 후보 신호 경로에 대해, 신호 감쇠를 결정하는 단계를 또한 포함할 수 있다.
[0005] 일부 예들에서는, 이 방법은, 데이터 처리 하드웨어에서, GNSS-가능 디바이스에 대한 명령어들을 포함하는 래스터화된 지리적 데이터를 수신하는 단계를 추가로 포함한다 ― 여기서 명령어들은 환경 내의 하나 이상의 건물의 다각형 표현들을 어떻게 구성할지를 지시한다. 이들 예에서는, 이 방법은, 데이터 처리 하드웨어에 의해, 명령어들을 실행하여 래스터 맵을 형성하는 단계를 또한 포함한다 ― 여기서 래스터 맵은 환경 내의 하나 이상의 건물의 다각형 표현을 포함한다. 이들 예에서는, 이 방법은, 데이터 처리 하드웨어에 의해, 데이터 처리 하드웨어와 통신하는 GNSS-가능 디바이스의 메모리 하드웨어 상에 로컬로 래스터 맵을 저장하는 단계를 추가로 포함한다. 여기서, 명령어들을 실행하여 래스터 맵을 형성하는 단계는 래스터화된 지리적 데이터에 기초하여 하나 이상의 건물에 대한 파사드 각도들을 결정하는 단계를 포함할 수 있다.
[0006] 일부 구성들에서는, 도시 환경에 대한 지리적 데이터의 래스터 맵을 광선 발사하는 것은 개개의 후보 포지션으로부터 도시 환경 내의 개개의 구조물의 다각형 래스터 표현으로 광선을 발사하는 단계를 추가로 포함한다. 여기서, 환경에 대한 지리적 데이터의 래스터 맵을 광선 발사하는 것은 개개의 건물의 다각형 래스터 표현의 파사드 각도에 기초하여 개개의 구조물로부터의 광선의 방향 전환에 대응하는 방향 전환된 광선을 결정하는 단계를 또한 포함한다. 이들 구성에서, 환경에 대한 지리적 데이터의 래스터 맵을 광선 발사하는 것은 개개의 구조물의 파사드 각도에 기초하여 방향 전환된 각도로 방향 전환된 광선을 계속해서 발사하는 단계를 추가로 포함한다.
[0007] 본 개시내용의 다른 양태는 신호 경로들을 처리하기 위한 GNSS-가능(Global Navigation Satellite System-enabled) 디바이스를 제공한다. 이 디바이스는 데이터 처리 하드웨어 및 데이터 처리 하드웨어와 통신하는 메모리 하드웨어를 포함한다. 메모리 하드웨어는 데이터 처리 하드웨어 상에서 실행될 때 데이터 처리 하드웨어로 하여금 동작들을 수행하게 하는 명령어들을 저장한다. 동작들은 환경 내의 GNSS 수신기에 대한 추정된 로케이션을 수신하는 단계를 포함한다. 동작들은 GNSS 수신기에 대한 추정된 로케이션에 관한(예를 들어, 주위의, 주변의, 근처의, 인접한 등) 복수의 후보 포지션들을 생성하는 단계를 또한 포함한다 ― 여기서 복수의 후보 포지션들의 각각의 후보 포지션은 GNSS 수신기의 가능한 실제 로케이션에 대응한다. 동작들은 (복수의 후보 포지션들의) 각각의 후보 포지션에서 각각의 이용 가능한 위성에 대해, 환경에 대한 지리적 데이터의 래스터 맵을 광선 발사함으로써 복수의 후보 신호 경로들을 모델링하는 단계를 추가로 포함한다. 여기서, 복수의 후보 신호 경로들은 하나 이상의 반사된 신호 경로를 포함한다. 복수의 후보 포지션들의 각각의 후보 포지션에서, 이 동작들을 개개의 후보 포지션에서 각각의 이용 가능한 위성에 대해 모델링된 복수의 후보 신호 경로들을 GNSS 수신기로부터의 측정된 GNSS 신호 데이터와 비교하는 단계 및 개개의 후보 포지션에서 각각의 이용 가능한 위성에 대해 모델링된 복수의 후보 신호 경로들과 GNSS 수신기로부터의 측정된 GNSS 신호 데이터의 비교에 기초하여 개개의 후보 포지션이 GNSS 수신기의 실제 로케이션을 포함할 우도를 생성하는 단계를 또한 포함한다.
[0008] 본 개시내용의 구현들은 다음의 옵션의 특징들 중 하나 이상을 포함할 수 있다. 일부 구현들에서는, 래스터 맵은 환경 내의 각각의 건물의 다각형 표현을 포함할 수 있고, 다각형 표현은 GNSS-가능 디바이스 상에 구성된다. 복수의 후보 신호 경로들을 모델링하는 단계는, 복수의 후보 신호 경로들의 각각의 후보 신호 경로에 대해, 개개의 후보 신호 경로에 대한 초과 경로 길이를 결정하는 단계를 포함할 수 있다. 복수의 후보 신호 경로들을 모델링하는 단계는, 복수의 후보 신호 경로들의 각각의 후보 신호 경로에 대해, 신호 감쇠를 결정하는 단계를 또한 포함할 수 있다.
[0009] 일부 예들에서는, 동작들은 GNSS-가능 디바이스에 대한 명령어들을 포함하는 래스터화된 지리적 데이터를 수신하는 단계를 추가로 포함한다 ― 여기서 명령어들은 환경 내의 하나 이상의 건물의 다각형 표현들을 어떻게 구성할지를 지시한다. 이들 예에서는, 동작들은 명령어들을 실행하여 래스터 맵을 형성하는 단계를 또한 포함한다 ― 여기서 래스터 맵은 환경 내의 하나 이상의 건물의 다각형 표현을 포함한다. 이들 예에서는, 동작들은 데이터 처리 하드웨어와 통신하는 GNSS-가능 디바이스의 메모리 하드웨어 상에 로컬로 래스터 맵을 저장하는 단계를 추가로 포함한다. 여기서, 명령어들을 실행하여 래스터 맵을 형성하는 단계는 래스터화된 지리적 데이터에 기초하여 하나 이상의 건물에 대한 파사드 각도들을 결정하는 단계를 포함할 수 있다.
[0010] 일부 구성들에서는, 환경에 대한 지리적 데이터의 래스터 맵을 광선 발사하는 것은 개개의 후보 포지션으로부터 환경 내의 개개의 구조물의 다각형 래스터 표현으로 광선을 발사하는 단계를 추가로 포함한다. 여기서, 환경에 대한 지리적 데이터의 래스터 맵을 광선 발사하는 것은 개개의 건물의 다각형 래스터 표현의 파사드 각도에 기초하여 개개의 구조물로부터의 광선의 방향 전환에 대응하는 방향 전환된 광선을 결정하는 단계를 또한 포함한다. 이들 구성에서, 환경에 대한 지리적 데이터의 래스터 맵을 광선 발사하는 것은 개개의 구조물의 파사드 각도에 기초하여 방향 전환된 각도로 방향 전환된 광선을 계속해서 발사하는 단계를 추가로 포함한다.
[0011] 본 개시내용의 또 다른 양태는 신호 경로들을 처리하는 방법을 제공한다. 이 방법은, 데이터 처리 하드웨어에 의해, 위성으로부터의 GNSS(Global Navigation Satellite Systems) 신호를 반사시킬 가능성이 있는 하나 이상의 구조물을 갖는 영역을 식별하는 단계 및 데이터 처리 하드웨어에 의해, 그 영역을 복수의 로케이션들로 분할하는 단계를 포함한다. 각각의 이용 가능한 위성에 대한 복수의 로케이션들의 각각의 로케이션에서, 이 방법은, 데이터 처리 하드웨어에 의해, 개개의 로케이션으로부터 개개의 이용 가능한 위성으로 광선 발사함으로써 복수의 신호 경로들을 생성하는 단계를 포함한다 ― 여기서 복수의 신호 경로들은 하나 이상의 가시선(line of sight) 신호 경로 및 하나 이상의 반사된 신호 경로를 포함한다. 각각의 이용 가능한 위성에 대한 복수의 로케이션들의 각각의 로케이션에서, 이 방법은, 데이터 처리 하드웨어에 의해, 모든 반사된 신호 경로들을 하나 이상의 방위각 범위로 이산화(discretizing)하는 단계를 또한 포함한다. 각각의 이용 가능한 위성에 대한 복수의 로케이션들의 각각의 로케이션에서, 이 방법은, 하나 이상의 방위각 범위의 각각의 방위각 범위에 대해, 데이터 처리 하드웨어에 의해, 하나 이상의 전이 고도(transition elevation)를 결정하는 단계를 추가로 포함하고, 여기서 하나 이상의 전이 고도의 각각의 전이 고도는 개개의 방위각 범위 내의 개개의 반사된 신호 범위가 가시선 신호로 전이하는 고도의 정도에 대응한다. 복수의 로케이션들의 각각의 로케이션에서, 이 방법은, 데이터 처리 하드웨어에 의해, 복수의 신호 경로들에 대한 신호 경로 표현을 생성하는 단계를 또한 포함하고, 여기서 신호 경로 표현은 모든 반사된 신호 경로들에 대한 하나 이상의 방위각 범위 및 하나 이상의 방위각 범위의 각각의 방위각 범위와 연관된 하나 이상의 전이 고도를 포함한다.
[0012] 본 개시내용의 구현들은 다음의 옵션의 특징들 중 하나 이상을 포함할 수 있다. 일부 구현들에서는, 이 방법은, 데이터 처리 하드웨어에 의해, 각각의 반사된 신호 경로에 대한 초과 경로 길이를 결정하는 단계를 추가로 포함하고, 여기서 신호 경로 표현은 각각의 반사된 신호 경로에 대한 초과 경로 길이를 추가로 포함한다. 일부 예들에서는, 이 방법은, 데이터 처리 하드웨어에 의해, 각각의 반사된 신호 경로에 대한 초과 경로 길이를 결정하는 단계 및 각각의 방위각 범위에 대해, 데이터 처리 하드웨어에 의해, 개개의 방위각 범위 내의 모든 반사된 신호들에 대한 초과 경로 길이들을 이산화하는 단계를 추가로 포함하고, 여기서 신호 경로 표현은 이산화된 초과 경로 길이들을 추가로 포함한다. 여기서, 모든 반사된 신호들에 대한 초과 경로 길이들을 이산화하는 단계는, 보로노이 기반(voronoi-based) 압축을 사용하여, 초과 경로 길이들의 각각의 이산화된 단위를 표현하는 다각형 영역을 생성하는 단계를 포함한다.
[0013] 일부 예들에서는, 이 방법은 하나 이상의 방위각 범위의 각각의 방위각 범위에 대해, 데이터 처리 하드웨어에 의해, 개개의 방위각 범위 내의 모든 반사된 신호 경로들에 대한 하나 이상의 전이 고도를 이산화하는 단계를 또한 포함한다. 일부 구성들에서는, 이 방법은, 데이터 처리 하드웨어에 의해, 복수의 신호 경로들에 대한 신호 경로 표현을 희소 데이터 어레이로서 저장하는 단계 및 데이터 처리 하드웨어에 의해, 희소 데이터 어레이를 압축하는 단계를 또한 포함한다.
[0014] 일부 구현들에서는, 이 방법은, 데이터 처리 하드웨어에서, GNSS-가능 디바이스로부터 요청된 포지션을 포함하는 요청을 수신하는 단계를 또한 포함한다. 이들 구현에서는, 이 방법은, 데이터 처리 하드웨어에 의해, 복수의 로케이션들 중 요청된 포지션에 대응하는 개개의 로케이션을 식별하는 단계를 추가로 포함한다. 여기서, 요청에 응답하여, 이 방법은, 데이터 처리 하드웨어에 의해, 개개의 로케이션에 대한 신호 경로 표현을 GNSS-가능 디바이스에 전달하는 단계를 포함한다.
[0015] 본 개시내용의 다른 양태는 신호 경로들을 처리하기 위한 시스템을 제공한다. 이 시스템은 데이터 처리 하드웨어 및 데이터 처리 하드웨어와 통신하는 메모리 하드웨어를 포함한다. 메모리 하드웨어는 데이터 처리 하드웨어 상에서 실행될 때 데이터 처리 하드웨어로 하여금 동작들을 수행하게 하는 명령어들을 저장한다. 동작들은 위성으로부터의 GNSS(Global Navigation Satellite Systems) 신호를 반사시킬 가능성이 있는 하나 이상의 구조물을 갖는 영역을 식별하는 단계 및 그 영역을 복수의 로케이션들로 분할하는 단계를 포함한다. 각각의 이용 가능한 위성에 대한 복수의 로케이션들의 각각의 로케이션에서, 동작들은 개개의 로케이션으로부터 개개의 이용 가능한 위성으로 광선 발사함으로써 복수의 신호 경로들을 생성하는 단계를 포함하고, 여기서 복수의 신호 경로들은 하나 이상의 가시선 신호 경로 및 하나 이상의 반사된 신호 경로를 포함한다. 각각의 이용 가능한 위성에 대한 복수의 로케이션들의 각각의 로케이션에서, 동작들은 반사된 신호 경로들을 하나 이상의 방위각 범위로 이산화하는 단계를 또한 포함한다. 각각의 이용 가능한 위성에 대한 복수의 로케이션들의 각각의 로케이션에서, 동작들은, 하나 이상의 방위각 범위의 각각의 방위각 범위에 대해, 하나 이상의 전이 고도를 결정하는 단계를 추가로 포함하고, 여기서 하나 이상의 전이 고도의 각각의 전이 고도는 개개의 방위각 범위 내의 개개의 반사된 신호 범위가 가시선 신호로 전이하는 고도의 정도에 대응한다. 복수의 로케이션들의 각각의 로케이션에서, 동작들은 복수의 신호 경로들에 대한 신호 경로 표현을 생성하는 단계를 또한 포함하고, 여기서 신호 경로 표현은 모든 반사된 신호 경로들에 대한 하나 이상의 방위각 범위 및 하나 이상의 방위각 범위의 각각의 방위각 범위와 연관된 하나 이상의 전이 고도를 포함한다.
[0016] 본 개시내용의 구현들은 다음의 옵션의 특징들 중 하나 이상을 포함할 수 있다. 일부 구현들에서는, 동작들은 각각의 반사된 신호 경로에 대한 초과 경로 길이를 결정하는 단계를 추가로 포함하고, 여기서 신호 경로 표현은 각각의 반사된 신호 경로에 대한 초과 경로 길이를 추가로 포함한다. 일부 예들에서는, 동작들은 각각의 반사된 신호 경로에 대한 초과 경로 길이를 결정하는 단계 및 각각의 방위각 범위에 대해, 개개의 방위각 범위 내의 모든 반사된 신호들에 대한 초과 경로 길이들을 이산화하는 단계를 추가로 포함하고, 여기서 신호 경로 표현은 이산화된 초과 경로 길이들을 추가로 포함한다. 여기서, 모든 반사된 신호들에 대한 초과 경로 길이들을 이산화하는 단계는, 보로노이 기반 압축을 사용하여, 초과 경로 길이들의 각각의 이산화된 단위를 표현하는 다각형 영역을 생성하는 단계를 포함한다.
[0017] 일부 예들에서는, 동작들은 하나 이상의 방위각 범위의 각각의 방위각 범위에 대해, 개개의 방위각 범위 내의 모든 반사된 신호 경로들에 대한 하나 이상의 전이 고도를 이산화하는 단계를 또한 포함한다. 일부 구성들에서는, 동작들은 복수의 신호 경로들에 대한 신호 경로 표현을 희소 데이터 어레이로서 저장하는 단계 및 희소 데이터 어레이를 압축하는 단계를 또한 포함한다.
[0018] 일부 구현들에서는, 동작들은 GNSS-가능 디바이스로부터 요청된 포지션을 포함하는 요청을 수신하는 단계를 또한 포함한다. 이들 구현에서는, 동작들은 복수의 로케이션들 중 요청된 포지션에 대응하는 개개의 로케이션을 식별하는 단계를 추가로 포함한다. 여기서, 요청에 응답하여, 동작들은 개개의 로케이션에 대한 신호 경로 표현을 GNSS-가능 디바이스에 전달하는 단계를 포함한다.
[0019] 본 개시내용의 다른 양태는 GNSS 로컬라이제이션 기법들에 기초하여 로케이션 우도를 생성하기 위한 방법을 제공한다. 이 방법은, GNSS-가능 디바이스의 데이터 처리 하드웨어에서, 환경 내의 GNSS 수신기에 대한 추정된 로케이션을 수신하는 단계를 포함한다. 이 방법은, 데이터 처리 하드웨어에 의해, GNSS 수신기에 대한 추정된 로케이션에 관한 복수의 후보 포지션들을 생성하는 단계를 또한 포함하고, 여기서 복수의 후보 포지션들의 각각의 후보 포지션은 GNSS 수신기의 가능한 실제 로케이션에 대응한다. GNSS 수신기에 대한 추정된 로케이션에 관한 복수의 후보 포지션들의 각각의 후보 포지션에서, 이 방법은, 데이터 처리 하드웨어에 의해, 제1 GNSS 로컬라이제이션 기법을 이용하여, 개개의 후보 포지션이 GNSS 수신기의 실제 로케이션일 제1 확률을 결정하는 단계를 포함한다. GNSS 수신기에 대한 추정된 로케이션에 관한 복수의 후보 포지션들의 각각의 후보 포지션에서, 이 방법은, 데이터 처리 하드웨어에 의해, 제1 GNSS 로컬라이제이션 기법과 상이한 제2 GNSS 로컬라이제이션 기법을 이용하여, 개개의 후보 포지션이 GNSS 수신기의 실제 로케이션일 제2 확률을 결정하는 단계를 또한 포함한다. GNSS 수신기에 대한 추정된 로케이션에 관한 복수의 후보 포지션들의 각각의 후보 포지션에서, 이 방법은, 데이터 처리 하드웨어에 의해, 제1 GNSS 로컬라이제이션 기법을 이용하여 생성된 제1 확률 및 제2 GNSS 로컬라이제이션 기법을 이용하여 생성된 제2 확률에 기초하여 개개의 후보 포지션이 GNSS 수신기의 실제 로케이션일 전체 확률을 생성하는 단계를 추가로 포함한다. 이 방법은, 데이터 처리 하드웨어에 의해, 복수의 후보 포지션들 중에서, GNSS 수신기의 실제 로케이션으로서 가장 큰 전체 확률을 갖는 개개의 후보 포지션을 선택하는 단계를 또한 포함할 수 있다.
[0020] 본 개시내용의 또 다른 양태는 신호 경로들을 처리하기 위한 시스템을 제공한다. 이 시스템은 데이터 처리 하드웨어 및 데이터 처리 하드웨어와 통신하는 메모리 하드웨어를 포함한다. 메모리 하드웨어는 데이터 처리 하드웨어 상에서 실행될 때 데이터 처리 하드웨어로 하여금 동작들을 수행하게 하는 명령어들을 저장한다. 동작들은, GNSS-가능 디바이스에서, 환경 내의 GNSS 수신기에 대한 추정된 로케이션을 수신하는 단계를 포함한다. 동작들은 GNSS 수신기에 대한 추정된 로케이션에 관한 복수의 후보 포지션들을 생성하는 단계를 또한 포함하고, 여기서 복수의 후보 포지션들의 각각의 후보 포지션은 GNSS 수신기의 가능한 실제 로케이션에 대응한다. GNSS 수신기에 대한 추정된 로케이션에 관한 복수의 후보 포지션들의 각각의 후보 포지션에서, 동작들은, 제1 GNSS 로컬라이제이션 기법을 이용하여, 개개의 후보 포지션이 GNSS 수신기의 실제 로케이션일 제1 확률을 결정하는 단계를 포함한다. GNSS 수신기에 대한 추정된 로케이션에 관한 복수의 후보 포지션들의 각각의 후보 포지션에서, 동작들은, 제1 GNSS 로컬라이제이션 기법과 상이한 제2 GNSS 로컬라이제이션 기법을 이용하여, 개개의 후보 포지션이 GNSS 수신기의 실제 로케이션일 제2 확률을 결정하는 단계를 또한 포함한다. GNSS 수신기에 대한 추정된 로케이션에 관한 복수의 후보 포지션들의 각각의 후보 포지션에서, 동작들은, 데이터 처리 하드웨어에 의해, 제1 GNSS 로컬라이제이션 기법을 이용하여 생성된 제1 확률 및 제2 GNSS 로컬라이제이션 기법을 이용하여 생성된 제2 확률에 기초하여 개개의 후보 포지션이 GNSS 수신기의 실제 로케이션일 전체 확률을 생성하는 단계를 추가로 포함한다. 동작들은 복수의 후보 포지션들 중에서, GNSS 수신기의 실제 로케이션으로서 가장 큰 전체 확률을 갖는 개개의 후보 포지션을 선택하는 단계를 또한 포함할 수 있다.
[0021] 본 개시내용의 구현들은 GNSS 로컬라이제이션 기법들에 기초하여 로케이션 우도를 생성하는 방법 및/또는 시스템에 대한 다음의 옵션의 특징들 중 하나 이상을 포함할 수 있다. 일부 예들에서는, 제1 GNSS 로컬라이제이션 기법은 GNSS 수신기로부터 측정된 GNSS 신호 데이터를 수신하고; 측정된 GNSS 신호 데이터에 기초하여 특정 위성에 대한 개개의 GNSS 신호에 대한 신호 강도를 식별하고; 복수의 후보 포지션들 중 GNSS 수신기가 식별된 신호 강도에 대응하는 특정 위성에 대한 개개의 신호 강도를 나타낼 하나 이상의 개개의 후보 포지션을 결정하고; 하나 이상의 개개의 후보 포지션 각각에 대한 개개의 제1 확률을 생성하도록 구성된다. 이들 예에서는, 제1 GNSS 로컬라이제이션 기법은 복수의 후보 포지션들 중 GNSS 수신기가 식별된 신호 강도에 대응하는 특정 위성에 대한 개개의 신호 강도를 나타낼 하나 이상의 개개의 후보 포지션을 결정하도록 구성될 수 있는데, 이는 복수의 후보 포지션들을 포함하는 환경에 대한 구조 맵을 획득하고; 특정 위성의 알려진 로케이션에 기초하여, 특정 위성으로의 가시선을 방해할 구조 맵 내의 물체들을 식별하고; 개개의 물체가 개개의 후보 포지션으로부터 특정 위성으로의 가시선을 방해하는지 여부에 기초하여 각각의 후보 포지션을 분류하고; 및 복수의 후보 포지션들의 각각의 후보 포지션에서, 개개의 물체가 개개의 후보 포지션으로부터 특정 위성으로의 가시선을 방해하는지 여부의 분류에 기초하여 개개의 후보 포지션에 대한 예측되는 신호 강도를 생성하는 것에 의해 행해진다. 이들 예에서는, 제1 GNSS 로컬라이제이션 기법은 복수의 후보 포지션들 중 GNSS 수신기가 식별된 신호 강도에 대응하는 특정 위성에 대한 개개의 신호 강도를 나타낼 하나 이상의 개개의 후보 포지션을 결정하도록 구성될 수 있는데, 이는 복수의 후보 포지션들의 각각의 후보 포지션에서, 광선 발사 툴로부터, 가시선 확률 값을 수신하고, 가시선 확률 값에 기초한 하나 이상의 개개의 후보 포지션에 대한 개개의 신호 강도가 측정된 GNSS 신호 데이터에 기초한 특정 위성에 대한 개개의 GNSS 신호에 대한 신호 강도에 대응하는지를 결정하는 것에 의해 행해진다. GNSS 신호 데이터는 C/N0 측정치를 포함할 수 있다.
[0022] 일부 구현들에서는, 옵션의 특징들은 제2 GNSS 로컬라이제이션 기법이 GNSS 수신기로부터 측정된 GNSS 신호 데이터를 수신하고; 복수의 후보 포지션들의 각각의 후보 포지션에 대해, 측정된 GNSS 신호 데이터에 기초하여 측정된 의사 거리 오차와 기대되는 의사 거리 오차 사이의 차이를 결정하고; 복수의 후보 포지션들의 각각의 후보 포지션에 대해, 개개의 후보 포지션에 대한 개개의 제2 확률을 생성 ― 개개의 제2 확률은 대응하는 후보 포지션에서 측정된 의사 거리 오차가 기대되는 의사 거리 오차와 얼마나 가깝게 매칭되는지를 나타냄 ― 하도록 구성되는 것을 포함한다. 이들 구현에서는, 제2 GNSS 로컬라이제이션 기법은 개개의 후보 포지션에 대응하는 초과 경로 길이를 사용하여 기대되는 의사 거리를 생성함으로써 개개의 후보 포지션에서 측정된 GNSS 신호 데이터에 기초하여 측정된 의사 거리 오차와 기대되는 의사 거리 오차 사이의 차이를 결정하도록 구성된다. 여기서, 제2 GNSS 로컬라이제이션 기법은 개개의 후보 포지션에 대응하는 초과 경로 길이 및 개개의 후보 로케이션과 초과 경로 길이를 갖는 개개의 GNSS 신호를 송신하는 특정 위성 사이의 가시선 거리를 조합함으로써 개개의 후보 포지션에 대응하는 초과 경로 길이를 사용하여 기대되는 의사 거리를 생성하도록 구성될 수 있다. 초과 경로 길이는 데이터 처리 하드웨어와 통신하는 광선 발사 툴로부터 수신된 개개의 후보 포지션에 대응할 수 있다.
[0023] 본 개시내용의 다른 양태는 신호들의 풀 채널(full channel)을 모델링하는 방법을 제공한다. 각각의 이용 가능한 위성에 대해, 이 방법은, 데이터 처리 하드웨어에서, 환경 내의 GNSS(Global Navigation Satellite Systems) 수신기에 의해 수신된 각각의 신호 경로에 대한 GNSS 신호 측정치를 수신하는 단계를 포함한다. 이 방법은, 데이터 처리 하드웨어에 의해, 환경 내의 GNSS 수신기의 로케이션에 대한 추정된 포지션을 설정하는 단계를 또한 포함한다. 이 방법은, 데이터 처리 하드웨어에 의해, GNSS 수신기에 대한 추정된 로케이션에 관한 복수의 후보 포지션들을 생성하는 단계를 추가로 포함한다 ― 여기서 복수의 후보 포지션들의 각각의 후보 포지션은 GNSS 수신기의 가능한 실제 로케이션에 대응한다. 복수의 후보 포지션들의 각각의 후보 포지션에 대해, 이 방법은, 데이터 처리 하드웨어에 의해, 각각의 이용 가능한 위성의 수신된 GNSS 신호 측정치들에 대한 의사 거리를 표현하는 상관 벡터를 생성하는 단계 및 데이터 처리 하드웨어에 의해, 개개의 후보 포지션으로부터 각각의 개개의 이용 가능한 위성의 포지션으로의 광선 발사에 기초하여 초과 경로 길이 벡터를 생성하는 단계를 추가로 포함한다. 이 방법은, 데이터 처리 하드웨어에 의해, 복수의 후보 포지션들 중에서 상관 벡터가 초과 경로 길이 벡터와 가장 가깝게 매칭되는 개개의 후보 포지션에 대응하는 GNSS 수신기의 실제 포지션을 식별하는 단계를 추가로 포함한다.
[0024] 일부 예들에서는, 각각의 이용 가능한 위성에 대한 상관 벡터를 생성하는 단계는 GNSS 수신기에 의해 수신된 GNSS 신호에 대응하는 개개의 GNSS 신호 측정치들을 수신하는 단계; 수신된 GNSS 신호와 수신된 GNSS 신호의 로컬 복제본 사이의 상관 프로세스를 이용하여 하나 이상의 피크를 검출하는 단계; 및 수신된 GNSS 신호와 수신된 GNSS 신호의 로컬 복제본 사이의 상관 프로세스에 의해 식별된 검출된 하나 이상의 피크의 각각의 피크의 표현을 생성하는 단계를 포함한다. 이들 예에서는, 각각의 이용 가능한 위성에 대한 상관 벡터를 생성하는 단계는 각각의 위성에 대해 생성된 표현을 연결시켜 상관 벡터를 형성하는 단계를 또한 포함할 수 있다. 일부 구현들에서는, 이 방법은, 각각의 후보 포지션에 대해, 데이터 처리 하드웨어에 의해, 상관 벡터와 초과 경로 길이 벡터 사이의 표준 편차를 결정하는 단계를 또한 포함한다. 여기서, 개개의 후보 포지션이 상관 벡터와 초과 경로 길이 벡터 사이의 최저 표준 편차를 포함할 때 상관 벡터는 초과 경로 길이 벡터와 가장 가깝게 매칭된다.
[0025] 본 개시내용의 추가적인 양태는 신호들의 풀 채널을 모델링하기 위한 시스템을 제공한다. 이 시스템은 데이터 처리 하드웨어 및 데이터 처리 하드웨어와 통신하는 메모리 하드웨어를 포함한다. 메모리 하드웨어는 데이터 처리 하드웨어 상에서 실행될 때 데이터 처리 하드웨어로 하여금 동작들을 수행하게 하는 명령어들을 저장한다. 동작들은 환경 내의 GNSS(Global Navigation Satellite Systems) 수신기에 의해 수신된 각각의 신호 경로에 대한 GNSS 신호 측정치를 수신하는 단계를 포함한다. 동작들은 환경 내의 GNSS 수신기의 로케이션에 대한 추정된 포지션을 설정하는 단계를 또한 포함한다. 동작들은 GNSS 수신기에 대한 추정된 로케이션에 관한 복수의 후보 포지션들을 생성하는 단계를 추가로 포함한다 ― 여기서 복수의 후보 포지션들의 각각의 후보 포지션은 GNSS 수신기의 가능한 실제 로케이션에 대응한다. 복수의 후보 포지션들의 각각의 후보 포지션에 대해, 동작들은 각각의 이용 가능한 위성의 수신된 GNSS 신호 측정치들에 대한 의사 거리를 표현하는 상관 벡터를 생성하는 단계 및 개개의 후보 포지션으로부터 각각의 개개의 이용 가능한 위성의 포지션으로의 광선 발사에 기초하여 초과 경로 길이 벡터를 생성하는 단계를 추가로 포함한다. 동작들은 복수의 후보 포지션들 중에서 상관 벡터가 초과 경로 길이 벡터와 가장 가깝게 매칭되는 개개의 후보 포지션에 대응하는 GNSS 수신기의 실제 포지션을 식별하는 단계를 추가로 포함한다.
[0026] 일부 구성들에서는, 각각의 이용 가능한 위성에 대한 상관 벡터를 생성하는 동작은 GNSS 수신기에 의해 수신된 GNSS 신호에 대응하는 개개의 GNSS 신호 측정치들을 수신하는 단계; 수신된 GNSS 신호와 수신된 GNSS 신호의 로컬 복제본 사이의 상관 프로세스를 이용하여 하나 이상의 피크를 검출하는 단계; 및 수신된 GNSS 신호와 수신된 GNSS 신호의 로컬 복제본 사이의 상관 프로세스에 의해 식별된 검출된 하나 이상의 피크의 각각의 피크의 표현을 생성하는 단계를 포함한다. 이들 구성에서는, 각각의 이용 가능한 위성에 대한 상관 벡터를 생성하는 동작들은 각각의 위성에 대해 생성된 표현을 연결시켜 상관 벡터를 형성하는 단계를 또한 포함할 수 있다. 일부 구현들에서는, 동작들은, 각각의 후보 포지션에 대해, 상관 벡터와 초과 경로 길이 벡터 사이의 표준 편차를 결정하는 단계를 또한 포함한다. 여기서, 개개의 후보 포지션이 상관 벡터와 초과 경로 길이 벡터 사이의 최저 표준 편차를 포함할 때 상관 벡터는 초과 경로 길이 벡터와 가장 가깝게 매칭된다.
[0027] 본 개시내용의 구현들은 신호들의 풀 채널을 모델링하는 방법 및/또는 시스템에 대한 다음의 옵션의 특징들 중 하나 이상을 포함할 수 있다. 일부 예들에서는, 초과 경로 길이 벡터를 생성하는 단계는: 개개의 후보 포지션으로부터 복수의 광선들을 발사하는 단계; 개개의 후보 포지션으로부터 발사된 복수의 광선들의 각각의 광선에 대해, 복수의 광선들의 개개의 광선이 알려진 위성 포지션에서 종단되는지를 결정하고, 복수의 광선들의 개개의 광선이 알려진 위성 포지션에서 종단될 때, 그 광선을 후보 신호 경로로서 식별하는 단계; 및 개개의 후보 포지션으로부터 발사된 복수의 광선들의 각각의 광선에 대해 후보 신호 경로로서 식별된 개개의 광선에 대한 초과 경로 길이를 결정하는 단계를 포함한다. 각각의 이용 가능한 위성은 단일 위성을 포함할 수 있다. 일부 구현들에서는, 후보 포지션들 모두와 비교하여, 개개의 후보 포지션이 상관 벡터와 초과 경로 길이 벡터 사이의 차이를 나타내는 손실 함수의 극값을 포함할 때 상관 벡터는 초과 경로 길이 벡터와 가장 가깝게 매칭된다. 여기서, 손실 함수는 GNSS 신호 측정치들의 신호 강도 또는 GNSS 신호 측정치들의 반송파-잡음 밀도비(carrier-to-noise-density ratio) 중 적어도 하나에 기초할 수 있다. 일부 구성들에서는, 데이터 처리 하드웨어는 모바일 디바이스에 상주한다. 데이터 처리 하드웨어의 제1 부분은 모바일 디바이스 상에 상주할 수 있는 반면 데이터 처리 하드웨어의 나머지 제2 부분은 모바일 디바이스와 통신하는 원격 서버 상에 상주한다.
[0028] 본 개시내용의 하나 이상의 구현의 세부 사항들은 첨부 도면들 및 이하의 설명에서 제시된다. 다른 양태들, 특징들, 및 이점들은 상세한 설명 및 도면들로부터, 그리고 청구항들로부터 명백할 것이다.
[0029] 도 1은 GNSS 수신기가 위치하는 예시적인 도시 환경의 사시도이다.
[0030] 도 2a 내지 도 2c는 GNSS-가능 디바이스 상의 신호 경로 모델링을 위한 예시적인 신호 매퍼들의 개략도들이다.
[0031] 도 3a 및 도 3b는 GNSS-가능 디바이스와 통신하는 원격 시스템 상의 신호 경로 모델링을 위한 예시적인 프리컴퓨터들의 개략도들이다.
[0032] 도 4는 복합 손실 함수를 사용하는 예시적인 그리드 검색의 개략도이다.
[0033] 도 5a 및 도 5b는 고해상도 신호들을 이용한 신호 경로 모델링을 위한 예시적인 풀 채널 모델러들의 개략도들이다.
[0034] 도 6은 온-디바이스로 신호 경로들을 계산하는 방법에 대한 동작들의 예시적인 배열의 흐름도이다.
[0035] 도 7은 신호 경로들을 원격으로 계산하는 방법에 대한 동작들의 예시적인 배열의 흐름도이다.
[0036] 도 8은 GNSS 로컬라이제이션 기법들을 이용하여 로케이션 우도를 생성하는 방법에 대한 동작들의 예시적인 배열의 흐름도이다.
[0037] 도 9는 신호들의 풀 채널을 모델링하는 방법에 대한 동작들의 예시적인 배열의 흐름도이다.
[0038] 도 10은 본 명세서에 기술된 시스템들 및 방법들을 구현하기 위해 사용될 수 있는 예시적인 컴퓨팅 디바이스의 개략도이다.
[0039] 다양한 도면들에서 유사한 참조 부호들은 유사한 요소들을 지시한다.
[0040] GNSS 기반 로컬라이제이션이 로케이션 기반 서비스들의 유비쿼터스 부분이 됨에 따라, GNSS 수신기들이 다수의 컴퓨팅 디바이스들에 통합되었다. GNSS 수신기의 통합으로 인해, 컴퓨팅 디바이스는 위성에 의해 송신된 신호(즉, GNSS 신호)의 수신이든 GNSS 수신기에 대한 로케이션의 전체 계산이든 간에 GNSS 로컬라이제이션을 지원하는 어떤 역할을 수행할 수 있는 GNSS-가능 디바이스로 간주된다. 여기서, GNSS 로컬라이제이션은 GNSS 수신기와 같은 GNSS 컴포넌트의 로케이션을 결정하는 기능을 지칭한다. 따라서, 컴퓨팅 디바이스가 GNSS 수신기를 포함할 때, GNSS 로컬라이제이션은 GNSS 수신기의 로케이션을 결정하고, 또한 연관에 의해, GNSS-가능 디바이스의 로케이션을 결정할 수 있다. 이는 GNSS-가능 디바이스로서의 거의 모든 물체 장비의 로케이션을 알아내기 위해 GNSS 로컬라이제이션이 구현되는 것을 허용한다. 그 결과, 농업 장비, 수송 차량들(예를 들어, 자동차들, 트럭들, 기차들, 비행기들 등), 모바일 디바이스들(예를 들어, 모바일 폰들, 랩톱들, 태블릿들 등), 웨어러블들(예를 들어, 스마트 시계들), 사물 인터넷(IOT) 디바이스들, 및/또는 다른 GNSS-가능 디바이스들의 로케이션을 알아내기 위해 GNSS 로컬라이제이션이 활용되었다.
[0041] GNSS 수신기는 하나 이상의 가시적인 궤도 위성으로부터 GNSS 신호들을 수신하도록 구성된다. 여기서, 가시적인 위성 또는 이용 가능한 위성은 GNSS 로컬라이제이션 프로세스(예를 들어, GNSS 수신기 또는 GNSS 수신기와 연관된 로컬라이제이션 시스템에 의한)가 포지션 및 내비게이션 결정들에서 이용하기에 충분한 크기의 GNSS 신호를 송신하는 특정 궤도 위성을 지칭한다. 대조적으로, 비가시적인 궤도 위성들인 다른 궤도 위성들이 있을 수 있다. 비가시적인 궤도 위성 또는 이용 가능하지 않은 위성은 수신된 GNSS 신호가 GNSS 로컬라이제이션 프로세스에서 포지션 및 내비게이션 결정에서 이용되기에 충분하지 않은 크기인 위성을 지칭한다. 달리 말하면, 이용 가능한 위성은 "GNSS 수신기와 통신하는" 것으로 간주되는데, 그 이유는 GNSS 수신기가 이용 가능한 또는 가시적인 위성으로부터 충분한 크기의 GNSS 신호를 수신하기 때문이다. GNSS 로컬라이제이션은 위성들이 가시적이지 않은(이용 가능하지 않은) 것보다는 가시적인(이용 가능한) 것을 선호하기는 하지만, 위성이 GNSS-가능 디바이스에게 가시적인지 여부는 GNSS-가능 디바이스에 관한 환경 또는 지형에 따라 달라질 수 있다. 다시 말해서, GNSS-가능 디바이스가 탁 트인 들판에 있을 때, 탁 트인 들판 환경은 GNSS 수신기가 궤도 위성에 의해 송신된 신호를 수신하지 못하게 할 수 있는 지형 특징들을 있다손 치더라도 거의 포함하지 않는다. 예를 들어, 탁 트인 들판에서는 다수의 위성들이 가시적이다. 반면, GNSS-가능 디바이스가 높은 암석층들로 둘러싸인 협곡에 있을 때는, 있다손 치더라도, 적은 수의 가시적인 위성들이 존재하고, 더 많은 수의 비가시적인 위성들이 존재할 가능성이 있다.
[0042] GNSS 수신기가 도시 또는 도시 환경에 있을 때는, GNSS 수신기가 위성 신호들을 수신하는 능력은 종종 탁 트인 들판보다 협곡과 더 유사하다. 도시 또는 도시 환경에서는, 하나 이상의 위성으로부터의 신호들이 도시의 구조물들 또는 건물들에 의해 차단되거나 감쇠될 수 있다. GNSS 수신기가 도시 환경에서 더 적은 수의 가시적인(또는 이용 가능한) 위성들을 가질 수 있다는 문제를 악화시키는 것으로, GNSS 수신기에게 가시적인(즉, 이용 가능한) 위성들로부터의 신호들이 GNSS 수신기로의 그들의 경로 동안 도시 환경에서(예를 들어, 구조물들로부터 또는 구조물들에 의해) 방향 전환(예를 들어, 1회 이상 반사, 굴절, 회절, 또는 산란)될 가능성이 더 많다. 이들 방향 전환된(예를 들어, 반사된) 신호는 GNSS 로컬라이제이션을 수행하는 시스템들(로케이션 시스템들이라고 지칭됨)에 문제들을 제기하는데, 그 이유는 GNSS 로컬라이제이션이 신호의 경로에 대한 전파 시간(time of flight)을 사용하고 수신된 신호들이, 방향 전환된(예를 들어, 반사된) 것이든 아니든 간에, 가시선 신호들인 것으로 가정하기 때문이다. 다시 말해서, 가시선 신호는 어떠한 방향 전환도 없이 위성으로부터 수신기로 연장되는 경로를 갖는다. 실제로는, 신호는 방향 전환된 신호이고 좀처럼 가시선 신호가 아니므로, 신호의 방향 전환은 실제로 신호가 가시선 신호가 이동하는 거리보다 더 먼 거리를 이동하게 한다. 여기서, 가시선 신호와 실제 또는 반사된 신호의 더 먼 거리 사이의 차이는 초과 경로 길이라고 지칭된다. 초과 경로 길이라는 용어는, 수신기로의 반사된 신호의 경로가 그의 반사(들)로 인해 직접적인 가시선 신호로서 가졌을 경로보다 더 긴(즉, "초과") 경로 길이를 갖는다는 것을 식별한다.
[0043] 유감스럽게도, 수신기가 어디에 위치하는지를 식별하도록 구성되어 있는 로케이션 시스템은, 본질적으로 수신기에서 수신된 신호들이, 실제로는, 방향 전환된 신호들이라 할지라도, 가시선 신호들이라고 가정한다. 이러한 가정으로 인해, 로케이션 시스템은 종종 도시 공간에서의 수신기의 로케이션을 부정확하게 식별한다. 이러한 부정확성을 나타내는 예는 GPS의 GNSS 시스템을 사용하는 승차 공유 플랫폼들이 승차 공유 고객이 도시 환경에서 거리의 다른 측에 있다고 생각하는 경향이 있다는 것이다. 여기서, 승차 공유 고객의 GPS 수신기는 그의 로케이션을 반사된 신호의 초과 경로 길이로 인해 거리의 잘못된 측에 있는 것으로 해석하고 이 잘못된 로케이션을 승차 공유 플랫폼을 통해 승차 공유 운전자에게 중계한다. 도시 환경 내의 로케이션 시스템들이 GNSS 수신기의 로케이션을 초과 경로 길이로 인해 거리의 잘못된 측에 있는 것으로 결정하는 것은 상당히 흔하므로, GNSS 산업은 때때로 이 문제를 "거리의 잘못된 측(the-wrong-side-of-the-street)" 문제라고 지칭한다.
[0044] 도시 환경 내의 GNSS 수신기에 대한 로케이션 정확도의 문제들을 해결하기 위해 몇 가지 상이한 접근법들이 시도되었다. 예를 들어, 로케이션 시스템은 로케이션 정확도를 개선하기 위해 관성 시스템을 통합하거나 사용할 수 있다. 다시 말해서, GNSS 수신기 또는 GNSS 수신기와 연관된 디바이스는 가속도계들 및/또는 레이트 자이로들과 같은 모션 센서들을 이용할 수 있다. 그 후 로케이션 시스템은 이들 센서로부터의 측정치들을 사용하여 GNSS 수신기의 포지션을 결정할 수 있다. 그러나 여기서, 로컬라이제이션을 보완하기 위해 관성 시스템을 사용하는 것에 중대한 단점들이 존재한다. 예를 들어, 반사된 신호들이 도시 환경 내에서 발생할 때 관성 시스템이 GNSS 수신기의 로케이션을 식별하는 데 정확하기 위해서는, 관성 시스템은 먼저 GNSS 수신기 포지션의 정확한 결정을 필요로 한다. 처음에 GNSS 수신기 포지션의 정확한 결정을 시작하기 위해, 로케이션 시스템은 관성 시스템에 대한 초기 GNSS 수신기 포지션을 설정하기 위해 반사되지 않은 직접적인 또는 가시선 신호를 필요로 할 것이다. 정확한 초기 GNSS 수신기 포지션이 없으면, 관성 시스템은 그의 측정치들의 기초가 되는 정확한 기준 상태가 없을 것이다. 따라서 이 접근법은 관성 시스템을 사용하기에 앞서 GNSS 신호들이 반사 없이 수신될 수 있는 비교적 탁 트인 영역을 필요로 한다. 이 접근법의 중대한 단점은, 완전히 도시 환경에서 시작하거나 거주하는 보행자들 또는 심지어 차량들의 경우, 비교적 탁 트인 영역이 이용 가능하지 않아; GNSS 신호들이 도시 환경에서 반사되고 있을 때 관성 시스템이 보충 로컬라이제이션(supplemental localization)에 비효과적이게 된다는 점이다. 추가적으로, 관성 시스템은 비용을 증가시키고, 더 많은 처리 리소스들을 소비하고, 및/또는 보다 작은 엔벨로프들을 갖는 GNSS-가능 디바이스들을 위해 귀중한 컴퓨팅 공간을 차지할 수 있다. 더욱이, 모바일 디바이스들이 일부 기존의 관성 컴포넌트들을 가질 수 있기는 하지만(예를 들어, 모바일 폰이 그의 배향을 결정할 수 있음), 모바일 디바이스들, 및 특히 셀룰러 폰들에서의 관성 컴포넌트들은 다소 기초적이고 높은 정확도로 로컬라이제이션을 수행하지는 못한다.
[0045] 도시 환경들에서의 GNSS 수신기들에 대한 로케이션 부정확성들을 정정하는 다른 접근법은 그림자 매칭(shadow matching)이라고 지칭된다. 그림자 매칭은 GNSS 수신기에서 수신된 신호 강도를 사용하여 수신기가 실제로 위치하는 곳을 추론하는 접근법이다. 전제는, 예를 들어, 동쪽의 위성으로부터의 신호가 GNSS 수신기에서 검출된 약한 신호 강도를 갖는다면(예를 들어, 신호 방향 전환으로 인해), GNSS 수신기가 동쪽의 건물의 그림자에 있다고 추정된다는 것이다. 그 후 이 전제는 GNSS 수신기에 대한 추정된 포지션에 수렴하기 위해 모든 위성들 및 그들의 대응하는 신호들에 집합적으로 적용된다. 이 접근법 및 이 접근법에 대한 변형들이 도시 환경들에서의 GNSS 수신기들에 대한 로케이션 부정확성들을 정정하는 데 부분적으로 효과적인 것으로 판명되기는 했지만, 이 접근법은 문제의 원인을 지나치게 단순화한다. GNSS 수신기에서 수신된 신호 강도는 신호가 구조물들로부터 반사되는 것 이외의 이유들로 인해 달라질 수 있다. 예를 들어, 신호 강도는 GNSS 신호가 수신기에 도달하기 전에 특정 매질을 통과해야 하기 때문에 달라진다. 다시 말해서, 신호는 GNSS 수신기를 휴대하고 있는 사람의 신체 또는 도시 내의 나뭇잎에 의해 감쇠될 수 있다(예를 들어, GNSS 신호는 사람의 주머니 안의 모바일 디바이스이다). 더욱이, GNSS 수신기의 타입 또는 GNSS-가능 디바이스의 타입이 GNSS 신호에 대한 신호 강도에 영향을 미칠 수도 있다. 이들 요인을 설명할 방법이 없으면, 그림자 매칭은 때때로 자체적으로 거리의 잘못된 측 문제를 해결하기 위한 효과적인 접근법이 되지 못한다.
[0046] 신호 강도에 의존하지 않는 도시 환경 내의 로컬라이제이션 문제들을 극복하는 다른 접근법은 대신 GNSS 수신기의 이동을 이용한다. 위성으로부터의 GNSS 신호는 특정 주파수를 갖는다. 그러나, 이동하는 GNSS 수신기가 해당 신호를 수신할 때, 특정 주파수는 GNSS 수신기 움직임의 함수로서 변한다. 다시 말해서, 도플러 효과가 GNSS 수신기의 움직임에 기초하여 GNSS 신호의 주파수를 변경한다. 도플러 효과는 파(예를 들어, 소리 또는 광)의 소스(예를 들어, 위성) 및 파의 목적지(예를 들어, 수신기)가 서로에 대해 이동할 때 파의 주파수의 변화를 지칭한다. 여기서, 이는 GNSS 수신기가 이동 중(예를 들어, 보행자가 걷는 중 또는 자동차가 운행 중)이면, GNSS 신호가 움직이지 않는 GNSS 수신기에 의해 수신되는 것과 비교할 때 GNSS 수신기의 움직임이 어떤 요인에 의해 GNSS 신호의 주파수에 영향을 미친다는 것을 의미한다. 예를 들어, GNSS 수신기를 갖는 GNSS-가능 디바이스의 속도는 수신된 GNSS 신호의 겉보기 주파수(apparent frequency)를 디바이스가 어떤 기간에 걸쳐 통과하여 이동하는 파장들의 레이트만큼 변화시킬 것이다. GNSS 신호의 주파수는 GNSS 수신기가 움직이지 않을 때 알려져 있으므로, 주파수의 변화는 주파수에 영향을 미치는 도플러 효과의 양을 식별한다. GNSS 수신기에서 도플러 효과를 이용함으로써, 이 도플러 기반 접근법은 GNSS 수신기의 포지션을 정확하게 식별할 수 있다. 도플러 기반 접근법은 GNSS 신호의 신호 강도에 의존하지 않으므로, 도플러 기반 접근법은 그림자 매칭과 같은 기법들을 흔히 괴롭히는 다른 요인들(예를 들어, 신호가 추가의 매질들을 통과하는 것 또는 GNSS 수신기와 연관된 디바이스의 타입)에 의해 신호가 감쇠되고 있을 때에도 로케이션 시스템이 효과적인 것을 가능하게 할 수 있다. 이 접근법이 거리의 잘못된 측 문제를 갖는 골칫거리들 중 일부를 치유하는 것처럼 보이기는 하지만, 이 접근법은 그 자체의 차질이 없는 것은 아니다. 예를 들어, 이 도플러 기반 접근법은 본질적으로 도플러 효과를 생성하기 위해 이동하는 GNSS 수신기에 의존한다. 그러나, GNSS 수신기 및/또는 GNSS 수신기를 갖는 GNSS-가능 디바이스는 항상 움직임의 상태에 있는 것은 아니다. 예를 들어, GNSS 수신기를 버스를 기다리면서 벤치에 앉아 있는 보행자가 휴대하고 있다면, 도플러 기반 접근법은 GNSS 수신기의 로케이션을 알아내는 데 비효과적일 것이다.
[0047] 로케이션 부정확성은 GNSS 수신기가 잘못된 로케이션에서 인지되는 결과를 야기하는 초과 경로 길이를 정정하려고 시도함으로써 해결될 수도 있다. 이는 일반적으로 가장 간단한 접근법일 것이다 ― GNSS 수신기 또는 GNSS 수신기와 통신하는 로케이션 시스템이 현재 그 자신의 포지션을 근사화하기 때문에, GNSS 수신기 또는 수신기와 통신하는 로케이션 시스템이 초과 경로 길이를 계산하고 초과 경로 길이를 사용하여 GNSS 수신기(또는 GNSS 수신기를 갖는 GNSS-디바이스)의 로케이션을 결정할 수 있다면, 이는 도시 환경 내의 수신기에 대한 로케이션 부정확성의 골칫거리들을 경감할 것이다. 그러나 그러한 정정 접근법은 구현하기 어려울 수 있는데, 그 이유는 로케이션 오차에 기여하는 반사된 신호의 초과 경로 길이를 결정하기 위해서는, 정정 접근법이 GNSS 수신기의 로케이션을 필요로 할 것이며; 초과 경로 길이가 본질적으로 해당 로케이션을 혼란시키므로 닭과 달걀 문제를 제기할 것이기 때문이다.
[0048] 정정 접근법을 구현하는 한 가지 방법은 먼저 GNSS 수신기의 로케이션을 근사화한 다음, 그 근사 로케이션 및 GNSS 수신기에서의 GNSS 신호의 신호 강도에 기초하여, 접근법이 반사된 신호에 대한 경로 길이의 초과 부분을 결정하는 것이다. 그렇지만, 이 접근법은 GNSS 신호들이 GNSS 수신기의 근사 로케이션에서 어떻게 거동할 수 있는지에 대한 어떤 링크를 필요로 한다 ― 해당 거동을 GNSS 수신기에서 수신된 GNSS 신호의 측정된 신호 강도와 비교하기 위해. 신호 모델링 전술(예를 들어, 광선 발사 전술)을 사용하여 근사 로케이션에서의 신호들의 거동을 이해하는 것이 가능하기는 하지만, 이러한 신호 모델링 전술은 상당히 계산적으로 비용이 많이 든다. 예를 들어, 각각의 위성 성상도가 다수의 위성들을 포함하는 위성들의 여러 성상도들이 있을 수 있다. 이들 성상도 내의 각각의 위성이 그의 GNSS 신호를 브로드캐스트하여 위성 신호가 GNSS 수신기의 근사 로케이션으로의 다수의 잠재적인 신호 경로들을 가질 수 있게 된다. 도시 환경에서는, 이는 신호 모델링 전술이 다수의 잠재적인 신호 경로들을 모델링하기 위해 도시 환경 내의 구조물들에 대한 GNSS 신호들의 반사율을 이해해야만 한다는 것을 의미하기도 한다. 마지막으로 다수의 잠재적인 신호 경로들의 이러한 모델로, GNSS 수신기 또는 로케이션 시스템은 잠재적인 신호 경로들 중 하나를 GNSS 수신기에 의해 수신된 GNSS 신호 측정치들(예를 들어, GNSS 신호의 신호 강도)을 시뮬레이션하는 것처럼 보이는 경로로서 식별할 수 있다. 이러한 모델링 프로세스는 신호 반사율을 이해하기 위한 3차원 구조물들에 대한 지리적 데이터의 필요성으로 인해 메모리 집약적이다. 더욱이, 전통적인 신호 모델링 전술들은 그러한 지리적 데이터를 메모리에 저장함으로써 기능한다. 신호 모델링 전술들은 또한 근사 포지션에 대한 모든 가능한 경로들을 결정하기 위해 상당히 시간 소모적일 수 있다. 디바이스 크기가 감소함에 따라 컴퓨팅 디바이스들의 처리 능력이 증가하고 있기는 하지만, 이 스케일의 신호 모델링 계산들은 전력 소비로 인해 디바이스의 배터리에 부담을 주고, 특히 GNSS 기반 로케이션 서비스들이 수신기의 근실시간 로케이션들을 제공하기를 선호할 때, 여전히 프로세서를 고장내거나 메모리에 과부하를 줄 위험이 있을 것이다. 다시 말해서, GNSS 수신기를 갖는 GNSS-가능 디바이스를 휴대하고 있는 사람이 도시의 여기저기를 이동할 때, 수신기 또는 로케이션 시스템이 수신기의 새로운 로케이션들을 결정하는 것을 가능하게 하기 위해 신호 모델링이 끊임없이 실행되고 있을 것이다. 모든 이들 요인에 기초하여, 초과 경로 길이 접근법은 일반적으로 지지할 수 없었다.
[0049] GNSS 신호에 대한 초과 경로 길이를 모델링하기 위한 집약적인 처리를 극복하기 위해, 모델링 프로세스는 GNSS-가능 디바이스의 처리 능력들에 부응할 수 있다. 예를 들어, GNSS-가능 디바이스가 디바이스 측 모델링(즉, GNSS-가능 디바이스에 대한 모델링)을 수행하기를 원한다면, GNSS-가능 디바이스에 대한 로케이션 시스템은 도시 환경에 대한 지리적 데이터의 저장 풋프린트를 저감시키는 신호 모델링 전술을 사용할 수 있다. 다시 말해서, GNSS-관련 디바이스는 종래의 신호 모델링 데이터 구조보다 적은 메모리 소비를 필요로 하는 데이터 구조에 대해 신호 모델링을 수행한다. 대안적으로, GNSS-가능 디바이스는 서버 기반 시스템이 GNSS-가능 디바이스와 통신하는 서버 상에서 신호 모델링의 일부를 수행하게 함으로써 신호 모델링의 양태들을 회피할 수 있다. 그 후 서버 기반 시스템은 GNSS-가능 디바이스의 요청에 따라 신호 경로 모델링 결과들을 GNSS-가능 디바이스에 제공할 수 있다. 따라서, GNSS-가능 디바이스는 초과 경로 길이 처리의 일부에 대한 부담을 덜고 사실상 신호 경로 모델링을 위한 그 처리 리소스 소비를 저감시킨다.
[0050] 도 1은 사용자(10)와 연관된 GNSS-가능 디바이스(110)(디바이스(110)라고도 지칭됨)가 하나 이상의 위성(20, 20a-n)으로부터 송신된 GNSS 신호(22)를 수신하는 도시 환경(100)의 예이다. 예를 들어, 도 1은 2개의 가시적인 위성(20, 20a-b)을 묘사하고 있다. 여기서, 각각의 위성(20)은 도시 환경(100) 내의 건물들(30)에 의해 차단된 가시선 신호(22, 22LOS) 및 환경(100) 내의 건물(30, 30b)에서 반사되는 반사된 신호(22, 22REF)를 사용자(10)에게 있는 디바이스(110)에 도달하기 전에 송신하는 것으로 도시되어 있다. 간략화를 위해 도면들 중에는 단지 2개의 위성(20)만이 묘사되어 있기는 하지만, GNSS-가능 디바이스(110)는 위성들(20)의 GNSS 성상도들 중 임의의 성상도 내의 임의의 GNSS 위성(20)으로부터 송신된 GNSS 수신기(114)와 연관된 안테나(112)에서 신호들(22)을 수신하도록 구성될 수 있다. 다시 말해서, 디바이스(110)의 GNSS 수신기(114)는 GPS(Global Positioning System), GLONASS(Russian Global Navigation Satellite System), GALILEO(European Union Galileo Positioning System), 일본 QZSS(Quasi-Zenith Satellite System), 중국 BeiDou 내비게이션 시스템, 및/또는 IRNSS(Indian Regional Navigational Satellite System), 및/또는 임의의 유사한 시스템과 연관된 위성들(20)들, 예컨대 무선 신호들을 송신하도록 구성된 지구 저궤도(Low Earth Orbit) 또는 정지 궤도(Geostationary) 위성들로부터 송신된 신호들(22)을 수신할 수 있다. 더욱이, 도 1은 도시 환경(100)을 묘사하고 있기는 하지만, 이는 예시를 위한 것에 불과하다. 본 명세서의 시스템들 및 방법들은 비-도시 및/또는 반-도시 환경과 같은 임의의 환경에서 기능할 수 있다.
[0051] 디바이스(110)는 안테나(112) 및 GNSS 수신기(114)(수신기(114)라고도 지칭됨)를 포함한다. 안테나(112)는 위성(20)으로부터 송신된 신호(22)(예를 들어, 전파들)를 수신하고 수신된 신호(22)를 수신기(114)에 전기 입력으로서 통신하기 위한 인터페이스로서 기능하도록 구성된다. 일반적으로 말하면, 안테나(112)로부터의 전기 입력에 기초하여, 수신기(114)는 수신된 신호(22)에 구현된 신호 기반 정보를 해석하도록 구성된다. 신호 기반 정보는 GNSS 측정치들(예를 들어, 측정된 GNSS 신호 데이터(202)라고도 지칭됨) 또는 원시 GNSS 측정치들이라고도 지칭될 수 있다. 위성들(20)은 전형적으로 그들의 원자 클록들에 따라 한 번에 L-대역(즉, GNSS 기술들을 위해 국제적으로 지정된 무선 스펙트럼의 대역) 내의 동작 주파수 및 파장의 전파로서 신호(22)를 브로드캐스트한다. 위성(20)으로부터의 브로드캐스트된 신호(22)는 L-대역 내의 주파수, 위성 정보(예를 들어, 코딩된 위성 정보)를 갖고, 내비게이션 메시지를 반송한다. 내비게이션 메시지는 위성이 신호(22)를 송신한 위성에서의 시간 및 수신기(114)/안테나(112)에서의 신호(22)의 도착 시간과 같은 타이밍 정보, 및 송신 시의 위성(20)의 로케이션과 같은 포지션 정보를 포함한다. 송신 시간 및 도착 시간의 조합에 의해 전파 시간 TOF(예를 들어, 가시선 신호(22LOS)에 대한 전파 시간 TOFLOS 및 반사된 신호(22REF)에 대한 전파 시간 TOFREF로서 도시됨)를 가짐으로써, 수신기(114)는 신호(22)를 송신한 위성(20)과 수신기(114) 사이의 범위에 대응하는 의사 거리를 측정할 수 있다. 위성-수신기 간 거리를 결정하기 위해, 수신기(114)는 빛의 속도에 의해 의사 거리를 스케일링한다. 이 타이밍 정보는 또한 수신기(114)에서의 클록 타이밍(예를 들어, 도착 시간으로부터의)에 대한 위성에서의 클록 타이밍(예를 들어, 송신 시간으로부터의)에 대한 이해를 수신기(114)에 제공한다. 수신기(114)가 신호(22)를 수신할 때, 수신기(114)는 또한 신호(22)의 강도를 측정하도록 구성된다(예를 들어, 데시벨(dBm 또는 dBHz) 단위로). 타이밍 정보 및 포지션 정보에 더하여, 신호(22)는 위성 정보를 포함한다. 이 위성 정보는 신호(22)를 송신하는 특정 위성(20) 및 그 특정 위성(20)에 대한 성상도(예를 들어, GPS, GLONASS, GALILEO, QZSS, BeiDou 또는 IRNSS)를 나타내는 고유 식별자를 식별할 수 있다. 신호 기반 정보로부터, 수신기(114)와 통신하는 로케이션 시스템(120)은 신호(22)의 수신자의 로케이션(12)을 결정한다. 도시된 예들에서는, 신호(22)의 수신자의 로케이션(12)은 수신기(114), 디바이스(110), 및 사용자(10)의 로케이션(12)인데, 그 이유는 수신기(114)가 디바이스(110)의 컴포넌트이고 디바이스(110)(예를 들어, 모바일 폰으로서 도시됨)가 사용자(10)에 의해 휴대되고 있기 때문이다. 이들 예에서 디바이스(110), 수신기(114), 및 사용자(10)의 동의어인 로케이션들로 인해, 이들 용어의 로케이션들은 교환 가능하게 지칭될 수 있다 ― 비록 다른 예들에서는 이들 로케이션이 상이할 수 있다고 생각할 수 있기는 하지만. 예를 들어, 디바이스(110)는 GNSS 수신기(114)를 갖는 무운전자 자율 주행 차량이다.
[0052] 디바이스(110)는 수신기(114)를 지원할 수 있는 임의의 컴퓨팅 디바이스일 수 있다. 예를 들어, 디바이스(110)는 위성(20)으로부터의 신호(22)에 응답하여 그 자신의 로케이션을 결정하도록 구성되는 로직, 회로, 및/또는 코드를 지원하도록 구성된다. 디바이스들(110)의 일부 예들은 모바일 디바이스들(예를 들어, 모바일 폰, 랩톱, 태블릿, 모바일 내비게이션 디바이스 등), 차량 전자 기기들(예를 들어, 차량 제어 모듈들, 항공 전자 기기들, 보트 전자 기기들 등), 웨어러블들(예를 들어, 스마트 시계들 또는 스마트 안경들), 게임 디바이스들, 오디오/비디오 캡처링 디바이스들(예를 들어, 카메라들 또는 비디오 카메라들), 및/또는 IoT 디바이스들(예를 들어, 스마트 소비자 전자 기기들, 스마트 어플라이언스들, 스마트 스피커들, 스마트 홈 디바이스들, 스마트 미터들 등)을 포함한다. 디바이스(110)는 데이터 처리 하드웨어(116) 및 이 데이터 처리 하드웨어(116)와 통신하는 메모리 하드웨어(118)를 포함하고, 메모리 하드웨어는, 데이터 처리 하드웨어(116)에 의해 실행될 때, 데이터 처리 하드웨어(116)로 하여금 하나 이상의 동작(예를 들어, GNSS 로컬라이제이션과 관련된)을 수행하게 하는 명령어들을 저장하고 있다. 일부 예들에서는, 디바이스(110)는 하나 이상의 애플리케이션(즉, 소프트웨어 애플리케이션)을 포함한다 ― 여기서 각각의 애플리케이션은 디바이스(110)와 연관된 로케이션 시스템(120)을 이용하여 애플리케이션 내의 다양한 기능들을 수행할 수 있다. 예를 들어, 디바이스(110)는 사용자(10)에 대해 디바이스(110)의 로케이션(12)을 디스플레이하도록 구성된 내비게이션 애플리케이션을 포함한다.
[0053] 더욱이, 디바이스(110)는 네트워크(130)를 통해 원격 시스템(140)과 통신하도록 구성될 수 있다. 원격 시스템(140)은 원격 데이터 처리 하드웨어(142)(예를 들어, 원격 서버들 또는 CPU들) 및/또는 원격 메모리 하드웨어(144)(예를 들어, 원격 데이터베이스들 또는 다른 저장 하드웨어)와 같은 원격 리소스들을 포함할 수 있다. 디바이스(110)는 원격 리소스들을 이용하여 GNSS 로컬라이제이션과 관련된 다양한 기능을 수행할 수 있다. 예를 들어, 디바이스(110)는 로케이션 시스템(120)을 사용하여 GNSS 로컬라이제이션을 수행하도록 구성된다. 여기서, 도 1은 로케이션 시스템(120)이 수신기(114) 및/또는 GNSS-가능 디바이스(110)가 GNSS 로컬라이제이션을 수행하는 것을 가능하게 하는 시스템을 일반적으로 지칭함을 예시하기 위해 로케이션 시스템(120)을 안테나(112), 수신기(114), 신호 매퍼(200), 프리컴퓨터(300), 그리드 검색기(400), 및 풀 채널 모델러(500) 주위의 점선 박스로서 묘사하고 있다. 따라서 로케이션 시스템(120)의 컴포넌트들은 디바이스(110) 상에 상주하거나(온-디바이스 시스템들이라고 지칭됨) 또는 원격으로 상주(예를 들어, 원격 시스템(140) 상에 상주)하지만, 디바이스(110)와 통신할 수 있다. 예를 들어, 도 1은 신호 매퍼(200)의 기능의 일부 또는 전부가 디바이스(110) 자체에서 발생할 수 있음을 나타내기 위해 디바이스(110) 상에 위치하는 신호 매퍼(200)를 예시하고 있다. 반면, 도 1은 또한 일반적으로 프리컴퓨터(300)가 디바이스(110) 상에서가 아니라(즉, 오프-디바이스로) 또는 원격으로(즉, 서버 측) 그것의 기능을 수행함을 예시하기 위해 디바이스(110)로부터 원격으로 프리컴퓨터(300)를 묘사하고 있다. 신호 매퍼(200) 및 프리컴퓨터(300) 각각이 GNSS 로컬라이제이션의 일부 양태를 수행할 수 있으므로, 도 1은 이들을 로케이션 시스템(120)의 일부로서 묘사하고 있다. 일반적으로 말하면, 신호 매퍼(200) 및 프리컴퓨터(300)는 각각 그들의 기능들을 온-디바이스 및 오프-디바이스로 수행하기는 하지만, 디바이스(110)에 대한 GNSS 로컬라이제이션의 처리 요구들을 손상시키지 않고 그들의 기능의 일부가 원격으로 또는 로컬로 상주하도록 구성될 수 있다. 로케이션 시스템(120)의 기능들이 원격으로 상주할 때, 로케이션 시스템은 원격 데이터 처리 하드웨어(142) 및 원격 메모리 하드웨어(144)와 같은 원격 리소스들을 이용한다. 대조적으로, 로케이션 시스템(120)의 양태가 로컬로 상주할 때, 로케이션 시스템은 데이터 처리 하드웨어(116) 및 메모리 하드웨어(118)와 같은, 디바이스(110)의 로컬 리소스들을 이용한다. 여기서, 원격으로 상주하는 프리컴퓨터(300)의 하나의 그러한 이점은 디바이스(110)가 로컬 리소스들에 부담을 주거나 그것들을 소비하기보다는 원격 리소스들로 GNSS 로컬라이제이션 기능들을 수행할 수 있다는 점이다. 도 1은 디바이스(110) 상에 상주하는 풀 채널 모델러(500)를 묘사하고 있지는 않지만, 풀 채널 모델러(500)의 기능의 일부 또는 전부가 디바이스(110) 상에 상주하도록 구성될 수 있다. 다시 말해서, 풀 채널 모델러(500)는 완전히 원격으로(예를 들어, 원격 시스템(140) 상에서), 완전히 로컬로(예를 들어, 디바이스(110) 상에서), 또는 양자의 어떤 하이브리드 조합으로 상주할 수 있다.
[0054] 도 1을 더 참조하면, 제1 및 제2 위성들(20a-b)로부터의 각각의 반사된 신호(22REF-a,b)는 초과 경로 길이(24)(예를 들어, 제1 초과 경로 길이(24, 24a) 및 제2 초과 경로 길이(24, 24b)로서 도시됨)를 포함한다. 전술한 바와 같이, 초과 경로 길이(24)는 반사된 신호(22REF)의 길이와 동일한 위성(20)으로부터의 가시선 신호(22LOS)의 길이 사이의 차이이다. 예를 들어, 도 1은 사용자(10)에서 종단되는 점선과 제1 건물(30, 30a)에서 종단되는 실선의 조합으로서 제1 위성(20a)에 대한 가시선 신호(22LOS)의 길이를 묘사하고 있다. 이러한 가시선 신호 길이에 기초하여, 제1 위성(20a)으로부터의 반사된 신호(22REF)에 대한 초과 경로 길이(24a)는 반사된 신호(22, 22REF-a)를 따른 블록 부분으로서 도시되어 있다. 제2 위성(20b)에 대한 초과 경로 길이(24, 24b)가 유사한 방식으로 도시되어 있다.
[0055] 종래의 GNSS 로컬라이제이션을 수행하는 시스템에서, 종래의 시스템은 수신기(114)에서 실제로 수신된 신호들(22)(예를 들어, 건물들(30)에 의해 차단되지 않은 반사된 신호들(22REF))에 대한 전파 시간 TOFREF를 식별하고, 도 1에 도시된 종래의 포지션들(12, 12a-bCON)에서 디바이스(110)의 로케이션(12)을 해석할 것이다. 다시 말해서, 종래의 시스템은 신호(22)가 반사된 신호(22REF)가 아니라 가시선 신호(22LOS)인 것으로 가정하고 종래의 포지션(12CON)을 단순히 초과 경로 길이(24)의 직선 연장으로서 계산한다. 수신기(114)에서 수신된 다수의 신호들(22)에 대해, GNSS 로컬라이제이션은 각각의 위성(20)에 대한 결정된 로케이션(12)을 조합하여 집합 포지션을 형성할 것이다. 여기서, 종래의 시스템은 제1 종래의 포지션(12, 12aCON)과 제2 종래의 포지션(12, 12bCON)을 조합하여 집합 포지션을 형성할 것이다. 도 1로부터 알 수 있는 바와 같이, 종래의 방식으로 수행되는 GNSS 로컬라이제이션 프로세스는 수신기(114)가 수신기(114)의 실제 포지션(12, 12A)과 비교하여 거리의 잘못된 측에 위치하는 것으로 해석할 것이다.
[0056] 종래의 GNSS 로컬라이제이션 시스템의 부정확성들을 극복하기 위해, 로케이션 시스템(120)은 신호 경로 모델링이 신호 매퍼(200)를 통해 온-디바이스로 또는 프리컴퓨터(300)를 통해 원격으로 계산적으로 효율적인 방식으로 신호 경로들을 생성하는 것을 가능하게 한다. 신호 경로 모델링이 원격으로 수행되는지 로컬로 수행되는지는, 예를 들어, 디바이스(110)의 타입 또는 사용자(10)에 의해 어느 GNSS 기반 서비스들이 사용되고 있는지에 의존할 수 있다. 예를 들어, 더 많은 처리 및 메모리 능력들을 갖는 디바이스(110)는 신호 경로 모델링을 수행하도록 신호 매퍼(200)를 구현하는 반면, 제한적인 처리 및 메모리 능력들(예를 들어, 다른 태스크들에 전용되거나 크기가 제한된)을 갖는 디바이스(110)는 프리컴퓨터(300)를 구현한다. 일부 예들에서는, GNSS 기반 로케이션 서비스는 신호 매퍼(200)를 사용하는 로컬로 다운로드된 애플리케이션이거나, 프리컴퓨터(300)를 사용하여 원격 시스템(140)과 통신하는 애플리케이션 프로그래밍 인터페이스(API)이다.
[0057] 도 2a 내지 도 2c를 참조하면, 신호 매퍼(200)는 일반적으로 그리드 생성기(210), 지오데이터 관리자(220), 광선 추적기(230) 및 최적화기(240)를 포함한다. 그리드 생성기(210)는 로케이션 시스템(120)으로부터 추정된 로케이션(12EST)(추정된 포지션이라고도 지칭됨)을 수신하도록 구성된다. 일반적으로, 추정된 로케이션(12EST)은 임의의 투영된 또는 데카르트 좌표들과 같은 포지션의 임의의 표현을 지칭한다. 추정된 로케이션(12EST)은 수신기(114)가, 종래의 GNSS 로컬라이제이션 시스템에 기초하여, 수신기(114)가 위치할 것으로 생각하는 로케이션(12)(예를 들어, 신호(22)에 대한 가시선 가정에 기초한 종래의 로케이션(12CON))에 대응할 수 있다. 다른 예들에서는, 그리드 생성기(210)가 자체적으로 추정된 로케이션(12EST)을 생성한다(예를 들어, 종래의 GNSS 로컬라이제이션에 기초하여). 어느 접근법에서든, 추정된 로케이션(12EST)을 이용하여, 그리드 생성기(210)는 추정된 로케이션(12EST)에 관한(즉, 추정된 로케이션(12EST)에 인접하거나 그로부터 밖으로 퍼지는) 복수의 포지션들을 생성한다 ― 여기서 복수의 포지션들 중 각각의 포지션은 수신기(114)의 실제 로케이션(12A)을 표현할 수 있는 후보 포지션(214)에 대응한다. 따라서, 수신기(114)에 대한 종래의 로케이션(12CON)은 부정확하기는 하지만, 이 종래의 로케이션(12CON)은 복수의 후보 포지션들(214)이 실제 포지션(12A)을 포함하지 않을 정도로 심하게 부정확할 가능성이 적다. 더욱이, 이것이 사실인 것 같으면, 그리드 생성기(210)는 각각의 후보 포지션(214)의 크기 및/또는 추정된 로케이션(12EST) 주위에 생성되는 후보 포지션들(214)의 수에 관한 해상도를 조정하도록 구성될 수 있다.
[0058] 일부 예들에서는, 추정된 로케이션(12EST)에 관한 각각의 포지션이 체계적으로 분석되도록 보장하기 위해, 그리드 생성기(210)는 복수의 후보 포지션들(214)을 그리드(212)로서 생성한다 ― 여기서 그리드(212) 내의 각각의 포인트는 후보 포지션(214)을 표현한다. 예를 들어, 도 2a는 그리드(212)를 예시하고 있는데, 여기서 그리드(212)의 중심은 추정된 로케이션(12EST)이고, 추정된 로케이션(12EST)에 관한 각각의 방향으로(예를 들어, 북쪽으로, 남쪽으로, 동쪽으로, 및 서쪽으로) 후보 포지션들(214)이 생성된다. 그리드(212), 또는 더 일반적으로는 복수의 후보 포지션들(214)은 수신기(114)가 지구의 표면에 평행한 평면 상에 위치할 수 있는 잠재적인 로케이션들을 표현한다. 일부 구현들에서는, 그리드 생성기(210)가 복수의 후보 포지션들(214)을 생성할 때, 그리드 생성기(210)는 또한 건물들(30) 또는 다른 구조물들을 고려할 수 있다. 예를 들어, 그리드 생성기(210)는 건물(30) 또는 다른 구조물이 있다는 것을 알고 있는 곳에 후보 포지션(214)을 생성하는 것을 무시할 수 있다.
[0059] 지오데이터 관리자(220)는 도시 환경(100)과 같은 영역에 대한 지리적 데이터(지오데이터)(222)를 관리하도록 구성된다. 일부 예들에서는, 지오데이터 관리자(220)는 지오데이터 수집 시스템(들) 및/또는 지오데이터 저장소들로부터 지리적 데이터(222)를 수신한다. 지오데이터 관리자(220)는 래스터 타일들(예를 들어, 압축된 래스터 타일들)의 형식으로 지오데이터(222)를 수신할 수 있다. 여기서, 래스터 타일들은 지오데이터 수집 시스템, 또는 지오데이터 서빙 시스템이 압축하여 지오데이터 관리자(220)에 전달하는 저-정밀도 부동 소수점들의 희소 어레이들일 수 있다. 일부 구현들에서는, 지오데이터 관리자(220)가 지오데이터(222)를 수신할 때, 지오데이터(222)는 특정 로케이션에서의 지형 및/또는 구조물들의 특징들을 기술하는 속성들(224)을 포함한다. 특정 로케이션을 기술하는 이들 속성들(224)은 다음을 포함할 수 있다: 평균 해수면(예를 들어, 지오이드 평균 해수면)에 대한 지평면의 고도를 지칭하는 고도; 해당 특정 로케이션에서의 물체의 높이를 지칭하는 높이; 해당 특정 로케이션에서의 물체의 타입을 지시하는 클래스; 및 해당 특정 로케이션에서의 물체의 파사드(예를 들어, 건물(30)의 파사드)의 각도들을 지칭하는 하나 이상의 파사드 각도. 일부 예들에서는, 특정 로케이션은 탁 트인 공간, 건물, 또는 나무 중 어느 하나의 클래스에 의해 분류될 수 있다.
[0060] 일부 구현들에서는, 속성들(224)은 지오데이터 관리자(220)가 환경(예를 들어, 도시 환경(100)) 내의 구조물들의 다각형 표현들(228)을 포함하는 래스터 맵(226)을 형성하기 위한 명령어들의 역할을 한다. 예를 들어, 이들 다각형 표현(228)은, 건물(들)(30), 나무들(나뭇잎), 또는 신호(22)의 경로(24)에 영향을 줄 수 있는 기타의 표현 가능한 구조물의 다각형 모델들에 대응할 수 있다. 일부 구성들에서는, 지오데이터 관리자(220)는 하나 이상의 후보 포지션(214)(예를 들어, 추정된 로케이션(12EST)에 관한 그리드(212))를 수신하고 지오데이터(222) 및 속성들(224)을 이용하여 래스터 맵(226)을 생성한다. 래스터 맵(226)을 생성할 때, 지오데이터 관리자(220)는 속성들(224)을 이용하여 건물들 또는 나무들로서 분류된 특정 로케이션들(예를 들어, 후보 포지션들(214))에 대한 다각형 표현들(228)을 구성할 수 있다. 여기서, 속성(224)이 건물을 식별할 때, 지오데이터 관리자(220)는 건물(30)의 다각형 표현(228)을 구성하기 위한 로케이션에서의 건물(30)에 대한 하나 이상의 파사드 각도(예를 들어, 도 2a에서 45도로서 도시됨)를 식별한다. 예를 들어, 동일한 파사드 각도를 갖는 인접한 로케이션들의 시퀀스가 건물(30)의 정면 또는 측면에 대응하는 다각형 표현(228)에 대한 직선면을 생성한다. 이 프로세스에서, 지오데이터 관리자(220)는 어떤 로케이션에서의 건물(30)의 코너를 추론할 수도 있는데 그 이유는 대응하는 로케이션이 다수의 파사드 각도들(예를 들어, 다각형 표현(228)의 교차하는 면들에 대한 2개의 파사드 각도)을 포함할 것이기 때문이다. 지오데이터 관리자(220)가 래스터 맵(226)을 생성할 때, 래스터 맵(226)은 신호 매퍼(200)를 실행하는 디바이스(110) 상에 저장될 수 있다.
[0061] 지오데이터 관리자(220)는 각종 좌표계들에 저장된 지오데이터(222)를 관리하도록 구성될 수 있다. 예를 들어, 지오데이터 관리자(220)는 구면 좌표들(예를 들어, 위도 및 경도를 갖는 Plate Carree)에 저장된 지오데이터(222)를 관리한다. 이들 구성에서는, 지오데이터 관리자(220)는 래스터 맵(226)을 생성하기 위해 구면 좌표들을 투영하도록 구성된다. 예를 들어, 지오데이터 관리자(220)는 래스터 맵(226)을 생성하기 위해 등장방형 투영(또는 그의 어떤 변형)을 이용한다. 일부 예들에서는, 지오데이터 관리자(220)는 UTM(Universal Transverse Mercator) 좌표계에 저장된 지오데이터(222)를 관리한다.
[0062] 광선 발사는 신호(22)에 대한 광선 또는 경로를 시뮬레이션하는 방법을 일반적으로 지칭한다. 여기서, 가상의 포지션(예를 들어, 후보 포지션(214))이 주어지면, 광선 발사기(230)는 가상의 포지션(예를 들어, 후보 포지션(214))으로부터 다수의 방향들로부터의 광선들을 전파함으로써 위성(20)으로부터의 신호(22)에 대한 경로를 시뮬레이션한다. 각각의 방향으로 전파된 광선들 각각을 추적하거나 발사함으로써, 광선 발사기(230)는 특정 광선이 위성(20)에 대한 알려진 로케이션에서 종단되는지를 모델링한다. 다시 말해서, 위성들(20)이 그들의 신호 송신들에서 그들의 포지션을 브로드캐스트하므로, 광선 발사기(230)는 역방향으로 작업하여 신호(22)의 수신자의 가상 포지션(예를 들어, 후보 포지션(214))으로부터 위성(20)의 브로드캐스트된 로케이션으로 광선을 추적하려고 시도한다. 일부 예들에서는, 광선 발사기(230)는 광선 발사할 때 포함시킬 하나 이상의 위성(20)의 리스트를 수신한다. 여기서, 리스트는 각각의 위성(20)에 대한 고도 및 방위각과 같은 위성 정보를 식별할 수 있다. 광선이 알려진 위성 로케이션(예를 들어, 고도 및 방위각)에서 종단될 때, 광선 발사기(230)는 광선을 신호(22)에 대한 후보 신호 경로(232)로서 식별한다.
[0063] 도시 환경(100)에 대해 정확하게 광선 발사하기 위해, 광선 발사기(230)는 도시 환경(100)에 대한 구조 모델 또는 건물 모델에 액세스하거나 또는 이를 획득한다. 일부 예들에서는, 광선 발사 중에 사용되는 건물 모델의 크기를 최소화하기 위해, 신호 매퍼(200)의 광선 발사기(230)는 지오데이터 관리자(220)로부터 래스터 맵(226)을 수신한다. 래스터 맵(226)을 이용하여, 광선 발사기(230)는 광선이 래스터 맵(226)에서 건물(30)에 대한 다각형 표현(228)과 마주치는지를 식별하기 위해 특정 방향으로 후보 포지션(214)으로부터 광선을 발사한다. 광선이 다각형 표현(228)과 마주치거나 교차할 때, 광선 발사기(230)는 다각형 표현(228)과의 교차점에서 파사드 각도를 식별하고, 건물(30)로부터의 방향 전환(예를 들어, 반사)을 시뮬레이션하기 위해 다각형 표현(228)으로부터의 방향 전환(예를 들어, 반사, 굴절, 회절 및/또는 산란)으로서 어느 각도로 광선을 계속해서 발사할지를 결정하도록 구성된다. 예를 들어, 도 2a는 후보 로케이션(214)에서 비롯되어 제1 건물(30, 30a)에 대한 제1 다각형 표현(228, 228a)으로부터 제2 건물(30, 30b)에 대한 제2 다각형 표현(228, 228b)으로 반사되는 광선을 나타내는 화살표를 묘사하고 있다. 광선 발사기(230)는 광선이 알려진 위성 포지션(예를 들어, 위성(20)에 대응하는 고도 및 방위각)에서 종단되는지를 결정하기 위해 각각의 광선을 계속해서 추적한다. 이 광선 발사 기법을 래스터 맵(226)과 조합하여 이용하여, 광선 발사기(230)는 또한 광선 발사 중에 각각의 반사 포인트에서 산란된 광선들을 설명하고 추적할 수 있다. 광선 발사기(230)는 또한 상이한 구조물들에서, 예컨대 나뭇잎(예를 들어, 나무들)에서 및/또는 건물들에서 신호 침투를 모델링할 수 있다.
[0064] 일부 구현들에서는, 주어진 후보 포지션(214)에 대해, 광선 발사기(230)는 후보 포지션(214)으로부터 각각의 방위각에 대해 그리고 각각의 방위각의 각각의 고도에서 광선들을 추적한다. 광선 발사기(230)는 후보 포지션(214)으로부터 바깥쪽으로 방사상으로 0도 내지 360도의 각각의 방위각에서 0도 내지 약 90도의 고도로 광선들을 전파할 수 있다. 일부 예들에서는, 광선 발사에 앞서, 광선 발사기(230)는 후보 로케이션(214)으로부터의 광선이 특정 방위각에 대해 특정 고도들에서 어떻게 거동할지를 이해하기 위해 래스터 맵(226)으로부터 수직 프로파일을 추출한다. 예를 들어, 도 2a를 더 참조하면, 래스터 맵(226)은 기본적으로 도시 환경(100)의 2.5차원 표현이다. 다시 말해서, 래스터 맵(226)은 각각의 픽셀이 후보 포지션(214)(예를 들어, x-y 로케이션 또는 경도 및 위도)에 대응하는 이차원 픽셀 맵처럼 기능한다. 여기서, 추가적인 반차원은 각각의 픽셀이 해당 픽셀에서의 물체의 높이와 같은 속성 정보를 포함한다는 사실에 기인한다. 이러한 높이 정보로부터, 광선 발사기(230)는 특정 픽셀(예를 들어, 후보 포지션(214))에서 수직면을 도출할 수 있고, 이 수직면으로부터 수직면의 어느 부분들이 건물(30)과 같은 물체에 의해 차지되어 있는지를 이해할 수 있다. 예를 들어, 도 2a에서, 래스터 맵(226)의 속성들(224)은 제1 건물(30, 30a)이 20미터의 높이를 갖고 있다는 것을 식별한다. 이러한 정보에 기초하여, 광선 발사기(230)는 해당 건물(30)에 의해 차지되는 픽셀에서의 수직면이 0 내지 20미터 차지되지만, 20미터 위는 차지되지 않거나 탁 트여 있을 것임을 이해한다. 일부 예들에서는, 광선 발사기(230)는 래스터 맵(226)에서의 각각의 포지션(즉, 픽셀)으로부터 높이 정보를 추출하고 각각의 포지션에 대한 데이터 어레이를 구성하여 수직 높이 표현을 생성한다. 모든 픽셀들에 대한 수직 높이 표현들은 함께 조합되어 행렬을 형성할 수 있다. 수직 높이 표현을 이용하여, 광선 발사기(230)는, 광선 발사 시에, 예를 들어, 30미터에서의 광선은 건물(30, 30a)에 의해 반사되지 않는다는 것을 식별할 수 있다. 더욱이, 광선 발사기(230)는 수평면 상에서 광선을 발사할 수 있지만, 광선이 통과하는 픽셀들에 대한 수직 높이 표현들을 참조하여 수직면에서의 광선의 거동을 여전히 이해할 수 있다. 이를, 광선의 반사들의 모든 수직 각도들이 위성(20)의 고도와 동등할 경우 광선이 특정 고도에서 해당 위성에서 종단될 가능성이 더 많다는 일반적인 경험 법칙과 조합함으로써, 광선 발사기(230)는 최소 데이터 저장 크기의 래스터 맵(226)으로부터 광선 거동을 정확하게 모델링할 수 있다.
[0065] 광선 추적은 방위각들 및 고도들에 대한 재귀적인 프로세스이므로, 그것의 재귀적인 성질은 상당한 계산 시간 및 메모리 사용에 적합하다. 일부 메모리 및 처리 소비를 최소화하려는 시도로, 광선 발사기(230)가 광선 발사할 때, 광선 발사기(230)는 단일 광선 추적 중에 생성된 오브젝트가 후속 광선 발사를 위해 더 이상 필요하지 않은지를 결정하도록 구성될 수 있다. 광선 발사(230)가 어떤 오브젝트가 더 이상 필요하지 않다는 것을 식별할 때, 광선 발사기(230)는 해당 오브젝트를 삭제하여 해당 오브젝트와 관련된 임의의 리소스 소비를 경감하도록 구성된다. 일부 예들에서는, 광선 발사기(230)는 각각의 광선에 대해 계산될 필요가 있는 반사 횟수를 제한하기 위해 임계 반사 횟수를 포함하여; 계산 및 처리 시간을 저감시킨다. 예를 들어, 임계 반사 횟수가 2의 값으로 설정될 때, 광선 발사기(230)는 광선 발사(230)가 광선에 대한 제3 반사를 식별할 때 해당 광선에 대한 광선 발사를 종료한다. 추가적으로 또는 대안적으로, 광선 발사기(230)는 산란된 광선들을 특정 산란 경계들로 제한하거나 또는 심지어 반사로부터의 산란된 광선들을 무시하고 대신에 완벽한 반사들만을 발사함으로써 일부 처리 리소스 소비를 회피할 수 있다.
[0066] 광선 발사의 결과로서, 광선 발사기(230)는 수신기(114)에 의해 수신된 신호 경로에 대응할 수 있는 하나 이상의 후보 신호 경로(232)를 결정하도록 구성된다. 각각의 후보 신호 경로(232)에 대해, 광선 발사기(230)는 또한 경로 특성들(234)을 생성할 수 있다. 경로 특성들(234)의 일부 예들은 경로 타입(예를 들어, 가시선 또는 반사), 후보 신호 경로(232)를 따른 감쇠, 초과 경로 길이(24), 후보 신호 경로(232)를 따른 산란 각도들의 합, 및 다른 산란 정보를 포함한다. 따라서, 신호 매퍼(200)는 광선 발사기(230)의 기능을 이용하여 수신기(114)에 의해 수신된 실제 신호(22)에 대응할 수 있는 하나 이상의 후보 신호 경로(232)를 식별한다. 일부 예들에서는, 경로 특성들(234)은 후보 신호 경로(232)가 실제 신호(22)에 대응할 가능성이 있는지를 지시한다.
[0067] 도 2b 및 도 2c를 참조하면, 최적화기(240)는 후보 신호 경로들(232)을 수신하고 수신기(114)의 실제 로케이션(12A)에 대응할 가능성이 있는 후보 신호 경로들(232) 중 적어도 하나에 기초하여 후보 포지션(214)을 식별하도록 구성된다. 일부 예들에서는, 수신기(114)의 실제 로케이션(12A)을 식별하기 위해 후보 신호 경로들(232)을 이용하기 전에, 최적화기(240)는 광선 발사기(230)에 의해 수신된 후보 신호 경로들(232)을 전처리하도록 구성된다. 예를 들어, 도 2c에 도시된 바와 같이, 최적화기(240)는 모든 유사한 후보 신호 경로들(232)을 단일 집합 후보 신호 경로(242)로 집합시킨다. 일부 구성들에서는, 유사한 후보 신호 경로들(232)의 집합을 수행하기 위해, 최적화기(240)는 2개 이상의 후보 신호 경로(232)가 집합 기준(244)을 만족시키는지를 결정한다. 집합 기준(244)을 만족시키기 위해서는, 2개의 후보 신호 경로(232) 사이의 관계는 2개의 집합 조건 중 적어도 하나를 충족시켜야 한다. 제1 조건은 2개의 후보 신호 경로(232)의 반사 포인트들 사이의 거리에 기초한다. 예를 들어, 2개의 후보 신호 경로(232)의 반사 포인트들 사이의 누적 거리는 조정 가능한 결정된 값(예를 들어, 약 50미터)과 같은 결정된 값보다 작다. 제2 조건은 2개의 후보 신호 경로(232)의 초과 경로 길이들(24) 사이의 차이에 기초한다. 예를 들어, 초과 경로 길이들 사이의 차이는 조정 가능한 결정된 값(예를 들어, 약 50미터)과 같은 결정된 값보다 작다.
[0068] 최적화기(240)는 또한 전처리의 일부로서 복수의 후보 신호 경로들(232)로부터의 초과 경로 길이들(24)을 상관시켜 상관된 초과 경로 길이(246)를 생성할 수 있다. 여기서, 최적화기(240)는 칩이 다수의 상이한 무선 경로들로 무엇을 하고 있는지를 시뮬레이션하려고 시도하고 있다. 초과 경로 길이들(24)을 상관시키기 위해, 최적화기(240)는 집합된 후보 신호 경로들(242), 집합된 후보 신호 경로들(242)에 대한 초과 경로 길이들(24), 집합된 후보 신호 경로들(242)에 대한 감쇠, 및 칩의 가상 크기(예를 들어, 미터 단위)에 대응하는 칩 길이를 GNSS 신호에서 수신한다. 일부 예들에서는, 최적화기(240)는 또한 상관된 초과 경로 길이(246)에 대한 불확실성 U의 표현을 생성한다.
[0069] 후보 신호 경로들(232)을 전처리함으로써(예를 들어, 집합 및 상관), 최적화기(240)는 실제 신호(22)에 대해 수신기(114)에서 수신된 측정된 GNSS 신호 데이터와의 유사성에 대해 비교할 필요가 있는 후보 포지션(214)당 후보 신호 경로들(232)의 수를 저감시킨다. 예를 들어, 최적화기(240)가 각각의 포지션의 각각의 후보 신호 경로(232)를 실제 신호(22)에 대해 수신기(114)에서 수신된 측정된 GNSS 신호 데이터(202)와 비교하는 것이 가능하기는 하지만, 집합 프로세스 및 상관 프로세스 각각은 각각의 후보 로케이션(214)에서 비교될 필요가 있는 후보 신호 경로(232)의 수를 저감시킨다. 전처리 기법들이 적용되든 아니든 간에, 최적화기(240)는, 각각의 후보 포지션(214)에서, 후보 신호 경로들(232)(또는 집합 후보 신호 경로들(242)) 각각을 수신기(114)에서 수신된 실제 신호(22)로부터 측정된 GNSS 신호 데이터(202)와 비교한다. 이 비교에 기초하여, 최적화기(240)는 후보 포지션(214)에 대응하는 후보 신호 경로들(232)이 실제 신호(22)로부터 측정된 GNSS 신호 데이터(202)와 얼마나 가깝게 매칭되는지를 식별하는 각각의 후보 포지션(214)에 대한 우도(248)(예를 들어, 확률)(예를 들어, 우도(248a-n)로서 도 2c에 도시됨)를 생성할 수 있다. 예를 들어, 수신기(114)에서 수신된 신호(22)에 대한 전파 시간(TOF)으로부터, 수신기(114)는 가시선 신호(22LOS)의 길이가 아니라 반사된 신호(22REF)의 총 길이에 실제로 대응하는 수신기(114)로부터 위성(20)까지의 거리 및 의사 거리를 생성할 수 있다. 따라서, 특정 후보 포지션(214)에서의 후보 신호 경로(232)가 실제 신호(22)와 유사한 전파 시간(TOF)을 야기할 초과 경로 길이(24)를 가질 때, 해당 후보 신호 경로(232)는 실제 신호(22)일 가능성이 있으며; 이는 그 특정 후보 포지션(214)이 수신기(114)의 실제 로케이션(12A)일 가능성이 있다는 것을 의미한다. 이 원리에 기초하여, 최적화기(240)는 후보 포지션들(214)에서 후보 신호 경로들(232)을 비교하여 후보 포지션(214)이 수신기(114)에 대한 실제 로케이션(12A)일 우도(248)를 결정할 수 있다. 일부 예들에서는, 제1 후보 포지션(214a) 주위의 어두운 박스에 의해 도 2b 및 도 2c에 예시된 바와 같이, 최적화기(240)는 또한 가장 큰 우도(248)를 갖는 후보 포지션(214)을 수신기(114)에 대한 실제 로케이션(12A)을 표현하는 후보 포지션(214)으로서 선택하도록 구성된다.
[0070] 도 3a 및 도 3b는 프리컴퓨터(300)의 예들이다. 프리컴퓨터(300)는 미리 신호 경로 모델링을 수행하고 신호 경로 모델링의 결과로 생기는 신호 경로 표현(302)을 GNSS-가능 디바이스(110)에 전달하도록 구성된다. 프리컴퓨터(300)는 일반적으로 그리드 생성기(310), 광선 발사기(320), 및 모델러(330)를 포함한다. 여기서, 그리드 생성기(310)는 온-디바이스 신호 매퍼(200)의 그리드 생성기(210)와 유사하게 기능한다. 그러나, 신호 매퍼(200)의 그리드 생성기(210)와는 달리, 그리드 생성기(310)는 수신기(114)의 추정된 로케이션(12EST)을 수신하지 않는데, 그 이유는 그리드 생성기(310)는 전에 신호 경로 표현(302)을 결정하므로 수신기(114)가 신호(22)를 수신하는 것과 무관하기 때문이다. 추정된 로케이션(12EST) 대신에, 그리드 생성기(310)는 영역 AU(예를 들어, 도시 환경(100)과 같은 도시 영역)를 수신하고 영역 AU를 복수의 후보 포지션들(214)과 유사한 복수의 로케이션들(314)로 분할하도록 구성된다. 여기서, 그리드 생성기(310)는 임의의 소스로부터 영역 AU를 수신하거나 자체적으로 영역 AU를 식별하도록 구성될 수 있다. 그리드 생성기(210)와 매우 유사하게, 그리드 생성기(310)는 복수의 로케이션들(314)을 그리드(312)로서 생성할 수 있다 ― 여기서 그리드(312) 내의 각각의 포인트는 로케이션(314)을 표현한다.
[0071] 또한 신호 매퍼(200)와 유사하게, 프리컴퓨터(300)는 광선 발사기(320)를 포함한다. 그러나 신호 매퍼(200)의 광선 발사기(230)와는 대조적으로, 프리컴퓨터(300)의 광선 발사기(320)는 원격으로(예를 들어, 원격 시스템(140)에서) 동작하고, 디바이스(110)의 리소스들을 처리하는 것에 제한되지 않는다. 이러한 이유로, 프리컴퓨터(300)는 데이터 크기에 충실한(data-size conscientious) 래스터 맵(226)을 광선 발사할 필요가 없다. 오히려, 광선 발사기(320)는 광선 추적기(320)가 개개의 로케이션(314)으로부터 위성(20)으로의 신호 경로들(322)을 식별하는 것을 가능하게 하기 위해 영역 AU의 3차원 공간을 나타내는 임의의 지형 또는 구조 모델에 대해 광선 발사할 수 있다. 광선 발사기(230)와 유사하게, 프리컴퓨터(300)의 광선 발사기(320)는 가상의 포지션(예를 들어, 영역 AU 내의 로케이션(314))을 수신하고 가상의 포지션(예를 들어, 로케이션(314))으로부터 다수의 방향들로부터 광선들을 전파함으로써 위성(20)으로부터의 신호(22)에 대한 경로를 시뮬레이션하도록 구성된다. 각각의 방향으로 전파된 광선들 각각을 발사함으로써, 광선 추적기(320)는 특정 광선이 위성(20)에 대한 알려진 로케이션(예를 들어, 고도 및 방위각)에서 종단되는지를 모델링한다. 특정 광선이 위성(20)에서 종단될 때, 광선 발사기(320)는 광선을 신호 경로(322)로서 식별한다. 광선 발사기(320)가 영역 AU에 대한 광선 발사를 수행하기 때문에, 광선 발사기(320)는 가시선 신호 경로들(322, 322LOS) 및 반사된 신호 경로들(322, 322REF)을 포함할 수 있는 각각의 로케이션(314)에 대한 신호 경로들(322)을 생성한다. 모든 잠재적인 신호 경로들(322)을 캡처하기 위해, 광선 발사기(320)는, 각각의 로케이션(314)에 대해, 각각의 고도에서 각각의 방위각에 대해 광선들을 발사하도록 구성된다. 여기서, 광선 발사기(320)는 로케이션(314)으로부터 바깥쪽으로 방사상으로 0도 내지 360도의 각각의 방위각에서 0도 내지 약 90도의 고도로 광선들을 전파할 수 있다.
[0072] 모델러(330)는 광선 발사기(320)로부터 신호 경로들(322)을 수신하고, 광선 발사기(320)에 의해 식별된 신호 경로들(322)의 공간 효율적이면서도 포괄적인 표현(예를 들어, 신호 경로 표현(302))을 생성하도록 구성된다. 신호 경로 표현(302)은 디바이스(110)에 전달될 것이고, 그에 따라, 그것은 크기에 충실한 표현이다. 예를 들어, 디바이스(110)가 특정 포지션에 대한 요청(160)을 프리컴퓨터(300)에 송신할 때, 프리컴퓨터(300)는 해당 포지션을 로케이션(314)에 매칭시키고, 요청(160)에 대해, 요청된 포지션에 매칭되는 로케이션(314)에 대한 신호 경로 표현(302)으로 응답한다. 이들 요청(160)은 디바이스(110)가 로컬라이제이션을 위해 프리컴퓨터(300)를 이용할 때 빈번히 발생할 수 있으므로, 모델러(330)는 로컬라이제이션을 늦추어 열악한 사용자 경험을 야기하지 않는 표현 크기를 생성하려고 시도한다.
[0073] 일부 예들에서는, 모델러(330)는 모든 위성들 또는 그의 일부 지정된 서브세트에 대해 단일 로케이션(314)에서 신호 경로들(322)을 나타내기 위한 표현(302)을 생성한다. 예를 들어, 도 3a 및 도 3b는 특정 로케이션(314)에 대한 표현(302)을 예시하고 있다. 광선 발사기(320)는 (예를 들어, 가장 가까운 정수도로 반올림된) 각각의 고도당 각각의 방위각에 대한 신호 경로들(322)을 생성했기 때문에, 모델러(330)는 모든 방위각들 및 고도들을 전달하는 표현을 생성한다. 일부 예들에서는, 모델러(330)는 반사된 신호 경로들(322REF)과 가시선 신호 경로들(322LOS)을 구별함으로써 각각의 로케이션(314)에 대한 표현(302)을 생성한다. 모델러(330)가 반사된 신호 경로들(322REF) 모두를 식별하면, 모델러(330)는 반사된 신호 경로들(322REF) 모두를 하나 이상의 방위각 범위(332)로 이산화한다. 이산화란 데이터를 구간들의 유한 집합으로 변환하고 각각의 구간을 어떤 특정 데이터 값과 연관시키는 기법을 지칭한다. 여기서, 이산화 프로세스는 반사된 신호 경로들(322REF)을 방위각 범위들(332)로 이산화한다. 예를 들어, 도 3a 및 도 3b는 3개의 방위각 범위(332, 332a-c)를 묘사하고 있는데, 여기서 제1 방위각 범위(332a)는 280-330도에 대응하고, 제2 방위각 범위(332b)는 70-190도에 대응하고, 제3 방위각 범위(332c)는 25-70도에 대응한다. 모델러(330)는 반사된 신호 경로들(322REF)에 초점을 맞추는데, 그 이유는 표현(302)(또는 빈 공간) 내의 임의의 방위각 범위(332)의 결여는 가시선 신호 경로(322LOS)인 것으로 추론될 수 있기 때문이다. 따라서, 빈 공간 또는 네거티브는 포지티브 공간(즉, 방위각 범위들(332))과 마찬가지로 신호 경로의 타입에 관한 정보를 전달할 수 있다. 이는 압축 기법들이 빈 공간을 압축 또는 제거하는 것을 허용하면서, 특정 로케이션(314)에서 신호 경로들(322)이 어떻게 발생하고 있는지에 대해 빈 공간이 여전히 유의미하게 하는 것을 가능하게 한다.
[0074] 일부 구현들에서는, 각각의 방위각 범위(332)에 대해, 모델러(330)는 하나 이상의 전이 고도(334)를 결정한다 ― 여기서 전이 고도(334)는 반사된 신호 경로(322REF)가 가시선 신호 경로(322LOS)로 전이하는 (예를 들어, 가장 가까운 도로 반올림된) 고도의 정도에 대응한다. 모델러(330)가 하나 이상의 전이 고도(334)를 결정할 때, 모델러(330)는 표현(302)에 하나 이상의 전이 고도(334)를 포함시킬 수 있다. 다시 말해서, 영역 AU(예를 들어, 도시 영역)에서, 건물들(30)이 높을 수 있기는 하지만, 신호 경로가 위성(20)에 대해 방해받지 않게 되는 고도가 존재할 가능성이 있다. 여기서, 신호 경로(322)가 반사되는 것으로부터 가시선으로 변화하는 고도가 전이 고도(334)라고 지칭된다. 도시 환경(100)의 성질로 인해, 동일한 방위각 범위(332) 내의 반사된 신호들(322REF)이 동일한 구조물들로부터 반사되는 경우가 종종 있을 수 있다. 따라서, 전이 고도(334)는 또한 각각의 방위각 범위(332)에 걸쳐 이산화될 수 있다. 예를 들어, 도 3a 및 도 3b는 334, 334a의 제1 전이 고도를 갖는 제1 방위각 범위(332a), 제2 전이 고도(334, 334b)를 갖는 제2 방위각 범위(332, 332b), 및 제3 전이 고도(334, 334c)를 갖는 제3 방위각 범위(332, 332c)를 예시하고 있다. 이산화할 때, 방위각 범위(332) 내의 반사된 신호 경로(322REF) 중에 약간의 변동들이 있을 수 있지만, 이산화 프로세스는 값들의 집합에 대한 범위를 특정 값으로 표현할 수 있다. 예를 들어, 이산화 프로세스는 전이 고도들(334)의 구간을 단일 값으로 표현한다. 다시 말해서, 이산화 프로세스는 특정 구간들에 대해 조정되거나 특정 값들에 따라 구간들을 표현하도록 조정될 수 있다. 예로서, 제1 방위각 범위(332)는 42도, 57도, 및 49도의 전이 고도들(334)을 갖는 3개의 반사된 신호 경로(322REF)를 포함할 수 있다. 여기서, 이산화 프로세스는 40-60도의 고도 사이의 임의의 전이 고도(334)를 50도로 표현할 수 있다.
[0075] 도 3b를 참조하면, 모델러(330)는 또한 각각의 반사된 신호 경로(322REF)에 대한 초과 경로 길이(24)의 지시와 함께 특정 로케이션(314)에 대한 표현(302)을 생성할 수 있다. 예를 들어, 모델러(330)는 그 크기 및/또는 색상이 초과 경로 길이(24)에 대응하는 다각형 영역들로 표현을 생성한다. 방위각 범위(332) 및 전이 고도(334)와 매우 유사하게, 모델러(330)는 또한 반사된 신호 경로들(322REF)의 초과 경로 길이들을 이산화할 수 있다. 연관을 위해, 이 프로세스는 신호 매퍼(200)에서 신호 경로를 집합시키고 상관시키는 전처리와 다소 유사하다. 집합/상관 기법은 일반적으로 효과적인데, 그 이유는 둘 이상의 신호 경로(22)가 아주 근접하여 유사한 초과 경로 길이(24)를 가질 수 있기 때문이다. 여기서, 모델러(330)는 표현(302)에 대해 유사한 접근법을 취하고 이산화 및/또는 다각형 영역들을 이용하여 동일한 방위각 범위(332) 내에서 발생하는 유사한 초과 경로 길이들(24)을 표현할 수 있다. 일부 예들에서는, 모델러(330)는 보로노이 기반 압축을 사용하여 반사된 신호 경로들(322REF)에 대한 초과 경로 길이들(24)을 이산화하여 이산화된 초과 경로 길이들을 다각형 표현들로서 생성한다.
[0076] 전술한 바와 같이, 모델러(330)는 일반적으로 디바이스(110)에 쉽게 전달될 수 있는 표현(302)을 생성하는 것을 목표로 한다. 일부 예들에서는, 표현(302)은 희소 데이터 어레이로서 저장되도록 구성된다. 희소 데이터 어레이로서, 희소 데이터 어레이에 대해 0인 요소들은 표현(302)의 네거티브 공간에 대응할 수 있다. 예를 들어, 희소 데이터 어레이 내의 0 값들은 가시선 신호 경로(322LOS)를 지시하고 또한 반사된 신호 경로(322REF)의 결여를 지시한다(즉, 반사된 신호 경로들(22REF)은 표현(302)에서 포지티브로 표현됨). 표현(302)이 희소 데이터 어레이 데이터 구조를 가짐으로써, 표현(302)은 또한 압축 가능할 수 있어; 표현(302)이 훨씬 더 작은 크기로 디바이스(110)에 전달되는 것을 허용한다.
[0077] 신호 모델링 및 더 특정하게는 신호 경로 길이 모델링(예를 들어, 신호 매퍼(200) 또는 프리컴퓨터(300)에 의한)이 독립적으로 수신기(114)의 실제 로케이션(12A)을 식별하기 위한 접근법일 수 있기는 하지만, 이 접근법은 수신기(114)의 실제 로케이션(12A)의 식별을 더욱 개선하려는 의도로 다른 접근법들과 조합될 수도 있다. 도 4를 참조하면, 그리드 검색기(400)는 복합 손실 함수(예를 들어, 손실 함수(420)로서 도시됨)를 사용하여 검색 그리드(406) 내의 각각의 후보 로케이션(404)에 대한 전체 확률(402)을 생성하는데, 여기서 전체 손실 함수는 둘 이상의 GNSS 로컬라이제이션 기법(예를 들어, 그림자 매칭, 경로 길이 계산, 도플러 효과, 환경 등)으로부터 둘 이상의 손실 함수를 통합한다. 일반적으로 특정 GNSS 로컬라이제이션 기법의 각각의 손실 함수는 측정된 GNSS 신호 데이터(202)와 비교하여 특정 포지션에서의 예측되는 측정치들에 기초하여 수신기(114)가 특정 포지션에 있을 우도 또는 확률을 독립적으로 생성할 수 있다. 둘 이상의 손실 함수를 통합함으로써, 그리드 검색기(400)는 확률들(402)의 그리드(406)를 구성할 수 있다 ― 여기서 그리드(406)의 각각의 후보 로케이션(404)은 둘 이상의 기본적인 확률 또는 우도에 기초하여 그것이 수신기(114)의 실제 로케이션(12A)일 확률(402)을 갖는다. 따라서, 이러한 복합 접근법은 수신기(114)의 실제 로케이션(12A)을 결정하기 위해 단일 타입의 확률에 의존하지 않음으로써 그리드 검색기(400)가 더 강건해지는 것을 가능하게 한다. 더욱이, 이 기법은 GNSS 로컬라이제이션 기법이 잠재적으로 실제 로케이션(12A)인 것처럼 다수의 로케이션들을 생성하는 것으로 보이는 발생 횟수를 저감시킬 수 있다.
[0078] 도 4를 계속 참조하면, 그리드 검색기(400)는 그림자 매처(410) 및 손실 함수(420)를 포함한다. 여기서, 그림자 매처(410)는 후보 로케이션(404)이 실제 로케이션(12A)에 대응할 수 있는 그림자 매칭 확률(412)(즉, 그림자 매칭의 GNSS 로컬라이제이션 기법을 사용하는 제1 확률)을 생성하도록 구성된다. 일부 예들에서는, 그림자 매처(410)는 (예를 들어, 수신기(114)로부터) 측정된 GNSS 신호 데이터(202)를 수신하거나 획득한다. 측정된 GNSS 신호 데이터(202)로부터, 그림자 매처(410)는 측정된 GNSS 신호 데이터(202)에 기초하여 특정 위성(20)으로부터의 신호(22)에 대한 신호 강도를 식별하도록 구성된다. 특정 위성(20)으로부터의 신호(22)에 대한 신호 강도에 기초하여, 그림자 매처(410)는 수신기(114)가 식별된 신호 강도에 대응하는 특정 위성(20)에 대한 신호 강도를 나타낼 수 있는 하나 이상의 후보 로케이션(404)을 결정한다(예를 들어, 측정된 GNSS 신호 데이터(202)로부터). 이 결정을 이용하여, 그림자 매처(410)는 그림자 매칭 확률(412)을 생성할 수 있다. 예를 들어, 그림자 매처(410)는 각각의 후보 로케이션(404)에서, 측정된 GNSS 신호 데이터(202)의 신호 강도가 개개의 후보 포지션(404)에서 수신기(114)에 대한 기대되는 신호 강도와 얼마나 가깝게 매칭되는지를 식별하는 확률(412)을 생성한다. 일부 예들에서는, 그림자 매처(410)는 GNSS 신호 데이터(202)(예를 들어, C/N0 측정치)가 특정 위성(20)에 대해 강한 신호(22)를 지시하는지 약한 신호(22)를 지시하는지를 결정한다. GNSS 신호 데이터(202)가 특정 위성(20)에 대해 강한 신호(22)를 지시할 때, 그림자 매처(410)는 해당 특정 위성(20)에 대한 신호(22)가 강할 그리드(406)의 부분(예를 들어, 하나 이상의 후보 로케이션(404))을 식별한다. 대조적으로, GNSS 신호 데이터(202)가 특정 위성(20)에 대해 약한 신호(22)를 지시할 때, 그림자 매처(410)는 특정 위성(20)에 대한 신호(22)가 약할 그리드(406)의 부분을 식별한다. 이 예에서, 그림자 매처(410)가 특정 위성(20)에 대한 측정된 신호 강도(예를 들어, 높은 측정된 신호 강도)에 매칭되는 해당 특정 위성(20)에 대한 기대되는 신호 강도(예를 들어, 높은 신호 강도)를 갖는 그리드(406)의 부분(예를 들어, 하나 이상의 후보 포지션)을 식별할 경우(예를 들어, 측정된 GNSS 데이터(202)로부터), 그림자 매처(410)는 신호 강도가 높은 상관을 갖는다는 것을 표현하기 위해 높은 확률을 생성한다. 대조적으로, 그림자 매처(410)가 특정 위성(20)에 대한 측정된 신호 강도와 매칭되지 않는 해당 특정 위성(20)에 대한 기대되는 신호 강도를 갖는 그리드(406)의 부분(예를 들어, 하나 이상의 후보 포지션(404))을 식별할 경우, 그림자 매처(410)는 신호 강도가 낮은 상관을 갖는다는 것을 표현하기 위해 낮은 확률을 생성한다.
[0079] 일부 구성들에서는, 그림자 매처(410)는 그림자 매처(410)가 특정 후보 로케이션(404)에서 신호(22)에 대한 신호 강도(예를 들어, 기대되는, 예상되는, 또는 예측되는 신호 강도)를 식별하는 것을 가능하게 하는 구조 맵 또는 지형 맵(예를 들어, 환경(100)의)에 액세스하거나 이를 갖도록 구성된다. 구조 맵을 이용하여, 그림자 매처(410)는 특정 위성(20)에 대한 가시선을 방해할 구조 맵 내의 물체를 식별할 수 있다. 이러한 식별에 기초하여, 그림자 매처(410)는 개개의 물체가 후보 포지션(404)으로부터 특정 위성(20)으로의 가시선을 방해하는지 여부에 기초하여 각각의 후보 포지션(404)을 분류하도록 구성된다. 여기서, 그림자 매처(410)는 개개의 물체가 후보 포지션(404)으로부터 특정 위성(20)으로의 가시선을 방해하는지에 대한 분류에 기초하여 후보 포지션(404)(예를 들어, 각각의 후보 포지션)에서 신호(22)에 대한 예측되는 신호 강도(기대되는 신호 강도라고도 지칭됨)를 생성할 수 있다. 예를 들어, 건물(30)과 같은 물체가 후보 포지션(404)으로의 가시선 신호 경로(22LOS)를 방해할 경우 후보 로케이션(404)에서 위성 신호(22)가 약하다. 예시하자면, 도 4에서, 특정 위성(20)이 태양의 방향을 향하고 있다고 가정하면, 그의 측정된 GNSS 신호 데이터(202)에 대해 약한 신호(22)를 측정하는 수신기(114)가 회색 후보 로케이션(404)에 존재할 가능성이 있는데, 그 이유는 특정 위성(20)이 건물(30)에 의해 차단되기 때문이다. 여기서, 그림자 매처(410)는 신호 강도에 대응하는 둘 이상의 후보 로케이션(404)을 식별하고 백색 후보 로케이션(404)보다 회색 후보 로케이션(404)에 대해 더 큰 그림자 매칭 확률(414)을 생성한다.
[0080] 일부 구현들에서는, 그림자 매처(410)는 적절한 신호 강도를 가질 후보 로케이션들(404)을 식별하기 위해 광선 발사와 함께 작업한다. 일부 예들에서는, 광선 발사기(230, 320)가 그리드(406) 내의 각각의 후보 로케이션(404)에 대한 가시선 확률 값을 그림자 매처(410)에 제공한다. 가시선 확률 값을 이용하여, 그림자 매처(410)는 가시선 확률 값에 기초하여 주어진 후보 포지션(404)에서 특정 위성(20)으로부터의 신호(22)에 대한 기대되는 신호 강도를 결정할 수 있다. 예를 들어, 후보 포지션(404)에서 특정 위성(20)에 대한 가시선 확률 값이 높을 경우, 그림자 매처(410)는 후보 포지션(404)에서, 수신기(114)가 가시선 신호(20LOS)를 수신할 높은 우도로 인해 해당 위성(20)에 대한 기대되는 신호 강도가 이 포지션(404)에서 높을 것이라고 결정한다. 다시 말해서, 가시선 신호(20LOS)는 방향 전환된 신호(20REF)보다 더 높은 신호 강도를 나타낸다. 대조적으로, 후보 포지션(404)에서 특정 위성(20)에 대한 가시선 확률 값이 낮을 경우, 그림자 매처(410)는 후보 포지션(404)에서, 수신기(114)가 가시선 신호(20LOS)를 수신할 낮은 우도로 인해 해당 위성(20)으로부터의 신호(20)에 대한 기대되는 신호 강도가 이 포지션(404)에서 낮을 것이라고 결정한다(즉, 수신기(114)는 가시선 신호(20LOS)보다는 방향 전환된 신호(20REF)를 수신할 가능성이 있다). 이는 광선 발사기(230, 320)가 출력하기가 비교적 쉽고(즉, 계산적으로 적당하고) 또한 그림자 매처(410)에 대한 처리를 단순화하기 때문에 유리할 수 있다.
[0081] 손실 함수(420)는 2개 이상의 손실 함수를 수신하고, 각각의 후보 로케이션(404)에 대해, 입력 확률들/손실 함수들에 기초하여 전체 확률(402)을 생성하도록 구성된다. 예를 들어, 손실 함수(420)는 제1 GNSS 로컬라이제이션 기법(예를 들어, 그림자 매칭 기법)으로부터 제1 확률을 수신하고 제2 GNSS 로컬라이제이션 기법(예를 들어, EPL 계산 기법)으로부터 제2 확률을 수신한다. 도 4의 예에서, 손실 함수(420)는 그림자 매칭 확률(412)(예를 들어, 그림자 매칭 손실 함수를 나타내는) 및 광선 발사기(230, 320)에 의해 결정된 초과 경로 길이(24)에 기초한 의사 거리 잔차 손실 함수를 수신한다. 여기서, 의사 거리 잔차 손실 함수는 측정된 의사 거리 오차(예를 들어, 측정된 GNSS 신호 데이터(202)의 일부)와 주어진 후보 로케이션(404)에서의 기대되는 의사 거리 오차 사이의 차이를 지칭한다. 기대되는 의사 거리 오차는 초과 경로 길이에 기초하는 한편, 측정된 의사 거리 오차는 후보 로케이션(404)에서의 기대되는 의사 거리와 측정된 의사 거리 사이의 차이이다. 예를 들어, 후보 로케이션(404)에서의 기대되는 의사 거리를 생성하기 위해, 후보 로케이션(404)에 대한 초과 경로 길이는 가시선 신호(22LOS)에 기초한 위성(20)과 후보 로케이션(404) 사이의 거리와 조합된다. 여기서, 손실 함수(420)는 광선 발사에 의한 초과 경로 길이(24)를 수신하기 위해 광선 발사기(230)와 통신할 수 있다. 도 4는 그리드 검색기(400)를 예시하고 있고, 더 구체적으로, 손실 함수(420)는 발사기(230)로부터 상관된 초과 경로 길이(246)를 수신한다. 발사기(230)로부터의 상관된 초과 경로 길이(246)를 이용함으로써, 그리드 검색기는 추가 처리를 회피할 수 있는데, 그 이유는 상관된 초과 경로 길이(246)가 후보 포지션(214)에 대한 초과 경로 길이(24)의 단일 표현이기 때문이다. 추가적으로 또는 대안적으로, 복합 손실 함수(420)는 다른 손실 함수들을 수신할 수 있다. 예를 들어, 복합 손실 함수(420)는 이전 로케이션들의 사전 지식을 사용하고 이전 로케이션으로부터 어떤 임계 거리보다 큰(예를 들어, 너무 먼) 후보 로케이션(404)에 페널티를 주는 사전 지식 손실 함수를 수신한다. 일부 예들에서는, 복합 손실 함수(420)는 손실 함수에 대응하는 2개 이상의 확률 그리드를 수신하고 2개 이상의 확률 그리드를 오버레이하여 확률들(402)의 그리드(406)를 구성한다.
[0082] 다시 도 1을 참조하면, 로케이션 시스템(120)은 로케이션 시스템(120)의 클라이언트(150)와 통신하도록 구성된다. 일부 예들에서는, 클라이언트(150)는 수신기(114)에 대한 하드웨어를 생성하는 엔티티(예를 들어, GNSS 칩셋 생산자)를 지칭한다. 로케이션 시스템(120)은 GNSS 칩셋의 성능 또는 칩셋에 대한 개선들에 관한 피드백(122)을 클라이언트(150)에 제공할 수 있다. 피드백(122)을 이용하여, 클라이언트(150)는 제공된 지식에 기초하여 그들의 디바이스들을 개선하는 것이 가능할 수 있다. 클라이언트(150)에 전달될 수 있는 피드백(122)의 일부는 수신기(114)의 로컬라이제이션 정확도, 각각의 가시적인(즉, 이용 가능한) 위성이 광선 발사기(230)에 의해 결정된 바와 같은 가시선일 확률, 신호 매퍼(200) 또는 프리컴퓨터(300)로부터의 초과 경로 길이 정정들, 및 반사된 신호 경로들(322REF)에 대한 반사면 정보(예를 들어, 신호 경로들(322REF)이 어떻게 반사하고 있는지에 대한 수직 높이 표현)를 개선하는 계산된 값들을 포함한다. 클라이언트(150)는 이 피드백(122)을 이용하여 반사된 신호(22REF)를 고려하지 못하는 칩셋에 대한 초기 계산들을 업그레이드하거나 더 도울 수 있다. 예를 들어, 신호가 가시선 신호(22LOS)일 확률을 이용하여, 엔티티는 의사 거리들에 적절한 가중치를 부여하고, 더 나은 속도 추정을 위해 도플러의 가중치를 줄이고, 및/또는 의사 거리들을 평활화할 수 있다. 초과 경로 길이 정정을 이용하여, 클라이언트(150)는 초과 경로 길이들을 통합하여 로케이션 부정확성으로 이어지는 가시선 가정들을 정정할 수 있다. 수신기(114)에 의한 속도 계산을 정정하기 위해 반사면에 관한 정보가 이용될 수 있다.
[0083] 일부 예들에서는, 수신기(114)의 로케이션에 대한 그리드 기반 검색은 일부 불리한 면들을 가질 수 있다. 예를 들어, 로케이션 시스템(120)이 각각의 위성(20)에 대한 단일 초과 경로 길이(24)를 결정할 때, 그리드 기반 방법은 그리드 내에 둘 이상의 최상의 후보를 야기할 수 있다. 예를 들어, 로케이션 시스템(120)이 유사한 초과 경로 길이(24)를 결정하는 여러 로케이션들이 있을 수 있다. 이들과 같은 상황들에서는, 로케이션 시스템(120)은 풀 채널 모델러(500)를 이용함으로써 수신기(114)의 실제 로케이션(12A)에 대한 다수의 솔루션들을 회피할 수 있다. 풀 채널 모델러(500)는 다수의 신호 경로들을 동시에 모델링함으로써 다수의 솔루션들을 갖는 상황을 저감시키거나 최소화할 수 있다. 예를 들어, 풀 채널 모델러(500)는 신호 초과 경로 길이(24)보다는 각각의 위성(20)에 대해 다수의 초과 경로 길이들(24)을 동시에 평가할 수 있다. 여기서, 위성(20)에 대한 신호 경로들의 풀 채널을 모델링하기 위해, 풀 채널 모델러(500)는 무선 스펙트럼의 고해상도 주파수 대역에서 신호들(22)을 수신할 수 있는 로케이션 시스템(120)을 이용한다. 다시 말해서, 종래에는 위성들(20)이 GNSS 통신을 위해 지정된 L-대역의 L1 주파수 대역에서 신호들(22)을 브로드캐스트하였다. 그러나 더 최근에는, 위성들(20)이 GNSS 통신을 위해 지정된 L-대역의 L5 주파수 대역에서 신호들(22)을 브로드캐스팅하도록 진화하였다. 비교를 위해, L5 주파수 대역 내의 GNSS 신호는 L1 주파수 대역 상의 대응하는 신호의 10배의 해상도를 갖는다. 이러한 높은 해상도로 인해, 방향 전환된 신호들(22)이 로케이션 시스템(120)에게 훨씬 더 뚜렷하게 보일 수 있어; 풀 채널 모델러(500)가 각각의 위성(20)으로부터의 신호들(22)의 풀 채널을 모델링하고 모델링된 신호들(22)의 풀 채널을 더 높은 해상도로 GNSS 신호 측정치들(예를 들어, GNSS 신호 데이터(202))과 비교하는 것을 허용한다. 여기서, 신호들(22)의 풀 채널은 관심 주파수 대역(예를 들어, L5 대역)에서 특정 위성(20)으로부터 수신기(114)로의 모든 가능한 경로들을 지칭한다. 신호들(22)의 풀 채널을 정확하게 모델링함으로써, 풀 채널 모델러(500)는 로케이션 시스템(120)에 의한 로컬라이제이션이 더 큰 해상도를 갖고 따라서 수신기(114)의 실제 로케이션(12A)에 대한 다수의 솔루션들을 생성할 더 낮은 우도를 갖는 것을 가능하게 한다.
[0084] 도 5a 및 도 5b를 참조하면, 풀 채널 모델러(500)는 일반적으로 그리드 생성기(510) 및 광선 발사기(520)를 포함한다. 여기서, 그리드 생성기(510)는 온-디바이스 신호 매퍼(200)의 그리드 생성기(210) 및/또는 프리컴퓨터(300)의 그리드 생성기(310)와 유사하게 기능한다. 그리드 생성기(510)는 로케이션 시스템(120)으로부터 추정된 로케이션(12EST)(추정된 포지션이라고도 지칭됨)을 수신하도록 구성된다. 일반적으로, 추정된 로케이션(12EST)은 임의의 투영된 또는 데카르트 좌표들과 같은 포지션의 임의의 표현을 지칭한다. 추정된 로케이션(12EST)은 수신기(114)가, 종래의 GNSS 로컬라이제이션 시스템에 기초하여, 수신기(114)가 위치할 것으로 생각하는 로케이션(12)(예를 들어, 신호(22)에 대한 가시선 가정에 기초한 종래의 로케이션(12CON))에 대응할 수 있다. 다른 예들에서는, 그리드 생성기(510)가 자체적으로 추정된 로케이션(12EST)을 생성한다(예를 들어, 종래의 GNSS 로컬라이제이션에 기초하여). 어느 접근법에서든, 추정된 로케이션(12EST)을 이용하여, 그리드 생성기(510)는 추정된 로케이션(12EST)에 관한(즉, 추정된 로케이션(12EST)에 인접하거나 그로부터 밖으로 퍼지는) 복수의 포지션들을 생성한다 ― 여기서 복수의 포지션들 중 각각의 포지션은 수신기(114)의 실제 로케이션(12A)을 표현할 수 있는 후보 포지션(514)에 대응한다. 일부 예들에서는, 추정된 로케이션(12EST)에 관한 각각의 포지션이 체계적으로 분석되도록 보장하기 위해, 그리드 생성기(510)는 복수의 후보 포지션들(514)을 그리드(512)로서 생성한다 ― 여기서 그리드(512) 내의 각각의 포인트는 후보 포지션(514)을 표현한다. 예를 들어, 도 5a는 그리드(212)를 예시하고 있는데, 여기서 그리드(512)의 중심은 추정된 로케이션(12EST)이고, 추정된 로케이션(12EST)에 관한 각각의 방향으로(예를 들어, 북쪽으로, 남쪽으로, 동쪽으로, 및 서쪽으로) 후보 포지션들(514)이 생성된다. 그리드(512), 또는 더 일반적으로는 복수의 후보 포지션들(514)은 수신기(114)가 지구의 표면에 평행한 평면 상에 위치할 수 있는 잠재적인 로케이션들을 표현한다.
[0085] 또한, 신호 매퍼(200) 및 프리컴퓨터(300)와 유사하게, 풀 채널 모델러(500)는 광선 발사기(520)를 포함한다. 여기서, 광선 발사기(520)는 광선 발사기(520)가 개개의 포지션(514)으로부터 위성(20)으로의 신호 경로들(522)을 식별하는 것을 가능하게 하기 위해 영역의 3차원 공간(예를 들어, 그리드 영역)을 나타내는 임의의 지형 또는 구조 모델을 이용하여 광선 발사할 수 있다. 광선 발사기들(230, 320)과 유사하게, 광선 발사기(520)는 가상의 포지션(예를 들어, 영역 또는 그리드(512) 내의 포지션(514))을 수신하고 가상의 포지션(예를 들어, 로케이션(314))으로부터 다수의 방향들로부터의 광선들을 전파함으로써 위성(20)으로부터의 신호(22)에 대한 경로를 시뮬레이션하도록 구성된다. 각각의 방향으로 전파된 광선들 각각을 발사함으로써, 광선 발사기(520)는 특정 광선이 위성(20)에 대한 알려진 로케이션(예를 들어, 고도 및 방위각)에서 종단되는지를 모델링한다. 특정 광선이 위성(20)에서 종단될 때, 광선 발사기(520)는 광선을 신호 경로(522)로서 식별한다. 광선 발사기(520)는 가시선 신호 경로들 및/또는 방향 전환된 신호 경로들(예를 들어, 반사된 신호 경로들)을 포함할 수 있는 각각의 포지션(514)에 대한 신호 경로들(522)을 생성할 수 있다. 일부 구성들에서는, 모든 잠재적인 신호 경로들(522)을 캡처하기 위해, 광선 발사기(520)는 각각의 포지션(514)에 대해, 각각의 고도(또는 그의 어느 도)에서 각각의 방위각에 대해 광선들을 발사하도록 구성된다.
[0086] 광선 발사의 결과로서, 광선 발사기(520)는 수신기(114)에 의해 수신된 신호(들)(22)에 대응할 수 있는 하나 이상의 후보 신호 경로(522, 522a-n)를 결정하도록 구성된다. 각각의 후보 신호 경로(522)에 대해, 광선 발사기(520)는 또한 경로 특성들을 생성할 수 있다(예를 들어, 광선 발사기(230)와 매우 유사하게). 경로 특성들의 일부 예들은 경로 타입(예를 들어, 가시선 또는 반사된), 후보 신호 경로(522)를 따른 감쇠(예를 들어, 경로 중에 발생하는 반사 횟수), 초과 경로 길이(24), 후보 신호 경로(522)를 따른 산란 각도들의 합, 및 다른 산란 정보를 포함한다. 여기서, 최적화기(240)와 같은 후보 신호 경로들(522)을 최적화하는 대신에, 풀 채널 모델러(500)의 광선 발사기(520)는 주어진 포지션(514)에서 후보 신호 경로들(522) 모두의 모델링된 표현(524)을 생성하도록 구성된다. 예를 들어, 광선 발사기(520)는 초과 경로 길이 벡터(526)가 광선 발사기(520)에 의해 식별된 각각의 후보 신호 경로(522)에 대한 초과 경로 길이(24)를 포함하는 모델링된 표현(524)으로서 초과 경로 길이 벡터(526)를 생성한다. 예시하자면, 도 5a는 주어진 포지션(514)에서 광선 발사기(520)가 각각의 위성(20)에 대한 다수의 후보 신호 경로들(522, 522a-n)을 식별하는 것을 묘사하고 있다. 여기서, 광선 발사에 기초하여 수신기(114)에 이용 가능한 것으로 보이는 3개의 위성(20)(예를 들어, Sat1, Sat2, Sat7로서 도시됨)이 있고, 각각의 위성(20)은 그들의 초과 경로 길이(24)에 의해 표현되는 하나 이상의 후보 신호 경로(522)를 포함하는 그 자신의 초과 경로 길이 벡터(526, 526a-c)를 가질 수 있다. 특정 포지션(514)에서 각각의 위성(20)에 대한 초과 경로 길이 벡터(526)와 같은 표현(524)을 생성함으로써, 풀 채널 모델러(500)는 모델링된 표현(524)(예를 들어, 초과 경로 길이 벡터(526))을 로케이션 시스템(120)(예를 들어, 수신기(114))에 의해 수신된 실제 GNSS 측정치들(예를 들어, GNSS 신호 데이터(202))과 비교할 수 있다. 로케이션 시스템(120)은 수신된 신호들(22)이 고해상도일 때(예를 들어, L5 대역에서) 풀 채널 모델러(500)를 사용하므로, 모델러(500)는 다수의 후보 신호 경로들(522)의 표현(524)을 다수의 GNSS 신호 측정치들과 비교할 수 있다. (예를 들어, 후보 포지션들(514)의 그리드(512)의) 모든 포지션들(514)에 대한 이러한 비교에 기초하여, 풀 채널 모델러(500)는 모든 잠재적인 포지션들(514) 중 모델링된 표현(524)과 실제 GNSS 측정치들 사이에 최적 적합(best fit)을 갖는 포지션(514)을 결정한다. (여기서, 모델러(500)는 최적 적합(또는 가장 가까운 매칭)을 갖는 포지션(514)을 수신기(114)의 가능한 실제 로케이션(12A)로서 식별할 수 있다. 일부 예들에서는, 모델러(500)는 모델링된 표현(524)과 실제 GNSS 측정치들 사이의 비교에 기초하여 각각의 포지션(514)에 대한 우도를 생성하도록 구성된다. 이들 예에서는, 모델러(500)는 모든 포지션들(514) 중 가장 큰 우도를 갖는 포지션(514)을 수신기(114)의 실제 로케이션(12A)로서 선택할 수 있다.
[0087] 도 5a와 같은 일부 예들에서는, 모델러(500)는 광선 발사기(520)로부터의 모델링된 표현(524)과 실제 GNSS 측정치들 사이의 비교를 수행하도록 구성되는 상관기(530)를 또한 포함한다. 여기서, 상관기(530)는 광선 발사기(520)로부터의 모델링된 표현(524)과 실제 GNSS 측정치 사이의 비교를 수행하기 위해 신호(22)에 대한 의사 거리를 결정하기 위해 사용되는 종래의 상관 기법들을 적응시킬 수 있다. 일반적으로 말하면, 종래의 기법들은 수신된 신호(22)와 수신된 신호(22)의 로컬로 생성된 복제본 사이의 상관 결과의 피크 및 피크에 대응하는 지연을 검출함으로써, 의사 거리로 알려진, 위성(20)으로부터 수신기(114)까지의 거리를 측정한다. 종래의 접근법에서는, 의사 거리는 이 상관 결과의 첫 번째 검출된 피크 또는 첫 번째 측정된 피크에 대응한다. 여기서, GNSS 측정치들에 기초하여 다수의 피크들이 존재한다 할지라도, 종래의 접근법은 전형적으로 첫 번째 검출된 또는 측정된 피크만을 의사 거리로서 간주하는 반면, 일반적으로 방향 전환된 신호 경로들에서 유래하는, 임의의 트레일링 또는 후속 피크들은 일반적으로 무시된다. 다른 피크들을 무시함으로써, 종래의 접근법은 수신기(114)의 실제 로케이션(12A)을 결정하는 데 유용할 수 있는 상관 정보를 무시한다. 예를 들어, 이 무시된 상관 정보는 광선 발사기(520)로부터의 모델링된 표현(524)과 실제 GNSS 측정치들 사이의 보다 심층적인 비교를 수행하기 위한 추가적인 정보를 제공할 수 있다. 보다 심층적인 비교를 수행함으로써, 모델러(500)는 수신기(114)에 대한 2개 이상의 잠재적인 로케이션들을 구별할 수 있다.
[0088] 상관기(530)는 위성(20)으로부터 GNSS 신호들(22)을 수신하고 상관 연산을 수행하여 위성(20)으로부터 수신된 GNSS 신호들에 대한 GNSS 신호 측정치들(예를 들어, GNSS 신호 데이터(202))에 기초하여 측정된 상관 벡터(532)를 생성하도록 구성된다. 예를 들어, 상관 벡터(532)는 하나 이상의 신호(22)(예를 들어, 특정 위성(20)으로부터의 모든 신호들)에 대한 상관 연산 동안 가능한 모든 신호 지연들의 응답을 지칭한다. 여기서, 도 5a의 점선 박스에 도시된 바와 같이, 상관 연산은 수신된 신호(들)(22)의 로컬 복사본을 생성하고 상관 연산이 하나 이상의 피크(예를 들어, 단순화를 위해 점선 박스에서 하나의 피크로서 도시됨)를 식별할 때까지 수신된 신호(들)(22)를 따라 로컬 복사본을 시프트시킨다. 신호(22)가 L5 대역 주파수를 가질 경우, 상관기(530)는 L1 주파수 신호의 확산 코드보다 더 높은 레이트를 갖는 확산 코드를 갖는 신호(22)를 수신한다. 더 높은 레이트로, 상관기(530)가 피크를 식별하기 위해 로컬 복사본을 시프트시켜야 하는(예를 들어, 지연에 대응하는) 양은 일반적으로 더 낮은 레이트와 비교할 때 더 적으며, 이는 상관기(530)가 잠재적으로 특정 위성(20)으로부터 수신된 신호들(22)로부터 일정 기간 동안 더 많은 수의 이산 피크들을 식별할 수 있음을 의미한다.
[0089] 일부 예들에서는, 상관기(530)는 하나 이상의 측정된 상관 벡터(532)를 모델링된 표현(524)과 비교하기 위해 각각의 위성(20)(예를 들어, 이용 가능한 위성)에 대한 측정된 상관 벡터(532)를 결정한다. 일부 구현들에서는, 상관기(530)는 모델링된 표현(524)을 측정된 상관 벡터(532)와 모델링된 표현(524) 사이의 비교를 촉진하는 포맷으로 변환하도록 구성된다. 예를 들어, 모델링된 표현(524)이 특정 포지션(514)에서 특정 위성(20)에 대한 초과 경로 길이 벡터(526)일 때, 상관기(530)는 특정 포지션(514)에서 특정 위성(20)에 대한 초과 경로 길이 벡터(526)와 동일한 위성(20)에 대한 측정된 상관 벡터(532) 사이의 상관 연산을 수행할 수 있다(즉, 벡터 대 벡터 비교). 예를 들어, 도 5a는 상관기(530)가 로케이션 시스템(120)에서 실제 수신된 GNSS 측정치들에 기초하여 제1 실제 초과 경로 길이 EPL1A 및 제2 초과 경로 길이 EPL2A로서 도시된 2개의 피크를 포함하는 측정된 상관 벡터(532)를 식별하는 것을 묘사하고 있다. 여기서, 상관기(530)는 이 측정된 상관 벡터(532)를 플롯하고 측정된 상관 벡터(532)의 플롯된 표현을 모델링된 표현(524)(예를 들어, 초과 경로 길이 벡터(526))과 비교한다. 이 예에서, 초과 경로 길이 벡터(526)는 광선 발사기(520)에 의해 식별된 후보 신호 경로들(522)에 대응하는 2개의 모델링된 초과 경로 길이 EPL1M 및 EPL2M을 포함한다. 여기서, 상관기(530)는 특정 포지션(514)에서 특정 위성(20)에 대한 측정된 상관 벡터(532)와 모델링된 표현(524) 사이의 차이를 식별하기 위한 함수로서 상관 연산을 수행하도록 구성된다. 다시 말해서, 상관 연산은 모델링된 표현(524)이 특정 포지션(514)에서 상관 벡터(532)와 얼마나 가깝게 매칭되는지를 표현하거나 식별하는 손실 함수(즉, 포지션(514)에 대한 로컬 손실 또는 최적 적합 함수)로서 동작할 수 있다.
[0090] 도 5a에 묘사된 예에서 알 수 있는 바와 같이, 상관 연산은 모델링된 표현(524)과 측정된 상관 벡터(532) 사이의 상관(534)을 야기한다. 상관(534)은 2개의 함수(예를 들어, 모델링된 표현(524) 및 측정된 상관 벡터(532)) 사이의 차이 또는 변화를 표현하는 다양한 통계적 접근법들로부터 형성될 수 있다. 이들 통계적 접근법은 단순한 차이에서 2개의 함수 사이의 분산 또는 표준 편차(예를 들어, 잔차 제곱합)를 표현하는 보다 복잡한 회귀 모델링 전술들에 이르기까지 다양할 수 있다. 예로서, 도 5a는 모델링된 표현(524)과 측정된 상관 벡터(532) 각각의 플롯된 표현들 사이의 차이로서 상관(534)을 묘사하고 있다. 상관(534)은 모델러(500)가 모델링된 표현(524)과 특정 포지션(514)에서 측정된 상관 벡터(532) 사이의 대표적인 손실 또는 차이로서 이용할 수 있는 최대값(예를 들어, 도 5a에서 "X"가 있는 점으로 도시됨)과 같은 극값을 식별할 수 있다. 일부 구성들에서는, 후보 포지션(514)의 그리드(512)의 각각의 포지션(514)에서의 대표적인 손실을 이용하여, 모델러(500)는 그 후 모델링된 표현(524)과 측정된 상관 벡터(532)가 가장 가깝게 매칭되는 포지션(514)으로서 최저 손실을 갖는 포지션(514)을 선택할 수 있다.
[0091] 특정 포지션(514)에서 모든 위성들(20)에 대한 전체 채널을 모델링하고 이 모델링된 결과 (예를 들어, 모델링된 표현(524))를 수신기(114)에 의해 수신된 GNSS 신호 데이터 모두와 비교함으로써, 풀 채널 모델러(500)는 수신기(114)의 실제 로케이션(12A)을 예측하기 위해 각각의 위성에 대해 풀 채널 미만을 모델링하거나 풀 채널 미만을 사용할 수 있는 다른 기법들과 비교하여 모델러(500)가 선택하는 포지션(514)이 수신기(114)에 대한 실제 로케이션(12A)일 우도를 증가시킨다. 일부 구성들에서는, 풀 채널 모델링 프로세스는 로케이션 시스템(120)이 (보다 전통적인 로컬라이제이션 시스템들과 같이) 다수의 위성들(20)을 반드시 사용할 필요 없이 단일 위성(20)으로부터 수신기(114)의 실제 로케이션(12A)을 예측하는 것을 허용할 수 있다. 이는 풀 채널 모델링 프로세스가 특정 위성(20)에 대한 신호 데이터를 측정하기 위해 위성(20)에 대한 모델링된 표현을 비교할 때 다수의 데이터 포인트들을 사용한다는 사실에 기여할 수 있다.
[0092] 도 5b에 도시된 바와 같은 일부 구현들에서는, 각각의 포지션(514)에서 각각의 위성(20)에 대한 상관 연산을 수행하는 대신, 상관기(530)는 이용 가능한 모든 위성(20)에 대해 측정된 상관 벡터들(532)을 연결(concatenate)하여 신호 측정치들의 전체 채널을 표현하는 연결된 상관 벡터(536)를 형성하도록 구성된다. 예를 들어, 도 5b는 상관기(530)가 2개의 위성(20)(예를 들어, Sat1 및 Sat7로서 도시됨)에 대응하는 신호 측정치들에 기초하여 연결된 상관 벡터(536)를 생성하는 것을 예시하고 있다. 여기서, 제1 위성 Sat1은 수신기(114)가 3개의 측정된 피크(예를 들어, 실제 측정된 초과 경로 길이에 대응함)로서 수신하는 신호(22)를 브로드캐스트하였고 제2 위성 Sat7은 수신기(114)가 2개의 측정된 피크로서 수신하는 신호(22)를 브로드캐스트하였다. 더욱이, 모든 위성들(20)(예를 들어, 모든 이용 가능한 위성들)에 대한 이 연결된 상관 벡터(536)를 특정 포지션(514)에서 모델링된 표현(524)과 비교하기 위해, 상관기(530)는 또한 해당 특정 포지션(514)의 모델링된 표현(524)을 연결시킬 수 있다. 예를 들어, 모델링된 표현(524)이 특정 포지션(514)에서 다수의 위성들(20)에 대한 초과 경로 길이 벡터들(526)에 대응할 때, 상관기(530)는 포지션(514)에서 모든 위성들(20)에 대한 연결된 상관 벡터(534)와의 비교를 위해 이들 초과 경로 길이 벡터(526) 모두를 함께 연결시킨다. 도 5b는 주어진 포지션(514)에서 동일한 2개의 위성(20)(예를 들어, Sat1 및 Sat7)에 대한 후보 신호 경로들(522)을 포함하는 모델링된 표현(524)을 묘사하고 있다. 여기서, 모델링된 표현(524)은 제1 위성 Sat1에 대한 3개의 모델링된 초과 경로 길이 EPL1-3M 및 제2 위성 Sat7에 대한 2개의 모델링된 초과 경로 길이 EPL4-5M을 포함한다. 상관기(530)는 그 후 주어진 포지션(514)에서의 모든 위성들에 대한 상관 연산을 수행하여(예를 들어, 로컬 손실 함수로서) 특정 포지션(514)에서의 모든 이용 가능한 위성들(20)에 대한 측정된 상관 벡터들(532)과 모델링된 표현(524) 사이의 차이를 생성할 수 있다. 일부 예들에서는, 모델러(500)는 그 후 수신기(114)의 실제 로케이션(12A)을 모든 위성들(20)에 대한 연결된 상관 벡터(536)가 모든 위성들(20)에 대한 초과 경로 길이 벡터(526, 526a-b)와 가장 가깝게 매칭되는 포지션(514)으로서 식별한다. 예를 들어, 모델러(500)는 수신기(114)의 실제 포지션(12A)을 모든 포지션들(514) 중 최적의 로컬 손실을 갖는 포지션(514)으로서 식별하는 글로벌 손실 함수를 이용한다.
[0093] 일부 구성들에서는, 풀 채널 모델러(500)로부터의 손실 함수는 수신기(114)의 실제 로케이션(12A)을 식별하기 위해 다른 손실 함수들과 조합될 수 있다. 예를 들어, 모델러(500)의 손실 함수는 손실 함수(420)에 통합될 수 있다. 일부 예들에서는, 모델러(500)의 손실 함수는, 신호 강도에 대한 손실 함수 또는 반송파-잡음 밀도비들에 기초한 손실 함수와 같은, 다른 손실 함수들과 조합되거나 이들을 통합할 수 있다. 이는, 잠재적으로, 더 큰 정확도 및 신뢰도를 위해 로컬라이제이션 기법들이 혼합되는 것을 허용할 수 있다.
[0094] 도 6은 온-디바이스로 신호 경로들을 계산하는 방법(600)에 대한 동작들의 예시적인 배열의 흐름도이다. 동작 602에서는, 방법(600)은, 디바이스(110)에서, 환경(100) 내의 GNSS 수신기(114)에 대한 추정된 로케이션(12EST)을 수신한다. 동작 604에서는, 방법(600)은 GNSS 수신기(114)에 대한 추정된 로케이션(12EST)에 관한 복수의 후보 포지션들(214)을 생성한다 ― 여기서 복수의 후보 포지션들(214)의 각각의 후보 포지션(214)은 GNSS 수신기(114)의 가능한 실제 로케이션(12A)에 대응한다. 동작 606에서는, 방법(600)은, 복수의 후보 포지션들(214)의 각각의 후보 포지션(214)에서 각각의 이용 가능한 위성(20)에 대해, 환경(100)에 대한 지리적 데이터(222)의 래스터 맵(226)을 광선 발사함으로써 복수의 후보 신호 경로들(232)을 모델링한다. 여기서, 복수의 후보 신호 경로들(232)은 하나 이상의 반사된 신호 경로(232)를 포함한다. 복수의 후보 포지션들(214)의 각각의 후보 포지션(214)에서, 방법(600)은, 동작들(608, 608a-b)에서는, 개개의 후보 포지션(214)에서 각각의 이용 가능한 위성(20)에 대해 모델링된 상기 복수의 후보 신호 경로들(232)을 GNSS 수신기(114)로부터의 측정된 GNSS 신호 데이터(202)와 비교하고 개개의 후보 포지션(214)에서 각각의 이용 가능한 위성(20)에 대해 모델링된 상기 복수의 후보 신호 경로들(232)과 GNSS 수신기(114)로부터의 측정된 GNSS 신호 데이터(202)의 비교에 기초하여 개개의 후보 포지션(214)이 GNSS 수신기(114)의 실제 로케이션(12A)을 포함할 우도(248)를 생성한다.
[0095] 도 7은 신호 경로들을 원격으로 계산하는 방법(700)에 대한 동작들의 예시적인 배열의 흐름도이다. 동작 702에서는, 방법(700)은 위성(20)으로부터의 GNSS(Global Navigation Satellite Systems) 신호(22)를 반사시킬 가능성이 있는 하나 이상의 구조물을 갖는 영역 AU를 식별한다. 동작 704에서는, 방법(700)은 영역 AU를 복수의 로케이션들(314)로 분할한다. 동작 706은 각각의 이용 가능한 위성(20)에 대한 복수의 로케이션들(314)의 각각의 로케이션(314)에서 발생하는 3개의 동작 706a-c의 서브세트들을 포함한다. 동작 706a에서는, 방법(700)은 개개의 로케이션(314)으로부터 개개의 이용 가능한 위성(20)으로 광선 발사함으로써 복수의 신호 경로들(322)을 생성한다 ― 여기서 복수의 신호 경로들(322)은 하나 이상의 가시선 신호 경로(322, 322LOS) 및 하나 이상의 반사된 신호 경로(322, 322REF)를 포함한다. 동작 706b에서는, 방법(700)은 모든 반사된 신호 경로들(322REF)을 하나 이상의 방위각 범위(332)로 이산화한다. 동작 706b에서는, 하나 이상의 방위각 범위(332)의 각각의 방위각 범위(332)에 대해, 방법(700)은 하나 이상의 전이 고도(334)를 결정한다 ― 여기서 하나 이상의 전이 고도(334)의 각각의 전이 고도(334)는 개개의 방위각 범위(332) 내의 개개의 반사된 신호 경로(322REF)가 가시선 신호로 전이하는 고도의 정도에 대응한다. 복수의 로케이션들(314)의 각각의 로케이션(314)에서, 동작 708에서는, 방법(700)은 복수의 신호 경로들(322)에 대한 신호 경로 표현(302)을 생성한다 ― 여기서 신호 경로 표현(302)은 모든 반사된 신호 경로들(322REF)에 대한 하나 이상의 방위각 범위(332) 및 하나 이상의 방위각 범위(332)의 각각의 방위각 범위(332)와 연관된 하나 이상의 전이 고도(334)를 포함한다.
[0096] 도 8은 복수의 GNSS 로컬라이제이션 기법들을 이용하여 로케이션 우도를 생성하는 방법(800)에 대한 동작들의 예시적인 배열의 흐름도이다. 동작 802에서는, 방법(800)은 GNSS-가능 디바이스(110)에서, 환경(100) 내의 GNSS 수신기(114)에 대한 추정된 로케이션(12EST)을 수신한다. 동작 804에서는, 방법(800)은 GNSS 수신기(114)에 대한 추정된 로케이션(12EST)에 관한 복수의 후보 포지션들(404)을 생성한다 ― 여기서 복수의 후보 포지션들(404)의 각각의 후보 포지션(404)은 GNSS 수신기(114)의 가능한 실제 로케이션(12A)에 대응한다. 동작 806은 GNSS 수신기(114)에 대한 추정된 로케이션(12EST)에 관한 복수의 후보 포지션들(404)의 각각의 후보 포지션(404)에서 발생하는 3개의 서브-동작 806, 806a-806c를 포함한다. 동작 806a에서는, 방법(800)은, 제1 GNSS 로컬라이제이션 기법(예를 들어, 그림자 매칭 기법)을 이용하여, 개개의 후보 포지션(404)이 GNSS 수신기(114)의 실제 로케이션(12A)일 제1 확률(예를 들어, 그림자 매칭 확률(412))을 결정한다. 동작 806b에서는, 방법(800)은, 제1 GNSS 로컬라이제이션 기법과 상이한 제2 GNSS 로컬라이제이션 기법을 이용하여, 개개의 후보 포지션(404)이 GNSS 수신기(114)의 실제 로케이션(12A)일 제2 확률(예를 들어, 의사 거리 잔차 손실 함수에 의해 표현됨)을 결정한다. 동작 806c에서는, 방법(800)은 제1 GNSS 로컬라이제이션 기법을 이용하여 생성된 제1 확률(예를 들어, 그림자 매칭 확률(412)) 및 제2 GNSS 로컬라이제이션 기법을 이용하여 생성된 제2 확률에 기초하여 개개의 후보 포지션(404)이 GNSS 수신기(114)의 실제 로케이션(12A)일 전체 확률(402)을 생성한다.
[0097] 도 9는 신호들의 풀 채널을 모델링하는 방법(900)에 대한 동작들의 예시적인 배열의 흐름도이다. 동작 902에서는, 각각의 이용 가능한 위성(20)에 대해, 방법(900)은 환경(100) 내의 GNSS 수신기(114)에 의해 수신된 각각의 신호 경로에 대한 GNSS 신호 측정치를 수신한다. 동작 904에서는, 방법(900)은 환경(100) 내의 GNSS 수신기(114)의 로케이션(12A)에 대한 추정된 로케이션(12EST)을 설정한다. 동작 906에서는, 방법(900)은 GNSS 수신기(114)에 대한 추정된 로케이션(12EST)에 관한 복수의 후보 포지션들(514)을 생성한다. 여기서, 복수의 후보 포지션들(514)의 각각의 후보 포지션(514)은 GNSS 수신기(114)의 가능한 실제 로케이션(12A)에 대응한다. 동작 908에서는, 방법(900)은 복수의 후보 포지션들(514)의 각각의 후보 포지션(514)에 대해 동작들 908, 908a-b를 수행한다. 동작 908a에서는, 방법(900)은 각각의 이용 가능한 위성(20)의 수신된 GNSS 신호 측정치들에 대한 의사 거리를 표현하는 상관 벡터(532)를 생성한다. 동작 908b에서는, 방법(900)은 개개의 후보 포지션(514)으로부터 각각의 개개의 이용 가능한 위성(20)의 포지션으로의 광선 발사에 기초하여 초과 경로 길이 벡터(526)를 생성한다. 동작 910에서는, 복수의 후보 포지션들(514)의 모든 후보 포지션들(514)에 기초하여, 방법(900)은 GNSS 수신기(114)의 실제 포지션(12A)을, 상관 벡터(532)가 초과 경로 길이 벡터(526)와 가장 가깝게 매칭되는 개개의 후보 실제 포지션(514)으로서 식별한다.
[0098] 도 10은 이 문서에서 설명된 시스템들(예를 들어, 로케이션 시스템(120), 신호 매퍼(200), 프리컴퓨터(300), 그리드 검색기(400), 및/또는 모델러(500)) 및 방법들(예를 들어, 방법들(600, 700, 800, 900))을 구현하기 위해 사용될 수 있는 예시적인 컴퓨팅 디바이스(1000)의 개략도이다. 컴퓨팅 디바이스(1000)는 랩톱들, 데스크톱들, 워크스테이션들, 개인 휴대 정보 단말기들, 서버들, 블레이드 서버들, 메인프레임들, 및 다른 적절한 컴퓨터들과 같은 다양한 형태들의 디지털 컴퓨터들을 표현하도록 의도된다. 여기에 도시된 컴포넌트들, 그들의 접속들 및 관계들, 및 그들의 기능들은 단지 예시적인 것으로 의도되며, 본 문서에서 설명 및/또는 청구된 발명들의 구현들을 한정하는 것으로 의도되지 않는다.
[0099] 컴퓨팅 디바이스(1000)는 프로세서(1010)(예를 들어, 데이터 처리 하드웨어), 메모리(1020)(예를 들어, 메모리 하드웨어), 저장 디바이스(1030), 메모리(1020) 및 고속 확장 포트들(1050)에 접속하는 고속 인터페이스/컨트롤러(1040), 및 저속 버스(1070) 및 저장 디바이스(1030)에 접속하는 저속 인터페이스/컨트롤러(1060)를 포함한다. 컴포넌트들(1010, 1020, 1030, 1040, 1050, 및 1060) 각각은 다양한 버스들을 사용하여 상호접속되고, 공통 마더보드 상에 또는 적절한 경우 다른 방식들로 장착될 수 있다. 프로세서(1010)는 고속 인터페이스(1040)에 결합된 디스플레이(1080)와 같은 외부 입력/출력 디바이스 상에 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 디스플레이하기 위해 메모리(1020)에 또는 저장 디바이스(1030) 상에 저장된 명령어들을 포함하여, 컴퓨팅 디바이스(1000) 내에서 실행하기 위한 명령어들을 처리할 수 있다. 다른 구현들에서는, 다수의 프로세서들 및/또는 다수의 버스들이, 적절한 경우, 다수의 메모리들 및 메모리 타입들과 함께 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(1000)이 연결될 수 있고, 각각의 디바이스는 필요한 동작들의 부분들을 제공한다(예를 들어, 서버 뱅크, 블레이드 서버들의 그룹, 또는 멀티-프로세서 시스템으로서).
[00100] 메모리(1020)는 컴퓨팅 디바이스(1000) 내에 비일시적으로 정보를 저장한다. 메모리(1020)는 컴퓨터 판독 가능 매체, 휘발성 메모리 유닛(들), 또는 비휘발성 메모리 유닛(들)일 수 있다. 비일시적 메모리(1020)는 컴퓨팅 디바이스(1000)에 의한 사용을 위해 일시적으로 또는 영구적으로 프로그램들(예를 들어, 명령어들의 시퀀스들) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하기 위해 사용되는 물리적 디바이스들일 수 있다. 비휘발성 메모리의 예들은 플래시 메모리 및 ROM(read-only memory)/PROM(programmable read-only memory)/EPROM(erasable programmable read-only memory)/EEPROM(electronically erasable programmable read-only memory)(예를 들어, 부트 프로그램들과 같은 펌웨어를 위해 전형적으로 사용됨)를 포함하지만, 이에 제한되지는 않는다. 휘발성 메모리의 예들은 RAM(random access memory), DRAM(dynamic random access memory), SRAM(static random access memory), PCM(phase change memory)뿐만 아니라 디스크들 또는 테이프들을 포함하지만, 이에 제한되지는 않는다.
[00101] 저장 디바이스(1030)는 컴퓨팅 디바이스(1000)에 대한 대용량 저장소를 제공할 수 있다. 일부 구현들에서는, 저장 디바이스(1030)는 컴퓨터 판독 가능 매체이다. 다양한 상이한 구현들에서는, 저장 디바이스(1030)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광학 디스크 디바이스, 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 솔리드 스테이트 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 구성들에서의 디바이스들을 포함하는 디바이스들의 어레이일 수 있다. 추가적인 구현들에서는, 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 구현된다. 컴퓨터 프로그램 제품은, 실행될 때, 위에 설명된 것들과 같은, 하나 이상의 방법을 수행하는 명령어들을 포함한다. 정보 캐리어는, 메모리(1020), 저장 디바이스(1030), 또는 프로세서(1010) 상의 메모리와 같은, 컴퓨터 또는 기계 판독 가능 매체이다.
[00102] 고속 컨트롤러(1040)는 컴퓨팅 디바이스(1000)에 대한 대역폭 집약적 동작들을 관리하는 반면, 저속 컨트롤러(1060)는 더 낮은 대역폭 집약적 동작들을 관리한다. 그러한 임무들의 할당은 단지 예시적이다. 일부 구현들에서는, 고속 컨트롤러(1040)는 메모리(1020), 디스플레이(1080)에 결합되고(예를 들어, 그래픽 프로세서 또는 가속기를 통해), 또한 다양한 확장 카드들(도시되지 않음)을 수용할 수 있는 고속 확장 포트들(1050)에 결합된다. 일부 구현들에서는, 저속 컨트롤러(1060)는 저장 디바이스(1030) 및 저속 확장 포트(1090)에 결합된다. 다양한 통신 포트들(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)을 포함할 수 있는 저속 확장 포트(1090)는, 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입력/출력 디바이스에 결합되거나, 또는 예를 들어, 네트워크 어댑터를 통해, 스위치 또는 라우터와 같은 네트워킹 디바이스에 결합될 수 있다.
[00103] 컴퓨팅 디바이스(1000)는, 도면에 도시된 바와 같이, 다수의 상이한 형태들로 구현될 수 있다. 예를 들어, 그것은 표준 서버(1000a)로서 또는 그러한 서버들(1000a)의 그룹에서 여러 번, 랩톱 컴퓨터(1000b)로서, 또는 랙 서버 시스템(1000c)의 일부로서 구현될 수 있다.
[00104] 본 명세서에 기술된 시스템들 및 기법들의 다양한 구현들은 디지털 전자 및/또는 광학 회로, 집적 회로, 특수 설계된 ASIC(application specific integrated circuit)들, 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합들에서 실현될 수 있다. 이들 다양한 구현은 데이터 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령어들을 수신하고, 데이터 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스에 데이터 및 명령어들을 전송하도록 결합된, 특수 목적 또는 범용일 수 있는, 적어도 하나의 프로그램 가능한 프로세서를 포함하는 프로그램 가능한 시스템 상에서 실행 가능 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있다.
[00105] 이들 컴퓨터 프로그램(프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 또는 코드로도 알려짐)은 프로그램 가능한 프로세서를 위한 기계 명령어들을 포함하며, 하이-레벨 절차적 및/또는 객체 지향 프로그래밍 언어로, 그리고/또는 어셈블리/기계어로 구현될 수 있다. 본 명세서에서 사용되는, "기계 판독 가능 매체" 및 "컴퓨터 판독 가능 매체"라는 용어들은, 기계 명령어들을 기계 판독 가능 신호로서 수신하는 기계 판독 가능 매체를 포함하여, 기계 명령어들 및/또는 데이터를 프로그램 가능한 프로세서에 제공하기 위해 사용되는 임의의 컴퓨터 프로그램 제품, 비일시적 컴퓨터 판독 가능 매체, 장치 및/또는 디바이스(예를 들어, 자기 디스크들, 광 디스크들, 메모리, PLD(Programmable Logic Device)들)를 지칭한다. 용어 "기계 판독 가능 신호"란, 기계 명령어들 및/또는 데이터를 프로그램 가능한 프로세서에 제공하기 위해 사용되는 임의의 신호를 지칭한다.
[00106] 본 명세서에서 기술되는 프로세스들 및 로직 흐름들은 입력 데이터에 작용하여 출력을 생성함으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능 프로세서에 의해 수행될 수 있다. 프로세스를 및 로직 흐름들은 특수 목적 로직 회로, 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)에 의해 수행될 수도 있다. 컴퓨터 프로그램의 실행에 적합한 프로세서들은, 예로서, 범용 및 특수 목적 마이크로프로세서 둘 다, 및 임의의 종류의 디지털 컴퓨터의 어느 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은 명령어들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어, 자기, 광자기 디스크, 또는 광 디스크를 포함하거나, 그로부터 데이터를 수신하거나 그것에 데이터를 전송하거나, 또는 둘 다를 수행하기 위해 동작 가능하게 결합될 것이다. 그러나, 컴퓨터는 그러한 디바이스들을 가질 필요는 없다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체들은, 예로서, 반도체 메모리 디바이스들, 예를 들어, EPROM, EEPROM, 및 플래시 메모리 디바이스들; 자기 디스크들, 예를 들어, 내부 하드 디스크 또는 이동식 디스크들; 광자기 디스크들; 및 CD ROM 및 DVD-ROM 디스크들을 포함하여, 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 로직 회로에 의해 보완되거나 그에 통합될 수 있다.
[00107] 사용자와의 상호 작용을 제공하기 위해, 본 개시의 하나 이상의 양태는 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스, 예를 들어, CRT(cathode ray tube), LCD(liquid crystal display) 모니터, 또는 터치 스크린, 및 옵션으로 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스, 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터 상에서 구현될 수 있다. 다른 종류의 디바이스들도 사용자와의 상호 작용을 제공하기 위해 사용될 수 있다; 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백, 예를 들어, 시각 피드백, 청각 피드백, 또는 촉각 피드백일 수 있고; 사용자로부터의 입력은 음향, 음성, 또는 촉각 입력을 포함하여, 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 사용자에 의해 사용되는 디바이스에 문서들을 전송하고 그로부터 문서들을 수신함으로써 사용자와 상호 작용할 수 있다; 예를 들어, 웹 브라우저로부터 수신된 요청들에 응답하여 사용자의 클라이언트 디바이스 상의 웹 브라우저에 웹 페이지들을 전송함으로써.
[00108] 다수의 구현들이 설명되었다. 그럼에도 불구하고, 본 개시의 정신 및 범위를 벗어나지 않고 다양한 수정들이 이루어질 수 있음을 이해할 것이다. 따라서, 다른 구현들은 다음의 청구항들의 범위 내에 있다.

Claims (28)

  1. 방법(600)으로서,
    GNSS-가능(Global Navigation Satellite Systems-enabled) 디바이스(110)의 데이터 처리 하드웨어(116)에서, 환경(100) 내의 GNSS 수신기(114)에 대한 추정된 로케이션을 수신하는 단계;
    상기 데이터 처리 하드웨어(116)에 의해, 상기 GNSS 수신기(114)에 대한 추정된 로케이션에 관한 복수의 후보 포지션들(214)을 생성하는 단계 ― 상기 복수의 후보 포지션들(214)의 각각의 후보 포지션(214)은 상기 GNSS 수신기(114)의 가능한 실제 로케이션(12A)에 대응함 ―;
    상기 복수의 후보 포지션들(214)의 각각의 후보 포지션(214)에서 각각의 이용 가능한 위성(20)에 대해, 상기 데이터 처리 하드웨어(116)에 의해, 상기 환경(100)에 대한 지리적 데이터(222)의 래스터 맵(226)을 광선 발사(ray-launching)함으로써 복수의 후보 신호 경로들(232)을 모델링하는 단계 ― 상기 복수의 후보 신호 경로들(232)은 하나 이상의 반사된 신호 경로를 포함함 ―; 및
    상기 복수의 후보 포지션들(214)의 각각의 후보 포지션(214)에서:
    상기 데이터 처리 하드웨어(116)에 의해, 개개의 후보 포지션(214)에서 각각의 이용 가능한 위성(20)에 대해 모델링된 상기 복수의 후보 신호 경로들(232)을 상기 GNSS 수신기(114)로부터의 측정된 GNSS 신호 데이터(202)와 비교하는 단계; 및
    상기 데이터 처리 하드웨어(116)에 의해, 개개의 후보 포지션(214)에서 각각의 이용 가능한 위성(20)에 대해 모델링된 상기 복수의 후보 신호 경로들(232)과 상기 GNSS 수신기(114)로부터의 측정된 GNSS 신호 데이터(202)의 비교에 기초하여 개개의 후보 포지션(214)이 상기 GNSS 수신기(114)의 실제 로케이션(12A)을 포함할 우도를 생성하는 단계를 포함하는, 방법(600).
  2. 제1항에 있어서,
    상기 래스터 맵(226)은 상기 환경(100) 내의 각각의 건물(30)의 다각형 표현(228)을 포함하고, 상기 다각형 표현(228)은 상기 GNSS-가능 디바이스(110) 상에 구성되는, 방법(600).
  3. 제1항에 있어서,
    상기 데이터 처리 하드웨어(116)에서, 상기 GNSS-가능 디바이스(110)에 대한 명령어들을 포함하는 래스터화된 지리적 데이터(222)를 수신하는 단계 ― 상기 명령어들은 상기 환경(100) 내의 하나 이상의 건물(30)의 다각형 표현들(228)을 어떻게 구성할지를 지시함 ―;
    상기 데이터 처리 하드웨어(116)에 의해, 상기 명령어들을 실행하여 상기 래스터 맵(226)을 형성하는 단계 ― 상기 래스터 맵(226)은 상기 환경(100) 내의 하나 이상의 건물(30)의 다각형 표현들(228)을 포함함 ―; 및
    상기 데이터 처리 하드웨어(116)에 의해, 상기 데이터 처리 하드웨어(116)와 통신하는 상기 GNSS-가능 디바이스(110)의 메모리 하드웨어 상에 로컬로 상기 래스터 맵(226)을 저장하는 단계를 추가로 포함하는, 방법(600).
  4. 제3항에 있어서,
    상기 명령어들을 실행하여 상기 래스터 맵(226)을 형성하는 단계는 래스터화된 지리적 데이터(222)에 기초하여 상기 하나 이상의 건물(30)에 대한 파사드 각도들을 결정하는 단계를 포함하는, 방법(600).
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 환경(100)에 대한 지리적 데이터(222)의 래스터 맵(226)을 광선 발사하는 것은:
    개개의 후보 포지션(214)으로부터 상기 환경(100) 내의 개개의 구조물의 다각형 래스터 표현으로 광선을 발사하는 단계;
    개개의 구조물의 다각형 래스터 표현의 파사드 각도에 기초하여 개개의 구조물로부터의 상기 광선의 방향 전환에 대응하는 방향 전환된 광선을 결정하는 단계; 및
    개개의 구조물의 파사드 각도에 기초하여 방향 전환된 각도로 상기 방향 전환된 광선을 계속해서 발사하는 단계를 포함하는, 방법(600).
  6. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 복수의 후보 신호 경로들(232)을 모델링하는 단계는, 상기 복수의 후보 신호 경로들(232)의 각각의 후보 신호 경로(232)에 대해, 개개의 후보 신호 경로(232)에 대한 초과 경로 길이(24)를 결정하는 단계를 포함하는, 방법(600).
  7. 제6항에 있어서,
    상기 복수의 후보 신호 경로들(232)을 모델링하는 단계는, 상기 복수의 후보 신호 경로들(232)의 각각의 후보 신호 경로(232)에 대해, 신호 감쇠를 결정하는 단계를 추가로 포함하는, 방법(600).
  8. GNSS-가능(Global Navigation Satellite Systems-enabled) 디바이스(100)로서,
    데이터 처리 하드웨어(116); 및
    상기 데이터 처리 하드웨어(116)와 통신하는 메모리 하드웨어(118)를 포함하고, 상기 메모리 하드웨어(118)는, 상기 데이터 처리 하드웨어(116) 상에서 실행될 때, 상기 데이터 처리 하드웨어(116)로 하여금 동작들을 수행하게 하는 명령어들을 저장하고, 상기 동작들은:
    환경(100) 내의 GNSS 수신기(114)에 대한 추정된 로케이션을 수신하는 것;
    상기 GNSS 수신기(114)에 대한 추정된 로케이션에 관한 복수의 후보 포지션들(214)을 생성하는 것 ― 상기 복수의 후보 포지션들(214)의 각각의 후보 포지션(214)은 상기 GNSS 수신기(114)의 가능한 실제 로케이션(12A)에 대응함 ―;
    상기 복수의 후보 포지션들(214)의 각각의 후보 포지션(214)에서 각각의 이용 가능한 위성(20)에 대해, 상기 환경(100)에 대한 지리적 데이터(222)의 래스터 맵(226)을 광선 발사함으로써 복수의 후보 신호 경로들(232)을 모델링하는 것 ― 상기 복수의 후보 신호 경로들(232)은 하나 이상의 반사된 신호 경로를 포함함 ―; 및
    상기 복수의 후보 포지션들(214)의 각각의 후보 포지션(214)에서:
    개개의 후보 포지션(214)에서 각각의 이용 가능한 위성(20)에 대해 모델링된 상기 복수의 후보 신호 경로들(232)을 상기 GNSS 수신기(114)로부터의 측정된 GNSS 신호 데이터(202)와 비교하는 것; 및
    개개의 후보 포지션(214)에서 각각의 이용 가능한 위성(20)에 대해 모델링된 상기 복수의 후보 신호 경로들(232)과 상기 GNSS 수신기(114)로부터의 상기 측정된 GNSS 신호 데이터(202)의 비교에 기초하여 개개의 후보 포지션(214)이 상기 GNSS 수신기(114)의 실제 로케이션(12A)을 포함할 우도를 생성하는 것을 포함하는, GNSS-가능 디바이스(100).
  9. 제8항에 있어서,
    상기 래스터 맵(226)은 상기 환경(100) 내의 각각의 건물(30)의 다각형 표현(228)을 포함하고, 상기 다각형 표현(228)은 상기 GNSS-가능 디바이스(110) 상에 구성되는, GNSS-가능 디바이스(100).
  10. 제8항에 있어서,
    상기 동작들은:
    상기 GNSS-가능 디바이스(110)에 대한 명령어들을 포함하는 래스터화된 지리적 데이터(222)를 수신하는 것 ― 상기 명령어들은 상기 환경(100) 내의 하나 이상의 건물(30)의 다각형 표현들(228)을 어떻게 구성할지를 지시함 ―;
    상기 명령어들을 실행하여 상기 래스터 맵(226)을 형성하는 것 ― 상기 래스터 맵(226)은 상기 환경(100) 내의 하나 이상의 건물(30)의 다각형 표현들(228)을 포함함 ―; 및
    상기 데이터 처리 하드웨어(116)와 통신하는 상기 GNSS-가능 디바이스(110)의 메모리 하드웨어(118) 상에 로컬로 상기 래스터 맵(226)을 저장하는 것을 추가로 포함하는, GNSS-가능 디바이스(100).
  11. 제10항에 있어서,
    상기 명령어들을 실행하여 상기 래스터 맵(226)을 형성하는 것은 래스터화된 지리적 데이터(222)에 기초하여 상기 하나 이상의 건물(30)에 대한 파사드 각도들을 결정하는 것을 포함하는, GNSS-가능 디바이스(100).
  12. 제8항 내지 제11항 중 어느 한 항에 있어서,
    상기 환경(100)에 대한 지리적 데이터(222)의 래스터 맵(226)을 광선 발사하는 것은:
    개개의 후보 포지션(214)으로부터 상기 환경(100) 내의 개개의 구조물의 다각형 래스터 표현으로 광선을 발사하는 것;
    개개의 구조물의 다각형 래스터 표현의 파사드 각도에 기초하여 개개의 구조물로부터의 상기 광선에 대한 방향 전환에 대응하는 방향 전환된 광선을 결정하는 것; 및
    개개의 구조물의 파사드 각도에 기초하여 방향 전환된 각도로 상기 방향 전환된 광선을 계속해서 발사하는 것을 포함하는, GNSS-가능 디바이스(100).
  13. 제8항 내지 제11항 중 어느 한 항에 있어서,
    상기 복수의 후보 신호 경로들(232)을 모델링하는 것은, 상기 복수의 후보 신호 경로들(232)의 각각의 후보 신호 경로(232)에 대해, 개개의 후보 신호 경로(232)에 대한 초과 경로 길이(24)를 결정하는 것을 포함하는, GNSS-가능 디바이스(100).
  14. 제13항에 있어서,
    상기 복수의 후보 신호 경로들(232)을 모델링하는 것은, 상기 복수의 후보 신호 경로들(232)의 각각의 후보 신호 경로(232)에 대해, 신호 감쇠를 결정하는 것을 추가로 포함하는, GNSS-가능 디바이스(100).
  15. 방법(700)으로서,
    데이터 처리 하드웨어(142)에 의해, 위성(20)으로부터의 GNSS(Global Navigation Satellite Systems) 신호를 반사시킬 가능성이 있는 하나 이상의 구조물을 갖는 영역을 식별하는 단계;
    상기 데이터 처리 하드웨어(142)에 의해, 상기 영역을 복수의 로케이션들로 분할하는 단계;
    각각의 이용 가능한 위성(20)에 대한 상기 복수의 로케이션들의 각각의 로케이션에서:
    상기 데이터 처리 하드웨어(142)에 의해, 개개의 로케이션으로부터 개개의 이용 가능한 위성(20)으로 광선 발사함으로써 복수의 신호 경로들(322)을 생성하는 단계 ― 상기 복수의 신호 경로들(322)은 하나 이상의 가시선 신호 경로(322) 및 하나 이상의 반사된 신호 경로(322)를 포함함 ―;
    상기 데이터 처리 하드웨어(142)에 의해, 모든 반사된 신호 경로들(322)을 하나 이상의 방위각 범위(332)로 이산화(discretizing)하는 단계;
    상기 하나 이상의 방위각 범위(332)의 각각의 방위각 범위(332)에 대해, 상기 데이터 처리 하드웨어(142)에 의해, 하나 이상의 전이 고도(334)를 결정하는 단계 ― 상기 하나 이상의 전이 고도(334)의 각각의 전이 고도(334)는 개개의 방위각 범위(332) 내의 개개의 반사된 신호 경로(322)가 가시선 신호로 전이하는 고도의 정도에 대응함 ―; 및
    상기 복수의 로케이션들의 각각의 로케이션에서, 상기 데이터 처리 하드웨어(142)에 의해, 상기 복수의 신호 경로들(322)에 대한 신호 경로 표현(302)을 생성하는 단계를 포함하고, 상기 신호 경로 표현(302)은:
    모든 반사된 신호 경로들(322)에 대한 상기 하나 이상의 방위각 범위(332); 및
    상기 하나 이상의 방위각 범위(332)의 각각의 방위각 범위(332)와 연관된 상기 하나 이상의 전이 고도(334)를 포함하는, 방법(700).
  16. 제15항에 있어서,
    상기 하나 이상의 방위각 범위(332)의 각각의 방위각 범위(332)에 대해, 상기 데이터 처리 하드웨어(142)에 의해, 개개의 방위각 범위(332) 내의 모든 반사된 신호 경로들(322)에 대한 상기 하나 이상의 전이 고도(334)를 이산화하는 단계를 추가로 포함하는, 방법(700).
  17. 제15항에 있어서,
    상기 데이터 처리 하드웨어(142)에 의해, 각각의 반사된 신호 경로(322)에 대한 초과 경로 길이(24)를 결정하는 단계를 추가로 포함하고,
    상기 신호 경로 표현(302)은 각각의 반사된 신호 경로(322)에 대한 초과 경로 길이(24)를 추가로 포함하는, 방법(700).
  18. 제15항 내지 제17항 중 어느 한 항에 있어서,
    상기 데이터 처리 하드웨어(142)에 의해, 각각의 반사된 신호 경로(322)에 대한 초과 경로 길이(24)를 결정하는 단계; 및
    각각의 방위각 범위(332)에 대해, 상기 데이터 처리 하드웨어(142)에 의해, 개개의 방위각 범위(332) 내의 모든 반사된 신호들에 대한 초과 경로 길이들(24)을 이산화하는 단계를 추가로 포함하고,
    상기 신호 경로 표현(302)은 이산화된 초과 경로 길이들(24)을 추가로 포함하는, 방법(700).
  19. 제18항에 있어서,
    모든 반사된 신호들에 대한 초과 경로 길이들(24)을 이산화하는 단계는, 보로노이 기반(voronoi-based) 압축을 사용하여, 초과 경로 길이들(24)의 각각의 이산화된 단위를 표현하는 다각형 영역을 생성하는 단계를 포함하는, 방법(700).
  20. 제15항 내지 제17항 중 어느 한 항에 있어서,
    상기 데이터 처리 하드웨어(142)에서, GNSS-가능 디바이스(110)로부터 요청된 포지션을 포함하는 요청(160)을 수신하는 단계; 및
    상기 데이터 처리 하드웨어(142)에 의해, 상기 복수의 로케이션들 중 상기 요청된 포지션에 대응하는 개개의 로케이션을 식별하는 단계; 및
    상기 요청(160)에 응답하여, 상기 데이터 처리 하드웨어(142)에 의해, 개개의 로케이션에 대한 신호 경로 표현(302)을 상기 GNSS-가능 디바이스(110)에 전달하는 단계를 추가로 포함하는, 방법(700).
  21. 제15항 내지 제17항 중 어느 한 항에 있어서,
    상기 데이터 처리 하드웨어(142)에 의해, 상기 복수의 신호 경로들(322)에 대한 신호 경로 표현(302)을 희소 데이터 어레이로서 저장하는 단계; 및
    상기 데이터 처리 하드웨어(142)에 의해, 상기 희소 데이터 어레이를 압축하는 단계를 추가로 포함하는, 방법(700).
  22. 시스템(120)으로서,
    데이터 처리 하드웨어(142); 및
    상기 데이터 처리 하드웨어(142)와 통신하는 메모리 하드웨어(144)를 포함하고, 상기 메모리 하드웨어(144)는, 상기 데이터 처리 하드웨어(142) 상에서 실행될 때, 상기 데이터 처리 하드웨어(142)로 하여금 동작들을 수행하게 하는 명령어들을 저장하고, 상기 동작들은:
    위성(20)으로부터의 GNSS(Global Navigation Satellite Systems) 신호를 반사시킬 가능성이 있는 하나 이상의 구조물을 갖는 영역을 식별하는 것;
    상기 영역을 복수의 로케이션들로 분할하는 것;
    각각의 이용 가능한 위성(20)에 대한 상기 복수의 로케이션들의 각각의 로케이션에서:
    개개의 로케이션으로부터 개개의 이용 가능한 위성(20)으로 광선 발사함으로써 복수의 신호 경로들(322)을 생성하는 것 ― 상기 복수의 신호 경로들(322)은 하나 이상의 가시선 신호 경로(322) 및 하나 이상의 반사된 신호 경로(322)를 포함함 ―;
    모든 반사된 신호 경로들(322)을 하나 이상의 방위각 범위(332)로 이산화하는 것; 및
    상기 하나 이상의 방위각 범위(332)의 각각의 방위각 범위(332)에 대해, 하나 이상의 전이 고도(334)를 결정하는 것 ― 상기 하나 이상의 전이 고도(334)의 각각의 전이 고도(334)는 개개의 방위각 범위(332) 내의 개개의 반사된 신호 경로(322)가 가시선 신호로 전이하는 고도의 정도에 대응함 ―; 및
    상기 복수의 로케이션들의 각각의 로케이션에서, 상기 복수의 신호 경로들(322)에 대한 신호 경로 표현(302)을 생성하는 것을 포함하고, 상기 신호 경로 표현(302)은:
    모든 반사된 신호 경로들(322)에 대한 상기 하나 이상의 방위각 범위(332); 및
    상기 하나 이상의 방위각 범위(332)의 각각의 방위각 범위(332)와 연관된 상기 하나 이상의 전이 고도(334)를 포함하는, 시스템(120).
  23. 제22항에 있어서,
    상기 동작들은, 상기 하나 이상의 방위각 범위(332)의 각각의 방위각 범위(332)에 대해, 개개의 방위각 범위(332) 내의 모든 반사된 신호 경로들(322)에 대한 상기 하나 이상의 전이 고도(334)를 이산화하는 것을 추가로 포함하는, 시스템(120).
  24. 제22항에 있어서,
    상기 동작들은:
    각각의 반사된 신호 경로(322)에 대한 초과 경로 길이(24)를 결정하는 것을 추가로 포함하고,
    상기 신호 경로 표현(302)은 각각의 반사된 신호 경로(322)에 대한 초과 경로 길이(24)를 추가로 포함하는, 시스템(120).
  25. 제22항 내지 제24항 중 어느 한 항에 있어서,
    상기 동작들은:
    각각의 반사된 신호 경로(322)에 대한 초과 경로 길이(24)를 결정하는 것; 및
    각각의 방위각 범위(332)에 대해, 개개의 방위각 범위(332) 내의 모든 반사된 신호들에 대한 초과 경로 길이들(24)을 이산화하는 것을 추가로 포함하고,
    상기 신호 경로 표현(302)은 이산화된 초과 경로 길이들(24)을 추가로 포함하는, 시스템(120).
  26. 제25항에 있어서,
    모든 반사된 신호들에 대한 초과 경로 길이들(24)을 이산화하는 것은, 보로노이 기반 압축을 사용하여, 초과 경로 길이들(24)의 각각의 이산화된 단위를 표현하는 다각형 영역을 생성하는 것을 포함하는, 시스템(120).
  27. 제22항 내지 제24항 중 어느 한 항에 있어서,
    상기 동작들은:
    GNSS-가능 디바이스(110)로부터, 요청된 포지션을 포함하는 요청(160)을 수신하는 것; 및
    상기 복수의 로케이션들 중 상기 요청된 포지션에 대응하는 개개의 로케이션을 식별하는 것; 및
    상기 요청(160)에 응답하여, 개개의 로케이션에 대한 신호 경로 표현(302)을 상기 GNSS-가능 디바이스(110)에 전달하는 것을 추가로 포함하는, 시스템(120).
  28. 제22항 내지 제24항 중 어느 한 항에 있어서,
    상기 동작들은:
    상기 복수의 신호 경로들(322)에 대한 신호 경로 표현(302)을 희소 데이터 어레이로서 저장하는 것; 및
    상기 희소 데이터 어레이를 압축하는 것을 추가로 포함하는, 시스템(120).
KR1020237011011A 2020-09-01 2021-08-27 Gnss 신호 모델링 KR102579282B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/008,897 2020-09-01
US17/008,897 US11531118B2 (en) 2020-09-01 2020-09-01 GNSS signal modeling
PCT/US2021/048107 WO2022051195A1 (en) 2020-09-01 2021-08-27 Gnss signal modeling

Publications (2)

Publication Number Publication Date
KR20230048462A KR20230048462A (ko) 2023-04-11
KR102579282B1 true KR102579282B1 (ko) 2023-09-14

Family

ID=77897767

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237011011A KR102579282B1 (ko) 2020-09-01 2021-08-27 Gnss 신호 모델링

Country Status (6)

Country Link
US (3) US11531118B2 (ko)
EP (1) EP4208738A1 (ko)
JP (1) JP7426541B2 (ko)
KR (1) KR102579282B1 (ko)
CN (1) CN116490791A (ko)
WO (1) WO2022051195A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170357411A1 (en) 2016-06-11 2017-12-14 Apple Inc. User interface for initiating a telephone call
US11765114B2 (en) 2017-05-16 2023-09-19 Apple Inc. Voice communication method
HUE053985T2 (hu) * 2018-08-08 2021-08-30 Thales Man & Services Deutschland Gmbh Eljárás GNSS vevõk mûködtetésére mûhold jelek deformációjának meghatározásához
US11635505B2 (en) * 2021-02-09 2023-04-25 Qualcomm Incorporated UE passive RF sensing with cellular-based bistatic/multistatic radar
US11693529B2 (en) 2021-08-31 2023-07-04 Apple Inc. Methods and interfaces for initiating communications
US20230382565A1 (en) * 2022-05-31 2023-11-30 Qualcomm Incorporated Space vehicle geometry based machine learning for measurement error detection and classification
US20230384412A1 (en) * 2022-05-31 2023-11-30 Qualcomm Incorporated Position-grid based machine learning for gnss warm-start position accuracy improvement
US20230393287A1 (en) * 2022-06-02 2023-12-07 Onenav, Inc. Methods and systems for excess path length corrections for gnss receivers
GB202212094D0 (en) 2022-08-19 2022-10-05 Inivata Ltd Method of detecting cancer DNA in a sample
CN115426035B (zh) * 2022-11-04 2023-03-24 中国人民解放军战略支援部队航天工程大学 一种基于剖分网格的定位初值搜索方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010534849A (ja) 2007-07-31 2010-11-11 テレ アトラス ベスローテン フエンノートシャップ 位置を判定する方法及び装置
US20150338522A1 (en) 2014-05-21 2015-11-26 Apple Inc. Positioning Using Non-Line-Of-Sight Signals

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282426B1 (en) * 1999-06-08 2001-08-28 Nokia Mobile Phones Limited Method, and associated apparatus, for determining geographic positioning of a wireless communication station operable in a non-ideal propagation environment
KR101156913B1 (ko) * 2007-06-08 2012-07-12 콸콤 인코포레이티드 압력 센서들을 이용한 gnss 포지셔닝
US8395544B2 (en) * 2010-07-01 2013-03-12 Broadcom Corporation Method and system for inter-delay product test for signal degradation detection in a GNSS receiver
AU2014201377B2 (en) * 2011-11-22 2014-05-01 Google Llc Position indication controls for device locations
EP2634599A1 (en) * 2012-02-29 2013-09-04 Nxp B.V. Satellite positioning using a sky-occlusion map
US9817125B2 (en) * 2012-09-07 2017-11-14 Microsoft Technology Licensing, Llc Estimating and predicting structures proximate to a mobile device
US9176216B2 (en) * 2012-12-14 2015-11-03 Maple Acquisition Llc Enhanced cell ID location method using non uniform subsectors and neighboring cell centroid
JP6153229B2 (ja) * 2014-03-24 2017-06-28 一般財団法人生産技術研究奨励会 位置検出装置、位置検出システム及び位置検出方法
US9945956B2 (en) * 2015-09-08 2018-04-17 Apple Inc. GNSS positioning using three-dimensional building models
US10386493B2 (en) * 2015-10-01 2019-08-20 The Regents Of The University Of California System and method for localization and tracking
US10823830B2 (en) * 2017-12-29 2020-11-03 Sonitor Technologies As Location determination using acoustic models
KR102592256B1 (ko) * 2018-06-26 2023-10-23 한국단자공업 주식회사 고정밀 지도의 건축물 데이터를 활용한 차량 위치정보 보정 방법
EP3627188A1 (en) * 2018-09-21 2020-03-25 Trimble Inc. Correction information integrity monitoring in navigation satellite system positioning methods, systems, and devices
CN111198389B (zh) * 2018-11-19 2022-04-22 华为技术有限公司 一种定位方法及电子设备
DE102018130457B4 (de) * 2018-11-30 2021-03-25 Bayerische Motoren Werke Aktiengesellschaft System und Verfahren für Map Matching
EP3680618A1 (en) * 2019-01-10 2020-07-15 Technische Universität München Method and system for tracking a mobile device
JP7383880B2 (ja) * 2019-01-16 2023-11-21 株式会社ニコン 画像生成装置、撮像装置、培養装置、画像生成方法およびプログラム
US20200233094A1 (en) * 2019-01-23 2020-07-23 GM Global Technology Operations LLC System and method for positioning in urban canyons
JP7068233B2 (ja) * 2019-06-18 2022-05-16 本田技研工業株式会社 トレーラ

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010534849A (ja) 2007-07-31 2010-11-11 テレ アトラス ベスローテン フエンノートシャップ 位置を判定する方法及び装置
US20150338522A1 (en) 2014-05-21 2015-11-26 Apple Inc. Positioning Using Non-Line-Of-Sight Signals

Also Published As

Publication number Publication date
WO2022051195A1 (en) 2022-03-10
EP4208738A1 (en) 2023-07-12
US11275179B1 (en) 2022-03-15
CN116490791A (zh) 2023-07-25
JP7426541B2 (ja) 2024-02-01
US20220066041A1 (en) 2022-03-03
US20220066040A1 (en) 2022-03-03
US11531118B2 (en) 2022-12-20
US11598881B2 (en) 2023-03-07
KR20230048462A (ko) 2023-04-11
JP2023534766A (ja) 2023-08-10
US20220066048A1 (en) 2022-03-03

Similar Documents

Publication Publication Date Title
KR102579282B1 (ko) Gnss 신호 모델링
US10656284B2 (en) Localization and tracking using location, signal strength, and pseudorange data
US7973716B2 (en) Systems and methods for transparency mapping using multipath signals
Settimi et al. Testing the IONORT-ISP system: A comparison between synthesized and measured oblique ionograms
WO2023216766A1 (zh) 一种定位方法以及相关装置
US11391848B2 (en) Localization using doppler shifts of reflected signals
US11500110B2 (en) Localization using bearing from environmental features
WO2024055473A1 (zh) 定位方法、装置、电子设备及存储介质
US11550068B2 (en) Modeling mutable environmental structures
CN110133683B (zh) 一种基于物理的卫星定位模拟方法
CN112099058A (zh) 定位方法、装置、系统、计算机设备和存储介质
Martı́nez et al. A new method of generating differential GPS corrections
US20220365223A1 (en) System for Closed-Loop GNSS Simulation
CN113959270A (zh) 一种地雷的落点定位方法、控制中心、地雷及布雷系统
Pozo-Ruz et al. A new satellite selection criterion for DGPS using two low-cost receivers
CN116702294A (zh) 基于gis和射线跟踪的山地智慧城市网络规划系统
CN115585807A (zh) 基于机器学习的gnss/ins组合导航方法
Tymchenko Global position system sensor model for robotics simulator

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant