Энергетический расчет канала дальней тропосферной радиосвязи (Программа для ЭВМ)
listbox10_Callback(hObject, eventdata, handles)
global Sez
contents = get(hObject,'Value');
switch contents
case 1
Sez=1;
case 2
Sez = 2;
case 3
Sez = 3;
otherwise
end
function listbox10_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function listbox11_Callback(hObject, eventdata, handles)
global Tp
contents = get(hObject,'Value');
switch contents
case 1
Tp=1;
case 2
Tp = 2;
case 3
Tp = 3;
case 4
Tp = 4;
otherwise
end
function listbox11_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function pushbutton1_Callback(hObject, eventdata, handles)
global Pvh1vt
global Lm1z
global Pvh1med
global L2z
global L2
global Pvh2
global h02
global Zap2
global h0t1
global Lz
global h01
global L1
global Zap1
global Rpred
global Lbz
global L0
global Lmz
global Pvh2medvt
global tipcan
global n
global TIPp
global Tm
global kan
global Sez
global Tp
global L0r
global L2med
global Pvh2vt
global m
global h0t2
global Pcht1
global Nk
global Pch2
global Lk
f = str2num(char(get(handles.edit1,'String')))
P=str2num(char(get(handles.edit2,'String'))); Pfr=str2double(char(get(handles.edit3,'String')));
Gr=str2num(char(get(handles.edit4,'String')));
a=str2double(char(get(handles.edit5,'String')));
h=str2num(char(get(handles.edit6,'String')));
Ugr=str2num(char(get(handles.edit7,'String')));
Fe=str2double(char(get(handles.edit8,'String')));
Pfp=str2double(char(get(handles.edit9,'String')));
Gp=str2num(char(get(handles.edit10,'String')));
Ugp=str2num(char(get(handles.edit13,'String')));
dfk=str2num(char(get(handles.edit22,'String')));
nk=str2num(char(get(handles.edit21,'String')));
m=str2num(char(get(handles.edit23,'String')));
V=str2num(char(get(handles.edit24,'String')));
R=150;
dF=40;
Fk=nk*3100-1250;
Po=1e-4;
Tpr=99.0;
if Sez==1
disp('Введите климатические потери для района работы радиолинии в соответствии с картой')
Lk=str2num(char(get(handles.edit14,'String'))) ;
elseif Sez==2
Lk=str2num(char(get(handles.edit14,'String')));
end
l=30000/f; L0=22+20*log10(R*1e5/l);
L0r=22+20*log10(R*1e5/l)-Gr-Gp-Pfr-Pfp; disp(['L0r=', num2str(L0r),' дБ (потери в свободном пространстве при реальных антеннах)']);
Lmed=62.92*exp(-((l+18.19)/174)^2)+(0.07608*l^(-0.4984)+0.06596)*R; sig=5.116*exp(-((R-205.7)/577.5)^2);
if Sez==2
Lmed=Lmed-12;
sig=4.676*exp(-((R-124.9)/332.4)^2)+3.165*exp(-((R-382)/508.3)^2);
elseif Sez==3
Lmed=Lmed-6;
sig=6.118*exp(-((R-158.6)/547.8)^2); end
if tipcan==2
[Lbz]=Lbzam(Tpr,n);
sig1=0.177*exp(0.2585*sig)-23.48*exp(-0.2856*sig); F=0;
for x=0:0.5:30;
F=1/2+1/2*erf(log(10^(x/20))/(10^(sig1/20)));
if F>=Tpr/100
break;
end
end
Lmz=x;
Lz=Lbz+Lmz;
if Tm==1
B=10*log10(-4/n*log(2^n*Po
elseif Tm==2
B=10*log10(-2/n*log(2^n*Po));
elseif Tm==3 || Tm==4 || Tm==5
B=10*log10(-1/n*log(2^n*Po));
end
disp(['Lbz=', num2str(Lbz),' дБ (потери от быстрых замираний)']);
disp(['Lmz=', num2str(Lmz),' дБ (потери от медленных замираний)']);
elseif tipcan==1
B=35;
if sig<3
sig=3;
elseif sig>7
sig=7;
end
sigma=fix(sig);
[ Lz1 ] = Lzam(Tpr, n, sigma);
sigma=fix(sig)+1;
if sigma>7
Lz2=Lz1;
else
[ Lz2 ] = Lzam(Tpr, n, sigma);
end
sigdr=sig-fix(sig);
Lz=Lz1+(Lz2-Lz1)*sigdr;
end
disp(['Lz=', num2str(Lz),' дБ (потери от медленных и быстрых замираний)']);
delta=Ugr+Ugp+0.056*sqrt(h);
if