KR20210071540A - UWB(Ultra Wide Band)를 통해 레인징을 수행하는 전자 디바이스 및 전자 디바이스의 동작 방법 - Google Patents

UWB(Ultra Wide Band)를 통해 레인징을 수행하는 전자 디바이스 및 전자 디바이스의 동작 방법 Download PDF

Info

Publication number
KR20210071540A
KR20210071540A KR1020190161838A KR20190161838A KR20210071540A KR 20210071540 A KR20210071540 A KR 20210071540A KR 1020190161838 A KR1020190161838 A KR 1020190161838A KR 20190161838 A KR20190161838 A KR 20190161838A KR 20210071540 A KR20210071540 A KR 20210071540A
Authority
KR
South Korea
Prior art keywords
ranging
round
hopping
block
index value
Prior art date
Application number
KR1020190161838A
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 KR1020190161838A priority Critical patent/KR20210071540A/ko
Priority to US17/108,214 priority patent/US11340341B2/en
Priority to CN202080074051.2A priority patent/CN114599993A/zh
Priority to EP20896888.3A priority patent/EP4018224A4/en
Priority to PCT/KR2020/017406 priority patent/WO2021112539A1/en
Publication of KR20210071540A publication Critical patent/KR20210071540A/ko
Priority to US17/748,714 priority patent/US11740343B2/en

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
    • 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/74Systems using reradiation of radio waves, e.g. secondary radar systems; Analogous systems
    • G01S13/76Systems using reradiation of radio waves, e.g. secondary radar systems; Analogous systems wherein pulse-type signals are transmitted
    • G01S13/765Systems using reradiation of radio waves, e.g. secondary radar systems; Analogous systems wherein pulse-type signals are transmitted with exchange of information between interrogator and responder
    • 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
    • G01S11/00Systems for determining distance or velocity not using reflection or reradiation
    • G01S11/02Systems for determining distance or velocity not using reflection or reradiation using radio waves
    • 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/06Systems determining position data of a target
    • G01S13/08Systems for measuring distance only
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/713Spread spectrum techniques using frequency hopping
    • H04B1/7143Arrangements for generation of hop patterns
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/713Spread spectrum techniques using frequency hopping
    • H04B1/7156Arrangements for sequence synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/7163Spread spectrum techniques using impulse radio
    • H04B1/719Interference-related aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • H04W64/006Locating users or terminals or network equipment for network management purposes, e.g. mobility management with additional information processing, e.g. for direction or speed determination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W74/00Wireless channel access
    • H04W74/04Scheduled access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W92/00Interfaces specially adapted for wireless communication networks
    • H04W92/16Interfaces between hierarchically similar devices
    • H04W92/18Interfaces between hierarchically similar devices between terminal devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B2001/6908Spread spectrum techniques using time hopping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/713Spread spectrum techniques using frequency hopping
    • H04B1/7156Arrangements for sequence synchronisation
    • H04B2001/71566Tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B2201/00Indexing scheme relating to details of transmission systems not covered by a single group of H04B3/00 - H04B13/00
    • H04B2201/69Orthogonal indexing scheme relating to spread spectrum techniques in general
    • H04B2201/7163Orthogonal indexing scheme relating to impulse radio
    • H04B2201/71634Applied to ranging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B2201/00Indexing scheme relating to details of transmission systems not covered by a single group of H04B3/00 - H04B13/00
    • H04B2201/69Orthogonal indexing scheme relating to spread spectrum techniques in general
    • H04B2201/7163Orthogonal indexing scheme relating to impulse radio
    • H04B2201/71638Spectrum issues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

UWB를 통해 레인징을 수행하는 제1 디바이스의 동작 방법 및 제 1 디바이스가 개시된다. 제1 디바이스의 동작 방법은 제 1 레인징 블록에 포함되는 복수의 레인징 라운드들 중 제 1레인징 라운드에서 제2 디바이스와 레인징(ranging)을 수행하는 단계, 레인징의 수행 결과에 기초하여 호핑 수행 여부를 결정하는 단계, 호핑을 수행할 것을 결정한 경우, 난수 발생 함수에 기초하여 상기 제2 디바이스와 레인징을 수행하기 위한 제 2 레인징 라운드의 인덱스 값을 결정하는 단계 및 제 2 레인징 블록의 제 2 레인징 라운드에서 상기 제2 디바이스와 레인징을 수행하는 단계를 포함할 수 있다.

Description

