Що таке FEC і як його використовувати?

Dec 28, 2021

Залишити повідомлення

Що таке FEC і як його використовувати?

У системах зв’язку, теорії інформації та теорії кодування пряма корекція помилок (FEC) — це метод, який використовується для контролю помилок при передачі даних по ненадійних або шумних каналах зв’язку. FEC завдячує своїм початком новаторській роботі Клода Шеннона в 1948 році щодо надійного зв'язку через шумні канали передачі. Центральна тема Шеннона полягала в тому, що якщо швидкість передачі сигналів системи нижча за ємність каналу, надійний зв'язок може бути досягнутий, якщо вибрати правильні методи кодування та декодування.

FEC-2

На малюнку 1 показана спрощена модель кодованої системи. Необроблені дані передачі представлені у вигляді послідовності повідомленьu. Кодер FEC перетворює повідомленняuв кодове словошляхом додавання зайвих даних перед входом у ненадійний або зашумлений канал. Додана надлишковість дозволяє декодеру приймача виявляти обмежену кількість помилок, які можуть виникнути в повідомленні, і часто виправляти ці помилки без повторної передачі з метою, щоб вихідна послідовність повідомленняuуспішно відновлюється на виході декодера.

 

Типи кодів FEC

Сьогодні широко використовуються два структурно різних типи кодів: блокові коди та згорткові коди. Кодер блокового коду розділяє інформаційну послідовністьuв блоки повідомленьkінформаційні біти (символи) кожен і перетворює кожне повідомленняuнезалежно в кодове слово,n-біт (символи)v. СпіввідношенняR = k/nназивається кодовою швидкістю. Надлишкові біти (символи),n-k, надають коду можливість боротьби з шумом каналу.

Важливим параметром блочного коду є мінімальна відстань,dхв, це відстань між двома найближчими кодовими словами, яка представляє мінімальну кількість змін даних, необхідних для зміни одного дійсного кодового слова в інше. Цей параметр визначає можливості коду щодо виявлення та виправлення помилок. Зазвичай код FEC здатний виявитиdхв-1 помилок на кодове слово і виправити до (dхв-1)/2 помилки на кодове слово. Наприклад, код Ріда Соломона, 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 показано двовимірний код продукту, утворений двома кодами C1(n1, k1) і C2(n2, k2) з мінімальною відстаннюdхв1іdхв2, відповідно. Кожен рядок коду товару C1 x C2є кодовим словом в C1і кожен стовпець є кодовим словом на C2. Код продукту здатний виправити будь-яку комбінацію (dхв1dхв2-1)/2 помилки.

FEC-3

На малюнку 3 показаний однорівневий конкатенований код із зовнішнім кодом C1(n1, k1) з мінімальною відстаннюdхв1і внутрішній код C2(n2, k2) з мінімальною відстаннюdхв2. Мінімальна відстань їх конкатенації не меншеdхв1dхв2.

FEC-4

На малюнку 4 показано передачу коду з чергуванням. Враховуючи (n,k) блочний код C, можна побудувати блочний код (λn, λk) шляхом перемежування, тобто просто розташувавши λ кодових слів у C у λ рядків прямокутного масиву, а потім передав стовпець масиву за допомогою колонка. Незважаючи на те, що мінімальна відстань коду з чергуванням залишаєтьсяdхвяк індивідуальний код C, він може розбити помилки довгого пакету на λ різних кодових слів.

figure4

Більш просунуті коди 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}} посиланнях. Він забезпечує системи Ethernet 200/400G з посиленням кодування до 7 дБ, одночасно додаючи штраф за затримку в сотні наносекунд (нс) як вартість. Коди FEC з високим коефіцієнтом посилення, такі як коди перевірки парності з низькою щільністю (LDPC) і коди продукту Turbo (TPC), зазвичай розглядаються для систем оптичної передачі на великі відстані з вартістю більшої затримки і складності кодування. Для додатків з низькою затримкою можна використовувати короткі прості блочні коди з помірним посиленням кодування та складністю.

FEC-5

Послати повідомлення