Skip to content
Snippets Groups Projects
Commit 9243caf5 authored by lmaresz's avatar lmaresz
Browse files

Progressbar [====== ]

parent 6e39babd
No related branches found
No related tags found
No related merge requests found
......@@ -6,6 +6,11 @@ classdef FarField
methods (Static)
function field = CalculateFarField(ntheta, nfi, apertureSize, wavelength, histogram)
progressBar2 = waitbar(0,'Calculating far field...','Name','Calculating far field...',...
'CreateCancelBtn','setappdata(gcbf,''canceling'',1)');
setappdata(progressBar2,'canceling',0);
stepSize = ntheta/100;
field = zeros(1, ntheta);
theta = linspace(-pi/6, pi/6, ntheta);
fi = linspace(0, 2*pi, nfi);
......@@ -14,6 +19,12 @@ classdef FarField
c1 = (apertureSize/(2*nr))*2*pi/nfi;
c2 = 1i*2*pi/wavelength;
for i = 1:ntheta
if getappdata(progressBar2,'canceling')
break;
end
if mod(i, stepSize) == 0
waitbar(i/ntheta,progressBar2,sprintf('Calculating far field... [%0.0f%%]',i/ntheta*100));
end
c3 = c2*sin(theta(i));
for j = 1:nr
area = r(j) * c1;
......@@ -24,7 +35,7 @@ classdef FarField
end
end
end
delete(progressBar2)
end
end
end
clear
close all
progressBar1 = waitbar(0,'Generating rays...','Name','Tracing rays...',...
'CreateCancelBtn','setappdata(gcbf,''canceling'',1)');
setappdata(progressBar1,'canceling',0);
reflectors = PlaneReflector.empty;
reflectors(end+1) = PlaneReflector([2 0], 2);
reflectors(end+1) = ParabolaReflector([0 0], 4, 3);
......@@ -8,37 +14,39 @@ phi_start = -pi;
phi_stop = pi;
n = 100000;
wavelength = 3e8/1e9;
stepSize = n/100;
antenna = Antenna(Vect(1,0), [ones(1,125), zeros(1,750), ones(1,125)], zeros(1,1000));
rays = antenna.generateRaysB(n);
disp([num2str(n) ' rays generated!']);
figure(1);
plot(0, 0);
xlim([0 4]);
ylim([-4 4]);
hold on;
antenna.plot_antenna();
for k = 1:size(reflectors, 2)
reflectors(k).plot_self;
end
for k = 1:size(rays, 2)
traces(k) = Trace(k, rays(k), wavelength, reflectors, 5);
if mod(k, 5000) == 0
clc;
disp([num2str(k/n*100) '%']);
if getappdata(progressBar1,'canceling')
break;
end
traces(k).plot_trace(3);
if mod(k, stepSize) == 0
waitbar(k/n,progressBar1,sprintf('Tracing rays... [%0.1f%%]',k/n*100));
end
antenna.plot_antenna();
for k = 1:size(reflectors, 2)
reflectors(k).plot_self;
traces(k) = Trace(k, rays(k), wavelength, reflectors, 5);
%traces(k).plot_trace(3);
end
delete(progressBar1)
hold off;
xlim([0 4]);
ylim([-4 4]);
histogram = reflectors(end).getCollisionHistogram();
figure(2);
plot(histogram);
plot(abs(histogram));
%field = FarField.CalculateFarField(1000, 500, 20, 0.01, histogram);
%field = abs(field);
%field = field/max(field);
%plot(20*log10(field));
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment