[go: up one dir, main page]

KR101467317B1 - Method for determining the presence of positioning data error - Google Patents

Method for determining the presence of positioning data error Download PDF

Info

Publication number
KR101467317B1
KR101467317B1 KR1020120103572A KR20120103572A KR101467317B1 KR 101467317 B1 KR101467317 B1 KR 101467317B1 KR 1020120103572 A KR1020120103572 A KR 1020120103572A KR 20120103572 A KR20120103572 A KR 20120103572A KR 101467317 B1 KR101467317 B1 KR 101467317B1
Authority
KR
South Korea
Prior art keywords
speed
position data
data
parameter
algorithm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
KR1020120103572A
Other languages
Korean (ko)
Other versions
KR20130111161A (en
Inventor
송하윤
Original Assignee
홍익대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 홍익대학교 산학협력단 filed Critical 홍익대학교 산학협력단
Priority to PCT/KR2013/002663 priority Critical patent/WO2013147560A1/en
Priority to US14/389,475 priority patent/US20150087333A1/en
Publication of KR20130111161A publication Critical patent/KR20130111161A/en
Application granted granted Critical
Publication of KR101467317B1 publication Critical patent/KR101467317B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/40Correcting position, velocity or attitude
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/25Acquisition or tracking or demodulation of signals transmitted by the system involving aiding data received from a cooperating element, e.g. assisted GPS
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0205Details
    • G01S5/021Calibration, monitoring or correction
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0278Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves involving statistical or probabilistic considerations
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0294Trajectory determination or predictive filtering, e.g. target tracking or Kalman filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Probability & Statistics with Applications (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

사용자 기기로부터 수집된 제1 위치 데이터의 오류여부를 결정하는 방법이 공개된다. 이 방법은 제1 위치 데이터 및 상기 사용자 기기로부터 수집된 과거의 하나 이상의 위치 데이터를 이용하여 제1 속력(Vc)을 산출하는 단계, 및 제1 속력(Vc)이 확률분포의 파라미터를 독립변수로 포함하는 미리 결정된 식을 만족하는 경우에는, 제1 위치 데이터에 오류가 있는 것으로 판단하는 단계를 포함한다.A method for determining whether or not the first position data collected from the user device is erroneous is disclosed. The method includes calculating a first velocity (V c ) using first position data and past one or more position data collected from the user device, and determining a first velocity (V c ) And judging that the first position data is erroneous when the predetermined expression included in the variable is satisfied.

Figure R1020120103572
Figure R1020120103572

Description

위치 데이터의 오류여부 결정방법{Method for determining the presence of positioning data error}[0001] The present invention relates to a positioning method,

본 발명은 사용자 기기에 의해 수집된 위치 데이터에 오류가 있는지 여부를 판단하기 위한 기술에 관한 것이다.The present invention relates to a technique for determining whether there is an error in position data collected by a user device.

GPS, GLONASS, Galileo와 같은 위치정보 시스템은 잘 알려져 있다. 뿐만 아니라, 기지국이나 크라우드 소스(crowd source)의 WIFI 위치 접근법을 이용하여 무선 통신망 포지셔닝을 수행할 수 있다. 그러므로 스마트폰이나 다른 휴대용 기기를 가진 사용자들은 위치 시스템 종류와 상관없이 현재의 위치를 얻을 수 있다. 그러나 위치 정보 세트는 여러가지 이유로 에러를 가진 데이터를 가지고 있다. 애플사의 아이폰이나 삼성의 갤럭시를 이용할 때에 꽤 많은 에러가 있는 위치 정보를 경험할 수 있으며, 분명한 에러들을 필터링할 필요성이 존재한다.Location information systems such as GPS, GLONASS, and Galileo are well known. In addition, wireless communication network positioning can be performed using a WIFI location approach of a base station or a crowd source. Therefore, users with smart phones or other portable devices can obtain their current position regardless of the location system type. However, the location information set has data with errors for various reasons. When using Apple's iPhone or Samsung's Galaxy, you can experience a lot of location information with errors, and there is a need to filter out obvious errors.

휴대용 기기의 최근 발전, 특히 GPS 또는 다른 위치검출 장치를 갖는 스마트폰의 도입으로 인해 인간 이동성에 근거한 다양한 위치기반 서비스가 가능하게 되었다. 하지만 이러한 위치 정보는 가끔씩 작동환경에 따라 위치 에러들을 가지고 있다. 그런 경우, 많은 기기들은 그러한 에러가 있는 위치 정보의 필터링을 필요로한다.Recent developments in portable devices, in particular with the introduction of smart phones with GPS or other position sensing devices, have enabled various location based services based on human mobility. However, this location information sometimes has location errors depending on the operating environment. In such cases, many devices require filtering of location information with such errors.

본 발명에서, 통계학적인 접근법을 바탕으로 상대적으로 간단하지만 효율적인 필터링 방법이 제안된다.In the present invention, a relatively simple but efficient filtering method is proposed based on a statistical approach.

본 명세서에서는 상대적으로 간단하지만 효과적인 필터링 방법을 통계적 접근 방법에 기반하여 제공한다. 이동 기기로부터 얻은 <위도, 경도, 시간>의 형식을 갖는 사용자의 이동 위치 데이터로부터, 사용자의 속도 및 가속도를 계산할 수 있다. 슬라이딩 윈도우 또는 이동(moving) 윈도우라는 아이디어를 이용하여, 사용자 위치 데이터의 속도와 가속도의 통계량을 계산할 수 있으며, 그 결과 제어가능한 파라미터를 이용하여 필터링을 수행할 수 있다. 본 발명의 일 실시예에 따른 알고리듬은 간단하기 때문에 적은 계산 능력(computation power)을 갖는 이동 기기에도 적용할 수 있다. The present invention provides a relatively simple yet effective filtering method based on a statistical approach. The velocity and acceleration of the user can be calculated from the user's movement position data in the form of <latitude, longitude, time> obtained from the mobile device. Using the idea of a sliding window or a moving window, the statistics of the velocity and acceleration of the user location data can be calculated and the filtering can be performed using the controllable parameters. Since the algorithm according to an embodiment of the present invention is simple, it can be applied to a mobile device having a small computation power.

본 발명의 일 실시예에서는 성능의 향상을 위하여, 향상된 필터링을 위한 더 정교한 윈도우를 생성하는데 집중한다. 이동 윈도우를 더 정교하게 추정(estimation)하고, 에러가 있는 데이터를 적당한 추정값으로 교체하기 위해, 백트래킹(backtracking) 인터폴레이션 방법이 사용될 수 있다.In one embodiment of the present invention, to improve performance, the focus is on creating a more sophisticated window for enhanced filtering. A backtracking interpolation method can be used to more precisely estimate the moving window and replace the erroneous data with a reasonable estimate.

최근 이동 기기의 진보, 특히 GPS 또는 다른 위치검출 장치를 갖는 스마트폰의 도입으로 인해 인간 이동성에 근거한 다양한 위치 기반 서비스들이 가능해졌다. 위치검출 시스템의 일 어플리케이션은 아래의 [2]에 나타낸 것과 같은 교육 분야를 포함할 수 있으며, 아래의 [1]에 나타낸 다양한 이동 기기들에서 쉽게 발견될 수 있다. 그러나 이러한 위치검출 데이터는 종종 동작 환경에 따라 위치 에러를 갖는다. 이러한 경우에, 많은 어플리케이션들은 이러한 에러가 있는 위치 데이터의 필터링을 필요로한다. 본 발명을 위한 실험에서 경험한 것처럼, 스마트폰 사용에 의해 수집한 위치정보의 12% 이상에 에러가 나타났다. 이러한 기본적인 실험은 셀룰러 기지국의 위치를 내부적으로 사용하는 삼성 갤럭시 탭을 통한 스마트폰 어플리케이션의 사용과 휴대용 GPS 장치[3], 크라우드 소싱에 의한 WIFI 위치검출, 셀룰러 네트워크, 및 GPS의 조합을 사용하는 iOS5를 탑재한 애플 아이폰 3GS에 의해 이루어졌다[4]. 좀 더 정교한 결과는 인간 이동 모델에 대한 연구들 및 '김'과 '송'의 논문[5]에서 찾을 수 있다. 복잡계 시스템 물리학과 같은 다른 연구 분야에 따르면, 사람들은 그들이 빈번하게 방문한 장소와 경로를 선택하는 것 대신에 다음 목적지를 임의로 선택하는 것을 꺼린다. 따라서 인간 이동의 93%까지 예측될 수 있다는 것이 밝혀졌다[6]. 위치 정보의 세트들은 [5]에 나타난 바와 같이 인간 이동성 모델 구성을 위한 기반이 될 수 있다. 본 발명에서, 이동 윈도우 접근법의 사용과 함께 에러가 있는 위치 정보를 필터링하는 기술을 제안할 것이다. 또한 알고리듬 설정을 위한 예비 실험과 함께 이동 윈도우를 사용하여 우리의 아이디어를 보여줄 것이다. 또한 필터링 알고리듬을 자세히 설명할 것이다. 또한 실험 디자인을 위한 사용자가 통제가능한 변수에 대하여 고려해야 할 사항 및 우리의 실험 결과를 보여줄 것이다.
Recent advances in mobile devices, particularly smart phones with GPS or other location sensing devices, have enabled various location based services based on human mobility. One application of the position detection system may include the education field as shown in [2] below and can be easily found in various mobile devices shown in [1] below. However, such position detection data often has a position error depending on the operating environment. In this case, many applications require filtering of location data with such errors. As experienced in the experiments for the present invention, errors have occurred in more than 12% of the location information collected by smartphone use. This basic experiment is based on the use of smartphone applications via the Samsung Galaxy Tab, which uses the location of cellular base stations internally, and iOS5, which uses a combination of portable GPS devices [3], WIFI location detection by crowd sourcing, The iPhone 3GS is equipped with the [4]. More sophisticated results can be found in studies of the human movement model and in the articles of Kim and Song [5]. According to other research fields, such as complex system physics, people are reluctant to randomly select the next destination instead of choosing a place and route they visit frequently. Thus, it has been shown that up to 93% of human movement can be predicted [6]. The sets of location information can be the basis for constructing the human mobility model as shown in [5]. In the present invention, we will propose a technique for filtering location information with errors along with the use of a moving window approach. We will also show our ideas using a moving window with preliminary experiments for algorithm setting. The filtering algorithm will be described in detail. We will also show you what to consider and the results of our experiments with user controllable variables for experimental design.

⇒[1]: Nicolae-Iulian Enescu, Dan Mancas, and Ecaterina-Irina Manole, ”Locating GPS Coordinates on PDA,” 8th WSEAS International Conference on APPLIED INFORMATICS AND COMMUNICATIONS (AIC08), Rhodes, Greece, August 20-22, 2008, pp.470-474.⇒ [1]: Nicolae-Iulian Enescu, Dan Mancas, and Ecaterina-Irina Manole, "Locating GPS Coordinates on PDA," 8th WSEAS International Conference on APPLIED INFORMATICS AND COMMUNICATIONS (AIC08), Rhodes, Greece, August 20-22, 2008 , pp.470-474.

⇒[2]: Ph. Ddondon, T. TSING, and F. Sandoval, ”Initiation to GPS localization and navigation using a small-scale model electric car: An illustration of learning by project for graduated students,” Proceedings of the 8th WSEAS International Conference on EDUCATION and EDUCATIONAL TECHNOLOGY, 2009, pp.21-26.⇒ [2]: Ph. Ddondon, T. TSING, and F. Sandoval, &quot; Initiation to GPS Localization and Navigation Using a Small-Scale Model Electric Car, &quot; Proceedings of the 8th WSEAS International Conference on EDUCATION & EDUCATIONAL TECHNOLOGY , 2009, pp. 21-26.

⇒[3]: Garmin GPSMAP62s, https://buy.garmin.com/shop/shop.do?pID=63801⇒ [3]: Garmin GPSMAP62s, https://buy.garmin.com/shop/shop.do?pID=63801

⇒[4]: iOS 5: Understanding Location Services, Available: http://support.apple.com/kb/ht4995 ⇒ [4]: iOS 5: Understanding Location Services, Available: http://support.apple.com/kb/ht4995

⇒[5]: Hyunuk Kim and Ha Yoon Song, ”Daily Life Mobility of A Student: From Position Data to Human Mobility Model through Expectation Maximization Clustering,” Communications in Computer and Information Science, Volume 263, December 2011, pp. 88-97.⇒ [5]: Hyunuk Kim and Ha Yoon Song, "Daily Life Mobility of A Student: From Position Data to Human Mobility Model Expectation Maximization Clustering," Communications in Computer and Information Science, Volume 263, December 2011, pp. 88-97.

⇒[6]: Marta C. Gonzalez and A. Hidalgo and Albert-Laszlo Barabasi, ”Understanding individual human mobility patterns,” Nature, vol. 453, pp.779-782, 5 June 2008.
[6]: Marta C. Gonzalez and A. Hidalgo and Albert-Laszlo Barabasi, "Understanding individual human mobility patterns," Nature, vol. 453, pp. 797-782, 5 June 2008.

휴대용 기기들을 통해 <위도, 경도, 시간>의 형식으로 얻은 사용자의 휴대용 위치 정보를 통하여, 사용자의 속도와 가속도를 계산할 수 있다. 슬라이딩 윈도우 또는 이동 윈도우에 대한 아이디어로부터 사용자의 가속도와 속도의 통계를 계산할 수 있고, 컨트롤이 가능한 변수들을 이용하여 필터링을 수행할 수 있다. 본 발명의 일 실시예에 따른 알고리듬은 간단하기 때문에 저전력 휴대용 기기에 적용될 수 있다는 것을 예상할 수 있다.The user's speed and acceleration can be calculated through the user's portable location information obtained in the form of <latitude, longitude, time> through portable devices. From the idea of a sliding window or a moving window, statistics of the user's acceleration and speed can be calculated, and filtering can be performed using controllable variables. It can be expected that the algorithm according to an embodiment of the present invention is simple and therefore applicable to low-power portable devices.

본 발명의 일 관점에 따른 위치 데이터의 오류여부 결정방법은, 사용자 기기로부터 수집된 제1 위치 데이터의 오류여부를 결정하는 방법이 공개된다. 이 방법은 제1 위치 데이터 및 상기 사용자 기기로부터 수집된 과거의 하나 이상의 위치 데이터를 이용하여 제1 속도(Vc)를 산출하는 단계, 및 제1 속도(Vc)가 확률분포의 파라미터를 독립변수로 포함하는 미리 결정된 식을 만족하는 경우에는, 제1 위치 데이터에 오류가 있는 것으로 판단하는 단계를 포함한다.According to an aspect of the present invention, there is provided a method of determining whether or not an error exists in first position data collected from a user device. The method includes calculating a first velocity (V c ) using first position data and past one or more position data collected from the user device, and determining a first velocity (V c ) And judging that the first position data is erroneous when the predetermined expression included in the variable is satisfied.

본 발명에 따르면 상대적으로 간단하지만 통계학적인 접근법을 바탕으로 한 효율적인 필터링 방법이 제공된다.The present invention provides an efficient filtering method based on a relatively simple but statistical approach.

도 1에은 수집된 위치에 관한 로-데이터(raw-data) 세트를 시각적으로 나타낸 것이다.
도 2는 본 발명의 일 실시예에 따른 간단한 실험의 결과를 보여준다.
도 3은 본 발명의 일 실시예에 따른 교정 방식에 따른 윈도우 크기의 효과를 나타낸다.
도 4는 본 발명의 일 실시예에 따른 진보된 필터링 알고리듬을 나타낸다.
도 5는 본 발명의 일 실시예에 따른 진보된 다른 필터링 알고리듬을 나타낸다.
도 6은 본 발명의 일 실시예에 있어서, n=10 이고 s=0.34일 때의 필터링 결과를 나타낸다.
도 7은 본 발명의 일 실시예에 있어서, n=10 이고 88% 신뢰구간의 필터링 결과를 나타낸다.
도 8은 본 발명의 일 실시예에 따른 [알고리듬 2]를 설명하기 위한 것이다.
도 9는 본 발명의 일 실시예에 따른 [알고리듬 2]를 설명하기 위한 다른 예를 나타낸 것이다.
도 10은 본 발명의 일 실시예에 따른 [알고리듬 3]를 설명하기 위한 것이다.
도 11은 본 발명의 다른 실시예에 따른 위치 데이터 오류 필터링 및 보정 방법을 설명하기 위한 것이다.
Figure 1 is a visual representation of the raw-data set for the collected locations.
Figure 2 shows the results of a simple experiment according to an embodiment of the present invention.
FIG. 3 illustrates the effect of the window size according to the calibration method in accordance with an embodiment of the present invention.
Figure 4 shows an advanced filtering algorithm according to an embodiment of the present invention.
Figure 5 shows another advanced filtering algorithm according to an embodiment of the present invention.
6 shows the filtering result when n = 10 and s = 0.34 in one embodiment of the present invention.
Figure 7 shows the filtering results for n = 10 and 88% confidence interval in one embodiment of the invention.
Figure 8 is intended to illustrate [Algorithm 2] according to an embodiment of the present invention.
FIG. 9 shows another example for explaining [Algorithm 2] according to an embodiment of the present invention.
Fig. 10 is for explaining [Algorithm 3] according to an embodiment of the present invention.
11 is a view for explaining a position data error filtering and correction method according to another embodiment of the present invention.

이하, 첨부된 도면들을 참조하여 본 발명의 실시예를 상세히 설명하면 다음과 같다. 그러나 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있는 것으로, 이하의 실시예는 본 발명의 개시가 완전하도록 하며, 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. It should be understood, however, that the invention is not limited to the disclosed embodiments, but may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, Is provided to fully inform the user.

<위도, 경도, 시간>의 형식으로 수집된 사용자 위치는 한 세트의 사용자 이동 궤적(자취)을 형성하며, 이 튜플(tuple)에 식별 파라미터를 추가함으로써 사용자 이동성 데이터 세트를 나타낼 수 있다. 본 명세서에서 시각 t에서의 하나의 튜플을 Pt 라고 지칭하고, Pt 의 위도 및 경도를 각각 latt , lont 라고 지칭할 수 있다.A user location collected in the form of latitude, longitude, and time may form a set of user movement traces and may represent a user mobility data set by adding identification parameters to the tuple. Referred to herein as a one tuple at a time t P t, and may refer to the latitude and longitude of P t as each t lat, lon t.

두 개의 연속적인 위치 데이터 튜플들로부터, Vincenty의 공식[7]에 따라, <lati-1 ,loni-1>와 <lati ,loni>를 이용하여 시각 Pi 에서의 이동거리 Di 를 계산할 수 있다. 물론, 두 개의 연속된 이동거리로부터 시각 Pi 에서의 속도 Vi 를 계산할 수 있고, 시각 Pi에서의 가속도 ai를 계산할 수 있다. 그러므로 튜플 Pt 는 부가적인 속성을 포함하는 <t, latt , lont, Dt, at>와 같은 코어 형식(core form)을 가질 수 있다.
From two successive positional data tuples, the movement distance D i at time P i using <lat i-1 , lon i-1 > and <lat i , lon i > according to Vincenty's formula [7] Can be calculated. Of course, the time from two successive speed movement distance of the P i V i can be calculated, and the acceleration a i at time P i can be calculated. Thus, the tuple P t can have a core form such as <t, lat t , lon t , D t , a t > that contain additional attributes.

⇒[7]: T. Vincenty, ”Direct and Inverse Solutions of Geodesics on the ellipsoid with Application of Nested Equations,” Survey Review, Volume 23, Number 176, April 1975 , pp. 88-93(6).
[7]: T. Vincenty, "Direct and Inverse Solutions of Geodesics on the ellipsoid with Application of Nested Equations," Survey Review, Volume 23, Number 176, April 1975, pp. 88-93 (6).

실제 위치 데이터 세트에 의한 속도 값을 기초로, 일련의 속도 중 600m/s라는 하나의 오류를 찾을 수 있었는데, 이러한 값은 보통의 일상환경에서 무의미한 값이다. 따라서, 표 1에 나타낸 바와 같이, 보통의 인간 이동성의 최대 가능한 속도 값을 조사했다. 표 1은 운송수단에 다른 최대속도를 나타낸 것이다. 본 발명의 일 실시예를 위하여 최대속도 MAXspeed을 250m/s로 정의할 수 있다. 그러한 최대값은 즉시 도달될 수가 없다, 즉 가속도는 갑자기 만들어지지 않는다. MAXspeed 이외에도 MAXacceleration이 정의될 수 있다.
Based on the velocity values from the actual location data set, we could find a single error of 600m / s in a series of speeds, which is insignificant in normal everyday environments. Thus, as shown in Table 1, the maximum possible velocity values of normal human mobility were investigated. Table 1 shows the different maximum speeds for vehicles. For an embodiment of the present invention, the maximum speed MAX speed can be defined as 250 m / s. Such a maximum value can not be reached immediately, that is, the acceleration is not made suddenly. Besides MAX speed , MAX acceleration can be defined.

Transportation MethodTransportation Method Maximum speed (m/sec) Maximum speed (m / sec) Ambulation
Bicycle
Automobile
Sports-Car
High-Speed Train
Air-plain
Ambulation
Bicycle
Automobile
Sports-Car
High-Speed Train
Air-plain
3.00
33.33
92.78
244.44
159.67
528.00
3.00
33.33
92.78
244.44
159.67
528.00

다음 단계를 위해 우리는 속도의 이동평균(moving average of speed)과 속도의 이동표준편차(moving standard deviation of speed)라는 아이디어를 도입했다. 우리는 현재 시각 t에서 속도의 이동평균(moving average of speed)인 MAspeed(n)을 정의할 수 있는데, 여기서 n은 튜플의 집합인 {Px : t-n+1 ≤ x < t}의 과거 데이터의 수를 나타낸다. 비슷하게, 우리는 시각 t에서의 이동표준편차 MSDspeed(n)을 정의할 수 있는데, 여기서 n은 과거 데이터의 수를 나타낸다. 여기서, n은 대부분의 연구자들에 의해 '윈도우 크기'라는 이름으로 지칭된다. 일단 우리가 새로운 튜플 Pt 를 얻게되면, 우리는 Vt가 인간 이동성의 보통의 범위 안에 있는지를 결정할 수 있고, at에 대해서도 같은 과정이 적용될 수 있다. 일단 Vt 가 평균값 MAspeed(n)과 표준편차 MSDspeed(n)의 정규분포(normal distribution)의 범위 밖에 존재하면, 우리는 Pt를 버릴 수 있고, 이 튜플은 일련의 인간 자취로부터 필터링될 수 있다. Pt를 필터링하는 조건은 수학식 1과 같다.
For the next step we introduced the idea of a moving average of speed and a moving standard deviation of speed. We can define MA speed (n), the moving average of speed at the current time t, where n is the set of tuples {P x : t-n + 1 ≤ x <t} Represents the number of past data. Similarly, we can define the moving standard deviation MSD speed (n) at time t, where n represents the number of past data. Here, n is referred to by the name of 'window size' by most researchers. Once we get a new tuple P t , we can determine if V t is within the normal range of human mobility, and the same process can be applied to a t . Once V t is outside of the normal distribution of the mean value MA speed (n) and the standard deviation MSD speed (n), we can discard P t and this tuple can be filtered from a series of human traces . The condition for filtering P t is expressed by Equation (1).

[수학식 1][Equation 1]

Vt > MAspeed(n)+ s * MSDspeed(n)
V t > MA speed (n) + s * MSD speed (n)

여기서 s는 필터링의 민감성 수준을 나타내며, 사용자가 통제 가능한 파라미터이다. 그렇지 않다면(즉, Vt가 수학식 1을 만족하지 않는다면), 우리는 일련의 유효한 위치 데이터에 튜플 Pt를 포함시키고, MAspeed(n)와 MSDspeed(n)을 다시 계산할 수 있다. 이 계산은 비교적 간단해서 실시간으로 이루어질 수 있다. 다시 말해서, 이 알고리듬은 스마트폰 또는 유사한 이동 기기와 같은 저전력용 장치에서 수행될 수 있다. 기존 연구는 보다 복잡한 통계적인 이론 [8]을 이용하는 유사한 작업을 포함하고 있지만, 이렇게 복잡한 방법은 실시간 환경에서는 도입되기 어렵다. 이동 윈도우에 기반한 다른 어플리케이션의 예들은 [9]와 [10]에서 확인할 수 있다.
Where s represents the sensitivity level of filtering and is a user-controllable parameter. If not (ie, if V t does not satisfy Equation 1), we can include the tuple P t in a series of valid position data and recalculate MA speed (n) and MSD speed (n). This calculation is relatively simple and can be done in real time. In other words, the algorithm can be performed in a low power device such as a smart phone or similar mobile device. Existing research involves similar tasks using more complex statistical theories [8], but such complex methods are difficult to introduce in real-time environments. Examples of other applications based on moving windows can be found in [9] and [10].

⇒[8]: Woojoong Kim and Ha Yoon Song, ”Optimization Conditions of OCSVM for Erroneous GPS Data Filtering,” Communications in Computer and Information Science, Volume 263, December 2011, pp. 62-70.⇒ [8]: Woojoong Kim and Ha Yoon Song, "Optimization Conditions of OCSVM for Erroneous GPS Data Filtering," Communications in Computer and Information Science, Volume 263, December 2011, pp. 62-70.

⇒[9]: Camelia Ucenic and Atsalakis George, ”A Neuro-fuzzy Approach to Forecast the Electricity Demand,” Proceedings of the 2006 IASME/WSEAS International Conference on Energy & Environmental Systems, Chalkida, Greece, May 8-10, 2006, pp.299-304.⇒ [9]: Camelia Ucenic and Atsalakis George, "A Neuro-fuzzy Approach to the Electricity Demand," Proceedings of the IASME / WSEAS International Conference on Energy and Environmental Systems, Chalkida, Greece, May 8-10, 2006, pp.299-304.

⇒[10]: Wiphada Wettayaprasit, Nasith Laosen, and Salinla Chevakidagarn, ”Data Filtering Technique for Neural Networks Forecasting,” Proceedings of the 7th WSEAS International Conference on Simulation, Modelling and Optimization, Beijing, China, September 15-17, 2007, pp.225-230.
[[10]: Wiphada Wettayaprasit, Nasith Laosen, and Salinla Chevakidagarn, "Data Filtering Techniques for Neural Networks Forecasting," Proceedings of the 7th WSEAS International Conference on Modeling and Optimization, Beijing, China, September 15-17, pp.225-230.

우리는 윈도우의 크기에 대한 영향을 알 수 있는 실험을 수행하였다. 이 실험을 위해, 20일 이상 동안 한국의 서울지역에서 수집된 한 세트의 위치데이터가 사용되었다. 이 데이터는 위치정보 수집 어플리케이션을 가진 아이폰 3GS를 사용하여 수집되었다. 이하 본 명세서에서 이 정보를 '아이폰 데이터 세트'라고 부를 것이다. 아이폰의 위치변화를 감지할 때마다, 또는 아이폰이 정지 상태에 있다면 사용자가 정의한 매 간격(3에서 60초)마다, 어플리케이션이 위치정보를 기록할 수 있다. 지리적 지도(geographical map) 상에 다양한 기법을 이용하여 이 위치 데이터 세트를 표시하였다. 다양한 기법 중, 위치 데이터 세트의 가시화를 위하여 구글 맵[11]을 선택하였다.
We performed an experiment to determine the effect of window size. For this experiment, a set of location data collected in the Seoul area of Korea for more than 20 days was used. This data was collected using the iPhone 3GS with location-aware applications. Hereinafter, this information will be referred to as an &quot; iPhone data set &quot;. Every time the iPhone detects a change in position, or when the iPhone is idle, the application can record location information every user defined interval (3 to 60 seconds). A variety of techniques have been used to represent this set of location data on a geographical map. Among various techniques, Google Map [11] was chosen for the visualization of location data sets.

⇒[11]: Google Maps API, Available: https://developers.google. com/maps/
⇒ [11]: Google Maps API, Available: https://developers.google. com / maps /

도 1에 로-데이터(raw-data) 세트를 시각적으로 나타냈는데, 여기에는 에러가 있는 데이터가 포함되어 있다. 주목할만한 현상 중에 하나는 iOS5가 3개의 서로 다른 방식에 따라 얻은 위치 데이터의 보고를 가끔 동시에 제공한다는 점이다. 즉, 셀룰라 기지국의 위치, 크라우드 소스(crowd source) WIFI 위치검출, 및 GPS는 가끔 동시에 서로 다른 위치 데이터를 보고한다. 우리가 동시에 다수의 위치값들을 얻게되는 경우, 가장 작은 속도값을 가진 위치 정보가 경험적으로 맞는 것이었다. 그러므로 필터링의 첫 단계에서는 같은 시간의 다수의 위치정보 중 이전의 위치에 대해 가장 작은 거리를 가진 위치 데이터를 단순히 고를 수 있다. 또한 데이터 세트들은 몇몇 개의 불연속적인 데이터 세트로 구성될 수 있다. 예를 들어, 위치 데이터 수집은 지하철에서는 불가능하며, 집안의 침대에서는 데이터를 수집할 필요가 없다. 지하철 차량으로 여행을 하는 동안 위치 데이터를 수집하는 것은 역사(station)에서만 가능하다.In Figure 1, a raw-data set is shown visually, which contains erroneous data. One notable phenomenon is that iOS5 occasionally reports location data obtained in three different ways. That is, the location of the cellular base station, the crowd source WIFI location detection, and the GPS sometimes report different location data at the same time. When we get multiple position values at the same time, the position information with the smallest velocity value was empirically correct. Therefore, in the first step of filtering, it is possible to simply select the position data having the smallest distance to the previous position among the plurality of position information at the same time. The data sets may also be composed of several discontinuous data sets. For example, location data collection is not available on the subway, and there is no need to collect data from the bed in the house. It is only possible to collect location data while traveling to a subway train station.

n 값은 신중히 결정된다. 데이터 세트에 대한 알고리듬에서 n의 크기를 변화시키면서 여러 실험들을 수행했다. 윈도우 크기가 큰 경우에는 안정된 비이동 상태에서는 연속적인 에러들에 대해 성공적으로 대처할 수 있음에 비해, 빠른 속도 변화의 상황에는 반응하지 못할 것이라고 예상할 수 있다. 반면에 작은 값의 n은, 연속적인 에러 튜플들을 포함하는 것으로 여겨지는 이동 상태에 대한 갑작스런 속도 변화에 대한 빠른 반응을 보여줄 것이다. 예를 들면, m개의 연속적인 에러가 존재하는 경우에, m > n이라면 그런 에러들을 필터링할 수가 없다. 우리의 짐작을 이해하기 위해, 우리는 아이폰 데이터 세트에 대하여 윈도우 크기에 대한 실험을 하였다. 이 실험에서 n= 5, 10, 25, 50, 100과 같은 다양한 윈도우 사이즈에 대한 이동평균과 이동표준편차를 계산했다. The value of n is carefully determined. Various experiments were performed while changing the size of n in the algorithm for the data set. If the window size is large, it can be expected that it will not respond to the situation of rapid change of speed, while it can cope with successive errors in stable non-moving state. While a small value of n will show a rapid response to a sudden change in velocity to a moving state that is considered to include successive error tuples. For example, in the presence of m consecutive errors, if m> n, then such errors can not be filtered. To understand our guesses, we experimented with window size for the iPhone data set. In this experiment, moving average and moving standard deviation for various window sizes such as n = 5, 10, 25, 50, and 100 were calculated.

도 2는 본 발명의 일 실시예를 위한 간단한 실험의 결과를 보여준다. 크기가 더 큰 윈도우가 둔하다(dull)는 것이 명백하다. 일단 우리가 매우 큰 속도값을 만나게 되면, 큰 윈도우 크기는 큰 에러 속도의 영향을 큰 시간동안 유지시키고, 그 결과 에러가 있는 데이터의 언더 필터링(under filtering)을 초래한다. 100 또는 50의 윈도우 크기의 경우에, 우리는 명확하게 도 2에서 테일링 효과(tailing effect)를 볼 수 있다. 반면에, 작은 윈도우 크기는, 특히 속도변화의 시작단계에서, 속도 변화에 빠르게 반응하고 민감한 반면, 올바른 데이터를 오버 필터링한다. 윈도우 크기가 5 또는 10일 때에, 올바른 속도 데이터처럼 보이는 2개 이상의 정확해 보이는 튜플들이 작은 윈도우 크기에 의해 버려지는 것을 알 수 있다. 이 현상은 윈도우 크기의 테일링 효과(tailing effect)를 피하기 위해 이동 윈도우에 대한 조절 메카니즘을 도입해야만 한다는 것을 내포하고 있다.
Figure 2 shows the results of a simple experiment for an embodiment of the present invention. It is clear that a larger window is dull. Once we meet a very large velocity value, the large window size keeps the large error rate effect for a long time, resulting in under filtering of the erroneous data. In the case of a window size of 100 or 50, we can clearly see the tailing effect in FIG. On the other hand, the small window size over-filters the correct data, especially at the beginning of the speed change, while being responsive and sensitive to the speed change. When the window size is 5 or 10, you can see that two or more correctly visible tuples that look like the correct velocity data are discarded by the small window size. This phenomenon implies that an adjustment mechanism for the moving window must be introduced to avoid the windowing tailing effect.

이하 본 발명의 일 실시예에 따른 위치검출 데이터 에러에 대한 사전-실험(pre-experiments)에 대해 설명한다.Hereinafter, pre-experiments on position detection data errors according to an embodiment of the present invention will be described.

우리는 위치 데이터 정확성을 체크하기 위한 기초 실험을 수행하였다. 즉, 위치검출 장치들을 실외와 빌딩 내에 모두 고정하였고, 어떤 장치로 이동시키지 않고 수 시간 동안 위치 데이터를 수집하였다. 첫 번째 위치검출 장치는 Garmin GPSMAP62s[3]으로서 순수하게 GPS 데이터 수집을 위해 사용되었다. 두 번째 위치검출 장치는 삼성 갤럭시 탭으로서, 이 장치에 연결된 3G 기지국(3GBS)으로부터 위치검출 데이터를 얻기 위해 사용되었다. 갤럭시 탭이 두 상황에서 더 많은 에러를 나타낼 것이라고 추측하였으며, GPS 및 3GBS로부터 얻은 데이터 세트 모두 위치검출 에러를 나타낼 것이라고 추측하였다. 특히 빌딩 내에서 위치검출 에러를 보일 것이라고 추측하였다. 이 기초 실험의 결과는 표 2에 표시되어 있다. 표 2는 위치검출 데이터 획득 시 발생하는 에러를 나타낸 것이며, 표기 단위는 미터(meter)이다.
We conducted a basic experiment to check the accuracy of position data. That is, the position detecting devices were fixed both in the outdoors and in the building, and the position data was collected for several hours without moving to any device. The first position detection device was used for GPS data collection purely as the Garmin GPSMAP62s [3]. The second position detection device is a Samsung Galaxy Tab and was used to obtain position detection data from a 3G base station (3GBS) connected to this device. We assumed that the Galaxy Tab would show more errors in both situations, and assumed that both the GPS and the data sets from 3GBS would indicate position detection errors. Especially, it is assumed that the location detection error will be shown in the building. The results of this basic experiment are shown in Table 2. Table 2 shows the errors that occur when acquiring the position detection data, and the notation unit is a meter.

Figure 112012075662980-pat00001
Figure 112012075662980-pat00001

위치 데이터로부터 에러 거리가 계산되며, 에러 거리의 분산(variance)과 평균을 계산할 수 있다. 추측한 바와 같이, 3GBS가 더 큰 에러율을 나타냈으며, 에러의 크기도 더 컸고, 에러 크기의 최대값도 더 컸으며, 에러 크기의 표준편차도 더 컸다. Garmin GPSMAP62s를 생산하는 생산자의 정책은 GPS 신호를 잃은 경우에도 과거의 속도에 근거하여 사용자의 위치를 계산하는 것인데, 이 정책 때문에 빌딩 내에서는 매우 큰 에러를 나타냈다. 따라서 빌딩 내의 GPS 데이터는 의미있는 데이터가 아닌 것으로 생각할 수 있다. 실외에서의 GPS 데이터는 정교한 위치검출을 위하여 충분한 수준의 정확성을 나타내며, 최대 에러 크기도 52 미터라는 합리적인 수준의 범위 내에 들어왔다.
The error distance is calculated from the position data, and the variance and the average of the error distance can be calculated. As we guessed, 3GBS exhibited a larger error rate, larger error size, larger maximum error size, and larger standard deviation of error size. The producer's policy of producing the Garmin GPSMAP62s is to calculate the user's position based on the speed of the past, even if the GPS signal is lost, which caused a very large error in the building. Therefore, GPS data in a building can be considered as not meaningful data. GPS data outdoors is of sufficient accuracy for sophisticated position detection, and the maximum error size is within a reasonable range of 52 meters.

이하 본 발명의 일 실시예에 따른 필터링 알고리듬을 설명한다.Hereinafter, a filtering algorithm according to an embodiment of the present invention will be described.

위의 사전-실험에서 고려한 사항에 따라, 우리는 표 3의 [알고리듬 1]과 같이, 오류 위치 데이터 필터링을 위한 알고리듬을 만들었다. 새로운 위치 데이터 Pt을 새로이 획득하면, 이 알고리듬은 Pt가 필터링이 될지 여부를 결정할 수 있다. 실제 상황에서 우리는 몇 가지 상황을 고려할 수 있다.
Based on the considerations in the above pre-experiment, we created an algorithm for error location data filtering as in [Algorithm 1] in Table 3. When the new position data P t is newly obtained, this algorithm can determine whether or not P t is to be filtered. In actual situations, we can consider several situations.

Figure 112012075662980-pat00002
Figure 112012075662980-pat00002

* 이동 윈도우의 초기 구성 : n개 미만의 튜플이 존재하는 경우, 우리는 완전한 이동평균과 이동표준편차를 구성할 수 없다. 대신에 우리는 적은 수의 정보를 이용하여 불완전한 윈도우를 구성할 수 있다. : [알고리듬 1]의 2~5 번째 줄.* Initial configuration of a moving window: If there are fewer than n tuples, we can not construct a complete moving average and a moving standard deviation. Instead, we can construct an incomplete window using a small amount of information. : Line 2 ~ 5 of [Algorithm 1].

* 가속도와 속도는 필터링 디테일에서 다른 점을 가지고 있지만, 두 개 모두 조절 파라미터(throttling parameter)로서 간주될 수 있다. 속도 범위를 벗어나거나 지나친 가속도를 가진 위치 정보 튜플은 필터링될 것이다. : [알고리듬 1]에서 6~8 번째 줄.* Acceleration and velocity have different points in the filtering detail, but both can be considered as throttling parameters. Position information tuples that are out of velocity range or have excessive acceleration will be filtered. : Line 6 to 8 in [Algorithm 1].

* 하나의 튜플의 속도가 너무 크면 MA와 MSD 값에 영향을 주게되며 신뢰구간(confidence interval)의 확장과 같은 필터링 에러를 초래하기 때문에, 필터링되어야 하는 튜플이 필터링-인(filter-in) 되는 결과가 나타난다. 이와 같이 하나의 튜플의 속도가 너무 크면, 가능한 빠른 속도의 변화를 포함하고 신뢰구간의 확장 오류를 피하기 위해, MAspeed(n)+2.57*MSDspeed를 이용하여 속도값을 수정할 수 있다. : [알고리듬 1]에서 9~11 번째 줄. s=2.57은 정규분포의 99.5%의 신뢰구간을 나타낸다. 이것은 이동 윈도우에 대한 에러가 있는 속도의 영향을 감소시키는 조절판이다. : [알고리듬 1]의 9~10 번째 줄에서 s99.5 * If the speed of one tuple is too large, it will affect the MA and MSD values and will result in filtering errors such as an extension of the confidence interval. As a result, the tuple to be filtered must be filtered-in . Thus, if the speed of one tuple is too large, you can modify the speed value using MA speed (n) + 2.57 * MSD speed to avoid possible extended error of the confidence interval, including as fast as possible. : Line 9 to 11 in [Algorithm 1]. s = 2.57 represents the confidence interval of 99.5% of the normal distribution. This is a throttle that reduces the effect of the errored speed on the moving window. : In line 9 to 10 of [Algorithm 1] s 99.5

* 윈도우 구성 : 어떤 하나의 튜플이 필터링 아웃(filtered out)되어야 하는 경우라고 하더라도, 이 튜플의 속도가 정규분포의 99.5% 신뢰구간 밖에 있지 않다면, 이 튜플의 속도를 포함할 수 있다. 속도의 빠른 변화에 대처하기 위해 이동 윈도우를 업데이트 하도록 의도한 것이다. 즉, 오류가 없는 튜플이라고 하더라도 급격한 속도 변화가 있는 것은 필터링 아웃될 수 있다. 그러한 경우에, 튜플이 필터링되더라도, 이동 윈도우는 다음에 도착하는 튜플에 대한 속도의 변화를 반영할 수 있다. : [알고리듬 1]에서 10 번째 줄Window configuration: Even if a single tuple must be filtered out, it can contain the velocity of this tuple if the velocity of this tuple is outside the 99.5% confidence interval of the normal distribution. It is intended to update the moving window to cope with rapid changes in speed. That is, even a tuple without errors can be filtered out with a sudden change in speed. In such a case, even if the tuple is filtered, the moving window may reflect the change in velocity for the next arriving tuple. : [Algorithm 1], line 10

* 인간 보행은 2.77m/s(10Km/h)보다 작은 속도 내에서 가능하며 또한 GPS 에러범위에 있기 때문에, 2.77m/s(10Km/h)보다 적은 속도는 필터링되지 않을 것이다. : [알고리듬 1]에서 9번째 줄 MINvelocity * Less than 2.77 m / s (10 Km / h) will not be filtered because human walking is possible within a speed less than 2.77 m / s (10 Km / h) and also due to the GPS error range. : In [Algorithm 1], the 9th line MIN velocity

* 비현실적인 가속도를 가진 튜플들은 필터링되어야만 한다. [12]에서 기술했듯이, 10.8m/s2가 스포츠카에 대해 현존하는 가장 큰 값이다. : [알고리듬 1]에서 12번째줄 MAXacceleration
Tuples with unrealistic acceleration must be filtered. As described in [12], 10.8 m / s 2 is the largest existing value for sports cars. : In [Algorithm 1], the 12th line MAX acceleration

⇒[12]: List of fastest production cars by acceleration, Available: http://en.wikipedia.org/wiki/LisP_of_fastesP_cars_by_acceleration
⇒ [12]: List of fastest production cars by acceleration, Available: http://en.wikipedia.org/wiki/LisP_of_fastesP_cars_by_acceleration

* 일단 과도한 가속도 때문에 필터링되어야 하는 튜플은 필터링되어야 하고, 이 튜플의 가속도 값은 MAXacceleration으로 설정되도록 강제되고, 속도값은 비현실적인 속도값의 영향을 무효화시키기(nullify) 위해 MAspeed(n)으로 설정되도록 강제된다. : [알고리듬 1]에서 12~16 번째 줄Once the tuple to be filtered due to excessive acceleration must be filtered, the acceleration value of this tuple is forced to be set to MAX acceleration , and the velocity value is set to MA speed (n) to nullify the effect of the unrealistic velocity value . : In [Algorithm 1], lines 12 to 16

* 차량이 커다란 음의 가속도를 가지고 급하게 멈추는 것은 항상 가능하기 때문에, 음의 가속도 값들을 가진 위치정보 튜플들은 에러로 여겨지지 않을 것인 반면에, MAXacceleration보다 더큰 양의 가속도값을 가진 튜플들은 에러들로서 여겨질 것이다.
* Since it is always possible for a vehicle to quickly stop with a large negative acceleration, positional information tuples with negative acceleration values will not be considered as errors, whereas tuples with a positive acceleration value greater than MAX acceleration Will be considered.

[알고리듬 1]에 대해, 우리는 2개의 변수를 특정하지 않았다. n은 윈도우 내의 튜플의 개수이고, s는 필터링의 민감도 수준이다. 이 두 파라미터들은 [알고리듬 1]의 사용자에 의해 특정될 수 있다. 사용자 민감도 수준 s는 상대적으로 간단히 결정할 수 있다. 정규분포의 특성으로부터 우리는 적절한 신뢰구간을 갖는 s를 얻을 수 있다. 우리가 필터링을 위해 정규분포의 양의 영역만을 사용할 것이기 때문에, 우리는 95%의 신뢰구간을 위해 s=1.64로 설정하고, 99%의 신뢰구간을 위해 s=2.33으로 설정할 수 있다. 사용자들은 그들 자신의 목적에 따라 s를 결정할 수 있다. 예를 들어, 우리는 아래와 같이 민감도 수준 s를 선택할 수 있다. [표 2]는 기기가 움직이지 않을 때, 위치 데이터 수집에 대한 보통의 에러율(error rate)을 보여준다. GPS의 경우에 대하여, 12.3%의 데이터에 에러가 있었고, 3GBS 셀룰러 위치검출 시스템에 대하여 36.75%의 데이터에 에러가 있었다. 따라서 이 실험에 있어서, GPS 데이터에 대하여는 s=1.16으로 설정하고, 셀룰러 위치검출 데이터에 대해서는 s=0.34로 설정할 수 있었다.
For [Algorithm 1], we did not specify two variables. n is the number of tuples in the window, and s is the sensitivity level of filtering. These two parameters can be specified by the user of [Algorithm 1]. The user sensitivity level s can be determined relatively simply. From the properties of the normal distribution we can get s with the appropriate confidence interval. We can set s = 1.64 for a 95% confidence interval and s = 2.33 for a 99% confidence interval, since we will only use positive regions of normal distribution for filtering. Users can determine s according to their own goals. For example, we can choose sensitivity level s as follows. Table 2 shows the normal error rate for position data collection when the instrument is not moving. For the case of GPS, there was an error in the data of 12.3% and an error in the data of 36.75% for the 3GBS cellular position detection system. Therefore, in this experiment, it was possible to set s = 1.16 for GPS data and s = 0.34 for cellular position detection data.

우리는 이미 윈도우 크기의 영향에 대해 논의를 했었다. 큰 윈도우의 트레일링 효과(trailing effect) 때문에, 더 작은 윈도우를 선택할 수 있다. 그러나, [알고리듬 1]은 부정확한 속도 값들을 교정(calibrate)한다. 또한, 비정상적인(abnormal) 가속도 값은 제한되며, 속도 값은 이동 윈도우의 평균속도로 대체될 수 있다. 이러한 교정 방식(calibration mechanism)에 따른 윈도우 크기의 효과를 다시 한 번 살펴 볼 수 있다. We have already discussed the effect of window size. Due to the trailing effect of the large window, a smaller window can be selected. However, [Algorithm 1] calibrates inaccurate velocity values. In addition, the abnormal acceleration value is limited and the velocity value can be replaced by the average velocity of the moving window. The effect of window size on this calibration mechanism can be seen once again.

도 3은 본 발명의 일 실시예에 따른 교정 방식에 따른 윈도우 크기의 효과를 나타낸다. x-축은 2011년 11월 11일의 시각을 나타낸다. 이 예에서 윈도우 크기 n=5, 10, 25, 50, 100으로 선택하였고 민감도 수준 s=1.16으로 선택하여 위치 데이터 중의 88%를 정확한 데이터로 가정하고 필터링이 이루어진다. 트레일링 효과가 제한되었음에도 불구하고, 더 작은 윈도우 크기는 속도 변화에 따라 더 유연한 반응(reaction)을 나타낸다. 따라서, 5 또는 10의 윈도우 크기가 더 좋은 선택이 된다.FIG. 3 illustrates the effect of the window size according to the calibration method in accordance with an embodiment of the present invention. The x-axis represents the time of November 11, 2011. In this example, window size n = 5, 10, 25, 50, 100 is selected and sensitivity level s = 1.16 is selected and 88% of the position data is assumed to be correct data and filtering is performed. Despite the limited trailing effect, the smaller window size exhibits a more flexible reaction with varying speeds. Thus, a window size of 5 or 10 is a better choice.

또한 연속적 에러의 효과를 더 고려할 수 있다. 속도에 대한 스로틀 방식(throttling mechanism)을 채택하고 있음에도 불구하고, 연속적인 에러들은 이동 평균과 이동표준편차에 영향을 줄 것이고, 따라서 본 발명의 일 실시예에 따른 필터링 알고리듬에 혼란을 야기할 수 있다. 실제 위치검출 데이터 세트에서 최대 4개의 연속적인 에러를 경험하였고, 따라서 우리의 실험적 환경에 대하여는 n=5로는 부족하다는 결론을 내렸고, n=10인 경우에 연속적인 에러에 대하여 대응할 수 있으며 더 큰 윈도우 크기에 의한 테일링 효과(tailing effect)를 줄일 수 있다고 결론내렸다. 따라서 이 실험에 있어서 윈도우 크기는 최종적으로 10으로 결정되었다. 물론, 더 많은 개수의 연속적인 에러를 경험한다면, 이에 적합한 윈도우 크기를 선택하거나, 후술하는 바와 같이 윈도우의 크기를 동적으로 증가시킬 수 있다.The effect of continuous error can also be considered further. Despite adopting a throttling mechanism for speed, successive errors will affect the moving average and the moving standard deviation, and thus may cause confusion in the filtering algorithm according to an embodiment of the present invention . We have experienced up to four consecutive errors in the actual position detection data set and have therefore concluded that n = 5 for our experimental environment is insufficient and can respond to successive errors if n = 10, The tailing effect by size can be reduced. Therefore, the window size in this experiment was finally determined to be 10. Of course, if you experience a greater number of consecutive errors, you can choose the appropriate window size, or dynamically increase the size of the window as described below.

도 4는 진보된 필터링 알고리듬을 나타낸다. 도 3과 동일한 위치검출 데이터 세트를 선택하여 공정한 비교를 실시하였디. x-축은 2011년 11월 11일의 시각을 나타낸다. 도 4에서, 윈도우 크기 n=10 이며, 민감도 수준 s=1.16인데, 이것은 위치 데이터의 88%가 정확한 값으로 간주되었다는 것을 나타낸다. 얇은 검은색 실선은 실제 속도의 변화를 m/s 단위로 나타낸 것이고, 얇은 회색의 점선(dashed line)은 본 발명의 일 실시예에 따른 필터링 알고리듬에 의해 교정된 속도를 나타낸다. 교정된 속도는 일반적으로 속도와 겹치는데, 튜플이 필터링 알고리듬에 의해 필터링되었을 때는 교정값을 나타낸다. 점선(dotted line)은 가속도 값을 나타낸다.Figure 4 shows an advanced filtering algorithm. The same position detection data sets as those in Fig. 3 were selected and compared in a fair manner. The x-axis represents the time of November 11, 2011. In Fig. 4, the window size n = 10 and the sensitivity level s = 1.16, indicating that 88% of the position data was considered to be correct. The thin black solid line represents the change in actual speed in m / s and the thin gray dashed line represents the speed calibrated by the filtering algorithm according to one embodiment of the present invention. The calibrated speed usually overlaps with the speed, which indicates the calibration value when the tuple is filtered by the filtering algorithm. The dotted line represents the acceleration value.

굵은 검정색 실선은 n=10인 이동 윈도우의 커버리지(coverage)(속도의 수용범위)를 나타낸다. 도 4에 나타낸 이동 윈도우가 교정된 속도 값을 기초로 한다는 점을 주목하여야 한다. 교정된 속도값 덕분에 이동 윈도우는 속도의 변화에 대해 빠르게 반응하며(react), 에러가 있는 튜플들을 성공적으로 필터링한다. 이중 점선(double dotted line)은 속도 교정이 없는 이동 윈도우의 커버리지(로-커버리지(raw coverage))를 나타낸다. 교정된 커버리지(calibrated coverage)와 로-커버리지를 비교하면, 속도 교정의 효과 또는 한계가 분명해진다. 우리의 알고리듬에 따른 속도 교정은 매우 큰 속도 에러가 이동 윈도우에 미치는 영향을 성공적으로 억제한다. 따라서 교정된 속도로 구성된 이동 윈도우는 속도 에러의 효과를 성공적으로 제거하며, 위치검출 튜플 값들의 적절한 추정을 유지할 수 있다.Bold black solid lines indicate the coverage (range of acceptance of speed) of a moving window with n = 10. It should be noted that the moving window shown in Figure 4 is based on the calibrated velocity value. Thanks to the calibrated velocity value, the moving window reacts quickly to changes in velocity and successfully filters the errored tuples. A double dotted line represents the coverage (raw coverage) of a moving window without velocity correction. Comparing calibrated coverage with low-coverage, the effect or limit of velocity correction becomes clear. Speed correction according to our algorithm successfully suppresses the effect of very large velocity error on the moving window. Thus, a moving window constructed at a calibrated rate successfully removes the effect of the velocity error and can maintain an appropriate estimate of the position detection tuple values.

도 5는 도 4와 유사한 진보된 필터링 알고리듬을 나타낸다. 도 5에 있어서, 민감도 수준 s=0.34이며, 모든 다른 조건은 동일하다.
FIG. 5 shows an advanced filtering algorithm similar to FIG. In Figure 5, the sensitivity level s = 0.34 and all other conditions are the same.

<필터링 결과><Result of filtering>

마지막으로 본 발명의 일 실시예에 따른 필터링 실험의 결과를 두 가지 방법으로 나타낸다.Finally, the results of the filtering experiment according to an embodiment of the present invention are shown in two ways.

첫째, 본 발명의 일 실시에에서, 전체 위치검출 데이터 세트에 대하여 필터링이 수행되었고, 그 결과가 실제 지도에 표시된다. 이러한 시각화는 구글 맵을 이용하여 수행되었다[11]. First, in one embodiment of the present invention, filtering is performed on the entire position detection data set, and the result is displayed on an actual map. This visualization was performed using Google Maps [11].

도 6은 n=10 이고 s=0.34일 때의 필터링 결과를 나타낸다. Figure 6 shows the filtering results when n = 10 and s = 0.34.

도 7은 n=10 이고 88% 신뢰구간의 필터링 결과를 나타낸다. 도 7에서 위치검출 데이터 세트의 에러를 찾을 수 없으나, 도 6에 나타낸 결과보다 더 많은 위치검출 데이터를 포함하고 있다. 따라서, 윈도우 크기와 민감도 수준을 적절히 선택하면 적절한 필터링 결과를 얻을 수 있다고 결론내릴 수 있다.Figure 7 shows the filtering results for n = 10 and 88% confidence interval. Although the error of the position detection data set can not be found in Fig. 7, it includes more position detection data than the result shown in Fig. Therefore, it can be concluded that proper filtering of the window size and sensitivity level can be achieved.

둘째, 윈도우 크기와 민감도 수준의 여러가지 조합에 따라, 모든 위치검출 데이터 세트에 대해 필터링을 수행할 수 있다. 표 4는 파라미터들의 각 조합에 대하여 필터링-아웃된 튜플들의 백분률을 나타낸다. 본 발명의 일 실시예에 따른 알고리듬의 사용자는 그들의 환경에 따라 표 4에 따른 윈도우 크기와 민감도 수준을 선택할 수 있다.
Second, filtering can be performed on all position detection data sets according to various combinations of window size and sensitivity level. Table 4 shows the percentage of filtered-out tuples for each combination of parameters. Users of the algorithm according to an embodiment of the present invention can select the window size and sensitivity level according to Table 4 according to their environment.

Figure 112012075662980-pat00003
Figure 112012075662980-pat00003

본 발명을 위한 연구에서 우리는 에러가 있는 위치 데이터 필터링 알고리듬을 만들었고, 윈도우 크기 및 민감도 수준의 다양한 조합에 따른 효과를 경험하였다. 실제로 수집된 위치 데이터 세트는 알고리듬 증명을 위해 사용되었고, 성공적인 필터링 결과물을 찾았다. 윈도우 크기, 민감도 수준, 최대 속도 및 최대 가속도와 같은 알고리듬의 다양한 파라미터들은 사용자에 의해 정의될 수 있다. 사용자가 MAXaccelertaion, s99.5(최대 민감도 수준)과 MINvelocity(필터링을 위한 속도의 최소 임계값)와 같은 알고리듬의 상수(constant)를 변화시키는 것도 가능하다. In the study for the present invention, we have created an error-prone position data filtering algorithm and experienced the effects of various combinations of window size and sensitivity levels. In practice, the collected location data sets were used for algorithm verification and found successful filtering results. Various parameters of the algorithm such as window size, sensitivity level, maximum speed and maximum acceleration can be defined by the user. It is also possible for the user to change the constant of the algorithm such as MAX accelerance , s 99.5 (maximum sensitivity level) and MIN velocity (minimum threshold for speed for filtering).

필터링 과정을 하나씩 조사하는 동안, 우리는 알고리듬의 몇 가지 미세한 허점을 찾았다. 첫째는, 초기의 윈도우 구성의 단계에서 윈도우 전체를 채우기에 충분한 개수의 튜플이 없었기 때문에, 위의 알고리듬이 정보 수집의 시작 단계에서 작동할 수 없다는 것이다. 이동 윈도우를 기반으로 한 모든 접근법은 이와 같은 필연적 단점(compulsory demerit)을 가질 수 있다. While examining the filtering process one by one, we found some fine loopholes in the algorithm. The first is that the above algorithm can not work at the beginning of information gathering because there was not enough tuples to fill the entire window at the initial window construction stage. All approaches based on moving windows can have this compulsory demerit.

두 번째 문제는 오버 필터링와 언더 필터링의 경향이다. 속도의 빠른 증가를 보이는 새로운 튜플이 수집된 경우, 이 튜플의 정확성과 상관없이 이 튜플은 필터링될 수 있다. 이러한 경향은 윈도우의 크기가 클 때에 명확해지는데, 이는 큰 윈도우가 속도의 변화를 캐치(catch)하기에 충분히 빠르게 반응할 수 없기 때문이다. 그에 대한 보상으로, 속도의 변화가 정규분포의 99%의 신뢰구간 범위 바깥에 있지 않다면, 속도의 변화에 대응하는 윈도우 폭을 보존(preserve)하기 위하여, 필터링된 튜플의 속도를 포함할 수 있다. 속도가 99%의 신뢰구간의 범위 밖에 있을 경우에, 이동 윈도우의 추후 구성(construction)을 위해 속도를 교정할 수 있다. 도 3과 관련하여 기술했듯이, 더 큰 윈도우 크기를 가진 경우에 언더 필터링의 경향이 명백하다. The second problem is over-filtering and under-filtering. If a new tuple is collected that shows a rapid increase in speed, this tuple can be filtered regardless of the accuracy of this tuple. This tendency becomes apparent when the size of a window is large, because a large window can not respond fast enough to catch a change in speed. As a reward for this, the velocity of the filtered tuple may be included to preserve the window width corresponding to the change in velocity, unless the velocity change is outside the 99% confidence interval range of the normal distribution. If the velocity is outside the 99% confidence interval, the velocity can be calibrated for later construction of the moving window. As described in connection with FIG. 3, the tendency of under-filtering is evident when there is a larger window size.

연속적인 에러들의 수가 윈도우 크기보다 큰 경우, 더 작은 윈도우로는 필터링할 수 없다. 예를 들어, 실험 데이터에 포함된 4개의 연속적인 에러들을 경험하였듯이, n=10 이 n=5 보다는 더 나은 선택이라고 판단할 수 있다. 작은 윈도우 크기의 또 다른 이점은 계산시간이 작다는 점과 이동 윈도우 구성을 위한 메모리 공간이 작다는 점이며, 그 결과 이 알고리듬은 저전력 휴대용 기기에서 실시간으로 작동할 수 있다.If the number of consecutive errors is greater than the window size, it can not be filtered by a smaller window. For example, as we have experienced four consecutive errors included in the experimental data, we can conclude that n = 10 is a better choice than n = 5. Another advantage of small window sizes is that the computation time is small and the memory space for moving window configuration is small, so that this algorithm can operate in real time on low power portable devices.

몇 가지의 종류의 추가 고려사항이 존재한다. 첫 번째 사항은, 윈도우 크기에 관한 것이다. 윈도우의 크기를 하나의 윈도우 내의 튜플들의 개수로 정의하는 대신에, 윈도우가 포함하는 시간 간격으로 정의할 수 있다. 속도는 시간의 함수이기 때문에, 이 방식은 위치 데이터를 규칙적으로 수집할 때에 효과적이며 또한 정확할 것이다. 윈도우 크기의 동적 교정(dynamic calibration)에 대하여 더 고려할 수 있다. 본 발명의 다른 실시예에서는 연속적인 에러의 개수에 따라 윈도우 크기를 동적으로 증가 또는 감소시킬 수 있다. 일단 연속적인 에러의 개수가 많다는 것을 발견하면, 연속적인 에러가 이동평균과 이동표준편차에 미치는 영향을 최소화하기 위하여 윈도우 크기를 증가시킬 수 있다. 만일 연속적인 에러의 개수가 작은 경우에는, 윈도우 크기를 감소시킴으로써 급격한 속도 변화에 대해 적절한 반응을 보일 수 있고 필터링을 위한 계산량을 감소시킬 수 있다.There are several kinds of additional considerations. The first is about the window size. Instead of defining the size of the window as the number of tuples in a window, you can define it as the time interval that the window contains. Since speed is a function of time, this approach will be both effective and accurate when regularly collecting position data. Further consideration can be given to dynamic calibration of the window size. In another embodiment of the present invention, the window size can be dynamically increased or decreased depending on the number of consecutive errors. Once you find that there are a large number of consecutive errors, you can increase the window size to minimize the effect of successive errors on moving average and moving standard deviation. If the number of consecutive errors is small, by reducing the window size, an appropriate response to the abrupt rate change can be shown and the amount of computation for filtering can be reduced.

두 번째 사항은, [알고리듬 1]과 같은 실시간 알고리듬이 아닌 의사 실시간 알고리듬(pseudo real time)이다. 윈도우 크기 n에 대해 우리는 (n+1)번째 튜플을 필터링하는 것 대신에

Figure 112012075662980-pat00004
번째 튜플의 필터링을 결정할 수 있다. 실시간으로 사용될 수 없을지라도 이 접근법은 언더 필터링과 오버 필터링의 경향을 줄일 수 있다. 필터링의 정확성 대(vs.) 필터링의 실시간의 트레이드 오프(tradeoff)를 확인할 수 있다. The second is a pseudo-real-time algorithm, not a real-time algorithm such as [Algorithm 1]. For a window size of n, instead of filtering the (n + 1) -th tuple
Figure 112012075662980-pat00004
Th tuple can be determined. Although it can not be used in real time, this approach can reduce the tendency of under-filtering and over-filtering. You can see the real-time tradeoff of filtering versus accuracy (vs.) filtering.

알고리듬의 향상을 위한 다른 아이디어는 인터폴레이션(interpolation)의 도입이다. 아래 표 5에 제시한 [알고리듬 2]는 [알고리듬 1]에 비하여 인터폴레이션을 위한 추가적인 동작을 포함한다([알고리듬 2]의 17~20번째 행 참조). [알고리듬 2]에서는, 이동 윈도우 통계를 좀 더 잘 근사화하기 위하여 [알고리듬 1]에 추가적인 단계를 부가하였다. 새로운 튜플이 도착하면, 현재 존재하는 윈도우(existing window) 내의 마지막 튜플이 마킹되었다면(marked), 현재 존재하는 윈도우 내의 마지막 튜플의 속도를 선형적으로 인터폴레이션된 값으로 대체할 수 있다. 이러한 인터폴레이션은 필터링 목적을 위한 이동 윈도우에 대한 좀 더 정밀한 근사값(approximation)을 제공할 수 있다([알고리듬 2]의 17~20행 참조). 다른 말로, [알고리듬 2]의 가장 마지막 부분에 의해, 새로운 튜플을 얻을 때마다 윈도우 내의 마킹된 마지막 튜플을 인터폴레이션 할 수 있다. 좀 더 정밀한 근사화를 위한 이동 윈도우 구성을 위한 또 다른 변형예는,

Figure 112012075662980-pat00005
번째 튜플을 윈도우 내의 n 튜플들로 인터폴레이션 하는 것이다. 더 좋은 추정(estimation)을 위하여 n 튜플들로부터 추정된 점근 곡선(asymptotic curve)을 이용하여 윈도우 내의 중앙 튜플(middle tuple)을 인터폴레이션하여 더 정밀한 인터폴레이션을 가능하게 할 수 있다. 그러나 이 때문에 계산 오버헤드(computational overhead)가 생기게되어, 이 알고리듬을 이동 기기에 적용하는 것이 어려울 수 있다. 속도 인터폴레이션이 필터링 정확도에 미치는 영향을 살펴볼 수 있다.
Another idea for improving the algorithm is the introduction of interpolation. Algorithm 2 presented in Table 5 below includes additional operations for interpolation as compared to [Algorithm 1] (see lines 17 to 20 of [Algorithm 2]). In [Algorithm 2], an additional step is added to [Algorithm 1] to better approximate the moving window statistics. When a new tuple arrives, the last tuple in the existing window can be marked, and the speed of the last tuple in the current window can be replaced with a linearly interpolated value. This interpolation can provide a more precise approximation of the moving window for filtering purposes (see [Algorithm 2], lines 17-20). In other words, the last part of [Algorithm 2] allows you to interpolate the last tuple marked in the window whenever you get a new tuple. Yet another variation for a moving window configuration for a more precise approximation,
Figure 112012075662980-pat00005
Th tuple into n tuples in the window. It is possible to interpolate the middle tuple in the window using an asymptotic curve estimated from the n-tuples for better estimation to enable more accurate interpolation. However, this leads to computational overhead, which may be difficult to apply to mobile devices. The effect of velocity interpolation on filtering accuracy can be seen.

Algorithm 2 Moving Window construction with Interpolation Algorithm 2 Moving Window construction with Interpolation Require: P0 ▷ At least one initial tuple is required
Require: window size n
Require: user sensitivity level s
Ensure: Check validness of new position tuple
Ensure: Calibrated series of tuple {Pi : t ≥ i > 0 } for t inputs
Require: i=0
1: repeat Get Pi+1 ▷ Acquisition of new tuple, if exist
2: Construct MAspeed(n) with {Px : max(i-n+1, 0) ≤ x ≤ i}
3: Construct MSDspeed(n) with {Px : max(i-n+1, 0) ≤ x ≤ i}
4: Set MAspeed = MAspeed(n)
5: Set MSDspeed = MSDspeed(n) ▷ Moving Window Construction
6: if (Vi+1 > MAspeed + s × MSDspeed) OR (ai+1 ≥ MAXacceleration) then ▷ Filtering
7: Mark Pi+1 as filtered.
8: end if
9: if (Vi+1 ≥ MAspeed + s99.5 × MSDspeed) AND (Vi+1 > MINvelocity) then ▷ Calibration of Speed
10: Set Vi+1 = MAspeed + s99.5 × MSDspeed
11: end if
12: if ai+1 ≥ MAXacceleration then ▷ Restriction by Maximum Acceleration
13: Mark Pi+1 as filtered
14: Set Vi+1 = MAspeed
15: Set ai+1 = MAXacceleration
16: end if
17: if (Pi marked as filtered) then ▷ Linear Interpolation
18: Set Vi = ((Vi+1 - Vi-1) × (ti - ti-1)) / (ti+1 - ti-1) + Vi-1
19: Mark Pi as interpolated
20: end if
21: Set i = i + 1
22:until Exist no more input of positioning tuple
Require : P 0 ▷ At least one initial tuple is required
Require : window size n
Require : user sensitivity level s
Ensure : Check validity of new position tuple
Ensure : Calibrated series of tuple {P i : t ≥ i> 0} for t inputs
Require : i = 0
1: repeat Get P i + 1 ▷ Acquisition of new tuple, if exist
2: Construct MA speed (n) with {P x: max (i-n + 1, 0) ≤ x ≤ i}
3: Construct MSD speed (n) with {P x: max (i-n + 1, 0) ≤ x ≤ i}
4: Set MA speed = MA speed (n)
5: Set MSD speed = MSD speed (n) ▷ Moving Window Construction
6: if (V i + 1 > MA speed + s × MSD speed ) OR (a i + 1 ≥ MAX acceleration ) then ▷ Filtering
7: Mark P i + 1 as filtered.
8: end if
9: if (V i + 1 ≥ MA speed + s 99.5 × MSD speed ) AND (V i + 1 > MIN velocity ) then ▷ Calibration of Speed
10: Set V i + 1 = MA speed + s 99.5 x MSD speed
11: end if
12: if a i + 1 ≥ MAX acceleration then Restriction by Maximum Acceleration
13: Mark P i + 1 as filtered
14: Set V i + 1 = MA speed
15: Set a i + 1 = MAX acceleration
16: end if
17: if (P i marked as filtered) then ▷ Linear Interpolation
18: Set V i = (( V i + 1 - V i-1) × (t i - t i-1)) / (t i + 1 - t i-1) + V i-1
19: Mark P i as interpolated
20: end if
21: Set i = i + 1
22: until Exist no more input of positioning tuple

도 8은 본 발명의 일 실시예에 따른 [알고리듬 2]를 설명하기 위한 것이다.Figure 8 is intended to illustrate [Algorithm 2] according to an embodiment of the present invention.

도 8의 가로축은 연속적으로 얻은 이동 데이터 튜플의 인덱스를 나타내며, 세로축은 각 이동 데이터 튜플로부터 얻은 속도에 관한 로-데이터(raw-data)이다. 도 8에서는 이동 윈도우의 크기 n이 10인 것으로 예시되어 있다. 이동 윈도우 내에 존재하는 속도 값들로부터 MAspeed와 MAspeed + s99.5 × MSDspeed를 계산할 수 있으며, 이 값의 예가 도 8에 표시되어 있다. 도 8에서 인덱스 [i]에 대한 이동 데이터 튜플 Pi는 [알고리듬 2]에 따라 이미 필터링된 것으로 표시된 것으로 가정하였다. 따라서 [알고리듬 2]의 제18행에 따라, 이동 데이터 튜플 Pi의 속도 Vi는 이동 데이터 튜플 Pi-1의 속도 Vi-1과 이동 데이터 튜플 Pi+1의 속도 Vi+1를 이용하여 선형 인터폴레이션 된 값으로 대체된다.The horizontal axis of FIG. 8 represents the index of the continuously obtained moving data tuple, and the vertical axis represents the raw-data relating to the speed obtained from each moving data tuple. In FIG. 8, the size n of the moving window is 10. MA speed and MA speed + s 99.5 x MSD speed can be calculated from the speed values present in the moving window, and an example of this value is shown in FIG. In Fig. 8, it is assumed that the movement data tuple P i for index [i] is marked as already filtered according to [Algorithm 2]. Thus [Algorithm 2] a, the mobile data tuple P i speed V i is the mobile data tuple speed V i + 1 of the speed V i-1 and the mobile data tuple P i + 1 of the P i-1 according to claim 18 rows Is replaced by a linear interpolated value.

도 9는 본 발명의 일 실시예에 따른 [알고리듬 2]를 설명하기 위한 다른 예를 나타낸 것이다.FIG. 9 shows another example for explaining [Algorithm 2] according to an embodiment of the present invention.

도 9에서 인덱스 [i+1]에서의 가속도 ai+1는 MAXacceleration 보다 큰 것으로 가정하였다. 따라서, 인덱스 [i+1]에서의 속도 Vi+1는 MAspeed으로 보정되었다. 그리고, 이동 데이터 튜플 Pi의 속도 Vi는 도 8과 마찬가지로 이동 데이터 튜플 Pi-1의 속도 Vi-1과 이동 데이터 튜플 Pi+1의 속도 Vi+1를 이용하여 선형 인터폴레이션 된 값으로 대체된다.In FIG. 9, the acceleration a i + 1 at the index [i + 1] is assumed to be larger than MAX acceleration . Therefore, the speed V i + 1 at the index [i + 1] was corrected to the MA speed . And, the mobile data tuple P i speeds V i is 8 and, like mobile data tuple P i-1 velocity V i-1 and the mobile data tuples, P i + velocity V i + 1 using a linear interpolation of the value of one of the .

[알고리듬 2]에서는 새롭게 획득한 이동 데이터 튜플(Pi+1) 및 이동 윈도우에 존재하는 가장 최신의 이동 데이터 튜플(Pi)에 대한 처리가 이루어졌다. 이와 달리 본 발명의 다른 실시예에서는 이동 윈도우의 임의의 시점에 존재하는 이동 데이터 튜플(Pm)에 대한 처리를 수행할 수 있는데, 이를 표 6에 제시한 [알고리듬 3]을 통해 설명한다.
In [Algorithm 2], the newly obtained moving data tuple (P i + 1 ) and the latest moving data tuple (P i ) existing in the moving window are processed. Alternatively, in another embodiment of the present invention, the processing of the mobile data tuple (P m ) existing at a certain point in the moving window can be performed, which will be described in [Algorithm 3] shown in Table 6.

Algorithm 3 Filtering Any Point Inside Moving Window Algorithm 3 Filtering Any Point Inside Moving Window Require: P0 At least one initial tuple is required
Require: window size n
Require: user sensitivity level s
Ensure: Check validness of new position tuple
Ensure: Calibrated series of tuple Pi : t i > 0 for t inputs
Require: i=1
1: repeat Get Pi Acquisition of new tuple, if exist
2: Construct MAspeed(n) with Px : max(i-n+1, 0) x i
3: Construct MSDspeed(n) with Px : max(i-n+1, 0) x i
4: Set MAspeed = MAspeed(n)
5: Set MSDspeed = MSDspeed(n) Moving Window Construction
6: if (Vm > MAspeed + s MSDspeed) OR (am MAXacceleration) then ▷ Filtering
7: Mark Pm as filtered.
8: end if
9: if (Vm MAspeed + s99.5 MSDspeed) AND (Vm > MINvelocity) then ▷ Calibration of Speed
10: Set Vm = MAspeed + s99.5 MSDspeed
11: end if
12: if am MAXacceleration then ▷ Restriction by Maximum Acceleration
13: Mark Pm as filtered
14: Set Vm = MAspeed
15: Set am = MAXacceleration
16: end if
17: if (Pm marked as filtered) then ▷ Linear Interpolation
18: Set Vm = ((Vm+1 - Vm-1) (tm - tm-1)) / (tm+1 - tm-1) + Vm-1
19: Mark Pm as interpolated
20: end if
21: Set i = i + 1
22:until Exist no more input of positioning tuple

단, m=i-k이고, k는 사용자 조절가능 파라미터로서 iki-n0을 만족. 즉 m은 사이즈 n인 윈도우 내부에서 사용자가 임의로 정한 점을 의미함.
Require : P 0 At least one initial tuple is required
Require : window size n
Require : user sensitivity level s
Ensure : Check validity of new position tuple
Ensure : Calibrated series of tuples P i : ti> 0 for t inputs
Require : i = 1
1: repeat Get P i Acquisition of new tuple, if exist
2: Construct MA speed (n) with P x : max (i-n + 1, 0) xi
3: Construct MSD speed (n) with P x : max (i-n + 1, 0) xi
4: Set MA speed = MA speed (n)
5: Set MSD speed = MSD speed (n) Moving Window Construction
6: if (V m> MA speed + s MSD speed) OR (a m MAX acceleration) then ▷ Filtering
7: Mark P m as filtered.
8: end if
9: if (V m MA speed + s 99.5 MSD speed ) AND (V m > MIN velocity ) then ▷ Calibration of Speed
10: Set V m = MA speed + s 99.5 MSD speed
11: end if
12: if a m MAX acceleration then Restriction by Maximum Acceleration
13: Mark P m as filtered
14: Set V m = MA speed
15: Set a m = MAX acceleration
16: end if
17: if (P m marked as filtered) then ▷ Linear Interpolation
18: Set V m = (( V m + 1 - V m-1) (t m - t m-1)) / (t m + 1 - t m-1) + V m-1
19: Mark P m as interpolated
20: end if
21: Set i = i + 1
22: until Exist no more input of positioning tuple

Where m = ik and k is a user adjustable parameter satisfying two-n0. That is, m means a point set by the user in a window having a size n.

도 10은 본 발명의 일 실시예에 따른 [알고리듬 3]를 설명하기 위한 것이다.Fig. 10 is for explaining [Algorithm 3] according to an embodiment of the present invention.

도 10에서 이동 윈도우의 크기는 10으로 설정되어 있다. 또한, 필터링 및/또는 속도값 보정의 대상은 인덱스 [i-4]=([m])를 갖는 이동 데이터 튜플인 것으로 예시하였다. 도 10에서 인덱스 [i-4]를 갖는 이동 데이터 튜플은 [알고리듬 3]에 따라 이미 필터링 된 것으로 가정하였다. 따라서, [알고리듬 3]의 제18행에 따라, 이동 데이터 튜플 Pi-4의 속도 Vi-4는 이동 데이터 튜플 Pi-5의 속도 Vi-5과 이동 데이터 튜플 Pi+5의 속도 Vi+5를 이용하여 선형 인터폴레이션 된 값으로 대체된다.In FIG. 10, the size of the moving window is set to 10. Also, the subject of filtering and / or velocity value correction is illustrated as being a moving data tuple with index [i-4] = ([m]). In Fig. 10, it is assumed that the mobile data tuple with index [i-4] has already been filtered according to [Algorithm 3]. Thus, in accordance with claim 18 rows of [Algorithm 3], the mobile data tuple P rate of the i-4 V i-4 are mobile data tuple P i-5 speed V i-5 and the mobile data tuple P i + 5 the speed of the V i + 5 is substituted for the linear interpolated value.

도 11은 본 발명의 다른 실시예에 따른 위치 데이터 오류 필터링 및 보정 방법을 설명하기 위한 것이다.11 is a view for explaining a position data error filtering and correction method according to another embodiment of the present invention.

도 11에서는 [알고리듬 3]의 제17~20행에 의한 인터폴레이션 방법으로부터 변형된 인터폴레이션 방법을 사용한 결과를 나타낸다. 도 11에서는 이동 윈도우 내의 복수 개의 데이터를 이용한 비선형 인터폴레이션 방법을 이용한다. 예컨대, 이동 윈도우 내에 포함된 복수 개의 데이터와 최소 자승법을 이용하여 근사화한 점근선에 해당하는 값을 이용하여 인덱스 [i-4]를 갖는 이동 데이터 튜플을 보정할 수 있다.11 shows the result of using the modified interpolation method from the interpolation method according to lines 17 to 20 of [Algorithm 3]. In Fig. 11, a nonlinear interpolation method using a plurality of data in a moving window is used. For example, the moving data tuple having the index [i-4] can be corrected using a plurality of data included in the moving window and a value corresponding to an asymptote approximated by using the least squares method.

이상 도 8 내지 도 11에서는 본 발명의 실시예에 따른 각종 알고리듬의 원리를 설명하기 위한 예를 제시하였는데, 이러한 예시가 본 발명을 한정하기 위한 것이 아님은 명백하다. 또한, [알고리듬 1], [알고리듬 2], 및 [알고리듬 3]은 도 8 내지 도 11을 참조하지 않고도 명확이 이해할 수 있을 정도로 구체적으로 기술되어 있다는 점을 이해할 수 있으며, 도 1 내지 도 7에 나타낸 실증결과를 도출해 낸 작동 가능한 코드임을 이해할 수 있다.8 to 11 show examples for explaining the principles of various algorithms according to the embodiment of the present invention, and it is apparent that these examples are not intended to limit the present invention. It is to be understood that [Algorithm 1], [Algorithm 2], and [Algorithm 3] are described in detail so as to be clearly understood without reference to FIGS. 8 to 11, It is understandable that this is an executable code derived from the demonstration results shown.

마지막으로 우리는 필터링에 대한 확률 분포의 효과를 조사할 필요가 있다. 일반적으로 정규분포는 다양한 에러들과 필터링을 설명하기 위해 보통 사용되는 분포이다. 그러나 진전된 연구들은 인간 이동성 패턴이 Levy Walk [6]와 같이 헤비 테일 분포(heavy tailed distribution)를 따른다고 지적하고 있다. 따라서 위치 정보의 분포가 Levy Walk 형식을 따를 수 있기 때문에, 필터링에 Levy Walk 분포를 적용한 경우의 효과를 알아볼 수 있다.
Finally, we need to examine the effect of the probability distribution on filtering. In general, a normal distribution is a distribution usually used to describe various errors and filtering. However, advanced studies point out that the human mobility pattern follows a heavy tailed distribution like Levy Walk [6]. Therefore, since the distribution of location information can follow the Levy Walk format, the effect of applying the Levy Walk distribution to the filtering can be seen.

<실시예><Examples>

이하, 본 발명의 일 실시예에 따른 위치 데이터의 오류여부 결정방법을 설명한다. 이 방법은 상술한 [알고리듬 1], [알고리듬 2], 또는 [알고리듬 3]을 참조하여 설명한다.Hereinafter, a method for determining whether or not the position data is erroneous according to an embodiment of the present invention will be described. This method will be described with reference to [Algorithm 1], [Algorithm 2], or [Algorithm 3] described above.

이 위치 데이터의 오류여부 결정방법은, 사용자 기기로부터 수집된 제1 위치 데이터(Pc)의 오류여부를 결정하는 방법으로서, 상기 제1 위치 데이터(Pc) 및 상기 사용자 기기로부터 수집된 과거의 하나 이상의 위치 데이터를 이용하여 제1 속도(Vc)를 산출하는 단계(S10)을 포함한다. 여기서, c는, 예컨대 [알고리듬 1]/[알고리듬 2]의 i+1, 또는 [알고리듬 3]의 m일 수 있다. 그리고 이 방법은 상기 제1 속도(Vc)가 수학식 2를 만족하는 경우에는 상기 제1 위치 데이터(Pc)에 오류가 있는 것으로 판단하는 단계(S20)를 포함한다.
The method of determining whether or not the position data is erroneous is a method of determining whether or not the first position data (P c ) collected from the user equipment is erroneous, wherein the first position data (P c ) And calculating a first velocity (V c ) using at least one position data (SlO). Here, c may be, for example, i of [Algorithm 1] / [Algorithm 2] or m of [Algorithm 3]. The method further includes determining (S20) that the first position data (P c ) is erroneous if the first velocity (V c ) satisfies Equation (2).

[수학식 2]&Quot; (2) &quot;

Vc > f(P), V c > f (P),

단, P는 상기 사용자 기기에 의해 수집된 하나 이상의 다른 위치 데이터들을 피트(fit)하는데 사용하는 확률분포의 모양을 결정하는 적어도 하나의 파라미터이다. 이때, 상기 하나 이상의 다른 위치 데이터들은, 상기 파라미터를 계산하기 위해 사용되는 윈도우 내에 포함된 위치 데이터일 수 있다. 예컨대, f(P)는 [알고리듬 1]의 MAspeed + s × MSDspeed일 수 있으며, 이때, 파라미터 P는 MAspeed와 MSDspeed일 수 있다.
Where P is at least one parameter that determines the shape of a probability distribution that is used to fit one or more other position data collected by the user equipment. At this time, the one or more other position data may be position data contained in a window used for calculating the parameter. For example, f (P) may be MA speed + s x MSD speed of [Algorithm 1], where parameter P may be MA speed and MSD speed .

위에서 확률분포로서 정규분포, heavy tailed 분포, 감마 분포 등을 사용할수 있다. 정규분포의 모양을 결정하는 파라미터는 기대값 및 표준편차이며, heavy tailed distribution의 모양을 결정하는 파라미터는 lamda1이며, 감마 분포의 모양을 결정하는 파라미터는 임의의 양수 lamda2 및 alpha이다. 표준편차는 과거 n개의 수집된 위치정보를 정규 분포에 피트시키기 위해 계산하는 값이다. lamda1는 과거 n개의 수집된 위치정보를 heavy tailed distribution에 피트시켰을 때에 얻어지는 방정식의 근이다. lamda2 및 alpha는 과거 n개의 수집된 위치정보를 감마 분포에 피트시켰을 때에 얻어지는 방정식의 근이다. The above probability distribution can be normal distribution, heavy tailed distribution, gamma distribution, etc. The parameters that determine the shape of the normal distribution are expected values and standard deviations, the parameter that determines the shape of the heavy tailed distribution is lamda1, and the parameters that determine the shape of the gamma distribution are any positive numbers lamda2 and alpha. The standard deviation is a value calculated to fit the past n collected position information to the normal distribution. lambda1 is the root of the equation obtained when the past n collected position information is pitched to the heavy tailed distribution. lamda2 and alpha are the roots of the equation obtained when the past n collected positional information is fitted to the gamma distribution.

위의 어느 하나의 분포의 모양을 결정하는 파라미터를 수학식 2에서 사용하는 이유는, 현재 수집한 위치 데이터에 관한 속도에 오류가 있는지 여부를 결정하는 기준으로서, 최근의 속도의 MA로부터 일정수준 이상의 범위를 벗어나는지 여부를 이용하기로 했기 때문이다.The reason why the parameter for determining the shape of any one of the above distributions is used in the equation (2) is that, as a criterion for determining whether there is an error in the velocity with respect to the collected position data, It is decided whether or not to go beyond the range.

상술한 단계(S20)는 예컨대 [알고리듬 1] 또는 [알고리듬 2]의 제6행 및 제7행, 또는 제12행 및 제14행에 의해 구현될 수 있다. The above-described step S20 may be implemented by, for example, the sixth row and the seventh row of [Algorithm 1] or [Algorithm 2], or the twelfth row and the fourteenth row.

이때, 상기 확률분포는 정규분포이고 상기 P는 상기 정규분포의 모양을 결정하는 적어도 하나의 파라미터일 수 있다. 또는, 상기 확률분포는 heavy tailed 분포이고, 상기 P는 상기 heavy tailed 분포의 모양을 결정하는 적어도 하나의 파라미터일 수 있다. 또는, 상기 확률분포는 감마 분포이고, 상기 P는 상기 감마 분포의 모양을 결정하는 적어도 하나의 파라미터일 수 있다. Here, the probability distribution is a normal distribution and the P may be at least one parameter that determines the shape of the normal distribution. Alternatively, the probability distribution may be a heavy tailed distribution and the P may be at least one parameter that determines the shape of the heavy tailed distribution. Alternatively, the probability distribution may be a gamma distribution, and the P may be at least one parameter that determines the shape of the gamma distribution.

이때, 상기 확률분포는 정규분포이고, 위의 수학식 2는 Vc > MAspeed + s1 * MSDspeed 이며, MAspeed 는 상기 하나 이상의 다른 위치 데이터들로부터 계산된 속도의 이동평균이고, MSDspeed 는 상기 하나 이상의 다른 위치 데이터들로부터 계산된 표준편차의 평균값이며, 상기 s1은 미리 결정된 상수일 수 있다([알고리듬 1], [알고리듬 2], 및 [알고리듬 3]의 6행 참조).In this case, the probability distribution is a normal distribution, equation 2 above is V c> MA speed + s1 * and MSD speed, MA speed is the shift of the speed calculated from the one or more other location data average, MSD speed is Is an average value of the standard deviations calculated from the one or more other positional data, and s1 may be a predetermined constant (see line 6 of [Algorithm 1], [Algorithm 2], and [Algorithm 3].

이때, 상기 산출하는 단계(S10)에서는, 상기 제1 위치 데이터(Pc) 및 상기 사용자 기기로부터 수집된 과거의 하나 이상의 위치 데이터를 이용하여 상기 제1 속도(Vc) 및 제1 가속도(ac)를 산출할 수 있다. At this time, in the calculating step S10, the first velocity V c and the first acceleration a (a) are calculated using the first position data P c and the past one or more position data collected from the user equipment c ) can be calculated.

또한, 상기 판단하는 단계(S20)에서는, 상기 제1 속도(Vc)가 식 (1)을 만족하거나 또는 상기 제1 가속도(ac)가 미리 결정된 최대 가속도(MAXacceleration) 이상인 경우에는([알고리듬 1], [알고리듬 2], 또는 [알고리듬 3]의 제6행 참조), 상기 제1 위치 데이터(Pc)에 오류가 있는 것으로 판단할 수 있다.If the first speed V c satisfies the equation (1) or the first acceleration a c is equal to or greater than the predetermined maximum acceleration MAX acceleration , Algorithm 6] or [algorithm 6]), it can be determined that there is an error in the first position data P c .

이때, 이 실시예에 따른 방법은, 상기 제1 속도(Vc)가 수학식 3 및 수학식 4을 만족하면 상기 제1 속도(Vc)를 수학식 5에 의해 산출되는 값으로 대체하는 단계(S30)를 더 포함할 수 있다.
In this case, the method according to this embodiment includes the steps of replacing the first speed (V c) that if any of the equations (3) and (4) to the first speed (V c) to a value calculated by Equation (5) (S30).

[수학식 3]&Quot; (3) &quot;

Vc >= MAspeed + s2 * MSDspeed V c > = MA speed + s2 * MSD speed

단, s2는 미리 결정된 값,
However, s2 is a predetermined value,

[수학식 4]&Quot; (4) &quot;

Vc > MINvelocity V c > MIN velocity

단, MINvelocity는 미리 결정된 최저 속도
However, the MIN velocity is a predetermined minimum velocity

[수학식 5]&Quot; (5) &quot;

MAspeed + s2 * MSDspeed
MA speed + s2 * MSD speed

이때, 단계(S30)는 예컨대 [알고리듬 1], [알고리듬 2], 또는 [알고리듬 3]의 제9행 내지 제11행에 의해 구현될 수 있다.At this time, the step S30 may be implemented by the ninth through eleventh rows of [Algorithm 1], [Algorithm 2], or [Algorithm 3], for example.

이 실시예에 따른 방법은, 상기 제1 가속도(ac)가 미리 결정된 최대 가속도(MAXacceleration) 이상인 경우에는([알고리듬 1], [알고리듬 2], 또는 [알고리듬 3]의 제12행 참조), 상기 제1 위치 데이터(Pc)에 오류가 있는 것으로 판단하고([알고리듬 1], [알고리듬 2], 또는 [알고리듬 3]의 제13행 참조), 상기 제1 속도(Vc)를 상기 하나 이상의 다른 위치 데이터들로부터 계산된 속도의 이동평균(MAspeed) 값으로 대체하고([알고리듬 1], [알고리듬 2], 또는 [알고리듬 3]의 제14행 참조), 상기 제1 가속도(ac)를 상기 미리 결정된 최대 가속도(MAXacceleration)로 대체하는([알고리듬 1], [알고리듬 2], 또는 [알고리듬 3]의 제15행 참조) 단계를 더 포함할 수 있다. The method according to this embodiment is characterized in that when the first acceleration a c is equal to or greater than a predetermined maximum acceleration MAX acceleration (see the twelfth row of [Algorithm 1], [Algorithm 2], or [Algorithm 3] , determination is made that the error in said first position data (P c) and wherein the ([algorithm 1] and [algorithm 2], or see the 13th line of the [algorithm 3]), the first speed (V c) (See column 14 of [Algorithm 1], [Algorithm 2], or [Algorithm 3]) with the value of the MA speed calculated from one or more other position data, (see the 15th row of [Algorithm 1], [Algorithm 2], or [Algorithm 3]) that replaces the predetermined maximum acceleration ( c ) with the predetermined maximum acceleration (MAX acceleration ).

또한, 이 실시예에 따른 방법은, 상기 속도의 이동평균(MAspeed)은 상기 제1 속도(Vc) 또는 상기 대체된 제1 속도를 반영하여 갱신되도록 되어 있을 수 있다.Also, the method according to this embodiment may be such that the MA speed of the velocity is updated to reflect the first velocity (V c ) or the substituted first velocity.

또한, 이 실시예에 따른 방법은, 상기 제1 위치 데이터(Pc)에 오류가 있는 것으로 판단된 경우([알고리듬 2] 또는 [알고리듬 3]의 제17행 참조), 상기 속도(Vc)의 값을 상기 속도(Vc)에 인접한 복수 개의 속도 값들을 이용하여 인터폴레이션 한 값으로 대체하고([알고리듬 2] 또는 [알고리듬 3]의 제18행 참조), 상기 현재 위치 데이터(Pc)가 인터폴레이션되었다는 것을 기록하도록([알고리듬 2] 또는 [알고리듬 3]의 제19행 참조) 되어 있다. In addition, the method according to this embodiment, when it is determined to be in error in said first position data (P c) (see the line 17 in the [algorithm 2] or [Algorithm 3]), the speed (V c) (See [Algorithm 2] or [Algorithm 3], line 18), the current position data P c is replaced with a value interpolated using a plurality of velocity values adjacent to the velocity V c (See [Algorithm 2] or [Algorithm 3], line 19) to record that they have been interpolated.

위에서, 예컨대, c가 [알고리듬 2]의 i+1을 나타내는 것이라면, 상기 인터폴레이션은 수학식 6에의해 이루어질 수 있다.
Above, for example, if c represents i + 1 of [Algorithm 2], then the interpolation may be done according to Equation (6).

[수학식 6]&Quot; (6) &quot;

((Vi+1 - Vi-1) × (ti - ti-1)) / (ti+1 - ti-1) + Vi-1, (V i + 1 - V i-1 ) x t i - t i -1 ) / (t i + 1 - t i -1 ) + V i -1,

단, ti-1, ti, 및 ti+1 는 각각 위치 데이터 인덱스 i-1, i, i+1에서의 절대시각을 나타냄.
T i-1 , t i , and t i + 1 represent the absolute time in the position data index i-1, i, i + 1, respectively.

또는, [알고리듬 2] 및 [알고리듬 3]에 나타낸 것과는 달리, 상기 인터폴레이션은 윈도우에 포함된 모든 데이터를 이용하여 수행될 수 있으며, 비선형적 피팅(fit) 방법을 이용할 수도 있다.Alternatively, unlike that shown in [Algorithm 2] and [Algorithm 3], the interpolation may be performed using all the data contained in the window, or a nonlinear fit method may be used.

또한, 이 방법에 있어서, 상기 적어도 하나의 파라미터는 조절 가능한 크기(n)를 갖는 윈도우에 포함된 복수 개의 위치 데이터들로부터 계산되며, M개의 연속적인 위치 데이터 모두에 오류가 있는 것으로 판단된 경우 상기 윈도우의 크기를 증가시킬 수 있도록 되어 있고, L개의 연속적인 위치 데이터 모두에 오류가 없는 것으로 판단된 경우 상기 윈도우의 크기를 감소시킬 수 있도록 되어 있는 것을 특징으로 한다. 여기서, M과 L은 설정이 가능한 자연수이다.In this method, the at least one parameter is calculated from a plurality of position data included in a window having an adjustable size (n), and when it is determined that all of the M consecutive position data have an error, The size of the window can be increased, and when it is determined that there is no error in all of the L continuous position data, the size of the window can be reduced. Here, M and L are natural numbers that can be set.

본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 당해 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the invention. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

Claims (13)

사용자 기기로부터 수집된 제1 위치 데이터(Pc)의 오류여부를 결정하는 방법으로서,
상기 제1 위치 데이터(Pc) 및 상기 사용자 기기로부터 수집된 과거의 하나 이상의 위치 데이터를 이용하여 상기 제1 위치 데이터(Pc)에 연관된 제1 속력(Vc)을 산출하는 단계; 및
상기 제1 속력(Vc)이 식 (1)을 만족하는 경우에는, 상기 제1 위치 데이터(Pc)에 오류가 있는 것으로 판단하는 단계를 포함하는,
위치 데이터의 오류여부 결정방법.
식 (1) : Vc > f(P),
단, P는 상기 사용자 기기에 의해 수집된 하나 이상의 다른 위치 데이터들을 피트(fit)하는데 사용하는 확률분포의 모양을 결정하는 적어도 하나의 파라미터로서, 상기 제1 위치 데이터(Pc)의 수집 시점보다 과거에 결정된 하나 이상의 속력을 이용하여 확률분포를 기반으로 하여 산출된 통계값을 포함하는 파라미터이며,
f( )는 상기 파라미터 P를 독립변수로 받아들여 상기 제1 속력(Vc)과 비교될 수 있는 값을 출력하는 함수임.
A method for determining whether an error of first position data (P c ) collected from a user device is present,
Calculating a first velocity (V c ) associated with the first position data (P c ) using the first position data (P c ) and the past one or more position data collected from the user device; And
And determining that the first position data (P c ) is erroneous if the first speed (V c ) satisfies equation (1).
How to determine if location data is erroneous.
(1): V c > f (P),
However, P is than collected in time, the first position data (P c) as at least one parameter that determines the shape of the probability distribution to be used for one or more feet (fit) other location data collected by the user equipment A parameter including a statistical value calculated based on a probability distribution using at least one speed determined in the past,
f () is a function that takes the parameter P as an independent variable and outputs a value that can be compared with the first speed (V c ).
제1항에 있어서,
상기 확률분포는 정규분포이고 상기 P는 상기 정규분포의 모양을 결정하는 적어도 하나의 파라미터이거나,
상기 확률분포는 heavy tailed 분포이고, 상기 P는 상기 heavy tailed 분포의 모양을 결정하는 적어도 하나의 파라미터이거나, 또는
상기 확률분포는 감마 분포이고, 상기 P는 상기 감마 분포의 모양을 결정하는 적어도 하나의 파라미터인,
위치 데이터의 오류여부 결정방법.
The method according to claim 1,
The probability distribution is a normal distribution and P is at least one parameter that determines the shape of the normal distribution,
Wherein the probability distribution is a heavy tailed distribution and P is at least one parameter determining the shape of the heavy tailed distribution,
Wherein the probability distribution is a gamma distribution, and P is at least one parameter that determines the shape of the gamma distribution,
How to determine if location data is erroneous.
제1항에 있어서,
상기 확률분포는 정규분포이고,
식 (1)은 Vc > MAspeed + s1 * MSDspeed 이며, MAspeed 는 상기 하나 이상의 다른 위치 데이터들로부터 계산된 속력의 이동평균이고, MSDspeed 는 상기 하나 이상의 다른 위치 데이터들로부터 계산된 이동표준편차이며, 상기 s1은 미리 결정된 상수인,
위치 데이터 오류여부 결정방법.
The method according to claim 1,
The probability distribution is a normal distribution,
Formula (1) V c> MA speed + s1 * MSD speed and, MA speed is the speed of movement of the average calculated from the one or more other location data, MSD speed is a movement calculated from the one or more other location data Standard deviation, s1 is a predetermined constant,
How to determine if location data is corrupted.
제1항에 있어서,
상기 산출하는 단계에서는, 상기 제1 위치 데이터(Pc) 및 상기 사용자 기기로부터 수집된 과거의 하나 이상의 위치 데이터를 이용하여 상기 제1 속력(Vc) 및 제1 가속도(ac)를 산출하며,
상기 판단하는 단계에서는, 상기 제1 속력(Vc)이 식 (1)을 만족하거나 또는 상기 제1 가속도(ac)가 미리 결정된 최대 가속도(MAXacceleration) 이상인 경우에는, 상기 제1 위치 데이터(Pc)에 오류가 있는 것으로 판단하는,
위치 데이터 오류여부 결정방법.
The method according to claim 1,
The calculating step calculates the first speed (V c ) and the first acceleration (a c ) using the first position data (P c ) and the past one or more position data collected from the user device ,
In the determining, when the first speed V c satisfies the equation (1) or the first acceleration a c is equal to or greater than a predetermined maximum acceleration MAX acceleration , the first position data P c ) is judged to be in error,
How to determine if location data is corrupted.
제3항에 있어서,
상기 제1 속력(Vc)이 식 (2) 및 식 (3)을 만족하면 상기 제1 속력(Vc)을 식 (4)에 의해 산출되는 값으로 대체하는 단계를 더 포함하는, 위치 데이터 오류여부 결정방법.
식 (2): Vc >= MAspeed + s2 * MSDspeed , 단, s2는 미리 결정된 값,
식 (3): Vc > MINvelocity , 단 MINvelocity는 미리 결정된 최저 속력,
식 (4): MAspeed + s2 * MSDspeed
The method of claim 3,
If any of the first speed (V c), the formula (2) and (3) further comprises the step of replacing said first speed (V c) to a value calculated by Equation (4), the position data How to Determine If You Are Errors.
Equation (2): V c> = MA speed + s2 * MSD speed, However, s2 is a predetermined value,
(3): V c > MIN velocity , where MIN velocity is a predetermined minimum velocity,
(4): MA speed + s2 * MSD speed
제4항에 있어서,
상기 제1 가속도(ac)가 미리 결정된 최대 가속도(MAXacceleration) 이상인 경우에는, 상기 제1 위치 데이터(Pc)에 오류가 있는 것으로 판단하고, 상기 제1 속력(Vc)을 상기 하나 이상의 다른 위치 데이터들로부터 계산된 속력의 이동평균(MAspeed) 값으로 대체하는, 위치 데이터 오류여부 결정방법.
5. The method of claim 4,
The first acceleration (a c) is a predetermined maximum acceleration (MAX acceleration), the said first position data (P c) or more in the determination is made that the error, wherein the first speed (V c) one wherein the not less than (MA speed ) value of the speed calculated from the other position data.
제5항에 있어서,
상기 속력의 이동평균(MAspeed)은 상기 제1 속력(Vc) 또는 상기 대체된 제1 속력을 반영하여 갱신되도록 되어 있는, 위치 데이터 오류여부 결정방법.
6. The method of claim 5,
Wherein the MA speed is adapted to be updated to reflect the first speed (V c ) or the replaced first speed.
제1항 또는 제6항에 있어서,
상기 제1 위치 데이터(Pc)에 오류가 있는 것으로 판단된 경우,
상기 속력(Vc)의 값을 상기 속력(Vc)에 인접한 복수 개의 속력 값들을 이용하여 인터폴레이션 한 값으로 대체하는 것을 특징으로 하는, 위치 데이터 오류여부 결정방법.
7. The method according to claim 1 or 6,
If it is determined that there is an error in the first position data (P c )
The speed (V c) how the value of the speed (V c), whether the error location data, comprising a step of replacing one of interpolation values using a plurality of speed values adjacent to the crystal.
제8항에 있어서, 상기 인터폴레이션은 식 (5)에 의해 이루어지는 것을 특징으로 하는, 위치 데이터 오류여부 결정방법.
식 (5): ((Vc+1 - Vc-1) × (tc - tc-1)) / (tc+1 - tc-1) + Vc-1,
단, tc-1, tc, 및 tc+1 는 각각 위치 데이터 인덱스 c-1, c, c+1에서의 절대시각을 나타냄.
9. The method of claim 8, wherein the interpolation is performed according to equation (5).
Equation (5): ((V c + 1 - V c-1) × (t c - t c-1)) / (t c + 1 - t c-1) + V c-1,
T c-1 , t c , and t c + 1 represent the absolute time in the position data indexes c-1, c, c + 1, respectively.
제8항에 있어서,
상기 적어도 하나의 파라미터는 조절 가능한 크기를 갖는 윈도우에 포함된 복수 개의 위치 데이터들로부터 계산되며,
상기 인터폴레이션은 상기 윈도우에 포함된 복수 개의 데이터를 이용하여 수행되는 것을 특징으로 하는,
위치 데이터 오류여부 결정방법.
9. The method of claim 8,
Wherein the at least one parameter is calculated from a plurality of position data included in a window having an adjustable size,
Wherein the interpolation is performed using a plurality of data included in the window.
How to determine if location data is corrupted.
제1항에 있어서,
상기 적어도 하나의 파라미터는 조절 가능한 크기를 갖는 윈도우에 포함된 복수 개의 위치 데이터들로부터 계산되며,
M개의 연속적인 위치 데이터 모두에 오류가 있는 것으로 판단된 경우 상기 윈도우의 크기를 미리 정의된 제1값까지 증가시킬 수 있도록 되어 있고,
L개의 연속적인 위치 데이터 모두에 오류가 없는 것으로 판단된 경우 상기 윈도우의 크기를 미리 정의된 제2값까지 감소시킬 수 있도록 되어 있는 것을 특징으로 하는,
위치 데이터의 오류여부 결정방법.
The method according to claim 1,
Wherein the at least one parameter is calculated from a plurality of position data included in a window having an adjustable size,
The size of the window may be increased to a first predetermined value if it is determined that all of the M consecutive position data are erroneous,
And if it is determined that there is no error in all of the L consecutive position data, the size of the window can be reduced to a second predetermined value.
How to determine if location data is erroneous.
사용자 기기로부터 수집된 제1 위치 데이터(Pc)의 오류여부를 결정하는 장치로서,
저장부; 및 처리부를 포함하며,
상기 저장부는 상기 제1 위치 데이터(Pc)와 상기 사용자 기기로부터 수집된 과거의 하나 이상의 위치 데이터를 저장하도록 되어 있고,
상기 처리부는,
상기 제1 위치 데이터(Pc) 및 상기 사용자 기기로부터 수집된 과거의 하나 이상의 위치 데이터를 이용하여 상기 제1 위치 데이터(Pc)에 관한 제1 속력(Vc)을 산출하도록 되어 있고, 그리고
상기 제1 속력(Vc)이 식 (1)을 만족하는 경우에는, 상기 제1 위치 데이터(Pc)에 오류가 있는 것으로 판단하도록 되어 있는,
위치 데이터 오류여부 결정장치.
식 (1) : Vc > f(P),
단, P는 상기 사용자 기기에 의해 수집된 하나 이상의 다른 위치 데이터들을 피트(fit)하는데 사용하는 확률분포의 모양을 결정하는 적어도 하나의 파라미터로서, 상기 제1 위치 데이터(Pc)의 수집 시점보다 과거에 결정된 하나 이상의 속력을 이용하여 확률분포를 기반으로 하여 산출된 통계값을 포함하는 파라미터이며,
f( )는 상기 파라미터를 독립변수로 받아들여 상기 제1 속력(Vc)과 비교될 수 있는 값을 출력하는 함수임.
An apparatus for determining whether an error of first position data (P c ) collected from a user device is present,
A storage unit; And a processing unit,
Wherein the storage unit is configured to store the first position data (P c ) and past one or more position data collected from the user equipment,
Wherein,
(V c ) about the first position data (P c ) using the first position data (P c ) and the past one or more position data collected from the user device, and
Wherein the first position data (P c ) is judged to be erroneous when the first speed (V c ) satisfies the formula (1)
A location data error determination device.
(1): V c > f (P),
Wherein P is at least one parameter for determining the shape of a probability distribution used to fit one or more other position data collected by the user equipment, A parameter including a statistical value calculated based on a probability distribution using at least one determined speed,
f () is a function that takes the parameter as an independent variable and outputs a value that can be compared with the first speed (V c ).
사용자 기기로부터 수집된 제1 위치 데이터(Pc)의 오류여부를 결정하는 장치에서 실행되는 프로그램을 저장한 컴퓨터로 읽을 수 있는 매체로서,
상기 프로그램은,
상기 장치에,
상기 제1 위치 데이터(Pc) 및 상기 사용자 기기로부터 수집된 과거의 하나 이상의 위치 데이터를 이용하여 상기 제1 위치 데이터(Pc)에 관한 제1 속력(Vc)을 산출하는 단계; 및
상기 제1 속력(Vc)이 식 (1)을 만족하는 경우에는, 상기 제1 위치 데이터(Pc)에 오류가 있는 것으로 판단하는 단계를
수행하도록 되어 있는, 컴퓨터로 읽을 수 있는 매체.
식 (1) : Vc > f(P),
단, P는 상기 사용자 기기에 의해 수집된 하나 이상의 다른 위치 데이터들을 피트(fit)하는데 사용하는 확률분포의 모양을 결정하는 적어도 하나의 파라미터로서, 상기 제1 위치 데이터(Pc)의 수집 시점보다 과거에 결정된 하나 이상의 속력을 이용하여 확률분포를 기반으로 하여 산출된 통계값을 포함하는 파라미터이며,
f( )는 상기 파라미터를 독립변수로 받아들여 상기 제1 속력(Vc)과 비교될 수 있는 값을 출력하는 함수임.
A computer-readable medium storing a program to be executed by an apparatus for determining whether or not an error of first position data (P c ) collected from a user device is present,
The program includes:
In the apparatus,
Calculating a first velocity (V c ) for the first position data (P c ) using the first position data (P c ) and the past one or more position data collected from the user device; And
Determining that the first position data (P c ) is erroneous if the first speed (V c ) satisfies the formula (1)
A computer-readable medium intended to be executed.
(1): V c > f (P),
Wherein P is at least one parameter for determining the shape of a probability distribution used to fit one or more other position data collected by the user equipment, A parameter including a statistical value calculated based on a probability distribution using at least one determined speed,
f () is a function that takes the parameter as an independent variable and outputs a value that can be compared with the first speed (V c ).
KR1020120103572A 2012-03-30 2012-09-18 Method for determining the presence of positioning data error Expired - Fee Related KR101467317B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2013/002663 WO2013147560A1 (en) 2012-03-30 2013-03-29 Method for correcting position information
US14/389,475 US20150087333A1 (en) 2012-03-30 2013-03-29 Method for correcting position information

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020120033533 2012-03-30
KR20120033533 2012-03-30

