मेरे पास एक प्रोजेक्ट है जहां मैं ऐसे डिवाइस का परीक्षण कर रहा हूं जो शोर (विद्युत चुम्बकीय, रेडियो, आदि ...) के प्रति बहुत संवेदनशील है। डिवाइस इनपुट (ऑडियो) के आधार पर द्विआधारी डेटा के प्रति सेकंड 5-6 बाइट उत्पन्न करता है (एक अनियंत्रित आंखों के लिए गंदे दिखता है)।डेटा मिलान करने के लिए एल्गोरिदम
शोर के आधार पर, कभी-कभी डिवाइस अक्षर याद करेगा, कभी-कभी यह यादृच्छिक वर्ण, कभी-कभी दोनों के गुणक डालेंगे।
मैंने एक ऐप लिखा है जो उपयोगकर्ता को उत्पन्न होने वाली त्रुटियों को उड़ाने की क्षमता देता है (मास्टर फ़ाइल की तुलना में [उदाहरण के लिए डिवाइस को आदर्श परिस्थितियों में क्या आउटपुट करना चाहिए])। मेरा एल्गोरिदम मूल रूप से लाइव डेटा में प्रत्येक बाइट लेता है और इसे ज्ञात मास्टर फ़ाइल में उसी स्थिति में बाइट से तुलना करता है। यदि बाइट्स मेल नहीं खाते हैं, तो मेरे पास वर्तमान स्थिति से दोनों तरीकों की एक विंडो है, जहां मैं पास के एक मैच की तलाश करूंगा। यदि वह मिलान करता है (प्लस एक सत्यापन या दो), तो मैं यूआई में स्थान को स्पष्ट रूप से चिह्नित करता हूं और एक त्रुटि पंजीकृत करता हूं।
यह दृष्टिकोण आने वाले डेटा की गति को देखते हुए, वास्तव में अच्छी तरह से काम करता है और वास्तव में वास्तविक समय भी काम करता है। हालांकि, मुझे लगता है कि मैं जो कर रहा हूं वह इष्टतम नहीं है और यदि डेटा उच्च दर पर स्ट्रीम करेगा तो दृष्टिकोण अलग हो जाएगा।
क्या कोई अन्य दृष्टिकोण मैं ले सकता हूं? क्या इस प्रकार की चीज़ के लिए एल्गोरिदम ज्ञात हैं?
मैंने कई साल पहले पढ़ा था कि अंतरिक्ष में जबरदस्त हस्तक्षेप के बावजूद नासा के डेटा संग्रह संगठन (जैसे अंतरिक्ष में और चंद्रमा/मंगल ग्रह पर शिल्प के साथ संवाद करने वाले लोगों के पास डेटा का 0.00001% नुकसान हुआ है।
कोई विचार?