KR20220023677A - 전자 디바이스 및 전자 디바이스의 위치 정보 획득 방법 - Google Patents

전자 디바이스 및 전자 디바이스의 위치 정보 획득 방법 Download PDF

Info

Publication number
KR20220023677A
KR20220023677A KR1020200156923A KR20200156923A KR20220023677A KR 20220023677 A KR20220023677 A KR 20220023677A KR 1020200156923 A KR1020200156923 A KR 1020200156923A KR 20200156923 A KR20200156923 A KR 20200156923A KR 20220023677 A KR20220023677 A KR 20220023677A
Authority
KR
South Korea
Prior art keywords
anchor device
message
anchor
time
electronic device
Prior art date
Application number
KR1020200156923A
Other languages
English (en)
Inventor
윤강진
이민규
하태영
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to CN202180051441.2A priority Critical patent/CN115989423A/zh
Priority to EP21858442.3A priority patent/EP4193173A4/en
Priority to JP2023512761A priority patent/JP2023538933A/ja
Priority to PCT/KR2021/006728 priority patent/WO2022039354A1/en
Priority to US17/353,220 priority patent/US11729799B2/en
Publication of KR20220023677A publication Critical patent/KR20220023677A/ko

Links

Images

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
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0284Relative positioning
    • 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
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/02Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
    • G01S13/0209Systems with very large relative bandwidth, i.e. larger than 10 %, e.g. baseband, pulse, carrier-free, ultrawideband
    • 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
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/04Position of source determined by a plurality of spaced direction-finders
    • 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
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/12Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves by co-ordinating position lines of different shape, e.g. hyperbolic, circular, elliptical or radial

Abstract

본 개시는 전자 디바이스의 위치 정보를 획득하는 방법에 관한 것으로, 구체적으로는 앵커 디바이스들과의 무선 통신을 이용하여 앵커 디바이스들에 대한 전자 디바이스의 상대적인 위치 정보를 획득하는 방법에 관한 것이다.

Description

