Энергетический расчет канала дальней тропосферной радиосвязи (Программа для ЭВМ). Владимир Иванович Шлома. Читать онлайн. Newlib. NEWLIB.NET

Автор: Владимир Иванович Шлома
Издательство: Автор
Серия:
Жанр произведения: Техническая литература
Год издания: 2017
isbn:
Скачать книгу
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