반응형

Dependency between RSSI and Distance - BLE

 

vctec.co.kr/product/nrf52832-%EC%95%84%EB%91%90%EC%9D%B4%EB%85%B8-%ED%98%B8%ED%99%98-ble-%ED%94%BC%EB%8D%94-%EB%B3%B4%EB%93%9C-adafruit-feather-nrf52-bluefruit-le-nrf5283/11424/

 

nRF52832 아두이노 호환 BLE 피더 보드 (Adafruit Feather nRF52 Bluefruit LE - nRF52832)

상품결제정보 결제는 신용카드, 실시간 계좌이체, 무통장 입금 등을 선택하여 진행하실 수 있습니다. 세금계산서 발행을 요청하실 경우에는 결제방법을 무통장 입금으로 선택하시고 사업자등

vctec.co.kr

 

Hardware(기기) : nRF52382

Environment(실험 환경): 장애물이 없고, Bluetooth가 하나도 잡히지 않는 운동장

Advertiser : nRF52382

Observer : nRF52382 ( 안테나 동일 )

 

 

Dependency between RSSI and Distance - BLE

4.0m 이 후는 거의 RSSI가 요동치는 것을 확인할 수 있다. BLE를 Indoor Position을 하려면, BLE 배치를 최소 4m 간격으로 하던지, 거리별 정확한 RSSI를 구하는 알고리즘이 필요하다.

DIstance별 RSSI 

BLE로 이런 이상적인 그림은 절대 필터링을 하지 않는 이상 절대 나올 수 없다.

728x90
반응형
반응형

 

microchipdeveloper.com/wireless:start

 

Wireless Communications - Developer Help

Microchip offers a broad portfolio of wireless solutions which are cost effective and very easy to implement. Depending on your application requirements, you can choose the product that fits your needs from our various transmitters, receivers, transceivers

microchipdeveloper.com

IEEE Develope Document를 통해 스터디를 하며, 개발에 필요한 부분을 위주로 이야기하겠습니다. 

 

BLE Architecture

IEEE에서 소개하는 BLE Architecture 계층으로 Application Layer, Host Layer, Controller Layer로 구성되며,

Host Layer는 만들고자 하는 서비스에 중요한 내용이 아니므로, Controller Layer에서 Physical Layer, Link Layer 위주로 글을 작성하겠습니다. 

 

BLE RSSI 신호를 이용한 Indoor Position(실내 측위) 프로젝트를 수행했습니다. 몇 년 전부터 많이 개발되었으며, BLE의 Architecture(Physical Layer)의  BLE의 한계를 설명하고, 하나의 논문을 보려고 합니다. 

coding-yoon.tistory.com/123?category=910542

 

[무선 통신] 실내 측위를 위한 삼변측량

안녕하세요. Bluetooth Low Energy를 이용해 실내 측위에 대해 알아보겠습니다. 실내에 iBeacon 4개가 설치되어 있습니다. iBeacon는 Advertise의 Payload가 30bytes입니다. (일반 ble는 31bytes) Payload에는 Tx..

coding-yoon.tistory.com

 

 

< Physical Layer >

 

1. Frequency Band

    ① 2.4GHz 대역 (2.402 GHz ~ 2.4835 GHz) : 2 MHz간격으로 40개 채널로 구성

    ② Advertising Channels : 37, 38, 39 (2402 MHz, 2426 MHz, 2480 MHz)

        - Device Discovery

        - Connection Establishment

        - Broadcast Transmissions

    ③ Data Channels : 0 ~ 36

        - 연결된 장치 간 양방향 통신 

        - Adaptive Frequency Hopping 

 

BLE Frequency Band

 

2. Data rate

    ① 1 Mbps 이하

    ② GFSK (Gaussian Frequency-Shift Keying) : Gaussian Filter 사용

 

 

 

 

 

< Application 설명>

 

실내 측위 어플리케이션에서 GAP, GATT의 Connection을 통한 데이터 송수신보다 Advertiser ChannelBroadcaster Transmissions을 사용합니다. 

 

블루투스 처럼 페어링을 하지 않고, 패킷을 간소화하여 Connection-less Service를 통해 저전력 통신이 가능합니다.

 

Advertiser Channel의 Broadcaster Transmissions은 목적지가 존재하지 않고, 모든 기기로 Advertiser Packet을 전송합니다. ( 해당 서비스에는 Advertiser Packet에 대한 Ack는 필요하지 않습니다. ) 

Broadcaster, Observer는 Link Layer의 Role에 관한 내용이므로 다음 글에 자세히 설명하며, 우선 Broadcaster는 Packet을 송신, Observer는 Packet을 수신하는 역할로 이해하면 충분합니다. 

 

Broadcaster가 신호를 모든 기기로 전송하면, Observer에서 신호를 수신하며, 수신한 신 세기(RSSI)를 구할 수 있습니다. RSSI를 통해 Distance를 구할 수 있으며, 3개의 Distance가 모이면 삼변측량을 통해 좌표를 구할 수 있습니다. 

 

 

 

 

<BLE 한계>

 

DIstance별 RSSI 

실제로 BLE 실내 측위는 굉장히 어려운 일입니다.

 

RSSI는 실수가 아닌, 정수 값으로 약 -60~- 90 dBm 사이로 존재합니다. 

 

