رفتن به محتوای اصلی
بازگشت به وبلاگ

داده و اتصال فنی

همینگ SECDED؛ تک‌خطا را اصلاح و دوخطا را فقط تشخیص دهیم

همینگِ توسعه‌یافتهٔ۸،۴ را اجرا کنید؛۱۲۸تک‌خطا،۴۴۸دوخطا وoracleِ۲۵۶دریافت،همراهِ ضدنمونهٔ سه‌خطایی مرزِ تضمین را نشان می‌دهند.

کدِ extended Hamming می‌تواند در قراردادِ حداکثر دو خطایِ بیتی، تک‌خطا را اصلاح و دوخطا را آشکار کند. تشخیصِ دوخطا به معنیِ داشتنِ دادهٔ اصلاح‌شده نیست. این تمرین برای تمامِ پیام‌هایِ چهار‌بیتی، خطاها را عمداً تزریق می‌کند و مرزِ تضمین را با یک ضدنمونهٔ سه‌خطایی نشان می‌دهد.

چهار بیتِ داده، هشت جایگاه

شماره‌گذاریِ این فایل از یک است. داده‌ها در جایگاه‌هایِ ۳،۵،۶ و۷،بیت‌هایِ parityِ همینگ در۱،۲ و۴ وparityِ کل در۸ قرار دارند. جمعِ بیت‌ها برای کنترل، پیمانهٔ دو است؛ این چیدمان را باید همراهِ کد نگه داشت.

parityِ شمارهٔ۱، جایگاه‌هایی را می‌پوشاند که بیتِ یکانِ اندیسشان روشن است؛ parityِ ۲ و۴ هم با بیتِ متناظرِ اندیس کار می‌کنند. بیتِ ۸ طوری ساخته می‌شود که جمعِ کلِ هشت بیت زوج باشد. تمامِ ۱۶پیامِ چهار‌بیتی واقعاً کد می‌شوند و بدونِ خطا دوباره همان داده را می‌دهند.

دو مشاهده برای تصمیمِ گیرنده

گیرنده سه کنترلِ داخلی را دوباره می‌گیرد و از آن‌ها syndromeِ صفر تا۷ می‌سازد. جداگانه parityِ کلِ هشت بیت را نیز حساب می‌کند. فقط دیدنِ syndrome کافی نیست؛ این دو مشاهده با هم در قراردادِ خطا معنا دارند.

syndromeparityِ کلرفتار تحتِ فرضِ حداکثر دو خطا
صفرزوجخطایی دیده نشد
غیرصفرفرداصلاحِ جایگاهِ syndrome
صفرفرداصلاحِ parityِ کل در۸
غیرصفرزوجدوخطا؛ داده قابلِ اتکا نیست

در حالتِ آخر، کد data=null برمی‌گرداند؛ بیت‌هایِ ظاهراً موجود را پاسخِ اصلاح‌شده معرفی نمی‌کند.

۱۲۸تک‌خطا و۴۴۸دوخطا

برای هر۱۶پیام، هر یک از هشت جایگاه را یک بار برمی‌گردانیم؛۱۲۸اجرایِ تک‌خطایی داریم. decoder هم جایگاهِ اصلاح را درست گزارش می‌کند و هم چهار بیتِ اصلی را بازمی‌سازد. خطایِ یکی از parityهایِ داخلی،بیتِ داده وparityِ کل در۸ جدا در دفتر مشخص‌اند.

سپس برای هر پیام، هر جفتِ متمایز از هشت جایگاه را برمی‌گردانیم؛۱۶ضربدر۲۸، یعنی۴۴۸اجرا. همه با double_detected وdataِ نامعتبر گزارش می‌شوند. این شمارش، نرخِ خطایِ یک کانالِ واقعی یا درصدِ قابلیتِ اطمینانِ سخت‌افزار نیست.

oracle از فاصلهٔ دفترِ کد می‌آید

برای کنترلِ مستقل، تمامِ ۲۵۶رشتهٔ هشت‌بیتیِ دریافتی را می‌گیریم. فاصلهٔ همینگِ هر رشته تا تمامِ ۱۶کلمهٔ معتبر با شمارشِ مستقیمِ بیت‌هایِ متفاوت محاسبه می‌شود؛ این مسیر syndrome یا دستورِ اصلاح را استفاده نمی‌کند.

۱۶رشته فاصلهٔ صفر،۱۲۸رشته نزدیک‌ترینِ یکتایِ فاصلهٔ یک و۱۱۲رشته کمترینِ فاصلهٔ دو دارند. در دو حالتِ اول، دادهٔ decoder با کلمهٔ نزدیک برابر است؛ در حالتِ سوم، خروجیِ داده ندارد. تعدادِ ۱۱۲رشتهٔ متمایز را با۴۴۸تزریقِ پیام‌به‌پیام اشتباه نگیرید؛ یک دریافت می‌تواند از چند پیام با دو خطا حاصل شود.

سه خطا می‌تواند درست طبقه‌بندی نشود

پیامِ همه‌صفر را کد و بیت‌هایِ ۱،۲ و۳ را خراب می‌کنیم. syndrome صفر وparityِ کل فرد می‌شود؛ decoder آن را خطایِ بیتِ ۸ می‌نامد، ولی دادهٔ حاصل با اصل فرق دارد. این ضدنمونه واقعاً اجرا شده و صریحاً بیرونِ تضمینِ حداکثر دو خطاست.

طولِ اشتباه،بولین،بیتِ غیر۰یا۱ و ورودیِ غیرلیست در چهار آزمون رد می‌شوند. منبعِ Open Logic،parityِ کل را در جایگاهِ صفر دارد؛ قراردادِ ما آن را در۸ می‌گذارد و اجرایِ VHDLِ همان پروژه نیست. parity نه امضایِ هویت است و نه محرمانگی.

هافمن دربارهٔ کدگذاریِ فشرده است و اثباتِ مرکل دربارهٔ inclusion در ریشهٔ موردِ اعتماد؛ هیچ‌کدام این مدلِ اصلاحِ بیت نیستند. ادامه در مبانی هوش مصنوعی؛ این کد،کدکِ صوت یا سازوکارِ تأییدشدهٔ اپرا نیست.

فایل تمرین و منبع

کد مستقلِ تمرین و کنترل‌ها؛ Python · تمامِ ورودی‌ها و نتیجهٔ اجرای واقعیِ تمرین؛ JSON

منابع در 2026-11-04 خوانده شدند؛ این تاریخ، تاریخ انتشار منبع نیست. مثال‌ها و فایل‌های این راهنما آموزشی و ساختهٔ تحریریه‌اند.

برای این نیاز، کدام خدمت مناسب‌تر است؟

تماس و منشی، چت سایت و تحلیل مکالمه سه مسیر متفاوت‌اند. ابتدا خدمت متناسب نیازتان را انتخاب کنید.

انتخاب میان سه خدمتراهنمای شروع با تیم اپرا

برآورد هزینه