Что за чудо этот FEC?

Прямая коррекция ошибок (FEC – Forward Error Correction) — это метод цифровой обработки сигналов, используемый для повышения надежности данных. Это делается путем введения избыточных данных, называемых кодом с исправлением ошибок, перед передачей или хранением данных. FEC предоставляет приемнику возможность исправления ошибок без обратного канала для запроса повторной передачи данных. Как мы знаем, иногда оптические сигналы могут ухудшаться из-за некоторых факторов во время передачи, что может привести к неправильной оценке на стороне приемника, возможно, принятию сигнала «1» за сигнал «0» или сигнала «0» за сигнал «1». Если количество ошибок при передаче находится в пределах корректирующей способности (прерывистые ошибки), канальный декодер обнаружит и исправит ложные “0” или “1” для улучшения качества сигнала.

Обязательны для понимания работы FEC следующие принципы. FEC может работать только при его поддержке сетевым оборудованием на обоих сторонах канала, более того, тип FEC также должен быть одинаковым. При всем этом FEC, помимо своего положительного вклада в передачу сигнала, вносит дополнительные задержки за счет того, что сетевому оборудованию необходимо время на проверку избыточного кода и восстановление сигнала, да и сам факт добавления избыточного кода в передаваемый фрейм понижает скорость передачи «полезной» информации.

По мере развития технологий и скоростей передачи информации по ВОЛС производители начали внедрять значительно более мощные и усовершенствованные алгоритмы прямой коррекции ошибок (FEC) в когерентные DSP и транспондеры, по сравнению с теми, что использовались в интерфейсах 10GE и 40GE. Современные транспондеры 200-800G работают настолько близко к теоретическому пределу Шеннона, что даже небольшое улучшение – от нескольких десятых до половины дБ – является значительным достижением. В то же время современные алгоритмы FEC обеспечивают значительный прирост производительности – на 10-12 дБ, что, безусловно, повышает производительность оптических сетей.

Шумы, нелинейные и временные искажения и прочие помехи в системах связи вызывают ошибки в битах приема, как показано на рисунке 1. Алгоритмы FEC работают путем кодирования дополнительных битов FEC или четности на стороне передачи (Tx), которые используются на стороне приема (Rx) для нахождения и исправления входящих битовых ошибок.

Рисунок 1. Прямое исправление ошибок

До недавнего времени каждый производитель реализовывал свои собственные проприетарные алгоритмы FEC, однако почти все отраслевые FEC работают с использованием небольшого числа базовых кодов. В результате этого прирост производительности FEC в отрасли очень похож, особенно при сравнении производительности FEC для одного и того же поколения когерентных DSP (digidat signaling processor). С введением стандартных интерфейсов 400ZR, OpenZR+ и Open ROADM отрасль постепенно начала переходить к общим алгоритмам FEC, чтобы обеспечить полную совместимость с разными поставщиками, по крайней мере, между согласованными стандартами подключаемых модулей.

Понимание производительности FEC

