Анализ производительности кода 1.2LT для применения в дальнем космосе
Из приведенного выше анализа видно, что LT-код имеет простой метод кодирования и декодирования и небольшие накладные расходы на декодирование. Когда количество пакетов данных достигает более 10°, для обеспечения высокой успешности декодирования требуется только 5% избыточной информации. Скорость. Однако при связи в глубоком космосе время длится долго, коэффициент битовых ошибок высок, а большая длина кода увеличивает задержку кодирования и декодирования и требует большего пространства для хранения. Поэтому короткий код и длинный LT-код имеют больше перспектив применения в дальней космической связи. Но для коротких кодов и длинных LT-кодов требуется, по крайней мере, 50% избыточности кодирования для достижения глубокого
Коэффициент отказов декодирования, необходимый для связи "воздух-воздух", составляет 10~*. Увеличение избыточности кодирования приведет к потреблению дополнительной мощности передачи, что ограничивает его развитие в дальней космической связи.
Метод случайного выбора пакетов данных в LT-коде требует большей степени для обеспечения успешности декодирования, что увеличивает сложность кодирования и декодирования. В то же время алгоритм BP, используемый для декодирования LT-кода, на самом деле является субоптимальным алгоритмом. Он прекращает декодирование при отсутствии пакета кодирования со степенью 1, тратя часть информации о кодировании, что эквивалентно увеличению объема кэша, необходимого для передачи файлов. и задержки декодирования, что не подходит для систем связи дальнего космоса с ограниченной мощностью и пространством для хранения данных. Поэтому, основываясь на условиях связи в глубоком космосе, в этой статье мы оптимизируем LT-код короткой длины как с точки зрения кодирования, так и декодирования, чтобы получить OLT-код, а затем предложим стратегию передачи данных, подходящую для условий связи в глубоком космосе.
2 Код OLT
2.1 Процесс кодирования кода OLT
Предположим, что количество пакетов данных равно k, зададим первые h степеней равными 1 и назначим вероятности выбора степени 1 для других степеней. Для простоты в данной статье вероятность степени 1 присваивается степени 2, а затем циклически выбираются пакеты данных для кодирования. В первом раунде кодирования установка первых k степеней в 1 эквивалентна прямому последовательному копированию h пакетов данных в пакет кодирования. Во втором раунде кодирования необходимо продолжать выбирать степени в соответствии с функцией распределения степеней, а также выбирать пакеты данных по порядку. Схема кодирования показана на рисунке 2. Предположим, что имеется 10 пакетов данных, число пакетов кодирования равно 15, а степени равны 1,1,1,1,1,1,ти,1,1,1,3,5,3,2,2, тогда первые 10 кодированных пакетов копируются из 10 пакетов данных соответственно, 11-й кодированный пакет получается путем XOR пакетов данных 1, 2 и 3, 12-й кодированный пакет получается из 4, 5, 6, 7, пакет данных № 8 обрабатывается XOR, и так далее для остальных.
Конкретный процесс кодирования кода OLT выглядит следующим образом:
1) Разделите исходные данные на k пакетов данных, каждый из которых имеет размер L и нумеруется по порядку от 1 до k;
2) Установите степень первых пакетов кодирования é равной 1, начиная с первого пакета данных, выбирайте пакеты данных по порядку и копируйте их в соответствующие пакеты кодирования;
3) В соответствии с заданным распределением степеней определите степень d;
4) Циклически выбираем d пакетов данных для операции XOR, чтобы сгенерировать кодированный пакет;
5) Повторите 3)~4), чтобы получить определенное количество пакетов кодирования. 2.2 Процесс декодирования кода OLT
Алгоритм GE является универсальным методом декодирования для фонтанных кодов и подходит для различных кодовых слов. Если предположить, что на приемную сторону поступает n пакетов кодирования, каждый пакет кодирования представляет собой линейное уравнение с h неизвестными входами, то весь процесс декодирования можно представить как n уравнений, совместно решающих систему из k неизвестных уравнений, как показано в уравнении (4):
×X=N

(4)
Среди них: H - порождающая матрица после удаления канала, размер - nxk; вектор.
Алгоритм GE состоит из следующих шагов:
1) Разверните матрицу H в дополненную матрицу H’, содержащую вектор полученной информации N, H’ = [H/N].
2) Используйте элементарное преобразование строк матрицы для преобразования матрицы H в эту дополненную матрицу H’
Замените ее на единичную матрицу I, тогда H’= [I/N’].
3) Если единичная матрица I имеет полный ранг, то декодирование прошло успешно и на выходе декодирования получается N’. Если матрица единиц не полна по рангу, это означает, что полученной информации недостаточно и декодирование не удается. Принимающая сторона продолжает получать информацию и переходит к следующему раунду декодирования. .
Алгоритм GE может полностью использовать правильно полученные кодирующие пакеты на приемной стороне, а коэффициент успешности декодирования выше, чем у алгоритма BP. Его вычислительная сложность O(nk) быстро растет с увеличением числа пакетов данных, поэтому он не подходит для работы со средними и длинными кодами.
Подводя итог, можно сказать, что в данной работе предлагается совместный алгоритм декодирования, который использует алгоритм BP и алгоритм GE вместе, чтобы объединить преимущества обоих алгоритмов для полного использования информации кодирования и повышения успешности декодирования при максимальном снижении вычислительной сложности.
Алгоритм декодирования выглядит следующим образом:
1) После получения определенного количества пакетов кодирования принимающая сторона генерирует матрицу кодирования и использует алгоритм BP для декодирования. Если все исходные данные успешно декодированы, переходим к пункту 3); в противном случае переходим к пункту 2).
2) Упорядочить недекодированные кодовые пакеты и получить матрицу кодирования между недекодированными пакетами данных и соответствующими кодовыми пакетами. Используйте алгоритм GE для декодирования. Если декодирование прошло успешно, перейдите к пункту 3); в противном случае продолжайте получать кодированный пакет.
3) Декодирование проходит успешно, и процесс передачи данных заканчивается. 3 Стратегия передачи данных в глубокий космос на основе кода OLT
В данной статье предлагается стратегия передачи данных в глубокий космос на основе OLT-кода. Отправитель кодирует файл данных с помощью OLT-кода, чтобы получить пакет данных OLT-кода. Определение формата пакета данных с кодом OLT показано на рисунке 3.
Пакет данных с кодом OLT состоит из заголовка кадра и поля данных. В заголовке кадра, когда код OLT обозначен как О, это нормальный режим передачи; когда код OLT обозначен как 1, это режим передачи кода OLT. В поле данных, когда режимом передачи является режим передачи кода OLT, поле “смещение” меняется на поле “степень”, указывая на то, что пакет кодируется несколькими исходными пакетами данных, за которыми следуют пакеты данных, составляющие пакет. Серийный номер, затем пакет кодирования.
Стратегия передачи данных в дальний космос на основе кода OLT показана на рисунке 4. Основные этапы заключаются в следующем:
1) Отправляющая сторона посылает блок данных протокола метаданных (MPDU), чтобы сообщить принимающей стороне различные параметры передачи, такие как размер передаваемого файла.
2) Отправляющая сторона устанавливает максимальную избыточность отправки файла, начинает разбивать файл и кодировать OLT-код, а также генерирует пакет кодирования. Инкапсулируйте закодированный пакет как информацию данных в пакет данных кода OLT и отправьте его на принимающий конец, а затем ожидайте обратной связи от принимающего конца.
3) После получения MPDU и определенного количества пакетов данных кода OLT, принимающая сторона использует алгоритм совместного декодирования для декодирования закодированных пакетов на основе информации заголовка кадра. Если декодирование не удается, информация о неудаче передается обратно, а кодированная информация продолжает приниматься и декодироваться; если декодирование проходит успешно, отправляется PDU Finished, чтобы уведомить передающий конец об успешном приеме.
4) После получения информации о сбое декодирования отправляющая сторона кодирует в соответствии с этой информацией и продолжает отправлять кодовый пакет OLT и переходит к пункту 3); после получения PDU Finished, она прекращает кодирование и отправку, освобождает ресурсы и отправляет подтверждение ACK для освобождения ресурсов. передача
4Симулирование и анализ производительности
В этой статье создана платформа моделирования на базе Matlab, проведено моделирование и проверка эффективности кода OLT и стратегии передачи данных в глубокий космос, а также сравнение стратегии передачи данных в глубокий космос с CFDP.
4.1 Анализ моделирования производительности кода OLT
Во-первых, моделирование успешности декодирования кода LT и кода OLT при различных уровнях потери пакетов, когда избыточность кодирования определена. Степенная функция распределения, используемая в моделировании, представляет собой робастное распределение одиночной волны, параметры заданы как e=0. 1,8 = 0.005, количество пакетов данных - 1000, избыточность кодирования - 30%, количество симуляций - 1000. Результаты моделирования представлены на рисунке 5. Из рисунка 5 видно, что при различных скоростях потери пакетов успешность декодирования кода OLT выше, чем кода T; при увеличении скорости потери пакетов вероятность успешности декодирования кода OIT и кода LT не уменьшается. Но коэффициент успешности декодирования кодов OLT снижается медленно. Алгоритм совместного декодирования может эффективно повысить успешность декодирования при тех же условиях.