Ⅰ. 서론
스마트폰의 보급률이 높아지고 실내에서의 위치 기반 서비스의 필요성이 증대되면서, 스마트폰을 이용한 실내에서의 위치 추정 기술이 중요하게 되었다. 실외에서도 Global Positioning System (GPS) 위성 신호가 수신되지 않는 지역에서는 위치 추정이 불가하며, GPS를 이용한 경우에도 위치 추정 오차가 5~20 m에 이르러 정밀한 실외 위치 인식 서비스가 어려운 형편이다.
따라서 스마트폰을 이용한 실내외 위치 추정 기술에 대한 연구가 활발하게 진행되어 왔다. 먼저 음향 신호를 이용하여 삼각 측량 방식으로 위치를 추정하는 연구가 있었다[1]. 그러나 음향 신호인 경우에는 스마트폰에서 가청 주파수 대역만 인식할 수 있으므로 사용자에게 시끄러운 문제가 있다. 주변에 Zigbee Access Point (AP)들을 배치하고, 수신 신호의 세기를 삼각 측량 방식으로 측정하여 거리를 계산하는 연구도 많이 진행되었다[2,3].
그러나 전파 전파(radio propagation)의 고유 특성인 다중 경로에 의한 페이딩 현상 때문에 전파의 경로 손실이 일정하지 못하므로 위치 추정 오차가 작지 않은 문제가 있다. 이와 다르게 주변에 많이 설치된 WiFi 무선랜 공유기들의 수신 신호를 사전에 일정 간격으로 측정하여 데이터로 저장하여 놓고, 나중에 위치를 측정하려는 장소에서 다시 공유기들의 수신 신호를 측정한 후, 이 신호들과 저장된 데이터들을 비교하여 현재의 위치를 추정하는 기술들(WiFi Fingerprint: WFP)이 많이 연구되었다[4~6]. 이 방식은 위치 추정 오차를 줄이기 위해서 사전에 많은 데이터를 측정해야 하는 어려움은 있지만, 많은 공유기들의 데이터를 사용하므로 상대적으로 정확도가 높은 장점이 있다. 데이터 측정 방법에 따라 다르지만 가로 및 세로 방향으로 1 m 간격으로 측정하였을 때, 위치 추정 정확도가 약 1 m 정도에 이른다[7].
한 편, 스마트폰에 내장된 가속도 및 자이로, 지자기 센서를 이용하여 이동 궤적을 추적하는 연구도 많이 진행되어 왔다[8]. 지자기 센서의 경우는 주변에 설치된 쇠 구조물의 영향을 크게 받아서 지자기 방위각의 오차가 매우 큰 문제가 있다[9]. 가속도 및 자이로 센서는 저가형을 내장되어 있어, 단순히 이중 적분의 방법으로 스마트폰의 이동 거리와 회전 각도를 추정한다면 매우 큰 추정 오차가 있다. 따라서 스마트폰을 들고 걷는 보행자를 대상으로 발을 바닥에 딛는 충격을 검출하고, 보폭과 회전 방향을 추정하는 Pedestrian Dead Reckoning (PDR) 방식에 대한 연구가 진행되어 왔다[10~12]. 이 방식의 경우 보폭을 추정할 때 가속도 데이터와 사용자의 키 등의 다양한 파라미터를 활용한 수식을 사용하는데, 사용자의 걷는 자세에 따라 오차가 매우 크며, 회전 각도를 정할 때 가속도센서와 자이로 센서 데이터를 Extended Kalman Filter (EKF)에 적용하는데 역시 추정 회전 각도에 오차가 발생하며, 따라서 이동 거리가 증가할수록 위치 오차가 더 커지는 문제가 있다. 게다가 PDR 방식의 경우에는 상대 위치 추정 방식이므로, 출발 위치의 절대 위치 좌표를 입력해줘야 하는 어려움이 있다.
본 논문에서는 스마트폰의 이동 궤적을 정확히 추적하기 위하여, WiFi Fingerprint 기술과 PDR 기술의 단점을 보완하는 방법을 제안한다. 즉 Kalman Filter를 적용하여 두 가지의 데이터를 연동시키는 방법에 대해서 기술하였으며, PDR 방식을 위한 스마트폰 센서 데이터를 직접 수집하였고, WFP 방식의 데이터와의 Kalman Filter 연동은 시뮬레이션 기법을 도입하여 그 성능을 검증하였다.
Ⅱ. PDR과 WFP의 위치 추정 모델
1. PDR과 WFP에 의한 위치 추정
PDR 방식은 보행자가 센서를 들거나 부착하고 보행하는 경우, 발걸음에 따른 충격을 기준으로 보폭과 걸음 수를 추정하여 이동거리를 계산하는 방식이다. 따라서 가속도센서나 자이로센서 등의 센서 데이터가 수 msec 간격의 고속으로 수집되더라도 수 msec 간격으로 이동거리를 계산하는 것이 아니다. (이와 다르게 Inertial Navigation System (INS) 방식은 센서 데이터를 시간에 따라 이중 적분하여 이동거리를 추정하는 방식이다.) 즉, 발걸음을 딛거나 뗄 때마다 이동거리를 계산한다. 따라서 실제로 이동거리가 계산되고 생성되는 시간은 수 msec 간격이 아니라 발걸음을 걷는 시간 간격에 따른다.
한편, WFP 방식에 의한 위치 추정은, 사전에 여러 장소에서 주변의 무선랜 공유기들의 신호를 측정하여 데이터 베이스에 저장해 놓고, 위치를 파악하려는 장소에서 무선랜 공유기들의 신호를 측정하여 기존의 데이터와 비교하여, 가장 유사한 데이터의 장소를 현재의 장소로 추정하는 방식이다. 스마트폰으로 주변의 무선랜 공유기들의 신호를 수집하는데 소요되는 시간은, 주변의 무선랜 공유기가 많을 수 록 길어지며, 2.4GHz와 5.8GHz 대역폭을 모두 지원하는 스마트폰의 경우에는 2.4GHz 대역만 지원하는 경우에 비해서 거의 두 배가 더 소요된다. 실험적으로 주변 무선랜 공유기들의 신호를 한 번 스캔하는데 약 3초 정도가 소요되었다.
PDR 방식의 발걸음을 뗄 때의 위치 추정 시간과 WFP에 의한 절대 좌표 추정 시간은 서로 독립적으로 발생한다. 따라서 이 두 가지 추정 위치를 Kalman Filter로 연동(fusion)하기 위해서는 두 가지 방식의 위치 추정 완료 시간을 맞춰 주어야 한다.
상대 위치 추정 방식인 PDR 방식은 단거리에서는 이동거리와 방향이 비교적 정확하지만, 이동 거리가 증가할수록 위치 오차가 누적되어 커지는 단점이 있으므로, 이것을 절대 위치 추정 방식인 WFP 방식으로 보정해줘야 한다. 그러나WFP 방식 역시 위치 추정 오차가 으므로, WFP 방식의 위치 추정 오차가 작은 경우에만 PDR 방식의 추정 위치와 fusion 시켜줘야 한다.
2. 위치 추정 좌표 모델링
각종 센서의 데이터 수집 시간 index를 k라고 한다. 스마트폰과 같이 비실시간 운영체계를 사용하는 장치에서 k와 k+1의 간격은 일정하지 않고 대부분의 스마트폰에서 수 msec에 해당한다.
PDR 방식에서 발걸음을 뗄 때 추정한 상대 좌표는 (xstepno, ystepno)이고, stepno는 발걸음을 뗄 때마다 하나씩 증가된다. 발걸음 사이의 시간은 걸음걸이에 따라 다르며 보통 수백 msec 이상이다.
WFP 방식에서 추정한 절대좌표는 (xwfp,ywfp)이고, wfp는 WFP 방식으로 추정할 때마다 하나씩 증가된다. 추정 시간 간격은 보통 3초 이상이다.
PDR 방식으로 상대 좌표를 추정하는 시간 사이에, WFP 방식으로 절대 좌표가 추정되는 경우를 가정한다. 즉, PDR 방식으로 추정 좌표가 약 4~5회 정도 생성되는 동안 WFP 방식에 의한 추정 좌표는 1회 정도 생성된다.
그림 1 (a)에서는 stepno 시간에 PDR 방식으로 추정한 위치 (xstepno, ystepno) 이후의 시간 wfp에서 WFP 방식으로 추정된 위치 (xwfp,ywfp)와 이 때의 위치를 extrapolation 방법으로 추정한 좌표가 (xk+n,yk+n)이다. 즉, WFP 방식으로 위치를 추정한 때의 PDR 방식의 추정 위치를 예측하는 것이다. 이것은 PDR 방식과 WFP 방식의 위치 추정 시간이 일치하지 않기 때문에 필요하다. 이 때 점선의 원은 실제로 사용자가 k+n 시간에 있다고 추정되는 위치의 범위이다. (b)에서는 이 범위에 대해 더 상세하게 표시하였다. 점선 원은 n 시간 구간 동안의 예상 이동 거리 Lk+n와 방향 전환 범위의 각도±δΨk + n에 의한 k+n에서의 예상 위치 범위 모델이다. 여기서 Lk+n은 xk+n,yk+n와 xk, yk와의 거리이다.
그림 1. (a) PDR 방식과 WFP 방식에 의한 위치 추정 시간인덱스, (b) k 시간에서 k+n 시간에서의 이동 위치의 범위.
Fig 1. (a) position estimation time index for PDR and WFP method, respectively, (b) moving position scope from time index k to k+n.
(xstpno-1,ystepno-1)은 이전 PDR 방식에 의해 추정된 좌표이고, (xstepno,ystepno)는 가장 최근에 발걸음에 의해 추정된 PDR 방식의 좌표이다. (xwfp,ywfp)는 WFP 방식에 의해서 현재 추정된 좌표이다. (xk+n,yk+n)은 WFP 방식으로 좌표가 추정될 시간에 extrapolation으로 예측된 PDR 방식의 좌표이다. 즉, 다음의 발걸음에 의한 PDR 방식의 좌표 (xstepno+1,ystepno+1) 생성 이전에 이동했을 추정 좌표이다.
사용자의 순간적인 이동 거리 및 방위각 변동 즉, 이동 위치에는 한계가 있으므로, 연속적인 이동 궤적을 고려하면, WFP 방식의 추정 좌표 (xwfp,ywfp)는 (xk+n,yk+n) 좌표를 중심으로 반지름 R의 예상 위치 범위 이내에 있어야 한다. 여기서 R= Lk+n∙sin(δΨk+n)이다.
WFP 방식에 의해 추정된 좌표 (xwfp,ywfp)가 이 원의 밖으로 벗어나면 WFP 방식의 추정 좌표가 오류일 가능성이 매우 높다. 이런 경우에는 WFP 방식의 추정 좌표 (xwfp,ywfp)는 무시한다.
extrapolation에 의한 추정 위치 좌표 (xk+n,yk+n)의 예상 위치 범위를 원으로 모델링하면, R= Lk+n∙sin(δΨk+n)로, 범위의 반지름 R은 예상 이동 거리 Lk+n과 방향 전환 범위 각도 δΨk+n에 의해서 정해진다. 시범적으로 δΨk+n = 30°로 설정한다. 향후 각도는 시험을 통해 수정하며, 상황에 따라 적응적으로 설정할 수도 있다.
Ⅲ. 칼만 필터를 이용한 연동
1. Kalman Filter 적용 방안
PDR 방식의 경우 발걸음을 검출하기 위한 주파수 검출 방식, 최대 최소 가속도의 합 방식 그리고 적응형 임계값 방식 모두 가속도 센서를 이용하므로 센서 자체의 오차를 고려해야 하고, 사용자의 보폭을 계산하여 거리를 측정하기에는 사용자의 다리 길이가 다르므로 정확한 거리를 추정하기 어렵다. 또한 걷는 속도와 자세, 패턴에 따라서 이동 거리 추정 오차가 매우 크다.
PDR 방식과 WFP 방식으로 각각 추정한 위치 좌표 데이터를 Kalman Filter로 fusion하는 것은 PDR 방식과 WFP 방식으로 각각 위치 추정 좌표가 생성될 때마다 루어진다. 이것은 PDR 방식과 WFP 방식의 위치 추정 시간 간격이 다르고, 정확도 특성 다르기 때문에 선형적으로 동등하게 처리할 수 없기 때문이다.
기본적으로 PDF 방식의 위치 추정 좌표는 system transition equation에서 prediction \(\widehat{x_{k}}^{-}\)값을 계산할 때 사용되며, WFP 방식의 위치 추정 좌표는 측정값 zk에 사용된다. 그러나 시간 및 조건에 따라 다른 값들이 사용된다.
즉, PDR 방식에 의해 위치 추정 좌표가 생성될 때는, \(\widehat{x_{k}}^{-}=\left(x_{\text {stepno }}, y_{\text {stepno }}\right)\)으로 수식이 설계되어야 하며, 이때의 zk = (xstepno,ystepno)도 동일한 값을 사용한다. 한편, WFP 방식으로 추정된 좌표가 생성되면, \(\widehat{x_{k}}^{-}=\left(x_{k+n}, y_{k+n}\right)\)이고, 이 때의 측정값 zk는 다음 식과 같다.
\(z_{k}=\left\{\begin{array}{l} x_{w f p}, y_{w f p}: \sqrt{\left(x_{w f p}-x_{k+n}\right)^{2}+\left(y_{w f p}-y_{k+n}\right)^{2}} \\ \quad \leq\left(L_{k+n} \cdot \sin \left(\delta \psi_{k+n}\right)\right) \\ W F P \text { 처리 안함: } O . W . \end{array}\right.\) (1)
즉, WFP 방식의 추정 위치 좌표 값이 k+n에서 extrapolation으로 추정된 PDR 방식의 위치 좌표의 오차 범위 이내 일 때만 Kalman Filter의 측정값으로 사용하고, 그렇지 않은 경우에는 PDR 방식과 extrapolation으로 추정된 위치 좌표인 xk+n,yk+n를 사용한다.
xk+n, yk+n를 계산할 때에, INS 방식으로 할 수도 있고, 또는 계산을 편리하게 하기 위해 이미 생성된 (xstepno,ystepno)와 (xstepno-1,ystepno-1)를 이용하여 다음 식과 같이 extrapolation 기법으로 계산할 수도 있다.
k+n = xstepno + (xstepno - xstepno-1) ∙ n/m
yk+n = ystepno + (ystepno - ystepno-1) ∙ n/m (2)
여기서 m은 xstepno와 xstepno-1과의 추정 시간 차이이다. 즉, 비례관계로 가정하여 xk+n,yk+n를 개략적으로 계산할 수 있다. 또는 이것도 생략하여 약간의 오차를 감수하고, x
이 방법은 PDR 방식의 경우 단거리를 이동하는 경우에 상대 좌표 추정이 비교적 정확한 장점을 이용하고, WFP 방식의 경우 절대 좌표를 추정할 수 있는 장점이 있지만 추정 오차 때문에 추정 위치가 예상하지 않는 위치로 도약하는 경우에는 Kalman Filter 측정값으로 사용하지 않기 위한 것이다.
2. Kalman Filter 적용 방안
본 논문에서는 사용자가 스마트폰을 가슴 앞에 거의 수평으로 들고 스마트폰의 뒷면은 바닥을 향해 있는 상태에서, 사용자가 실내에서 걸어갈 때 그 이동거리를 측정하는 방법을 가정한다. WFP와 PDR 방식으로 추정한 위치 좌표값을 Kalman Filter에 입력하여 위치 좌표를 연속적으로 추정한다.
가. PDR 방식으로 추정 위치 좌표 생성 시
이때의 Kalman Filter의 state transition equation과 measurement equation은 각각 다음과 같다.
\(\left[\begin{array}{l} x_{\text {stepno }} \\ y_{\text {stepno }} \end{array}\right]=\left[\begin{array}{ll} 1 & 0 \\ 0 & 1 \end{array}\right]\left[\begin{array}{l} x_{\text {stepno }-1} \\ y_{\text {stepno }-1} \end{array}\right]+\left[\begin{array}{l} L_{x, \text { stepno }} \\ L_{y, \text { stepno }} \end{array}\right]\) (3)
\(z_{\text {stepno }}=\left[\begin{array}{ll} 1 & 0 \\ 0 & 1 \end{array}\right]\left[\begin{array}{l} x_{\text {stepno }} \\ y_{\text {stepmo }} \end{array}\right]\) (4)
식 (3)에서는 PDR 방식으로 상대 좌표를 예측 (prediction)하고, 식 (4)에서는 식 (3)의 예측값을 측정 값으로 사용한다. 식 (3)은 xk+1 = Axk + Bsk + wk의 형태이므로, 기존의 xk+1 = Axk + wk의 system transition equation에서의 Kalman Filter 수식과 약간 달라야 한다[13]. 따라서, 아래의 기존의 Kalman Filter 알고리즘에서, prediction 부분을 \(\widehat{x_{k}}^{-}=A \hat{x}_{k-1}+B s_{k-1}\)로 수정한다.
① 초기값 선정: \(\hat{x}_{0}\),\(P_{0}\)
② Prediction(예측값과 오차 공분산 예측값 계산): \(\widehat{x_{k}}^{-}=A \hat{x}_{k-1}, P_{k}^{-}=A P_{k-1} A^{T}+Q\)
③ Kalman gain 계산: \(K_{k}=P_{k}^{-} H^{T}\left(H P_{k}^{-} H^{T}+R\right)^{-1}\)
④ Update(추정값 계산): \(\hat{x}_{k}=\hat{x}_{k}+K_{k}\left(z_{k}-H \hat{x}_{k}\right)\)
⑤ Update(오차 공분산 계산): \(P_{k}=P_{k}^{-}+K_{k} H P_{k}^{-}\)
⑥ Δt후, k→k+1로 증가 시키고, ②부터 반복 수행
나. WFP 방식으로 추정 위치 좌표 생성시
\(\left[\begin{array}{l} x_{k+n} \\ y_{k+n} \end{array}\right]=\left[\begin{array}{ll} 1 & 0 \\ 0 & 1 \end{array}\right]\left[\begin{array}{l} x_{k} \\ y_{k} \end{array}\right]+\left[\begin{array}{c} L_{x, k+n} \\ L_{y, k+n} \end{array}\right]\) (5)
\(z_{w f p}=\left\{\begin{array}{l} x_{w f p}, y_{w f p}: \sqrt{\left(x_{w f p}-x_{k+n}\right)^{2}+\left(y_{w f p}-y_{k+n}\right)^{2}} \\ \leq\left(L_{k+n} \cdot \sin \left(\delta \psi_{k+n}\right)\right) \\ W F P \text { 처리 안함 : } O . W . \end{array}\right.\) (6)
식 (5)에서 extrapolation으로 상대 좌표 예측 (prediction)을 하고, 식 (6)에서 WFP 방식의 추정 위치 좌표의 오차에 따라서 선택한다. 식 (5)와 (6)에서 xk+n,yk+n 대신에 (xstepno,ystepno)을 사용할 수도 있다.
Ⅳ. 실험 결과 및 분석
두 가지 다른 데이터를 연동하여 값을 추정할 때 Kalman Filter를 많이 사용한다. 이때 system transition equation과 measurement equation을 적절하게 정립해야 하며, 또한 시스템 잡음의 공분산 Q와 측정 잡음의 공분산 R을 적절한 값으로 설정해야 Filter의 성능이 좋아진다. 공분산 값은 이론적으로 유도하기 어려우므로, 다양한 값을 설정하며 좋은 결과가 산출되도록 한다.
본 논문에서는 실제로 사용자가 스마트폰을 손에 들고 사각형의 경로를 걸으면서, 스마트폰의 센서 데이터를 수집하였다. MATLAB으로 PDR 추정 위치 좌표를 계산하였으며, 또한 해당 위치 좌표를 기준으로 약간의 시간 지연 동안 이동한 위치 좌표에, 가우시안 확률 분포를 갖는 위치 오차값을 더하여 WFP 방식으로 추정한 절대 위치 좌표를 가상적으로 생성하였다. 따라서 이 가우시안 오차의 분산값으로 WFP 방식의 위치 추정 오차의 정도를 조정한다.
PDR과 WFP 방식의 추정 위치 좌표의 시간이 동일하지 않고, 짧은 경로에 대한 PDR 방식의 오차는 작고, WFP는 절대 좌표를 추정할 수 있지만 랜덤한 위치 추정 오차의 특성을 가지고 있으므로, 이 두 가지 방식의 장단점을 Kalman Filter로 보완하는 것이다.
그림 2는 WFP 식의 위치 추정 오차의 분산이 0.2인 경우이다. 시스템 잡음의 공분산 Q와 측정 잡음의 공분산 R 값의 변화에 따라 Kalman Filter의 성능이 달라지는 것을 확인할 수 있다. 여기서 원은 PDR 방식으로 추정한 발걸음의 좌표이고, +는 생성된 WFP 방식의 추정 위치 좌표이다. 그림 3은 WFP 방식의 위치 추정 오차의 분산이 0.5인 경우이다. 위 오차가 더 커진 것을 확인할 수 있다.
그림 2. WFP 추정 오차의 분산이 0.2일 때, Kalman Filter 출력: (a) Q=[0.01 0; 0 0.01], R=[0.01 0; 0 0.01], (b) Q=[0.01 0; 0 0.01], R=[0.1 0; 0 0.1],(c) Q=[0.1 0; 0 0.1], R=[0.01 0; 0 0.01].
Fig. 2. Kalman Filter output for the WFP estimation error variance of 0.2: (a) Q=[0.01 0; 0 0.01], R=[0.010; 0 0.01], (b) Q=[0.01 0; 0 0.01], R=[0.1 0; 00.1],(c) Q=[0.1 0; 0 0.1], R=[0.01 0; 0 0.01].
그림 3. WFP 추정 오차의 분산이 0.5일 때, Kalman Filter 출력: (a) Q=[0.01 0; 0 0.01], R=[0.01 0; 0 0.01], (b) Q=[0.01 0; 0 0.01], R=[0.1 0; 0 0.1],(c) Q=[0.1 0; 0 0.1], R=[0.01 0; 0 0.01].
Fig. 3. Kalman Filter output for the WFP estimation error variance of 0.5: (a) Q=[0.01 0; 0 0.01], R=[0.010; 0 0.01], (b) Q=[0.01 0; 0 0.01], R=[0.1 0; 00.1],(c) Q=[0.1 0; 0 0.1], R=[0.01 0; 0 0.01].
두 가지의 WFP 추정 오차 경우에 대해서, Q보다 R이 더 큰 경우에 연동된 추정 위치가 가장 정확하다. 즉, WFP의 오차에 영향을 적게 받는다. 그 이유는 R이 측정 잡음의 공분산이므로, R이 크면 Kalman Filter의 알고리즘에서 Kalman gain Kk이 작아지므로, WFP 측정값보다는 PDR 예측값의 비중을 크게 반영하기 때문이다.
Ⅴ. 결론
PDR 방식과 WFP 방식은 각각의 장단점이 있어 이 두 가지 방식의 데이터를 Kalman Filter를 이용하여 연동함으로써 더 정확한 위치 추정 결과를 얻을 수 있다. 본 논문에서는 이를 위한 모델과 수식을 정립하고 최적의 파라미터를 구했다. 향후에는 WFP 방식의 추정 좌표의 정확도를 구하여 이를 반영하는 연구가 필요하다.
References
- Jong-Taek Oh, Jong-Seok Um, "Acoustic Signal-Based Indoor Global Coordinates System for Smartphones," IEEE Sensors J., Vol. 18, No. 8, pp. 3248-3254, Apr. 2018. https://doi.org/10.1109/jsen.2018.2807412
- Javad Rezazadeh, Ramprasad Subramanian, Kumbesan Sandrasegaran, "Novel iBeacon Placement for Indoor Positioning in IoT," IEEE Sens. J., Vol. 18, No. 24, pp. 10240-10247, Dec. 2018. https://doi.org/10.1109/jsen.2018.2875037
- P. Bahl, V. N. Padmanabhan, "RADAR: An in-building RF-based user location and tracking system," in Proc. IEEE INFOCOM, Tel Aviv, Israel, March 2000, Vol. 2, pp. 775-784. DOI: https://doi.org/10.1109/INFCOM.2000.832252
- Mauro Brunato, Roberto Battiti, “Statistical learning theory for location fingerprinting in wireless LANs,” Comput. Net., Vol. 47, No. 6, pp. 825-845, 2005. https://doi.org/10.1016/j.comnet.2004.09.004
- Ville Honkavirta, Tommi Perala, Simo Ali-Loyttu, Robert Piche, "A comparative survey of WLAN location fingerprinting methods," in Proc. IEEE Workshop Position., Navig. Commun., Hannover, Germany, March 2009, pp. 243-251.
- Jorg Schafer, "Practical concerns of implementing machine learning algorithms for W-LAN location fingerprinting," in Proc. IEEE Int. Congr. Ultra Mod. Telecommun., St. Petersburg, Russia, October 2014, pp. 310-317. DOI: https://doi.org/10.1109/ICUMT.2014.7002120
- Jong-Taek Oh, Ji-Soo Kim, “Adaptive K-nearest Neighbour Algorithm for WiFi Fingerprint Positioning,” ICT Express, Vol. 4, No. 2, pp. 9194, Jun. 2018.
- Kwon-Hee Lee, Kang-Hyen Kim, Jong-Taek Oh, “A Study on step number detection using smartphone sensors for position tracking,” The Journal of The Institute of Internet, Broadcasting and Communication, Vol. 18, No. 3, pp. 119-125, June 2018. https://doi.org/10.7236/JIIBC.2018.18.3.119
- Bergamini Elena, Gabriele Ligorio, Aurora Summa, Giuseppe Vannozzi, Aurelio Cappozzo, Angelo Maria Sabatini, "Estimating Orientation using Magnetic and Inertial Sensors and Different Sensor Fusion Approaches: Accuracy Assessment in Manual and Locomotion Tasks," Sensors, Vol. 14, No. 10, pp. 18625-18649, 2014. https://doi.org/10.3390/s141018625
- Yun-Ki Kim, Jae-Hyun Park, Hwy-Kuen Kwak, Sang-Hoon Park, Choon-Woo Lee, Jang-Myung Lee, "Performance Improvement of a Pedestrian Dead Reckoning System using a Low Cost IMU," Journal of Institute of Control, Robotics and Systems, Vol. 19, No. 6, pp. 569-575, 2013. DOI: https://doi.org/10.5302/J.ICROS.2013.12.1767
- Phil-Hwan Jung, Seon-Woo Lee, Chang-Geun Song, Dae-Young Kim, “Counting Walk-steps and Detection of Phone's Orientation/Position using Inertial Sensors of Smartphones,” Journal of KIISE : Computing Practices and Letters, Vol. 19, No. 1, pp. 46-50, Jan. 2013.
- Wei Chen, Ruizhi Chen, Yuwei Chen, Heidi Kuusniemi, Jianyu Wang, "An Effective Pedestrian Dead Reckoning Algorithm using a Unified Heading Rrror Model," IEEE/ION Position, Location, and Navigation Symposium, 2010.
- Phillip Kim, Kalman filter for beginners with MATLAB examples, CreateSpace Independent Publishing Platform, Seoul, Korea, 2011.