Publications (2)

Publication Number Publication Date
KR20130111161A KR20130111161A (en) 2013-10-10
KR101467317B1 true KR101467317B1 (en) 2014-12-01

Family

ID=49632859

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120103572A Expired - Fee Related KR101467317B1 (en) 2012-03-30 2012-09-18 Method for determining the presence of positioning data error

Country Status (1)

Country Link
KR (1) KR101467317B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230130901A1 (en) * 2021-10-25 2023-04-27 Beijing Baidu Netcom Science Technology Co., Ltd. Method for constructing three-dimensional map in high-definition map, device and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100535394B1 (en) * 2003-08-21 2005-12-08 현대자동차주식회사 Method for processing gps signals
JP4119256B2 (en) * 2001-03-05 2008-07-16 クゥアルコム・インコーポレイテッド Method and apparatus for providing an improved position estimate based on an initial coarse position estimate
KR20090089343A (en) * 2006-11-07 2009-08-21 스카이후크 와이어리스, 인크. System and method for estimating positioning error in a LAN-based positioning system
JP4348441B2 (en) * 2007-01-22 2009-10-21 国立大学法人 大阪教育大学 Position detection apparatus, position detection method, data determination apparatus, data determination method, computer program, and storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4119256B2 (en) * 2001-03-05 2008-07-16 クゥアルコム・インコーポレイテッド Method and apparatus for providing an improved position estimate based on an initial coarse position estimate
KR100535394B1 (en) * 2003-08-21 2005-12-08 현대자동차주식회사 Method for processing gps signals
KR20090089343A (en) * 2006-11-07 2009-08-21 스카이후크 와이어리스, 인크. System and method for estimating positioning error in a LAN-based positioning system
JP4348441B2 (en) * 2007-01-22 2009-10-21 国立大学法人 大阪教育大学 Position detection apparatus, position detection method, data determination apparatus, data determination method, computer program, and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230130901A1 (en) * 2021-10-25 2023-04-27 Beijing Baidu Netcom Science Technology Co., Ltd. Method for constructing three-dimensional map in high-definition map, device and storage medium

