Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Алгоритмы работы когерентных транспондеров транспортных систем связи. Монография

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
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.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]