刚开始阅读MANET的随机路点移动性。我发现很多工作都实现了这个模型。因此,我认为Matlab代码将可用,我可以更好地了解它。不幸的是,我没有发现。MANET中随机路点的Matlab代码
任何机构可以建议任何好的教程或随机方式点可用的代码?帮助赞赏。
UPDATE:
随机路点(RWP)模型是用于移动性的常用的合成模型,例如,在Ad Hoc网络。它是用简单的术语描述独立节点运动模式的基本模型。
简言之,在RWP模型:
每个节点沿着曲折线移动从一个路点到下一个的 航点在给定凸区域均匀分布的,例如单位磁盘。 在每条腿的起点处,从速度分布 (在基本情况下,速度恒定为1)绘制随机速度。可选地,当节点在继续之前到达每个路点时可以具有所谓的“思考时间”下一段,持续时间独立且分布相同的随机变量
![1。随机路点模型的常见问题] [1]
之字形轨迹:RWP模型是基本的,很容易争论路径是不自然的。再次,任何实际的协议或机制都应该是稳健的,并且能够在广泛的移动模式下给出合理的性能,包括类似于RWP模型的移动。 速度分布:使用随机路径点模型进行模拟研究时最常见的问题是速度分布[4]的差选择,例如均匀分布U(0,Vmax)。这样的速度分布(这似乎与NS-2模拟中常见的!)导致在静止状态下每个节点停止移动的情况。为了避免这种情况,速度分布应该是这样的:注意节点在单个支路上花费的平均时间正比于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中实现这个模型?
UPDATE
随机网络拓扑:
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]);
结果:
随机的方式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我将spedd绘制为(图2)。
感谢您的帮助。
我怀疑在获得许多有用的答案之前,您将不得不解释一些(很多?)更多关于“MANET的随机路点移动性”的内容。也许你可以解释你所知道的并提出一些具体问题。 – 2010-09-15 09:03:55
@MAK,我解释了一下。但不确定如何在MATLAB中对其进行建模。 – Tinglin 2010-09-15 14:52:54
我无法上传结果。 – Tinglin 2010-09-16 07:13:11