전자 디바이스 및 전자 디바이스의 위치 정보 획득 방법 {ELECTRONIC DEVICE AND METHOD, PERFORMED BY ELECTRONIC DEVICE, OF OBTAINING LOCATION INFORMATION}
본 개시는 전자 디바이스의 위치 정보를 획득하는 방법에 관한 것으로, 구체적으로는 앵커 디바이스들과의 무선 통신을 이용하여 앵커 디바이스들에 대한 전자 디바이스의 상대적인 위치 정보를 획득하는 방법에 관한 것이다.
인터넷은 인간이 정보를 생성하고 소비하는 인간 중심의 연결 망에서, 사물 등 분산된 구성 요소들 간에 정보를 주고 받아 처리하는 IoT (Internet of Things, 사물 인터넷) 망으로 진화하고 있다. 클라우드 서버 등과의 연결을 통한 빅데이터 (Big data) 처리 기술 등이 IoT 기술에 결합된 IoE(Internet of Everything) 기술도 대두되고 있다. IoT를 구현하기 위해서는, 센싱 기술, 유무선 통신 및 네트워크 인프라, 서비스 인터페이스 기술, 및 보안 기술과 같은 기술 요소 들이 요구된다. 최근에는 사물간의 연결을 위한 센서 네트워크(sensor network), 사물 통신 (Machine to Machine, M2M), MTC(Machine Type Communication) 등의 기술이 연구되고 있다.
IoT 환경에서는 연결된 사물들에서 생성된 데이터를 수집, 분석하여 인간의 삶에 새로운 가치를 창출하는 지능형 IT(Internet Technology) 서비스가 제공될 수 있다. IoT는, 기존의 IT(information technology) 기술과 다양한 산업 간의 융합 및 복합을 통하여, 스마트홈, 스마트 빌딩, 스마트 시티, 스마트 카 혹은 커넥티드 카, 스마트 그리드, 헬스 케어, 스마트 가전, 첨단의료서비스 등의 분야에 응용될 수 있다.
무선 통신 시스템의 발전에 따라 다양한 서비스를 제공할 수 있게 됨으로써, 이러한 서비스들을 효과적으로 제공하기 위한 방안이 요구되고 있다. 예를 들어, 매체 접근 제어(medium access control, MAC)에 있어서, UWB(Ultra Wide Band)를 이용하여 전자 디바이스들 간의 거리를 측정하는 레인징(ranging) 기술이 사용될 수 있다. UWB는, 무선 반송파를 사용하지 않고 기저 대역에서 수 GHz이상의 매우 넓은 주파수 대역을 사용하는 무선 통신 기술이다. 예를 들어, UWB 레인징 기술은 공장 또는 회사 내에서 인력 또는 물품의 위치를 추적하는 시스템 또는 실내 내비게이션 시스템 등에 활용될 수 있다.
본 개시의 실시 예들은 전자 디바이스의 위치 정보를 획득하는 시스템에서 앵커 디바이스들과 무선 통신을 수행하는 전자 디바이스 및 전자 디바이스의 위치 정보 획득 방법에 관한 것이다.
본 개시의 일 측면은 전자 디바이스의 위치 정보를 획득하는 방법에 있어서, 제1 앵커 디바이스에서 전송되는 개시 메시지를 수신하는 단계; 제2 앵커 디바이스로부터 상기 제2 앵커 디바이스의 제1 응답 시간(reply Time)에 관한 정보를 수신하는 단계에 있어서, 상기 제1 응답 시간에 관한 정보는, 상기 제2 앵커 디바이스가 상기 개시 메시지를 수신한 시점부터 응답 메시지를 전송하는 시점까지의 시간에 관한 정보를 포함하는, 상기 제1 응답 시간에 관한 정보를 수신하는 단계; 상기 제1 앵커 디바이스로부터 상기 제2 앵커 디바이스에 대한 제2 응답 시간에 관한 정보를 수신하는 단계에 있어서, 상기 제2 응답 시간에 관한 정보는, 상기 제1 앵커 디바이스가 상기 응답 메시지를 수신한 시점부터 종료 메시지를 전송하는 시점까지의 시간에 관한 정보를 포함하는, 상기 제2 응답 시간에 관한 정보를 수신하는 단계; 및 상기 전자 디바이스가 상기 개시 메시지, 상기 응답 메시지, 및 상기 종료 메시지 중 적어도 하나를 수신한 시점에 관한 정보, 상기 제1 응답 시간에 관한 정보, 및 상기 제2 응답 시간에 관한 정보에 기초하여, 상기 제1 앵커 디바이스와 상기 전자 디바이스 간의 제1 거리 및 상기 제2 앵커 디바이스와 상기 전자 디바이스 간의 제2 거리의 차이와 관련된 정보를 획득하는 단계를 포함하는, 위치 정보 획득 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 개시 메시지는, 상기 제2 앵커 디바이스를 포함하는 적어도 하나의 앵커 디바이스의 주소를 포함하는 리스트를 포함하는, 위치 정보 획득 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 개시 메시지는, 상기 제2 앵커 디바이스가 상기 응답 메시지를 전송하기 위해 이용하는 슬롯 인덱스를 포함하는, 위치 정보 획득 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 개시 메시지, 상기 응답 메시지 및 상기 종료 메시지는 백엔드 컨트롤러에 의해 스케쥴링되는, 위치 정보 획득 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 제1 응답 시간에 관한 정보는, 상기 응답 메시지에 포함되어 상기 제2 앵커 디바이스로부터 수신되는, 위치 정보 획득 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 제2 응답 시간에 관한 정보는, 상기 종료 메시지에 포함되어 상기 제1 앵커 디바이스로부터 수신되는, 위치 정보 획득 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 종료 메시지는, 제3 앵커 디바이스에 대한 제1 앵커 디바이스의 왕복 시간을 더 포함하는, 위치 정보 획득 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 제1 거리 및 상기 제2 거리의 차이와 관련된 정보를 획득하는 단계는, 상기 제1 앵커 디바이스로부터 상기 전자 디바이스로의 메시지 도착 시간 및 상기 제2 앵커 디바이스로부터 상기 전자 디바이스로의 메시지 도착 시간 간의 도착 시간 차이(TDoA, Time Difference of Arrival)를 계산하는 단계; 및 상기 도착 시간 차이에 기초하여 상기 제1 거리 및 상기 제2 거리 간의 차이를 계산하는 단계를 포함하고, 상기 도착 시간 차이는, 상기 제2 앵커 디바이스의 상기 제1 응답 시간, 상기 제1 앵커 디바이스의 왕복 시간, 상기 전자 디바이스의 상기 개시 메시지 수신 시점부터 상기 응답 메시지 수신 시점까지의 시간 차이, 상기 제1 앵커 디바이스의 상기 제2 응답 시간, 및 상기 전자 디바이스의 상기 응답 메시지 수신 시점부터 상기 종료 메시지 수신 시점까지의 시간 차이에 기초하여 계산되는 것을 특징으로 하는, 위치 정보 획득 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 제1 거리 및 상기 제2 거리의 차이와 관련된 정보를 획득하는 단계는, 상기 전자 디바이스, 상기 제1 앵커 디바이스, 및 상기 제2 앵커 디바이스 중 하나의 디바이스의 클럭에 기초한 보정을 수행함으로써, 상기 제1 거리 및 상기 제2 거리의 차이를 계산하는 단계를 포함하는, 위치 정보 획득 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 제1 거리 및 상기 제2 거리의 차이와 관련된 정보를 획득하는 단계는, 상기 제1 앵커 디바이스의 클럭을 이용하여 측정되는 상기 제1 앵커 디바이스가 개시 메시지를 전송하는 간격(interval) 및 상기 제2 앵커 디바이스의 클럭을 이용하여 측정되는 상기 제2 앵커 디바이스가 상기 제1 앵커 디바이스로부터 개시 메시지를 수신하는 간격 간의 비율(ratio)에 기초한 보정을 수행함으로써, 상기 제1 거리 및 상기 제2 거리의 차이를 계산하는 단계를 포함하는, 위치 정보 획득 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 제1 앵커 디바이스 및 상기 제2 앵커 디바이스 중 적어도 하나의 위치 정보를 수신하는 단계를 더 포함하는, 위치 정보 획득 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 제1 앵커 디바이스에서 전송되는 상기 개시 메시지 및 상기 종료 메시지 중 적어도 하나는, 상기 제1 앵커 디바이스의 위치 정보를 포함하고, 상기 제2 앵커 디바이스에서 전송되는 상기 응답 메시지는, 상기 제2 앵커 디바이스의 위치 정보를 포함하는, 위치 정보 획득 방법을 제공할 수 있다.
본 개시의 다른 측면은 전자 디바이스에 있어서, 통신부; 메모리; 및 상기 메모리에 저장된 프로그램을 실행함으로써 상기 전자 디바이스의 동작을 제어하는 적어도 하나의 프로세서를 포함하고, 상기 통신부는, 제1 앵커 디바이스에서 전송되는 개시 메시지를 수신하고, 상기 제2 앵커 디바이스로부터 상기 제2 앵커 디바이스의 제1 응답 시간에 관한 정보를 수신하고, 상기 제1 응답 시간에 관한 정보는, 상기 제2 앵커 디바이스가 상기 개시 메시지를 수신한 시점부터 응답 메시지를 전송하는 시점까지의 시간에 관한 정보를 포함하고, 상기 제2 앵커 디바이스에 대한 제2 응답 시간에 관한 정보를 수신하고, 상기 제2 응답 시간에 관한 정보는, 상기 제1 앵커 디바이스가 상기 응답 메시지를 수신한 시점부터 종료 메시지를 전송하는 시점까지의 시간에 관한 정보를 포함하고, 상기 적어도 하나의 프로세서는, 상기 개시 메시지, 상기 응답 메시지, 및 상기 종료 메시지 중 적어도 하나를 수신한 시점에 관한 정보, 상기 제1 응답 시간에 관한 정보, 및 상기 제2 응답 시간에 관한 정보에 기초하여, 상기 제1 앵커 디바이스와 상기 전자 디바이스 간의 제1 거리 및 상기 제2 앵커 디바이스와 상기 전자 디바이스 간의 제2 거리의 차이와 관련된 정보를 획득하는 것을 특징으로 하는, 전자 디바이스를 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 개시 메시지는, 상기 제2 앵커 디바이스를 포함하는 적어도 하나의 앵커 디바이스의 주소를 포함하는 리스트를 포함하는, 전자 디바이스를 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 개시 메시지는, 상기 제2 앵커 디바이스가 상기 응답 메시지를 전송하기 위해 이용하는 슬롯 인덱스를 포함하는, 전자 디바이스를 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 개시 메시지, 상기 응답 메시지 및 상기 종료 메시지는 백엔드 컨트롤러에 의해 스케쥴링되는, 전자 디바이스를 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 제1 응답 시간에 관한 정보는, 상기 응답 메시지에 포함되어 상기 제2 앵커 디바이스로부터 수신되는, 전자 디바이스를 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 제2 응답 시간에 관한 정보는, 상기 종료 메시지에 포함되어 상기 제1 앵커 디바이스로부터 수신되는, 전자 디바이스를 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 종료 메시지는, 제3 앵커 디바이스에 대한 제1 앵커 디바이스의 왕복 시간을 더 포함하는, 전자 디바이스를 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 적어도 하나의 프로세서는, 상기 제1 앵커 디바이스로부터 상기 전자 디바이스로의 메시지 도착 시간 및 상기 제2 앵커 디바이스로부터 상기 전자 디바이스로의 메시지 도착 시간 간의 도착 시간 차이(TDoA, Time Difference of Arrival)를 계산하고, 상기 도착 시간 차이에 기초하여 상기 제1 거리 및 상기 제2 거리 간의 차이를 계산하고, 상기 도착 시간 차이는, 상기 제2 앵커 디바이스의 상기 제1 응답 시간, 상기 제1 앵커 디바이스의 왕복 시간, 상기 전자 디바이스의 상기 개시 메시지 수신 시점부터 상기 응답 메시지 수신 시점까지의 시간 차이, 상기 제1 앵커 디바이스의 상기 제2 응답 시간, 및 상기 전자 디바이스의 상기 응답 메시지 수신 시점부터 상기 종료 메시지 수신 시점까지의 시간 차이에 기초하여 계산되는 것을 특징으로 하는, 전자 디바이스를 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 적어도 하나의 프로세서는, 상기 전자 디바이스, 상기 제1 앵커 디바이스, 및 상기 제2 앵커 디바이스 중 하나의 디바이스의 클럭에 기초한 보정을 수행함으로써, 상기 제1 거리 및 상기 제2 거리의 차이를 계산하는, 전자 디바이스를 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 적어도 하나의 프로세서는, 상기 제1 앵커 디바이스의 클럭을 이용하여 측정되는 상기 제1 앵커 디바이스가 개시 메시지를 전송하는 간격(interval) 및 상기 제2 앵커 디바이스의 클럭을 이용하여 측정되는 상기 제2 앵커 디바이스가 상기 제1 앵커 디바이스로부터 개시 메시지를 수신하는 간격 간의 비율(ratio)에 기초한 보정을 수행함으로써, 상기 제1 거리 및 상기 제2 거리의 차이를 계산하는, 전자 디바이스를 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 통신부는, 상기 제1 앵커 디바이스 및 상기 제2 앵커 디바이스 중 적어도 하나의 위치 정보를 더 수신하는, 전자 디바이스를 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 제1 앵커 디바이스에서 전송되는 상기 개시 메시지 및 상기 종료 메시지 중 적어도 하나는, 상기 제1 앵커 디바이스의 위치 정보를 포함하고, 상기 제2 앵커 디바이스에서 전송되는 상기 응답 메시지는, 상기 제2 앵커 디바이스의 위치 정보를 포함하는, 전자 디바이스를 제공할 수 있다.
본 개시의 다른 측면은 전자 디바이스의 위치 정보를 획득하는 방법을 수행하도록 하는 프로그램이 저장된 컴퓨터로 읽을 수 있는 기록 매체에 있어서, 상기 위치 정보 획득 방법은, 제1 앵커 디바이스에서 브로드캐스팅 되는 개시 메시지를 수신하는 단계; 상기 개시 메시지에 응답하여 제2 앵커 디바이스에서 브로드캐스팅 되는 응답 메시지를 수신하는 단계에 있어서, 상기 응답 메시지는 상기 제2 앵커 디바이스의 제1 응답 시간을 포함하는, 상기 응답 메시지를 수신하는 단계; 상기 제1 앵커 디바이스에서 브로드캐스팅 되는 종료 메시지를 수신하는 단계에 있어서, 상기 종료 메시지는 상기 제2 앵커 디바이스에 대한 제2 응답 시간을 포함하는, 상기 종료 메시지를 수신하는 단계; 및 상기 개시 메시지, 상기 응답 메시지, 및 상기 종료 메시지에 기초하여, 상기 제1 앵커 디바이스와 상기 전자 디바이스 간의 제1 거리 및 상기 제2 앵커 디바이스와 상기 전자 디바이스 간의 제2 거리의 차이와 관련된 정보를 획득하는 단계를 포함하는, 컴퓨터로 읽을 수 있는 기록 매체를 제공할 수 있다.
본 개시의 다른 측면은 전자 디바이스의 위치 정보를 획득하는 방법에 있어서, 제1 앵커 디바이스로부터 제1 메시지를 수신하는 단계; 제2 앵커 디바이스로부터 제2 메시지를 수신하는 단계; 제3 앵커 디바이스로부터 제3 메시지를 수신하는 단계; 제4 앵커 디바이스로부터 제4 메시지를 수신하는 단계; 및 상기 전자 디바이스가 상기 제1 메시지, 상기 제2 메시지, 상기 제3 메시지, 및 상기 제4 메시지를 수신한 시점들에 기초하여, 상기 전자 디바이스의 위치 정보를 획득하는 단계를 포함하는, 위치 정보 획득 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 위치 정보를 획득하는 단계는, 상기 제1 앵커 디바이스, 상기 제2 앵커 디바이스, 상기 제3 앵커 디바이스, 및 상기 제4 앵커 디바이스의 위치 정보 및 슬롯 간격을 더 고려하여, 상기 시점들에 기초하여 상기 전자 디바이스의 위치 정보를 획득하는 단계를 포함하는, 위치 정보 획득 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 제2 메시지, 상기 제3 메시지, 및 상기 제4 메시지 각각은, 상기 제1 앵커 디바이스에 기초하여 클럭이 보정된, 상기 제2 앵커 디바이스, 상기 제3 앵커 디바이스, 및 상기 제4 앵커 디바이스 각각으로부터 전송되는 것을 특징으로 하는, 위치 정보 획득 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 제1 메시지는, 제1 슬롯 내에서 전송되고, 상기 제2 메시지는, 제2 슬롯 내에 전송되고, 상기 제1 메시지의 전송 시점으로부터 슬롯 간격 후에 전송되는, 위치 정보 획득 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 제1 메시지는, 제1 슬롯의 시작 시점에 전송되고, 상기 제2 메시지는, 제2 슬롯의 시작 시점에 전송되는, 위치 정보 획득 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 제1 메시지는, 제1 슬롯의 시작 시점에 전송되고, 상기 제2 메시지는, 상기 제1 앵커 디바이스와 상기 제2 앵커 디바이스 간의 거리 및 상기 제2 앵커 디바이스가 상기 제1 메시지를 수신한 시점에 기초하여 결정된 제2 슬롯의 시작 시점에 전송되는, 위치 정보 획득 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 제1 앵커 디바이스의 클럭과 상기 전자 디바이스의 클럭 간의 차이를 획득하는 단계를 포함하는, 위치 정보 획득 방법을 제공할 수 있다.
또한 본 개시의 일 실시예에서 상기 제1 앵커 디바이스, 상기 제2 앵커 디바이스, 상기 제3 앵커 디바이스, 및 상기 제4 앵커 디바이스 중 적어도 하나의 위치 정보를 수신하는 단계를 더 포함하는, 위치 정보 획득 방법을 제공할 수 있다.
본 개시의 다른 측면은 전자 디바이스에 있어서, 통신부; 메모리; 및 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 메모리에 저장된 프로그램을 실행함으로써, 제1 앵커 디바이스로부터 제1 메시지를 수신하고, 제2 앵커 디바이스로부터 제2 메시지를 수신하고, 제3 앵커 디바이스로부터 제3 메시지를 수신하고, 제4 앵커 디바이스로부터 제4 메시지를 수신하고, 상기 전자 디바이스가 상기 제1 메시지, 상기 제2 메시지, 상기 제3 메시지, 및 상기 제4 메시지를 수신한 시점들에 기초하여, 상기 전자 디바이스의 위치 정보를 획득하도록 상기 전자 디바이스의 동작을 제어하는, 전자 디바이스를 제공할 수 있다.
본 개시의 다른 측면은 전자 디바이스의 위치 정보를 획득하는 방법에 있어서, 제1 앵커 디바이스로부터 수신되는 메시지들의 개수 및 상기 제1 앵커 디바이스를 포함하는 복수의 앵커 디바이스들로부터 수신되는 메시지들의 총 개수에 기초하여, 상기 전자 디바이스의 위치 정보를 획득하기 위한 레인징 방식을 결정하는 단계; 상기 결정된 레인징 방식이 제1 레인징 방식인 경우, 상기 제1 앵커 디바이스로부터 수신한 개시 메시지, 제2 앵커 디바이스로부터 수신되는 제1 응답 메시지, 제3 앵커 디바이스로부터 수신되는 제2 응답 메시지 및 상기 제1 앵커 디바이스로부터 수신되는 종료 메시지를 수신한 시점에 기초하여, 상기 전자 디바이스의 위치 정보를 획득하는 단계; 및 상기 결정된 레인징 방식이 제2 레인징 방식인 경우, 상기 제1 앵커 디바이스로부터 수신한 제1 메시지, 제2 앵커 디바이스로부터 수신되는 제2 메시지, 제3 앵커 디바이스로부터 수신되는 제3 메시지 및 제4 앵커 디바이스로부터 수신되는 제4 메시지를 수신한 시점에 기초하여, 상기 전자 디바이스의 위치 정보를 획득하는 단계를 포함하는, 위치 정보 획득 방법을 제공할 수 있다.
본 개시의 다른 측면은 전자 디바이스에 있어서, 통신부; 메모리; 및 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 메모리에 저장된 프로그램을 실행함으로써, 제1 앵커 디바이스로부터 수신되는 메시지들의 개수 및 상기 제1 앵커 디바이스를 포함하는 복수의 앵커 디바이스들로부터 수신되는 메시지들의 총 개수에 기초하여, 상기 전자 디바이스의 위치 정보를 획득하기 위한 레인징 방식을 결정하고, 상기 결정된 레인징 방식이 제1 레인징 방식인 경우, 상기 제1 앵커 디바이스로부터 수신한 개시 메시지, 제2 앵커 디바이스로부터 수신되는 제1 응답 메시지, 제3 앵커 디바이스로부터 수신되는 제2 응답 메시지 및 상기 제1 앵커 디바이스로부터 수신되는 종료 메시지를 수신한 시점에 기초하여, 상기 전자 디바이스의 위치 정보를 획득하고, 상기 결정된 레인징 방식이 제2 레인징 방식인 경우, 상기 제1 앵커 디바이스로부터 수신한 제1 메시지, 제2 앵커 디바이스로부터 수신되는 제2 메시지, 제3 앵커 디바이스로부터 수신되는 제3 메시지 및 제4 앵커 디바이스로부터 수신되는 제4 메시지를 수신한 시점에 기초하여, 상기 전자 디바이스의 위치 정보를 획득하도록 상기 전자 디바이스의 위치 정보를 획득하도록 상기 전자 디바이스의 동작을 제어하는, 전자 디바이스를 제공할 수 있다.
도 1은 전자 디바이스 위치 확인 시스템(positioning system)이 전자 디바이스의 위치 정보를 획득하기 위해 ToA(Time of Arrival)을 이용하는 방법을 설명하기 위한 도면이다.
도 2는 전자 디바이스 위치 확인 시스템에서 전자 디바이스의 위치 정보를 획득하기 위하여 TDoA를 이용하는 방법을 설명하기 위한 도면이다.
도 3은 전자 디바이스 위치 확인 시스템에서 전자 디바이스의 위치 정보를 획득하는 방법을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 전자 디바이스의 동작 방법의 흐름도를 도시한다.
도 5a는 일 실시예에 따른 전자 디바이스 위치 확인 시스템의 구성의 일부를 도시한다.
도 5b는 일 실시예에 따른 전자 디바이스가 앵커 디바이스들에 대한 전자 디바이스의 위치 정보를 획득하기 위해 이용하는 정보를 설명하기 위한 도면이다.
도 5c는 일 실시예에 따른 전자 디바이스가 앵커 디바이스들에 대한 전자 디바이스의 위치 정보를 획득하기 위해 이용하는 구체적인 계산 과정을 설명하기 위한 도면이다.
도 6은 일 실시예에 따라 앵커 디바이스가 전송 하는 메시지의 구조를 도시한다.
도 7a는 일 실시예에 따라 개시자 앵커 디바이스가 전송하는개시 메시지의 형식을 도시한다.
도 7b는 일 실시예에 따라 개시 메시지에 포함되는 디바이스 관리(management) 리스트 엘레먼트의 형식을 도시한다.
도 8은 일 실시예에 따라 응답자 앵커 디바이스가 전송 하는 응답 메시지의 형식을 도시한다.
도 9a는 일 실시예에 따라 개시자 앵커 디바이스가 전송 하는 종료 메시지의 형식을 도시한다.
도 9b는 일 실시예에 따라 종료 메시지에 포함되는 응답 시간 리스트 엘레먼트의 형식을 도시한다.
도 10은 일 실시예에 따라 백엔드 컨트롤러를 포함하는 위치 확인 시스템의 개시자 앵커 디바이스가 전송 하는 개시 메시지의 형식을 도시한다.
도 11a는 일 실시예에 따라 앵커 디바이스들 간의 클럭 드리프트로 인한 오차를 보정하기 위해 이용되는 정보를 설명하는 도면이다.
도 11b는 일 실시예에 따라 앵커 디바이스들 간의 클럭 드리프트로 인한 오차를 보정하기 위해 이용되는 정보를 설명하는 도면이다.
도 12는 일 실시예에 따라 앵커 디바이스들 간의 클럭 드리프트로 인한 오차를 보정하기 위해 이용되는 정보를 설명하는 도면이다.
도 13은 일 실시예에 따라 개시자 앵커 디바이스가 전송하는 개시 메시지의 형식을 도시한다.
도 14는 일 실시예에 따라 응답자 앵커 디바이스가 전송 하는 응답 메시지의 형식을 도시한다.
도 15는 일 실시예에 따라 개시자 앵커 디바이스가 전송 하는 종료 메시지의 형식을 도시한다.
도 16은 일 실시예에 따른 전자 디바이스의 동작 방법의 흐름도를 도시한다.
도 17은 일 실시예에 따라 앵커 디바이스들 간에 수행되는 보정을 설명하기 위한 도면이다.
도 18a는 일 실시예에 따른 전자 디바이스 위치 확인 시스템의 구성을 도시한다.
도 18b는 일 실시예에 따른 전자 디바이스가 앵커 디바이스들에 대한 전자 디바이스의 위치 정보를 획득하기 위해 이용하는 정보를 설명하기 위한 도면이다.
도 18c는 일 실시예에 따른 전자 디바이스가 앵커 디바이스들에 대한 전자 디바이스의 위치 정보를 획득하기 위해 이용하는 구체적인 계산 과정을 설명하기 위한 도면이다.
도 19는 일 실시예에 따른 전자 디바이스의 동작 방법의 흐름도를 도시한다.
도 20은 일 실시예에 따른 전자 디바이스의 블록도를 도시한다.
아래에서는 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 개시의 실시 예를 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 또한, 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 개시에서 사용되는 용어는, 본 개시에서 언급되는 기능을 고려하여 현재 사용되는 일반적인 용어로 기재되었으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 다양한 다른 용어를 의미할 수 있다. 따라서 본 개시에서 사용되는 용어는 용어의 명칭만으로 해석되어서는 안되며, 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 해석되어야 한다.
또한, 제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 이 용어들에 의해 한정되어서는 안 된다. 이 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로 사용된다.
또한, 본 개시에서 사용된 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것이며, 본 개시를 한정하려는 의도로 사용되는 것이 아니다. 단수의 표현은 문맥상 명백하게 단수를 뜻하지 않는 한, 복수의 의미를 포함한다. 또한, 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
본 명세서 전반에 걸쳐 사용된 “상기” 및 이와 유사한 지시어는 단수 및 복수 모두를 지시하는 것일 수 있다. 또한, 본 개시에 따른 방법을 설명하는 단계들의 순서를 명백하게 지정하는 기재가 없다면, 기재된 단계들은 적당한 순서로 행해 질 수 있다. 기재된 단계들의 기재 순서에 따라 본 개시가 한정되는 것은 아니다.
본 명세서에서 다양한 곳에 등장하는 "일 실시 예에서" 등의 어구는 반드시 모두 동일한 실시 예를 가리키는 것은 아니다.
본 개시의 일 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어 질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어 질 수 있다.
일반적으로 무선 센서 네트워크 기술은 인식 거리에 따라 크게 무선랜(WLAN; Wireless Local Area Network; WLAN) 기술과 무선 사설망(Wireless Personal Area Network; WPAN) 기술로 구분된다. 이 때 무선랜은 IEEE 802.11에 기반한 기술로서, 반경 100m 내외에서 기간망(backbone network)에 접속할 수 있는 기술이다. 그리고 무선 사설망은 IEEE 802.15에 기반한 기술로서, 블루투스(Bluetooth), 지그비(ZigBee), 초광대역 통신(ultra wide band, UWB) 등이 있다. 이러한 무선 네트워크 기술이 구현되는 무선 네트워크는 다수 개의 통신 전자 장치들로 이루어질 수 있다. 이 때 다수 개의 통신 전자 장치들은 단일 채널을 이용하여 액티브 구간(ACTIVE period)에서 통신을 수행한다. 즉 통신 전자 장치들은 액티브 구간에서, 패킷을 수집할 수 있고, 수집된 패킷을 전송할 수 있다.
UWB는 기저 대역 상태에서 수 GHz 이상의 넓은 주파수 대역, 낮은 스펙트럼 밀도 및 짧은 펄스 폭(1~4 nsec)을 이용하는 단거리 고속 무선 통신 기술을 의미할 수 있다. UWB는 UWB 통신이 적용되는 대역 자체를 의미할 수도 있다. 이하에서는 전자 디바이스들간의 레인징 방법을 UWB 통신 방식에 기초하여 설명하나, 이는 하나의 예시에 불과하고 실제로는 다양한 무선 통신 기술들이 이용될 수 있다.
본 개시의 실시 예들에 따른 전자 디바이스는 컴퓨터 장치로 구현되는 고정형 단말이거나 이동형 단말을 포함할 수 있으며, 무선 또는 유선 통신방식을 이용하여 다른 디바이스 및/또는 서버와 통신할 수 있다. 예를 들어, 전자 디바이스는, 스마트 폰(smart phone), 이동 단말기, 노트북 컴퓨터(laptop computer), 디지털 방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 슬레이트 PC(slate PC), 태블릿PC(tablet PC), 데스크탑 컴퓨터, 디지털 TV, 냉장고, 인공 지능 스피커, 웨어러블 디바이스, 프로젝터, 스마트 키, 스마트 카, 프린터 등을 포함할 수 있으며, 이러한 예에 제한되지 않는다.
D2D 통신이란 기지국과 같은 인프라를 거치지 않고 지리적으로 근접한 전자 디바이스들이 직접적으로 통신하는 방식을 말한다. 본 개시의 다양한 실시 예들은 D2D 통신에 기초한 매체 접근 제어(medium access control, MAC)에 관한 것으로서, 매체 접근 제어를 위해서는 전자 디바이스들 간의 거리가 측정될 필요가 있다. 이때, 전자 디바이스들 간의 거리를 측정하기 위하여 UWB 레인징(ranging) 기술이 사용될 수 있다.
본 개시의 다양한 실시예들에 따른 UWB 레인징 방법은, 다양한 위치-기반 서비스(Location-based service) 에 이용될 수 있다. 위치-기반 서비스는, 이동 객체에 대한 위치에 기반하여 제공되는 서비스를 의미한다. 예를 들어, 공장 또는 회사 내에서 인력 또는 물품의 위치를 추적하는 시스템, 실내 내비게이션 시스템, 스마트 게이트, 스마트 페이 또는 스포츠 선수 움직임 분석 등에 UWB 레인징 기술이 이용될 수 있다. 본 개시의 일 실시예에 따른 위치 확인 시스템은 레인징 시스템을 포함할 수 있다.위치-기반 서비스를 제공하는 디바이스들의 사용자들은, 그들이 어디에 있는지, 어떠한 관심 지점(Points of interest, PIO)에 근접하였는 지, 또는 목적지에 어떻게 도달할 수 있는지를 알 수 있게 된다.
전자 디바이스의 위치를 찾기 위한 UWB 레인징 기술은, 미리 위치를 알고 있는 복수의 앵커 디바이스들과 전자 디바이스 간의 메시지 교환에 관련될 수 있다. 복수의 앵커 디바이스들의 위치는, 대역 외 무선 통신(out of band wireless communications)을 통해 전자 디바이스에게 전달되거나, 전자 디바이스 내에 미리 저장될 수 있다. 예를 들어, 레인징 시스템은, ToA(Time of Arrival) 방식 또는 TDoA(Time Difference of Arrival) 방식을 이용할 수 있다.
도 1은 전자 디바이스 위치 확인 시스템(positioning system)이 전자 디바이스의 위치 정보를 획득하기 위하여 ToA를 이용하는 방법을 설명하기 위한 도면이다.
ToA 방식은 간단하고 일반적인 레인징 기술이다. ToA 방식은, 전자 디바이스(101)(예를 들어, 위치를 확인하고자 하는 대상이 되는 타겟 디바이스) 또는 참조 포인트(예를 들어, 앵커 디바이스)로부터 신호가 전송된 시점, 해당 신호가 도착하는 시점, 및 해당 신호가 전송되는 속도에 기초할 수 있다. 일반적으로, 신호가 전송되는 속도는 빛의 속도일 수 있다.
도 1에 도시된 시스템은, 전자 디바이스(101)가 전송한 신호가 특정 앵커 디바이스에 도착하는 시간 또는 특정 앵커 디바이스가 전송한 신호가 전자 디바이스(101)에 도착하는 시간을 이용하여, 전자 디바이스(101)와 특정 앵커 디바이스 간의 거리를 획득할 수 있다. 위치 확인 시스템은, 전자 디바이스(101)와 복수의 앵커 디바이스들 간의 거리에 기초하여, 전자 디바이스(101)의 위치를 확인할 수 있다.
도 1을 참조하면, 위치 확인 시스템은, 전자 디바이스(101)와 앵커 디바이스(103) 간의 거리를 반지름으로 하는 구면(spherical surface)(113), 전자 디바이스(101)와 앵커 디바이스(102) 간의 거리를 반지름으로 하는 구면(112), 및 전자 디바이스(101)와 앵커 디바이스(105) 간의 거리를 반지름으로 하는 구면(115)의 교점을 전자 디바이스(101)의 위치로 결정할 수 있다.
이하에서, ToA는 디바이스들 간에 신호가 도착하는 데 소요되는 시간을 지칭할 수도 있고, 디바이스들 간에 신호가 도착하는 데 소요되는 시간에 기초하여 디바이스들 간의 거리를 측정하는 레인징 방식을 지칭할 수도 있다.
도 2는 전자 디바이스 위치 확인 시스템이 전자 디바이스의 위치 정보를 획득하기 위하여 TDoA를 이용하는 방법을 설명하기 위한 도면이다.
ToA와 마찬가지로 TDoA 역시 일반적인 레인징 기술이다. 다만, TDoA는 ToA에 비하여 보다 다목적(versatile)으로 이용될 수 있다. TDoA 방식은, 신호가 전송되는 시점을 필요로 하지 않으며, 전자 디바이스(201) 또는 특정 앵커 디바이스에 신호가 수신된 시점 및 신호가 전송되는 속도에 기초할 수 있다. 일반적으로, 신호가 전송되는 속도는 빛의 속도일 수 있다.
도 2에 도시된 시스템은, 전자 디바이스(201)가 전송한 신호가 특정 앵커 디바이스들에 도착하는 시간 또는 특정 앵커 디바이스들이 전송한 신호가 전자 디바이스(201)에 도착하는 시간에 기초하여, 전자 디바이스(101)와 특정 앵커 디바이스 간의 도착 시간과 전자 디바이스(101)와 다른 특정 앵커 디바이스 간의 도착 시간 차이를 획득할 수 있다. 위치 확인 시스템은, 전자 디바이스(201)와 복수의 앵커 디바이스들 간의 도착 시간 차이들에 기초하여 전자 디바이스(201)와 복수의 앵커 디바이스들 간의 거리 차이들을 획득할 수 있다. 위치 확인 시스템은, 전자 디바이스(201)와 복수의 앵커 디바이스들 간의 거리 차이들에 기초하여, 전자 디바이스(201)의 위치를 확인할 수 있다.
도 2를 참조하면, 위치 확인 시스템은, 앵커 디바이스(202) 및 앵커 디바이스(203)의 위치들을 초점으로 하는 쌍곡면(212, 213), 앵커 디바이스(202) 및 앵커 디바이스(204)의 위치들을 초점으로 하는 쌍곡면(214, 216), 및 앵커 디바이스(202) 및 앵커 디바이스(205)의 위치들을 초점으로 하는 쌍곡면(215, 217)의 교점을 전자 디바이스(201)의 위치로 결정할 수 있다.
이하에서, TDoA는 디바이스들 간에 신호가 도착하는 데 소요되는 시간 차이를 지칭할 수도 있고, 디바이스들 간에 신호가 도착하는 데 소요되는 시간 차이에 기초하여 디바이스들 간의 거리를 측정하는 레인징 방식을 지칭할 수도 있다.
한편, 위치 확인 시스템은, 다운링크(Downlink) 방식 또는 업링크(Uplink) 방식을 이용할 수 있다.
도 3은 전자 디바이스 위치 확인 시스템에서 전자 디바이스의 위치 정보를 획득하는 방법을 설명하기 위한 도면이다.
도 3에 도시된 바와 같이, 다운링크 방식을 이용하는 위치 확인 시스템은, 앵커 디바이스들(302, 303, 304, 305)로부터 전자 디바이스(301)로 전송된 신호들에 기초하여 전자 디바이스(301)의 위치를 확인할 수 있다. 전자 디바이스(301)가 직접 자신의 위치를 계산할 수 있다.
다운링크 방식을 이용하는 위치 확인 시스템은, 위치 확인을 하고자 하는 타겟 디바이스의 개수에 제한이 없는 확장성(scalability)을 갖고, 타겟 디바이스가 자신의 위치를 직접 계산하므로 사생활 보호에 유리하며, 인-밴드 클럭 동기화(In-band clock synchronization) 가 가능하다는 장점이 있다. 다운링크 방식을 이용하는 위치 확인 시스템은, 예를 들어, 실내 네비게이션 시스템에 이용될 수 있다.
한편, 도 3에 도시된 바와 같이, 업링크 방식을 이용하는 위치 확인 시스템은, 전자 디바이스(310)로부터 앵커 디바이스들(306, 307, 308, 309)로 전송된 신호들에 기초하여 전자 디바이스(310)의 위치를 확인할 수 있다. 인프라스트럭쳐(infrasturcture)(예를 들어, 앵커 디바이스들(306, 307, 308, 309))이 전자 디바이스(310)의 위치를 계산할 수 있다.
업링크 방식을 이용하는 위치 확인 시스템은, 위치 확인을 하고자 하는 타겟 디바이스가 신호 수신을 위해 대기하고 있을 필요가 없으므로, 저전력 소비라는 장점이 있다. 업링크 방식을 이용하는 위치 확인 시스템은, 예를 들어, 자산(asset)/환자(patient)의 위치 추적, 유동 인구 분석(foot traffic analytics), 및 쇼핑 행동 분석(shopping behavior analytics)에 이용될 수 있다.
본 개시의 다양한 실시예들에 따른 전자 디바이스는, 앵커 디바이스들 간의 메시지를 오버히어링함으로써 자신의 위치를 확인할 수 있다. 이 때, 본 개시의 다양한 실시예들에 따른 전자 디바이스는, 다운링크 TDoA 방식을 이용하여 위치 확인을 수행할 수 있다.
각 앵커 디바이스(즉, 개시자(Initiator) 또는 응답자(Responder))의 메시지 전송 타이밍 및 역할은 레인징 동작에 앞서 설정될 수 있다. 앵커 디바이스는 두 종류의 역할을 수행할 수 있다. 하나의 역할은 개시자의 역할이고, 다른 하나의 역할은 응답자의 역할일 수 있다. 개시자 역할을 가지는 앵커 디바이스가 TDoA 레인징 라운드를 시작하고 응답자 역할을 가지는 앵커 디바이스가 이에 응답할 수 있다. TDoA 레인징 라운드는 TDoA 메시지 교환들의 한 사이클이 완료되는 레인징 라운드일 수 있다. 전자 디바이스는, 개시자 앵커 디바이스 및 응답자 앵커 디바이스로부터 레인징 메시지들을 수신하고 TDoA를 측정할 수 있다. 2차원 위치를 결정하기 위해서는, 전자 디바이스는 셋 이상의 TDoA를 측정해야 한다. TDoA 측정 및 앵커들의 주어진 위치들에 기초하여, 전자디바이스는 자신의 위치를 추정할 수 있다.
일 실시예에 따른 앵커 디바이스는, 양면 양"??* 레인징(Double Sided Two Way Ranging, DS-TWR)을 수행하고, 대역 외(유선 또는 무선) 통신을 통해 구성될 수 있다. 또한, 일 실시예에 따른 앵커 디바이스는, 클럭 오프셋을 보상하거나 다른 앵커 디바이스에 대한 클럭 드리프트를 추정할 수 있다. 예를 들어, 기본 셀은 하나의 개시자 앵커 디바이스와 세 개 이상의 응답자 앵커 디바이스들로 구성되고, 전체 시스템에는 여러 개의 셀이 있을 수 있다.
개시자 앵커 디바이스는 레인징 개시 메시지(Ranging Initiation Message, RIM)를 응답자 앵커 디바이스에게 전송(예를 들어, 유니캐스트, 멀티캐스트, 브로드캐스트)하여 TDoA 라운드를 제어할 수 있다. 개시자 앵커 디바이스는, 자신이 속한 셀에 포함되는 응답자 앵커 디바이스들의 목록을 가지고 있을 수 있다. 응답자 앵커 디바이스들로부터 레인징 응답 메시지들(Ranging Response Messages, RRMs)을 수신한 후, 개시자 앵커 디바이스는 응답자 앵커 디바이스들에게 레인징 종료 메시지(Ranging Final Message, RFM)를 전송할 수 있다.
응답자 앵커 디바이스는, TDoA 라운드 동안, RIM을 통해 개시자 앵커 디바이스가 구성한 대로 작동할 수 있다. 응답자 앵커 디바이스는 할당된 레인징 슬롯에서 RRM을 전송함으로써 개시자 앵커 디바이스로부터의 RIM에 응답할 수 있다. 개시자 앵커 디바이스로부터 RFM을 수신한 후, 응답자 앵커 디바이스는 응답자 앵커 디바이스의 클럭을 개시자 디바이스의 클럭에 맞게 보정할 수 있다.
일 실시예에 따른 전자 디바이스는, 개시자 앵커 디바이스 및 응답자 앵커 디바이스로부터 레인징 메시지들(예를 들어, RIM, RRM 및 RFM)을 수신하고, 레인징 메시지들의 수신 시간을 측정할 수 있다. 또한, 전자 디바이스는, 대역 내 또는 대역 외 통신을 통해, 배치된 앵커 디바이스들의 위치들을 파악할 수 있다. 전자 디바이스는, TDoA 측정 및 앵커 위치들을 이용하여 전자 디바이스의 위치를 계산할 수 있다.
일 실시예에 따른 전자 디바이스는, 앵커 디바이스로부터 레인징 메시지를 수신할 수 있다. 전자 디바이스는, TDoA 라운드 내에서 레인징 메시지들의 수신 타이밍들 간의 시간을 측정할 수 있다. 전자 디바이스는, 레인징 메시지들의 전체 세트(즉, RIM, RRM 및 RFM)를 수신하는 경우, 자신이 직접 측정한 값들 및 수신된 메시지들로부터 획득된 측정 데이터에 기초하여, 자신의 위치를 계산할 수 있다.
전자 디바이스의 위치 확인을 위해 이용되는 앵커 디바이스들 중에서 하나의 앵커 디바이스가 개시자가 되고, 나머지 모든 앵커 디바이스들이 응답자가 될 수 있다. 특정 TDoA 라운드에서 개시자 역할을 수행하였던 앵커는 다른 TDoA 라운드에서 응답자 역할을 수행할 수 있다. 이하에서는 설명의 편의를 위하여, 전자 디바이스가 두 앵커 디바이스들 간의 신호 교환을 관찰하는 경우를 예로 들어 설명한다. 그러나, 본 개시는 이하의 설명에 제한되지 않으며, 전자 디바이스가 자신의 2차원 위치 또는 3차원 위치를 확인하기 위해서는, 적어도 넷 또는 적어도 다섯의 앵커 디바이스들 간의 신호 교환이 필요할 수 있다.
도 4는 일 실시예에 따른 전자 디바이스의 동작 방법의 흐름도를 도시한다.
일 실시예에 따른 전자 디바이스는, 주위의 복수의 앵커 디바이스들과의 신호 교환을 관찰함으로써 자신의 위치 정보를 획득할 수 있다. 이하의 설명에서 제1 앵커 디바이스는, 개시자 앵커 디바이스이고, 제2 앵커 디바이스 및 제3 앵커 디바이스는 응답자 앵커 디바이스일 수 있다.
단계 S410에서 일 실시예에 따른 전자 디바이스는, 제1 앵커 디바이스에서 전송 되는 개시 메시지를 수신할 수 있다. 일 실시예에 따른 제1 앵커 디바이스는, 개시 메시지를 유니캐스트, 멀티캐스트, 또는 브로드캐스트함으로써 전자 디바이스에게 전송할 수 있다.
일 예로서, 전자 디바이스가 포함되는 레인징 시스템은, 대역 내(In-band) 스케쥴링을 통해 레인징을 수행할 수 있다. 대역 내 스케쥴링을 이용하는 경우, 레인징 시스템은 백엔드 컨트롤러를 포함하지 않을 수 있다. 이 때, 개시 메시지는, 제2 앵커 디바이스가 응답 메시지를 전송하기 위해 이용하는 슬롯 인덱스를 스케쥴링 정보로서 포함할 수 있다. 개시 메시지는, 제2 앵커 디바이스를 포함하는 적어도 하나의 앵커 디바이스의 주소 및 주소에 의해 식별되는 적어도 하나의 앵커 디바이스에게 할당되는 슬롯 인덱스 정보를 더 포함할 수 있다.
다른 예로서, 일 실시예에 따른 전자 디바이스가 포함되는 레인징 시스템은, 외부 스케쥴링 정보를 활용하여 레인징을 수행할 수 있다. 이 경우, 레인징 시스템은, 스케쥴링 정보를 제공하는 백엔드 컨트롤러를 포함할 수 있다. 개시 메시지, 응답 메시지 및 종료 메시지는 백엔드 컨트롤러에 의해 스케쥴링될 수 있다. 따라서, 개시 메시지에 앵커 디바이스의 주소 및 주소에 의해 식별되는 앵커 디바이스에게 할당되는 슬롯 인덱스 정보가 포함되지 않을 수 있다.
단계 S420에서 일 실시예에 따른 전자 디바이스는, 제2 앵커 디바이스로부터 제2 앵커 디바이스의 제1 응답 시간(reply time)에 관한 정보를 수신할 수 있다. 제1 응답 시간에 관한 정보는, 제2 앵커 디바이스가 개시 메시지를 수신한 시점부터 응답 메시지를 전송하는 시점까지의 시간에 관한 정보를 포함할 수 있다.
일 실시예에 따른 제2 앵커 디바이스는, 개시 메시지를 수신하고, 개시 메시지에 응답하여 응답 메시지를 전송할 수 있다. 제2 앵커 디바이스는, 응답 메시지를 유니캐스트, 멀티캐스트, 또는 브로드캐스트함으로써 전자 디바이스에게 전송할 수 있다.
일 실시예에 따른 전자 디바이스는, 개시 메시지에 응답하여 제2 앵커 디바이스에서 전송 되는 응답 메시지를 수신할 수 있다.
일 예로서, 전자 디바이스는 제2 앵커 디바이스의 제1 응답 시간에 관한 정보를 포함하는 응답 메시지를 수신할 수 있다. 다른 예로서, 응답 메시지에는 STS(Scrambled Timestamp Sequence)가 포함되고 제1 응답 시간에 관한 정보는 포함되지 않을 수 있다. 이 경우, 제1 응답 시간에 관한 정보는, 응답 메시지와는 별도의 메시지에 포함되어 전송될 수 있다.
단계 S430에서 일 실시예에 따른 전자 디바이스는, 제1 앵커 디바이스로부터 제2 앵커 디바이스에 대한 제2 응답 시간에 관한 정보를 수신할 수 있다. 제2 응답 시간에 관한 정보는, 제1 앵커 디바이스가 응답 메시지를 수신한 시점부터 종료 메시지를 전송하는 시점까지의 시간에 관한 정보를 포함할 수 있다.
일 실시예에 따른 제1 앵커 디바이스는, 응답 메시지를 수신하고, 종료 메시지를 전송할 수 있다. 제1 앵커 디바이스는, 종료 메시지를 유니캐스트, 멀티캐스트, 또는 브로드캐스트함으로써 전자 디바이스에게 전송할 수 있다.
일 실시예에 따른 전자 디바이스는, 제1 앵커 디바이스로부터 전송 되는 종료 메시지를 수신할 수 있다.
일 예로서, 전자 디바이스는, 제2 앵커 디바이스에 대한 제2 응답 시간을 포함하여 제1 앵커 디바이스로부터 전송되는 종료 메시지를 수신할 수 있다. 다른 예로서, 종료 메시지에는 STS가 포함되고 제2 응답 시간에 관한 정보는 포함되지 않을 수 있다. 이 경우, 제2 응답 시간에 관한 정보는, 종료 메시지와는 별도의 메시지에 포함되어 전송될 수 있다.
또한, 일 실시예에 따른 전자 디바이스는, 제1 앵커 디바이스의 왕복 시간에 관한 정보를 더 수신할 수 있다.
일 예로서, 전자 디바이스는, 제2 앵커 디바이스에 대한 제1 앵커 디바이스의 왕복 시간에 관한 정보를 포함하는 종료 메시지를 수신할 수 있다. 그러나 본 개시는 이에 제한되지 않으며, 제2 앵커 디바이스에 대한 제1 앵커 디바이스의 왕복 시간에 관한 정보는, 종료 메시지와는 별도의 메시지에 포함되어 전송될 수 있다. 제2 앵커 디바이스에 대한 제1 앵커 디바이스의 왕복 시간은, 제1 앵커 디바이스가 개시 메시지를 전송한 시점부터 제2 앵커 디바이스로부터 응답 메시지를 수신하는 시점까지의 시간을 의미할 수 있다.
다른 예로서, 전자 디바이스는, 제3 앵커 디바이스에 대한 제1 앵커 디바이스의 왕복 시간에 관한 정보를 포함하는 종료 메시지를 수신하고, 제3 앵커 디바이스에 대한 왕복 시간으로부터 제2 앵커 디바이스에 대한 왕복 시간을 계산할 수 있다 에 포함되어 전송될 수 있다. 그러나 본 개시는 이에 제한되지 않으며, 제3 앵커 디바이스에 대한 왕복 시간에 관한 정보는, 종료 메시지와는 별도의 메시지에 포함되어 전송될 수 있다.
제3 앵커 디바이스는, 제1 앵커 디바이스에서 전송한 개시 메시지를 수신하는 복수의 앵커 디바이스들 중에서, 개시 메시지에 대하여 가장 먼저 응답 메시지를 전송한 앵커 디바이스일 수 있다. 제3 앵커 디바이스에 대한 왕복 시간은, 제1 앵커 디바이스가 개시 메시지를 전송한 시점부터 제3 앵커 디바이스로부터 응답 메시지를 수신하는 시점까지의 시간을 의미할 수 있다.
일 실시예에 따른 전자 디바이스는, 제3 앵커 디바이스에 대한 왕복 시간, 제3 앵커 디바이스에 대한 응답 시간, 및 다른 앵커 디바이스에 대한 응답 시간을 이용하여, 다른 앵커 디바이스에 대한 왕복 시간을 계산할 수 있다. 예를 들어, 전자 디바이스는, 제3 앵커 디바이스에 대한 왕복 시간 및 제3 앵커 디바이스에 대한 응답 시간의 합에서 제2 앵커 디바이스에 대한 응답 시간을 뺄셈 함으로써, 제2 앵커 디바이스에 대한 왕복 시간을 계산할 수 있다.
단계 S440에서 일 실시예에 따른 전자 디바이스는, 제1 앵커 디바이스와 전자 디바이스 간의 제1 거리 및 제2 앵커 디바이스와 전자 디바이스 간의 제2 거리의 차이와 관련된 정보를 획득할 수 있다. 전자 디바이스는, 제1 거리 및 제2 거리의 차이에 기초하여 전자 디바이스의 위치 정보를 획득할 수 있다. 일 실시예에 따른 전자 디바이스는, 개시 메시지, 응답 메시지, 및 종료 메시지 중 적어도 하나를 수신한 시점에 관한 정보, 제1 응답 시간에 관한 정보, 및 제2 응답 시간에 관한 정보에 기초하여, 제1 거리 및 제2 거리의 차이와 관련된 정보를 획득할 수 있다.
일 실시예에 따른 전자 디바이스는, 제1 거리 및 제2 거리의 차이와 관련된 정보를 획득하기 위해서, 제1 앵커 디바이스로부터 전자 디바이스로의 메시지 도착 시간 및 제2 앵커 디바이스로부터 전자 디바이스로의 메시지 도착 시간 간의 도착 시간 차이(TDoA, Time Difference of Arrival)를 계산할 수 있다.
도착 시간 차이는, 제2 앵커 디바이스의 제1 응답 시간, 제1 앵커 디바이스의 왕복 시간, 전자 디바이스의 개시 메시지 수신 시점부터 응답 메시지 수신 시점까지의 시간 차이, 제1 앵커 디바이스의 제2 응답 시간, 전자 디바이스의 응답 메시지 수신 시점부터 상기 종료 메시지 수신 시점까지의 시간 차이에 기초하여 계산될 수 있다.
일 실시예에 따른 전자 디바이스는, 제1 거리 및 제2 거리의 차이와 관련된 정보를 획득하기 위해서, 전자 디바이스, 제1 앵커 디바이스, 및 제2 앵커 디바이스 중 하나의 디바이스의 클럭에 기초한 보정을 수행함으로써, 제1 거리 및 제2 거리의 차이를 계산할 수 있다.
일 실시예에 따른 전자 디바이스는, 개시 메시지 전송 간격(interval)에 기초하여, 개시자 앵커 디바이스의 클럭에 맞게 측정 값에 대한 보정을 수행할 수 있다. 일 실시예에 따른 전자 디바이스는, 제1 앵커 디바이스가 개시 메시지를 전송하는 간격 및 제2 앵커 디바이스가 개시 메시지를 수신하는 간격 간의 비율(ratio)에 기초한 보정을 수행함으로써, 제1 거리 및 제2 거리의 차이와 관련된 정보를 계산할 수 있다. 제1 앵커 디바이스가 개시 메시지를 전송하는 간격은, 제1 앵커 디바이스의 클럭을 이용하여 측정되고, 제2 앵커 디바이스가 제1 앵커 디바이스로부터 개시 메시지를 수신하는 간격은 제2 앵커 디바이스의 클럭을 이용하여 측정될 수 있다.
또한, 일 실시예에 따른 전자 디바이스는, 제1 앵커 디바이스 및 제2 앵커 디바이스 중 적어도 하나의 위치 정보를 수신하고, 수신된 앵커 디바이스의 위치 정보에 기초하여 제1 거리 및 제2 거리의 차이와 관련된 정보를 획득할 수 있다. 예를 들어, 제1 앵커 디바이스에서 전송되는 개시 메시지 및 종료 메시지 중 적어도 하나는, 제1 앵커 디바이스의 위치 정보를 포함할 수 있다. 제2 앵커 디바이스에서 전송되는 응답 메시지는, 제2 앵커 디바이스의 위치 정보를 포함할 수 있다.
이하에서는, 전자 디바이스가 앵커 디바이스들에 대한 전자 디바이스의 위치 정보를 획득하기 위한 구체적인 동작 방법을 설명한다.
도 5a는 일 실시예에 따른 전자 디바이스 위치 확인 시스템의 구성의 일부를 도시한다.
일 실시예에 따른 전자 디바이스 위치 확인 시스템은 앵커 디바이스 A(502), 앵커 디바이스 B(503), 및 전자 디바이스(또는, 모바일 디바이스)(501)를 포함할 수 있다. 도 5a에서 ℓ은 앵커 디바이스 A(502)와 앵커 디바이스 B(503) 간의 거리를 나타내고, a는 앵커 디바이스 A(502)와 전자 디바이스(501) 간의 거리를 나타내고, b는 앵커 디바이스 B(503)와 전자 디바이스(501) 간의 거리를 나타낼 수 있다.
일 실시예에 따른 전자 디바이스(501)는, 앵커 디바이스 A(502)로부터 전송된 신호가 전자 디바이스(501)에 도착하는 시간 및 앵커 디바이스 B(503)로부터 전송된 신호가 전자 디바이스(501)에 도착하는 시간 간의 차이에 기초하여, 앵커 디바이스 A(502)로부터 전자 디바이스(501)까지의 거리 및 앵커 디바이스 B(503)로부터 전자 디바이스(501)까지의 거리 간의 차이를 계산할 수 있다.
도 5a 내지 도 5c에서는 설명의 편의를 위하여, 전자 디바이스(501)가 두 앵커 디바이스들(502, 503) 간의 도착 시간 차이를 계산하는 경우를 예로 들어 도시하였지만 본 개시의 실시예는 도 5a 내지 도 5c에 제한되지 않는다. 전자 디바이스(501)는 셋 이상의 앵커 디바이스들 간의 신호 교환을 관찰하여 측정된 도착 시간 차이들에 기초하여 전자 디바이스(501)의 위치를 확인할 수 있다. 일 실시예에 따른 전자 디바이스(501)가 자신의 3차원 위치를 확인하기 위해서는, 적어도 네 개 또는 다섯 개의 앵커 디바이스들 간의 도착 시간 차이가 필요할 수 있다.
도 5b는 일 실시예에 따른 전자 디바이스가 앵커 디바이스들에 대한 전자 디바이스의 위치 정보를 획득하기 위해 이용하는 정보를 설명하기 위한 도면이다.
도 5b에서 앵커 디바이스 A(502)가 개시자 앵커 디바이스 및 마스터 앵커 디바이스로서 동작하는 것으로 가정한다. 본 개시의 일 실시예에 따르면, 마스터 앵커 디바이스는, 전자 디바이스 위치 확인 시스템에 포함되는 복수의 슬레이브 앵커 디바이스들 및 전자 디바이스(또는, 타겟 디바이스) 간의 레인징을 제어하는 디바이스일 수 있다. 마스터 앵커 디바이스는, 개시자 역할 및 응답자 역할을 모두 수행할 수 있는 앵커 디바이스일 수 있다. 슬레이브 앵커 디바이스는, 응답자 역할만을 수행하는 앵커 디바이스일 수 있다.
먼저, 앵커 디바이스 A(502)는 스케쥴링 정보에 기초하여, 레인징 개시 메시지(Ranging Initiation Message, RIM)를 전송함으로써, 레인징을 개시할 수 있다.
도 5b를 참조하면, 앵커 디바이스 A(502)에서 RIM이 전송되는 시점을 0이라고 할 때, RIM이 전자 디바이스(501)에 도착하는 시점은, a/c일 수 있다. a/c에서 a는, 앵커 디바이스 A(502)와 전자 디바이스(501) 간의 거리이고, c는 신호가 전송되는 속도일 수 있다. 또한, RIM이 앵커 디바이스 B(503)에 도착하는 시점은, ℓ/c일 수 있다. ℓ/c에서 ℓ은, 앵커 디바이스 A(502)와 앵커 디바이스 B(503) 간의 거리이고, c는 신호가 전송되는 속도일 수 있다.
일 실시예에 따르면, 앵커 디바이스들은, RIM 내의 스케쥴링 정보를 참조함으로써, 레인징 응답 메시지(Ranging Response Message, RRM)를 전송해야 하는지 여부, RRM을 전송하기 위해서 이용하는 슬롯, RFM이 언제 전송되는 지를 알 수 있다.
RIM을 수신한 앵커 디바이스 B(503)는 스케쥴링 정보에 기초하여, 할당된 슬롯에서 RRM을 전송할 수 있다. 도 5b를 참조하면, β는 앵커 디바이스 B(503)가 RIM을 수신하고 RIM에 대한 응답인 RRM을 전송하기까지 소요된 응답 시간을 나타낸다. RRM은 응답 시간 β에 관한 정보를 포함하여 전송될 수 있다.
앵커 디바이스 B(503)에서 RRM이 전송되는 시점을 ℓ/c + β라고 할 때, RRM이 전자 디바이스(501)에 도착하는 시점은, ℓ/c + β + b/c일 수 있다. b/c에서 b는, 앵커 디바이스 B(503)와 전자 디바이스(501) 간의 거리이고, c는 신호가 전송되는 속도일 수 있다. 또한, RRM이 앵커 디바이스 A(502)에 도착하는 시점은, ℓ/c + β + ℓ/c = 2l/c + β일 수 있다.
RRM을 수신한 앵커 디바이스 A(502)는, 레인징 종료 메시지(Ranging Final Message, RFM)를 전송함으로써 레인징을 종료할 수 있다. 도 5b를 참조하면, γ는 앵커 디바이스 A(502)가 RRM을 수신하고 RFM을 전송하기까지 소요된 응답 시간을 나타낸다. RFM은 응답 시간 γ에 관한 정보 및 왕복 시간 τ에 관한 정보를 포함하여 전송될 수 있다.
앵커 디바이스 A(502)에서 RFM이 전송되는 시점을 2l/c + β + γ라고 할 때, RFM이 전자 디바이스(501)에 도착하는 시점은, 2l/c + β + γ + a/c일 수 있다. 또한, RFM이 앵커 디바이스 B(503)에 도착하는 시점은, 2l/c + β + γ + ℓ/c = 3l/c + β일 수 있다.
도 5b에 도시된 바와 같이, 전자 디바이스(501)는, 전송되는 RIM, RRM, 및 RFM을 오버히어(overhear)하고, TDoA 커브를 획득(find out)할 수 있다. 전자 디바이스(501)는 도 5c에 도시된 계산 과정을 셋 이상의 앵커 디바이스들로부터 수신되는 신호들에 대하여 반복하여 수행함으로써 TDoA 결과를 획득할 수 있다. 전자 디바이스(501)는 TDoA 결과에 기초하여 앵커 디바이스들에 대한 상대적인 위치를 획득할 수 있다.
전자 디바이스(501)에 설치된 애플리케이션은, TDoA 결과로부터 전자 디바이스(501)의 위치를 획득할 수 있다. 전자 디바이스(501)에 설치된 애플리케이션은, 메시지에 포함되는 MAC 주소 정보에 의해, 메시지와 관련된 각 앵커 디바이스를 식별할 수 있다.
도 5c는 일 실시예에 따른 전자 디바이스가 앵커 디바이스들에 대한 전자 디바이스의 위치 정보를 획득하기 위해 이용하는 구체적인 계산 과정을 설명하기 위한 도면이다.
도 5b에서 전자 디바이스(501)가 RIM을 수신한 시점으로부터 RRM을 수신하기까지 소요된 시간은 α로 측정되고, RRM을 수신한 시점으로 RFM을 수신하기까지 소요된 시간은 δ로 측정될 수 있다.
이 때, 전자 디바이스(501) 또는 앵커 디바이스들(502, 503) 각각의 클럭은, 항상 정확히 동일한 속도로 동작하지 않을 수 있고, 이에 따라 클럭 드리프트가 발생할 수 있다. 예를 들어, 클럭을 발생시키는 오실레이터가 온도나 압력 등의 변화에 의해 미세하게 영향을 받음으로써 클럭 드리프트가 발생할 수 있다.
따라서, 정확한 레인징을 위해서, 전자 디바이스(501) 또는 각 앵커 디바이스(502, 503)는, 디바이스들 간의 클럭 속도 차이만큼 클럭 속도를 변경함으로써, 클럭 드리프트를 보정할 수 있다. 예를 들어, 전압 제어(voltage control) 방식을 이용하여, 클럭 드리프트를 보정할 수 있다.
또한, 디바이스들 간의 클럭 차이에 따라 시간 측정 값에 차이가 발생할 수 있으므로, 정확한 레인징을 위해서 디바이스들 간의 클럭 드리프트로 인한 오차를 보정해 주는 과정이 필요할 수 있다. 전자 디바이스(501) 또는 각 앵커 디바이스(502, 503)는, 디바이스들 간의 클럭 속도 차이를 감지하고, 감지된 클럭 속도 차이에 기초하여 측정 값을 보정함으로써, 클럭 드리프트로 인한 오차를 보정할 수 있다.
α와 δ는 전자 디바이스(501)의 클럭으로 측정한 값이라고 할 때, 도 5c의 α'와 δ'는 전자 디바이스(501)의 클럭으로 측정한 값을 앵커 디바이스 A(502)의 클럭에 동기화되도록 보정한 값일 수 있다.
전자 디바이스(501)의 클럭과 앵커 디바이스 A(502)의 클럭 간의 드리프트로 인한 오차는, 앵커 디바이스 A(502)가 RIM을 전송한 시점부터 RFM을 전송한 시점까지의 시간인 τ+γ와 전자 디바이스(501)가 RIM을 수신한 시점부터 RFM을 수신한 시점까지의 시간인 α+δ 간의 비율((τ+γ)/(α+δ))을 이용하여 보정될 수 있다.
α'는 수학식 (l/c + β + b/c) - a/c = (l+b-a)/c + β 에 의해 계산되고, δ'는 수학식 (2l/c + β + γ + a/c) - (l/c + β + b/c) = (l+a-b)/c - γ 에 의해 계산될 수 있다. 따라서, α'- δ'는 도 5c에 도시된 바와 같이 계산될 수 있다.
도 5c에는, 전자 디바이스(501)에서 측정된 시간 값들에 기초하여 작성된 수학식 α'- δ'= 2(b-a)/c +β-γ로부터, 앵커 디바이스들(502, 503)의 전자 디바이스(501)로부터의 거리 차이 b-a를 도출하는 구체적인 계산 과정이 추가적으로 도시된다.
도 5c에는 전자 디바이스(501)와 앵커 디바이스 A(502) 간의 클럭 드리프트로 인한 오차만을 보정하는 경우를 예로 들어 설명하였지만, 앵커 디바이스 A(502)의 클럭과 앵커 디바이스 B(503)의 클럭 간에도 클럭 드리프트로 인한 오차가 존재할 수 있다. 일 실시예에 따르면, 앵커 디바이스 A(502)의 클럭과 앵커 디바이스 B(503)의 클럭 간의 드리프트로 인한 오차는 무선/유선 통신을 통해 보정(compensation)될 수 있다. 예를 들어, 앵커 디바이스들 간의 클럭 차이에 대하여 0.1ppm 이내로 측정 값이 보상될 수 있다. 앵커 디바이스들 간의 클럭 드리프트로 인한 오차 보정과 관련하여서는, 후에 도 11a, 도 11b, 및 도 12를 참조하여 구체적으로 설명한다.
도 6은 일 실시예에 따라 앵커 디바이스가 전송 하는 메시지의 구조를 도시한다.
본 개시의 일 실시예에 따라 디바이스들 간에 송수신되는 메시지는, 도 6에 도시된 바와 같이 LBS(Least Significant Bit)에 대한 고유 정적 STS(Unique Static STS(Scrambled Timestamp Sequence))를 포함하는 SP1 메시지일 수 있다.
이하에서는, 도 7a 내지 도 10을 참조하여, 각 메시지의 페이로드 IE(정보 요소, Information Element)에 포함되는 파라미터들에 대해서 구체적으로 설명한다.
도 7a는 일 실시예에 따라 개시자 앵커 디바이스가 전송 하는 개시 메시지의 형식을 도시한다.
도 7a에 도시된 바와 같이, 개시자 앵커 디바이스에 의해 전송되는 제1 메시지(즉, 레인징 개시 메시지)의 페이로드 IE는 6+3*N bytes로 구성될 수 있다.
레인징 개시 메시지는, 컨텐트 필드의 사이즈를 나타내는 Length 필드, Vendor Specific Nested IE임을 나타내는 Group ID 필드, 페이로드 IE임을 나타내는 Type 필드, 및 컨텐트 필드를 포함할 수 있다. 본 개시의 일 실시예에 따른 레인징 개시 메시지의 컨텐트 필드는, Ranging device management list length 필드 및 Ranging device management list 필드를 포함할 수 있다. Ranging device management list length 필드는, 4 bits로 구성되며, Ranging device management list 필드 내의 요소들의 개수(N)를 나타낼 수 있다. Ranging device management list 필드가, N 개의 Ranging device management list elements를 포함하는 경우, Ranging device management list 필드는 24*N bits로 구성될 수 있다. Ranging device management list 필드는, 레인징에 참여하는 각 앵커 디바이스 별 Ranging device management element를 포함할 수 있다.
본 개시의 일 실시예에 따른 레인징 개시 메시지의 컨텐트 필드는, 도 7a에 도시된 예에 제한되지 않으며, Message Control 필드, 및 Round Index 필드 중 적어도 하나를 더 포함할 수 있다.
Message Control 필드는, 메시지의 구성을 나타낼 수 있다. Message Control 필드는, Ranging device management list 필드 내의 엘레먼트들의 개수, 메시지 내에 블록 인덱스 필드가 존재(present)하는지 여부, 라운드 인덱스 필드가 존재하는지 여부, 및 슬롯 인덱스가 존재하는 지 여부에 관한 정보를 포함할 수 있다.
Round Index 필드는, 현재 TDoA 라운드의 인덱스를 나타낼 수 있다. RIM 을 수신한 근방의(nearby) 마스터 앵커 디바이스들은, Round Index 필드를 이용하여 자신들의 RIM 전송 타이밍을 계산할 수 있다. RIM을 수신한 전자 디바이스들은, Round Index 필드를 이용하여 자신들의 전력 절약 모드(power saving mode) 의 시작 타이밍 및 종료(exit) 타이밍을 계산할 수 있다.
도 7b는 일 실시예에 따라 개시 메시지에 포함되는 디바이스 관리 리스트 엘레먼트(Ranging device management list element)의 형식을 도시한다.
도 7b에 도시된 바와 같이, Ranging device management list 필드에 포함되는 하나의 Ranging device management list element는, Ranging slot index 필드 및 Address 필드를 포함하고, 24 bits로 구성될 수 있다.
Ranging slot index 필드는, Address 필드에 의해 식별되는 응답자 앵커 디바이스가 응답 메시지를 전송하기 위해 이용하도록 할당되는 슬롯의 인덱스를 나타낸다. Address 필드는, 각 응답자 앵커 디바이스를 식별하기 위한 주소를 나타낸다. Address 필드에는 각 응답자 앵커 디바이스의 MAC 주소 정보가 포함될 수 있다.
도 8은 일 실시예에 따라 응답자 앵커 디바이스가 전송 하는 응답 메시지의 형식을 도시한다.
도 8에 도시된 바와 같이, 레인징 개시 메시지에 응답하여 응답자 앵커 디바이스에 의해 전송되는 제2 메시지(즉, 레인징 응답 메시지)의 페이로드 IE는 10 bytes로 구성될 수 있다.
레인징 응답 메시지는, 컨텐트 필드의 사이즈를 나타내는 Length 필드, Vendor Specific Nested IE임을 나타내는 Group ID 필드, 페이로드 IE임을 나타내는 Type 필드, 및 컨텐트 필드를 포함할 수 있다. 본 개시의 일 실시예에 따른 레인징 응답 메시지의 컨텐트 필드는, Reply Time 필드를 포함할 수 있다. Reply Time 필드는, 32 bits로 구성되며, 응답자 앵커 디바이스의 응답 시간을 나타낼 수 있다. 응답자 앵커 디바이스의 응답 시간이란, 응답자 앵커 디바이스가 개시자 앵커 디바이스로부터 레인징 개시 메시지를 수신하는 시점부터 레인징 응답 메시지를 전송하는 시점까지의 시간을 의미할 수 있다.
본 개시의 일 실시예에 따른 레인징 응답 메시지의 컨텐트 필드는, 도 8에 도시된 예에 제한되지 않으며, Message Control 필드를 더 포함할 수 있다.
Message Control 필드는, 메시지의 구성을 나타낼 수 있다. Message Control 필드는, 호핑 모드가 이용되는 지 여부, 메시지 내에 라운드 인덱스 필드가 존재하는지 여부, Round-trip Time List의 길이, 및 메시지 내에 Reply Time 필드가 존재하는지 여부에 관한 정보를 포함할 수 있다.
도 9a는 일 실시예에 따라 개시자 앵커 디바이스가 전송 하는 종료 메시지의 형식을 도시한다.
도 9a에 도시된 바와 같이, 개시자 앵커 디바이스에 의해 전송되는 제3 메시지(즉, 레인징 종료 메시지)의 페이로드 IE는 10+6*N bytes로 구성될 수 있다.
레인징 종료 메시지는, 컨텐트 필드의 사이즈를 나타내는 Length 필드, Vendor Specific Nested IE임을 나타내는 Group ID 필드, 페이로드 IE임을 나타내는 Type 필드, 및 컨텐트 필드를 포함할 수 있다. 본 개시의 일 실시예에 따른 레인징 종료 메시지의 컨텐트 필드는, First round-trip time 필드 및 Reply time list 필드를 포함할 수 있다.
First round-trip time 필드는 레인징 응답 메시지를 전송한 복수의 응답자 앵커 디바이스들 중에서 첫번째 응답자 앵커 디바이스에 대한 왕복 시간(Round-trip time)에 관한 정보를 포함할 수 있다. 첫번째 응답자 앵커 디바이스에 대한 왕복 시간은, 개시자 앵커 디바이스가 레인징 개시 메시지를 전송한 시점부터 첫번째 응답자 앵커 디바이스로부터 레인징 응답 메시지를 수신한 시점까지의 시간일 수 있다. First round-trip time 필드는 32 bits로 구성될 수 있다.
일 실시예에 따른 레인징 종료 메시지에는 첫번째 응답자 앵커 디바이스에 대한 왕복 시간만 포함되고, 다른 응답자 앵커 디바이스에 대한 왕복 시간 정보는 포함되지 않을 수 있다. 다른 응답자 앵커 디바이스에 대한 개시자 앵커 디바이스의 왕복 시간 정보는, 개시자 앵커 디바이스가 레인징 개시 메시지를 전송 한 시점부터 다른 응답자 앵커 디바이스로부터 레인징 응답 메시지를 수신한 시점까지의 시간 정보일 수 있다. 이 경우, 전자 디바이스는, 첫번째 응답자 앵커 디바이스에 대한 개시자 앵커 디바이스의 왕복 시간 및 다른 응답자 앵커 디바이스에 대한 개시자 앵커 디바이스의 응답 시간에 기초하여, 다른 응답자 앵커 디바이스에 대한 개시자 앵커 디바이스의 왕복 시간 정보를 계산할 수 있다.
Reply time list 필드가, N 개의 Reply time elements를 포함하는 경우, Reply time list 필드는 48*N bits로 구성될 수 있다. Reply time list 필드는, 레인징에 참여하는 각 응답자 앵커 디바이스 별 Reply time element를 포함할 수 있다.
본 개시의 일 실시예에 따른 레인징 종료 메시지의 컨텐트 필드는, 도 9a에 도시된 예에 제한되지 않으며, Message Control 필드를 더 포함할 수 있다.
Message Control 필드는, 메시지의 구성을 나타낼 수 있다. Message Control 필드는, 호핑 모드가 이용되는 지 여부, 메시지 내에 라운드 인덱스 필드가 존재하는지 여부, 및 Reply Time list의 길이에 관한 정보를 포함할 수 있다.
도 9b는 일 실시예에 따라 종료 메시지에 포함되는 응답 시간 리스트 엘레먼트의 형식을 도시한다.
도 9b에 도시된 바와 같이, Reply time list 필드에 포함되는 하나의 Reply time list element 는, Address 필드 및 Reply time 필드를 포함하고, 32 bits로 구성될 수 있다.
Address 필드는, 각 응답자 앵커 디바이스를 식별하기 위한 주소를 나타낸다. Address 필드에는 각 응답자 앵커 디바이스의 MAC 주소 정보가 포함될 수 있다.
Reply Time 필드는, Address 필드에 의해 지시되는(indicated) 응답자 앵커 디바이스에 대한 개시자 앵커 디바이스의 응답 시간 정보를 포함할 수 있다. 응답자 앵커 디바이스에 대한 개시자 앵커 디바이스의 응답 시간은, 개시자 앵커 디바이스가 해당 응답자 앵커 디바이스로부터 레인징 응답 메시지를 수신한 시점부터 레인징 종료 메시지를 전송하는 시점까지의 시간일 수 있다.
한편, 상술한 도 7a 및 도 7b는, 백엔드 컨트롤러를 포함하지 않는 위치 확인 시스템에 있어서, 개시자 앵커 디바이스가 레인징 개시 메시지에 스케쥴링 정보를 포함하여 전송하는 경우에 관한 것이다. 그러나 본 개시는 도 7a 및 도 7b에 도시된 예에 제한되지 않으며, 일 실시예에 따른 위치 확인 시스템은 스케쥴링 정보를 관리하는 백엔드 컨트롤러를 포함할 수 있다.
도 10은 일 실시예에 따라 백엔드 컨트롤러를 포함하는 위치 확인 시스템의 개시자 앵커 디바이스가 전송 하는 개시 메시지의 형식을 도시한다.
도 10에 도시된 바와 같이, 개시자 앵커 디바이스에 의해 전송되는 제1 메시지(즉, 레인징 개시 메시지)의 페이로드 IE는 6 bytes로 구성될 수 있다.
레인징 개시 메시지는, 컨텐트 필드의 사이즈를 나타내는 Length 필드, Vendor Specific Nested IE임을 나타내는 Group ID 필드, 페이로드 IE임을 나타내는 Type 필드, 및 컨텐트 필드를 포함할 수 있다. 도 7a에 도시된 레인징 개시 메시지와 비교하여, 도 10에 도시된 레인징 개시 메시지의 컨텐트 필드는, Ranging device management list length 필드 및 Ranging device management list 필드를 포함하지 않는다. 일 실시예에 따라 백엔드 컨트롤러가 레인징 스케쥴을 관리하는 위치 확인 시스템에 있어서, 개시자 앵커 디바이스는 응답자에 대한 스케쥴링 정보가 포함된 레인징 개시 메시지를 전송할 것이 요구되지 않을 수 있다.
일 실시예에 따라 백엔드 컨트롤러를 포함하는 위치 확인 시스템은 아래와 같이 동작할 수 있다.
먼저, 개시자 앵커 디바이스는, 백엔드 컨트롤러에 의해 스케쥴링 되는 레인징 개시 메시지(레인징 Initiation Message, RIM)를 전송함으로써, 레인징을 개시할 수 있다. 모든 응답자 앵커 디바이스들은, 백엔드 컨트롤러에 의해 통지된 정보를 참조함으로써, 레인징 응답 메시지(레인징 Response Message, RRM)를 전송해야 하는지 여부 및 RRM을 전송하기 위해서 이용하는 슬롯을 알 수 있다. 예를 들어, RIM은 도 10에 도시된 형식을 가질 수 있다.
RIM을 수신한 응답자 앵커 디바이스는, 백엔드 컨트롤러에 의해 통지된 정보에 기초하여, RRM을 전송할 수 있다. 예를 들어, RRM은 도 8에 도시된 형식을 가질 수 있다.
RRM을 수신한 개시자 앵커 디바이스는, 백엔드 컨트롤러에 의해 스케쥴링 되는 레인징 종료 메시지(레인징 Final Message, RFM)를 전송함으로써 레인징을 종료할 수 있다. 예를 들어, RFM는 도 9a 및 도 9b에 도시된 형식을 가질 수 있다.
전자 디바이스는, 전송되는 RIM, RRM, 및 RFM을 오버히어(overhear) 하고, TDoA 커브를 획득(find out)할 수 있다. 셋 이상의 앵커 디바이스들로부터 수신되는 신호들에 대하여, 전자 디바이스는 도 5c에 도시된 계산 과정을 반복하여 수행함으로써 TDoA 결과를 획득할 수 있다. 전자 디바이스는 TDoA 결과에 기초하여 앵커 디바이스들에 대한 상대적인 위치를 획득할 수 있다.
전자 디바이스에 설치된 애플리케이션은, TDoA 결과로부터 전자 디바이스의 위치를 획득할 수 있다. 전자 디바이스에 설치된 애플리케이션은, 메시지에 포함되는 MAC 주소 정보에 의해, 메시지와 관련된 각 앵커 디바이스를 식별할 수 있다.
한편, 전자 디바이스 위치 확인 시스템이 외부의 공통 클럭(external common clock)을 포함하지 않는 경우, 클럭 드리프트로 인해 발생하는 앵커 디바이스들 간의 오차가 보정 되어야 할 필요가 있다. 개시자 디바이스와 응답자 디바이스 간의 클럭 드리프트로 인한 오차는 TDoA 결과에 있어서 중대한 에러를 초래할 수 있다. TDoA 에러를 최소화 하기 위하여, 응답자 디바이스는 클럭 드리프트로 인한 오차를 보상해야 할 필요가 있다. 이하에서는, 도 11a, 도 11b, 및 도 12를 참조하여, 앵커 디바이스들 간의 클럭 드리프트로 인한 오차를 보상하는 방법에 대해 구체적으로 설명한다.
도 11a는 일 실시예에 따라 앵커 디바이스들 간의 클럭 드리프트로 인한 오차를 보정하기 위해 이용되는 정보를 설명하는 도면이다.
이하에서는 설명의 편의를 위하여, 도 5a에 도시된 바와 같이, 일 실시예에 따른 전자 디바이스 위치 확인 시스템이 앵커 디바이스 A, 앵커 디바이스 B, 및 전자 디바이스(또는, 모바일 디바이스)를 포함하는 경우를 가정하여 설명한다.
일 실시예에 따라 응답자 역할을 수행하는 앵커 디바이스 B(1102)는, 개시자 역할을 수행하는 앵커 디바이스 A(1101)와의 클럭 드리프트로 인한 오차를 보정하기 위해서 변수 ρn 을 이용할 수 있다. 변수 ρn은, n번째 레인징 라운드의 DS-TWR이 종료되면, 업데이트 될 수 있다. 앵커 디바이스 B(1102)는, n+1번째 레인징 라운드의 DS-TWR 동안 ρn 을 이용할 수 있다.
도 11a에서 ℓ은 앵커 디바이스 A(1101)와 앵커 디바이스 B(1102) 간의 거리를 나타낼 수 있다. 도 11a는 앵커 디바이스 A(1101) 및 앵커 디바이스 B(1102)가 반복적으로 DS-TWR(Double Sided-Two Way Ranging)을 수행하면서, 앵커 디바이스 A(1101) 및 앵커 디바이스 B(1102) 간의 거리 ℓ을 추정하는 동작을 도시한다.
도 11a에서 τn은, 앵커 디바이스 A(1101) 및 앵커 디바이스 B(1102) 간에 수행되는 n번째 DS-TWR에 있어서, 측정되는 제1 왕복 시간을 나타낼 수 있다. 제1 왕복 시간은, 앵커 디바이스 A(1101)가 앵커 디바이스 B(1102)에게 제1 메시지를 전송한 시점으로부터 앵커 디바이스 B(1102)로부터 제2 메시지를 수신하기까지 소요된 시간일 수 있다.
βn은, n번째 DS-TWR에 있어서 앵커 디바이스 B(1102)에 의해 측정되는 앵커 디바이스 B(1102)의 제1 응답 시간을 나타낼 수 있다. 제1 응답 시간은, 앵커 디바이스 B(1102)가 앵커 디바이스 A(1101)로부터 제1 메시지를 수신한 시점으로부터 앵커 디바이스 A(1101)에게 제2 메시지를 전송한 시점까지 소요된 시간일 수 있다. βn'은 n번째 DS-TWR에 있어서 앵커 디바이스 A(1101)에 의해 측정되는 앵커 디바이스 B(1102)의 제1 응답 시간을 나타낼 수 있다.
γn은 n번째 DS-TWR에 있어서 앵커 디바이스 A(1101)에 의해 측정되는 앵커 디바이스 A(1101)의 제2 응답 시간을 나타낼 수 있다. 제2 응답 시간은, 앵커 디바이스 A(1101)가 앵커 디바이스 B(1102)로부터 제2 메시지를 수신한 시점으로부터 앵커 디바이스 B(1102)에게 제3 메시지를 전송한 시점까지 소요된 시간일 수 있다. γn'은 n번째 DS-TWR에 있어서 앵커 디바이스 B(1102)에 의해 측정되는 앵커 디바이스 A(110)의 제2 응답 시간을 나타낼 수 있다.
θn은 n번째 DS-TWR에 있어서 측정되는 제2 왕복 시간을 나타낼 수 있다. 제2 왕복 시간은, 앵커 디바이스 B(1102)가 앵커 디바이스 A(1101)에게 제2 메시지를 전송한 시점으로부터 앵커 디바이스 A(1101)로부터 제3 메시지를 수신하기까지 소요된 시간일 수 있다.
앵커 디바이스들 간의 클럭 드리프트로 인한 오차를 보정하고 앵커 디바이스 A(1101) 및 앵커 디바이스 B(1102) 간의 거리를 측정하기 위하여, 앵커 디바이스 A(1101)가 전송하는 제3 메시지에 τn, γn가 포함될 수 있다. 또한, 앵커 디바이스 B(1102)가 전송하는 제2 메시지에 앵커 디바이스 B(1102)에서 측정된 제1 응답 시간 βn이 포함될 수 있다. βn이 앵커 디바이스 B(1102)의 클럭으로 측정한 값이라고 할 때, 도 11a의 βn'은 앵커 디바이스 A(1101)의 클럭에 의해 측정된 βn 값일 수 있다. γn 가 앵커 디바이스 A(1101)의 클럭으로 측정한 값이라고 할 때 γn'는 앵커 디바이스 B(1102)의 클럭으로 측정한 γn 값일 수 있다. 도 11b에 도시된 바와 같이, βn'= τn-2*l/c로 추정될 수 있다. γn'= θn-2*l/c로 추정될 수 있다.
도 11b를 참조하면, 앵커 디바이스 A(1101)의 클럭 및 앵커 디바이스 B(1102)의 클럭 간의 드리프트 차이(drift difference)는 Dn,1= βn'/ βn으로 추정되고, Dn,2= γn'/ γn으로 추정될 수 있다.
일 실시예에 따른 전자 디바이스는, 매 DS-TWR시 측정되는 β 를 보정하기 위하여 클럭 드리프트로 인한 오차 Dn,1을 이용할 수 있다. Dn,1은 n번째 DS-TWR을 통해 획득된 데이터를 이용하여 계산된 드리프트 차이 값이다. 다른 일 실시예에 따르면, Dn,1 및 Dn,2는, 앵커 디바이스 B(1102)와 앵커 디바이스 A(1101) 간의 클럭 드리프트로 인한 오차를 나타내며, 앵커 디바이스들 간 동기화 및 앵커 디바이스-전자 디바이스 간 동기화에 모두 활용될 수 있다. 칼만 필터(Kalman Filter) 또는 조화 평균(Harmonic Mean)을 통해 동기화 정확도를 강화할 수 있다. 예를 들어, 드리프트 차이값들의 평균값인 ρn=2/(1/Dn,1 +1/Dn,2)또는 ρn=Kalman(Dn,1, Dn,2)가 추정된 드리프트 오차로서 이용될 수 있다.
상술한 바와 같이, 앵커 디바이스 A(1101)의 클럭과 앵커 디바이스 B(1102)의 클럭 간의 드리프트로 인한 오차는, 앵커 디바이스 A(1101)가 앵커 디바이스 B(1102)에게 제1 메시지를 전송한 시점으로부터 앵커 디바이스 B(1102)로부터 제2 메시지를 수신하기까지 소요된 시간인 τn을 이용하여 보정될 수 있다. 또한, 앵커 디바이스 A(1101)의 클럭과 앵커 디바이스 B(1102)의 클럭 간의 오프셋은, 앵커 디바이스 B(1102)가 앵커 디바이스 A(1101)에게 제2 메시지를 전송한 시점으로부터 앵커 디바이스 A(1103)로부터 제3 메시지를 수신하기까지 소요된 시간인 θn를 이용하여 보정될 수 있다. 도 11b에 도시된 바와 같이, γn'는 수학식 θn - ℓ/c - ℓ/c = θn - 2*l/c 에 의해 계산될 수 있다.
따라서, 도 5c에 도시된 수학식에서 앵커 디바이스들(502, 503)의 전자 디바이스(501)로부터의 거리 차이 b-a를 계산함에 있어서, 앵커 디바이스 A(1101)의 클럭에 대한 앵커 디바이스 B(1102)의 클럭의 드리프트로 인한 오차가 보정된 측정 값이 이용될 수 있다. 예를 들어, n번째 DS-TWR을 통해 측정되는 값들을 이용하여 b-a를 계산함에 있어서, 도 5c에 도시된 수학식에서 β 값 대신에 보정값인 βn*Dn또는 βnn-1 가 이용될 수 있다.
일 예로서, 전자 디바이스는, 앵커 디바이스 A(1101)의 제3 메시지(예를 들어, 종료 메시지)를 통해 Dn을 수신한 후, βn*Dn을 계산할 수 있다.
다른 예로서, 전자 디바이스는, 앵커 디바이스 B(1102)의 제2 메시지(예를 들어, 응답 메시지)를 통해 이 전에 계산되었던 ρn-1을 수신하고 앵커 디바이스 A(1101)의 제3 메시지(예를 들어, 종료 메시지)를 수신한 후, βnn-1 를 계산할 수 있다.
도 12는 일 실시예에 따라 앵커 디바이스들 간의 클럭 드리프트로 인한 오차를 보정하기 위해 이용되는 정보를 설명하는 도면이다.
도 12에 도시된 실시예에 따르면, 응답자 역할을 수행하는 앵커 디바이스 2(1203)는, 개시자 역할을 수행하는 앵커 디바이스 1(1202)에 정렬(align)된 응답 시간 측정값(β)을 업데이트할 수 있다. 레인징 개시 메시지 간격(Ranging Initiation Message interval)은, RIM 프레임들 간의 시간을 나타내고, 앵커 디바이스들의 배치(anchor devices deployment)가 수행되는 동안 설정되는 값일 수 있다. 앵커 디바이스 1(1202)과 앵커 디바이스 2(1203)는, TDoA를 수행하기 위해서 RIM 간격을 알고 있어야 하므로, 자신들 고유의 클럭을 이용하여 RIM 간격을 측정할 수 있다.
TA1 및 TA2는, 앵커 디바이스 1(1202)와 앵커 디바이스 2(1203) 각각에 의해 측정되는 RIM 간격일 수 있다. TA1 및 TA2 간의 비율은, 앵커 디바이스 1(1202)의 클럭 및 앵커 디바이스 2(1203)의 클럭의 차이를 나타낼 수 있다. 그러므로, 앵커 디바이스 2(1203)는, 앵커 디바이스 1(1202)과 앵커 디바이스 2(1203) 간의 클럭 드리프트로 인한 오차가 보정된 응답 시간 β'= β *(TA1/TA2)를 포함하는 RRM을 전송할 수 있다.
한편, 본 개시의 일 실시예에 따른 레인징 메시지(예를 들어, RIM, RRM, RFM)에는, 전자 디바이스의 위치 확인(localization)을 위해 필요한 앵커 디바이스의 위치 정보가 추가될 수 있다. 예를 들어, 개시자 앵커 디바이스의 위치 정보는 RIM 또는 RFM에 포함되고, 응답자 앵커 디바이스의 위치 정보는 RRM에 포함될 수 있다. 이하에서는, 도 13 내지 도 15를 참조하여, 앵커 디바이스의 위치 정보를 포함하는 레인징 메시지 형식을 구체적으로 설명한다.
도 13은 일 실시예에 따라 개시자 앵커 디바이스가 전송하는 개시 메시지의 형식을 도시한다.
도 13에 도시된 바와 같이, 개시자 앵커 디바이스에 의해 전송되는 레인징 개시 메시지의 페이로드 IE는 6+3*N bytes로 구성될 수 있다.
레인징 개시 메시지는, 컨텐트 필드의 사이즈를 나타내는 Length 필드, Vendor Specific Nested IE임을 나타내는 Group ID 필드, 페이로드 IE임을 나타내는 Type 필드, 및 컨텐트 필드를 포함할 수 있다.
도 7a에 도시된 레인징 개시 메시지와 비교하여, 도 13에 도시된 레인징 개시 메시지의 컨텐트 필드는, Information of Initiator 필드를 더 포함할 수 있다. Information of Initiator 필드는 개시자 앵커 디바이스의 위치 정보를 나타낼 수 있다. 예를 들어, 개시자 앵커 디바이스의 위치 정보는 GPS 값, 건물의 층 정보, 건물 내의 절대 위치 값 등을 포함할 수 있다. Information of Initiator 필드 이외의 다른 파라미터들에 대해서는, 도 7a 및 도 7b의 설명이 적용될 수 있으므로 중복되는 설명은 생략한다.
도 14는 일 실시예에 따라 응답자 앵커 디바이스가 전송 하는 응답 메시지의 형식을 도시한다.
도 14에 도시된 바와 같이, 응답자 앵커 디바이스에 의해 전송되는 레인징 응답 메시지의 페이로드 IE는 10 bytes로 구성될 수 있다.
레인징 응답 메시지는, 컨텐트 필드의 사이즈를 나타내는 Length 필드, Vendor Specific Nested IE임을 나타내는 Group ID 필드, 페이로드 IE임을 나타내는 Type 필드, 및 컨텐트 필드를 포함할 수 있다.
도 8에 도시된 레인징 응답 메시지와 비교하여, 도 14에 도시된 레인징 응답 메시지의 컨텐트 필드는, Information of Responder 필드를 더 포함할 수 있다. Information of Responder 필드는 응답자 앵커 디바이스의 위치 정보를 나타낼 수 있다. 예를 들어, 응답자 앵커 디바이스의 위치 정보는 GPS 값, 건물의 층 정보, 건물 내의 절대 위치 값 등을 포함할 수 있다. Information of Responder 필드 이외의 다른 파라미터들에 대해서는, 도 8의 설명이 적용될 수 있으므로 중복되는 설명은 생략한다.
도 15는 일 실시예에 따라 개시자 앵커 디바이스가 전송 하는 종료 메시지의 형식을 도시한다.
도 15에 도시된 바와 같이, 개시자 앵커 디바이스에 의해 전송되는 레인징 종료 메시지의 페이로드 IE는 10+6*N bytes로 구성될 수 있다.
레인징 종료 메시지는, 컨텐트 필드의 사이즈를 나타내는 Length 필드, Vendor Specific Nested IE임을 나타내는 Group ID 필드, 페이로드 IE임을 나타내는 Type 필드, 및 컨텐트 필드를 포함할 수 있다.
도 9a에 도시된 레인징 종료 메시지와 비교하여, 도 15에 도시된 레인징 종료 메시지의 컨텐트 필드는, Information of Initiator 필드를 더 포함할 수 있다. Information of Initiator 필드는 개시자 앵커 디바이스의 위치 정보를 나타낼 수 있다. 예를 들어, 개시자 앵커 디바이스의 위치 정보는 GPS 값, 건물의 층 정보, 건물 내의 절대 위치 값 등을 포함할 수 있다. Information of Initiator 필드 이외의 다른 파라미터들에 대해서는, 도 9a 및 도 9b의 설명이 적용될 수 있으므로 중복되는 설명은 생략한다.
상술한 바와 같이, 본 개시의 다양한 실시예들에 따른 전자 디바이스는, 개시자 앵커 디바이스로부터 레인징 개시 메시지를 수신하고, 복수의 응답자 앵커 디바이스들로부터 레인징 개시 메시지에 응답하는 레인징 응답 메시지들을 수신하고, 복수의 응답자 앵커 디바이스들에 응답하는 레인징 종료 메시지를 개시자 앵커 디바이스로부터 수신한 결과에 기초하여, 전자 디바이스의 위치를 계산할 수 있다.
따라서, 상술한 실시예들에 따르면, 전자 디바이스가 개시자 앵커 디바이스로부터 메시지를 원활하게 수신하지 못하는 경우(예를 들어, 전자 디바이스와 개시자 앵커 디바이스 간의 장애물이 있어 LOS(Line Of Sight)가 확보되지 않는 경우), 전자 디바이스의 위치 정보 획득이 어려워질 수 있다. 따라서, 본 개시의 일 실시예에 따르면, 마스터 앵커 디바이스 또는 개시자 앵커 디바이스로부터의 메시지 수신에 의존하지 않는 전자 디바이스의 위치 정보 획득 방법이 제안된다.
일 실시예에 따른 전자 디바이스는, 복수의 앵커 디바이스들로부터 레인징 메시지들을 수신하고 TDoA를 측정할 수 있다. 2차원 위치를 결정하기 위해서는, 전자 디바이스는 넷 이상의 앵커 디바이스들로부터 레인징 메시지들을 수신하고 TDoA를 측정할 수 있다. TDoA 측정 및 앵커들의 주어진 위치들에 기초하여, 전자디바이스는 자신의 위치를 추정할 수 있다. 이하에서는 설명의 편의를 위하여, 전자 디바이스가 네개의 앵커 디바이스들 간의 신호 교환을 관찰하는 경우를 예로 들어 설명한다. 그러나, 본 개시는 이하의 설명에 제한되지 않으며, 전자 디바이스가 자신의 3차원 위치를 확인하기 위해서는, 적어도 다섯의 앵커 디바이스들 간의 신호 교환이 필요할 수 있다.
도 16은 일 실시예에 따른 전자 디바이스의 동작 방법의 흐름도를 도시한다.
단계 S1610에서 일 실시예에 따른 전자 디바이스는, 제1 앵커 디바이스로부터 제1 메시지를 수신할 수 있다. 일 실시예에 따른 제1 앵커 디바이스는, 제1 메시지를 유니캐스트, 멀티캐스트, 또는 브로드캐스트할 수 있다.
단계 S1620에서 일 실시예에 따른 전자 디바이스는, 제2 앵커 디바이스로부터 제2 메시지를 수신할 수 있다. 일 실시예에 따른 제2 앵커 디바이스는, 제2 메시지를 유니캐스트, 멀티캐스트, 또는 브로드캐스트할 수 있다.
단계 S1630에서 일 실시예에 따른 전자 디바이스는, 제3 앵커 디바이스로부터 제3 메시지를 수신할 수 있다. 일 실시예에 따른 제3 앵커 디바이스는, 제3 메시지를 유니캐스트, 멀티캐스트, 또는 브로드캐스트할 수 있다.
단계 S1640에서 일 실시예에 따른 전자 디바이스는, 제4 앵커 디바이스로부터 제4 메시지를 수신할 수 있다. 일 실시예에 따른 제4 앵커 디바이스는, 제4 메시지를 유니캐스트, 멀티캐스트, 또는 브로드캐스트할 수 있다.
예를 들어, 제1 앵커 디바이스가 개시자 앵커 디바이스인 경우, 제2 앵커 디바이스, 제3 앵커 디바이스, 및 제4 앵커 디바이스는, 제1 앵커 디바이스가 전송한 제1 메시지에 응답하여 제2 메시지, 제3 메시지, 및 제4 메시지를 각각 전송할 수 있다. 그러나, 본 개시는 이에 제한되지 않으며, 제1 앵커 디바이스, 제2 앵커 디바이스, 제3 앵커 디바이스, 및 제4 앵커 디바이스는 별도의 개시자 앵커 디바이스로부터 수신된 레인징 개시 메시지에 응답하여 제1 메시지, 제2 메시지, 제3 메시지, 및 제4 메시지를 전송할 수 있다.
단계 S1650에서 일 실시예에 따른 전자 디바이스는, 제1 메시지, 제2 메시지, 제3 메시지, 및 제4 메시지를 수신한 시점들에 기초하여, 전자 디바이스의 위치 정보를 획득할 수 있다.
일 실시예에 따르면, 제1 메시지, 제2 메시지, 제3 메시지, 및 제4 메시지는 미리 결정된 슬롯 간격으로 전송될 수 있다. 따라서, 일 실시예에 따른 전자 디바이스는, 제1 앵커 디바이스, 제2 앵커 디바이스, 제3 앵커 디바이스, 및 제4 앵커 디바이스의 위치 정보 및 슬롯 간격을 더 고려하여, 앵커 디바이스들로부터 메시지들을 수신한 시점들에 기초하여 전자 디바이스의 위치 정보를 획득할 수 있다.
일 실시예에 따른 전자 디바이스는, 적어도 하나의 앵커 디바이스의 위치 정보를 수신하고, 수신된 앵커 디바이스의 위치 정보에 기초하여 전자 디바이스의 위치 정보를 획득할 수 있다. 전자 디바이스는, 앵커 디바이스들로부터 메시지들을 수신한 시점들, 앵커 디바이스들의 위치 정보 및 메시지들이 전송되는 슬롯 간격에 기초하여, 앵커 디바이스들에 대한 TDoA를 측정하고, 측정된 TDoA에 기초하여 전자 디바이스의 위치 정보를 획득할 수 있다.
일 실시예에 따르면, 정확한 레인징을 위해서 앵커 디바이스들 간에 클럭 드리프트 보정이 수행될 수 있다. 일 실시예에 따르면, 제1 앵커 디바이스, 제2 앵커 디바이스, 제3 앵커 디바이스, 및 제4 앵커 디바이스 중 하나의 앵커 디바이스의 클럭에 기초하여, 다른 앵커 디바이스들이 클럭 드리프트를 보정하거나 클럭 드리프트로 인한 오차를 보정할 수 있다. 예를 들어, 제2 앵커 디바이스, 제3 앵커 디바이스, 및 제4 앵커 디바이스는, 제1 앵커 디바이스의 클럭에 기초하여 클럭을 보정하고, 보정된 클럭에 기초하여 제2 메시지, 제3 메시지, 및 제4 메시지를 각각 전송할 수 있다.
또한, 일 실시예에 따르면, 앵커 디바이스들 간에 슬롯 타이밍 동기화가 수행될 수 있다. 일 실시예에 따르면, 제1 앵커 디바이스, 제2 앵커 디바이스, 제3 앵커 디바이스, 및 제4 앵커 디바이스 중 하나의 앵커 디바이스의 슬롯 타이밍에 기초하여, 다른 앵커 디바이스들이 자신의 메시지 전송 타이밍을 계산할 수 있다.
예를 들어, 제1 앵커 디바이스는, 제1 슬롯 내에서 제1 메시지를 전송하고, 제2 앵커 디바이스는, 제2 슬롯 내에서 제2 메시지를 전송할 수 있다. 이 때, 제1 앵커 디바이스와 제2 앵커 디바이스 간의 슬롯 타이밍 동기화에 기초하여, 제2 앵커 디바이스는, 제1 앵커 디바이스의 제1 메시지의 전송 시점으로부터 하나의 슬롯 간격 후에 제2 메시지를 전송할 수 있다. 예를 들어, 제1 앵커 디바이스가 제1 메시지를 제1 슬롯의 시작 시점에 전송하면, 제2 앵커 디바이스는, 제1 슬롯의 다음 슬롯인 제2 슬롯의 시작 시점에 제2 메시지를 전송할 수 있다. 또한, 제2 앵커 디바이스 외의 다른 앵커 디바이스들도, 제1 앵커 디바이스의 메시지 전송 타이밍(또는, 슬롯 타이밍)에 기초하여, 할당된 슬롯의 시작 시점에 메시지를 전송할 수 있다.
한편, 정확한 레인징을 위해서는, 앵커 디바이스들 간의 클럭 드리프트로 인한 오차 보정 뿐만 아니라, 전자 디바이스와 앵커 디바이스 간의 클럭 드리프트로 인한 오차 보정이 필요할 수 있다. 따라서, 일 실시예에 따른 전자 디바이스는, 제1 앵커 디바이스의 클럭과 전자 디바이스의 클럭 간의 차이를 획득하고, 획득된 클럭의 차이에 기초하여 측정 값을 보정함으로써, 클럭 드리프트로 인한 오차가 보정된 위치 정보를 획득할 수 있다.
도 17은 일 실시예에 따라 앵커 디바이스들 간에 수행되는 보정을 설명하기 위한 도면이다.
도 17에 도시된 바와 같이, 제1 앵커 디바이스(1701) 및 제2 앵커 디바이스(1702) 간에 보정이 수행될 수 있다. 그러나 본 개시는 도 17에 도시된 예에 제한되지 않으며, 제2 앵커 디바이스(1702) 이외의 다른 앵커 디바이스들도 제1 앵커 디바이스(1701)에 기초하여 보정을 수행할 수 있다.
먼저, 일 실시예에 따른 제2 앵커 디바이스(1702)는 측정된 레인징 블록 주기(duration)에 기초하여 클럭 드리프트로 인한 오차를 보정할 수 있다.
도 17에서 T1은 소정 레인징 블록에서 제1 앵커 디바이스(1701)가 메시지를 전송한 시점을 나타내고, t1은 제2 앵커 디바이스(1702)가 측정한 해당 메시지의 수신 시점을 나타낼 수 있다. T2는 소정 레인징 블록의 다음 레인징 블록에서 제1 앵커 디바이스(1701)가 메시지를 전송한 시점을 나타내고, t2는 제2 앵커 디바이스(1702)가 측정한 해당 메시지의 수신 시점을 나타낼 수 있다. 따라서, T2-T1은 제1 앵커 디바이스(1701)의 클럭 내에서 알고 있는 블록 주기(known block duration in the first anchor device clock)이고, t2-t1은 제2 앵커 디바이스(1702)의 클럭 내에서 측정된 블록 주기(measured block duration in the second anchor device clock)일 수 있다.
도 17에 도시된 제1 앵커 디바이스(1701) 및 제2 앵커 디바이스(1702) 간의 클럭 드리프트로 인한 오차는 (T2-T1)/(t2-t1)=R로 추정되고, 추정된 값 R은 제2 앵커 디바이스(1702)의 클럭 드리프트로 인한 오차 보정에 이용될 수 있다.
한편, 일 실시예에 따른 제2 앵커 디바이스(1702)는 제1 앵커 디바이스(1701)의 슬롯 타이밍에 기초하여 자신의 메시지 전송 타이밍을 결정할 수 있다.
메시지 전송 타이밍을 결정하기 위하여, 제2 앵커 디바이스는, 제1 앵커 디바이스와 제2 앵커 디바이스 간의 거리(ℓ)를 신호의 전송 속도(c)로 나눔으로써 제1 앵커 디바이스와 제2 앵커 디바이스 간의 ToF(Time of Flight)을 계산할 수 있다. 그리고, 제2 앵커 디바이스는, 제1 앵커 디바이스로부터 제1 메시지를 수신한 시점(t1)으로부터 제1 앵커 디바이스와 제2 앵커 디바이스 간의 ToF(ℓ/c)를 뺄셈함으로써, 제1 메시지가 전송된 시점인 제1 슬롯의 시작 시점(t0)을 결정할 수 있다. 제2 앵커 디바이스는, 제1 슬롯의 시작 시점(t0)에 미리 결정된 슬롯 간격을 더함으로써, 제2 메시지를 전송할 제2 슬롯의 시작 시점을 결정할 수 있다.
일 실시예에 따른 앵커 디바이스들은, 도 17을 참조하여 상술한 앵커 디바이스들 간의 보정이 완료된 후, 소정 슬롯 간격으로 메시지들을 전송할 수 있다. 일 실시예에 따른 전자 디바이스는, 앵커 디바이스들 간 보정이 완료된 앵커 디바이스들로부터 수신된 메시지들에 기초하여, 자신의 위치 정보를 획득할 수 있다. 이하에서는, 일 실시예에 따른 전자 디바이스가 위치 정보를 획득하는 구체적인 동작 방법을 설명한다.
도 18a는 일 실시예에 따른 전자 디바이스 위치 확인 시스템의 구성을 도시한다.
일 실시예에 따른 전자 디바이스 위치 확인 시스템은 제1 앵커 디바이스(1801), 제2 앵커 디바이스(1802), 제3 앵커 디바이스(1803), 제4 앵커 디바이스(1804), 및 전자 디바이스(또는, 모바일 디바이스)(1805)를 포함할 수 있다.
도 18a에서 ℓ1,2는 제1 앵커 디바이스(1801)와 제2 앵커 디바이스(1802) 간의 거리를 나타내고, ℓ1,3은 제1 앵커 디바이스(1801)와 제3 앵커 디바이스(1803) 간의 거리를 나타내고, ℓ1,4는 제1 앵커 디바이스(1801)와 제4 앵커 디바이스(1804) 간의 거리를 나타낼 수 있다. d1은 제1 앵커 디바이스(1801)와 전자 디바이스(1805) 간의 거리를 나타내고, d2는 제2 앵커 디바이스(1802)와 전자 디바이스(1805) 간의 거리를 나타내고, d3는 제3 앵커 디바이스(1803)와 전자 디바이스(1805) 간의 거리를 나타내고, d4는 제4 앵커 디바이스(1804)와 전자 디바이스(1805) 간의 거리를 나타낼 수 있다.
일 실시예에 따른 전자 디바이스(1805)는, 제1 앵커 디바이스(1801)에서 전송된 신호가 전자 디바이스(1805)에 도착하는데 소요되는 시간 및 제2 앵커 디바이스(1802)에서 전송된 신호가 전자 디바이스(1805)에 도착하는데 소요되는 시간 간의 차이에 기초하여, 제1 앵커 디바이스(1801)로부터 전자 디바이스(1805)까지의 거리(d1) 및 제2 앵커 디바이스(1802)로부터 전자 디바이스(1805)까지의 거리(d2) 간의 차이를 계산할 수 있다.
또한, 일 실시예에 따른 전자 디바이스(1805)는, 제1 앵커 디바이스(1801)에서 전송된 신호가 전자 디바이스(1805)에 도착하는데 소요되는 시간 및 제3 앵커 디바이스(1803)에서 전송된 신호가 전자 디바이스(1805)에 도착하는데 소요되는 시간 간의 차이에 기초하여, 제1 앵커 디바이스(1801)로부터 전자 디바이스(1805)까지의 거리(d1) 및 제3 앵커 디바이스(1803)로부터 전자 디바이스(1805)까지의 거리(d3) 간의 차이를 계산할 수 있다.
또한, 일 실시예에 따른 전자 디바이스(1805)는, 제1 앵커 디바이스(1801)에서 전송된 신호가 전자 디바이스(1805)에 도착하는데 소요되는 시간 및 제4 앵커 디바이스(1804)에서 전송된 신호가 전자 디바이스(1805)에 도착하는데 소요되는 시간 간의 차이에 기초하여, 제1 앵커 디바이스(1801)로부터 전자 디바이스(1805)까지의 거리(d1) 및 제4 앵커 디바이스(1804)로부터 전자 디바이스(1805)까지의 거리(d4) 간의 차이를 계산할 수 있다.
도 18a 내지 도 18c에서는 설명의 편의를 위하여, 전자 디바이스(1805)가 네 앵커 디바이스들(1801, 1802, 1803, 1804) 간의 도착 시간 차이를 계산하는 경우를 예로 들어 도시하였지만 본 개시의 실시예는 도 18a 내지 도 18c에 도시된 예에 제한되지 않는다. 전자 디바이스(1805)는 다섯 이상의 앵커 디바이스들 간의 신호 교환을 관찰하여 측정된 도착 시간 차이들에 기초하여 전자 디바이스(1805)의 위치를 확인할 수 있다. 일 실시예에 따른 전자 디바이스(1805)가 자신의 3차원 위치를 확인하기 위해서는, 적어도 다섯 개의 앵커 디바이스들 간의 TDoA 정보가 필요할 수 있다.
도 18b는 일 실시예에 따른 전자 디바이스가 앵커 디바이스들에 대한 전자 디바이스의 위치 정보를 획득하기 위해 이용하는 정보를 설명하기 위한 도면이다.
도 18b에 도시된 바와 같이, 제1 앵커 디바이스(1801), 제2 앵커 디바이스(1802), 제3 앵커 디바이스(1803), 및 제4 앵커 디바이스(1804) 각각은 슬롯의 시작 시점에 메시지를 전송하도록, 슬롯 타이밍 동기화를 수행할 수 있다. 도 18b에서 슬롯 주기(slot duration)는 S로 표시된다.
첫번째 슬롯에서, 제1 앵커 디바이스(1801)가 제1 메시지를 전송하는 시점을 0이라고 할 때, 전자 디바이스(1805)는 제1 메시지를 수신하는 시점을 t1으로 측정할 수 있다. 두번째 슬롯에서 제2 앵커 디바이스(1802)가 제2 메시지를 전송하는 시점을 S라고 할 때, 전자 디바이스(1805)는 제2 메시지를 수신하는 시점을 t2로 측정할 수 있다. 세번째 슬롯에서 제3 앵커 디바이스(1803)가 제3 메시지를 전송하는 시점을 2S라고 할 때, 전자 디바이스(1805)는 제3 메시지를 전송하는 시점을 t3로 측정할 수 있다. 네번째 슬롯에서 제4 앵커 디바이스(1804)가 제4 메시지를 전송하는 시점을 3S라고 할 때, 전자 디바이스(1805)는 제4 메시지를 수신하는 시점을 t4로 측정할 수 있다.
일 실시예에 따른 전자 디바이스(1805)는, 앵커 디바이스들이 전송하는 메시지들을 오버히어하고, TDoA 커브를 획득할 수 있다. 전자 디바이스(1805)는 도 18c에 도시된 계산 과정을 수행함으로써 TDoA 결과를 획득할 수 있다. 전자 디바이스(1805)는 TDoA 결과에 기초하여 자신의 위치 정보를 획득할 수 있다.
도 18c는 일 실시예에 따른 전자 디바이스가 앵커 디바이스들에 대한 전자 디바이스의 위치 정보를 획득하기 위해 이용하는 구체적인 계산 과정을 설명하기 위한 도면이다.
도 18c에 도시된 바와 같이, 전자 디바이스 위치 확인 시스템에서 앵커 디바이스들의 위치는 알고 있고 전자 디바이스의 위치가 추정되기 전인 경우, 앵커 디바이스들로부터 전자 디바이스까지의 거리 d1, d2, d3, d4 및 개시자 앵커 디바이스에 대한 전자 디바이스의 클럭 드리프트 R은 알려지지 않은 값들(unknown values)일 수 있다. 일 실시예에 따른 전자 디바이스는, 개시자 앵커 디바이스에 대한 전자 디바이스의 클럭 드리프트로 인한 오차(R)를 이용하여, 메시지 수신 시점들 간의 차이 값과 미리 결정된 슬롯 간격 값을 개시자 앵커 디바이스의 클럭 기준으로 보정하고, 보정된 값들을 TDoA 측정에 이용할 수 있다.
전자 디바이스(1805)는, 제1 앵커 디바이스(1801)로부터 전자 디바이스(1805)로 제1 메시지가 전달되는데 소요되는 시간(t1*R) 및 제2 앵커 디바이스(1802)로부터 전자 디바이스(1805)로 제2 메시지가 전달되는데 소요되는 시간((t2 - S)*R) 간의 차이((t2-t1-S) *R)로부터, 제1 앵커 디바이스(1801)와 전자 디바이스(1805) 간의 거리(d2) 및 제2 앵커 디바이스(1802)와 전자 디바이스(1805) 간의 거리(d1) 간의 차이(d2-d1)를 도출할 수 있다. 도 18c에 도시된 바와 같이, (t2-t1-S)*R=(d2-d1)/c로 표현될 수 있다.
전자 디바이스(1805)는, 제1 앵커 디바이스(1801)로부터 전자 디바이스(1805)로 메시지가 전달되는데 소요되는 시간(t1*R) 및 제3 앵커 디바이스(1803)로부터 전자 디바이스(1805)로 메시지가 전달되는데 소요되는 시간((t3- 2S)*R) 간의 차이((t3-t1-2S)*R) 로부터, 제1 앵커 디바이스(1801)와 전자 디바이스(1805) 간의 거리(d1) 및 제3 앵커 디바이스(1803)와 전자 디바이스(1805) 간의 거리(d3) 간의 차이(d3-d1)를 도출할 수 있다. 도 18c에 도시된 바와 같이, (t3-t1-2S)*R=(d3-d1)/c로 표현될 수 있다.
전자 디바이스(1805)는, 제1 앵커 디바이스(1801)로부터 전자 디바이스(1805)로 메시지가 전달되는데 소요되는 시간(t1*R) 및 제4 앵커 디바이스(1804)로부터 전자 디바이스(1805)로 메시지가 전달되는데 소요되는 시간((t4-3S)*R) 간의 차이((t4-t1-3S)*R)로부터, 제1 앵커 디바이스(1801)와 전자 디바이스(1805) 간의 거리(d1) 및 제4 앵커 디바이스(1804)와 전자 디바이스(1805) 간의 거리(d4) 간의 차이(d4-d1)를 도출할 수 있다. 도 18c에 도시된 바와 같이, (t4-t1-3S)*R=(d4-d1)/c로 표현될 수 있다.
또한, 도 18c를 참조하면, 모르는 변수들의 개수를 줄이기 위하여, 제1 앵커 디바이스와 전자 디바이스 간의 거리(d1)는, 제1 앵커 디바이스(1801)의 위치 정보 (x1, y1) 및 전자 디바이스(1805)의 위치 정보 (xm, ym)를 이용하여 표현될 수 있다.
제2 앵커 디바이스와 전자 디바이스 간의 거리(d2)는, 제2 앵커 디바이스(1802)의 위치 정보 (x2, y2) 및 전자 디바이스(1805)의 위치 정보 (xm, ym)를 이용하여 표현될 수 있다. 제3 앵커 디바이스와 전자 디바이스 간의 거리(d3)는, 제3 앵커 디바이스(1803)의 위치 정보 (x3, y3) 및 전자 디바이스(1805)의 위치 정보 (xm, ym)를 이용하여 표현될 수 있다. 제4 앵커 디바이스와 전자 디바이스 간의 거리(d4)는, 제4 앵커 디바이스(1804)의 위치 정보 (x4, y4) 및 전자 디바이스(1805)의 위치 정보 (xm, ym)를 이용하여 표현될 수 있다.
결과적으로, 도 18c에 도시된 바와 같이, 전자 디바이스(1805)는, 3개의 새로운 TDoA 수학식들로부터 변수 R, xm, ym을 도출할 수 있다.
상술한 바와 같이, 전자 디바이스는, 본 개시의 다양한 실시예들에 따라 TDoA를 수행할 수 있다. 따라서, 일 실시예에 따른 전자 디바이스는, 앵커 디바이스들로부터 수신되는 메시지들에 기초하여, 레인징을 수행할 TDoA 방식을 결정할 수 있다.
일 실시예에 따른 전자 디바이스는, 제1 앵커 디바이스로부터 수신되는 메시지들의 개수 및 제1 앵커 디바이스를 포함하는 복수의 앵커 디바이스들로부터 수신되는 메시지들의 총 개수에 기초하여, 전자 디바이스의 위치 정보를 획득하기 위한 방식을 결정할 수 있다. 이 때, 제1 앵커 디바이스는, 마스터 앵커 디바이스 또는 개시자 앵커 디바이스일 수 있다.일 실시예에 따른 전자 디바이스는, 하나의 레인징 라운드 내에서 제1 앵커 디바이스로부터 수신되는 메시지들의 개수가 m(m은 자연수)이고 제1 앵커 디바이스를 포함하는 복수의 앵커 디바이스들로부터 수신되는 메시지들의 총 개수가 n(n은 자연수)이상인 지 여부에 기초하여, 전자 디바이스의 위치 정보를 획득하기 위한 방식을 결정할 수 있다.
일 예로서, 전자 디바이스가, 2차원 위치 정보를 획득하기 위해서는, 제1 앵커 디바이스로부터 수신되는 메시지들의 개수가 2이고 제1 앵커 디바이스를 포함하는 복수의 앵커 디바이스들로부터 수신되는 메시지들의 총 개수가 4 이상인 지 여부에 기초하여, 전자 디바이스의 위치 정보를 획득하기 위한 방식을 결정할 수 있다. 다른 예로서, 전자 디바이스가, 3차원 위치 정보를 획득하기 위해서는, 제1 앵커 디바이스로부터 수신되는 메시지들의 개수가 2이고 제1 앵커 디바이스를 포함하는 복수의 앵커 디바이스들로부터 수신되는 메시지들의 총 개수가 5 이상인 지 여부에 기초하여, 전자 디바이스의 위치 정보를 획득하기 위한 방식을 결정할 수 있다.
도 19는 일 실시예에 따른 전자 디바이스의 동작 방법의 흐름도를 도시한다. 도 19는 일 실시예에 따른 전자 디바이스가, 자신의 2차원 위치 정보를 획득하기 위한 방식을 결정하는 방법의 예를 도시한다.
도 19에 도시된 바와 같이, 단계 S1910에서 일 실시예에 따른 전자 디바이스는, 하나의 레인징 라운드 내에서 제1 앵커 디바이스로부터 수신된 메시지들의 숫자(M)가 2이고, 제1 앵커 디바이스를 포함하는 복수의 앵커 디바이스들로부터 수신되는 메시지들의 총 개수(N)가 4이상인지 여부를 결정할 수 있다.
M이 2이고 N이 4이상인 경우, 단계 S1931에서 전자 디바이스는, 제1 레인징 방식을 이용하여 전자 디바이스의 위치 정보를 획득할 수 있다. 제1 레인징 방식이란, 예를 들어, 도 4 내지 도 15를 참조하여 상술한 TDoA 알고리즘일 수 있다. 제1 레인징 방식에 따르면, 전자 디바이스는, 제1 앵커 디바이스로부터 레인징 개시 메시지를 수신한 시점, 제2 앵커 디바이스 및 제3 앵커 디바이스로부터 레인징 응답 메시지들을 수신한 시점, 및 제1 앵커 디바이스로부터 레인징 종료 메시지를 수신한 시점에 기초하여, 자신의 위치 정보를 획득할 수 있다.
단계 S1920에서 일 실시예에 따른 전자 디바이스는, M이 2보다 작고 N이 4이상인지 여부를 판단할 수 있다.
M이 2보다 적고 N이 4이상인 경우, 단계 S1932에서 전자 디바이스는, 제2 레인징 방식을 이용하여 전자 디바이스의 위치 정보를 획득할 수 있다. 제2 레인징 방식이란, 예를 들어, 도 16 내지 도 18c를 참조하여 상술한 TDoA 알고리즘일 수 있다. 제2 레인징 방식에 따르면, 전자 디바이스는, 제1 앵커 디바이스, 제2 앵커 디바이스, 제3 앵커 디바이스, 및 제4 앵커 디바이스 각각으로부터 제1 메시지, 제2 메시지, 제3 메시지, 및 제4 메시지를 수신한 시점에 기초하여, 자신의 위치 정보를 획득할 수 있다.
만약, 레인징 라운드 내에서 앵커 디바이스들로부터 수신되는 메시지들의 개수가 4개 미만인 경우, 단계 S1940에서 전자 디바이스는, 레인징 실패라고 판단할 수 있다.
도 19는 일 실시예에 따른 전자 디바이스가, 자신의 2차원 위치 정보를 획득하기 위한 방식을 결정하는 방법의 예를 도시하므로, 본 개시의 다양한 실시예들은 도 19에 도시된 예에 제한되지 않는다. 예를 들어, 일 실시예에 따른 전자 디바이스가 자신의 3차원 위치 정보를 획득하기 위해서는, 단계 S1910에서 제1 앵커 디바이스로부터 수신된 메시지들의 숫자(M)가 2이고, 제1 앵커 디바이스를 포함하는 복수의 앵커 디바이스들로부터 수신되는 메시지들의 총 개수(N)가 5이상인지 여부를 결정할 수 있다. 그리고, 일 실시예에 따른 전자 디바이스는, 단계 S1920에서 M이 2보다 작고 N이 5이상인지 여부를 판단할 수 있다.
도 20은 일 실시예에 따른 전자 디바이스의 블록도를 도시한다.
본 개시의 다양한 실시 예들에 따른 전자 디바이스(2000)는 고정형 단말이거나 이동형 단말일 수 있다. 전자 디바이스(2000)는, 예를 들어, 스마트 폰(smart phone), 내비게이션, 컴퓨터, 디지털방송용 단말, 스마트 가전, 인공 지능 스피커, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 스마트 키 및 웨어러블 디바이스 중 적어도 하나일 수 있으나, 이에 한정되지 않는다. 전자 디바이스(2000)는, 무선 또는 유선 통신 방식을 이용하여 네트워크를 통해 다른 디바이스 및/또는 서버와 통신할 수 있다.
도 20을 참조하면, 본 개시의 다양한 실시 예들에 따른 전자 디바이스(2000)는, 통신부(2010), 프로세서(2020), 및 메모리(2030)를 포함할 수 있다. 그러나, 도 20에 도시된 구성 요소보다 많거나 적은 구성 요소에 의해 전자 디바이스(2000)가 구현될 수 있다.
도 20에서는 전자 디바이스(2000)가 하나의 프로세서를 포함하는 것으로 도시되었으나, 실시 예는 이에 제한되지 않으며, 전자 디바이스(2000)는 복수의 프로세서들을 포함할 수 있다. 이하, 서술되는 프로세서(2020)의 동작 및 기능들의 적어도 일부는 복수의 프로세서들에 의해 수행될 수 있다. 도 20에 도시된 전자 디바이스(2000)는, 본 개시의 다양한 실시 예들에 따른 동작 방법을 수행할 수 있으며, 도 2 내지 도 19에 대한 설명들이 적용될 수 있다. 따라서, 상술한 바와 중복되는 내용은 생략한다.
본 개시의 일 실시 예에 따른 통신부(2010)는, 다른 디바이스 또는 네트워크와 유무선 통신을 수행할 수 있다. 이를 위해, 통신부(2010)는 다양한 유무선 통신 방법 중 적어도 하나를 지원하는 통신 모듈을 포함할 수 있다. 예를 들어, 통신 모듈은 칩셋(chipset)의 형태일 수도 있고, 또는 통신에 필요한 정보를 포함하는 스티커/바코드(e.g. NFC tag를 포함하는 스티커)등일 수도 있다.
무선 통신은, 예를 들어, 셀룰러 통신, Wi-Fi(Wireless Fidelity), Wi-Fi Direct, 블루투스(Bluetooth), UWB(Ultra Wide Band) 또는 NFC(Near Field Communication) 중 적어도 하나를 포함할 수 있다. 유선 통신은, 예를 들어, USB 또는 HDMI(High Definition Multimedia Interface) 중 적어도 하나를 포함할 수 있다.
본 개시의 일 실시 예에 따른 프로세서(2020)는, 메모리(2030)에 저장된 프로그램을 실행함으로써 전자 디바이스(2000)의 전체적인 동작을 제어하며, CPU, GPU 등과 같은 프로세서를 적어도 하나 이상 포함할 수 있다. 프로세서(2020)는 UWB 레인징을 수행하기 위하여 전자 디바이스(2000)에 포함된 다른 구성들을 제어할 수 있다. 프로세서(2020)가 전자 디바이스(2000)의 전체적인 동작을 제어하여 위치 확인(positioning)을 수행하는 구체적인 방법에 대해서는 도 4, 도 16 또는 도 19에 대한 설명이 적용될 수 있고 중복되는 설명은 생략한다.
일 실시예에 따른 프로세서(2020)는, 주위의 복수의 앵커 디바이스들과의 신호 교환을 통해 전자 디바이스(2000)의 위치 정보를 획득할 수 있다.
일 실시 예에 따르면, 프로세서(2020)는, 제1 앵커 디바이스에서 전송되는 개시 메시지를 수신하도록 통신부(2010)를 제어할 수 있다. 이 때, 개시 메시지를 전송하는 제1 앵커 디바이스는, 개시자 앵커 디바이스일 수 있다.
일 예로서, 일 실시예에 따른 전자 디바이스가 포함되는 레인징 시스템은, 백엔드 컨트롤러를 포함하지 않을 수 있다. 이 때, 개시 메시지는, 제2 앵커 디바이스가 응답 메시지를 전송하기 위해 이용하는 슬롯 인덱스를 스케쥴링 정보로서 포함할 수 있다. 개시 메시지는, 제2 앵커 디바이스를 포함하는 적어도 하나의 앵커 디바이스의 주소를 더 포함할 수 있다.
다른 예로서, 일 실시예에 따른 전자 디바이스가 포함되는 레인징 시스템은, 백엔드 컨트롤러를 포함할 수 있다. 이 때, 개시 메시지, 응답 메시지 및 종료 메시지는 백엔드 컨트롤러에 의해 스케쥴링될 수 있다. 따라서, 개시 메시지에 슬롯 인덱스가 포함되지 않을 수 있다.
일 실시 예에 따른 프로세서(2020)는, 제2 앵커 디바이스로부터 제2 앵커 디바이스의 제1 응답 시간(reply time)에 관한 정보를 수신하도록 통신부(2010)를 제어할 수 있다. 제1 응답 시간에 관한 정보는, 제2 앵커 디바이스가 개시 메시지를 수신한 시점부터 응답 메시지를 전송하는 시점까지의 시간에 관한 정보를 포함할 수 있다. 일 실시 예에 따른 프로세서(2020)는, 개시 메시지에 응답하여 제2 앵커 디바이스에서 전송 되는 응답 메시지를 수신하도록 통신부(2010)를 제어할 수 있다.
일 예로서, 응답 메시지는 제2 앵커 디바이스의 제1 응답 시간에 관한 정보를 포함할 수 있다. 다른 예로서, 응답 메시지에는 STS가 포함되고 제1 응답 시간에 관한 정보는 포함되지 않을 수 있다. 제1 응답 시간에 관한 정보는, 응답 메시지와는 별도의 메시지에 포함되어 전송될 수 있다.
일 실시 예에 따른 프로세서(2020)는, 제1 앵커 디바이스로부터 제2 앵커 디바이스에 대한 제2 응답 시간에 관한 정보를 수신 하도록 통신부(2010)를 제어할 수 있다. 제2 응답 시간에 관한 정보는, 제1 앵커 디바이스가 응답 메시지를 수신한 시점부터 종료 메시지를 전송하는 시점까지의 시간에 관한 정보를 포함할 수 있다. 일 실시 예에 따른 프로세서(2020)는, 제1 앵커 디바이스에서 전송 되는 종료 메시지를 수신하도록 통신부(2010)를 제어할 수 있다.
일 예로서, 종료 메시지는, 제2 앵커 디바이스에 대한 제2 응답 시간을 포함할 수 있다. 다른 예로서, 종료 메시지에는 STS가 포함되고 제2 응답 시간에 관한 정보는 포함되지 않을 수 있다. 제2 응답 시간에 관한 정보는, 종료 메시지와는 별도의 메시지에 포함되어 전송될 수 있다.
또한, 일 실시 예에 따른 프로세서(2020)는, 제1 앵커 디바이스의 왕복 시간에 관한 정보를 더 수신하도록 통신부(2010)를 제어할 수 있다.
일 예로서, 제2 앵커 디바이스에 대한 제1 앵커 디바이스의 왕복 시간에 관한 정보는 종료 메시지에 포함되어 전송될 수 있다. 그러나 본 개시는 이에 제한되지 않으며, 제2 앵커 디바이스에 대한 제1 앵커 디바이스의 왕복 시간에 관한 정보는, 종료 메시지와는 별도의 메시지에 포함되어 전송될 수 있다. 제2 앵커 디바이스에 대한 제1 앵커 디바이스의 왕복 시간은, 제1 앵커 디바이스가 개시 메시지를 전송한 시점부터 제2 앵커 디바이스로부터 응답 메시지를 수신하는 시점까지의 시간을 의미할 수 있다.
다른 예로서, 제3 앵커 디바이스에 대한 제1 앵커 디바이스의 왕복 시간에 관한 정보가 종료 메시지에 포함되어 전송될 수 있다. 그러나 본 개시는 이에 제한되지 않으며, 제3 앵커 디바이스에 대한 왕복 시간에 관한 정보는, 종료 메시지와는 별도의 메시지에 포함되어 전송될 수 있다. 제3 앵커 디바이스는, 제1 앵커 디바이스에서 전송한 개시 메시지를 수신하는 복수의 앵커 디바이스들 중에서, 개시 메시지에 대하여 가장 먼저 응답 메시지를 전송한 앵커 디바이스일 수 있다. 제3 앵커 디바이스에 대한 왕복 시간은, 제1 앵커 디바이스가 개시 메시지를 전송한 시점부터 제3 앵커 디바이스로부터 응답 메시지를 수신하는 시점까지의 시간을 의미할 수 있다.
일 실시 예에 따른 프로세서(2020)는, 제3 앵커 디바이스에 대한 제1 앵커 디바이스의 왕복 시간, 제3 앵커 디바이스에 대한 제1 앵커 디바이스의 응답 시간, 및 다른 앵커 디바이스에 대한 제1 앵커 디바이스의 응답 시간을 이용하여, 다른 앵커 디바이스에 대한 제1 앵커 디바이스의 왕복 시간을 계산할 수 있다. 예를 들어, 프로세서(2020)는, 제3 앵커 디바이스에 대한 제1 앵커 디바이스의 왕복 시간 및 제3 앵커 디바이스에 대한 제1 앵커 디바이스의 응답 시간의 합에서 제2 앵커 디바이스에 대한 제1 앵커 디바이스의 응답 시간을 뺄셈 함으로써, 제2 앵커 디바이스에 대한 제1 앵커 디바이스의 왕복 시간을 계산할 수 있다.
일 실시 예에 따른 프로세서(2020)는, 제1 앵커 디바이스와 전자 디바이스 간의 제1 거리 및 제2 앵커 디바이스와 전자 디바이스 간의 제2 거리의 차이와 관련된 정보를 획득할 수 있다. 전자 디바이스는, 제1 거리 및 제2 거리의 차이에 기초하여 전자 디바이스의 위치 정보를 획득할 수 있다.
일 실시 예에 따른 프로세서(2020)는, 개시 메시지, 응답 메시지, 및 종료 메시지 중 적어도 하나를 수신한 시점에 관한 정보, 제1 응답 시간에 관한 정보, 및 제2 응답 시간에 관한 정보에 기초하여, 제1 거리 및 제2 거리의 차이와 관련된 정보를 획득할 수 있다.
일 실시 예에 따른 프로세서(2020)는, 제1 거리 및 제2 거리의 차이와 관련된 정보를 획득하기 위해서, 제1 앵커 디바이스로부터 전자 디바이스로의 메시지 도착 시간 및 제2 앵커 디바이스로부터 전자 디바이스로의 메시지 도착 시간 간의 도착 시간 차이(TDoA)를 계산할 수 있다.
도착 시간 차이는, 제2 앵커 디바이스의 제1 응답 시간, 전자 디바이스의 개시 메시지 수신 시점부터 응답 메시지 수신 시점까지의 시간 차이, 제1 앵커 디바이스의 제2 응답 시간, 및 상기 전자 디바이스의 응답 메시지 수신 시점부터 상기 종료 메시지 수신 시점까지의 시간 차이에 기초하여 계산될 수 있다.
일 실시 예에 따른 프로세서(2020)는, 제1 거리 및 제2 거리의 차이와 관련된 정보를 획득하기 위해서, 전자 디바이스, 제1 앵커 디바이스, 및 제2 앵커 디바이스 중 적어도 하나의 디바이스의 클럭에 기초한 보정을 수행함으로써, 제1 거리 및 제2 거리의 차이를 계산할 수 있다.
일 실시 예에 따른 프로세서(2020)는, 제1 앵커 디바이스 및 제2 앵커 디바이스뿐만 아니라, 셋 이상의 앵커 디바이스들 간에 신호를 송수신함으로써, TDoA 결과를 획득할 수 있다. 프로세서(2020)는, TDoA 결과에 기초하여 앵커 디바이스들에 대한 상대적인 위치를 획득할 수 있다.
한편, 다른 일 실시예에 따르면, 전자 디바이스(2000)는, 마스터 앵커 디바이스 또는 개시자 앵커 디바이스로부터의 메시지 수신에 의존하지 않고 위치 정보를 획득할 수 있다.
일 실시예에 따른 프로세서(2020)는, 제1 앵커 디바이스로부터 제1 메시지를 수신하고, 제2 앵커 디바이스로부터 제2 메시지를 수신하고, 제3 앵커 디바이스로부터 제3 메시지를 수신하고, 제4 앵커 디바이스로부터 제4 메시지를 수신할 수 있다. 다른 일 실시예에 따른 프로세서(2020)는, 제1 메시지, 제2 메시지, 제3 메시지, 및 제4 메시지를 수신한 시점들에 기초하여, 전자 디바이스의 위치 정보를 획득할 수 있다.
일 실시예에 따른 프로세서(2020)는, 제1 앵커 디바이스, 제2 앵커 디바이스, 제3 앵커 디바이스, 및 제4 앵커 디바이스의 위치 정보 및 슬롯 간격을 더 고려하여, 앵커 디바이스들로부터 메시지들을 수신한 시점들에 기초하여 전자 디바이스의 위치 정보를 획득할 수 있다. 프로세서(2020)는, 앵커 디바이스들로부터 메시지들을 수신한 시점들, 앵커 디바이스들의 위치 정보 및 메시지들이 전송되는 슬롯 간격에 기초하여, 전자 디바이스의 위치 정보를 획득할 수 있다.
일 실시예에 따르면, 앵커 디바이스들 간의 클럭 드리프트 보정 또는 클럭 드리프트로 인한 오차 보정이 수행될 수 있다. 일 실시예에 따르면, 제1 앵커 디바이스, 제2 앵커 디바이스, 제3 앵커 디바이스, 및 제4 앵커 디바이스 중 하나의 클럭에 기초하여, 다른 앵커 디바이스들이 클럭 드리프트 또는 클럭 드리프트로 인한 오차를 보정할 수 있다. 예를 들어, 제2 앵커 디바이스, 제3 앵커 디바이스, 및 제4 앵커 디바이스는, 제1 앵커 디바이스의 클럭에 기초하여 클럭을 보정하고, 보정된 클럭에 기초하여 제2 메시지, 제3 메시지, 및 제4 메시지를 각각 전송할 수 있다.
또한, 일 실시예에 다르면, 앵커 디바이스들 간의 슬롯 타이밍 동기화가 수행될 수 있다. 일 실시예에 따르면, 제1 앵커 디바이스, 제2 앵커 디바이스, 제3 앵커 디바이스, 및 제4 앵커 디바이스 중 하나의 슬롯 타이밍에 기초하여, 다른 앵커 디바이스들이 자신의 메시지 전송 타이밍을 계산할 수 있다.
일 실시예에 따른 제1 앵커 디바이스는, 제1 슬롯 내에서 제1 메시지를 전송하고, 제2 앵커 디바이스는, 제2 슬롯 내에서 제2 메시지를 전송할 수 있다. 이 때, 제1 앵커 디바이스와 제2 앵커 디바이스 간의 슬롯 타이밍 동기화에 기초하여, 제2 앵커 디바이스는, 제1 앵커 디바이스의 제1 메시지의 전송 시점으로부터 하나의 슬롯 간격 후에 제2 메시지를 전송할 수 있다. 예를 들어, 제1 앵커 디바이스가 제1 메시지를 제1 슬롯의 시작 시점에 전송하면, 제2 앵커 디바이스도, 제2 슬롯의 시작 시점에 제2 메시지를 전송할 수 있다. 또한, 제2 앵커 디바이스 외의 다른 앵커 디바이스들도, 제1 앵커 디바이스의 메시지 전송 타이밍(또는, 슬롯 타이밍)에 기초하여, 할당된 슬롯의 시작 시점에 메시지를 전송할 수 있다.
일 실시예에 따른 프로세서(2020)는, 정확한 위치 정보를 획득하기 위하여, 개시자 앵커 디바이스(또는 마스터 앵커 디바이스)의 클럭과 전자 디바이스의 클럭 간의 차이를 획득하고, 획득된 클럭의 차이에 기초하여 클럭 드리프트를 보정하거나 클럭 드리프트로 인한 오차를 보정할 수 있다.
또한, 일 실시예에 따른 프로세서(2020)는, 적어도 하나의 앵커 디바이스의 위치 정보를 수신하고, 수신된 앵커 디바이스의 위치 정보에 기초하여 전자 디바이스의 위치 정보를 획득할 수 있다.
한편, 일 실시예에 따른 전자 디바이스(2000)는, 앵커 디바이스들과의 통신 상태에 따라 레인징을 수행할 TDoA 알고리즘을 적응적으로 결정할 수 있다.
일 실시예에 따른 프로세서(2020)는, 제1 앵커 디바이스로부터 수신되는 메시지들의 개수 및 제1 앵커 디바이스를 포함하는 복수의 앵커 디바이스들로부터 수신되는 메시지들의 총 개수에 기초하여, 전자 디바이스의 위치 정보를 획득하기 위한 레인징 방식을 결정할 수 있다. 이 때, 제1 앵커 디바이스는, 마스터 앵커 디바이스 또는 개시자 앵커 디바이스일 수 있다.
예를 들어, 프로세서(2020)는, 하나의 레인징 라운드 내에서 제1 앵커 디바이스로부터 수신된 메시지들의 숫자(M)가 2이고, 제1 앵커 디바이스를 포함하는 복수의 앵커 디바이스들로부터 수신되는 메시지들의 총 개수(N)가 4이상인지 여부를 결정할 수 있다.
M이 2이고 N이 4이상인 경우, 프로세서(2020)는, 제1 레인징 방식을 이용하여 전자 디바이스의 위치 정보를 획득할 수 있다. 예를 들어, 제1 레인징 방식에 따르면, 전자 디바이스는, 제1 앵커 디바이스로부터 레인징 개시 메시지를 수신한 시점, 제2 앵커 디바이스 및 제3 앵커 디바이스로부터 레인징 응답 메시지들을 수신한 시점, 및 제1 앵커 디바이스로부터 레인징 종료 메시지를 수신한 시점에 기초하여, 자신의 위치 정보를 획득하는 TDoA 알고리즘을 이용할 수 있다.
반면에, M이 2보다 적고 N이 4이상인 경우, 프로세서(2020)는, 제2 레인징 방식을 이용하여 전자 디바이스의 위치 정보를 획득할 수 있다. 예를 들어, 제2 레인징 방식에 따르면, 전자 디바이스는, 제1 앵커 디바이스, 제2 앵커 디바이스, 제3 앵커 디바이스, 및 제4 앵커 디바이스 각각으로부터 제1 메시지, 제2 메시지, 제3 메시지, 및 제4 메시지를 수신한 시점에 기초하여, 자신의 위치 정보를 획득하는 TDoA 알고리즘을 이용할 수 있다. 만약, 레인징 라운드 내에서 앵커 디바이스들로부터 수신되는 메시지들의 개수가 4개 미만인 경우, 프로세서(2020)는, 레인징 실패라고 판단할 수 있다.
상술한 본 개시의 다양한 실시 예들은 컴퓨터로 읽을 수 있는 저장 매체(computer-readable storage media)에 저장된 명령어를 포함하는 S/W 프로그램으로 구현될 수 있다.
컴퓨터는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 개시된 실시 예에 따른 동작이 가능한 장치로서, 개시된 실시 예들에 따른 영상 전송 장치 및 영상 수신 장치를 포함할 수 있다.
컴퓨터로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 개시된 실시 예들에 따른 전자 장치 또는 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다.
컴퓨터 프로그램 제품은 S/W 프로그램, S/W 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 전자 장치의 제조사 또는 전자 마켓(예, 구글 플레이 스토어, 앱 스토어)을 통해 전자적으로 배포되는 S/W 프로그램 형태의 상품(예, 다운로더블 앱)을 포함할 수 있다. 전자적 배포를 위하여, S/W 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사의 서버, 전자 마켓의 서버, 또는 SW 프로그램을 임시적으로 저장하는 중계 서버의 저장매체가 될 수 있다.
컴퓨터 프로그램 제품은, 서버 및 단말(예로, 레인징 전자 디바이스)로 구성되는 시스템에서, 서버의 저장매체 또는 단말의 저장매체를 포함할 수 있다. 또는, 서버 또는 단말과 통신 연결되는 제3 장치(예, 스마트폰)가 존재하는 경우, 컴퓨터 프로그램 제품은 제3 장치의 저장매체를 포함할 수 있다. 또는, 컴퓨터 프로그램 제품은 서버로부터 단말 또는 제3 장치로 전송되거나, 제3 장치로부터 단말로 전송되는 S/W 프로그램 자체를 포함할 수 있다.
이 경우, 서버, 단말 및 제3 장치 중 하나가 컴퓨터 프로그램 제품을 실행하여 개시된 실시 예들에 따른 방법을 수행할 수 있다. 또는, 서버, 단말 및 제3 장치 중 둘 이상이 컴퓨터 프로그램 제품을 실행하여 개시된 실시 예들에 따른 방법을 분산하여 실시할 수 있다.
예를 들면, 서버(예로, 클라우드 서버 또는 인공 지능 서버 등)가 서버에 저장된 컴퓨터 프로그램 제품을 실행하여, 서버와 통신 연결된 단말이 개시된 실시 예들에 따른 방법을 수행하도록 제어할 수 있다.
또 다른 예로, 제3 장치가 컴퓨터 프로그램 제품을 실행하여, 제3 장치와 통신 연결된 단말이 개시된 실시 예에 따른 방법을 수행하도록 제어할 수 있다. 구체적인 예로, 제3 장치는 레인징 디바이스를 원격 제어하여, 레인징을 수행하도록 제어할 수 있다.
제3 장치가 컴퓨터 프로그램 제품을 실행하는 경우, 제3 장치는 서버로부터 컴퓨터 프로그램 제품을 다운로드하고, 다운로드된 컴퓨터 프로그램 제품을 실행할 수 있다. 또는, 제3 장치는 프리로드된 상태로 제공된 컴퓨터 프로그램 제품을 실행하여 개시된 실시 예들에 따른 방법을 수행할 수도 있다.

Claims (35)

  1. 전자 디바이스의 위치 정보를 획득하는 방법에 있어서,
    제1 앵커 디바이스에서 전송되는 개시 메시지를 수신하는 단계;
    제2 앵커 디바이스로부터 상기 제2 앵커 디바이스의 제1 응답 시간(reply Time)에 관한 정보를 수신하는 단계에 있어서, 상기 제1 응답 시간에 관한 정보는, 상기 제2 앵커 디바이스가 상기 개시 메시지를 수신한 시점부터 응답 메시지를 전송하는 시점까지의 시간에 관한 정보를 포함하는, 상기 제1 응답 시간에 관한 정보를 수신하는 단계;
    상기 제1 앵커 디바이스로부터 상기 제2 앵커 디바이스에 대한 제2 응답 시간에 관한 정보를 수신하는 단계에 있어서, 상기 제2 응답 시간에 관한 정보는, 상기 제1 앵커 디바이스가 상기 응답 메시지를 수신한 시점부터 종료 메시지를 전송하는 시점까지의 시간에 관한 정보를 포함하는, 상기 제2 응답 시간에 관한 정보를 수신하는 단계; 및
    상기 전자 디바이스가 상기 개시 메시지,상기 응답 메시지, 및 상기 종료 메시지 중 적어도 하나를 수신한 시점에 관한 정보, 상기 제1 응답 시간에 관한 정보, 및 상기 제2 응답 시간에 관한 정보에 기초하여, 상기 제1 앵커 디바이스와 상기 전자 디바이스 간의 제1 거리 및 상기 제2 앵커 디바이스와 상기 전자 디바이스 간의 제2 거리의 차이와 관련된 정보를 획득하는 단계를 포함하는, 위치 정보 획득 방법.
  2. 제1 항에 있어서,
    상기 개시 메시지는, 상기 제2 앵커 디바이스를 포함하는 적어도 하나의 앵커 디바이스의 주소를 포함하는 리스트를 포함하는, 위치 정보 획득 방법.
  3. 제2 항에 있어서,
    상기 개시 메시지는, 상기 제2 앵커 디바이스가 상기 응답 메시지를 전송하기 위해 이용하는 슬롯 인덱스를 포함하는, 위치 정보 획득 방법.
  4. 제1 항에 있어서,
    상기 개시 메시지, 상기 응답 메시지 및 상기 종료 메시지는 백엔드 컨트롤러에 의해 스케쥴링되는, 위치 정보 획득 방법.
  5. 제1 항에 있어서,
    상기 제1 응답 시간에 관한 정보는, 상기 응답 메시지에 포함되어 상기 제2 앵커 디바이스로부터 수신되는, 위치 정보 획득 방법.
  6. 제1 항에 있어서,
    상기 제2 응답 시간에 관한 정보는, 상기 종료 메시지에 포함되어 상기 제1 앵커 디바이스로부터 수신되는, 위치 정보 획득 방법.
  7. 제6 항에 있어서,
    상기 종료 메시지는,
    제3 앵커 디바이스에 대한 제1 앵커 디바이스의 왕복 시간을 더 포함하는, 위치 정보 획득 방법.
  8. 제1 항에 있어서,
    상기 제1 거리 및 상기 제2 거리의 차이와 관련된 정보를 획득하는 단계는,
    상기 제1 앵커 디바이스로부터 상기 전자 디바이스로의 메시지 도착 시간 및 상기 제2 앵커 디바이스로부터 상기 전자 디바이스로의 메시지 도착 시간 간의 도착 시간 차이(TDoA, Time Difference of Arrival)를 계산하는 단계; 및
    상기 도착 시간 차이에 기초하여 상기 제1 거리 및 상기 제2 거리 간의 차이를 계산하는 단계를 포함하고,
    상기 도착 시간 차이는, 상기 제2 앵커 디바이스의 상기 제1 응답 시간, 상기 제1 앵커 디바이스의 왕복 시간, 상기 전자 디바이스의 상기 개시 메시지 수신 시점부터 상기 응답 메시지 수신 시점까지의 시간 차이, 상기 제1 앵커 디바이스의 상기 제2 응답 시간, 및 상기 전자 디바이스의 상기 응답 메시지 수신 시점부터 상기 종료 메시지 수신 시점까지의 시간 차이에 기초하여 계산되는 것을 특징으로 하는, 위치 정보 획득 방법.
  9. 제1 항에 있어서,
    상기 제1 거리 및 상기 제2 거리의 차이와 관련된 정보를 획득하는 단계는,
    상기 전자 디바이스, 상기 제1 앵커 디바이스, 및 상기 제2 앵커 디바이스 중 하나의 디바이스의 클럭에 기초한 보정을 수행함으로써, 상기 제1 거리 및 상기 제2 거리의 차이를 계산하는 단계를 포함하는, 위치 정보 획득 방법.
  10. 제1 항에 있어서,
    상기 제1 거리 및 상기 제2 거리의 차이와 관련된 정보를 획득하는 단계는,
    상기 제1 앵커 디바이스의 클럭을 이용하여 측정되는 상기 제1 앵커 디바이스가 개시 메시지를 전송하는 간격(interval) 및 상기 제2 앵커 디바이스의 클럭을 이용하여 측정되는 상기 제2 앵커 디바이스가 상기 제1 앵커 디바이스로부터 개시 메시지를 수신하는 간격 간의 비율(ratio)에 기초한 보정을 수행함으로써, 상기 제1 거리 및 상기 제2 거리의 차이를 계산하는 단계를 포함하는, 위치 정보 획득 방법.
  11. 제1 항에 있어서,
    상기 제1 앵커 디바이스 및 상기 제2 앵커 디바이스 중 적어도 하나의 위치 정보를 수신하는 단계를 더 포함하는, 위치 정보 획득 방법.
  12. 제1 항에 있어서,
    상기 제1 앵커 디바이스에서 전송되는 상기 개시 메시지 및 상기 종료 메시지 중 적어도 하나는, 상기 제1 앵커 디바이스의 위치 정보를 포함하고,
    상기 제2 앵커 디바이스에서 전송되는 상기 응답 메시지는, 상기 제2 앵커 디바이스의 위치 정보를 포함하는, 위치 정보 획득 방법.
  13. 전자 디바이스에 있어서,
    통신부;
    메모리; 및
    상기 메모리에 저장된 프로그램을 실행함으로써 상기 전자 디바이스의 동작을 제어하는 적어도 하나의 프로세서를 포함하고,
    상기 통신부는,
    제1 앵커 디바이스에서 전송되는 개시 메시지를 수신하고,
    상기 제2 앵커 디바이스로부터 상기 제2 앵커 디바이스의 제1 응답 시간에 관한 정보를 수신하고, 상기 제1 응답 시간에 관한 정보는, 상기 제2 앵커 디바이스가 상기 개시 메시지를 수신한 시점부터 응답 메시지를 전송하는 시점까지의 시간에 관한 정보를 포함하고,
    상기 제2 앵커 디바이스에 대한 제2 응답 시간에 관한 정보를 수신하고, 상기 제2 응답 시간에 관한 정보는, 상기 제1 앵커 디바이스가 상기 응답 메시지를 수신한 시점부터 종료 메시지를 전송하는 시점까지의 시간에 관한 정보를 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 개시 메시지, 상기 응답 메시지, 및 상기 종료 메시지 중 적어도 하나를 수신한 시점에 관한 정보, 상기 제1 응답 시간에 관한 정보, 및 상기 제2 응답 시간에 관한 정보에 기초하여, 상기 제1 앵커 디바이스와 상기 전자 디바이스 간의 제1 거리 및 상기 제2 앵커 디바이스와 상기 전자 디바이스 간의 제2 거리의 차이와 관련된 정보를 획득하는 것을 특징으로 하는, 전자 디바이스.
  14. 제13 항에 있어서,
    상기 개시 메시지는, 상기 제2 앵커 디바이스를 포함하는 적어도 하나의 앵커 디바이스의 주소를 포함하는 리스트를 포함하는, 전자 디바이스.
  15. 제14항에 있어서,
    상기 개시 메시지는, 상기 제2 앵커 디바이스가 상기 응답 메시지를 전송하기 위해 이용하는 슬롯 인덱스를 포함하는, 전자 디바이스.
  16. 제13 항에 있어서,
    상기 개시 메시지, 상기 응답 메시지 및 상기 종료 메시지는 백엔드 컨트롤러에 의해 스케쥴링되는, 전자 디바이스.
  17. 제13 항에 있어서,
    상기 제1 응답 시간에 관한 정보는, 상기 응답 메시지에 포함되어 상기 제2 앵커 디바이스로부터 수신되는, 전자 디바이스.
  18. 제13 항에 있어서,
    상기 제2 응답 시간에 관한 정보는, 상기 종료 메시지에 포함되어 상기 제1 앵커 디바이스로부터 수신되는, 전자 디바이스.
  19. 제18 항에 있어서,
    상기 종료 메시지는,
    제3 앵커 디바이스에 대한 제1 앵커 디바이스의 왕복 시간을 더 포함하는, 전자 디바이스.
  20. 제13 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 제1 앵커 디바이스로부터 상기 전자 디바이스로의 메시지 도착 시간 및 상기 제2 앵커 디바이스로부터 상기 전자 디바이스로의 메시지 도착 시간 간의 도착 시간 차이(TDoA, Time Difference of Arrival)를 계산하고,
    상기 도착 시간 차이에 기초하여 상기 제1 거리 및 상기 제2 거리 간의 차이를 계산하고,
    상기 도착 시간 차이는, 상기 제2 앵커 디바이스의 상기 제1 응답 시간, 상기 제1 앵커 디바이스의 왕복 시간, 상기 전자 디바이스의 상기 개시 메시지 수신 시점부터 상기 응답 메시지 수신 시점까지의 시간 차이, 상기 제1 앵커 디바이스의 상기 제2 응답 시간, 및 상기 전자 디바이스의 상기 응답 메시지 수신 시점부터 상기 종료 메시지 수신 시점까지의 시간 차이에 기초하여 계산되는 것을 특징으로 하는, 전자 디바이스.
  21. 제13 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 전자 디바이스, 상기 제1 앵커 디바이스, 및 상기 제2 앵커 디바이스 중 하나의 디바이스의 클럭에 기초한 보정을 수행함으로써, 상기 제1 거리 및 상기 제2 거리의 차이를 계산하는, 전자 디바이스.
  22. 제13 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 제1 앵커 디바이스의 클럭을 이용하여 측정되는 상기 제1 앵커 디바이스가 개시 메시지를 전송하는 간격(interval) 및 상기 제2 앵커 디바이스의 클럭을 이용하여 측정되는 상기 제2 앵커 디바이스가 상기 제1 앵커 디바이스로부터 개시 메시지를 수신하는 간격 간의 비율(ratio)에 기초한 보정을 수행함으로써, 상기 제1 거리 및 상기 제2 거리의 차이를 계산하는, 전자 디바이스.
  23. 제13 항에 있어서,
    상기 통신부는,
    상기 제1 앵커 디바이스 및 상기 제2 앵커 디바이스 중 적어도 하나의 위치 정보를 더 수신하는, 전자 디바이스.
  24. 제13 항에 있어서,
    상기 제1 앵커 디바이스에서 전송되는 상기 개시 메시지 및 상기 종료 메시지 중 적어도 하나는, 상기 제1 앵커 디바이스의 위치 정보를 포함하고,
    상기 제2 앵커 디바이스에서 전송되는 상기 응답 메시지는, 상기 제2 앵커 디바이스의 위치 정보를 포함하는, 전자 디바이스.
  25. 전자 디바이스의 위치 정보를 획득하는 방법에 있어서,
    제1 앵커 디바이스로부터 제1 메시지를 수신하는 단계;
    제2 앵커 디바이스로부터 제2 메시지를 수신하는 단계;
    제3 앵커 디바이스로부터 제3 메시지를 수신하는 단계;
    제4 앵커 디바이스로부터 제4 메시지를 수신하는 단계; 및
    상기 전자 디바이스가 상기 제1 메시지, 상기 제2 메시지, 상기 제3 메시지, 및 상기 제4 메시지를 수신한 시점들에 기초하여, 상기 전자 디바이스의 위치 정보를 획득하는 단계를 포함하는, 위치 정보 획득 방법.
  26. 제25 항에 있어서,
    상기 위치 정보를 획득하는 단계는,
    상기 제1 앵커 디바이스, 상기 제2 앵커 디바이스, 상기 제3 앵커 디바이스, 및 상기 제4 앵커 디바이스의 위치 정보 및 슬롯 간격을 더 고려하여, 상기 시점들에 기초하여 상기 전자 디바이스의 위치 정보를 획득하는 단계를 포함하는, 위치 정보 획득 방법.
  27. 제25 항에 있어서,
    상기 제2 메시지, 상기 제3 메시지, 및 상기 제4 메시지 각각은, 상기 제1 앵커 디바이스에 기초하여 클럭이 보정된, 상기 제2 앵커 디바이스, 상기 제3 앵커 디바이스, 및 상기 제4 앵커 디바이스 각각으로부터 전송되는 것을 특징으로 하는, 위치 정보 획득 방법.
  28. 제25 항에 있어서,
    상기 제1 메시지는, 제1 슬롯 내에서 전송되고,
    상기 제2 메시지는, 제2 슬롯 내에 전송되고, 상기 제1 메시지의 전송 시점으로부터 슬롯 간격 후에 전송되는, 위치 정보 획득 방법.
  29. 제25 항에 있어서,
    상기 제1 메시지는, 제1 슬롯의 시작 시점에 전송되고,
    상기 제2 메시지는, 제2 슬롯의 시작 시점에 전송되는, 위치 정보 획득 방법.
  30. 제25 항에 있어서,
    상기 제1 메시지는, 제1 슬롯의 시작 시점에 전송되고,
    상기 제2 메시지는, 상기 제1 앵커 디바이스와 상기 제2 앵커 디바이스 간의 거리 및 상기 제2 앵커 디바이스가 상기 제1 메시지를 수신한 시점에 기초하여 결정된 제2 슬롯의 시작 시점에 전송되는, 위치 정보 획득 방법.
  31. 제25 항에 있어서,
    상기 제1 앵커 디바이스의 클럭과 상기 전자 디바이스의 클럭 간의 차이를 획득하는 단계를 포함하는, 위치 정보 획득 방법.
  32. 제25 항에 있어서,
    상기 제1 앵커 디바이스, 상기 제2 앵커 디바이스, 상기 제3 앵커 디바이스, 및 상기 제4 앵커 디바이스 중 적어도 하나의 위치 정보를 수신하는 단계를 더 포함하는, 위치 정보 획득 방법.
  33. 전자 디바이스에 있어서,
    통신부;
    메모리; 및
    적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는, 상기 메모리에 저장된 프로그램을 실행함으로써,
    제1 앵커 디바이스로부터 제1 메시지를 수신하고,
    제2 앵커 디바이스로부터 제2 메시지를 수신하고,
    제3 앵커 디바이스로부터 제3 메시지를 수신하고,
    제4 앵커 디바이스로부터 제4 메시지를 수신하고,
    상기 전자 디바이스가 상기 제1 메시지, 상기 제2 메시지, 상기 제3 메시지, 및 상기 제4 메시지를 수신한 시점들에 기초하여, 상기 전자 디바이스의 위치 정보를 획득하도록 상기 전자 디바이스의 동작을 제어하는, 전자 디바이스.
  34. 전자 디바이스의 위치 정보를 획득하는 방법에 있어서,
    제1 앵커 디바이스로부터 수신되는 메시지들의 개수 및 상기 제1 앵커 디바이스를 포함하는 복수의 앵커 디바이스들로부터 수신되는 메시지들의 총 개수에 기초하여, 상기 전자 디바이스의 위치 정보를 획득하기 위한 레인징 방식을 결정하는 단계;
    상기 결정된 레인징 방식이 제1 레인징 방식인 경우, 상기 제1 앵커 디바이스로부터 수신한 개시 메시지, 제2 앵커 디바이스로부터 수신되는 제1 응답 메시지, 제3 앵커 디바이스로부터 수신되는 제2 응답 메시지 및 상기 제1 앵커 디바이스로부터 수신되는 종료 메시지를 수신한 시점에 기초하여, 상기 전자 디바이스의 위치 정보를 획득하는 단계; 및
    상기 결정된 레인징 방식이 제2 레인징 방식인 경우, 상기 제1 앵커 디바이스로부터 수신한 제1 메시지, 제2 앵커 디바이스로부터 수신되는 제2 메시지, 제3 앵커 디바이스로부터 수신되는 제3 메시지 및 제4 앵커 디바이스로부터 수신되는 제4 메시지를 수신한 시점에 기초하여, 상기 전자 디바이스의 위치 정보를 획득하는 단계를 포함하는, 위치 정보 획득 방법.
  35. 전자 디바이스에 있어서,
    통신부;
    메모리; 및
    적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는, 상기 메모리에 저장된 프로그램을 실행함으로써,
    제1 앵커 디바이스로부터 수신되는 메시지들의 개수 및 상기 제1 앵커 디바이스를 포함하는 복수의 앵커 디바이스들로부터 수신되는 메시지들의 총 개수에 기초하여, 상기 전자 디바이스의 위치 정보를 획득하기 위한 레인징 방식을 결정하고,
    상기 결정된 레인징 방식이 제1 레인징 방식인 경우, 상기 제1 앵커 디바이스로부터 수신한 개시 메시지, 제2 앵커 디바이스로부터 수신되는 제1 응답 메시지, 제3 앵커 디바이스로부터 수신되는 제2 응답 메시지 및 상기 제1 앵커 디바이스로부터 수신되는 종료 메시지를 수신한 시점에 기초하여, 상기 전자 디바이스의 위치 정보를 획득하고,
    상기 결정된 레인징 방식이 제2 레인징 방식인 경우, 상기 제1 앵커 디바이스로부터 수신한 제1 메시지, 제2 앵커 디바이스로부터 수신되는 제2 메시지, 제3 앵커 디바이스로부터 수신되는 제3 메시지 및 제4 앵커 디바이스로부터 수신되는 제4 메시지를 수신한 시점에 기초하여, 상기 전자 디바이스의 위치 정보를 획득하도록 상기 전자 디바이스의 위치 정보를 획득하도록 상기 전자 디바이스의 동작을 제어하는, 전자 디바이스.
