
% VSTUP:
    %vzdalenost = 5000; %[m]
    vzdalenost1 =  0; %[m]
    vzdalenost2 = 5000; %[m]
    krok = 0.3;
    vyska_lodi = 1; %[m] (pro zmeny je povazovana za minimum)
    vyska_lodi_max = 40; %[m] (uvazovane maximum)
    
    vyska_satelitu = 100; %[m]
    vyska_mostu_1 = 50; %[m] vyska horni hrany mostu
    vyska_mostu_2 = 40; %[m] vyska spodni hrany mostu
    vzdalenost_mostu_1 = 450; %[m] vzdálenost mostu od kolmého průmětu satelitu na hladinu řeky
    vzdalenost_mostu_2 = 500;
    vzdalenost_mostu_21 = 500;
    koef_odrazu_vody = -0.5;
    koef_odrazu_koryta = -0.8;
    koef_odrazu_koryta1 = -0.8;
    frekvence = 1000; %[MHz]
    frekvence1 = 1000; %[MHz]
    uhel_odchylky_koryta = (pi/(12)); %[rad]
    uhel_odchylky_koryta1 = (pi/(12)); %[rad]
    vzdalenost_od_brehu = 10; %[m]
    E0 = 10; %[V/m]
%

d=[vzdalenost1:krok:vzdalenost2];
hodnoty_pro_d=[vzdalenost1:krok:vzdalenost2];
r=1;
     for x=d
       
        [a,b]=vzdalenosti2paprsky(vyska_lodi,vyska_satelitu,x);
        [c,d1]=vzd_odraz_koryto(vyska_lodi,vyska_satelitu,uhel_odchylky_koryta,x,vzdalenost_od_brehu);
        E=0;
        E=intenzitavbode(a,b,E0,frekvence,koef_odrazu_vody,x,vzdalenost_mostu_1,vzdalenost_mostu_2);
        E=E+odraz_koryto(d1,E0,frekvence,koef_odrazu_koryta)+odraz_koryto(d1,E0,frekvence,koef_odrazu_koryta);
        E=E+2*dvojityodraz(d1,vyska_lodi,vyska_satelitu,vzdalenost,uhel_odchylky_koryta,E0,frekvence,koef_odrazu_koryta,koef_odrazu_vody);
        E=E+((intenzita_od_difrakce(x,vzdalenost_mostu_1,vyska_lodi,vyska_satelitu,frekvence,vyska_mostu_1,0))*(pouze_primy(a,E0,frekvence)));
        E=E+((intenzita_od_difrakce(x,vzdalenost_mostu_2,vyska_lodi,vyska_satelitu,frekvence,vyska_mostu_2,0))*(pouze_primy(a,E0,frekvence)));
        E=E+difrakceavoda(frekvence,vyska_lodi,vyska_satelitu,vyska_mostu_1,vzdalenost,vzdalenost_mostu_1,E0,koef_odrazu_vody);
        E=E+difrakceavoda(frekvence,vyska_lodi,vyska_satelitu,vyska_mostu_2,vzdalenost,vzdalenost_mostu_2,E0,koef_odrazu_vody);
        E1=20*log10(abs(E));
        hodnoty_pro_d(r)=E1;
        r=r+1;
        
     end
figure
subplot(1,2,1)

plot(d,hodnoty_pro_d)
ylim([-60 -15]);
xlabel('vzdalenost d [m]');
ylabel('přijatá úroveň [dB]');
title('Úhel sklonu stěn 1°');
grid on
%hold

[d2,d_od2]= vzd_odraz_koryto(vyska_lodi,vyska_satelitu,uhel_odchylky_koryta,vzdalenost2,vzdalenost_od_brehu);
clear d hodnoty_pro_d
d = vzdalenost1:krok:vzdalenost2;
hodnoty_pro_d = vzdalenost1:krok:vzdalenost2;
Ex = (E0/8);
    clear a b E E1 r
    r=1;
    for x=d
        
        [a,b]=vzdalenosti2paprsky(vyska_lodi,vyska_satelitu,x);
        [c,d1]=vzd_odraz_koryto(vyska_lodi,vyska_satelitu,uhel_odchylky_koryta1,x,vzdalenost_od_brehu);
        E=0;
        E=intenzitavbode(a,b,E0,frekvence1,koef_odrazu_vody,x,vzdalenost_mostu_1,vzdalenost_mostu_21);
        E=E+odraz_koryto(d1,E0,frekvence1,koef_odrazu_koryta1)+odraz_koryto(d1,E0,frekvence1,koef_odrazu_koryta1);
        E=E+2*dvojityodraz(d1,vyska_lodi,vyska_satelitu,vzdalenost,uhel_odchylky_koryta1,E0,frekvence1,koef_odrazu_koryta1,koef_odrazu_vody);
        E=E+((intenzita_od_difrakce(x,vzdalenost_mostu_1,vyska_lodi,vyska_satelitu,frekvence1,vyska_mostu_1,0))*(pouze_primy(a,E0,frekvence1)));
        E=E+((intenzita_od_difrakce(x,vzdalenost_mostu_21,vyska_lodi,vyska_satelitu,frekvence1,vyska_mostu_2,0))*(pouze_primy(a,E0,frekvence1)));
        E=E+difrakceavoda(frekvence1,vyska_lodi,vyska_satelitu,vyska_mostu_1,vzdalenost,vzdalenost_mostu_1,E0,koef_odrazu_vody);
        E=E+difrakceavoda(frekvence1,vyska_lodi,vyska_satelitu,vyska_mostu_2,vzdalenost,vzdalenost_mostu_2,E0,koef_odrazu_vody);
        E1=20*log10(abs(E));
        hodnoty_pro_d(r)=E1;
        r=r+1;
       
     end