0~30m의 Distance가  -60~- 90 dBm로  결정됩니다. 

 

실제 방해물이 없는 빈 공간에서 테스트를 하면, 5m를 넘어 -80 ~90 dBm 사이 값으로 불규칙으로 존재하며, 실제 Distance를 구하기 어렵습니다. 

 

(참고)

coding-yoon.tistory.com/137

 

[무선 통신] Dependency between RSSI and Distance - BLE

Dependency between RSSI and Distance - BLE vctec.co.kr/product/nrf52832-%EC%95%84%EB%91%90%EC%9D%B4%EB%85%B8-%ED%98%B8%ED%99%98-ble-%ED%94%BC%EB%8D%94-%EB%B3%B4%EB%93%9C-adafruit-feather-nrf52-bluef..

coding-yoon.tistory.com

(참고)

무선 통신이므로 RSSI 굉장히 불안정하고, 장애물, 반사에 굉장히 취약합니다.

www.davidgyoungtech.com/2020/05/15/how-far-can-you-go

 

How Far Can You Go?

The Challenge of Bluetooth Distance Estimation Estimating distance with Bluetooth has long been a source of befuddlement and controversy.  Developers often have trouble making it work and there is debate about whether it works well enough to be useful. 

www.davidgyoungtech.com

위 블로그는, RSSI를 통해 Distance를 구하는 것이 아이디어는 쉽지만, 정확성을 올리는 것이 굉장히 어렵다고 소개하고 있습니다. 뿐만 아니라, 기기에 대한 안테나 차이로 RSSI가 제대로 나오지 않을 수 있습니다. 

 

그래서 RSSI 정확성을 향상시키기 위한 논문과 연구가 많이 나왔습니다. 

 

논문 중 Filter Smoothing, Kalman Filter, Deep Learning 을 통한 성능향상이 많습니다. 

 

그 중 가장 눈에 띄는 논문으로...

 

www.mdpi.com/1424-8220/20/5/1350

 

Detecting and Correcting for Human Obstacles in BLE Trilateration Using Artificial Intelligence

One of the popular candidates in wireless technology for indoor positioning is Bluetooth Low Energy (BLE). However, this technology faces challenges related to Received Signal Strength Indicator (RSSI) fluctuations due to the behavior of the different adve

www.mdpi.com

위 논문의 아이디어는 Advertiser Channel에서 37, 38, 39 Channel이 Random하게 Hopping 하므로, 채널의 주파수 차이로 인해 수신세기가 다르게 측정된다는 것입니다. ( 37, 38, 39 (2402 MHz, 2426 MHz, 2480 MHz) )

 

Channel 37, 38, 39 RSSI

위 표를 보면 Channel 별 RSSI가 다르다는 것을 알 수 있습니다.

 

각각 37, 38, 39 channel의 거리별 RSSI를 딥러닝을 이용하여 성능을 향상시켰습니다.

Channel RSSI Input Deep Learning
Deep Learning Performance

 

그 밖에도 많은 Indoor Positioning Algorithm이 있으며 , Fingerprinting 혹은 Map Matching 을 통해 정확성을 올리는 방법이 있습니다.

 

RSSI가 아닌, 기기 간 통신 속도를 통해 Distance를 구하는 UWB가 있습니다. UWB는 오차범위가 [m]인 BLE와 달리 [cm]입니다. 

728x90
반응형
반응형

안녕하세요.

 

Bluetooth Low Energy를 이용해 실내 측위에 대해 알아보겠습니다. 

 

실내에 iBeacon 4개가 설치되어 있습니다. 

iBeacon는 Advertise의 Payload가 30bytes입니다. (일반 ble는 31bytes)

 

Payload에는 Tx Power(송신 세기 : dBm), RSSI(수신 세기 : dBm)이 있습니다.

 

Tx Power와 RSSI가 있으면 Advertise와 Scanner 사이의 Distance를 구할 수 있습니다. 

 

Distance[m] = 10 ^ ( (Tx Power – RSSI) / (10 * N) )

(N = 보정 상수)

 

 

최소 세 개 정도의 Distance를 구할 수 있다면, 실내 좌표를 구할 수 있다는 것이 Trilateration(삼변 측량)입니다. 

 

distance

 

위 식을 정리하여, 선형대수로 아래처럼 정리할 수 있습니다. 

 

Least Square Solution
A, b
Scanner 좌표

x, y 좌표는 고정 값이며, distance는 ble의 신호 세기를 통해 distance를 구했기 때문에 ϵ를 구할 수 있습니다. 

 

하지만 Height에 대해 고려하지 않았고, 무선 신호 세기가 불안전하기 때문에 오차 범위가 큽니다. 

 

이에 해당하여 Weight를 주는 방식도 있지만, 정확한 위치를 구하기 위해선 공부가 더 필요합니다. 


2022년 7월 업데이트 내용하였으니 참고바람.

https://coding-yoon.tistory.com/201

 

[BLE 실내 측위 프로젝트] 10. 삼변측량 정리 및 구현

목차 1. flutter_blue_plus 설치 및 설정 : ​https://coding-yoon.tistory.com/191 2. BLE 통신 스케줄 및 안드로이드 동작 : https://coding-yoon.tistory.com/192 3. ​ Flutter BLE Scan Demo Program : h..

coding-yoon.tistory.com

 

 

728x90
반응형

+ Recent posts