KR1020200156923A 2020-08-21 2020-11-20 전자 디바이스 및 전자 디바이스의 위치 정보 획득 방법 KR20220023677A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202180051441.2A CN115989423A (zh) 2020-08-21 2021-05-31 电子装置和由电子装置执行的获取位置信息的方法
EP21858442.3A EP4193173A4 (en) 2020-08-21 2021-05-31 ELECTRONIC DEVICE AND METHOD PERFORMED BY THE ELECTRONIC DEVICE FOR OBTAINING LOCATION INFORMATION
JP2023512761A JP2023538933A (ja) 2020-08-21 2021-05-31 電子デバイス、及び該電子デバイスの位置情報獲得方法
PCT/KR2021/006728 WO2022039354A1 (en) 2020-08-21 2021-05-31 Electronic device and method, performed by electronic device, of obtaining location information
US17/353,220 US11729799B2 (en) 2020-08-21 2021-06-21 Electronic device and method, performed by electronic device, of obtaining location information

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20200105683 2020-08-21
KR1020200105683 2020-08-21
KR20200118498 2020-09-15
KR1020200118498 2020-09-15

Publications (1)

Publication Number Publication Date
KR20220023677A true KR20220023677A (ko) 2022-03-02

Family

ID=80815674

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200156923A KR20220023677A (ko) 2020-08-21 2020-11-20 전자 디바이스 및 전자 디바이스의 위치 정보 획득 방법

