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

FEC-5

Отправить запрос