2010-09-15 38 views
1

刚开始阅读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]

  1. 我生成的网络拓扑在第一个代码中是静态的。在第二个代码中,我生成了RWP移动性。现在,我的问题是,我可以这样做:

    生成网络随机打印它。接下来,移动模型应用于网络。我将再次绘制网络图并看到节点已经移动。 Lat我将spedd绘制为(图2)。

感谢您的帮助。

+0

我怀疑在获得许多有用的答案之前,您将不得不解释一些(很多?)更多关于“MANET的随机路点移动性”的内容。也许你可以解释你所知道的并提出一些具体问题。 – 2010-09-15 09:03:55

+0

@MAK,我解释了一下。但不确定如何在MATLAB中对其进行建模。 – Tinglin 2010-09-15 14:52:54

+0

我无法上传结果。 – Tinglin 2010-09-16 07:13:11

回答

1

所以在每一个步骤,你需要生成3个随机数字:

  1. 来表示时间的演员 停留在当前位置。

  2. 表示演员下一步的 的x坐标。

  3. 表示演员下一步的 的y坐标。

(您可能取代X和Y坐标与速度矢量,但你仍然需要2张随机数。)

现在你要做的就是找出分布来绘制随机数字来适合你的模型。一个非常天真的Matlab方法将执行:

rand(10,3)-0.5 

表示您的演员之一所采取的起点和前9个步骤。除了仔细选择你的发行版之外,你还需要扩展所采取的步骤。

+0

完成并完成。谢谢您的帮助。 – Tinglin 2010-09-21 06:25:54

+0

仍在努力。我想像我在这个链接中找到的那样做:http://www.netlab.tkk.fi/u/esa/java/rwp/。我有代码做不同,尽管我想把它作为一个完整的图片。有什么想法吗 ? – Tinglin 2011-01-28 07:02:33