پرش به محتوا

کد تصحیح خطا

از ویکی‌پدیا، دانشنامهٔ آزاد

در رایانش، مخابرات، نظریه اطلاعات و نظریه کدگذاری، تصحیح خطای پیشرو (FEC) یا کدگذاری کانال[۱]، تکنیکی برای کنترل خطاها در ارسال داده‌ها از طریق کانال‌های مخابراتی غیرقابل اعتماد یا پرنوفه می‌باشد.

ایده اصلی این است که فرستنده پیام را به صورت افزونه‌ای،[۲] اغلب با استفاده از کد تصحیح کننده خطا[۳] یا کد تصحیح خطا[۴] (ECR) کدگذاری می‌کند. این افزونگی[۵] به گیرنده این امکان را می‌دهد که نه تنها خطاهایی را که ممکن است در هر نقطه‌ای از پیام رخ دهد تشخیص دهد، بلکه اغلب تعداد محدودی از خطاها را نیز تصحیح کند؛ بنابراین ممکن است به کانال معکوس،[۶] برای ارسال مجدد نیازی نباشد. هزینه این روش افزایش و ثبات پهنای باند پیشرو[۷] می‌باشد.

ریاضیدان آمریکایی ریچارد همینگ[۸] این حوزه را در دهه ۱۹۴۰ پایه‌گذاری کرد و اولین کد تصحیح خطا[۹] را در سال ۱۹۵۰ به وجود آورد: کد همینگ(۷، ۴).

تحصیح خطای پیشرو (FEC)، می‌تواند در موقعیت‌هایی که ارسال مجدد هزینه بر یا ناممکن است، همانند لینک‌های ارتباطی یک طرفه یا درحین ارسال پیام به چند گیرنده به صورت چند بخشی،[۱۰] به کار گرفته شود. اتصالات با تأخیر طولانی نیز می‌توانند از این روش بهره ببرند؛ در مورد یک ماهواره که به دور مدار اورانوس در چرخش است، ارسال مجدد[۱۱] به دلیل خطا، می‌تواند تأخیری به مدت ۵ ساعت ایجاد کند. FEC به‌طور گسترده در مودم‌ها و شبکه‌های سلولی نیز استفاده می‌شود.

پردازش FEC در یک گیرنده ممکن است به یک جریان بیت دیجیتالی[۱۲] یا دمدوله سازی[۱۳] یک حامل دیجیتالی[۱۴] مدوله شده[۱۵] اعمال شود. در مورد بخش دوم، FEC یک بخش جدایی ناپذیر از مبدل آنالوگ به دیجیتال[۱۶] اولیه در گیرنده‌ها می‌باشد. رمزگشای ویتربی[۱۷] یک الگوریتم انتخابی نرم[۱۸] را برای وامدوله‌سازی[۱۹] داده‌های دیجیتال از یک سیگنال آنالوگ آلوده به نویز[۲۰] پیاده‌سازی می‌کند. بسیاری از رمزگشاهای[۲۱] FEC قادرند یک سیگنال نرخ خطای بیت[۲۲] را تولید کند که می‌تواند به عنوان یک بازخورد برای تنظیم الکترونیک دریافت آنالوگ استفاده شود.

اطلاعات FEC به دستگاه‌های ذخیره‌سازی انبوه (مغناطیسی، نوری، حالت جامد/ فلش) اضافه می‌شود تا امکان بازیابی داده‌های آلوده را فراهم کند، و همچنین به عنوان حافظه رایانه‌ای ئی‌سی‌سی در سامانه‌هایی که به شرایط ویژه‌ای برای اعتبار و اطمینان نیاز دارند استفاده می‌شوند.

حداکثر مقدار خطاها یا بیت‌های گمشدهای که می‌تواند تصحیح شود بر اساس طراحی ECC تعیین می‌شود، بنابراین کدهای FEC مختلف برای شرایط متفاوتی مناسب می‌باشند. به‌طور کلی، یک کد قوی تر افزونگی[۲۳] بیشتر را ایجاد می‌کند که نیاز دارد توسط پهنای موجود منتقل شود و این کار نرخ بیت[۲۴] مؤثر را کاهش و در عین حال نسبت سیگنال به نویز[۲۵] مؤثر دریافت شده را افزایش می‌دهد. نظریه کدگذاری کانال پُرنوفه کلود شانون[۲۶] در محاسبه حداکثر مقدار پهنای باند ارتباطی قابل دستیابی برای یک خطای احتمالی قابل قبول حداکثری استفاده می‌شود. این قضیه یک محدودیت بر حداکثر نرخ انتقال اطلاعات تئوری یک کانال همراه با سطحی از نوفه پایهٔ مشخص را به وجود می‌آورد. هرچند، اثبات آن مفید نیست و به این دلیل هیچ بینشی در مورد چگونگی ساخت یک کد درحال دستیابی به ظرفیت[۲۷] ارائه نمی‌دهد. بعد از سال‌ها تحقیق و پژوهش، برخی از سیستم‌های FEC پیشرفته همانند کد قطبی[۲۸] به حداکثر نظری که در ظرفیت کانال شانون تحت عنوان قاب با طول بینهایت[۲۹] مطرح شده، نزدیک شده‌اند.

جستارهای وابسته

[ویرایش]

منابع

[ویرایش]
  1. به انگلیسی: channel coding
  2. به انگلیسی: redundant
  3. به انگلیسی: error-correcting code
  4. به انگلیسی: error-correction code
  5. به انگلیسی: redundancy
  6. به انگلیسی: reverse channel
  7. به انگلیسی: forward channel bandwidth
  8. به انگلیسی: Richard Hamming
  9. به انگلیسی: error-correcting code
  10. به انگلیسی: multicast
  11. به انگلیسی: retransmission
  12. به انگلیسی: digital bit stream
  13. به انگلیسی: demodulation
  14. به انگلیسی: digital carrier
  15. به انگلیسی: modulated
  16. به انگلیسی: analog-to-digital conversion
  17. به انگلیسی: Viterbi decoder
  18. به انگلیسی: soft decision algorithm
  19. به انگلیسی: demodulate
  20. به انگلیسی: noise
  21. به انگلیسی: decoder
  22. به انگلیسی: bit-error-rate
  23. به انگلیسی: redundancy
  24. به انگلیسی: bit-rate
  25. به انگلیسی: signal-to-noise
  26. به انگلیسی: The noisy-channel coding theorem of Claude Shannon
  27. به انگلیسی: capacity achieving code
  28. به انگلیسی: polar code
  29. به انگلیسی: infinite length frame