Только что начал читать о мобильности случайных точек для MANET. Я нашел много работ, реализующих эту модель. Следовательно, я предполагал, что будет доступен код Matlab, который я мог бы изучить, чтобы лучше понять его. К сожалению, я не нашел ни одного.
Любое тело может предложить любой хороший учебник или коды, доступные в произвольной путевой точке? Помощь приветствуется.
ОБНОВЛЕНИЕ:
Модель произвольной путевой точки (RWP) - это широко используемая синтетическая модель для мобильности, например, в специальных сетях. Это элементарная модель, которая описывает схему движения независимых узлов простыми терминами.
Вкратце, в модели RWP:
Каждый узел движется по зигзагообразной линии от одной путевой точки к следующей
Путевые точки равномерно распределены по заданной выпуклой области, например, единичный диск.
В начале каждой ноги случайная скорость берется из распределения скорости
(в базовом случае скорость постоянна 1)
Необязательно, узлы могут иметь так называемые «времена мышления», когда они достигают каждой точки пути перед продолжением на следующем участке, где длительности являются независимыми и одинаково распределенными случайными величинами
! [1. Общие проблемы со случайной моделью путевых точек] [1]
Зигзагообразные траектории: модель RWP является элементарной, и легко спорить о неестественных путях. Опять же, любой практический протокол или механизм должен быть надежным и обеспечивать разумную производительность с широким диапазоном движущихся моделей, включая движение, подобное модели RWP.
Распределение скоростей. Наиболее распространенной проблемой при имитационных исследованиях с использованием модели случайных точек является плохой выбор распределения скоростей [4], например, равномерное распределение U (0, Vmax). Такое распределение скоростей (которое, по-видимому, является общим для моделирования NS-2!) Приводит к ситуации, когда в стационарном состоянии каждый узел перестает двигаться. Чтобы избежать этого, распределение скорости должно быть таким, чтобы
1 / E [1 / V]> 0
Обратите внимание, что среднее время, которое узел проводит на одной ноге, пропорционально 1 / E [1 / V].
2. Случайная путевая точка на границе (RWPB)
В (стандартной) модели RWP путевые точки равномерно распределены по данной области. Альтернативно, путевые точки могут быть равномерно распределены на границе домена, и эта модель называется моделью "Случайные путевые точки на границе" (RWPB). Плотность пространственных узлов, полученная из модели RWPB, весьма отличается от модели RWP, то есть масса вероятности смещается от центра области к границам. В частности, если граница содержит отрезок прямой линии, то существует положительная вероятность того, что случайный отрезок находится на отрезке линии (что приводит к 1-мерному PDF на каждом отрезке линии на границе).
[1]: http://i.stack.imgur.com/VKobC.gif [источник: http://www.netlab.tkk.fi/~esa/java/rwp/rwp-model.shtml]
Это то, что я нашел хороший источник. Как я могу реализовать эту модель в MATLAB?
ОБНОВЛЕНИЕ
СЛУЧАЙНАЯ ТОПОЛОГИЯ СЕТИ:
maxx=1000;
maxy=1000;
maxn=100;
%node generation
node = rand(maxn,2);
node(:,1) = node(:,1)*maxx;
node(:,2) = node(:,2)*maxy;
maxd=2;
noded = rand(maxd,2);
noded(:,1) = noded(:,1)*maxx;
noded(:,2) = noded(:,2)*maxy;
maxs=4;
nodes = rand(maxs,2);
nodes(:,1) = nodes(:,1)*maxx;
nodes(:,2) = nodes(:,2)*maxy;
% make background white, run only once
colordef none, whitebg
figure(1);
axis equal
hold on
box on;
plot(node(:, 1), node(:, 2), 'k.', 'MarkerSize', 25);
hold on
% plot(noded(:, 1), noded(:, 2), 'r.', 'MarkerSize', 25);
hold on
% plot(nodes(:, 1), nodes(:, 2), 'b.', 'MarkerSize', 25);
hold on
title('Network topology');
xlabel('X');
ylabel('Y');
grid on
Xminor grid on
axis([0, maxx, 0, maxy]);
set(gca, 'XTick', [0; maxx]);
set(gca, 'YTick', [maxy]);
Результат:
RANDOM WAY POINT MOBILITY:
clear;
hold on;
X = 1500;
Y = 500;
MINSPEED = 0;
MAXSPEED = 20;
PAUSETIME = 2;
TIME = 900;
N = 10;
AMOSTRAS = 30;
nodes = zeros(N,6);
nodes_speed = zeros(N,TIME);
nodes_speed_mean = zeros (AMOSTRAS,TIME);
for a=1:AMOSTRAS
for i=1:N
j=1;
x = rand*X;
y = rand*Y;
waypointX = rand*X;
waypointY = rand*Y;
speed = MINSPEED+(MAXSPEED - MINSPEED)*rand;
time = 1;
node = [x y speed waypointX waypointY time];
nodes(j,:) =node;
while time <= TIME
node = nodes(j,:);
x = node(1);
y = node(2);
speed = node(3);
waypointX = node(4);
waypointY = node(5);
dist = sqrt((x-waypointX)^2+(y-waypointY)^2);
new_waypointX = rand*X;
new_waypointY = rand*Y;
new_speed = MINSPEED+(MAXSPEED - MINSPEED)*rand;
time = time + dist/speed + PAUSETIME;
node = [waypointX waypointY new_speed new_waypointX new_waypointY time];
j=j+1;
nodes(j,:) =node;
end
for k=1:j-1
node_ant = nodes(k,:);
speed = node_ant(3);
time_ant = node_ant(6);
node_next = nodes(k+1,:);
time_next = node_next(6);
if time_next >TIME
time_next = TIME;
end
times = ceil(time_ant):floor(time_next);
if ~isempty(times)
nodes_speed(i,times) = speed ;
end
end
end
nodes_speed_mean(a,:) = mean(nodes_speed);
end
plot (mean(nodes_speed_mean),'r');
grid on
! [Альтернативный текст] [3]
Я сгенерировал топологию сети, которая является статической в первом коде. Во втором коде я генерировал мобильность RWP. Теперь мой вопрос: могу ли я сделать так:
Генерирует сеть случайным образом печатает его. Далее модель мобильности применяется в сети. Я снова построю сеть и увижу, что узлы сместились. Lat Я строю график как (рисунок 2.).
Спасибо за помощь.