microchipdeveloper.com/wireless:start
위 IEEE Develope Document를 통해 스터디를 하며, 개발에 필요한 부분을 위주로 이야기하겠습니다.
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
< 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
2. Data rate
① 1 Mbps 이하
② GFSK (Gaussian Frequency-Shift Keying) : Gaussian Filter 사용
< Application 설명>
실내 측위 어플리케이션에서 GAP, GATT의 Connection을 통한 데이터 송수신보다 Advertiser Channel의 Broadcaster 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 한계>
실제로 BLE 실내 측위는 굉장히 어려운 일입니다.
RSSI는 실수가 아닌, 정수 값으로 약 -60~- 90 dBm 사이로 존재합니다.
0~30m의 Distance가 -60~- 90 dBm로 결정됩니다.
실제 방해물이 없는 빈 공간에서 테스트를 하면, 5m를 넘어 -80 ~90 dBm 사이 값으로 불규칙으로 존재하며, 실제 Distance를 구하기 어렵습니다.
(참고)
(참고)
무선 통신이므로 RSSI 굉장히 불안정하고, 장애물, 반사에 굉장히 취약합니다.
www.davidgyoungtech.com/2020/05/15/how-far-can-you-go
위 블로그는, RSSI를 통해 Distance를 구하는 것이 아이디어는 쉽지만, 정확성을 올리는 것이 굉장히 어렵다고 소개하고 있습니다. 뿐만 아니라, 기기에 대한 안테나 차이로 RSSI가 제대로 나오지 않을 수 있습니다.
그래서 RSSI 정확성을 향상시키기 위한 논문과 연구가 많이 나왔습니다.
논문 중 Filter Smoothing, Kalman Filter, Deep Learning 을 통한 성능향상이 많습니다.
그 중 가장 눈에 띄는 논문으로...
www.mdpi.com/1424-8220/20/5/1350
위 논문의 아이디어는 Advertiser Channel에서 37, 38, 39 Channel이 Random하게 Hopping 하므로, 채널의 주파수 차이로 인해 수신세기가 다르게 측정된다는 것입니다. ( 37, 38, 39 (2402 MHz, 2426 MHz, 2480 MHz) )
위 표를 보면 Channel 별 RSSI가 다르다는 것을 알 수 있습니다.
각각 37, 38, 39 channel의 거리별 RSSI를 딥러닝을 이용하여 성능을 향상시켰습니다.
그 밖에도 많은 Indoor Positioning Algorithm이 있으며 , Fingerprinting 혹은 Map Matching 을 통해 정확성을 올리는 방법이 있습니다.
RSSI가 아닌, 기기 간 통신 속도를 통해 Distance를 구하는 UWB가 있습니다. UWB는 오차범위가 [m]인 BLE와 달리 [cm]입니다.
'통신' 카테고리의 다른 글
[통신] AVR-ATMega128A Bluetooth 통신(1) (0) | 2021.06.16 |
---|---|
[무선 통신] UWB LOS/NLOS Classification Using Deep Learning Method (1) (1) | 2021.03.09 |
[무선 통신] Dependency between RSSI and Distance - BLE (0) | 2021.03.03 |
[무선 통신] 실내 측위를 위한 삼변측량 (0) | 2021.01.22 |