Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Алгоритмы работы когерентных транспондеров транспортных систем связи. Монография
.pdf
71
Другой разновидностью простой реализации SD-FEC является
реализация LPDC-кода на базе когерентной схемы ASIC (рисунок 3.7).
Данный код позволяет обеспечить высокую производительность для 100
Гбит/с канала. Однако, у LPDC-кодов существует одна особенность – для
борьбы с ошибками в канале требуется очень длинное кодовое слово, что
ведет к усложнению схемы и высокой задержке при работе кода.
100GbEth/ OTU4
-----ADC/ DSP
125 Гбит/ с
O/E
125 Гбит/ с
O/E
20% SD-FEC
Нагрузка
20% LDPC
OTU4
фреймер
Когерентный
ASIC
Оптическая
часть
Рисунок 3.7 – SD-FEC внутри фрейма OTU4
Схемы, представленные выше, имеют недостаток в виде того, что между
фреймером и ASIC требуется высокая скорость обмена, в N+1 раз
превышающая канальную скорость (т.е. при скорости в канале 100 Гбит/с и
N=3 обмен между фреймером и оптической схемой должен составлять не
менее 500 Гбит/с).
Для оптимизации схемы существует гибридная схемы совместного
использования HD-FEC и LPDC-кода (рисунок 3.8). Такой подход позволяет
увеличить исправляющую способность системы [77, 78, 79].
Нагрузка
17% LDPC
3% HD-FEC
100GbEth/ OTU4
-----ADC/ DSP
125 Гбит/ с
O/E
125 Гбит/ с
O/E
3% HD-FEC
17% SD-FEC
OTU4
фреймер
Когерентный
ASIC
Оптическая
часть
Рисунок 3.8 – SD-FEC внутри фрейма OTU4
Наиболее популярная вариация гибридного использования алгоритмов
исправления ошибок представлена на рисунке 3.9. В этом случае более
производительный SD-FEC с относительно коротким кодовым словом
реализуется на ASIC. Главное назначение – работа с
3
10BER−
. Остаточные
ошибки попадают на фреймер, где работает более простой каскадный HD-
FEC (обычно используется стандартный RS-FEC G.709) [80, 81].

72
Нагрузка
13% LDPC
7%
конк атенированны й
HD-FEC
100GbEth/ OTU4
7% HD-FEC
ADC/ DSP
125 Гбит/ с
O/E
125 Гбит/ с
O/E
13% SD-FEC
OTU4
фреймер
Когерентный
ASIC
Оптическая
часть
Рисунок 3.9 – SD-FEC внутри фрейма OTU4
Для всех алгоритмов декодирования, применяемых в когерентных
системах связи со скоростью выше 100 Гбит/с, характерна итеративность,
которая вносить фиксированную задержку при обработке входящего потока
данных.
3.3. Прикладная реализация FEC
Анализ текущих коммерчески реализуемых кодов показывает высокую
популярность схем с мягким принятием решений SD-FEC. Такая
привлекательность среди крупных телекоммуникационных производителей
обоснована высоким энергетическим выигрышем, находящимся в пределах
10 -12 дБ при p=10
-15
. В таблице 3.2 приведены основные типы SD-FEC,
применяемые на сегодняшний день в коммерчески реализуемых
транспондерах.
Таблица 3.2 – Вендорная принадлежность SD-FEC
Вендор
Тип кода
Заявленная
избыточность
Huawei
QC-LDPC [82]
20%
Huawei
LDPC-CC [83]
20%
ClariPhy
RCP-QC-LDPC [84]
20%
Alcatel
NB-LDPC+RS [79]
20,5%
NEC
QC-LDPC+SPC [85]
20,5%
Mitsubishi
QC-LDPC+HD-FEC (ITU-T G.975.1 7%) [86]
20,5%
Как видно из таблицы, наиболее популярным является
модифицированные версии LPDC-кода. Общий тренд SD-FEC направлен на
использование низкоплотных кодов и их модифицированных версий, а также
уменьшения длины кодовых слов для упрощения аппаратной реализации
[87].