UWB(Ultra Wide Band)를 통해 레인징을 수행하는 전자 디바이스 및 전자 디바이스의 동작 방법{ELECTRONIC DEVICE AND METHOD FOR PERFORMING RANGING THROUGH UWB}
본 개시는 UWB 통신 방식을 이용하여 레인징을 수행하는 전자 디바이스 및 전자 디바이스의 동작 방법에 관한 것이다.
인터넷은 인간이 정보를 생성하고 소비하는 인간 중심의 연결 망에서, 사물 등 분산된 구성 요소들 간에 정보를 주고 받아 처리하는 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이상의 매우 넓은 주파수 대역을 사용하는 무선 통신 기술이다.
본 개시(disclosure)는, UWB Ranging을 위한 호핑 시퀀스(hopping sequence)를 제공하고자 한다.
본 개시의 일 실시예에 따라, UWB를 통해 레인징을 수행하는 제1 디바이스의 동작 방법이 제공될 수 있다. 이때, 제1 디바이스의 동작 방법은 제 1 레인징 블록에 포함되는 복수의 레인징 라운드들 중 제 1레인징 라운드에서 제2 디바이스와 레인징(ranging)을 수행하는 단계; 상기 레인징의 수행 결과에 기초하여 호핑 수행 여부를 결정하는 단계; 호핑을 수행할 것을 결정한 경우, 난수 발생 함수에 기초하여 상기 제2 디바이스와 레인징을 수행하기 위한 제 2 레인징 라운드의 인덱스 값을 결정하는 단계; 및 제2 레인징 블록의 제 2 레인징 라운드에서 상기 제2 디바이스와 레인징을 수행하는 단계;를 포함하고, 상기 제 1 레인징 라운드의 인덱스 값과 상기 제 2 레인징 라운드의 인덱스 값은 서로 다른 값일 수 있다.
본 개시의 일 실시예에 따라, UWB를 통해 레인징을 수행하는 제2 디바이스의 동작 방법이 제공될 수 있다. 제2 디바이스의 동작 방법은 제 1 레인징 블록에 포함되는 복수의 레인징 라운드들 중 제1 레인징 라운드에서 제1 디바이스와 레인징(ranging)을 수행하는 단계; 상기 레인징의 수행 결과 및 상기 제 1 디바이스로부터 수신된 레인징 라운드에 대한 정보 중 적어도 하나에 기초하여 호핑 수행 여부를 결정하는 단계; 호핑을 수행할 것을 결정한 경우, 난수 발생 함수에 기초하여 상기 제1 디바이스와 레인징을 수행하기 위한 제 2 레인징 라운드의 인덱스 값을 결정하는 단계; 및 제2 레인징 블록의 제 2 레인징 라운드에서 상기 제1 디바이스와 레인징을 수행하는 단계;를 포함할 수 있다. 또한, 제 1 레인징 라운드의 인덱스 값과 상기 제 2 레인징 라운드의 인덱스 값은 서로 다른 값일 수 있다.
개시된 실시예에 따라 UWB Ranging을 위한 호핑 시퀀스(hopping sequence)를 제공할 수 있다.
도 1은 일반적인 D2D(Device-to-Device) 통신 절차를 설명하는 도면이다.
도 2는 복수의 전자 디바이스들의 통신 과정을 도시한 도면이다.
도 3은 레인징 제어 프레임을 이용한 단면 양방향 레인징(Single-Sided Two-Way Ranging, SS-TWR)의 예를 보여준다.
도 4은 레인징 블록 구조를 도시한다.
도 5는 블록 기반 모드(Block base mode를 설명하기 위한 도면이다.
도 6은 블록 기반 모드(Block base mode)에 대한 타이밍 다이어그램의 일 실시예를 도시한 도면이다.
도 7은 전송 오프셋(Transmission Offset)이 다르게 할당된 레인징 슬롯을 도시한 도면이다.
도 8은 레인징에서 호핑를 설명하기 위한 도면이다.
도 9는 전송 오프셋 및 라운드 호핑의 개념을 도시한 도면이다.
도 10은 본 개시의 일 실시예에 따른, UWB를 통해 레인징을 수행하는 제1 디바이스의 동작 방법을 나타낸 흐름도이다.
도 11은 본 개시의 일 실시예에 따른, 난수 발생 함수에 기초하여 도출된 다음 레인징 라운드를 정리한 표이다.
도 12는 본 개시의 일 실시예에 따른, 레인징 제어에 대한 정보의 구성을 도시한 도면이다.
도 13은 본 개시의 일 실시예에 따른, 레인징 라운드에 대한 정보의 구성을 도시한 도면이다.
도 14는 본 개시의 일 실시예에 따른, UWB를 통해 레인징을 수행하는 제2 디바이스의 동작 방법을 나타낸 흐름도이다.
도 15 내지 도 17은 본 개시의 일 실시예에 따라, 결정되는 호핑 레인지 라운드의 인덱스 값에 따라 레인징을 수행했을 때의 레인징 성공률을 도시한 도면들이다.
도 18은 일 실시예에 따른 컨트롤러(100)의 블록도를 도시한다.
도 19은 일 실시예에 따른 컨트롤리(200)의 블록도를 도시한다.
도 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) 등이 있다. 이러한 무선 네트워크 기술이 구현되는 무선 네트워크는 다수 개의 통신 전자 장치들로 이루어질 수 있다. 이 때 다수 개의 통신 전자 장치들은 단일 채널(channel)을 이용하여 액티브 구간(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, 데스크탑 컴퓨터, 냉장고, 프로젝터, 자동차, 스마트 카, 프린터 등을 포함할 수 있으며, 이러한 예에 제한되지 않는다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1은 일반적인 D2D(Device-to-Device) 통신 절차를 설명하는 도면이다.
D2D 통신이란 기지국과 같은 인프라를 거치지 않고 지리적으로 근접한 전자 디바이스들이 직접적으로 통신하는 방식을 말한다. 도 1에 도시된 바와 같이, 전자 디바이스들은 1:1, 1:다(多), 다(多):다(多)로 통신할 수 있다. D2D 통신은 와이파이 다이렉트(Wi-Fi Direct), 블루투스(bluetooth)와 같이 비면허 주파수 대역을 사용할 수 있다. 또는, D2D 통신은 면허 주파수 대역을 활용하여 셀룰러 시스템의 주파수 이용 효율을 향상시킬 수도 있다. D2D 통신은 사물과 사물 간의 통신이나 사물 지능 통신을 지칭하는 용어로 제한적으로 사용되기도 하지만, 본 개시에서의 D2D 통신은 통신 기능이 장착된 단순한 전자 디바이스는 물론, 스마트 폰이나 개인용 컴퓨터와 같이 통신 기능을 갖춘 다양한 형태의 전자 디바이스들 간의 통신을 모두 포함할 수 있다.
도 2는 복수의 전자 디바이스들의 통신 과정을 도시한 도면이다.
제1 전자 디바이스(201)와 제2 전자 디바이스(202)는, 장치 탐색 과정(203), 링크 생성 과정(204) 및 데이터 통신 과정(205)을 통해, 통신을 수행할 수 있다.
장치 탐색 과정(203)에서, 제1 전자 디바이스(201)와 제2 전자 디바이스(202) 각각은, 자신의 주변에 있는 전자 디바이스들 중 D2D 통신이 가능한 다른 전자 디바이스들을 탐색할 수 있다. 이를 통해, 제1 전자 디바이스(201)와 제2 전자 디바이스(202) 각각은 D2D 통신을 하기 위한 링크 생성 여부를 결정할 수 있다. 예를 들어, 제1 전자 디바이스(201)는 제2 전자 디바이스(202)가 제1 전자 디바이스(201)를 탐색할 수 있도록 탐색 신호를 송신할 수 있다. 또한, 제1 전자 디바이스(201)는 제2 전자 디바이스(202)가 송신하는 탐색 신호를 수신하여 D2D 통신이 가능한 다른 전자 디바이스들이 D2D 통신 범위 내에 있음을 확인할 수 있다.
링크 생성 과정(204)에서, 제1 전자 디바이스(201)와 제2 전자 디바이스(202) 각각은 장치 탐색 과정(203)에서 발견한 전자 디바이스들 중 데이터를 전송하고자 하는 전자 디바이스와 데이터 전송을 위한 링크를 생성할 수 있다. 예를 들어, 제1 전자 디바이스(201)는 장치 탐색 과정(203)에서 발견된 제2 전자 디바이스(202)와 데이터 전송을 위한 링크를 생성할 수 있다.
데이터 통신 과정(205)에서, 제1 전자 디바이스(201)와 제2 전자 디바이스(202) 각각은 링크 생성 과정(204)에서 링크를 생성한 장치들과 데이터를 서로 송수신할 수 있다. 예를 들어, 제1 전자 디바이스(201)는 링크 생성 과정(204)에서 생성된 링크를 통해 제2 전자 디바이스(202)와 데이터를 서로 송수신할 수 있다.
본 개시의 다양한 실시 예들은 상술한 D2D 통신에 기초한 매체 접근 제어(medium access control, MAC)에 관한 것으로서, 매체 접근 제어를 위해서는 전자 디바이스들 간의 거리가 측정될 필요가 있다. 이때, 전자 디바이스들 간의 거리를 측정하기 위하여 UWB 레인징(ranging) 기술이 사용될 수 있다. 예를 들어, 차량 문의 개폐를 위해 스마트 폰에 저장된 디지털 키를 이용하는 경우, 차량은 다수의 UWB 통신 모듈들(예를 들어, 6개의 UWB 통신 모듈)을 활용해 스마트폰과 차량과의 거리를 각각 측정한 후, 측정 결과에 기초하여 스마트 폰의 위치를 추정할 수 있다. 차량과 스마트 폰은 멀티캐스트 레인징 또는 브로드캐스트 레인징을 이용할 수 있다.
본 개시의 일 실시예에 따른 전자 디바이스는, 레인징 제어 프레임을 이용하여 레인징을 수행할 수 있다. 레인징 제어와 관련된 두 가지 디바이스 타입들은 "컨트롤러(100)" 또는 "컨트롤리(200)"라고 지칭될 수 있다.
먼저, 컨트롤러(100)는, 레인징 제어 IE와 함께 레인징 제어 프레임을 전송하여 레인징 파라미터들을 정의하고 제어하는 디바이스로 정의될 수 있다. 레인징 제어 프레임은, 레인징 파라미터들을 설정하기 위해 이용된다.
컨트롤리(200)는, 컨트롤러(100)로부터 수신되는 레인징 파라미터들을 이용하는 디바이스로 정의될 수 있다. 컨트롤러(100)에 의해 적어도 하나 이상의 컨트롤리(200)가 관리될 수 있다. 디바이스의 역할(예를 들어, 컨트롤러의 역할 또는 컨트롤리의 역할)의 결정 및 레인징 파라미터들의 선택 방법은 다양한 방식으로 구현될 수 있다.
또한, 레인징 제어를 위한 두 가지 디바이스 타입들은 "개시자(Initiator)" 또는 "응답자(Responder)"라고 지칭될 수 있다. 개시자는, 폴(poll)을 전송함으로써 레인징을 시작하는 디바이스이다. 응답자는, 개시자로부터 수신되는 폴에 응답하는 디바이스이다.
본 개시의 일 실시예에 따른 컨트롤러(100)는 Ranging Initiator/Responder List(IRL) IE 또는 Ranging Scheduling(RS) IE를 사용하여 레인징에 참여하는 디바이스들, 및 디바이스 타입들을 결정할 수 있다. IRL IE 및 RS IE는 레인징 제어 프레임에 의해 운반될 수 있다. 스케줄링 기반 레인징의 경우, RS IE는 자원 관리 및 디바이스들의 역할들(즉, 개시자 또는 응답자의 역할)을 나타내기 위해 컨트롤러(100)에 의해 구성될 수 있다. IRL IE는, 경합 기반 레인징(contention-based ranging)에 있어서, RS IE를 사용하지 않을 때 디바이스들의 역할들을 결정하기 위해 사용될 수 있다.
레인징 제어 IE의 스케줄 모드 필드는, 레인징 프레임이 경합을 이용하여 전송되는지 또는 스케줄을 이용하여 전송되는지 여부를 나타낸다. 이러한 IE들에 의해 특정되지 않는 디바이스는 레인징에 참여할 수 없다. 만약, 디바이스에 의한 폴 프레임의 전송이 요구되는 경우, 해당 디바이스의 디바이스 타입은 개시자로서 결정되고, 반면에 폴 프레임에 응답하는 디바이스는 응답자로서 결정될 수 있다.
경합-기반 멀티 캐스트/브로드 캐스트 레인징의 경우에, 컨트롤러(100)가 레인징에서의 유일한 개시자이고, 레인징 제어 프레임의 MAC 헤더 내의 대상 주소(destination address) 필드가 응답자를 지정하면, 컨트롤러는 IRL IE를 레인징 제어 프레임에 추가하지 않을 수 있다.
레인징 제어 프레임에는 IRL IE 또는 RS IE가 포함되므로, 컨트롤리(200)는 레인징 제어 프레임을 수신함으로써 폴을 보낼지 여부를 알 수 있다. IRL IE 또는 RS IE 내에서 컨트롤리(200)의 디바이스 타입이 개시자로 지정되는 경우, 컨트롤리(200)는 폴 프레임을 전송할 수 있다. 컨트롤러(100) 및 컨트롤리(200) 모두는 개시자 또는 응답자가 될 수 있다.
도 3은 레인징 제어 프레임을 이용한 단면 양방향 레인징(Single-Sided Two-Way Ranging, SS-TWR)의 예를 보여준다. SS-TWR은 본 개시에서 소개되는 다양한 레인징 방법들 중 하나이다.
만약, 도 3의 순서도(301)에 도시된 바와 같이, 컨트롤러(100)가 폴 프레임을 전송하도록 컨트롤러(100)가 설정하는 경우, 컨트롤러(100)는 개시자가 되어 폴 프레임을 전송할 수 있다. 반면에, 도 3의 순서도(302)에 도시된 바와 같이, 컨트롤리(200)가 폴 프레임을 전송하도록 컨트롤러(100)가 설정하는 경우, 컨트롤리(200)는 개시자가 되어 폴 프레임을 전송할 수 있다.
또한, 레인징 제어 프레임은, 레인징 응답 타입을 가리키는 레인징 수신 확인(Ranging Acknowledgment) IE를 포함할 수 있다. 멀티 캐스트 / 브로드 캐스트 / M2M 레인징을 위해서 복수의 컨트롤리들이 이용될 수 있다.
본 개시의 일 실시예에 따른 디바이스는, 레인징 블록 단위로 레인징을 수행할 수 있다.
레인징 블록은 레인징을 위한 가상 시간 프레임을 나타낸다. 레인징 블록은 여러 레인징 라운드들로 구성된다. 레인징 라운드는, UWB 네트워크의 레인징 디바이스들 간의 전체 레인징 이벤트가 완료되었음을 나타낸다. 레인징 라운드는 여러 레인징 슬롯들로 구성된다. 레인징 슬롯은 레인징 프레임의 전송을 위한 가상 시간 단위를 나타낸다. 레인징 블록, 레인징 라운드, 및 레인징 슬롯은 가상 시간 기반이므로, 시간 기반의 동기화가 필요하지 않다.
도 4은 레인징 블록 구조를 도시한다. 도 4에 도시된 바와 같이, 레인징 블록(410)은, N 개의 레인징 라운드들(421, 422, 423, 424, 425)로 구성될 수 있다. 레인징 라운드(421)는 M개의 레인징 슬롯들(431, 432, 433, 434)로 구성될 수 있다.
시간 단위(Time Unit, TU)는, PHY 단위의 최소 MAC 시간 단계로 정의된다. 레인징 슬롯 길이는, TU들의 정수 개수로 정의된다. 레인징 슬롯의 길이는 TU의 승수(multiplier)에 의해 조정될 수 있다. TU는 499.2MHz의 치핑 속도(chipping rate)의 역수의 정수 배인 250us로 고정된다. 레인징 라운드는 레인징 슬롯들의 정수 개수로 정의된다. 레인징 라운드의 길이는 레인징 슬롯의 승수에 의해 조정될 수 있다. 레인징 블록 길이는, MinimumBlockLength의 정수 배수로서 정의된다. 레인징 블록 길이는 Minimumblocklength의 승수에 의해 조정될 수 있다. MinimumBlockLength는 TU들의 정수 개수로 정의된다.
본 개시의 다양한 실시예들에 따르면, 액세스 제어를 위해서 두 가지 유형의 레인징 모드들(예를 들어, 인터벌-기반 모드, 블록 기반 모드)이 이용될 수 있다. 블록 기반 모드는 엄격한 시간 구조를 사용하지만 인터벌 모드는 그렇지 않다. 컨트롤러(100)는, 모드들 중 하나를 선택하고, 레인징 제어 IE의 시간 구조 식별자(indicator)를 사용하여 해당 모드를 특정할 수 있다.
도 5는 블록 기반 모드(Block-based mode를 설명하기 위한 도면이다.
블록 기반 모드(Block base mode)는 일정 주기로 설정된 타임 라인을 사용한 레인징 블록 구조를 사용한다.
블록 기반 모드(Block base mode)에서 레인징 블록 구조는 레인징 제어에 대한 정보에 포함된 레인징 블록 길이(Ranging Block Duration) 필드, 레인징 라운드 길이(Ranging Round Duration) 필드 및 레인징 슬럿 길이(Ranging Slot Duration) 필드에 기초하여 결정될 수 있다. 이때, 레인징 제어에 대한 정보에 대한 보다 상세한 설명은 도 12에서 후술된다. 하기에서는, 설명의 편의를 위해 레인징 제어에 대한 정보를 레인징 제어 정보 요소로 지칭하여 설명한다. 일 실시예에 따라 레인징 제어에 대한 정보는 어드밴스드 레인징 제어 정보 요소(Advanced Ranging Control Information Element)일 수 있다.
수학식 1는 k번째 세션에서 인덱스 0의 레인징 블록부터 인덱스 i의 레인징 블록에 포함된 인덱스 0인 레인징 라운드까지의 시간 길이를 계산하는 식이다.
Figure pat00001
하기의 수학식 2은 레인징 블록에 포함된 레인징 라운드 수를 유도하기 위한 식이다.
Figure pat00002
수학식 3는 레인징 라운드에 포함된 레인징 슬롯 수를 유도하기 위한 식이다.
Figure pat00003
디바이스가 레인징 제어 메시지(RCM, Ranging Control Message)를 수신한 경우, 디바이스는 레인징 제어 정보 요소에 포함된 필드 값을 사용하여, 레인징 블록의 구조 및 레인징을 위한 관련 타임 라인을 설정할 수 있다. 또한, 다른 일 실시예에 따라, 다음 상위 계층에 의해 레인징 블록 구조가 설정될 수도 있다.
또한, 컨트롤러는 모든 레인징 제어 메시지에서 반복적으로 레인징 블록 구조를 전송할 수 있다. 레인징 블록 구조가 변경되거나 업데이트 될 필요가 있는 경우, 컨트롤러는 레인징 블록 업데이트와 관련된 필드가 포함된 레인징 블록 업데이트 정보 요소(RBU IE, Ranging Block Update IE)를 전송할 수있다.
도 4 및 도 5를 참고하여 레인징 블록의 구성을 확인하면, 각 레인징 블록의 인덱스 값은 첫번째 레인징 블록을 기준으로 순차적으로 값이 커지도록 설정될 수 있다. 이때, 일 예로, 첫번째 레인징 블록은 블록 인덱스 값이 0일 수 있으으며, 각 레인징 블록은 1씩 커지도록 블록 인덱스 값이 설정될 수 있다.
또한, 레인징 블록 내의 각 레인징 라운드의 인덱스 값은 레인징 블록 내의 첫번째 레인징 라운드를 기준으로 순차적으로 값이 커지도록 설정될 수 있다. 일 예로, 레인징 블록에 M개의 레인징 라운드들이 포함된 경우, 레인징 블록의 첫 번째 레인징 라운드의 레인징 라운드 인덱스가 0이고, 레인징 블록의 마지막 레인징 라운드의 레인징 라운드 인덱스는 M-1일 수 있다.
또한, 도 4 및 도 5를 참고하면, 레인징 라운드 내의 각 레인징 슬럿들의 인덱스 값은 레인징 라운드 내의 첫번째 레인징 슬럿을 기준으로 순차적으로 값이 커지도록 설정될 수 있다. 이때, 일 예로, 첫번째 레인징 라운드는 레인징 라운드 인덱스 값이 0일 수 있다. 일 예로, 레인징 라운드에 K개의 레인징 슬럿들이 포함된 경우, 레인징 라운드의 첫 번째 레인징 슬럿의 레인징 슬럿 인덱스가 0이고, 레인징 라운드의 마지막 레인징 슬럿의 레인징 슬럿 인덱스는 K-1일 수 있다.
이때 일 예로, 컨트롤러는 첫번째 레인징 블록(레인징 블록 인덱스 0)에 포함된 첫번째 레인징 라운드(레인징 라운드 인덱스 0)의 첫번째 레인징 슬럿(레인징 슬럿 인덱스 0)에서 첫번째 레인징 제어 메시지를 전송할 수 있다.
첫 번째 레인징 라운드에서 레인지 메시지 교환을 수행하기 위해, 컨트롤러는 제 1 레인징 슬롯에서 레인징 제어 메시지 패킷을 전송할 수 있다.
이때, 레인징 제어 메시지는 현재 레인징 블록의 레인징 라운드에 관한 정보를 시그널링하기 위한 레인징 라운드 정보 요소를 포함할 수 있다. 레인징 라운드 정보 요소에 대한, 보다 자세한 설명은 하기의 도 13에서 후술된다.
도 6은 블록 기반 모드(Block base mode)에 대한 타이밍 다이어그램의 일 실시예를 도시한 도면이다. 도 6을 참고하면, 레인징 블록 N에 포함된 레인징 라운드를 확인할 수 있다. 또한, 레인징 라운드는 수 개의 레인징 슬럿을 포함하고 있는 것을 확인할 수 있다. 레인징 프레임(Ranging Frame)은 레인징 슬럿에서 전송될 수 있다. 또한, 레인징 프레임(Ranging Frame)은 전송 오프셋(Transmission Offset)이 설정되어 레인징 슬럿에서 전송될 수더 있다.
도 7은 전송 오프셋(Transmission Offset)이 다르게 할당된 레인징 슬롯을 도시한 도면이다. 후속 레인징 라운드들에서, 컨트롤러는 상이한 전송 오프셋이 할당된 각 레인징 슬롯 내에서 전송을 시작하기로 결정할 수있다. 이때, 컨트롤러는 레인징 라운드 정보 요소에 포함된 전송 오프셋(Transmission Offset) 필드를 통해 전송 오프셋에 대한 정보를 컨트롤리에게 전송할 수 있다. 전송 오프셋은 레인징 슬롯의 지속 시간에서 UWB 패킷 지속 시간을 뺀 값보다 작아야 한다. 전송 오프셋은 RSTU의 배수로 표현될 수 있다. 동일한 레인징 라운드 내에서 모든 패킷 전송은 동일한 전송 오프셋으로 전송 되어야 한다.
도 8은 레인징에서 호핑를 설명하기 위한 도면이다.
UWB에 기반한 레인징에서 호핑이란, 디바이스 간에 사용 중인 레인징 라운드에서 레인징을 수행하기에 적절하지 않을 때, 사전에 약속된 다른 라운드에서 레인징을 진행하는 동작을 의미할 수 있다. 이때, 일 예로, 각 디바이스들은 호핑을 수행하기 위한 호핑 시퀀스를 기 저장하고 있을 수 있다.
설명의 편의를 위해, 도 8의 RDEV1를 제 1 디바이스, RDEV2를 제 2 디바이스로 설명한다.
도 8을 참고하면, 블록 0(800)에서 제 1 디바이스와 제 2 디바이스는 라운드 0(801)을 레인징 라운드로 사용한 것을 확인할 수 있다. 이때, 제 1 디바이스는 라운드 0(801)에서 제 2 디바이스에게 레인징을 수행할 수 있다. 이때, 기 설정된 호핑 모드의 값은 0일 수 있다.
이때, 만약 라운드 0(801)에서 제 1 디바이스와 제 2 디바이스 간의 레인징이 성공한다면, 제 1 디바이스와 제 2 디바이스는 다음 레인징 블록에서 동일한 레인징 라운드를 계속 사용할 수 있다. 즉, 레인징 블록 n에서 레인 징 라운드 m을 사용하는 경우, 레인징 블록 n + 1에서도 레인징 라운드 m을 사용할 수 있다. 도 8을 참고하여 설명하면, 제 1 디바이스와 제 2 디바이스가 블록 1(810)에서도 라운드 0(811)을 사용하여 레인징을 수행할 수 있다.
도 8을 참고하면, 제 1 디바이스와 제 2 디바이스가 라운드 0(801)에서 레인징을 성공하였으므로, 블록 1(810)에서도 라운드 0(811)을 사용하여 레인징을 수행하였다. 이때, 제 1 디바이스는 라운드 0(811)에서 제 2 디바이스에게 레인징을 수행할 수 없다. 이때, 호핑 모드의 값은 1로 변경될 수 있다.
제 1 디바이스가 호핑 모드의 값을 1로 변경하고, 변경된 호핑 모드의 값이 제 2 디바이스로 전송됨에 따라, 제 1 디바이스 및 제 2 디바이스는 호핑을 수행할 수 있다. 일 예시에 따라, 제 1 디바이스는 컨트롤러이고, 제 2 디바이스는 컨트롤리일 수 있다. 제 1 디바이스와 제 2 디바이스가 블록 2(820)에서 레인징을 수행할 때 레인징 라운드의 호핑이 수행될 수 있다.
블록 2(820)에서 제 1 디바이스와 제 2 디바이스는 호핑의 결과에 따라, 라운드 0이 아닌, 라운드 1(822)에서 레인징이 수행될 수 있다. 즉, 제1 디바이스 및 제2 디바이스가 레인징 블록 n에서 레인징 라운드 m을 사용하는 경우, 레인징 블록 n + 1에서 레인징 라운드 k를 사용할 수 있다. (k
Figure pat00004
라운드 1(822)에서 레인징이 성공한다면, 호핑 모드의 값은 0으로 변경될 수 있다. 제 1 디바이스가 호핑 모드의 값을 0으로 변경하고, 변경된 호핑 모드의 값이 제 2 디바이스로 전송됨에 따라, 제 1 디바이스 및 제 2 디바이스는 설정된 레인징 라운드에서 레인징을 수행할 수 있다. 따라서, 도8을 참고하면, 블록 3(830)에서도, 라운드 1에서 레인징이 수행될 수 있다.
도 9는 전송 오프셋 및 라운드 호핑의 개념을 도시한 도면이다.
도 9의 (a)를 확인하면, 레인징 블록 N과 레인징 블록 N+1에서 동일한 레인징 라운드 j 및 동일한 전송 오프셋 s를 사용한 것을 확인할 수 있다.
도 9의 (b)을 확인하면, 레인징 블록 N에서는 레인징 라운드 j를 사용하였으나, 호핑을 수행하여 레인징 블록 N+1에서는 레인징 라운드 k를 사용한 것을 확인할 수 있다. 또한, 호핑과 별개로, 도 9의 (b)에서는 레인징 블록 N에서는 전송 오프셋을 s를 사용하였으나, 레인징 블록 N+1에서는 전송 오프셋을 0을 사용한 것을 확인할 수 있다.
레인징 블록에서 할당된 레인징 라운드에서, 콘트롤러는 레인징 제어 정보 요소 및 레인징 라운드 정보 요소와 함께 레인징 제어 메시지(RCM)를 전송함으로써 레인징 라운드를 구성할 수 있다. 이때, 일 실시예에 따라, 레인징 제어 정보 요소는 도 12에서 도시된, 레인징 정보 요소와 같은 구조를 가질 수 있다. 또한, 일 실시예에 따라, 레인징 라운드 정보 요소는는 도 13에서 도시된 구조를 가질 수 있다. 콘트롤러 다음 상위 계층은 다음 레인징 블록의 레인징 라운드에서 사용될 호핑 모드 또는 전송 오프셋 중 적어도 하나를 선택할 수 있다.
컨트롤러가 컨트롤리에게 레인징 블록 i의 현재 레인징 라운드에서 스케줄링 된 마지막 메시지를 전송한 경우, 컨트롤러는 다음 레인징 블록인 레인징 블록 i+1의 레인징 라운드에서 다른 라운드로 호핑할지 여부를 신호로 보내기 위해, 현재 레인징 라운드의 마지막 메시지에 레인징 라운드 정보 요소를 포함하여 전송할 수 있다. 레인징 라운드 정보 요소는 현재 레인징 블록의 레인징 블록 인덱스 필드 및 레인징 라운드 인덱스 필드, 다음 레인징 블록의 레인징 라운드에 대한 호핑 모드 필드 및 전송 오프셋 필드를 포함할 수 있다. 보다 상세한 설명은 하기의 도 13에서 후술된다.
컨트롤리는 레인징 메시지 시퀀스의 최종 메시지에서 레인징 라운드 정보 요소를 수신 한 후, 컨트롤리의 상위 계층은 지시된 레인징 라운드를 후속 레인징 블록에서 사용할 수 있다.
만약, 간섭 이벤트로 인해 컨트롤리가 최종 메시지 또는 레인징 제어 메시지에서 레인징 라운드 정보 요소를 수신하지 못한 경우,( 컨트롤리는 다음 레인징 블록에서 호핑을 모드를 켤 수 있다. 이때, 컨트롤리는 새로운 호핑 모드, 다음 레인징 블록 인덱스 및 호핑 시퀀스에 의해 결정된 새로운 레인징 라운드를 이용하여 레인징을 수행할 수 있다.
도 10은 본 개시의 일 실시예에 따른, UWB를 통해 레인징을 수행하는 제1 디바이스의 동작 방법을 나타낸 흐름도이다.
이하에서는, 일 실시예에 따른 컨트롤러(100)와 컨트롤리(200) 각각의 동작 방법을 구체적으로 살펴본다. 두 전자 디바이스들 간에 레인징이 수행됨에 있어서, 두 전자 디바이스들 중 하나는 컨트롤러가 되고, 다른 하나는 컨트롤리가 될 수 있다. 따라서, 컨트롤러가 제1 디바이스라고 지칭되고, 컨트롤리가 제2 디바이스라고 지칭될 수 있다. 또한, 두 전자 디바이스들 중 하나는 개시자가 되고, 다른 하나는 응답자가 될 수도 있다.
본 명세서에서, 레인징 세션이란, 특정의 초기 파라미터 세트를 특징으로 하는 연속적인 레인징 절차에 관여하는 디바이스들의 그룹을 의미할 수 있다. 레인징 세션에는 하나의 컨트롤러와 하나 이상의 개시자가 포함되어야 한다. 이때, 컨트롤러만 초기 레인징 파라미터들을 구성할 수 있다. 또한, 컨트롤러만 레인징 세션 중에 레인징 파라미터들을 업데이트 할 수 있다.
또한, 본 명세서에서 제 1 레인징 블록은 제 1 디바이스와 제 2 디바이스가 레인징을 수행 또는 레인징을 시도하는 현재 레인징 블록을 의미할 수 있다.
또한, 제 2 레인징 블록은 제 1 레인징 블록 후의 레인징 블록을 의미할 수 있다. 즉, 제 1 디바이스와 제 2 디바이스는 제 1 레인징 블록에서 레인징을 수행한 후, 제 2 레인징 블록에서 레인징을 수행할 수 있다. 제 2 레인징 블록은 제 1 레인징 블록의 바로 다음 레인징 블록일 수 있다. 다만, 제 2 레인징 블록은 제 1 레인징 블록 후에 도래하는 레인징 블록을 의미하는 것이며, 전술한 예에 한정되지 않는다. 전술한 바에 따를 때, 제 2 레인징 블록은 제 1 레인징 블록의 레인징 블록 인덱스보다 큰 값을 가진 레인징 블록 인덱스에 대응될 수 있다.
본 명세서에서, 제 1 디바이스와 제 2 디바이스는 제 1 레인징 블록의 제 1 레인징 라운드에 레인징을 수행할 수 있다. 제 1 레인징 라운드는 현재 레인징을 수행하는 라운드로, 호핑되기 전의 설정되어 있는 레인징 라운드를 의미할 수 있다. 이때, 일 실시예에 따라, 제 1 레인징 라운드는 제 1 레인징 블록에 포함된 m 번째의 레인징 라운드에 대응될 수 있다. 또한, 전술한 예에 따라, 제 1 번째 레인징 라운드의 인덱스가 0 이라고 가정할 때, 제 1 디바이스와 제 2 디바이스는 제 1 레인징 블록에서 인덱스 m-1에 대응되는 레인징 라운드에서 레인징을 수행할 수 있다.
본 명세서에서, 호핑을 수행하는 경우, 제 1 디바이스와 제 2 디바이스는 호핑 라운드에서 레인징을 수행할 수 있다. 제 2 레인징 라운드는 호핑이 수행되어, 제 2 레인징 블록 이후로 레인징을 수행하기로 결정된 특정한 레인징 블록을 의미할 수 있다. 본 개시의 일 실시에에 따라, 제 2 레인징 라운드는 제 2 레인징 블록에 포함된 k 번째의 레인징 라운드를 의미할 수 있다. 또한, 전술한 예에 따라, 제 1 번째 레인징 라운드의 인덱스가 0이라고 가정할 때, 제 1 디바이스와 제 2 디바이스는 제 2 레인징 블록에서 인덱스 k-1에 대응되는 레인징 라운드에서 레인징을 수행할 수 있다. 이때, m과 k 값 각각은 일 예시로, 서로 다른 값이라는 것을 설명하기 위한 값일 뿐이다. 또한, 제 1 레인징 라운드에 대응되는 인덱스 값과 제 2 레인징 라운드에 대응되는 인덱스 값은 서로 다른 값이다.
본 개시의 일 실시예에 따라, 제1 디바이스는 블록 기반 모드(Block based mode)에 기초하여 제2 디바이스와 레인징을 수행할 수 있다.
S1010 단계에서, 제 1 디바이스는 제 1 레인징 블록에 포함되는 복수의 레인징 라운드들 중 제1 레인징 라운드에서 제2 디바이스와 레인징(ranging)을 수행할 수 있다. 보다 상세하게, 제1 디바이스는 제 1 레인징 블록에 포함되는 복수의 레인징 라운드들 중 m번째 레인징 라운드에서 제2 디바이스와 레인징을 수행할 수 있다.
이때, 본 명세서에서 “레인징을 수행"한다는 의미는, 레인징 프레임(RFRAME)을 전송하는 동작만을 의미할 수 있다. 즉, 제 1 디바이스가 제 2 디바이스로부터 응답을 수신하지 못하여, 레인징을 실패한 경우도 레인징을 수행하였다는 의미가 될 수 있다. 즉, “레인징을 수행"하는 것은, 레인징 결과값을 도출하는 동작을 의미하지 않으며, 레인징의 실패 또는 성공 여부와 관계 없이, 컨트롤러가 레인징 프레임을 전송하는 동작을 의미할 수 있다.
S1020 단계에서, 제1 디바이스는 레인징의 수행 결과에 기초하여 호핑 수행 여부를 결정할 수 있다.
일 실시예에 따라 레인징의 수행 결과에 기초하여 호핑 수행 여부를 결정하는 단계는, 제1 디바이스가 제2 디바이스로부터 제 1 레인징 라운드에서 응답을 수신하지 못한 경우, 호핑을 수행하는 것으로 결정하는 단계를 포함 할 수 있다. 또한, 제1 디바이스가 제2 디바이스로부터 제 1 레인징 라운드에서 응답을 수신한 경우, 기 설정된 레인징 라운드인 제 1 레인징 라운드를 계속 사용하는 것으로 결정할 수 있다.
다른 일 실시예에 따라, 레인징의 수행 결과에 기초하여 호핑 수행 여부를 결정하는 단계는, 제1 디바이스가 제 1 레인징 라운드에 대한 방해 레벨(interference level)에 기초하여 호핑을 수행하는 것으로 결정하는 단계를 포함할 수 있다. 보다 상세하게, 제1 디바이스는 현재 레인징 라운드에 대해 라운드가 레인징을 수행하기에 적절한지 판단하기 위해, 현재 사용 중인 레인징 라운드에 대한 방해 레벨이 기준치보다 이하인지 판단할 수 있다.
일 예로, 방해 레벨이 기준치보다 이하인 경우, 제 1 디바이스는 기 설정된 레인징 라운드인 제 1 레인징 라운드를 계속 사용하는 것으로 결정할 수 있다. 다른 일 예로, 방해 레벨이 기준치보다 이상인 경우, 제 1 디바이스는 호핑을 수행하는 것으로 결정할 수 있다.
또한, 다른 일 실시예에 따라, 제1 디바이스는 제2 디바이스로부터 수신 한 응답의 수에 기초하여 호핑 기능을 트리거하도록 결정할 수도 있다.
S1030 단계에서, 제 1 디바이스가 호핑을 수행할 것을 결정한 경우, 난수 발생 함수에 기초하여 제2 디바이스와 레인징을 수행하기 위한 제 2 레인징 라운드의 인덱스 값을 결정할 수 있다. 보다 상세하게, 제1 디바이스가 호핑을 수행할 것을 결정한 경우, 난수 발생 함수에 기초하여 제2 디바이스와 레인징을 수행하기 위한 레인징 라운드의 인덱스를 k-1로 변경할 수 있다.
본 개시의 일 실시예에 따라, 제 2 레인징 라운드의 인덱스 값을 결정하는 단계는, 제 2 레인징 블록에 대응되는 인덱스 값 및 레인징 세션에 대한 호핑키 값에 기초하여 계산된 난수 발생 함수의 결과 값을 고려하여 제 2 레인징 라운드의 인덱스 값을 결정하는 단계를 포함할 수 있다.
본 명세서에서, 호핑 키란, 호핑 시퀀스를 수행할 때 사용되는 키를 의미할 수 있다. 이때, 호핑 키는 제1 디바이스와 제2 디바이스 간에 생성된 세션마다 다르게 생성될 수 있다. 즉, 제1 디바이스와 제2 디바이스간의 제 1 세션에 대해 제1 디바이스가 생성한 호핑 키와 제1 디바이스와 제2 디바이스간의 제 2 세션에 대해 제1 디바이스가 생성한 호핑 키는 서로 같을 수도 있으나, 다를 수도 있다. 또한, 호핑 키는 페어(pair)별로 다르게 생성될 수 있다. 보다 상세하게, 제1 디바이스와 제2 디바이스를 제 1 페어로 정의하고, 제3 디바이스와 제4 디바이스를 제2 페어로 정의할 때, 제 1 페어에서 사용하는 호핑키와 제 2 페어에서 사용하는 호핑 키는 서로 같을 수도 있으나, 다를 수도 있다. 이때, 호핑키는 개시자로부터 생성되어, 응답자로 전송될 수 있다. 발명의 설명을 위해, 개시자를 제 1 디바이스로, 응답자를 제 2 디바이스로 설명하도록 한다.
본 개시의 일 실시예에 따라, 제1 디바이스와 제2 디바이스 간의 레인징 세션을 개시하는 단계 및 제1 디바이스가 레인징 세션에 대한 호핑키를 전송하는 단계를 더 포함할 수 있다.
보다 상세하게, 먼저, 제 1 디바이스 및 제2 디바이스 간의 레인징 세션이 개시될 수 있다. 그리고, 제2 디바이스는 레인징 세션 요청(RS-RQ, Ranging Session Request) 메시지를 제 1 디바이스 에게 전송할 수 있다. 또한, 제1 디바이스는 제2 디바이스에게 레인징 세션 응답 (RS-RS, Ranging Session Response) 메시지를 전송할 수 있다. 제 1 디바이스 및 제2 디바이스 간의 레인징 세션 요청 메시지 및 레인징 세션 응답 메시지의 교환이 성공하면, BLE 제어 채널을 통해 레인징 세션이 설정될 수 있다.
그 후, 제2 디바이스가 레인징 세션 설정 요청(RSS-RQ, Ranging Session Setup - Request) 메시지를 제 1 디바이스로 전송할 수 있다. 제 1 디바이스는 제2 디바이스로부터 레인징 세션 설정 요청 메시지를 수신한 후, 레인징 세션에 대한 레인징 블록의 구조를 결정할 수 있다. 보다 상세하게, 제 1 디바이스는 레인징 세션에서 사용될 블록에 대한 라운드들의 개수를 결정할 수 있다. 또한, 제 1 디바이스는 프리앰블 싱크 코드 인덱스(preamble SYNC code index)도 결정할 수 있다. 그 후, 제 1 디바이스는 제 2 디바이스에게 레인징 세션 설정 응답(RSS-RS, Ranging Session Setup - Response) 메시지를 전송할 수 있다.
본 개시의 일 실시예에 따라, 레인징 세션에 대한 호핑키는 제 1 디바이스가 제 2 디바이스로 전송하는 레인징 세션 설정 응답(RSS-RS) 메시지에 포함되어 전송될 수 있다.
본 개시의 일 실시예에 따라, 상기 난수 발생 함수는 해쉬 함수(Hash function)를 포함할 수 있다. 상기 난수 발생 함수로 해쉬 함수가 이용되는 경우, 제 2 레인징 블록에 대응되는 인덱스 값 및 상기 레인징 세션에 대한 호핑키 값의 합에 대한 해쉬 함수의 결과 값을 고려하여 상기 인덱스 k를 결정할 수 있다. 하기의 수학식은 해쉬 함수를 이용하여, 호핑된 라운드인 제 2 레인징 라운드의 인덱스 값을 결정하는 방법을 나타낸 것이다.
Figure pat00005
이때, S는 호핑된 라운드인 제 2 레인징 라운드의 인덱스 값을 의미할 수 있다. i는, 제 2 레인징 블록의 인덱스 값을 의미할 수 있다. 즉, i는 호핑이 수행되는 레인징 블록에 대응되는 인덱스 값을 의미할 수 있다. HoppingKey는 전술한 호핑키를 의미할 수 있다. 또한, NRound는 레인징 블록에 포함된 레인징 라운드들의 개수를 의미할 수 있다.
일 예에 따라, 난수 발생 함수는 AES128(Advanced Encryption Standard 28), SHA1(Secure Hash Algorithm 1), MD5(Message-Digest algorithm 5), CRC32(Cyclic redundancy check 32), LCG(Linear Congreuential Generator), Linear-feedback shift register 중 적어도 하나의 함수 일 수 있다. 다만, 난수 발생 함수는 전술한 함수들에 한정되지 않으며, 엔트로피를 증가시켜 다양하게 난수를 발생시킬 수 있는 함수들은 모두 포함될 수 있다. 하기의 수학식은 AES128를 사용하여 호핑된 라운드인 제 2 레인징 라운드의 인덱스 값을 결정하는 방법을 나타낸 것이다.
Figure pat00006
수학식 5의 파라미터들은 전술한 수학식 4의 파라미터와 동일하게 정의 될 수 있다. 보다 상세하게, S는 호핑된 라운드인 제 2 레인징 라운드의 인덱스 값을 의미할 수 있다. i는, 제 2 레인징 블록에 대응되는 인덱스 값을 의미할 수 있다. HoppingKey는 전술한 호핑키를 의미할 수 있다. 또한, NRound는 레인징 블록에 포함된 레인징 라운드들의 개수를 의미할 수 있다.
하기의 수학식은 SHA1 함수를 이용하여, 호핑된 라운드인 제 2 레인징 라운드의 인덱스 값을 결정하는 방법을 나타낸 것이다.
Figure pat00007
수학식 6의 파라미터들은 전술한 수학식 4 및 수학식 5의 파라미터와 동일하게 정의 될 수 있다.
본 개시의 다른 일 실시예에 따라, 상기 제 2 레인징 라운드의 인덱스 값을 결정하는 단계는, 제 1 레인징 블록의 소정 슬럿(reference slot)에 대한 STS 코드(scrambled timestamp sequence code) 또는 레인징 블록에 포함된 레인징 라운드들의 개수 중 적어도 하나에 기초하여 제 2 레인징 라운드의 인덱스 값을 결정하는 단계를 포함할 수 있다.
보다 상세하게, 본 실시예에 따를 때, 제 2 레인징 라운드의 인덱스 값을 도출하기 위해 AES를 통해 만들어진 지난 블록의 STS를 활용할 수 있다. 호핑 라운드의 인덱스 값은 보안이 크게 문제되는 것이 아니므로, 기 생성된 STS 코드를 이용할 수 있을 것이다.
하기의 수학식을 참고할 때, 인덱스 i인 제 2 레인징 블록에 대한 제 2 레인징 라운드의 인덱스 값은 인덱스 i-1인 제 1 레인징 블록에 대한 소정 슬럿에 대한 STS 코드에 기초하여 획득될 수 있다.
Figure pat00008
이때, S는호핑된 라운드인 제 2 레인징 라운드의 인덱스 값을의미할 수 있다. i는, 제 2 레인징 블록에 대응되는 인덱스 값을 의미할 수 있다. NRound는 레인징 블록에 포함된 레인징 라운드들의 개수를 의미할 수 있다.
일 실시예에 제 2 레인징 블록이 i번째 블록일 때, 따라, 소정 슬롯(reference slot)이 포함된 제 1 레인징 블록의 인덱스는 i-1번째 블록을 의미할 수 있다. 이때, 제 1 레인징 블록은 제 2 레인징 블록을 알아내기 위한 블록을 의미할 뿐, 레인징의 성공 또는 실패 여부에 따라 결정되는 것은 아니다.
본 개시의 일 실시예에 따라, 소정 슬롯(reference slot)은 제 1 블록의 첫번째 슬롯 또는 제 1 블록의 마지막 슬롯이 될 수 있다. 다만, 전술한 예에 소정 슬롯이 한정되는 것은 아니며, 제 1 블록에 대해 기 생성된 STS 코드를 얻을 수 있는 슬롯은 소정 슬롯으로 사용될 수 있다.
본 개시의 일 실시예에 따라, 제 1 디바이스가 호핑을 수행할 것을 결정한 경우, 레인징 라운드에 대한 정보를 제2 디바이스로 전송하여, 제 1 디바이스는 제2 레인징 블록에서 호핑이 수행되는 것을 제 2 디바이스에게 지시할 수 있다. 일예에 따라, 레인징 라운드 정보 요소 와 레인징 제어 정보 요소는 레인징 제어 메시지에 포함되어 전송될 수 있으며, 레인징 라운드에 대한 정보는 도 13에서 후술되고, 레인징 제어 정보 요소는 도 12에서 후술된다.
S1040 단계에서, 제1 디바이스는 제2 레인징 블록의 k번째 레인징 라운드에서 상기 제2 디바이스와 레인징을 수행할 수 있다.
도 11은 본 개시의 일 실시예에 따른, 난수 발생 함수에 기초하여 도출된 다음 레인징 라운드를 정리한 표이다.
보다 상세하게, 도 11은 S1030 단계에서 본 발명의 난수 발생 함수의 일 예인 SHA1을 사용하여, 호핑 라운드의 인덱스 값을 계산한 결과 값이다. 이때, 호핑 키(HOP_Key_RW)는 0xABCD가 사용되었고, 레인징 블록에 포함된 레인징 라운드들의 개수(NRound)는 10이 사용되었으나, 전술한 예에 한정되는 것은 아니다. 표의 값을 확인하면, 제 2 레인징 블록에 대응되는 인덱스 값이 1 일때, 인덱스 1인 제 2 레인징 블록에서는 인덱스 6의 라운드를 레인징 라운드로 사용할 수 있는 것을 의미할 수 있다.
도 11을 참고하면, 제 2 레인징 블록에 대응되는 인덱스 값(i)에 따라 도출된 호핑 라운드의 인덱스가 다양한 값으로 얻어진 것을 확인할 수 있다. 이는 다른 페어와 동일한 인덱스를 갖는 레인징 라운드를 사용할 때, 레인징이 실패할 수 있는 확률을 낮출 수 있게 한다. 보다 상세한 설명은 도 15 내지 도 17에서 후술된다.
도 12는 본 개시의 일 실시예에 따른, 레인징 제어에 대한 정보의 구성을 도시한 도면이다.
컨트롤러는 레인징 제어 정보 요소를 사용하여 레인징 구성 정보를 하나의 컨트롤리에게 유니 캐스트 프레임) 또는 여러 컨트롤리들(브로드 캐스트 프레임)에게 보낼 수 있다.
도 12의 레인징 제어 정보 요소는 다중 노드 모드 필드(Multi-node Mode field)를 포함할 수 있다. 다중 노드 모드 필드 값은 레이징이 단일 장치 페어 사이에서 수행되는지, 또는 레이징이 많은 장치를 포함하는 다중 노드 범위에서 수행되는지를 지시할 수 있다.
전술한 바와 같이, 일 실시예에 따라, 레인징 제어에 대한 정보는 도 12와 같은 어드밴스드 레인징 제어 정보 요소(Advanced Ranging Control Information Element)와 같은 구성의 정보들을 포함할 수 있다.
레인징 라운드 사용(Ranging Round Usage) 필드는 레인징 라운드에서 사용되는 레인징 기법 및 기타 사용을 지정할 수 있다.
STS 패킷 구성(The STS Packet Config) 필드는 도 12에 따른 레인징 제어 정보 요소를 따르는 레인징 라운드에서 사용될 STS 패킷 형식을 지정할 수 있다.
스케줄 모드(Schedule Mode) 필드는 레인징이 스케줄링 기반 레인징(scheduling-based ranging)에 따라 수행되는지 또는 경합 기반 레인징(contention-based ranging)에 따라 수행되는지를 지정될 수 있다.
지연 모드 필드(Deferred Mode field)는 측정 프레임(measurement report)에 지연 프레임(deferred frame)이 허용되는지 여부를 지정할 수 있다.
시간 구조 지시자(Time Structure Indicator) 필드는 다음 레인징 라운드에서 레인징 시간 구조 동작을 지정할 수 있다.
이때, 본 개시의 일 실시예에 따라, 시간 구조 지시자 필드는 레인징이 인터벌 기반(interval-based)으로 수행되는지, 블록 기반(block-based)에서 수행되는지를 지시할 수 있다. 보다 상세하게, 시간 구조 지시자 필드의 값에 따라 시간 구조가 블록 기반(block-based)으로 지시된 경우, 레인징 라운드 정보 레인징 블록 업데이트 정보 요소(Ranging Block Update IE)는 레인징 간격 업데이트를 제어하는 데 사용될 수 있다. 또한, 시간 구조 지시자 필드의 값에 따라 시간 구조가 인터벌 기반(interval-based)으로 지시된 경우레인징 인터벌 업데이트 정보 요소(RIU IE, Ranging Interval Update IE)는 거리 간격 업데이트를 제어하는 데 사용될 수 있다.
RCM Validity Rounds 필드는 레인징 제어 메시지(RCM)에 의해 제어되는 연속적인 레인징 라운드들의 수를 지정할 수 있다.
MMRCR(Multiple Message Receipt Confirmation Request) 필드는 다중 메시지 수신 확인 요청이 필요한지 여부를 지시할 수 있다.
콘텐츠 제어 필드(Content Control field)는 레인징 제어 정보 요소에 다른 필드가 있는지 여부를 지시할 수 있다.
레인징 블록 길이(Ranging Block Duration) 필드는 RSTU 단위로 레인징 블록의 지속 시간을 지정할 수 있다.
레인징 라운드 길이 (Ranging Round Duration) 필드는 레인징 슬롯 단위의 레인징 라운드 기간을 지정할 수 있다. 즉, 레인징 라운드 길이 필드는 레인 징 라운드의 레인징 슬롯 수를 지정할 수 있다.
레인징 슬롯 길이(Ranging Slot Duration) 필드는 RSTU로 레인징 슬롯의 지속 시간을 지정할 수 있다.
세션 ID(Session ID) 필드에는 컨트롤러 당 세션마다 고유한 세션 식별자를 포함할 수 있다.
레인징 블록 구조가 이전과 동일한 지정된 지속 시간을 따르는 경우, 레인징 라운드 정보 요소에는 하나 이상의 구간 필드가 포함되지 않을 수 있다. 보다 상세하게, 지정된 지속 시간이 이전에 설정된 정보와 동일하게 유지된다면, 현재 레인징 제어 메시지(RCM)의 레인징 라운드 정보 요소에는 Ranging Block Duration 필드, Ranging Round Duration 필드 및 Ranging Slot Duration 필드가 존재하지 않을 수 있다.
다만, 본 개시에서 사용되는 레인징 제어 정보 요소의 구조가 상술한 도 12의 구조에 한정되는 것은 아니다.
도 13은 본 개시의 일 실시예에 따른, 레인징 라운드에 대한 정보의 구성을 도시한 도면이다.
레인징 라운드에 대한 정보는, S1030에서 상술한 바와 같이, 제1 디바이스가 현재 레인징 라운드에 대한 레인징 라운드 정보 또는 다음 레인징 라운드에 대한 레인징 라운드 정보를 제 2 디바이스로 시그널링하는데 사용될 수 있다.
레인징 라운드에 대한 정보는 다음과 같은 정보들을 포함할 수 있다.
레인징 라운드에 대한 정보는 현재 레인징 라운드(즉, 현재 레인징 블록 i의 레인징 라운드)에 대한 정보를 포함할 수 있다. 이 경우, 레인징 라운드에 대한 정보는 레인징 블록 i의 레인징 제어 메시지에 포함될 것이다. 현재 레인징 라운드의 레인징 제어 메시지에서 레인징 라운드에 대한 정보의 전송은 디바이스가 블록 구조와 동기화하는데 사용될 수 있다. 이하 본 명세서에서, 현재 레인징 라운드는 제 1 레인징 라운드를 의미한다.
레인징 라운드에 대한 정보는 다음 레인징 라운드 (즉, 다음 레인징 블록인 i+1의 레인징 라운드)에 대한 정보를 포함할 수 있다. 일 예에 따라, 현재 레인징 라운드에서 마지막으로 스케줄링 된 메시지가 컨트롤러에 의해 컨트롤리에게 전송된 메시지인 경우, 레인징 라운드에 대한 정보는 이 최종 메시지에서 다음 레인징 블록(i+1)에 대한 레인징 라운드 정보를 시그널링하기 위해 전송될 수 있다.
일 실시예에 따라, 레인징 라운드 IE는 레인징 블록 인덱스(Ranging Block Index) 필드를 포함할 수 있다. 이때, 레인징 블록 인덱스 필드는 제 2 레인징 블록의 인덱스를 지시할 수 있다.
일 실시예에 따라, 레인징 라운드 IE는 호핑 모드(Hopping Mode) 필드를 포함할 수 있다. 이때, 호핑 모드 필드는 레인징 블록의 호핑 모드를 지시할 수 있다. 보다 상세하게, 호핑 모드 필드는 제 2 레인징 블록의 호핑 모드를 지시할 수 있다. 일 예로, 호핑 모드 값이 0인 경우, 호핑을 수행하지 않는 것을 지시하고, 호핑 모드 값이 1인 경우, 호핑을 수행하는 것을 지시할 수 있다.
일 실시예에 따라, 레인징 라운드 IE는 라운드 인덱스(Round Index) 필드를 포함할 수 있다. 이때, 라운드 인덱스 필드는 레인징 블록의 레인징 라운드 인덱스를 지시할 수 있다.
일 실시예에 따라, 레인징 라운드 IE는 전송 오프셋(Transmission Offset) 필드를 포함할 수 있다. 전송 오프셋 필드는 RSTU 단위로 블록 내 레인 징 라운드의 전송 오프셋 값을 지정할 수 있다. 이 전송 오프셋은 최대 레인징 슬롯 구간에서 패킷 지속 시간을 뺀 값이다.
제 2 디바이스가 제1 디바이스로부터 레인징 라운드에 대한 정보를 수신한 경우, 레인징 라운드에 대한 정보에 기초하여 호핑을 수행할 수 있다. 이때, 제 1 디바이스 및 제 2 디바이스는 사용할 호핑 시퀀스를 기 설정할 수 있다. 본 개시에서, 도 10의 동작 방법은 호핑 시퀀스에 대응되는 것으로, 제 1 디바이스 및 제 2 디바이스는 상술한 호핑 라운드의 인덱스를 결정하는 방법을 기 설정했을 수 있다. 또한, 1 디바이스 및 제 2 디바이스는 호핑 시퀀스를 생성할 수 있도록 필요한 모든 정보를 교환할 수 있다.
다만, 본 개시에서 사용되는 레인징 라운드에 대한 정보의 구조가 상술한 도 13의 구조에 한정되는 것은 아니다. 제 1 디바이스가 제 2 디바이스에게 호핑이 수행되는 것을 지시하는 정보가 포함될 수 있는 구성은 레인징 라운드에 대한 정보로 사용될 수 있다.
도 14는 본 개시의 일 실시예에 따른, UWB를 통해 레인징을 수행하는 제2 디바이스의 동작 방법을 나타낸 흐름도이다. 도 14의 동작 중 도 10의 동작과 중복되는 설명은 생략한다.
단계 S1410에서, 제 2 디바이스는 제 1 레인징 블록에 포함되는 복수의 레인징 라운드들 중 제1 레인징 라운드에서 제1 디바이스와 레인징(ranging)을 수행할 수 있다.
단계 S1420에서, 제 2 디바이스는 레인징의 수행 결과 및 제 1 디바이스로부터 수신된 레인징 라운드에 대한 정보 중 적어도 하나에 기초하여 호핑 수행 여부를 결정할 수 있다.
레인징 라운드에 대한 정보는, 상기 제 2 레인징 블록의 인덱스 정보, 상기 제 2 레인징 라운드의 인덱스 정보 또는 호핑 모드 정보 중 적어도 하나의 정보를 포함할 수 있다. 레인징 라운드에 대한 정보는 도 13에서 전술한바, 중복되는 설명은 생략한다.
일 예에 따라, 제 2 디바이스가 호핑 수행 여부를 결정하는 단계는, 레인징 라운드에 대한 정보에 포함된 호핑 모드 정보를 식별하는 단계를 더 포함할 수 있다. 또한, 제 2 디바이스가 호핑 수행 여부를 결정하는 단계는 제 2 디바이스가 호핑 모드 정보에 기초하여 상기 호핑 수행 여부를 결정하는 단계를 더 포함할 수 있다.
다른 일 예에 따라, 제 2 디바이스가 호핑 수행 여부를 결정하는 단계는, 제2 디바이스가 제1 디바이스로부터 상기 제 1 레인징 라운드에서 메세지를 수신하지 못한 경우, 호핑을 수행하는 것으로 결정하는 단계를 포함할 수 있다. 이때, 일 예로, 제2 디바이스가 제1 디바이스로부터 수신하지 못한 메시지는 레인징 제어 메시지일 수 있다. 또한, 제2 디바이스가 제1 디바이스로부터 수신하지 못한 메시지에는 레인징 라운드에 대한 정보가 포함되어 있을 수 있다.
다른 일예로, 제2 디바이스가 제1 디바이스로부터 수신하지 못한 메시지는 제2 디바이스로부터 전송된 메시지에 대한 제1 디바이스의 응답 메시지일 수도 있다.
단계 S1430에서, 호핑을 수행할 것을 결정한 경우, 제 2 디바이스는 난수 발생 함수에 기초하여 상기 제1 디바이스와 레인징을 수행하기 위한 제 2 레인징 라운드의 인덱스 값을 결정할 수 있다.
일 실시예에 따라, 제 2 디바이스가 제 2 레인징 라운드의 인덱스 값을 결정하는 단계는, 제 2 레인징 블록의 인덱스 값 및 레인징 세션에 대한 호핑키 값에 기초하여 계산된 난수 발생 함수의 결과 값을 고려하여 제 2 레인징 라운드의 인덱스 값을 결정하는 단계를 포함할 수 있다.
이때, 제 2 디바이스가 제 2 레인징 라운드의 인덱스 값을 결정하는 단계는, 제1 디바이스와 상기 제2 디바이스 간의 레인징 세션을 개시하는 단계 및 제1 디바이스가 레인징 세션에 대한 호핑키를 제1 디바이스로부터 수신하는 단계를 더 포함할 수 있다.
일 실시예에 따라, 난수 발생 함수는 해쉬 함수(Hash function)를 포함할 수 있다. 제 2 디바이스는 제 2 레인징 블록의 인덱스 값 및 레인징 세션에 대한 호핑키 값의 합에 대한 해쉬 함수의 결과 값을 고려하여 제 2 레인징 라운드의 인덱스 값을 결정할 수 있다.
다른 일 실시예에 따라, 제 2 디바이스가 제 2 레인징 라운드의 인덱스 값을 결정하는 단계는, 제 1 레인징 블록의 소정 슬럿에 대한 STS 코드(scrambled timestamp sequence code) 또는 레인징 블록에 포함된 레인징 라운드들의 개수 중 적어도 하나에 기초하여 제 2 레인징 라운드의 인덱스 값을 결정하는 단계를 포함할 수 있다.
보다 자세한 설명은 도 10의 단계 S1030에서 전술된바, 중복되는 내용은 생략한다.
단계 S1440에서, 제 2 디바이스는 제2 레인징 블록의 제 2 레인징 라운드에서 상기 제1 디바이스와 레인징을 수행할 수 있다.
도 15 내지 도 17은 본 개시의 일 실시예에 따라, 결정되는 호핑 레인지 라운드의 인덱스 값에 따라 레인징을 수행했을 때의 레인징 성공률을 도시한 도면들이다.
설명의 편의를 위해, 제 1 디바이스와 제 2 디바이스가 레인징 세션을 설정하였으며, 이를 제 1 페어로 정의할 수 있다. 또한, 제 3 디바이스와 제 4 디바이스가 레인징 세션을 설정하였으며, 이를 제 2 페어로 정의할 수 있다.
또한, 설명의 편의를 위해, 호핑이 결정된 경우 사용되는 레인징 라운드를 의미하는 제 2 레인징 라운드를 하기에서는 호핑 라운드로 정의하여 설명하였다.
도 15는, 제 1 페어와 제 2 페어가 값이 1로 고정된 호핑 키를 가졌다고 가정한 경우의 각 레인징 블록에 대한 레인징 성공률을 나타낸 도면이다. 성공률을 획득하기 위해, 1000회 반복이 수행되었다. 이때, 제 1 페어와 제 2 페어 각각의 레인징 시작 시간 또는 레인징이 시작되는 라운드는 각 반복시에 랜덤하게 설정되었다. 도 15의 (a)는 종래 기술에 따라 획득한 호핑 라운드의 인덱스 값을 사용할 때의 레인징 성공률을 나타낸 것이고, 도 15의 (b)는 본 개시에 따라 획득한 호핑 라운드의 인덱스 값을 사용할 때의 레인징 성공률을 나타낸 것이다.
도 15의 (a)에 따를 때, 종래 기술에 따라 호핑 라운드의 인덱스 값을 획득한 경우, 인덱스가 2인 블록에서 20%의 성공률을 보이며, 인덱스가 4인 블록에서 50%의 성공률을 보이는 것을 확인할 수 있다. 이 의미는, 제 1 페어와 제 2 페어의 레인징 라운드가 수 개의 블록 동안 겹치게 설정될 수 있어, 제 1 페어 및 제 2 페어 각각이 레인징을 성공할 확률이 낮다는 것을 의미할 수 있다. 즉, 제 1 페어에서 호핑을 수행하여 획득한 호핑 라운드와 제 2 페어에서 사용하는 레인징 라운드가 계속해서 겹치게 될 수 있음을 의미한다. 블록의 값이 커질수록 성공률이 높아지는 것은, 각 제 1 페어와 제 2 페어가 사용하는 호핑 라운드의 인덱스 값이 지속적으로 겹치는 확률이 블록 인덱스가 늘어날수록 점점 줄어드는 것을 의미할 수 있다.
반면에 도 15의 (b)에 따를 때, 본 개시에 따라 호핑 라운드의 인덱스 값을 획득한 경우, 인덱스가 1인 블록에서 약 96%의 성공률을 보이며, 인덱스가 2인 블록에서 100%의 성공률을 보이고 있다. 도 11를 참고하여 설명할 때, 이는 본 개시에 따라 호핑 라운드의 인덱스 값을 획득하는 경우, 각 블록에 대해 호핑 라운드의 인덱스 값이 다양하게 도출될 수 있기 때문에 발생하는 효과이다. 즉, 제 1 페어가 생성할 수 있는 각 블록에 대한 호핑 라운드의 인덱스 값이 다양하다. 또한, 제 2 페어가 생성할 수 있는 각 블록에 대한 호핑 라운드의 인덱스 값 역시 다양하므로, 제 1 페어와 제 2 페어 간의 호핑 라운드의 인덱스 값이 겹칠 확률이 극히 적어져, 빠른 시간 내에 빠른 레인징 성공률을 획득할 수 있다.
도 16 역시 전술한 도 15와 유사한 결과를 얻을 수 있다. 도 16은 제 1 페어와 제 2 페어가 값이 동일한 호핑 키를 가졌다고 가정한 경우의 각 레인징 블록에 대한 레인징 성공률을 나타낸 도면이다. 성공률을 획득하기 위해, 100개의 호핑 키를 사용하였다. 또한, 주어진 키에 대해 10회의 반복을 수행하였다. 이때, 제 1 페어와 제 2 페어 각각의 레인징 시작 시간 또는 레인징이 시작되는 라운드는 각 반복시에 랜덤하게 설정되었다. 도 16의 (a)는 종래 기술에 따라 획득한 호핑 라운드의 인덱스 값을 사용할 때의 레인징 성공률을 나타낸 것이고, 도 16의 (b)는 본 개시에 따라 획득한 호핑 라운드의 인덱스 값을 사용할 때의 레인징 성공률을 나타낸 것이다.
도 16의 (a)에 따를 때, 종래 기술에 따라 호핑 라운드의 인덱스 값을 획득한 경우, 인덱스가 2인 블록에서 60%의 성공률을 보이며, 인덱스가 4인 블록에서 약 88%의 성공률을 보이는 것을 확인할 수 있다. 반면에 도 16의 (b)에 따를 때, 본 개시에 따라 호핑 라운드의 인덱스 값을 획득한 경우, 인덱스가 1인 블록에서 약 98%의 성공률을 보이며, 인덱스가 2인 블록에서 100%의 성공률을 보이고 있다.
도 17 역시 전술한 도 15 내지 도 16과 유사한 결과를 얻을 수 있다. 도 17은 제 1 페어와 제 2 페어가 값이 서로 다른 호핑 키를 가졌다고 가정한 경우의 각 레인징 블록에 대한 레인징 성공률을 나타낸 도면이다. 성공률을 획득하기 위해, 100개의 랜덤한 호핑 키를 사용하였다. 또한, 주어진 키에 대해 10회의 반복을 수행하였다. 이때, 제 1 페어와 제 2 페어 각각의 레인징 시작 시간 또는 레인징이 시작되는 라운드는 각 반복시에 랜덤하게 설정되었다. 도 17의 (a)는 종래 기술에 따라 획득한 호핑 라운드의 인덱스 값을 사용할 때의 레인징 성공률을 나타낸 것이고, 도 17의 (b)는 본 개시에 따라 획득한 호핑 라운드의 인덱스 값을 사용할 때의 레인징 성공률을 나타낸 것이다.
도 17의 (a)에 따를 때, 종래 기술에 따라 호핑 라운드의 인덱스 값을 획득한 경우, 인덱스가 1인 블록에서 96%의 성공률을 보이며, 인덱스가 12인 블록에서 약 100%의 성공률을 보이는 것을 확인할 수 있다. 반면에 도 17의 (b)에 따를 때, 본 개시에 따라 호핑 라운드의 인덱스 값을 획득한 경우, 인덱스가 1인 블록에서 약 97%의 성공률을 보이며, 인덱스가 3인 블록에서 100%의 성공률을 보이고 있다.
도 15 내지 도 17과 도 11을 고려하여 판단했을 때, 본 개시에 따라 호핑 레인징 라운드의 인덱스 값을 획득하는 호핑 시퀀스를 사용할 때, 각 페어가 동일한 레인징 라운드를 사용하게 되어 발생하는 레인징 실패 확률을 크게 줄일 수 있다. 이는 도 11에서 확인할 수 있듯이, 엔트로피를 증가시켜 호핑 레인징 라운드의 인덱스 값이 다양하게 획득되기 때문이다. 따라서, 본 개시에 따를 때, 각 블록에 대해서 호핑 레인징 라운드의 인덱스 값의 패턴이 반복되어 생성될 확률이 극히 낮아진다. 또한, 본 개시에 따를 때, 각 페어들이 생성하는 호핑 레인징 라운드의 인덱스 값이 수개의 레인징 블록에 대해 지속적으로 겹치게 발생하지 않는다. 따라서, 각 페어들이 레인징을 성공할 확률을 높일 수 있다.
도 18은 일 실시예에 따른 컨트롤러(100)의 블록도를 도시한다.
일 실시예에 따른 컨트롤러(100)는 고정형 단말이거나 이동형 단말일 수 있다. 컨트롤러(100)는, 예를 들어, 스마트 폰(smart phone), 휴대폰, 내비게이션, 컴퓨터, 노트북, 디지털방송용 단말, 인공 지능 스피커, 스피커, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 및 태블릿 PC 중 적어도 하나일 수 있으나, 이에 한정되지 않는다. 컨트롤러(100)는, 무선 또는 유선 통신 방식을 이용하여 네트워크를 통해 다른 디바이스 및/또는 서버와 통신할 수 있다.
도 18를 참조하면, 일 실시예에 따른 컨트롤러(100)는, 통신부(110), 프로세서(120), 및 메모리(130)를 포함할 수 있다. 그러나, 도 18에 도시된 구성 요소 모두보다 많은 구성 요소에 의해 컨트롤러(100)가 구현될 수 있다. 예를 들어, 도 20에 도시된 바와 같이, 일 실시 예에 따른 컨트롤러(100)는, 사용자 입력부(1100), 출력부(1200), 센싱부(1400), 및 A/V 입력부(1600) 중 적어도 하나를 더 포함할 수도 있다.
도 18에서는 컨트롤러(100)가 하나의 프로세서를 포함하는 것으로 도시되었으나, 실시 예는 이에 제한되지 않으며, 컨트롤러(100)는 복수의 프로세서들을 포함할 수 있다. 이하, 서술되는 프로세서(120)의 동작 및 기능들의 적어도 일부는 복수의 프로세서들에 의해 수행될 수 있다. 도 18에 도시된 컨트롤러(100)는, 본 개시의 다양한 실시 예들에 따른 컨트롤러(100)의 동작 방법을 수행할 수 있으며, 도 3 내지 도 17에 대한 설명들이 적용될 수 있다. 따라서, 상술한 바와 중복되는 내용은 생략한다.
본 개시의 일 실시 예에 따른 통신부(110)는, 다른 디바이스 또는 네트워크와 유무선 통신을 수행할 수 있다. 이를 위해, 통신부(110)는 다양한 유무선 통신 방법 중 적어도 하나를 지원하는 통신 모듈을 포함할 수 있다. 예를 들어, 통신 모듈은 칩셋(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) 중 적어도 하나를 포함할 수 있다.
일 실시 예에서 통신부(110)는 근거리 통신(short range communication) 을 위한 통신 모듈을 포함할 수 있다. 예를 들어, 통신부(110)는 위에서 설명한 UWB, Wi-Fi, Wi-Fi Direct, 블루투스, NFC 외에 적외선 통신, MST(Magnetic Secure Transmission, 마그네틱 보안 통신과 같은 다양한 근거리 통신을 수행하기 위한 통신 모듈을 포함할 수 있다.
본 개시의 일 실시 예에 따른 프로세서(120)는 컨트롤러(100)의 전체적인 동작을 제어하며, CPU, GPU 등과 같은 프로세서를 적어도 하나 이상 포함할 수 있다. 프로세서(120)는 UWB 레인징을 수행하기 위하여 컨트롤러(100)에 포함된 다른 구성들을 제어할 수 있다. 메모리(130)는, 프로세서(120)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 컨트롤러(100)로 입력되거나 컨트롤러(100)로부터 출력되는 데이터를 저장할 수도 있다.
본 개시의 일 실시예에 따른 프로세서(120)는 제 1 레인징 블록에 포함되는 복수의 레인징 라운드들 중 제 1 레인징 라운드에서 제2 디바이스와 레인징(ranging)을 수행할 수 있다.
본 개시의 일 실시예에 따른 프로세서(120)는 레인징의 수행 결과에 기초하여 호핑 수행 여부를 결정할 수 있다. 일 예로, 프로세서(120)는 제1 디바이스가 제2 디바이스로부터 제 1 레인징 라운드에서 응답을 수신하지 못한 경우, 호핑을 수행하는 것으로 결정할 수 있다. 다른 일예로, 프로세서(120)는 제 1 레인징 라운드에 대한 방해 레벨(interference level)에 기초하여 호핑을 수행하는 것으로 결정할 수 있다.
본 개시의 일 실시예에 따른 프로세서(120)는 호핑을 수행할 것을 결정한 경우, 난수 발생 함수에 기초하여 제2 디바이스와 레인징을 수행하기 위한 제 2 레인징 라운드의 인덱스 값을 결정할 수 있다. 일 예로, 프로세서(120)는 제 2 레인징 블록의 인덱스 값 및 레인징 세션에 대한 호핑키 값에 기초하여 계산된 난수 발생 함수의 결과 값을 고려하여 제 2 레인징 라운드의 인덱스 값을 결정할 수 있다. 또한, 난수 발생 함수는 해쉬 함수(Hash function)를 포함하고, 프로세서(120)는 제 2 레인징 블록의 인덱스 값 및 레인징 세션에 대한 호핑키 값의 합에 대한 해쉬 함수의 결과 값을 고려하여 제 2 레인징 라운드의 인덱스 값을 결정할 수 있다. 또한, 프로세서(120)는 제1 디바이스와 제2 디바이스 간의 레인징 세션을 개시하고, 상기 레인징 세션에 대한 호핑키를 전송할 수 있다.
본 개시의 일 실시예에 따른 프로세서(120)는 제 1 레인징 블록의 소정 슬럿에 대한 STS 코드(scrambled timestamp sequence code) 또는 레인징 블록에 포함된 레인징 라운드들의 개수 중 적어도 하나에 기초하여 제 2 레인징 라운드의 인덱스 값을 결정할 수 있다.
본 개시의 일 실시예에 따른 프로세서(120)는 호핑을 수행할 것을 결정한 경우, 레인징 라운드에 대한 정보를 제2 디바이스로 전송하여, 상기 제2 레인징 블록에서 호핑이 수행되는 것을 지시할 수 있다.
본 개시의 일 실시예에 따른 프로세서(120)는 제2 레인징 블록의 제 2 레인징 라운드에서 상기 제2 디바이스와 레인징을 수행할 수 있다. 이때, 제 1 레인징 라운드의 인덱스 값과 상기 제 2 레인징 라운드의 인덱스 값은 서로 다른 값일 수 있다.
프로세서(120)가 호핑 시퀀스에 대한 구체적인 방법에 대해서는 도 3 내지 17에 대한 설명이 적용될 수 있고 중복되는 설명은 생략한다.
도 19은 일 실시예에 따른 컨트롤리(200)의 블록도를 도시한다.
일 실시예에 따른 컨트롤리(200)는 고정형 단말이거나 이동형 단말일 수 있다. 컨트롤리(200)는, 예를 들어, 스마트 폰(smart phone), 휴대폰, 내비게이션, 컴퓨터, 노트북, 디지털방송용 단말, 인공 지능 스피커, 스피커, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 및 태블릿 PC 중 적어도 하나일 수 있으나, 이에 한정되지 않는다. 컨트롤리(200)는, 무선 또는 유선 통신 방식을 이용하여 네트워크를 통해 다른 디바이스 및/또는 서버와 통신할 수 있다.
도 19을 참조하면, 일 실시예에 따른 컨트롤리(200)는, 통신부(210), 프로세서(220), 및 메모리(230)를 포함할 수 있다. 그러나, 도 19에 도시된 구성 요소 모두보다 많은 구성 요소에 의해 컨트롤리(200)가 구현될 수 있다. 예를 들어, 도 20에 도시된 바와 같이, 일부 실시 예에 따른 컨트롤리(200)는, 사용자 입력부(1100), 출력부(1200), 센싱부(1400), 및 A/V 입력부(1600) 중 적어도 하나를 더 포함할 수도 있다.
도 19에서는 컨트롤리(200)가 하나의 프로세서를 포함하는 것으로 도시되었으나, 실시 예는 이에 제한되지 않으며, 컨트롤리(200)는 복수의 프로세서들을 포함할 수 있다. 이하, 서술되는 프로세서(220)의 동작 및 기능들의 적어도 일부는 복수의 프로세서들에 의해 수행될 수 있다. 도 19에 도시된 컨트롤리(200)는, 본 개시의 다양한 실시 예들에 따른 동작 방법을 수행할 수 있으며, 도 3 내지 도 17에 대한 설명들이 적용될 수 있다. 따라서, 상술한 바와 중복되는 내용은 생략한다.
본 개시의 일 실시 예에 따른 통신부(210)는, 다른 디바이스 또는 네트워크와 유무선 통신을 수행할 수 있다. 이를 위해, 통신부(210)는 다양한 유무선 통신 방법 중 적어도 하나를 지원하는 통신 모듈을 포함할 수 있다. 예를 들어, 통신 모듈은 칩셋(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) 중 적어도 하나를 포함할 수 있다.
일 실시 예에서 통신부(210)는 근거리 통신(short range communication)을 위한 통신 모듈을 포함할 수 있다. 예를 들어, 통신부(210)는 위에서 설명한 UWB, Wi-Fi, Wi-Fi Direct, 블루투스, NFC 외에 적외선 통신, MST(Magnetic Secure Transmission, 마그네틱 보안 통신과 같은 다양한 근거리 통신을 수행하기 위한 통신 모듈을 포함할 수 있다.
본 개시의 일 실시 예에 따른 프로세서(220)는 컨트롤리(200)의 전체적인 동작을 제어하며, CPU, GPU 등과 같은 프로세서를 적어도 하나 이상 포함할 수 있다. 프로세서(220)는 UWB 레인징을 수행하기 위하여 컨트롤리(200)에 포함된 다른 구성들을 제어할 수 있다. 메모리(230)는, 프로세서(220)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 컨트롤리(200)로 입력되거나 컨트롤리(200)로부터 출력되는 데이터를 저장할 수도 있다.
한편, 일 실시예에 따른 프로세서(220)는, 제 1 레인징 블록에 포함되는 복수의 레인징 라운드들 중 제1 레인징 라운드에서 제1 디바이스와 레인징(ranging)을 수행할 수 있다.
한편, 일 실시예에 따른 프로세서(220)는, 레인징의 수행 결과 및 상기 제 1 디바이스로부터 수신된 레인징 라운드에 대한 정보 중 적어도 하나에 기초하여 호핑 수행 여부를 결정할 수 있다.
일 실시예에 따라, 상기 레인징 라운드에 대한 정보는, 상기 제 2 레인징 블록의 인덱스 정보, 상기 제 2 레인징 라운드의 인덱스 정보 또는 호핑 모드 정보 중 적어도 하나의 정보를 포함할 수 있다. 프로세서(220)는 레인징 라운드에 대한 정보에 포함된 호핑 모드 정보를 식별하고, 호핑 모드 정보에 기초하여 호핑 수행 여부를 결정할 수 있다.
다른 일 예로, 프로세서(220)는 제2 디바이스가 제1 디바이스로부터 제 1 레인징 라운드에서 메세지를 수신하지 못한 경우, 호핑을 수행하는 것으로 결정할 수 있다.
일 실시예에 따른 프로세서(220)는, 호핑을 수행할 것을 결정한 경우, 난수 발생 함수에 기초하여 상기 제1 디바이스와 레인징을 수행하기 위한 제 2 레인징 라운드의 인덱스 값을 결정할 수 있다.
일예로, 프로세서(220)는 제 2 레인징 블록의 인덱스 값 및 레인징 세션에 대한 호핑키 값에 기초하여 계산된 난수 발생 함수의 결과 값을 고려하여 제 2 레인징 라운드의 인덱스 값을 결정할 수 있다.
프로세서(220)는 상기 제1 디바이스와 제2 디바이스 간의 레인징 세션을 개시하고, 제1 디바이스가 레인징 세션에 대한 호핑키를 제1 디바이스로부터 수신할 수 있다.
일 실시예에 따른 프로세서(220)는 제2 레인징 블록의 제 2 레인징 라운드에서 상기 제1 디바이스와 레인징을 수행할 수 있다. 제 1 레인징 라운드의 인덱스 값과 상기 제 2 레인징 라운드의 인덱스 값은 서로 다른 값일 수 있다.
프로세서(220)가 호핑 시퀀스에 대한 구체적인 방법에 대해서는 도 3 내지 도 17에 대한 설명이 적용될 수 있고 중복되는 설명은 생략한다.
도 20는 일 실시예에 따른 전자 디바이스의 구체적인 블록도를 도시한다.
도 20에 도시된 디바이스(1000)는 도 18에 도시된 컨트롤러(100) 및 도 19에 도시된 컨트롤리(200)와 동일한 구성 요소를 포함할 수 있다. 예를 들어, 도 20에 도시된 구성 요소 중 제어부(1300)는 도 18에 도시된 프로세서(120) 또는 도 19에 도시된 프로세서(220)와 동일할 수 있다. 도 20에 도시된 구성 요소 중 통신부(1500)는 도 18에 도시된 통신부(110) 또는 도 19에 도시된 통신부(210)과 동일할 수 있다. 도 20에 도시된 구성 요소 중 메모리(1700)는 도 18에 도시된 메모리(130) 또는 도 19에 도시된 메모리(230)와 동일할 수 있다.
도 20에 도시된 디바이스(1000)는, 상술한 컨트롤러(100) 또는 컨트롤리(200)의 동작 및 기능들을 모두 수행할 수 있다. 따라서, 이하에서는 지금까지 설명되지 않았던 디바이스(1000)의 구성 요소들에 대하여 설명하기로 한다.
도 20를 참조하면, 디바이스(1000)는 사용자 입력부(1100), 출력부(1200), 제어부(1300), 센싱부(1400), 통신부(1500), A/V 입력부(1600), 및 메모리(1700)를 포함할 수 있다.
사용자 입력부(1100)는, 사용자가 디바이스(1000)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(1100)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다. 사용자 입력부(1100)는, 사용자에게 제공할 대화 정보를 생성하기 위하여 필요한 사용자 입력을 수신할 수 있다.
출력부(1200)는 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부(1200)는 디스플레이부(1210), 음향 출력부(1220), 및 진동 모터(1230)를 포함할 수 있다. 일 실시예에 따른 출력부(1200)는, 디바이스(1000)가 높은 감쇠 상황에 있음을 사용자에게 알릴 수 있다. 예를 들어, 출력부(1200)는, 정확한 레인징을 위해서 사용자의 주머니에 있는 디바이스(1000)를 밖으로 꺼내도록 유도 할 수 있다.
진동 모터(1230)는 진동 신호를 출력할 수 있다. 예를 들어, 진동 모터(1230)는 오디오 데이터 또는 비디오 데이터(예컨대, 호신호 수신음, 메시지 수신음 등)의 출력에 대응하는 진동 신호를 출력할 수 있다.
센싱부(1400)는, 디바이스(1000)의 상태 또는 디바이스(1000) 주변의 상태를 감지하고, 감지된 정보를 제어부(1300)로 전달할 수 있다.
센싱부(1400)는, 지자기 센서(Magnetic sensor)(1410), 가속도 센서(Acceleration sensor)(1420), 온/습도 센서(1430), 적외선 센서(1440), 자이로스코프 센서(1450), 위치 센서(예컨대, GPS)(1460), 기압 센서(1470), 근접 센서(1480), 및 RGB 센서(illuminance sensor)(1490) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에 따른 센싱부(1400)는, 디바이스(1000)의 움직임을 감지할 수 있다. 제어부(1300)는, 디바이스(1000)의 움직임이 감지되면 초기 연결 메시지의 전송 주기를 짧게 변경하고, 소정 시간 동안 디바이스(1000)의 움직임이 감지되지 않으면 초기 연결 메시지의 전송 주기를 길게 변경할 수 있다. 각 센서들의 기능은 그 명칭으로부터 당업자가 직관적으로 추론할 수 있으므로, 구체적인 설명은 생략하기로 한다.
통신부(1500)는, 다른 디바이스와의 통신을 수행하기 위한 구성 요소를 포함할 수 있다. 예를 들어, 통신부(1500)는, 근거리 통신부(1510), 이동 통신부(1520), 방송 수신부(1530)를 포함할 수 있다.
근거리 통신부(short-range wireless communication unit)(151)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
이동 통신부(1520)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
방송 수신부(1530)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 디바이스(1000)가 방송 수신부(1530)를 포함하지 않을 수도 있다.
A/V(Audio/Video) 입력부(1600)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, A/V 입력부(1600)에는 카메라(1610)와 마이크로폰(1620) 등이 포함될 수 있다. 카메라(1610)은 화상 통화모드 또는 촬영 모드에서 이미지 센서를 통해 정지 영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 이미지 센서를 통해 캡쳐된 이미지는 제어부(1300) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다.
카메라(1610)에서 처리된 화상 프레임은 메모리(1700)에 저장되거나 통신부(1500)를 통하여 외부로 전송될 수 있다. 카메라(1610)는 단말기의 구성 태양에 따라 2개 이상이 구비될 수도 있다.
마이크로폰(1620)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다. 예를 들어, 마이크로폰(1620)은 외부 디바이스 또는 화자로부터 음향 신호를 수신할 수 있다. 마이크로폰(1620)는 외부의 음향 신호를 입력 받는 과정에서 발생 되는 잡음(noise)를 제거하기 위한 다양한 잡음 제거 알고리즘을 이용할 수 있다.
메모리(1700)는, 제어부(1300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 디바이스(1000)로 입력되거나 디바이스(1000)로부터 출력되는 데이터를 저장할 수도 있다.
메모리(1700)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램, SRAM, 롬, EEPROM, PROM, 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
메모리(1700)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈(1710), 터치 스크린 모듈(1720), 알림 모듈(1730) 등으로 분류될 수 있다.
UI 모듈(1710)은, 애플리케이션 별로 디바이스(1000)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈(1720)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 제어부(1300)로 전달할 수 있다. 일부 실시 예에 따른 터치 스크린 모듈(1720)은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈(1720)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.
알림 모듈(1730)은 디바이스(1000)의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다. 디바이스(1000)에서 발생되는 이벤트의 예로는 호 신호 수신, 메시지 수신, 키 신호 입력, 일정 알림 등이 있다.
개시된 실시 예들은 컴퓨터로 읽을 수 있는 저장 매체(computer-readable storage media)에 저장된 명령어를 포함하는 S/W 프로그램으로 구현될 수 있다.
컴퓨터는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 개시된 실시 예에 따른 동작이 가능한 장치로서, 개시된 실시 예들에 따른 영상 전송 장치 및 영상 수신 장치를 포함할 수 있다.
컴퓨터로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
또한, 개시된 실시 예들에 따른 전자 장치 또는 방법은 컴퓨터 프로그램 제품(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 (20)

  1. UWB를 통해 레인징을 수행하는 제 1 디바이스의 동작 방법에 있어서,
    제 1 레인징 블록에 포함되는 복수의 레인징 라운드들 중 제 1 레인징 라운드에서 제 2 디바이스와 레인징(ranging)을 수행하는 단계;
    상기 레인징의 수행 결과에 기초하여 호핑 수행 여부를 결정하는 단계;
    호핑을 수행할 것을 결정한 경우, 난수 발생 함수에 기초하여 상기 제 2 디바이스와 레인징을 수행하기 위한 제 2 레인징 라운드의 인덱스 값을 결정하는 단계; 및
    제 2 레인징 블록의 제 2 레인징 라운드에서 상기 제 2 디바이스와 레인징을 수행하는 단계;를 포함하고,
    상기 제 1 레인징 라운드의 인덱스 값과 상기 제 2 레인징 라운드의 인덱스 값은 서로 다른 값인, 제 1 디바이스의 동작 방법.
  2. 제 1항에 있어서
    상기 제 2 레인징 라운드의 인덱스 값을 결정하는 단계는,
    상기 제 2 레인징 블록의 인덱스 값 및 레인징 세션에 대한 호핑키 값에 기초하여 계산된 난수 발생 함수의 결과 값을 고려하여 상기 제 2 레인징 라운드의 인덱스 값을 결정하는 단계를 포함하는, 제 1 디바이스의 동작 방법.
  3. 제 2 항에 있어서,
    상기 제 2 레인징 라운드의 인덱스 값을 결정하는 단계는,
    상기 난수 발생 함수는 해쉬 함수(Hash function)를 포함하고, 상기 제 2 레인징 블록의 인덱스 값 및 상기 레인징 세션에 대한 호핑키 값의 합에 대한 해쉬 함수의 결과 값을 고려하여 상기 제 2 레인징 라운드의 인덱스 값을 결정하는 단계;를 포함하는, 제 1 디바이스의 동작 방법.
  4. 제 2항에 있어서
    상기 난수 발생 함수는 AES128, SHA1, MD5, CRC32, LCG, Linear-feedback shift register 중 적어도 하나인, 제 1 디바이스의 동작 방법.
  5. 제 2 항에 있어서
    상기 제 1 디바이스와 상기 제 2 디바이스 간의 레인징 세션을 개시하는 단계; 및
    상기 제 1 디바이스가 상기 레인징 세션에 대한 호핑키를 전송하는 단계;를 더 포함하는, 제 1 디바이스의 동작 방법.
  6. 제 1항에 있어서
    상기 제 2 레인징 라운드의 인덱스 값을 결정하는 단계는
    상기 제 1 레인징 블록의 소정 슬럿에 대한 STS 코드(scrambled timestamp sequence code) 또는 레인징 블록에 포함된 레인징 라운드들의 개수 중 적어도 하나에 기초하여 상기 제 2 레인징 라운드의 인덱스 값을 결정하는 단계를 포함하는, 제1 디바이스의 동작 방법.
  7. 제 1 항에 있어서
    호핑을 수행할 것을 결정한 경우, 레인징 라운드에 대한 정보를 상기 제 2 디바이스로 전송하여, 상기 제 2 레인징 블록에서 호핑이 수행되는 것을 지시하는 단계;를 더 포함하는, 제 1 디바이스의 동작 방법.
  8. 제 1항에 있어서,
    상기 레인징의 수행 결과에 기초하여 호핑 수행 여부를 결정하는 단계는,
    상기 제 1 디바이스가 제 2 디바이스로부터 상기 제 1 레인징 라운드에서 응답을 수신하지 못한 경우, 호핑을 수행하는 것으로 결정하는 단계를 포함하는, 제 1 디바이스의 동작 방법.
  9. 제 1항에 있어서,
    상기 레인징의 수행 결과에 기초하여 호핑 수행 여부를 결정하는 단계는,
    상기 제 1 레인징 라운드에 대한 방해 레벨(interference level)에 기초하여 호핑을 수행하는 것으로 결정하는 단계를 포함하는, 제 1 디바이스의 동작 방법.
  10. UWB를 통해 레인징을 수행하는 제2 디바이스의 동작 방법에 있어서,
    제 1 레인징 블록에 포함되는 복수의 레인징 라운드들 중 제 1 레인징 라운드에서 제 1 디바이스와 레인징(ranging)을 수행하는 단계;
    상기 레인징의 수행 결과 및 상기 제 1 디바이스로부터 수신된 레인징 라운드에 대한 정보 중 적어도 하나에 기초하여 호핑 수행 여부를 결정하는 단계;
    호핑을 수행할 것을 결정한 경우, 난수 발생 함수에 기초하여 상기 제 1 디바이스와 레인징을 수행하기 위한 제 2 레인징 라운드의 인덱스 값을 결정하는 단계; 및
    제 2 레인징 블록의 제 2 레인징 라운드에서 상기 제 1 디바이스와 레인징을 수행하는 단계;를 포함하고,
    상기 제 1 레인징 라운드의 인덱스 값과 상기 제 2 레인징 라운드의 인덱스 값은 서로 다른 값인, 제 2 디바이스의 동작 방법.
  11. 제 10항에 있어서
    상기 제 2 레인징 라운드의 인덱스 값을 결정하는 단계는,
    상기 제 2 레인징 블록의 인덱스 값 및 레인징 세션에 대한 호핑키 값에 기초하여 계산된 난수 발생 함수의 결과 값을 고려하여 상기 제 2 레인징 라운드의 인덱스 값을 결정하는 단계를 포함하는, 제 2 디바이스의 동작 방법.
  12. 제 11항에 있어서
    상기 제 2 레인징 라운드의 인덱스 값을 결정하는 단계는,
    상기 난수 발생 함수는 해쉬 함수(Hash function)를 포함하고, 상기 제 2 레인징 블록의 인덱스 값 및 상기 레인징 세션에 대한 호핑키 값의 합에 대한 해쉬 함수의 결과 값을 고려하여 상기 제 2 레인징 라운드의 인덱스 값을 결정하는 단계;를 포함하는, 제 2 디바이스의 동작 방법.
  13. 제 12 항에 있어서
    상기 제 1 디바이스와 상기 제 2 디바이스 간의 레인징 세션을 개시하는 단계; 및
    상기 제 1 디바이스가 상기 레인징 세션에 대한 호핑키를 상기 제 1 디바이스로부터 수신하는 단계;를 더 포함하는, 제 2 디바이스의 동작 방법.
  14. 제 11항에 있어서
    상기 레인징 라운드에 대한 정보는, 상기 제 2 레인징 블록의 인덱스 정보, 상기 제 2 레인징 라운드의 인덱스 정보 또는 호핑 모드 정보 중 적어도 하나의 정보를 포함하는, 제 2 디바이스의 동작 방법.
  15. 제 14항에 있어서
    상기 호핑 수행 여부를 결정하는 단계는,
    상기 레인징 라운드에 대한 정보에 포함된 호핑 모드 정보를 식별하는 단계;
    상기 호핑 모드 정보에 기초하여 상기 호핑 수행 여부를 결정하는 단계를 포함하는, 제 2 디바이스의 동작 방법.
  16. 제 1항에 있어서,
    호핑 수행 여부를 결정하는 단계는,
    상기 제 2 디바이스가 제 1 디바이스로부터 상기 제 1 레인징 라운드에서 메세지를 수신하지 못한 경우, 호핑을 수행하는 것으로 결정하는 단계를 포함하는, 제2 디바이스의 동작 방법.
  17. UWB를 통해 레인징을 수행하는 제1 디바이스에 있어서,
    통신부;
    메모리; 및
    상기 메모리에 저장된 프로그램을 실행함으로써 상기 제1 디바이스의 동작을 제어하는 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    제 1 레인징 블록에 포함되는 복수의 레인징 라운드들 중 제 1 레인징 라운드에서 제 2 디바이스와 레인징(ranging)을 수행하고,
    상기 레인징의 수행 결과에 기초하여 호핑 수행 여부를 결정하고,
    호핑을 수행할 것을 결정한 경우, 난수 발생 함수에 기초하여 상기 제 2 디바이스와 레인징을 수행하기 위한 제 2 레인징 라운드의 인덱스 값을 결정하고,
    제 2 레인징 블록의 제 2 레인징 라운드에서 상기 제 2 디바이스와 레인징을 수행하고, 상기 제 1 레인징 라운드의 인덱스 값과 상기 제 2 레인징 라운드의 인덱스 값은 서로 다른 값인, 제 1 디바이스.
  18. 제 17항에 있어서
    상기 프로세서는 상기 제 2 레인징 블록의 인덱스 값 및 레인징 세션에 대한 호핑키 값에 기초하여 계산된 난수 발생 함수의 결과 값을 고려하여 상기 제 2 레인징 라운드의 인덱스 값을 결정하는, 제 1 디바이스.
  19. 제 17항에 있어서
    상기 프로세서는 상기 제 1 레인징 블록의 소정 슬럿에 대한 STS 코드(scrambled timestamp sequence code) 또는 레인징 블록에 포함된 레인징 라운드들의 개수 중 적어도 하나에 기초하여 상기 제 2 레인징 라운드의 인덱스 값을 결정하는, 제 1 디바이스.
  20. UWB를 통해 레인징을 수행하는 제2 디바이스에 있어서,
    통신부;
    메모리; 및
    상기 메모리에 저장된 프로그램을 실행함으로써 상기 제1 디바이스의 동작을 제어하는 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    제 1 레인징 블록에 포함되는 복수의 레인징 라운드들 중 제 1 레인징 라운드에서 제 1 디바이스와 레인징(ranging)을 수행하고,
    상기 레인징의 수행 결과 및 상기 제 1 디바이스로부터 수신된 레인징 라운드에 대한 정보 중 적어도 하나에 기초하여 호핑 수행 여부를 결정하고,
    호핑을 수행할 것을 결정한 경우, 난수 발생 함수에 기초하여 상기 제 1 디바이스와 레인징을 수행하기 위한 제 2 레인징 라운드의 인덱스 값을 결정하고,
    제2 레인징 블록의 제 2 레인징 라운드에서 상기 제 1 디바이스와 레인징을 수행하고, 상기 제 1 레인징 라운드의 인덱스 값과 상기 제 2 레인징 라운드의 인덱스 값은 서로 다른 값인, 제 2 디바이스.
KR1020190161838A 2019-12-06 2019-12-06 UWB(Ultra Wide Band)를 통해 레인징을 수행하는 전자 디바이스 및 전자 디바이스의 동작 방법 KR20210071540A (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020190161838A KR20210071540A (ko) 2019-12-06 2019-12-06 UWB(Ultra Wide Band)를 통해 레인징을 수행하는 전자 디바이스 및 전자 디바이스의 동작 방법
US17/108,214 US11340341B2 (en) 2019-12-06 2020-12-01 Electronic device for performing ranging by using ultra-wide band and operation method thereof
CN202080074051.2A CN114599993A (zh) 2019-12-06 2020-12-01 用于通过使用超宽带来进行测距的电子装置及其运行方法
EP20896888.3A EP4018224A4 (en) 2019-12-06 2020-12-01 ULTRA WIDE BAND ELECTRONIC DISTANCE DEVICE AND OPERATING METHOD THEREOF
PCT/KR2020/017406 WO2021112539A1 (en) 2019-12-06 2020-12-01 Electronic device for performing ranging by using ultra-wide band and operation method thereof
US17/748,714 US11740343B2 (en) 2019-12-06 2022-05-19 Electronic device for performing ranging by using ultra-wide band and operation method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190161838A KR20210071540A (ko) 2019-12-06 2019-12-06 UWB(Ultra Wide Band)를 통해 레인징을 수행하는 전자 디바이스 및 전자 디바이스의 동작 방법

Publications (1)

Publication Number Publication Date
KR20210071540A true KR20210071540A (ko) 2021-06-16

Family

ID=76210877

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190161838A KR20210071540A (ko) 2019-12-06 2019-12-06 UWB(Ultra Wide Band)를 통해 레인징을 수행하는 전자 디바이스 및 전자 디바이스의 동작 방법

Country Status (5)

Country Link
US (2) US11340341B2 (ko)
EP (1) EP4018224A4 (ko)
KR (1) KR20210071540A (ko)
CN (1) CN114599993A (ko)
WO (1) WO2021112539A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115996071A (zh) * 2022-12-02 2023-04-21 中国电子科技集团公司第十研究所 Nb辅助uwb测距系统的跳时序列生成方法
KR20230062027A (ko) * 2021-10-29 2023-05-09 주식회사 지오플랜 멀티 ble 기반의 uwb 보안 레인징 방법
WO2023177243A1 (ko) * 2022-03-16 2023-09-21 삼성전자 주식회사 Uwb 통신을 이용한 레인징 방법 및 장치

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10362461B2 (en) * 2016-12-27 2019-07-23 Denso Corporation System and method for microlocation sensor communication
US11700136B2 (en) * 2018-11-26 2023-07-11 Kansas State University Research Foundation PUF-IPA: a PUF-based identity preserving lightweight authentication protocol using binary string shuffling
KR20230052475A (ko) 2021-10-13 2023-04-20 현대모비스 주식회사 자동차의 잠금 제어장치 및 그 방법
CN114007237B (zh) * 2022-01-04 2022-03-22 杭州优智联科技有限公司 Uwb系统进行测距的调度方法、装置、系统及介质
WO2023185855A1 (zh) * 2022-03-30 2023-10-05 华为技术有限公司 一种通信方法及装置
CN114827897B (zh) * 2022-06-22 2022-09-30 杭州优智联科技有限公司 基于uwb的多基站多标签的定位调度方法、装置、系统及介质
WO2024014794A1 (en) * 2022-07-11 2024-01-18 Samsung Electronics Co., Ltd. Method and apparatus for co-scheduling sensing and ranging in ultra-wideband communication
CN117729507A (zh) * 2022-09-09 2024-03-19 华为技术有限公司 一种信息传输方法和装置
WO2024091737A1 (en) * 2022-10-25 2024-05-02 Qualcomm Incorporated Interference mitigation in uwb

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100596363C (zh) 2007-05-31 2010-03-31 北京泛亚创知科技发展有限公司 一种信标无线个域网中中心节点与设备节点间的测距方法
US20090239550A1 (en) 2008-03-18 2009-09-24 Myers Theodore J Random phase multiple access system with location tracking
KR101533091B1 (ko) * 2009-02-06 2015-07-10 삼성전자주식회사 광대역 무선접속 통신시스템에서 레인징을 위한 방법 및 장치
US8837307B2 (en) * 2010-05-26 2014-09-16 Qualcomm Incorporated Two-way ranging messaging scheme
US8879407B2 (en) 2010-05-26 2014-11-04 Qualcomm Incorporated Two-way ranging messaging scheme
US9154267B2 (en) 2012-07-02 2015-10-06 Intel Corporation Sounding reference signal (SRS) mechanism for intracell device-to-device (D2D) communication
KR20140030981A (ko) * 2012-09-04 2014-03-12 삼성전자주식회사 무선통신 시스템에서 레인징 방법 및 장치
US10715977B2 (en) 2017-12-28 2020-07-14 Qualcomm Incorporated System and method for ranging-assisted vehicle positioning

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230062027A (ko) * 2021-10-29 2023-05-09 주식회사 지오플랜 멀티 ble 기반의 uwb 보안 레인징 방법
WO2023177243A1 (ko) * 2022-03-16 2023-09-21 삼성전자 주식회사 Uwb 통신을 이용한 레인징 방법 및 장치
CN115996071A (zh) * 2022-12-02 2023-04-21 中国电子科技集团公司第十研究所 Nb辅助uwb测距系统的跳时序列生成方法
CN115996071B (zh) * 2022-12-02 2024-04-16 中国电子科技集团公司第十研究所 Nb辅助uwb测距系统的跳时序列生成方法

Also Published As

Publication number Publication date
WO2021112539A1 (en) 2021-06-10
US11740343B2 (en) 2023-08-29
CN114599993A (zh) 2022-06-07
US20210173066A1 (en) 2021-06-10
EP4018224A4 (en) 2023-02-15
US11340341B2 (en) 2022-05-24
US20220276365A1 (en) 2022-09-01
EP4018224A1 (en) 2022-06-29

Similar Documents

Publication Publication Date Title
US11340341B2 (en) Electronic device for performing ranging by using ultra-wide band and operation method thereof
US11576028B2 (en) Electronic device and method for performing ranging through UWB
US20220082676A1 (en) Electronic device for performing ranging through ultra-wide band (uwb), and method for operating electronic device
US11546013B2 (en) Electronic device performing ranging operation by using ultra wide-band and operation method of the electronic device
US9338635B2 (en) Method, apparatus, and computer program product for device tracking
EP4024081A1 (en) Operation method and apparatus of device for transmitting/receiving data through ultra wideband (uwb)
US9900919B1 (en) Adaptive beacon rate system
CN109076593A (zh) 传输配置方法及装置
KR20160063041A (ko) 근접 서비스 데이터 송신 방법 및 그 전자 장치
US20230141919A1 (en) Electronic device for performing ranging through uwb, and operation method of electronic device
US9265080B1 (en) Method, apparatus, and computer program product for multi-device output mode configuration
KR102600894B1 (ko) 전자 장치를 이용한 위치 측정 장치 및 방법
TW201330566A (zh) 促進無線通信的系統與方法
US11843412B2 (en) Electronic device for performing ranging by using ultra wide band communication and operating method thereof
CN116686377A (zh) 使用uwb的设备发现的方法和设备
US20230171729A1 (en) Method and device for ultra wide band (uwb) communication
WO2015196698A1 (zh) 一种寻呼方法、系统、设备及计算机存储介质
US20210400411A1 (en) Audio output apparatus for wirelessly receiving data from electronic device and method of operating the same
CN104113936A (zh) 一种指定用户设备的发现方法及装置
Mikhaylov et al. Mechanisms for improving throughput and energy efficiency of Bluetooth Low Energy for multi node environment
US20240012133A1 (en) Method and device for providing service using uwb communication
US20220397659A1 (en) Method and device for performing uwb ranging
KR20240048414A (ko) 초광대역 통신 신호를 이용하여 위치를 추정하기 위한 방법 및 장치
KR20240051672A (ko) 초광대역 통신 신호를 이용하여 레인징 영역을 조정하기 위한 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination