[[TracNav(WARPLab7/TOC)]] = WARPLab 7: Benchmarks = == Jumbo Frames == {{{ clear node node = wl_initNodes(1); [RFA,RFB] = wl_getInterfaceIDs(node); NUMITER = 100; NUMLENGTHS = 6; maxPayloadVec = [1000,floor(linspace(1470,double(node.transport.maxPayload),NUMLENGTHS-1))]; IQvec = complex(randn(node.baseband.txIQLen,1),randn(node.baseband.txIQLen,1)); IQvec = IQvec./(max(abs(IQvec))); duration_write = zeros(NUMITER,NUMLENGTHS); duration_read = zeros(NUMITER,NUMLENGTHS); mean_duration_write = zeros(1,NUMLENGTHS); std_duration_write = zeros(1,NUMLENGTHS); mean_duration_read = zeros(1,NUMLENGTHS); std_duration_read = zeros(1,NUMLENGTHS); for k = NUMLENGTHS:-1:1 fprintf('Current maxPayload: %d\n',maxPayloadVec(k)); node.transport.maxPayload = maxPayloadVec(k); for m = NUMITER:-1:1 currTime = tic; wl_basebandCmd(node,RFA,'write_IQ',IQvec); duration_write(m,k) = toc(currTime); currTime = tic; wl_basebandCmd(node,RFA,'read_IQ',0,node.baseband.rxIQLen); duration_read(m,k) = toc(currTime); end mean_duration_write(k) = mean(duration_write(:,k)); std_duration_write(k) = std(duration_write(:,k)); mean_duration_read(k) = mean(duration_read(:,k)); std_duration_read(k) = std(duration_read(:,k)); end %% Plotting figure(1);clf errorbar(maxPayloadVec,mean_duration_write,std_duration_write,'LineWidth',2) hold on errorbar(maxPayloadVec,mean_duration_read,std_duration_read,'r','LineWidth',2) grid on xlabel('Payload Size') ylabel('Duration (Seconds)') title('Duration of Commands vs Payload Size') legend('write_IQ','read_IQ') myAxis = axis; myAxis(3) = 0; axis(myAxis); standardPayload = 1470; H = line([standardPayload standardPayload],[myAxis(3),myAxis(4)]); set(H,'Color',[0 0 0]) set(H,'LineWidth',2) H = text(standardPayload + .01*myAxis(2),.9*myAxis(4),'Standard Payload Size'); set(H,'FontName','Ariel') set(H,'FontWeight','bold') hold off }}}