Модель системы передачи данных с использованием помехоустойчивых кодов LT в среде Simulink для каналов со стираниями пакетов | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 30 ноября, печатный экземпляр отправим 4 декабря.

Опубликовать статью в журнале

Библиографическое описание:

Лямин, Н. В. Модель системы передачи данных с использованием помехоустойчивых кодов LT в среде Simulink для каналов со стираниями пакетов / Н. В. Лямин, Д. В. Клейко, А. А. Фёдоров. — Текст : непосредственный // Молодой ученый. — 2011. — № 5 (28). — Т. 1. — С. 123-126. — URL: https://moluch.ru/archive/28/3165/ (дата обращения: 16.11.2024).

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

В последнее время существует тенденция стремительного увеличения объема передаваемой информации в пакетных сетях передачи данных. В действующих пакетных сетях, как правило, используются два способа передачи информации: дейтаграмный (посредством протокола транспортного уровня UDP), который вносит минимальные задержки, но при этом, не гарантируя качества передачи, и метод с установлением соединения на транспортном уровне (протокол TCP), обеспечивающий требуемое приложением качество передачи информации, однако, при этом значительно увеличиваются задержки. Существуют случаи, когда требуется точность принятия сообщения при ограничении допустимых задержек. При этом размер передаваемых блоков может быть достаточно большим (например, блоки IP-TV). Для решения подобных задач был предложен класс кодов со стираниями (erasure codes) [1]. В данной работе представляется модель системы передачи данных, использующая коды LT (Luby transform), разработанная в среде Simulink.

Впервые коды LT представлены в работе [1]. Ключом к пониманию LT кодов является описание процесса кодирования. Допустим, имеется сообщение из K информационных пакетов, причем размеры всех пакетов одинаковы. Каждый кодовый пакет получается из исходных информационных следующим образом:

  1. Случайным образом выбирается dn степень пакета из функции плотности распределения степени µ(d) (подробно рассмотрена ниже).

  2. Из К информационных пакетов случайно выбирается dn - соседи.

  3. Производится побитное сложение пакетов-соседей по модулю 2 (XOR), результатом данной операции будет являться кодовый пакет tn.

Отметим, что, кроме самих кодовых символов, в пакетах должна содержаться информация о соседях, включенных в текущий кодовый пакет.

Для полного понимания работы кода рассмотрим процесс декодирования, который заключается в следующем:

  1. Выбирается кодовый пакет tn со степенью dn равной 1 (если такого пакета нет, то процесс декодирования прерывается на данном шаге). Кодовый элемент, имеющий единичную степень, ввиду специфики кода будет аналогичен исходному информационному элементу si (информация о нем, как уже отмечалось ранее, содержится в tn).

  2. Операцией XOR удаляем элемент si из всех кодовых пакетов, где он присутствует, при этом понижая степень кодовых пакетов, соответственно, на 1.

  3. Возвращаемся к шагу 1.

Для уверенного декодирования важную роль играет функция плотности распределения степени кодового пакета. Если на каком-то из шагов декодирования не будет ни одного элемент с единичной степенью, то процесс автоматически завершить на данном этапе и оставшиеся кодовые пакеты не будут декодированы.

В идеальном случае для декодирования достаточно иметь хотя бы 1 кодовый пакет единичной степени и достаточное число элементов степени 2. Согласно этой идеологии построено идеальное Солитоновское распределение (Ideal Soliton distribution). Идеальным Солитоновским распределением называется распределение, плотность распределения вероятности которого задается:

(1)

Однако, на практике идеальное распределение дает плохие результаты. Для обеспечения стабильного декодирования было разработано робастное Солитоновское распределение (Robust Soliton distribution) [1], плотность распределения μ(d) которого задается формулой:

(2)

где p(d) определяется согласно (1), а τ(d) (робастное распределение):

(3)
где. (4)

Параметр S введен для того, чтобы удовлетворить вероятность того, что количество элементов степени 1 d1S. Параметр - граница вероятности того, что процесс декодирования прервется после принятия K` пакетов. Другими словами число кодовых пакетов, необходимых на приемной стороне для того, чтобы завершить процесс декодирования с вероятностью , . Константа с выбирается на практике в диапазоне от 0 до 0.2, хотя может варьироваться до 1.

Робастное Солитоновское распределение имеет два максимума: на d=2 и d=K/S. Кроме того распределение предполагает достаточное количество элементов степени 1. Пример распределения приведен на рисунке 1.

Рис. 1. Робастное Солитоновское распределение δ=0.5, с=0.01, N=1000

Распределение сконструировано таким образом, чтобы увеличить вероятность полного декодирования сообщения. Функция плотности вероятности такова, что в процессе кодирования генерируется достаточное количество элементов единичной степени и, наряду с этим, её максимум приходится на значение степени 2. Это позволяет запустить так называемый процесс «пульсации», который предполагает наличие на каждом последующем шаге хотя бы одного элемента с единичной степенью.

Для исследования возможностей LT-кода была разработана модель системы передачи в среде Simulink. Основные функциональные блоки системы схематично представлены на рисунке 2.

Рис. 2. Модель системы передачи, использующей LT-коды, в среде Simulink

Результаты, полученные с помощью модели, для параметров кода δ=0.5, с=0.01 представлены в таблице 1.

Таблица 1. Результаты имитационного моделирования δ=0.5, с=0.01

Избыточность, %

PLR, %

1000

2000

3000

5000

10000

5

0

0.8603

0.8616

0.8644

0.8662

0.8666

5

0.7077

0.6949

0.7025

0.6982

0.7089

10

0.6415

0.6743

0.6839

0.6862

0.6825

15

0.5796

0.6042

0.5861

0.5941

0.5961

20

0.5755

0.5357

0.5515

0.5546

0.5465

10

0

0.9967

1

1

1

1

5

0.9314

0.9361

0.9414

0.9419

0.9482

10

0.7076

0.7165

0.7158

0.7093

0.7248

15

0.6241

0.6086

0.6315

0.6351

0.6355

20

0.5711

0.5873

0.5778

0.5946

0.5753

15

0

0.9981

1

1

1

1

5

0.9916

0.9994

0.9997

0.9998

0.9999

10

0.9271

0.9607

0.9785

0.9863

0.9924

15

0.7314

0.7904

0.7769

0.7919

0.7991

20

0.6372

0.6155

0.6255

0.6358

0.6603

20

0

0.9982

1

1

1

1

5

0.9949

0.9994

0.9997

0.9998

0.9999

10

0.9864

0.9978

0.9987

0.9993

0.9996

15

0.9095

0.9524

0.9469

0.9653

0.9809

20

0.7415

0.7679

0.7678

0.7825

0.7834

30

0

0.9992

1

1

1

1

5

0.997

0.9998

0.9999

0.9999

1

10

0.9931

0.9993

0.9995

0.9997

0.9999

15

0.9862

0.9979

0.9985

0.9993

0.9997

20

0.9386

0.9729

0.9907

0.9975

0.9988

Параметры кода были выбраны в соответствии с рекомендациями, приведенными в работе [5].

По результатам моделирования приведем основные выводы:

  • Код неэффективен при доле избыточных пакетов меньше 5 %. Это обусловлено, прежде всего, особенностью конструкции кода: при малом количестве кодовых символов не все исходные сообщения могут быть включены в процесс кодирования (так как процесс включения является случайным).

  • Для устойчивого декодирования на приемном конце с учетом стирания в канале достаточно иметь избыточность пакетов порядка пяти процентов.

Результаты исследования показывают перспективность дальнейших исследований класса стирающих кодов для последующего их применения в системах с коммутацией пакетов.


Литература:
  1. Luby M. LT Codes // Proc. of the 43rd Annual IEEE Symp. on Foundations of Computer Science (FOCS). – 2002. – P. 271–282.

  2. Варгаузин В. Помехоустойчивое кодирование в пакетных сетях // ТелеМультиМедиа. – 2005. – №3. – C.10–16.

  3. Simon S. Woo, Michael K. Cheng Prioritized LT Codes // Conference of Information Science and Systems, Princeton, New Jersey, March 19, 2008. – P. 1-6.

  4. К.В. Шинкаренко, А.М. Кориков Исследование эффективности помехоустойчивых кодов Лаби // Доклады ТУСУРа. 2009. №1 часть 1. С. 185-192.

  5. D.J.C. MacKay Fountain codes // IEEE Proc.-Commun., Vol. 152, No. 6, December 2005. – P. 1062-1068.

Основные термины (генерируются автоматически): кодовый пакет, XOR, пакет, процесс декодирования, Распределение, IP-TV, PLR, TCP, UDP, транспортный уровень.


Похожие статьи

Алгоритмы планирования масштабируемых заданий кластерной вычислительной системы

В данной работе рассматривается возможность повышения эффективности работы планировщика заданий кластерной системы при учете в процессе планирования способности пакетных заданий изменять число используемых ресурсов. В ходе работы сформирован ряд не э...

Методы верификации программного обеспечения

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

Обработка конкурентных транзакций в распределенных системах на примере Java

При разработке программного обеспечения в высоконагруженных системах требуется определить стратегии при одновременных обновлениях. Множество запросов от одинаковых пользователей приводят к конфликтам транзакций на уровне базы данных. Для предотвращен...

Разработка систем рекомендаций на основе Big Data

В данной статье рассмотрены основные подходы к разработке систем рекомендаций на основе Big Data, включая коллаборативную фильтрацию, контентную фильтрацию и гибридные методы, а также представлены примеры реализации алгоритмов на языке программирован...

Методы тестирования протокольных спецификаций

В данной статье определены ключевые вероятностно-временные характеристики процессов тестирования протоколов и выведены аналитические выражения для их расчета. Показана математическая модель процесса тестирования, алгоритмы оптимизации сроков и трудое...

Идентификация и аутентификация пользователей для автоматизированных систем высших учебных заведений

Статья посвящена организации идентификации и аутентификации пользователей в автоматизированной системе вуза. Показано, что результаты, достигнутые на текущий момент в решении задач интеллектуального анализа данных идентификации и аутентификации польз...

Пути исследования нечетких систем управления в среде fuzzyTECH Explorer Edition

Рассмотрена структура и исследованы параметры нечетких систем управления на основе теории нечетких множеств. Получены результаты моделирования функции нечеткого контроллера и оценки его функциональности путем его моделирования в программе fuzzyTECH E...

Разработка алгоритма планирования поведения агентов-игроков в керлинг

Данная работа посвящена исследованию в области агентных технологий. В работе рассмотрены подходы к разработке алгоритмов планирования поведения агентов. Разработана модель инвариантного поведения агента в среде. Приведены подходы реализации команды а...

Интеллектуализация системы обнаружения и предотвращения сбоев в сети

В статье обсуждены вопросы разработки программного приложения по обнаружению, предотвращению и предсказанию наблюдающихся сбоев в составе локальной сети. Целью создания программного приложения является интеллектуализация его алгоритмов, где на основе...

Анализ тональности высказываний в Twitter

В данной работе рассматривается применение методов машинного обучения с учителем к анализу тональности русскоязычных высказываний в социальной сети Twitter. Подробно разбираются методы предварительной обработки текста, описываются способы анализа тон...

Похожие статьи

Алгоритмы планирования масштабируемых заданий кластерной вычислительной системы

В данной работе рассматривается возможность повышения эффективности работы планировщика заданий кластерной системы при учете в процессе планирования способности пакетных заданий изменять число используемых ресурсов. В ходе работы сформирован ряд не э...

Методы верификации программного обеспечения

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

Обработка конкурентных транзакций в распределенных системах на примере Java

При разработке программного обеспечения в высоконагруженных системах требуется определить стратегии при одновременных обновлениях. Множество запросов от одинаковых пользователей приводят к конфликтам транзакций на уровне базы данных. Для предотвращен...

Разработка систем рекомендаций на основе Big Data

В данной статье рассмотрены основные подходы к разработке систем рекомендаций на основе Big Data, включая коллаборативную фильтрацию, контентную фильтрацию и гибридные методы, а также представлены примеры реализации алгоритмов на языке программирован...

Методы тестирования протокольных спецификаций

В данной статье определены ключевые вероятностно-временные характеристики процессов тестирования протоколов и выведены аналитические выражения для их расчета. Показана математическая модель процесса тестирования, алгоритмы оптимизации сроков и трудое...

Идентификация и аутентификация пользователей для автоматизированных систем высших учебных заведений

Статья посвящена организации идентификации и аутентификации пользователей в автоматизированной системе вуза. Показано, что результаты, достигнутые на текущий момент в решении задач интеллектуального анализа данных идентификации и аутентификации польз...

Пути исследования нечетких систем управления в среде fuzzyTECH Explorer Edition

Рассмотрена структура и исследованы параметры нечетких систем управления на основе теории нечетких множеств. Получены результаты моделирования функции нечеткого контроллера и оценки его функциональности путем его моделирования в программе fuzzyTECH E...

Разработка алгоритма планирования поведения агентов-игроков в керлинг

Данная работа посвящена исследованию в области агентных технологий. В работе рассмотрены подходы к разработке алгоритмов планирования поведения агентов. Разработана модель инвариантного поведения агента в среде. Приведены подходы реализации команды а...

Интеллектуализация системы обнаружения и предотвращения сбоев в сети

В статье обсуждены вопросы разработки программного приложения по обнаружению, предотвращению и предсказанию наблюдающихся сбоев в составе локальной сети. Целью создания программного приложения является интеллектуализация его алгоритмов, где на основе...

Анализ тональности высказываний в Twitter

В данной работе рассматривается применение методов машинного обучения с учителем к анализу тональности русскоязычных высказываний в социальной сети Twitter. Подробно разбираются методы предварительной обработки текста, описываются способы анализа тон...

Задать вопрос