혹시 WiFi나 Bluetooth로 TDOA 해보신 분 있으신가요?
글쓴이: devilproject / 작성시간: 목, 2014/11/20 - 10:01오후
Wi-Fi나 Bluetooth로 TDOA해서 실험해보고 싶은데..
앞이 깜깜해서요...
둘다 time interval있어서 어떻게 해야할지 모르겠습니다.
전파속도가 빨라서 안된다는 분들도 있는데 논문 있는거 봐서는 그건 아닌거같은데..
혹시 해보신 분 방법 좀 알려주세요ㅠㅠ
Forums:
비슷한거 해봤는데요...
일단 2개의 수신기 간의 시간이 아주 정밀하게 동기화되야합니다. 일반적으로 ieee 1588 같은 것은 ms 단위 오차가 있는데 전파속도(3x10^8m/s)임을 감안하면 사용 못하고요. 10ns 단위 이하가 되게 동기화 해야됩니다.
그리고 수신 시간 측정도 그에 상응하는 정밀도로 해야됩니다. ethernet 이면 보통 수신 칩에서 패킷 수신시 SFD가 구분되면 신호가 나오는데 이를 측정해서 쓰시면 될겁니다.
모바일이여서 길게 못 쓰겠네요. 더 궁금한점 있으시면 답변드리겠습니다
어플리케이션 레벨에서도 가능한가요?
정확히 잘 몰라서 두개 스마트 폰으로 한곳에서 보내고 다른 폰에서 받으면 바로 보내고 받는 형식으로 시간을 측정해 보았는데 거리가 같은데도 보내고 받은 시간의 차를 해서 보니깐 다르게 나오던데 어디부터 손봐야하는거죠?
...
일반적인 스마트폰 기반의 응용 프로그램만 가지고 하신다는 것은 불가능하다고 보시면 됩니다.
이유는..
3m resolution을 가질려고 해도 폰 간의 시각동기화를 10^-8초 보다 좋게 해야 하지만 쉬운 방법은 없습니다. 쉽게 적용 가능한 ieee-1588도 ms 이상의 단위입니다.
그리고 데이터 수신 시간 측정 정밀도도 10^-8초 정도 되야 되지만 무선 데이터(OSI 1 계층)에서 응용프로그램(OSI 7 계층)까지의 network stack에서 발생하는 latency의 jitter로 인해 거의 쓸모 없는 송수신 시간만 알 수 있습니다.
즉, 하드웨어를 직접 컨트롤 하는 수준이 아니라면 불가능하다고 보시면 됩니다.
...
보낸 시간을 찍은 폰과 받은 시간을 찍은 폰은 정확히 말해서 다른 시계를 사용하여 시간을 측정한 것입니다.
폰들은 아마도 NTP를 이용하여 시간을 맞출 겁니다. (제가 잘못 알고 있을 수도 있습니다. 정확히 아시는 분있으시면 답변해 주세요) 네트워크를 이용한 방법으로 수ms 이상 오차를 가질겁니다. 그정도만 해도 폰에서는 충분하닌깐요^^
더 정밀하게 하려면 GPS의 PPS 신호를 이용하는 방법을 고려 하는 것이 맞아 보이는데 아마 hw를 좀 다룰 수 있어야 할 수 있을 겁니다. GPS 수신칩의 PPS 출력 신호를 따서 CPU의 GPIO의 입력에 연결하고 이를 내부 카운터로 측정(인터럽트로 할 것)하여 시간의 흐름을 알아야할 것 같네요. 그리고 내부 카운터도 오실레이터의 오차를 고려해야 될 것 같네요.
이렇게 해도 앞서 적은 메세지 수신시간 측정 오차는 현재 가지고 있는 hw의 수신칩 데이터시트 읽어 보시고 방안을 찾으셔야합니다