if abs(R-300) R1=300;
elseif abs(R-250) R1=250;
elseif abs(R-200) R1=200;
elseif abs(R-150) R1=150;
else
R1=100;
end
if R1==100
a1=10.09;
b1=0.2266;
c1=-10.33;
d1=-1.994;
elseif R1==150
a1=9.399;
b1=0.1913;
c1=-9.604;
d1=-1.576;
elseif R1==200
a1=7.04;
b1=0.2457;
c1=-7.011;
d1=-1.612;
elseif R1==250
a1=7.807;
b1=0.1683;
c1=-7.757;
d1=-1.013;
elseif R1==300
a1=7.073;
b1=0.2235;
c1=-7.159;
d1=-1.404;
end
Lp=a1*exp(b1*delta)+c1*exp(d1*delta);
X=h*100/l;
if X<12
if abs(R-400) R2=400;
elseif abs(R-300) R2=300;
elseif abs(R-200) R2=200;
elseif abs(R-150) R2=150;
else
R2=100;
end
if R2==100
a1=1.983e15;
b1=-54.05;
c1=9.514;
a2=18.74;
b2=-6.452;
c2=11.95;
elseif R2==150
a1=1.661e15;
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 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 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 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) q=50;
elseif abs(Tpr-90) q=90;
elseif abs(Tpr-95) q=95;
elseif abs(Tpr-99) 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 ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit16_Callback(hObject, eventdata, handles)
function edit16_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function listbox3_Callback(hObject, eventdata, handles)
function listbox3_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function radiobutton1_Callback(hObject, eventdata, handles)
function radiobutton2_Callback(hObject, eventdata, handles)
function edit23_Callback(hObject, eventdata, handles)
function edit23_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit24_Callback(hObject, eventdata, handles)
function edit24_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
LbZam.m
function [ Lbz ] = Lbzam(Tpr,n)
if n==1
Lbz=abs(20*log10(0.8414*sqrt(-2*log(Tpr/100))));
elseif n==2
pp2.form='pp';
pp2.breaks=[50 70 80 90 95 98 99 99.5000 99.9000 99.9900];
pp2.coefs=[3.84210275826828e-05,0,0.0796329235178138,-3.70000622094116;-8.80037940540999e-05,0.00230526165496097,0.125738156617033,-1.79997952992342;0.000378860333770322,-0.000334852166662026,0.145442251500023,-0.400075592311095;0.00209556468655813,0.0110309578464476,0.252403308297879,1.39972203979325;0.00544230028577507,0.0424644281448196,0.519880238254215,3.19945811326360;1.31340755735463,0.0914451307167953,0.921608914839060,5.28822078904555;-0.630095933072249,4.03166780278070,5.04472184833655,7.61468239195604;-1.03894174768381,3.08652390317233,8.60381770131306,11.0661982751855;-6.81405113315541,1.83979380595174,10.5743447849627,14.9350769083666;];
pp2.pieces=9;
pp2.order=4;
pp2.dim=1;
Lbz=ppval(pp2,Tpr);
elseif n==4
pp4.form='pp';
pp4.breaks=[50 70 80 90 95 98 99 99.5000 99.9000 99.9900];
pp4.coefs=[3.66286868444963e-05,0,0.0453526263896390,-6.20001612140725;-0.000113102179577539,0.00219772121066978,0.0893070506030345,-4.99993409885850;0.000326883867208858,-0.00119534417665639,0.0993308209431684,-4.00019365133871;-0.000727365934956800,0.00861117183960936,0.173489097572698,-2.79953599236381;0.0168400327937770,-0.00229931718474264,0.205048370847032,-1.80773195037969;0.604392422407672,0.149260977959251,0.645933353170556,-0.758599807069293;-0.397553159541230,1.96243824518227,2.75763257631207,0.640986946468185;-0.762714404274230,1.36610850587042,4.42190595183842,2.46071865097713;-1.66981933607921,0.450851220741332,5.14868984248313,4.39924467077825;];
pp4.pieces=9;
pp4.order=4;
pp4.dim=1;
Lbz=ppval(pp4,Tpr);
end
end
Lzam.m
function [ Lz ] = Lzam(x, n, sigma)
if n==1
if sigma==3
a1=8.876e15;
b1=142.9;
c1=7.333;
a2=0;
b2=1;
c2=1;
a3=123.4;
b3=164.9;
c3=46.83;
elseif sigma==4
a1=7.495e15;
b1=141.8;
c1=7.16;
a2=0;
b2=1;
c2=1;
a3=115;
b3=166.9;
c3=49.85;
elseif sigma==5
a1=1.303e16;
b1=138.8;
c1=6.584;
a2=234.6;
b2=184.3;
c2=54.24;
a3=0;
b3=1;
c3=1;
elseif sigma==6
a1=8.011e14;
b1=117.5;
c1=3.09;
a2=5.627;
b2=100.5;
c2=2.282;
a3=39.18;
b3=137.5;
c3=45.42;
elseif sigma==7
a1=3.08e15;
b1=130.4;
c1=5.274;
a2=35.63;
b2=59.72;
c2=25.03;
a3=74.15;
b3=123.8;
c3=21.46;
end
elseif n==2
if sigma==3
a1=3.634;
b1=100.1;
c1=0.2605;
a2=1.424e15;
b2=181.3;
c2=14.05;
a3=7302;
b3=231.9;
c3=50.68;
elseif sigma==4
a1=234;
b1=100.8;
c1=0.4421;
a2=6.382e16;
b2=179.1;
c2=12.98;
a3=1615;
b3=219;
c3=52.85;
elseif sigma==5
a1=4.173e15;
b1=130.9;
c1=5.308;
a2=69.67;
b2=140.1;
c2=30.56;
a3=0;
b3=1;
c3=1;
elseif sigma==6
a1=5.952e14;
b1=113.5;
c1=2.384;
a2=4.38;
b2=100.4;
c2=2.216;
a3=15.26;
b3=112.7;
c3=24.18;
elseif sigma==7
a1=2.977;
b1=99.89;
c1=0.0954;
a2=1.88e15;
b2=182.8;
c2=14.36;
a3=12400;
b3=568;
c3=126.3;
end
elseif n==4
if sigma==3
a1=1.386;
b1=99.91;
c1=0.1078;
a2=-24.82;
b2=103.8;
c2=5.008;
a3=67530;
b3=143.8;
c3=15.46;
elseif sigma==4
a1=2271;
b1=102.4;
c1=0.9524;
a2=179.7;
b2=114.6;
c2=13.67;
a3=-86.2;
b3=108.2;
c3=10.75;
elseif sigma==5
a1=9.461e14;
b1=124.6;
c1=4.296;
a2=0.4379;
b2=91.79;
c2=3.112;
a3=1429;
b3=189.1;
c3=40.17;
elseif sigma==6
a1=6.402e15;
b1=133.6;
c1=5.704;
a2=0;
b2=100.5;
c2=2.282;
a3=122.7;
b3=160.2;
c3=39.06;
elseif sigma==7
a1=6.102e15;
b1=129.6;
c1=5.049;
a2=0;
b2=59.72;
c2=25.03;
a3=129.3;
b3=161.5;
c3=40.62;
end
end
Lz=a1*exp(-((x-b1)/c1)^2)+a2*exp(-((x-b2)/c2)^2)+a3*exp(-((x-b3)/c3)^2);
end
kramp.m
function [Kr] = kramp(x)
K=2/sqrt(2*pi)*int(sym('exp(-t^2/2)'),'t',0,x);
Kr=double(vpa(K,5));
end
poly_approx.m
clc
clear
x = [100 150 200 250 300 350 400];
y = [15 14.5 14 13.2 12.2 11 9.6];
p = polyfit(x, y, 6)
f = polyval(p, x);
f = polyval(p, x);
plot(x, y, 'ob', x, f, '-g')
cftool
LK_data_AM.m
function varargout = LK_data_AM(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, …
'gui_Singleton', gui_Singleton, …
'gui_OpeningFcn', @LK_data_AM_OpeningFcn, …
'gui_OutputFcn', @LK_data_AM_OutputFcn, …
'gui_LayoutFcn', [] , …
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
function LK_data_AM_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
global Pvh1vt
global Lm1z
global Pvh1med
global L2
global h02
global Zap2
global h0t1
global Lz
global h01
global L1
global Zap1
global Rpred
global Lbz
global Lmz
global Pvh2medvt
global Tm
global m
global L0r
global L2med
global Pvh2vt
global h0t2
set(handles.edit1, 'String', L0r);
set(handles.edit2, 'String', Lbz);
set(handles.edit3, 'String', Lmz);
set(handles.edit4, 'String', Lz);
set(handles.edit5, 'String', Lm1z);
set(handles.edit6, 'String', L1);
set(handles.edit7, 'String', Pvh1med);
set(handles.edit8, 'String', Pvh1vt);
set(handles.edit9, 'String', h01);
set(handles.edit11, 'String', Zap1);
set(handles.edit12, 'String', Rpred);
set(handles.edit14, 'String', L0r);
set(handles.edit16, 'String', Lbz);
set(handles.edit17, 'String', Lmz);
set(handles.edit18, 'String', Lz);
set(handles.edit19, 'String', L2med);
set(handles.edit20, 'String', L2);
set(handles.edit21, 'String', Pvh2medvt);
set(handles.edit22, 'String', Pvh2vt);
set(handles.edit23, 'String', h02);
set(handles.edit25, 'String', Zap2);
if Tm~=5
disp('Аналоговая обработка сигнала');
if Tm==1
disp('Амплитудная манипуляция');
x=sqrt(h01/2);
Kr1=kramp(x);
Pk1=(1-Kr1)/2;
x=sqrt(h02/2);
Kr2=kramp(x);
Pk2=(1-Kr2)/2;
set(handles.edit13, 'String', Pk1);
set(handles.edit26, 'String', Pk2);
disp(['Poh1=', num2str(Pk1),' когерентный прием']);
disp(['Poh2=', num2str(Pk2),' когерентный прием']);
Pn1=exp(-h01/4)/2;
Pn2=exp(-h02/4)/2;
set(handles.edit15, 'String', Pn1);
set(handles.edit27, 'String', Pn2);
disp(['Poh1=', num2str(Pn1),' некогерентный прием']);
disp(['Poh2=', num2str(Pn2),' некогерентный прием']);
elseif Tm==2
disp('Частотная манипуляция');
x=sqrt(h01);
Kr1=kramp(x);
Pk1=(1-Kr1)/2;
x=sqrt(h02);
Kr2=kramp(x);
Pk2=(1-Kr2)/2;
disp(['Poh1=', num2str(Pk1),' когерентный прием']);
disp(['Poh2=', num2str(Pk2),' когерентный прием']);
Pn1=exp(-h01/2)/2;
Pn2=exp(-h02/2)/2;
disp(['Poh1=', num2str(Pn1),' некогерентный прием']);
disp(['Poh2=', num2str(Pn2),' некогерентный прием']);
elseif Tm==3
disp('Фазовая манипуляция');
x=sqrt(2*h01);
Kr1=kramp(x);
Pk1=(1-Kr1)/2;
x=sqrt(2*h02);
Kr2=kramp(x);
Pk2=(1-Kr2)/2;
disp(['Poh1=', num2str(Pk1),' когерентный прием']);
disp(['Poh2=', num2str(Pk2),' когерентный прием']);
elseif Tm==4
disp('Относительная фазовая манипуляция');
x=sqrt(2*h01);
Kr1=kramp(x);
Pk1=(1-Kr1)^2/2;
x=sqrt(2*h02);
Kr2=kramp(x);
Pk2=(1-Kr2)^2/2;
disp(['Poh1=', num2str(Pk1),' сравнение полярностей']);
disp(['Poh2=', num2str(Pk2),' сравнение полярностей']);
Pn1=exp(-h01)/2;
Pn2=exp(-h02)/2;
disp(['Poh1=', num2str(Pn1),' сравнение фаз']);
disp(['Poh2=', num2str(Pn2),' сравнение фаз']);
end
end
disp('Цифровая обработка сигнала');
h01c=h01*log2(m);
h02c=h02*log2(m);
if Tm==1
disp('Амплитудная модуляция');
disp('Однополярные прямоугольные импульсы');
x=sqrt(h01c/(m-1)^2);
Kr1=kramp(x);
Pk1=(m-1)/m*(1-Kr1);
x=sqrt(h02c/(m-1)^2);
Kr2=kramp(x);
<1000<><550<><1000<>