b1=-45.48;
c1=8.023;
a2=14.88;
b2=-3.284;
c2=8.104;
elseif R2==200
a1=1.439e9;
b1=-52.15;
c1=12.28;
a2=3.78;
b2=3.267;
c2=3.428;
elseif R2==300
a1=7835;
b1=-4.066;
c1=3.974;
a2=-7425;
b2=-3.92;
c2=3.917;
elseif R2==400
a1=8.829e13;
b1=-47.8;
c1=9.207;
a2=-4457;
b2=-6.454;
c2=3.497;
end
Lh=a1*exp(-((X-b1)/c1)^2)+a2*exp(-((X-b2)/c2)^2); else
Lh=0;
end
La=0.07*exp(0.055*(Gr+Gp));
Ldop=Lmed+Lz+Lp+Lh+La+Lk;
L1m=L0r+Ldop;
Lm1m=L1m-Lz;
Lm1c=Lm1m+4.676*exp(-((R-124.9)/332.4)^2)+3.165*exp(-((R-3828)/508.3)^2);
Lm1g=Lm1c-14.96*exp(-((R-74.66)/492.7)^2
if Tp==4
Lm1z=Lm1g;
elseif Tp==3 ||Tp==1
Lm1z=Lm1m;
else
Lm1z=Lm1c;
end
L1=Lm1z+Lz;
disp(['L1=', num2str(L1),' дБ (полное затухание)']);
Pvh1=10*log10(P)-L1;
Pvh1vt=10^(Pvh1/10); \
disp(['Pvh1=', num2str(Pvh1),' дБ (мощность сигнала на входе приемника)']);
disp(['Pvh1=', num2str(Pvh1vt),' вт (мощность сигнала на входе приемника)']);
if kan==1|| tipcan==1 \
disp(['L1med=', num2str(Lm1z),' дБ (медианные потери для заданного периода оценки)']);
Pvh1med=10^((10*log10(P)-Lm1z)/10);
disp(['Pvh1med=', num2str(Pvh1med),' вт (медианная мощность сигнала на входе приемника)']);
Pch1=4e-21*10^(Fe/10)*Nk*3100;
Pcht1=6975e-24*10^(Fe/10)*(Fk/dfk)^2/Pvh1vt;
h0t1=10*log10(1e-3/Pcht1);
h01=1e-3/Pcht1;
disp(['h01=', num2str(h01),'(отношение с/ш на входе детектора)']);
disp(['h0t1=', num2str(h0t1),' дБ (отношение с/ш на выходе тлф канала)']);
disp(['Pcht1=', num2str(Pcht1),' Вт (мощность шума в тлф канале, в точке, где Рс=1мВт)']);
disp(['Pch1=', num2str(Pch1),' Вт (мощность шума на входе приемника при частотном уплотнении)']);
elseif kan==2 && tipcan==2
Pch1=4e-21*10^(Fe/10)*V*1000;
h01=(10^(Pvh1/10))/Pch1;
disp(['h01=', num2str(h01),'(отношение с/ш на входе приемника и на входе детектора)']);
L1m=Lm1z+Lmz;
disp(['L1med=', num2str(L1m),' дБ (затухание тлг канала без быстрых замираний)']);
Pvh1med=10^((10*log10(P)-L1m)/10);
disp(['Pvh1med=', num2str(Pvh1med),' Вт (медианная мощность сигнала на входе приемника тлг канала)']);
disp(['Pch1=', num2str(Pch1),' Вт (мощность шума на входе приемника в Вт при непосредственной модуляции)']);
end
Lpred=10*log10(P)-10*log10(Pch1)-B;
disp(['Lpred=', num2str(Lpred),' дБ (допустимое значение полных потерь)']);
Zap1=Lpred-L1;
disp(['Zap1=', num2str(Zap1),' дБ (энергетический запас трассы)']);
if Zap1<1 && Zap1>0.5
Rpred=R;
else
Lp=Ldop-Lmed;
if abs(Zap1)<3
Kd=L0r/((L1-Lp)*2);
else
Kd=L0r/(L1-Lp);
end
Rpred=l*1e-5*10^((L0+Kd*(Zap1-0.7))/20)/(4*pi);
end
disp(['Rpred=', num2str(Rpred),' км (предельная дальность связи)']);
disp('Введите № климата 1-6 в соответствии с картой, или 7 – морской')
if Nk==1
Ma=39.60;
Ya=0.33;
Ur=3;
elseif Nk==2 || Nk==5
Ma=29.73;
Ya=0.27;
Ur=1;
elseif Nk==3
Ma=19.30;
Ya=0.32;
Ur=4;
elseif Nk==4
Ma=38.50;
Ya=0.27;
Ur=5;
elseif Nk==6
Ma=33.20;
Ya=0.27;
Ur=1;
elseif Nk==7
Ma=26.00;
Ya=0.27;
Ur=2;
end
tet=((Ugr+Ugp)*pi*1e3)/180+0.12*R;
Hn=1e-3*tet*R/4;
hn=4e-6*tet^2*6370/24;
Ln=20*log10(5+Ya*Hn)+4.34*Ya*hn;
ds=8.4933*tet;
if Ur==1
Y90=-2.2-(8.1-2.3e-4*min(f,4000))*exp(-0.137*hn);
elseif Ur==2
Y90=-9.5-3*exp(-0.137*hn);
elseif Ur==3
if ds<100
Y90=-8.2;
elseif 100<ds<1000
Y90=1.006e-8*ds^3-2.569e-5*ds^2+0.02242*ds-10.2;
else
Y90=-3.4;
end
elseif Ur==4
if ds<100
Y90=-10.845;
elseif 100<ds<550
Y90=-4.5e-7*ds^3+4.45e-4*ds^2-0.122*ds-2.645;
else
Y90=-8.4;
end
elseif Ur==5
if ds<100
Y90=-11.5;
elseif 100<ds<1000
Y90=-8.519e-8*ds^3+7.444e-5*ds^2+4.18e-4*ds-12.1;
else
Y90=-4;
end
end
Cq=1.473e14*exp(-((Tpr-108.8)/1.534)^2)-0.2272*exp(-((Tpr-95.58)/7.786)^2)+9.047*exp(-((Tpr-153.3)/44.08)^2);
Yq=Cq*Y90;
La=0.07*exp(0.055*(Gr+Gp));
L2g=Ma+30*log10(f)+10*log10(R)+30*log10(tet)+Ln+La-Gr-Gp-Pfr-Pfp-Yq;
dq=R+8.5*((Ugr+Ugp)*pi*1e3)/180;
if abs(Tpr-50)<abs(Tpr-90)
q=50;
elseif abs(Tpr-90)<abs(Tpr-95)
q=90;
elseif abs(Tpr-95)<abs(Tpr-99)
q=95;
elseif abs(Tpr-99)<abs(Tpr-99.9)
q=99;
else
q=99.9;
end
if Nk==1
if q==50
p1=-4.238e-7;
p2=-0.0008043;
p3=4.185;
elseif q==90
p1=3.111e-7;
p2=-0.001963;
p3=4.108;
elseif q==95
p1=7.556e-7;
p2=-0.002476;
p3=3.956;
elseif q==99
p1=4.225e-7;
p2=-0.002412;
p3=3.701;
elseif q==99.9
p1=-3.766e-8;
p2=-0.00114;
p3=3.072;
end
elseif Nk==2 || Nk==3
if q==50
p1=2.506e-6;
p2=-0.006031;
p3=7.07;
elseif q==90
p1=2.376e-6;
p2=-0.005205;
p3=5.933;
elseif q==95
p1=1.857e-6;
p2=-0.004377;
p3=5.44;
elseif q==99
p1=1.009e-6;
p2=-0.003069;
p3=4.821;
elseif q==99.9
p1=2.279e-7;
p2=-0.001305;
p3=3.59;
end
elseif Nk==4
if q==50
p1=4.952e-6;
p2=-0.01447;
p3=12.99;
elseif q==90
p1=4.596e-6;
p2=-0.01175;
p3=10.12;
elseif q==95
p1=4.776e-6;
p2=-0.01076;
p3=8.707;
elseif q==99
p1=2.23e-6;
p2=-0.00675;
p3=6.837;
elseif q==99.9
p1=2.229e-6;
p2=-0.005639;
p3=5.548;
end
elseif Nk==5||Nk==6||Nk==7
if q==50
p1=5.358e-6;
p2=-0.1255;
p3=10.25;
elseif q==90
p1=5.507e-6;
p2=-0.0118;
p3=9.033;
elseif q==95
p1=3.981e-6;
p2=-0.00935;
p3=7.91;
elseif q==99
p1=3.349e-6;
p2=-0.008022;
p3=7.169;
elseif q==99.9
p1=2.489e-7;
p2=-0.006297;
p3=6.122;
end
end
dL=p1*dq^2+p2*dq+p3;
L2m=L2g+dL;
L2c=L2m+4.676*exp(-((R-124.9)/332.4)^2)+3.165*exp(-((R-3828)/508.3)^2);
if Tp==4
L2med=L2g;
elseif Tp==3
L2med=L2m;
else
L2med=L2c;
end
[Lbz]=Lbzam(Tpr,n);
L2=L2med+Lbz;
Pvh2med=10*log10(P)-L2med;
Pvh2medvt=10^(Pvh2med/10);
Pvh2=10*log10(P)-L2;
Pvh2vt=10^(Pvh2/10);
disp(['L2med=', num2str(L2med),' дБ (медианные потери для заданного периода)']);
disp(['L2=', num2str(L2),' дБ (полные потери для заданного периода с учетом релеевских замираний)']);
disp(['Pvh2med=', num2str(Pvh2medvt),' Вт (медианная мощность сигнала на входе)']);
disp(['Pvh2=', num2str(Pvh2vt),' Вт (мощность сигнала на входе)']);
if kan==1|| tipcan==1
Pch2=4e-21*10^(Fe/10)*nk*3100
Pcht2=6975e-24*10^(Fe/10)*(Fk/dfk)^2/Pvh2vt;
h0t2=10*log10(1e-3/Pcht2);
h02=1e-3/Pcht2;
disp(['h02=', num2str(h02)]),'(отношение с/ш на входе детектора)';
disp(['h0t2=', num2str(h0t2),' дБ (отношение с/ш на выходе тлф канала)']);
elseif kan==2 && tipcan==2
Pch2=4e-21*10^(Fe/10)*V*1000;
h02=(10^(Pvh2/10))/Pch2;
disp(['h02=', num2str(h02),'(отношение с/ш на входе приемника и на входе детектора)']);
end
Zap2=Lpred-L2;
disp(['Zap2=', num2str(Zap2),' дБ (энергетический запас трассы)']);
error=0;
if error==0
if f <600 || f>6000
msgbox('Рабочая частота введена некорректно')
error= error+1
end