73
Хотя, как отмечают специалисты Infinera, в разработанном DSPпроцессоре ICE6 при использовании вероятностного распределения отсчетов
им удалось обеспечить высокую помехоустойчивость когерентного сигнала
при большой длине кодового слова – при этом результаты показывают, что
увеличение длины кодового слово не вносит заметное влияние на задержку
при декодировании сигнала.
Обзор существующих прикладных реализаций FEC мировых вендоров
DWDM-оборудования показывает, что повышение помехоустойчивости для
SD-FEC является сложной алгоритмической задачей, где существует
вариативность оптимизации архитектуры кодера.
3.4. Код с малой плотностью проверок на четность
В когерентных системах связи со скоростью передачи более 100 Гбит/с в
качестве SD-FEC используются коды с малой плотностью проверки
(семейство низкоплотных кодов) на четность (LDPC-код). Данные коды
также успешно применяются во многих стандартных связях, таких как 4G,
Wi-Fi, DBV-T2. Ввиду их высокой эффективности, данные коды были
успешно имплементированы и в блок ЦОС для когерентных систем связи.
Как было сказано выше, в оптических систем связи SD-FEC обычно
используется в связке с HD-FEC кодами (например, Рид-Соломон) [77, 79,
88].
LDPC-коды формируются с помощью графа Таннера, который является
двудольным графом. Его вершины условно делятся на два подмножества: n
символьных вершин, соответствующих столбцам, и r проверочных вершин,
соответствующих строкам проверочной матрицы.
3.4.1. Процедура кодирования LPDC
Код LDPC – это линейный блочный код, в котором кодирование
осуществляется простым перемножением информационного сообщения
(слова) K на порождающую матрицу G:
A K G=
, (3.3)
Отсюда следует, что и кодовая скорость будет также задаваться через
порождающую матрицу. Примеры увеличения показаны в выражениях (3.3) и
(3.4).

74
3
4
1 0 0 0
1 0 1 0 1 0 1 1 0 1 0
0 0 1 0
k
n
x K G
=
=
= = =
, (3.4)
3
5
1 0 0 0 1
1 0 1 0 1 0 1 0 1 0 1 0 1
0 0 1 0 0
k
n
x K G
=
=
= = =
, (3.5)
Порождающая матрица состоит из двух частей – это единичная матрица
I и матрица четности P:
G I P=
, (3.6)
При этом порождающая матрица напрямую связана с матрицей
проверки на четность, применяемой при декодировании сообщения. Данная
матрица имеет (N-K) строк и N столбцов:
( ) ( ) ( ) ( )
T
N K N N K K N K N K
H P I
− − − −
=
, (3.7)
При этом N будет соответствовать требуемой длине кодового слова, а K
соответствует длине сообщения. Физический смысл данной матрицы
заключается в том, что существуют узлы переменных и узлы проверки.
Связность этих узлов достаточно просто представить с помощью графа
Таннера. Допустим, есть проверочная матрица (3.7), тогда граф Таннера
будет иметь следующий вид, представленный на рисунке 3.10.
1 1 0 1 0 0 1 0 0 0
0 1 1 0 1 0 0 1 0 0
1 0 0 0 1 1 0 0 1 0
0 0 1 1 0 1 0 0 0 1
H
=
, (3.8)
Рисунок 3.10 – Граф Таннера

75
Суть данного графа в том, что количество столбцов K проверочной
матрицы соответствует узлам переменных, а число строк (N-K) – узлам
проверки. Элемент матрицы показывает, есть ли связность между узлами или
нет.
Наиболее распространенный алгоритм декодирования LDPC-кодов
основан на алгоритме итеративного распространения доверия [89]. Суть
метода состоит в обновлении сообщений от проверочных вершин графа
Таннера к кодовым вершинам и наоборот. Данный алгоритм завершается
после достижения заданного количества итераций и происходит оценка
канального символа. В случае использования в схеме гибридного кодера
результат декодирования попадает на жесткую систему вычисления
символов (RS-FEC, например).
Интерес в практической реализации для FGPA представляет
модифицированный алгоритм минимума суммы [76, 90]. Декодирование
низкоплотных кодов осуществляется в два этапа, которые реализуются с
помощью различных функциональных элементов. Количество и тип
элементов определяется структурой реализуемого декодера – от этого будет
зависеть его производительность.
Модуль, относящийся к первому типу элементов, позволяет производить
вычисление сообщений, идущих от символьных узлов к проверочным
(МСП). Этот модуль производит алгебраическое сложение входных значений
логарифмированного коэффициента правдоподобия каждого проверочного
узла с рассчитанным ранее WC –1 сообщением, приходящим от проверочного
узла к символьному узлу. Логарифмированный коэффициент правдоподобия
определяется следующим образом:
1lnp
LLR
p
−
=
, (3.9)
где p – вероятность некоторого события.
Быстродействие модулей будет напрямую зависеть от количества
разрядов входных и выходных значений. Кроме этого, на ресурсоемкость
модуля будет влиять последовательный (рисунок 3.11, а) или параллельный
(рисунок 3.11, б) метод передачи и хранения.