%figure
subplot(1,2,2)

plot(d,hodnoty_pro_d);
ylim([-60 -15]);
xlabel('vzdálenost d [m]');
ylabel('přijatá úroveň [dB]');
title('Úhel sklonu stěn 80°');
grid on
hold on
%plot(dis_2*1000,data_cal_2,'r');

hold on

%legend('Simulovaný přijatý výkon','Měřený přijatý výkon')
%title('Měření přijatého výkonu')
%xlabel('Vzdálenost vysílače a přijímače [m]')
%ylabel('Přijatý výkon [dBm]')
%grid on
 
%% promenna vyska anteny

clear s2 d_od2 d hodnoty_pro_d
[d2,d_od2]= vzd_odraz_koryto(vyska_lodi,vyska_satelitu,uhel_odchylky_koryta,vzdalenost,vzdalenost_od_brehu);
clear d hodnoty_pro_d
d = vyska_lodi:krok:vyska_lodi_max;
hodnoty_pro_d = vyska_lodi:krok:vyska_lodi_max;

    clear a b E E1 r
    r=1;
    for x=d
        
        [a,b]=vzdalenosti2paprsky(x,vyska_satelitu,vzdalenost);
        [c,d1]=vzd_odraz_koryto(x,vyska_satelitu,uhel_odchylky_koryta,vzdalenost,vzdalenost_od_brehu);
        E=intenzitavbode(a,b,E0,frekvence,koef_odrazu_vody,vzdalenost,vzdalenost_mostu_1,vzdalenost_mostu_2)+odraz_koryto(d1,E0,frekvence,koef_odrazu_koryta)+odraz_koryto(d1,E0,frekvence,koef_odrazu_koryta)+2*dvojityodraz(d1,x,vyska_satelitu,vzdalenost,uhel_odchylky_koryta,E0,frekvence,koef_odrazu_koryta,koef_odrazu_vody);
       % E=E+((intenzita_od_difrakce(vzdalenost,vzdalenost_mostu_1,x,vyska_satelitu,frekvence,vyska_mostu_1,0))*(pouze_primy(a,E0,frekvence)));
       % E=E+((intenzita_od_difrakce(vzdalenost,vzdalenost_mostu_2,x,vyska_satelitu,frekvence,vyska_mostu_2,0))*(pouze_primy(a,E0,frekvence)));
       % E=E+difrakceavoda(frekvence,vyska_lodi,vyska_satelitu,vyska_mostu_1,vzdalenost,vzdalenost_mostu_1,E0,koef_odrazu_vody);
       % E=E+difrakceavoda(frekvence,vyska_lodi,vyska_satelitu,vyska_mostu_2,vzdalenost,vzdalenost_mostu_2,E0,koef_odrazu_vody);
        E1=20*log10(abs(E));
        hodnoty_pro_d(r)=E1;
        r=r+1;
       
     end

%figure
%plot(d,hodnoty_pro_d)
%xlabel('vyska lodi [m]');
%ylabel('přijatá úroveň [dB]');
grid on




%%


clear d hodnoty_pro_d r

r=1;
d = vzdalenost_mostu:krok:vzdalenost;
hodnoty_pro_d = vzdalenost_mostu:krok:vzdalenost;
hodnoty_EE0 = vzdalenost_mostu:krok:vzdalenost;
    for x=d
    
        hodnoty_pro_d(r)=vypocek_koef_v(x,vzdalenost_mostu,vyska_lodi,vyska_satelitu,frekvence,vyska_mostu_1);
        hodnoty_EE0(r)=intenzita_od_difrakce(x,vzdalenost_mostu,vyska_lodi,vyska_satelitu,frekvence,vyska_mostu_1);
        r=r+1;
    end

figure
%plot(d,hodnoty_pro_d)
grid on

figure
%plot(d,hodnoty_EE0)
grid on



     
     