Ein Matlab-code für Random-way-point in MANET
Nur begann zu Lesen auf zufällige Weise Punkt Mobilität für MANET. Ich fand eine Menge Arbeit implementiert dieses Modell. Daher bin ich davon ausgegangen, die Matlab-code zur Verfügung, die ich schauen konnte, in um es besser zu verstehen. Leider habe ich keine gefunden.
Jede Stelle vorschlagen kann, irgendwelche gute Tutorials oder codes zur Verfügung, die auf zufällige Weise zeigen ? Hilfe zu schätzen.
UPDATE:
Random Waypoint (RWP) - Modell ist eine Häufig verwendete synthetische Modell für die Mobilität, z.B. in Ad-Hoc-Netzwerken. Es ist ein elementares Modell beschreibt die Bewegung pattern of independent nodes mit einfachen Worten.
Kurz, in der RWP-Modell:
Jeder Knoten bewegt sich entlang einer Zick-Zack-Linie von einem Wegpunkt zum nächsten
Die Wegpunkte sind gleichmäßig verteilt über die gegebenen konvexen Bereich, z.B. Gerät Festplatte.
Am Anfang jeder Etappe eine zufällige Geschwindigkeit ist gezeichnet von der geschwindigkeitsverteilung
(im einfachen Fall ist die Geschwindigkeit konstant 1)
Optional können die Knoten können so genannte "denk-mal", wenn Sie an jedem Wegpunkt, bevor Sie fortfahren auf die nächste Etappe, wo die Laufzeiten sind unabhängig und identisch verteilte Zufallsvariablen
![1. Häufige Probleme mit der Random-Waypoint-Modell][1]
Zick-Zack-Bahnen: RWP-Modell ist elementar, und es ist leicht, zu argumentieren, über die Wege, die unnatürlich. Dann wieder, jede praktische Protokoll oder mechanik sollte robust sein und eine vernünftige Leistung für ein breites Spektrum von bewegten mustern, einschließlich Bewegung, ähnlich dem RWP-Modell.
Geschwindigkeitsverteilung: Die häufigsten Probleme bei der simulation Studien mit random-waypoint-Modell ist eine schlechte Wahl von velocity distribution [4], z.B. Gleichverteilung U(0,Vmax). Eine solche geschwindigkeitsverteilung (die zu sein scheinen Häufig mit NS-2 Simulationen!) zu einer situation führen, wo im stationären Zustand sind die einzelnen Knoten nicht mehr bewegt. Um dies zu vermeiden, werden die velocity-Verteilung sollte so sein, dass
1/E[1/V] > 0
Beachten Sie, dass die mittlere Zeit, die ein Knoten verbringt, auf einem Bein, ist proportional zu 1/E[1/V].
2. Random Waypoint an der Grenze (RWPB)
In der (standard -) RWP-Modell die Wegpunkte sind gleichmäßig verteilt über die gegebene Domäne. Alternativ können die Wegpunkte werden gleichmäßig verteilt auf dem Rand der Domäne, und dieses Modell wird bezeichnet als das "Random waypoint" auf der Grenze" (RWPB) Modell. Die räumliche Knoten Dichte, die aus RWPB Modell ist ganz anders aus dem RWP-Modell, d.h. die Wahrscheinlichkeit, Masse verschiebt sich von der Mitte der Fläche bis an die Grenzen. Insbesondere, wenn der Rand enthält eine gerade Linie segment, dann gibt es eine positive Wahrscheinlichkeit, dass eine zufällige Bein befindet sich auf der Strecke (was eine 1-dimension pdf auf jedes Liniensegment, das auf der Grenze).
[1]: http://i.stack.imgur.com/VKobC.gif [Quelle:http://www.netlab.tkk.fi/~esa/java/rwp/rwp-Modell.shtml]
Dies ist, was ich fand eine gute Quelle. Wie kann ich die Umsetzung dieses Modells in MATLAB?
UPDATE
RANDOM NETWORK-TOPOLOGIE:
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]);
Ergebnis:
RANDOM-WAY-POINT-MOBILITÄT:
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
![alt-text][3]
-
Generiert ich die Netzwerk-Topologie ist statisch in dem ersten code. In der zweiten code generiert ich RWP Mobilität. Nun, meine Frage ist, Kann ich dies so tun:
Erzeugt das Netzwerk nach dem Zufallsprinzip gedruckt . Neben der Mobilität Modell angewendet wird das Netzwerk. Ich werde die Handlung wieder mit dem Netzwerk und sehen Sie die Knoten verschoben haben. Lat ich plot der spedd als (Abbildung 2.).
Danke für die Hilfe.
Ich erklärte ein wenig. Aber nicht sicher, wie kann ich das Modell in MATLAB.
Ich konnte nicht laden Sie die Ergebnisse.
InformationsquelleAutor Tinglin | 2010-09-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Also bei jedem Schritt, den Sie erzeugen müssen 3 Zufallszahlen:
repräsentieren die Zeit, die der Schauspieler
bleibt an der aktuellen Position.
repräsentieren die x-Koordinate des
Schauspieler nächste Schritt.
Schauspieler nächste Schritt.
(Sie können ersetzen Sie die x - und y-Koordinaten mit einem geschwindigkeitsvektor, aber Sie müssen noch 2 zufällige zahlen.)
Alles was Sie jetzt tun müssen, ist herauszufinden, was die Ausschüttungen an die Ziehung der Zufallszahlen aus, um zu passen Ihr Modell. Eine sehr naive Matlab Ansatz wäre die Ausführung:
darstellen, der Ausgangspunkt und die ersten 9 Schritte, die durch einen Ihrer Akteure. Sowie der Auswahl Ihrer sorgfältig Distributionen, die Sie skalieren möchten, die Schritte.
Arbeiten noch daran. Ich will tun, wie ich gefunden in diesem link:netlab.tkk.fi/u/esa/java/rwp. Ich habe codes, die es anders machen, obwohl ich will, es zu tun als ein komplettes Bild. Irgendwelche Gedanken ?
InformationsquelleAutor High Performance Mark