FEC چیست و چگونه از آن استفاده کنم؟
در سیستمهای ارتباطی، تئوری اطلاعات و نظریه کدگذاری، تصحیح خطای پیشرو (FEC) تکنیکی است که برای کنترل خطاها در انتقال دادهها از طریق کانالهای ارتباطی غیرقابل اعتماد یا پر سر و صدا استفاده میشود. FEC شروع خود را مدیون کار پیشگام کلود شانون در سال 1948 در زمینه ارتباطات قابل اعتماد از طریق کانال های انتقال پر سر و صدا است. موضوع اصلی شانون این بود که اگر نرخ سیگنال دهی سیستم کمتر از ظرفیت کانال باشد، در صورت انتخاب تکنیک های رمزگذاری و رمزگشایی مناسب می توان به ارتباط قابل اعتمادی دست یافت.

شکل 1 یک مدل ساده شده از یک سیستم کدگذاری شده را نشان می دهد. داده های انتقال خام به عنوان یک دنباله پیام نمایش داده می شودu. رمزگذار FEC پیام را تبدیل می کندuبه یک کلمه رمزv با اضافه کردن داده های اضافی، قبل از ورود به کانال غیر قابل اعتماد یا پر سر و صدا. افزونگی اضافه شده به رمزگشای گیرنده اجازه می دهد تا تعداد محدودی از خطاهایی که ممکن است در پیام رخ دهد را شناسایی کند و اغلب این خطاها را بدون ارسال مجدد تصحیح کند، با این هدف که دنباله پیام اصلیuبا موفقیت در خروجی رمزگشا بازیابی می شود.
انواع کدهای FEC
امروزه دو نوع از کدهای ساختاری متفاوت استفاده می شود: کدهای بلوکی و کدهای کانولوشن. رمزگذار برای کد بلوک، توالی اطلاعات را تقسیم می کندuبه بلوک های پیام ازkبیت های اطلاعاتی (نمادها) هر کدام و تبدیل هر پیامuبه طور مستقل به یک کلمه رمز،nبیت (نمادها)v. نسبتR = k/nنرخ کد نامیده می شود. بیت های اضافی (نمادها)،n-kکد را با قابلیت مقابله با نویز کانال ارائه کنید.
یک پارامتر مهم کد بلوک حداقل فاصله است،dدقیقه، این فاصله بین دو کلمه رمز نزدیک است که نشان دهنده حداقل تعداد تغییرات داده مورد نیاز برای تغییر یک کلمه رمز معتبر به دیگری است. این پارامتر قابلیت تشخیص خطا و تصحیح یک کد را تعیین می کند. به طور معمول یک کد FEC قادر به تشخیص استdدقیقه-1 خطا در هر کلمه رمز و تصحیح تا (dدقیقه-1)/2 خطا در هر کلمه رمز. به عنوان مثال، کد Reed Solomon، RS (544، 514،t=15, m=10)، یک کد بلوکی با 514 نماد اطلاعاتی و 30 نماد اضافی است. هر نماد دارای 10 بیت است. حداقل فاصله آن استdدقیقه=31 به گونه ای که بتواند تا (dدقیقه-1)/2=15 خطای نماد در هر کلمه رمز.
رمزگذار برای یک کد کانولوشن نیز می پذیرد kبلوک های بیتی از توالی اطلاعاتuو یک دنباله کدگذاری شده تولید می کندvازnبلوک های نماد با این حال، هر بلوک رمزگذاری شده نه تنها به مربوطه بستگی داردkبلوک پیام بیت در همان زمان واحد بلکه روشن استmبلوک های پیام قبلی علاوه بر بیت های اضافی،n-k، با افزایش ترتیب حافظه، افزونگی بیشتری اضافه می شودmاز کد برای دستیابی به انتقال قابل اعتماد از طریق یک کانال پر سر و صدا.
بر اساس تئوری شانون [1]، هر چه کلمه رمز طولانی تر باشد، قابلیت تصحیح خطا قوی تر است. با این حال، پیچیدگی کدگذاری با طول کلمه رمز نیز افزایش مییابد. برای دستیابی به مبادله بهتر بین پیچیدگی و عملکرد کدگذاری، چند تکنیک برای ساخت کدهای قوی طولانی از کدهای اجزای کوتاه، مانند کدهای محصول، کدهای الحاقی و کدهای در هم آمیخته وجود دارد.
شکل 2 یک کد محصول دو بعدی را نشان می دهد که توسط دو کد C تشکیل شده است1(n1، k1) و C2(n2، k2) با حداقل فاصلهdدقیقه 1وdmin2، به ترتیب. هر ردیف از کد محصول C1 x C2یک کلمه رمز در C است1و هر ستون یک کلمه رمز در C است2. کد محصول قادر به تصحیح هر ترکیبی از (dدقیقه 1dmin2-1)/2 خطا.