76
+
LLRi[Q-1..0]
q0[Q-1..0]
q1[Q-1..0]
qk[Q-1..0]
...
+
-
LLRi[Q-1..0]
qj[Q-1..0]
r[Q-1..0]
...
(a) (б)
Рисунок 3.11 – Вычисление сообщений
от кодовых узлов к проверочным узлам
Модуль, относящийся ко второму типу элементов, позволяет
производить вычисление сообщений, идущих от проверочных узлов к
символьным узлам (МПС). Этот модуль производит операцию поиска
минимального значения ранее рассчитанных WR –1 сообщений, приходящих
от символьных узлов к проверочным узлам.
Так же, как и в первом случае, быстродействие и ресурсоемкость модуля
зависит от метода приема и выдачи сообщений (рисунок 3.12).
<=
MUX
r0[Q-1..0]
...
r1[Q-1..0]
r1[Q-1..0]
<=
rk[Q-1..0]
qj[Q-1..0]
<=
<=
qj[Q-1..0]
<=
min2
ri[Q-1..0]
(a) (b)
Рисунок 3.12 – Вычисление сообщений
от кодовых узлов к проверочным узлам
При проектировании декодера НПК следует учитывать, что
быстродействие и ресурсоёмкость будет напрямую зависеть от метода
вычисления сообщений для первого и второго модулей, а также от
разрядности вычисляемых сообщений.

77
3.5. Лестничный код
Наиболее привлекательным для производителей транспондеров является
семейство лестничных кодов [91]. Основной идеей данных кодов является
объединение блочного кодирования с рекурсивным сверточным
(конволюционным) кодированием. Лестничные коды построены для
итерационного декодирования, при котором процесс декодирования
осуществляется поочередно для горизонтальной и вертикальной
составляющей. Каждый бит данного кода перекрестно проверяется двумя
компонентными кодами. Поэтому значения бит могут обновляться в
процессе итеративного декодирование компонентного кода. Для простоты
понимания, процесс декодирования лестничных кодов можно представлять
как передачу сообщений по графу Таннера, соединяющему узлы
перемеренных с узлами проверки.
Данные коды являются наиболее подходящими для обеспечения
помехозащищенности когерентных систем связи со скоростью более 100
Гбит/с.
3.5.1. Процедура кодирования
Визуально лестничный код можно представить на рисунке 3.13.
Полезная
нагрузка
FEC
478 бит
510 бит
512 бит
B
0
T
B
1
B
2
T
B
3
B
4
T
B
5
Кодовое слово в строке
БЧХ (1022, 990)
Кодовое слово в столбце
БЧХ (1022, 990)
B
0
B
1
B
2
B
3
B
4
Поток блочных данных
512 бит
510 бит
Рисунок 3.13 – Визуальное представление лестничного кодирования

78
Термин объясняется тем, что каждая строка (и каждый столбец)
«лестницы» является действительным кодовым словом С. Лестничные коды
характеризуются связью между последовательными матрицами символов. В
частности, рассмотрим бесконечную последовательность матриц
0 1 2
, , ....
i
В В В В
, где
iZ+
. Каждая из таких матриц является квадратной с размерностью m x
m.
Блок B0 инициализируется в эталонное состояние, которое известно паре
кодер – декодер, например, блок может быть инициализирован в состояние
«all-zeros», когда в матрице m x m все значения будут нулевыми. Кроме
этого, в качестве компонентного кода выбирается обычный FEC код (код
Хемминга, Рида-Соломона или БЧХ). Данный код обозначим как С, с длиной
блока из 2m символов, среди которых R-символов являются четными.
Кодирование осуществляется рекурсивно в блоке Bi. Для каждого i,
()m m r−
информационных символов размещаются в крайних
mr−
столбцах
Bi. Эта подматрица будет обозначаться как B
i,L
.
Подматрица B
i,R
, содержащая в себе r-правых крайних столбцов, будет
определяться следующим образом:
1. Формируется матрица
1,
T
i i L
A B B
−
=
размера
()m m r−
, где
матрица
1TiB−
является транспонированной матрицей
1iB−
.
2. После этого производится вычисление матрицы B
i,R
, таким образом,
чтобы каждая строка матрицы
1 , ,
T
i i L i R
B B B
−
являлась верным кодовым
словом для С. То есть элементы в j-ой строке матрицы B
i,R
являются R-
символами четности, которые получаются в результате кодирования
2mr−
информационными символами в j-ой строке матрицы А.
Как правило, связь между ближайшими блоками матриц удовлетворяет
следующему условию: для любого
1i
каждая строка матрицы
1,
T
i i L
BB
−
является верным кодовым словом для С.
Однако следует учесть, что лестничные коды не являются
детерминированными (т.е. размер их блока не определен), и поэтому
допускается в ряде случаев декодирование с различной задержкой.
Скорость лестничного кода определяется следующим образом:
1
s
r
Rm=−
, (3.10)

