2010-09-15 299 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