شکل 3 یک کد پیوسته یک سطحی را با یک کد خارجی C نشان می دهد1(n1, k1) با حداقل فاصلهdدقیقه 1و یک کد داخلی C2(n2، k2) با حداقل فاصلهdmin2. حداقل فاصله الحاق آنها حداقل استdدقیقه 1dmin2.

شکل 4 انتقال یک کد به هم پیوسته را نشان می دهد. با در نظر گرفتن یک کد بلوک (n,k) C، می توان یک کد بلوک (λn, λk) را با درهم کردن ایجاد کرد، که به سادگی با مرتب کردن λ کد کلمه در C در ردیف های λ یک آرایه مستطیلی و سپس ارسال ستون آرایه توسط ستون حتی با وجود اینکه حداقل فاصله کدهای میانبر شده هنوز استdدقیقهبه عنوان کد جداگانه C، می تواند خطاهای طولانی مدت را به λ رمزهای مختلف تقسیم کند.

کدهای پیشرفته FEC مانند کدهای توربو و کدهای بررسی برابری با چگالی کم (LDPC) توسط دانشگاهیان ابداع شده و توسط صنعت در چند دهه گذشته برای نزدیک شدن به حد شانون (یا ظرفیت کانال) مورد استفاده قرار گرفته است. با این حال، عملکرد عالی آنها معمولاً با پیچیدگی و تأخیر زیاد رمزگذاری/رمزگشایی پرداخت می شود.
هنگام انتخاب یک کد FEC و طرح کدگذاری مناسب برای یک سیستم ارتباطی خاص، چهار عامل حیاتی باید در نظر گرفته شود. برای حفظ توان عملیاتی بالا یا جلوگیری از افزایش قابل توجه نرخ لینکنرخ کدباید بالا باشد برای جبران از دست رفتن کانال یا نسبت سیگنال به نویز (SNR) یا نرخ خطای بیت (BER) در برشدهندههای تصمیم در گیرنده، نیاز به آرامش است.سود کدنویسیمطلوب است. با این حال معایب FEC هستندتأخیر کدنویسیوپیچیدگی کدنویسیکه زمان انتقال و قدرت/هزینه سیستم را افزایش می دهد.
برنامه های کاربردی FEC برای سیستم های پیوند سریال
چشم انداز فناوری FEC برای سیستم های ارتباطی خط سیمی در شکل 5 نشان داده شده است و شامل پیوندهای الکتریکی و نوری است. برای پیوندهای الکتریکی، صنعت اخیراً بهروزرسانیهای فرمت سیگنالینگ را از فرمت سیگنالینگ دو سطحی (NRZ) به فرمت سیگنالدهی چهار سطحی (PAM4) در طول انتقال از 25 گیگابیت بر ثانیه به 50 گیگابیت بر ثانیه در نرخهای پیوند پیوند داده است.
یکی از چالشهای اصلی طراحی PAM4 SerDes، جریمه تشخیص PAM4 بر روی NRZ، حدود 9.54 دسیبل یا حتی بزرگتر در صورت در نظر گرفتن تخریب حاشیه افقی به دلیل عبور سیگنال چند سطحی است. بنابراین، FEC به بخش مهمی از راه حل سیستم PAM4 برای جبران این جریمه تشخیص تبدیل می شود. RS (544، 514، 15) FEC، همچنین به عنوان KP4 FEC شناخته می شود، به طور گسترده در پیوندهای PAM{10}} استفاده شده است. این سیستمهای اترنت 200/400G را با بهره کدگذاری تا 7dB ارائه میکند، در حالی که جریمه تاخیر صدها نانوثانیه (ns) را به عنوان هزینه اضافه میکند. کدهای FEC با بهره بالا مانند کدهای بررسی برابری چگالی کم (LDPC) و کدهای محصول توربو (TPC) معمولاً برای سیستمهای انتقال نوری در فواصل طولانی با هزینه تأخیر و پیچیدگی بیشتر کدگذاری در نظر گرفته میشوند. برای برنامههای با تأخیر کم، میتوان از کدهای بلوک ساده کوتاه با افزایش کدگذاری و پیچیدگی متوسط استفاده کرد.















