Also Published As

Publication number Publication date
KR20130111161A (en) 2013-10-10

Similar Documents

Publication Publication Date Title
US8457880B1 (en) Telematics using personal mobile devices
US9756460B2 (en) Adaptive location perturbation
CN107688906B (en) Multi-method fused transmission line meteorological element downscaling analysis system and method
US12228416B2 (en) Navigation system
CN104573859A (en) Human traffic prediction method based on Wifi positioning and cloud data processing technology
WO2012018131A1 (en) Action characteristic extraction device, action characteristic extraction system, method of extracting action characteristic, and action characteristic extraction program
Freschi et al. Geospatial data aggregation and reduction in vehicular sensing applications: The case of road surface monitoring
CN106953928A (en) The acquisition methods and device of positional information
KR20130077754A (en) Location information representation method, location information processing method, location information model constructing method, and locational information processing apparatus
Pham et al. Privacy-preserving reconstruction of multidimensional data maps in vehicular participatory sensing
JP2010145116A (en) Destination prediction system, destination prediction method, and program
CN109041218A (en) Method for predicting user position and intelligent hardware
CN110795519A (en) Markov model and probability statistics-based position prediction method and readable storage medium
CN116341841A (en) Runoff forecast error correction method, device, equipment, medium and program product
KR101467317B1 (en) Method for determining the presence of positioning data error
CN102841334A (en) Method and device for acquiring locating point
CN116811895B (en) Vehicle running speed determination model processing method and vehicle running speed determination method
KR101467318B1 (en) Method for correcting global position error
Nguyen Lora localisation in cities with neural networks
JP2017049954A (en) Estimation device, estimation method and program
US20150087333A1 (en) Method for correcting position information
KR101447582B1 (en) Method for correcting position error
YoonSong et al. A real-time filtering method of positioning data with moving window mechanism
CN110245326B (en) Data estimation method, device, storage medium and apparatus based on neural network
KR20230158486A (en) Object detection for rotation sensors

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

Fee payment year number: 1

St.27 status event code: A-2-2-U10-U11-oth-PR1002

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Not in force date: 20171126

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

St.27 status event code: A-4-4-U10-U13-oth-PC1903

PC1903 Unpaid annual fee

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20171126

St.27 status event code: N-4-6-H10-H13-oth-PC1903

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000