Энергетический расчет канала дальней тропосферной радиосвязи (Программа для ЭВМ) [Владимир Иванович Шлома] (fb2) читать постранично, страница - 3

- Энергетический расчет канала дальней тропосферной радиосвязи (Программа для ЭВМ) 1.43 Мб, 70с. скачать: (fb2)  читать: (полностью) - (постранично) - Владимир Иванович Шлома

 [Настройки текста]  [Cбросить фильтры]

уплотнении)']);

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

if P<0 || P >20000

msgbox('Мощность ПРД введена некорректно')

error= error+1

end

if Pfr>0 || Pfr <-10

msgbox('Потери в ПРД фидере введены некорректно')

error= error+1

end

if Gr <0 || Gr>70

msgbox('Усиление антенны введено некорректно')

error= error+1

end

if a<0 || a >10

msgbox('Ширина ДН антенны введена некорректно')

error= error+1

end

if h<0 || h >20

msgbox('Высота подъёма антенны введена некорректно')

error= error+1

end

if Ugr<0 || Ugr >5

msgbox('Угол горизонта введён некорректно')

error= error+1

end

if n<1 || n>2 && n<4 || n>4

msgbox('Краткость разнесения введена некорректно')

error= error+1

end

if Fe <0 || Fe > 20

msgbox('Коэффициент шума введен некорректно')

error= error+1

end

if Pfp>0 || Pfp <-10

msgbox('Потери в ПРМ введены некорректно')

error= error+1

end

if Gp <0 || Gp>70

msgbox('Усиление антенны введено некорректно')

error= error+1

end

if Ugp<0 || Ugp >5

msgbox('Угол горизонта введен некорректно')

error= error+1

end

end

if error==0;

if tipcan==2;

if Tm==1

LK_data_AM();

elseif Tm==2

LK_data_ChM();

elseif Tm==3

LK_data_FM();

elseif Tm==4

LK_data_OFT();

elseif Tm==5

LK_data_OFDM();

end

elseif tipcan==1;

LK_data_v02();

end

end

function edit19_Callback(hObject, eventdata, handles)

function edit19_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function edit20_Callback(hObject, eventdata, handles)

function edit20_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function listbox2_Callback(hObject, eventdata, handles)

function listbox2_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function edit15_Callback(hObject, eventdata, handles)

function edit15_CreateFcn(hObject, eventdata, handles)

if