LINUX.ORG.RU

Сообщения zeonid

 

IP-траффик по распределению Пуассона. Новые проблемы.

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

Задача: Написать генератор IP-пакетов для тестирующего модуля. Задается интенсивность(Мбит/с), допустим 100 Мбит/c, длина пакета — 12000 бит, время моделирования — 1000 мс, время между выдачей dt — 10 мс. По распределению Пуассона варьируется кол-во пакетов на всех dt.

Сделал по следующему алгоритму: 1. Нашел лямбда: lambda = интенсивность(Мбит/с) * dt(мс) / длина_пакета (бит) * all_time(мс); 2. Нашел множество вариаций выпадения кол-ва пакетов k = 0..n: интенсивность (Мбит/с) / длина_пакета(бит); 3. Посчитал для каждого k функцию вероятности: pmf(k) = (lambda * dt)^k * exp (- labmda * dt) / k!; 4. Проинтегрировал трапециями pmf(k) и получил функцию распределения Пуассона для всех k — cdf(k); 5. Сгенерировал случайное число r = 0..1 6. Для каждого отрезка dt нашел наибольшее значение k, при котором cdf(k) <= r; 7. Выдал k пакетов

Почитав книгу по теорверу, похоже на правду.

НО за секунду генератор выдает не требуемые 100 Мбит/с, а все 700-1000. ЧЯДНТ?

zeonid
()

Пуассон. Трафик-генератор. Разобраться.

Добрый день.

Никак не получается разобраться с Пуассоном.

Задача следующая: Нужно генерить поток трафика с заданной интенсивностью (например, 100 Мбит/c) по закону Пуассона. Интервал между выдачей пакетов - 10 мс. Общее время моделирования - 1 минута.

Нашел формулу: http://book.itep.ru/4/45/image651.gif

Что есть лямбда, k и T в моем случае? Как посчитать количество пакетов, выдаваемых каждые 10 мс?

zeonid
()

[C][Nooob][Хочу_разобраться]Распределение Пуассона

Поставили следующую задачу. Необходимо написать на чистом Cи функцию-генератор траффика по распределению Пуассона.

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

Приму любые советы. Может быть, кто-то уже такое делал.

P.S.: В теории вероятности - школьничек, в си - начинающий быдломанкикодер.

 

zeonid
()

RSS подписка на новые темы