Bluetooth에서 전파의 세기 즉 신호세기를 RSSI라고 부릅니다.
RSSI는 Received Signal Strength Indicator의 약자로 수신기에서 수신되는
전파의 세기가 얼마인지를 수치로 나타내는 것입니다.
RSSI값은 수신기에 들어오는 신호 수치가 얼마나 되는지를 의미하기 때문에
안타네의 이득 값이나 회로에 의한 손실은 고려하지 않은 값입니다.
이 용어는 Bluetooth 시스템에서만 쓰이는 단어는 아닙니다.
RF 신호를 사용하는 모든 시스템에서 사용되고 있는데 그중 하나가
LTE 모뎀과 같은 통신 모듈에서도 RSSI라는 단어를 사용합니다.
RSSI값은 기본적으로 음수로 표현되며 0에 가까울수록 신호의 세기가 강합니다.
신호의 범위는 대부분 0 ~ -100까지 사용하며 RSSI가 -100이라면
데이터 송수신 자체가 불안전합니다.
그렇다면 이 RSSI값 자체가 신호의 세기이므로 가까워지면 0에 가까워지고
멀어지면 -100값에 가까워진다는 의미이므로 거리를 측정할 수 있을까요?
정답은 NO 입니다.
왜냐하면 이 RSSI값은 위에서도 말했듯이 안테나나 회로에 의한 이득이나 손실에 대해
고려하지 않은 즉 노이즈가 포함된 값이기 때문입니다.
어느 정도 거리에 따라서 편차가 있을 수는 있지만 RSSI값 자체로만으로는
내가 원하는 거리의 근사치를 구할 수 없습니다.
RSSI값을 가지고 거리를 측정하는 알고리즘과 실험들은 아주 많지만 워낙
노이즈가 많기 때문에 그나마 삼각 측정법이라는 방법이 가장 보편적으로 알려진 방법입니다.
하지만 이 RSSI값 하나만을 가지고 거리에 따른 선형 파형을 만드는 방법이 있습니다.
최근에 진행했던 프로젝트에서 이 방법에 대해 생각하여 알고리즘을 만들었고
선형 파형을 얻고 오차범위 1m 정도의 신호를 만들어 내는 데 성공했습니다.
선형을 만드는 방법은 먼저 첫 번째로 시간당 많은 RSSI의 값이 필요합니다.
1초에 100개 정도의 RSSI값을 수집한 뒤에 3가지의 필터링 알고리즘을 적용하면
충분히 거리에 따른 RSSI 선형 값을 추출해낼 수 있습니다.
이 방법에 대해서는 회사 내의 제품 출시에 들어가는 기술이기 때문에
궁금하신 분은 메일 주시면 답변드리도록 하겠습니다.
이렇듯이 RSSI값은 업계에서는 크게 중요하게 생각하지 않는 값이지만
잘 사용하면 어떠한 알고리즘에 들어가느냐에 따라 정말 유용한 값이 될 수 있습니다.
댓글