Country Status (1)

Country Link
KR (1) KR20220023677A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024048807A1 (ko) * 2022-08-30 2024-03-07 삼성전자주식회사 Uwb 통신을 이용한 협력적 측위 방법 및 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024048807A1 (ko) * 2022-08-30 2024-03-07 삼성전자주식회사 Uwb 통신을 이용한 협력적 측위 방법 및 장치

Similar Documents

Publication Publication Date Title
US11789111B2 (en) Method and system for multipath reduction for wireless synchronization and/or locating
JP6940214B2 (ja) ポジショニングシステム
JP6749419B2 (ja) ポジショニングシステム
Gui et al. Improvement of range-free localization technology by a novel DV-hop protocol in wireless sensor networks
US10567035B1 (en) Methods, systems, and computer readable media for distribution of time synchronization information to ultra-wide-band devices
EP3956684A1 (en) Ultra-wideband location systems and methods
CN108370551B (zh) 基于到达时间差定位方法、用户设备及网络设备
CN105979479B (zh) 在拥挤室内环境中的设备位置的确定
EP3589038B1 (en) Method and system for determining the position of a node
US20070041352A1 (en) Elevator calling mechanism and method
KR20160048130A (ko) Rtt(round trip time) 정보를 활용한 패시브 포지셔닝
US11729799B2 (en) Electronic device and method, performed by electronic device, of obtaining location information
EP3316633B1 (en) Apparatuses for generating a beacon sensor based network fingerprint
GB2530816A (en) Method for determining location of wireless devices
US10484833B1 (en) Methods, systems and computer readable media for providing and using ultra wideband local area networks (LANs)
CN105284167A (zh) 位置定位系统架构:对等测量模式
KR20210130521A (ko) UWB(Ultra Wide Band)를 통해 레인징을 수행하는 전자 디바이스 및 전자 디바이스의 동작 방법
US10356741B2 (en) Fingerprint positioning for mobile terminals
US20230063193A1 (en) Location system with ultra-wideband (uwb) infrastructure and discovery infrastructure
TW202127920A (zh) 利用測距信號定位車輛和行人
KR20220023677A (ko) 전자 디바이스 및 전자 디바이스의 위치 정보 획득 방법
US20170126273A1 (en) Location measuring method and system for acceptable a plurality of uwb tags
Gui et al. An adaptive range–free localisation protocol in wireless sensor networks
WO2023164587A1 (en) Cloud-centric design for hybrid new radio (nr) and ultra-wideband (uwb) positioning
WO2015012767A1 (en) Method and positioning device for localization of a mobile communication device

Legal Events

Date Code Title Description
A201 Request for examination