⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testbed.m

📁 best routing protocol
💻 M
字号:
function [connection, dist] = testbed(fn, n_packets, testbed_prefix)%based on the measurement result, plot the toplogy,% and calculate the shortest distances, diameter, etcLINK_QUALITY_THRESHOLD = 80; %from LinkEstimator.hthres = 255/LINK_QUALITY_THRESHOLD;USE_REALTIME_DATA = 1;MAX_NODE_ID = 42;if nargin<2  n_packets = 100;endlink = load([testbed_prefix '.link']);delivery = zeros(MAX_NODE_ID, MAX_NODE_ID)+1e-5;for i=1:length(link)  src = link(i,1);  dest = link(i,2);  %delivery(src,dest) = delivery(src,dest) + link(i,4)/2;  %delivery(dest, src) = delivery(dest, src) + link(i,3)/2;  if dest<50 %filter out some wierd node number    delivery(dest, src) = link(i,3)+1e-5;    if delivery(src,dest)<1      delivery(src,dest) = link(i,4);    end  endendif USE_REALTIME_DATA  delivery = delivery;  n_packets = 255;  idx= 1:MAX_NODE_ID;  rev_idx = 1:MAX_NODE_ID;else  loss = load(fn);  idx = loss(1,:);   for i=1:length(idx)    rev_idx(idx(i)) = i;  end  [m n] = size(loss);  delivery = loss(2:m,:);end%etx = n_packets./delivery * n_packets./delivery';etx = n_packets./delivery';tmp = find(etx==Inf);connection = (n_packets./delivery<=thres).*(n_packets./delivery'<=thres)dist = allpair_dijkstra(connection);etx_dist = allpair_dijkstra(etx);%coord = mds(dist,2);coord = load('~/GeoRouting/cr/eval/coords_new');visualize(connection, coord(idx,:), 1:6)%%%%%%%%%%%s4 = load([testbed_prefix '.routing']);  instances = length(s4);for i=1:instances  src = rev_idx(s4(i,1));  dest = rev_idx(s4(i,2));  stretch(i) = s4(i,3)/dist(src, dest);  transmission_stretch(i) = (s4(i,3)+s4(i,4))/etx_dist(src, dest);endfigure(2)plot_cumu_matrix(stretch)figure(3)plot_cumu_matrix(transmission_stretch)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -