2012-02-07 16 views
7

मैं एंड्रॉइड पर एक जीपीएस ट्रैकिंग (एक जॉगिंग ऐप के समान) लिखने की कोशिश कर रहा हूं और जीपीएस स्थान जिटर के मुद्दे ने इसे बदसूरत सिर दिया है। जब शुद्धता ठीक है और सटीकता 5 मीटर के भीतर है, तो स्थिति प्रति सेकंड 1-मीटर मीटर झटकेदार है। वैध आंदोलन से आप इस जिटर को कैसे निर्धारित या फ़िल्टर करते हैं?जीपीएस स्थिति जिटर हटाने के लिए एल्गोरिदम/सिद्धांत

स्पोरीपल आदि ऐप्स स्पष्ट रूप से इस शोर को फ़िल्टर करने के तरीके से स्पष्ट रूप से कुछ तरीके से हैं।

कोई विचार?

उत्तर

4

क्या आप केवल निम्न पास फ़िल्टर के माध्यम से पदों को चला सकते हैं? आदेश

x(n) = (1-K)*x(n-1) + K*S(n) 

जहां

एस अपने शोर नमूने और एक्स, लो-पास फ़िल्टर किए गए नमूनों है की

कुछ। के 0 और 1 के बीच स्थिर है जिसे आपको शायद सर्वश्रेष्ठ प्रदर्शन के लिए प्रयोग करना होगा।

प्रति टी के सुझाव:

मेरे स्यूडोकोड बहुत दिखेगा सी की तरह:

float noisy_lat[128], noisy_long[128]; 
    float smoothed_lat[128], smoothed_lon[128]; 
    float lat_delay=0., lon_delay=0.; 

    float smooth(float in[], float out[], int n, float K, float delay) 
    { 
     int i; 

     for (i=0; i<n; i++) { 
      *out = *in++ * K + delay * (1-K); 
      delay = *out++; 
     } 

     return delay; 
    } 

loop:  
    Get new samples of position in noisy_lat and noise_lon 

    // LPF the noise samples to produce smoother position data 

    lat_delay = smooth(noisy_lat, smoothed_lat, 128, K, lat_delay); 
    lon_delay = smooth(noisy_lon, smoothed_lon, 128, K, lon_delay); 

    // Rinse. Repeat. 
    go to loop: 

संक्षेप में, यह एक एक नमूना देरी के साथ एक बस एक प्रतिक्रिया एकीकरण है। यदि आपके इनपुट में वांछित सिग्नल के शीर्ष पर कम आवृत्ति सफेद-आश शोर है, तो यह इंटीग्रेटर समय के साथ इनपुट सिग्नल का औसत करेगा, इस प्रकार शोर घटकों को शून्य के करीब औसत होने का कारण बनता है, जिससे आपको वांछित सिग्नल मिल जाता है।

यह कितना अच्छा काम करता है इस पर निर्भर करेगा कि आपके सिग्नल में कितना शोर है और फ़िल्टर फीडबैक कारक के। जैसा कि मैंने पहले कहा था, आपको यह देखने के लिए मूल्य के साथ थोड़ा सा खेलना होगा कि कौन सा मूल्य सबसे साफ, सबसे अधिक उत्पादन करता है वांछनीय परिणाम।

+1

क्या आप छद्म कोड का उपयोग करके "उदाहरण के लिए" दे सकते हैं? मुझे लगता है कि ओपी के लिए यह बहुत स्पष्ट होगा। –

+0

विस्तृत उदाहरण के लिए धन्यवाद ... आज इसे हैश करने जा रहा है और देखें कि यह मदद करता है या नहीं। – corrumpu

+0

@corrumpu क्या यह काम करता है? – Yankee

संबंधित मुद्दे