دادهها به صورت صفر و یک منتقل یا ذخیره میشوند. نویز الکترومغناطیسی، نوسان ولتاژ، خرابی سختافزار، تداخل امواج و اشعههای کیهانی میتوانند بیتها را تغییر دهند. اگر خطا تشخیص داده نشود، خروجی سیستم اشتباه میشود. به مکانیزمهای تشخیص و تصحیح خطا نیاز داریم. پایه بسیاری از روشهای تشخیص و تصحیح خطا مدارهای منطقی ساده هستند.
انواع خطا در سیستمهای دیجیتال
خطای تکبیتی: فقط یک بیت تغییر میکند، رایج و قابل مدیریت است
خطای چندبیتی: دو یا چند بیت همزمان تغییر میکنند، نیازمند الگوریتمهای پیچیده هستند
خطای انفجاری: خطا در یک بازه پشت سر هم رخ میدهد
روشهای تشخیص و تصحیح خطا
مدار XOR
بیت توازن (Parity Bit)
کد همینگ (Hamming Code)
جمع بررسی (Checksum)
بررسی افزونگی چرخهای (CRC)
مدار XOR و نقش آن
XOR یک گیت منطقی مهم برای تشخیص خطاست
اگر دو بیت یکسان باشند خروجی 0 و اگر متفاوت باشند خروجی 1 میشود
استفاده در تمام روشهای تشخیص خطا (Parity، Hamming)
مثال ساده: داده دریافتشده XOR میکنیم، اگر داده اصلی تغییر نکرده باشد خروجی برابر 0 باشد
بیت توازن (Parity Bit)
سادهترین روش تشخیص خطا
تعداد بیتهای 1 در داده شمرده میشود
بیت توازن اضافه میشود تا تعداد 1ها زوج شود
گیرنده دوباره تعداد 1ها را میشمارد، اگر زوج نبود یعنی خطا رخ داده است
محدودیت: فقط تشخیص میدهد، نمیتواند بیت تغییر یافته را مشخص کند
مثال عملی Parity
داده: 1011001 ← تعداد 1ها = 4 ← بیت توازن = 0
داده بعد از خطا: 1111001 ← تعداد 1ها = 5 ← خطا
گیرنده متوجه خطا میشود ولی نمیتواند تشخیص دهد کدام بیت تغییر یافته است
کد همینگ (Hamming Code)
معرفی شده توسط ریچارد همینگ در سال ۱۹۵۰
امکان تشخیص و تصحیح خطای تکبیتی را دارد
اضافه کردن بیتهای کنترل که گروه خاصی از بیتها را بررسی میکنند
سندرم (Syndrome) اطلاعاتی است که نشان میدهد بیت تغییر یافته کدام است
نحوه کار Hamming
بیتهای P1، P2، P4 هر کدام گروه خاصی از بیتها را کنترل میکنند
وقتی داده دریافت میشود، XOR گروهها بررسی میشود
اگر سندرم برابر صفر شود ← هیچ خطایی نیست
اگر غیر از صفر شود ← شماره بیت تغییر یافته را نشان میدهد
مثال عملی Hamming (7,4)
داده 4 بیتی: 1011
اضافه شدن 3 بیت کنترل ←7 بیت نهایی
اگر بیت شماره 5 خراب شود، سندرم عدد 5 را نشان میدهد
مدار فقط کافی است بین ۵ را معکوس کند و داده اصلاح میشود
کاربردهای واقعی
حافظههای RAM از نوع ECC ← تصحیح خودکار خطاهای تکبیتی
شبکههای کامپیوتری: پروتکلهای مانند Ethernet و Wi-Fi از Parity، Checksum و CRC استفاده میکنند
مخابرات و ماهواره: تشخیص خطاهای دقیق با روشهای مانند Reed Solomon
ذخیرهسازها (SSD, HDD): نیاز به الگوریتم تصحیح خطا برای ذخیرهسازی امن هستند
جمعبندی
خطا در سیستمهای دیجیتال طبیعی است. با طراحی هوشمندانه و اضافه کردن بیتهای اضافی، خطا تشخیص و اصلاح میشود. تمام فرآیندها با مدارهای منطقی ساده مثل XOR امکانپذیر است. این روشها در سیستمهای مختلف از حافظههای دیجیتال تا شبکههای ارتباطی کاربرد دارند و از دقت و قابل اعتماد بودن دادهها در سیستمهای دیجیتال تضمین میکنند.