Skip to content
Snippets Groups Projects
Select Git revision
  • 9243caf5cd15091f9d0f710e665df5a3b7d5016f
  • master default protected
2 results

simclass_test.m

Blame
  • lmaresz's avatar
    lmaresz authored
    9243caf5
    History
    simclass_test.m 1.27 KiB
    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);
    reflectors(end+1) = BalazsAperture([3 0], 20, 1000);
    
    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);
    
    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) 
        if getappdata(progressBar1,'canceling') 
            break; 
        end
        if mod(k, stepSize) == 0 
            waitbar(k/n,progressBar1,sprintf('Tracing rays... [%0.1f%%]',k/n*100)); 
        end
        traces(k) = Trace(k, rays(k), wavelength, reflectors, 5);
        %traces(k).plot_trace(3);
    end
    delete(progressBar1)
    hold off;
    
    histogram = reflectors(end).getCollisionHistogram();
    figure(2);
    plot(abs(histogram));
    
    %field = FarField.CalculateFarField(1000, 500, 20, 0.01, histogram);
    %field = abs(field);
    %field = field/max(field);
    %plot(20*log10(field));