剛開始閱讀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