5

मेरे पास डेटा इकाइयों को भेजने की एक अनुमानित स्थिति है, प्रत्येक हज़ार बाइट्स। विफलता दर दुर्लभ है लेकिन जब कोई त्रुटि होती है तो यह एक बिट त्रुटि होने की संभावना कम होती है और पंक्ति में कुछ बिट्स में त्रुटि होने की अधिक संभावना होती है।त्रुटि जांच क्षमता (सीआरसी, चेकसम, आदि)

पहले मैंने चेकसम का उपयोग करने के बारे में सोचा, लेकिन स्पष्ट रूप से कि एक बिट से बड़ी त्रुटियों को याद कर सकते हैं। एक समानता जांच या तो काम नहीं करेगी इसलिए सीआरसी सबसे अच्छा विकल्प हो सकता है।

एक हजार बाइट कुशल पर एक चक्रीय रिडंडेंसी जांच का उपयोग कर रहा है? या क्या ऐसे अन्य तरीके हैं जो बेहतर काम करेंगे?

उत्तर

7

साइक्लिक रिडंडेंसी चेक (सीआरसी) लोकप्रिय विशेष रूप से गारंटीकृत सटीकता के साथ कई बिट त्रुटियों का पता लगाने में उनकी दक्षता के कारण लोकप्रिय हैं।

सीआरसी बहुपदों को उत्पन्न करने के लिए विभिन्न डिज़ाइन हैं जहां व्यापार-बंद सटीकता बनाम कम्प्यूटेशनल जटिलता है। आपके मामले में, आप "सबसे तेज़" चुन सकते हैं जो सटीकता के लिए आपकी आवश्यकताओं को पूरा करता है।

आप Cyclic Redundancy Check पर इस विकिपीडिया लेख से शुरुआत करना चाहेंगे।

+0

धन्यवाद, मैं केवल दक्षता पर सलाह ढूंढ रहा था क्योंकि मुझे इसे कहीं भी नहीं मिला। –

1

सीआरसी का उपयोग करना सामान्य है। मुझे यकीन नहीं है कि आप 'दक्षता' से क्या मतलब रखते हैं, लेकिन मुझे लगता है कि कभी-कभी सीआरसी हार्डवेयर में लागू होता है (उदाहरण के लिए ईथरनेट कार्ड पर)। अन्यथा आपको 'अनुकूलित' कार्यान्वयन (लुकअप टेबल का उपयोग करके) मिल सकता है।

2

सीआरसी एक और सवाल यहाँ
When is CRC more appropriate to use than MD5/SHA1?
यह यादृच्छिक त्रुटियों का पता लगाने के लिए उपयुक्त और लागू करने के लिए आसान है में शामिल है।

1

आपके डिस्क सेक्टर कितने बड़े हैं? शायद कम से कम 512 बाइट्स। और सीआरसी हार्डवेयर-स्तर डिस्क ईसीसी के लिए एक समय-सम्मानित योजना है।

स्टॉक सीआरसी बहुपद एल्गोरिदम छोटी संख्या में बिट त्रुटियों के लिए काफी प्रभावी हैं। सटीक परिशुद्धता गणितीय रूप से गणना योग्य है। सीआरसी हार्डवेयर में भी बहुत प्रभावी है जहां अपेक्षाकृत छोटी संख्या में द्वार और शिफ्ट रजिस्ट्रार फ्लाई पर नौकरी का प्रबंधन कर सकते हैं।

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