79
С точки зрения накопления задержки, вызванной процедурой
кодирования и маппинга данных внутри фрейма, лестничный код обладает
важным преимуществом по сравнению с другими кодами, так как
эффективная скорость (под данной скоростью понимается отношение
mr−
к
общему числу символов m) компонентного кодового слова равна скорости
самого кода.
Таким образом, кодирование с проверкой на четность будет идти с
регулярной скоростью, что позволяет разработать маппинг для фрейма, внося
минимальную задержку на передающей стороне.
Декодирование лестничных кодов производится с помощью
итеративного декодера, который обрабатывает сразу несколько полученных
блоков Bi. Основной принцип декодера базируется на методе скользящего
окна, когда вновь полученные блоки B
i+1
замещают существующие блоки в
буфере декодера.
Рассмотрим такое окно декодера, содержащее K-блоков. Тогда для
каждого блока
0,... 2iK−
будет формироваться матрица
T
i
B
размером
2kk
и декодироваться каждая строка матрицы. Итерация декодирования
заканчивается, когда достигается конец окна. Процесс повторяется до тех
пор, пока не будет достигнуто максимально определенное число итераций
или пока в окне не произойдет инверсия бита. После декодирования блока
0
B
происходит его удаление из окна, после чего в окно помещается
следующий блок
k
B
и процесс декодирования продолжается.
3.6. Конкатенированный FEC
Изначально помехоустойчивые FEC для транспортных систем связи
патентовались вендорами, от чего системы передач были исключительно
проприетарны и владелец таких сетей (оператор связи или эксплуатирующая
коммерческая организация) попадал в максимальную зависимость от
конкрентного вендора. Поэтому первым шагом устранения проблем с
совместимостью стала стандартизация HD-FEC для 100 Гбит/с. На текущий
момент с целью унификации съемных оптических модулей наблюдается
конкуренция между сFEC и oFEC (таблица 3.3).

80
Таблица 3.3 – Стандартизация FEC [92]
Канальная
скорость
Стандарт
OIF-
400ZR
IEEE802.3ct
OpenROADM
ITU-T
CableLabs
Дальность работы интерфейса
80 – 120
км
≤ 80 км
500 – 1000 км
1. ≤ 80 км
2. 200 – 450 км
≤ 80 км
100 Гбит/с
–
Лестничный
код
HD-FEC
Лестничный
код
HD-FEC*
Лестничный
код
HD-FEC*
Лестничный
код
HD-FEC
200 Гбит/с
–
–
oFEC
(FlexO-2-oFEC)
cFEc(1, 2)
(FlexO-2-DHS)
oFEC
300 Гбит/с
–
–
oFEC
(FlexO-3-oFEC)
–
–
400 Гбит/с
cFEC
cFEC
oFEC
(FlexO-4-oFEC)
1. cFEC
2. Выбирается
среди
cFEC+,
oFEC, TPC
–
* – ведется разработка
Конкатенирование FEC (сFEC) появились сравнительно недавно.
Основное назначение данных кодов заключается в очень узком применении
для интерфейса 400ZR со скоростью передачи 400 Гбит/с. Дальность
передачи таких систем связи ограничивается 120 км. Рекомендацией OIF
предусматривается передача как в составе DWDM-системе с оптическим
усилителем, так и на безусилительных участках.
Алгоритм коррекции ошибок для интерфейса 400ZR представляет собой
объединение внешнего HD-FEC (255, 239) с внутренним двойным кодом
Хемминга (128, 119). В результате такой комбинации в cFEC достигается
выигрыш порядка 10,8 дБ с избыточностью ≈14,8%.
3.6.1. Структура кодера cFEC
Внешний HD-FEC представляет собой обобщенный лестничный код,
работающим в связке с декоррелятором ошибок. Функция декоррелятора
заключается в рандомизации позиции символов, направленной на
уменьшение влияния коррелированных ошибок на производительность FEC.
На рисунке 3.14 представлена общая структура формирования
конкатенированного FEC.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
