해당 글은 https://bluetoothsomething.wordpress.com/tag/rssi/ 에서 발췌 되었습니다.
[Guest Forum] RSSI 값의 불안정한 요소 & 대책 방안들
현재 비콘의 거리 측정 알고리즘에서 이용되는 주된 매개변수(parameter)는 RSSI값에 의거된다. RSSI 란 ‘Received Signal Strength Indicator’ 의 줄임말로, 수신된 신호 강도의 지표라고 해석할 수 있다. 예를 들어 RSSI값의 레인지는 보통 -99 에서 -35 까지 이며, 숫자가 높으면 높을 수록 신호의 강도가 쌔다고 볼 수 있다. 조금 더 쉽게 말하자면, 어느 한 비콘과 스마트폰 간의 거리를 측정할 때에 있어서 가장 기본적이자 유일하게 이용되는 지표가 바로 RSSI 값이다.
그러므로 비콘 개발자들이 서비스를 만들면서 사용자들에게 약속한 정확한 위치에서 발생되는 비콘 이벤트를 개발하기 위해선 RSSI 값의 기본적인 이해가 필요하다. 하지만, 이러한 매우 핵심적인 RSSI 값의 이해에도 불구하고 현실적으로는 RSSI 수치는 매우 불안정하며 무작위성이 있다는 것을 오늘 포스팅을 통해서 얘기하려고 한다.
또 한, 오늘 포스팅은 우리 팀의 천재 하드웨어 엔지니어인 Joseph 가 RSSI값이 불안정하다는 것을 증명한 실험 결과들에 대해 짚고 넘어간 후에 RSSI값에 대한 다른 대책 방안에 대해 의논을 할 것이다.
Joseph:
이론상으로는 RSSI값이 아주 간단하게 거리에 대한 정보를 줄 수 있을 것으로 보인다. 라디오 신호의 강도(파워)가 거리의 제곱과 반비례하고, RSSI값은 이 강도를 임의로 정한 기준에 로그로 비례하여 표현한 단위이기 때문이다. 비컨 개발 관련 툴과 API로 잘 알려진 Estimote사도 “Distance DEMO” 라는 식의 이름으로 마치 거리를 쉽게 측정가능 할 것이라는 인상도 준다. 하지만 RSSI 값은 여러 환경 요소에 영향을 받는다. 몇 가지 예로는 라디오 안테나가 향하는 방향부터, 비콘과 비콘 사이간의 장애물 또는 전파 방해 등등이 있다.
실제로 잘 제어된 공간에서의 RSSI 값과 거리의 관계를 증명 하려 한 실험들도 실망적인 결과를 보인다. 심지어 비컨을 한 곳에 가만히 두고 RSSI값을 측정해도 일정 하지가 않다는 것은 비콘 모니터링을 해본 개발자들이라면 알고 있을 것이다. ‘frequency hopping’ (‘interference’ 또는 전파 방해를 줄이기 위해 주파수를 바꿔가며 사용하는 것)를 이용한 블루투스 고유의 특징도 이런 현상 원인의 일부이기도 하다.
BlueGiga 등 많은 BLE기기에 사용되고 있는 칩을 만드는 Texas Instrument사의 직원의 얘기를 들어보면 현재의 BLE기술은 거리나 위치를 측정하는 용도로 만들어 진 것이 아니기 때문에 RSSI값의 이러한 사용은 한계가 있다고 한다. 또한 블루투스 프로토콜을 관리/운영하는 Bluetooth Special Interest Group (BT-SIG)은 현재 거리와 위치 파악을 염두 해 둔 새로운 프로토콜을 개발 중에 있지만, 이것의 도입은 몇 년 걸릴 것으로 예상된다. 현재로서는 대략적으로 ‘이 공간에 있다/없다’ 정도의 정보를 얻는 데에 사용한다면 크게 실망하지 않을 것이다.
아직 BLE가 거리와 위치를 감지하기 위한 기술로는 성숙하지는 않지만 이에 몇 가지 대안이 있을 수 도 있다. 앞서 사전에 조사한 학술자료에 의하면 향후 실험계획으로 RSSI에 대한 다양한 대안들이 나와있지만, 여러 개의 Central/Observer 디바이스로 비컨을 트래킹 하는 것이 그 중 하나다. 여러 개에의 디바이스에서 얻은 RSSI값을 알고리즘으로 분석하여 조금 더 정확한 공간 정보를 얻는 것도 충분히 일리가 있어 보인다.
또 다른 방법으로는 BLE강점을 잘 살려서 다른 센서를 활용하는 방법이다. 사람의 Indoor Positioning(실내 위치 추적)을 목적으로 한다면 이용 가치가 있는 것은 전력소모가 꾀나 큰 액티브 센서이지 않을까 한다. 예를 들자면 기존의 적외선, 마이크로웨이브, GPS센서 등이 있을 텐데 비컨을 이용하여 평소에는 sleep mode 에 있다가 적절한 상황에만 잠깐씩 켜져서 정보를 얻게 할 수 있다. 언제 일어날지 모르는 특정 상황에 대비해 항상 켜있는 것이 아니라 비컨을 통해 적절한 시기에 켜질 수 있다면 저전력의 wearable에도 적합하지 않을까 한다. 또 다른 예로는 자동문이 열리는 시점을 기록하는 센서와 그 시점을 기준으로 변화하는 RSSI값의 관찰로 특정 인물의 출입 여부를 판단 할 수도 있다.
'Software > Bluetooth' 카테고리의 다른 글
블루투스(Bluetooth) 프로토콜 스택과 프로파일(Profile) - <1> (0) | 2017.09.25 |
---|---|
블루투스(Bluetooth)의 개요와 기초 (0) | 2017.09.19 |
블루투스와 와이파이의 평화로운 공존 방법 (0) | 2017.09.18 |
블루투스 프로파일 개요 (Bluetooth Profiles Overview) (1) | 2017.05.11 |
블루투스 프로파일 : Audio/Video Remote Control Profile(AVRCP) (0) | 2017.05.08 |