FEC оценивается по трем ключевым показателям производительности: чистый выигрыш от кодирования, коэффициент избыточности и порог BER до FEC.

  1. Чистый выигрыш от кодирования (NCG) – это улучшенный показатель соотношения оптического сигнала к шуму (OSNR), полученный за счет кодированного FEC-сигнала (по сравнению с некодированной длиной волны). Современные высокопроизводительные алгоритмы FEC обычно показывают хорошую производительность, обеспечивая NCG от 10 до 12 дБ.
  2. Скорость служебных данных или коэффициент избыточности – это отношение битов FEC к битам информации (данных). До определенного практического предела, чем больше служебных битов выделяется для обработки FEC, тем выше NCG общая производительность сети. Самые последние высокопроизводительные FEC разработаны с использованием 15-25% от полосы пропускания передаваемого кадра.
  3. Пороговое значение BER до FEC – это показатель входящих битовых ошибок (т.е. пороговое значение BER, при котором алгоритм FEC все еще работает должным образом и обеспечивает практически безошибочную связь после декодирования FEC на принимающей стороне (т.е. после FEC BER). Системы связи никогда не работают идеально, поэтому пороговое значение до FEC указывается с очень низкой частотой ошибок по битам после FEC, обычно 10-15 BER. Преимущество современных FEC состоит в том, что они берут искаженные входящие сигналы, исправляют и преобразуют их в практически безошибочные выходные сигналы.

GFEC

Код Рида-Соломона (255, 239), широко известный как «GFEC», считается одним из первых алгоритмов оптического FEC. Он был принят как часть спецификаций ITU G.709 и включен в стандартную структуру кадра OTN. В результате стандартизации G.709 OTN, GFEC широко используется для оптических интерфейсов 10G.

GFEC кодирует 16 байтов данных FEC для каждых 239 байтов данных. GFEC использует примерно 6% от суммарной утилизации канала для битов FEC и обеспечивает NCG 6,2 дБ (Рис. 2). По современным стандартам мощность GFEC считается низкой или умеренной. Он хорошо работал для сигналов 10G, с введением оптики 100G+ возникла потребность в более мощных и высокопроизводительных FEC.

Рисунок 2. Чистый выигрыш от кодирования GFEC

Отраслевые типы FEC

В основе современных FEC, как правило, лежит один из трех базовых типов кода FEC (Табл.1):

  1. Объединенные FEC
  2. Блочные турбокоды (Block turbo codes)
  3. Коды LDPC

Таблица 1. Распространенные отраслевые типы FEC 

Каскадные FEC (или CFEC) объединяют внутренний и внешний коды FEC, показывая лучшую производительность по сравнению с исходным CFEC.

CFEC, включающий в себя внешний код FEC лестницы аппаратного решения (SC-FEC) и внутренний код Хэмминга (SD-FEC) программного решения, был принят в виде части Соглашения о реализации OIF 400ZR (для когерентных модулей 400ZR). CFEC использует примерно 15% служебных данных и обеспечивает NCG ~10,8 дБ. Помимо 400ZR, CFEC также использовался в оптике 100G первого поколения.

Алгоритм блочного турбокода FEC, обеспечивающий немного более высокую производительность, был принят соглашениями OpenZR+ и Open ROADM. Эту итерацию еще называют «oFEC» (от «Open FEC»), который поддерживает NCG приблизительно на уровне ~11 дБ.

Для достижения более высокой эффективности производители полагаются на проприетарные реализации FEC, основанные на кодах проверки четности с низкой плотностью (LDPC). Базовая математика для кодов LDPC разработана еще в 1960-х годах, но только в 90-х были пересмотрены алгоритмы для использования в современных системах связи. Коммерческое применение коды LPDC получили в 2015 году, – их стали использовать в оптических транспондерах. Как правило, коды FEC на основе LPDC обеспечивают NCG от 11,5 до 12 дБ.

Программное декодирование

Программное декодирование («Программное» решение) является еще одним методом FEC для улучшения производительности NCG. Традиционные системы связи FEC с аппаратным решением сравнивают входящий бит с фиксированным пороговым уровнем. Значение, превышающее установленный порог, определяется как бит «1», а все, что ниже – бит «0». Программное декодирование обеспечивает более точную детальную индикацию, показывая, что представляет собой входящий сигнал – бит «1» или «0». Программные декодеры используют дополнительные биты или биты «достоверности», чтобы указать, насколько выше или ниже полученный бит порогового значения. Из-за вероятностного характера систем связи биты, которые иногда находятся очень близко к порогу (чуть выше или ниже), могут быть неверно определены и истолкованы. Программные декодеры, особенно в сочетании с итеративным декодированием, обеспечивают точный прием тех предельных битов, которые находятся очень близко к пороговому значению, как показано на рисунке 3.

Рис 3. Программный FEC с итеративным декодированием

Как упоминалось выше, программное декодирование FEC обычно сочетается с «итеративным декодированием», при котором полученный сигнал проходит через несколько этапов декодирования SD-FEC в когерентном DSP. Каждый проход через этап декодера FEC постепенно обеспечивает небольшие улучшения производительности, опять же до практического предела. Почти все преимущества NCG достигаются за счет использования трехэтапного итеративного декодирования. В добавлении дополнительных этапов или проходов очень мало пользы.

Недостатком итеративного декодирования FEC является сложность и высокое энергопотребление DSP, из-за чего оно обычно ограничивается одним этапом в небольших сменных модулях, например, в модулях QSFP-DD.

Мощность современного FEC

Современные коды FEC обеспечивают прирост производительности на 10-12 дБ, что, безусловно, влияет на работу транспондеров и оптических сетей. Современные коды FEC настолько мощные, что работают с точностью до долей децибела от их теоретической производительности кодирования.

Производители традиционно внедряли проприетарные FEC и продолжают основывать свои высокопроизводительные транспондеры на проприетарных алгоритмах FEC на основе LPDC. Недавно индустрия оптических сетей перешла на использование обычных FEC для когерентной подключаемой оптики, включая CFEC, применяемый в оптике 400ZR, и oFEC, используемый в оптике, совместимой с OpensZR+/Open ROADM. В сочетании программного решения с итеративным декодированием каждый из этих современных FEC обеспечивает значительный прирост производительности и является базовой технологией, которая позволяет использовать когерентную оптику 400G+ в разных сетях – от городских до дальнемагистральных, в том числе подводных.

Дата публикации: октябрь 2022

 

Заявка на звонок

В форме есть ошибки

Мы перезвоним Вам с 9:00 до 18:00 по Москве