Энергетический расчет канала дальней тропосферной радиосвязи (Программа для ЭВМ) бесплатное чтение

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

Реферат

Программа предназначена для проведения на ЭВМ энергетического расчета канала связи дальней тропосферной радиосвязи по двум методикам. Расчет радиосвязи производится при различных видах модуляций, для любого времени года и для любого места, выбранного на карте. Программа работает в среде Matlab.

Программа обеспечивает выполнение следующих функций:

– 

расчет затухания в свободном пространстве при реальных антеннах;

– 

расчет быстрых замираний;

– 

расчет медленных замираний;

– 

расчет медианных затуханий;

– 

расчет полного затухания;

– 

расчет медианной мощности сигнала на выходе приемника;

– 

расчет мощности сигнала на входе приемника;

– 

расчет энергетического запаса трассы;

– 

расчет предельной дальности связи;

– 

расчет отношения сигнал/шум на входе приемника;

– 

расчет вероятности ошибки при заданном виде модуляции.


Тип ЭВМ: IBM PC-совместимые ПК.

Язык: Matlab.

IDE: MatlabR2014b.

ОС: Windows XP/Vista/7/8/10.

Объем исполнимого файла: 1,4 Мб.

Исходный код программы


main.m

function varargout = main(varargin)

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, …

'gui_Singleton', gui_Singleton, …

'gui_OpeningFcn', @main_OpeningFcn, …

'gui_OutputFcn', @main_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 main_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;

global Nk

global tipcan

global n

global Tm

global kan

global Sez

global Tp

global Lk

Lk=1;

Tp=1;

Sez=1;

kan=2;

Tm=1;

n=1;

tipcan=1;

Nk=1;

set(handles.uipanel13,'visible','on');

set(handles.uipanel12,'visible','off');

guidata(hObject, handles);

function varargout = main_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

function pushbutton2_Callback(hObject, eventdata, handles)

global Sez

if Sez ==1;

picture();

end

if Sez ==2;

picture_2();

end

if Sez ==3;

picture_3();

end

function edit14_Callback(hObject, eventdata, handles)

function edit14_CreateFcn(hObject, eventdata, handles)

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

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

end

function popupmenu2_Callback(hObject, eventdata, handles)

global Nk

contents = get(hObject,'Value');

switch contents

case 1

Nk=1;

case 2

Nk = 2;

case 3

Nk = 3;

case 4

Nk = 4;

case 5

Nk = 5;

case 6

Nk = 6;

case 7

Nk = 7;

otherwise

end

function popupmenu2_CreateFcn(hObject, ~, handles)

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

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

end

function pushbutton3_Callback(hObject, eventdata, handles)

picture_3();

function listbox1_Callback(hObject, eventdata, handles)

contents = get(hObject,'Value');

global TIPp

switch contents

case 1

TIPp=1;

case 2

TIPp = 2;

end

function listbox1_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit8_Callback(hObject, eventdata, handles)

function edit8_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit9_Callback(hObject, eventdata, handles)

function edit9_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit10_Callback(hObject, eventdata, handles)

function edit10_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit11_Callback(hObject, eventdata, handles)

function edit11_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit12_Callback(hObject, eventdata, handles)

function edit12_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit13_Callback(hObject, eventdata, handles)

function edit13_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit1_Callback(hObject, eventdata, handles)

function edit1_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit2_Callback(hObject, eventdata, handles)

function edit2_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit3_Callback(hObject, eventdata, handles)

function edit3_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit4_Callback(hObject, eventdata, handles)

function edit4_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit5_Callback(hObject, eventdata, handles)

function edit5_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit6_Callback(hObject, eventdata, handles)

function edit6_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit7_Callback(hObject, eventdata, handles)

function edit7_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit21_Callback(hObject, eventdata, handles)

function edit21_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit22_Callback(hObject, eventdata, handles)

function edit22_CreateFcn(hObject, eventdata, handles)

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

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

end

function popupmenu1_Callback(hObject, eventdata, handles)

contents = get(hObject,'Value');

global n

switch contents

case 1

n=1;

case 2

n = 2;

case 3

n = 4;

end

function popupmenu1_CreateFcn(hObject, eventdata, handles)

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

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

end

function radiobutton5_Callback(hObject, eventdata, handles)

global tipcan

if get (handles.radiobutton5,'value') == 1

set(handles.radiobutton6,'value',0);

set(handles.uipanel13,'visible','off');

set(handles.uipanel12,'visible','on');

tipcan=2;

end

function radiobutton6_Callback(hObject, eventdata, handles)

global tipcan

if get (handles.radiobutton6,'value') == 1

set(handles.radiobutton5,'value',0);

set(handles.uipanel13,'visible','on');

set(handles.uipanel12,'visible','off');

tipcan=1;

end

function listbox6_Callback(hObject, eventdata, handles)

global Tm

contents = get(hObject,'Value');

switch contents

case 1

Tm=1;

case 2

Tm = 2;

case 3

Tm = 3;

case 4

Tm = 4;

case 5

Tm = 5;

otherwise

end

function listbox6_CreateFcn(hObject, eventdata, handles)

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

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

end

function listbox7_Callback(hObject, eventdata, handles)

global kan

contents = get(hObject,'Value');

switch contents

case 1

kan=2;

case 2

kan = 1;

otherwise

end

function listbox7_CreateFcn(hObject, eventdata, handles)

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

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

end

function 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 abs(R-300)<abs(R-250)

R1=300;

elseif abs(R-250)<abs(R-200)

R1=250;

elseif abs(R-200)<abs(R-150)

R1=200;

elseif abs(R-150)<abs(R-100)

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)<abs(R-300)

R2=400;

elseif abs(R-300)<abs(R-200)

R2=300;

elseif abs(R-200)<abs(R-150)

R2=200;

elseif abs(R-150)<abs(R-100)

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<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 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);

Pk2=(m-1)/m*(1-Kr2);

set(handles.edit33, 'String', Pk1);

set(handles.edit37, 'String', Pk2);

disp(['Poh1=', num2str(Pk1),' когерентный прием']);

disp(['Poh2=', num2str(Pk2),' когерентный прием']);

x=sqrt(h01c/(2*(m-1)^2));

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(h02c/(2*(m-1)^2));

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

set(handles.edit32, 'String', Pk1);

set(handles.edit36, 'String', Pk2);

disp(['Poh1=', num2str(Pk1),' некогерентный прием']);

disp(['Poh2=', num2str(Pk2),' некогерентный прием']);

disp('Биполярные прямоугольные импульсы');

x=sqrt(2*h01c/(m-1)^2);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(2*h02c/(m-1)^2);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

set(handles.edit35, 'String', Pk1);

set(handles.edit39, 'String', Pk2);

disp(['Poh1=', num2str(Pk1),' когерентный прием']);

disp(['Poh2=', num2str(Pk2),' когерентный прием']);

x=sqrt(h01c/(m-1)^2);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(h02c/(m-1)^2);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

set(handles.edit34, 'String', Pk1);

set(handles.edit38, 'String', Pk2);

disp(['Poh1=', num2str(Pk1),' некогерентный прием']);

disp(['Poh2=', num2str(Pk2),' некогерентный прием']);

elseif Tm==2

disp('Частотная модуляция');

disp('FSK с разрывом фазы c ФНЧ');

x=sqrt(h01c/2);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(h02c/2);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' FSK']);

disp(['Poh2=', num2str(Pk2),' FSK']);

disp('MSK без разрыва фазы c ФНЧ');

x=sqrt(h01c/1.5);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(h02c/1.5);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' MSK']);

disp(['Poh2=', num2str(Pk2),' MSK']);

disp('MSK с минимальным отклонением фазы, без разрыва фазы c ФНЧ');

x=sqrt(h01c);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(h02c);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' MSK min']);

disp(['Poh2=', num2str(Pk2),' MSK min']);

elseif Tm==3

disp('Фазовая модуляция');

x=sqrt(2*h01c*(sin(pi/m))^2);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(2*h02c*(sin(pi/m))^2);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' ФМ когерентный прием']);

disp(['Poh2=', num2str(Pk2),' ФМ когерентный прием']);

elseif Tm==5

disp(' OFDM');

Pk1=(m-1)/(m*log2(m))*(1-sqrt(3*h01*log2(m)/(m^2-1)/(3*h01*log2(m)/(m^2-1)+1)));

Pk2=(m-1)/(m*log2(m))*(1-sqrt(3*h02*log2(m)/(m^2-1)/(3*h02*log2(m)/(m^2-1)+1)));

disp(['Poh1=', num2str(Pk1),' OFDM ФМ-2 ']);

disp(['Poh2=', num2str(Pk2),' OFDM ФМ-2 ']);

end

guidata(hObject, handles);

function varargout = LK_data_AM_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

function edit1_Callback(hObject, eventdata, handles)

function edit1_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit2_Callback(hObject, eventdata, handles)

function edit2_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit3_Callback(hObject, eventdata, handles)

function edit3_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit4_Callback(hObject, eventdata, handles)

function edit4_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit5_Callback(hObject, eventdata, handles)

function edit5_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit6_Callback(hObject, eventdata, handles)

function edit6_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit7_Callback(hObject, eventdata, handles)

function edit7_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit8_Callback(hObject, eventdata, handles)

function edit8_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 edit10_Callback(hObject, eventdata, handles)

function edit10_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit11_Callback(hObject, eventdata, handles)

function edit11_CreateFcn(hObject, eventdata, handles)

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

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

end

function popupmenu1_Callback(hObject, eventdata, handles)

global contents

global Nk

contents = get(hObject,'Value');

switch contents

case 1

Nk=1;

case 2

Nk = 2;

case 3

Nk = 3;

case 4

Nk = 4;

case 5

Nk = 5;

case 6

Nk = 6;

case 7

Nk = 7;

otherwise

end

function popupmenu1_CreateFcn(hObject, eventdata, handles)

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

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

end

function pushbutton1_Callback(hObject, eventdata, handles)

function pushbutton2_Callback(hObject, eventdata, handles)

function edit12_Callback(hObject, eventdata, handles)

function edit12_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit13_Callback(hObject, eventdata, handles)

function edit13_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit9_Callback(hObject, eventdata, handles)

function edit9_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit14_Callback(hObject, eventdata, handles)

function edit14_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 edit17_Callback(hObject, eventdata, handles)

function edit17_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 edit22_Callback(hObject, eventdata, handles)

function edit22_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit18_Callback(hObject, eventdata, handles)

function edit18_CreateFcn(hObject, eventdata, handles)

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

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

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 edit21_Callback(hObject, eventdata, handles)

function edit21_CreateFcn(hObject, eventdata, handles)

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

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

end

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

function edit25_Callback(hObject, eventdata, handles)

function edit25_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit26_Callback(hObject, eventdata, handles)

function edit26_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit27_Callback(hObject, eventdata, handles)

function edit27_CreateFcn(hObject, eventdata, handles)

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

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

end

function pushbutton3_Callback(hObject, eventdata, handles)

clc; clear all; close;

global Nk

global tipcan

global n

global Tm

global kan

global Sez

global Tp

global Lk

Lk=1;

Tp=1;

Sez=1;

kan=2;

Tm=1;

n=1;

tipcan=2;

Nk=1;

function edit36_Callback(hObject, eventdata, handles)

function edit36_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit37_Callback(hObject, eventdata, handles)

function edit37_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit38_Callback(hObject, eventdata, handles)

function edit38_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit39_Callback(hObject, eventdata, handles)

function edit39_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit32_Callback(hObject, eventdata, handles)

function edit32_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit33_Callback(hObject, eventdata, handles)

function edit33_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit34_Callback(hObject, eventdata, handles)

function edit34_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit35_Callback(hObject, eventdata, handles)

function edit35_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit43_Callback(hObject, eventdata, handles)

function edit43_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit44_Callback(hObject, eventdata, handles)

function edit44_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit45_Callback(hObject, eventdata, handles)

function edit45_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit49_Callback(hObject, eventdata, handles)

function edit49_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit46_Callback(hObject, eventdata, handles)

function edit46_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit51_Callback(hObject, eventdata, handles)

function edit51_CreateFcn(hObject, eventdata, handles)

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

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

end


LK_data_ChM.m

function varargout = LK_data_ChM(varargin)

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, …

'gui_Singleton', gui_Singleton, …

'gui_OpeningFcn', @LK_data_ChM_OpeningFcn, …

'gui_OutputFcn', @LK_data_ChM_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_ChM_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;

global Pvh1vt

global Lm1z

global Pvh1med

global L2

global h02

global Zap2

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

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;

disp(['Poh1=', num2str(Pk1),' когерентный прием']);

disp(['Poh2=', num2str(Pk2),' когерентный прием']);

Pn1=exp(-h01/4)/2;

Pn2=exp(-h02/4)/2;

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;

set(handles.edit13, 'String', Pk1);

set(handles.edit26, 'String', Pk2);

disp(['Poh1=', num2str(Pk1),' когерентный прием']);

disp(['Poh2=', num2str(Pk2),' когерентный прием']);

Pn1=exp(-h01/2)/2;

Pn2=exp(-h02/2)/2;

set(handles.edit15, 'String', Pn1);

set(handles.edit27, 'String', Pn2);

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);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' когерентный прием']);

disp(['Poh2=', num2str(Pk2),' когерентный прием']);

x=sqrt(h01c/(2*(m-1)^2));

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(h02c/(2*(m-1)^2));

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' некогерентный прием']);

disp(['Poh2=', num2str(Pk2),' некогерентный прием']);

disp('Биполярные прямоугольные импульсы');

x=sqrt(2*h01c/(m-1)^2);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(2*h02c/(m-1)^2);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' когерентный прием']);

disp(['Poh2=', num2str(Pk2),' когерентный прием']);

x=sqrt(h01c/(m-1)^2);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(h02c/(m-1)^2);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' некогерентный прием']);

disp(['Poh2=', num2str(Pk2),' некогерентный прием']);

elseif Tm==2

disp('Частотная модуляция');

disp('FSK с разрывом фазы c ФНЧ');

x=sqrt(h01c/2);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(h02c/2);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

set(handles.edit33, 'String', Pk1);

set(handles.edit37, 'String', Pk2);

disp(['Poh1=', num2str(Pk1),' FSK']);

disp(['Poh2=', num2str(Pk2),' FSK']);

disp('MSK без разрыва фазы c ФНЧ');

x=sqrt(h01c/1.5);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(h02c/1.5);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

set(handles.edit32, 'String', Pk1);

set(handles.edit36, 'String', Pk2);

disp(['Poh1=', num2str(Pk1),' MSK']);

disp(['Poh2=', num2str(Pk2),' MSK']);

disp('MSK с минимальным отклонением фазы, без разрыва фазы c ФНЧ');

x=sqrt(h01c);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(h02c);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

set(handles.edit35, 'String', Pk1);

set(handles.edit52, 'String', Pk2);

disp(['Poh1=', num2str(Pk1),' MSK min']);

disp(['Poh2=', num2str(Pk2),' MSK min']);

elseif Tm==3

disp('Фазовая модуляция');

x=sqrt(2*h01c*(sin(pi/m))^2);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(2*h02c*(sin(pi/m))^2);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' ФМ когерентный прием']);

disp(['Poh2=', num2str(Pk2),' ФМ когерентный прием']);

elseif Tm==5

disp(' OFDM');

Pk1=(m-1)/(m*log2(m))*(1-sqrt(3*h01*log2(m)/(m^2-1)/(3*h01*log2(m)/(m^2-1)+1)));

Pk2=(m-1)/(m*log2(m))*(1-sqrt(3*h02*log2(m)/(m^2-1)/(3*h02*log2(m)/(m^2-1)+1)));

disp(['Poh1=', num2str(Pk1),' OFDM ФМ-2 ']);

disp(['Poh2=', num2str(Pk2),' OFDM ФМ-2 ']);

end

guidata(hObject, handles);

function varargout = LK_data_ChM_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

function edit1_Callback(hObject, eventdata, handles)

function edit1_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit2_Callback(hObject, eventdata, handles)

function edit2_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit3_Callback(hObject, eventdata, handles)

function edit3_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit4_Callback(hObject, eventdata, handles)

function edit4_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit5_Callback(hObject, eventdata, handles)

function edit5_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit6_Callback(hObject, eventdata, handles)

function edit6_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit7_Callback(hObject, eventdata, handles)

function edit7_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit8_Callback(hObject, eventdata, handles)

function edit8_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 edit10_Callback(hObject, eventdata, handles)

function edit10_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit11_Callback(hObject, eventdata, handles)

function edit11_CreateFcn(hObject, eventdata, handles)

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

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

end

function popupmenu1_Callback(hObject, eventdata, handles)

global contents

global Nk

contents = get(hObject,'Value');

switch contents

case 1

Nk=1;

case 2

Nk = 2;

case 3

Nk = 3;

case 4

Nk = 4;

case 5

Nk = 5;

case 6

Nk = 6;

case 7

Nk = 7;

otherwise

end

function popupmenu1_CreateFcn(hObject, eventdata, handles)

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

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

end

function pushbutton1_Callback(hObject, eventdata, handles)

N_data();

function pushbutton2_Callback(hObject, eventdata, handles)

picture_2();

function edit12_Callback(hObject, eventdata, handles)

function edit12_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit13_Callback(hObject, eventdata, handles)

function edit13_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit9_Callback(hObject, eventdata, handles)

function edit9_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit14_Callback(hObject, eventdata, handles)

function edit14_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 edit17_Callback(hObject, eventdata, handles)

function edit17_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 edit22_Callback(hObject, eventdata, handles)

function edit22_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit18_Callback(hObject, eventdata, handles)

function edit18_CreateFcn(hObject, eventdata, handles)

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

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

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 edit21_Callback(hObject, eventdata, handles)

function edit21_CreateFcn(hObject, eventdata, handles)

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

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

end

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

function edit25_Callback(hObject, eventdata, handles)

function edit25_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit26_Callback(hObject, eventdata, handles)

function edit26_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit27_Callback(hObject, eventdata, handles)

function edit27_CreateFcn(hObject, eventdata, handles)

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

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

end

function pushbutton3_Callback(hObject, eventdata, handles)

clc; clear all; close;

global Nk

global tipcan

global n

global Tm

global kan

global Sez

global Tp

global Lk

Lk=1;

Tp=1;

Sez=1;

kan=2;

Tm=1;

n=1;

tipcan=2;

Nk=1;

function edit36_Callback(hObject, eventdata, handles)

function edit36_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit37_Callback(hObject, eventdata, handles)

function edit37_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit38_Callback(hObject, eventdata, handles)

function edit38_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit39_Callback(hObject, eventdata, handles)

function edit39_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit32_Callback(hObject, eventdata, handles)

function edit32_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit33_Callback(hObject, eventdata, handles)

function edit33_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit34_Callback(hObject, eventdata, handles)

function edit34_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit35_Callback(hObject, eventdata, handles)

function edit35_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit43_Callback(hObject, eventdata, handles)

function edit43_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit44_Callback(hObject, eventdata, handles)

function edit44_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit45_Callback(hObject, eventdata, handles)

function edit45_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit49_Callback(hObject, eventdata, handles)

function edit49_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit46_Callback(hObject, eventdata, handles)

function edit46_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit51_Callback(hObject, eventdata, handles)

function edit51_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit52_Callback(hObject, eventdata, handles)

function edit52_CreateFcn(hObject, eventdata, handles)

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

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

end


LK_data_FM.m

function varargout = LK_data_FM(varargin)

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, …

'gui_Singleton', gui_Singleton, …

'gui_OpeningFcn', @LK_data_FM_OpeningFcn, …

'gui_OutputFcn', @LK_data_FM_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_FM_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

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;

disp(['Poh1=', num2str(Pk1),' когерентный прием']);

disp(['Poh2=', num2str(Pk2),' когерентный прием']);

Pn1=exp(-h01/4)/2;

Pn2=exp(-h02/4)/2;

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;

set(handles.edit13, 'String', Pk1);

set(handles.edit46, 'String', Pk2);

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);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' когерентный прием']);

disp(['Poh2=', num2str(Pk2),' когерентный прием']);

x=sqrt(h01c/(2*(m-1)^2));

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(h02c/(2*(m-1)^2));

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' некогерентный прием']);

disp(['Poh2=', num2str(Pk2),' некогерентный прием']);

disp('Биполярные прямоугольные импульсы');

x=sqrt(2*h01c/(m-1)^2);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(2*h02c/(m-1)^2);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' когерентный прием']);

disp(['Poh2=', num2str(Pk2),' когерентный прием']);

x=sqrt(h01c/(m-1)^2);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(h02c/(m-1)^2);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' некогерентный прием']);

disp(['Poh2=', num2str(Pk2),' некогерентный прием']);

elseif Tm==2

disp('Частотная модуляция');

disp('FSK с разрывом фазы c ФНЧ');

x=sqrt(h01c/2);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(h02c/2);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' FSK']);

disp(['Poh2=', num2str(Pk2),' FSK']);

disp('MSK без разрыва фазы c ФНЧ');

x=sqrt(h01c/1.5);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(h02c/1.5);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' MSK']);

disp(['Poh2=', num2str(Pk2),' MSK']);

disp('MSK с минимальным отклонением фазы, без разрыва фазы c ФНЧ');

x=sqrt(h01c);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(h02c);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' MSK min']);

disp(['Poh2=', num2str(Pk2),' MSK min']);

elseif Tm==3

disp('Фазовая модуляция');

x=sqrt(2*h01c*(sin(pi/m))^2);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(2*h02c*(sin(pi/m))^2);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

set(handles.edit15, 'String', Pk1);

set(handles.edit45, 'String', Pk2);

disp(['Poh1=', num2str(Pk1),' ФМ когерентный прием']);

disp(['Poh2=', num2str(Pk2),' ФМ когерентный прием']);

elseif Tm==5

disp(' OFDM');

Pk1=(m-1)/(m*log2(m))*(1-sqrt(3*h01*log2(m)/(m^2-1)/(3*h01*log2(m)/(m^2-1)+1)));

Pk2=(m-1)/(m*log2(m))*(1-sqrt(3*h02*log2(m)/(m^2-1)/(3*h02*log2(m)/(m^2-1)+1)));

disp(['Poh1=', num2str(Pk1),' OFDM ФМ-2 ']);

disp(['Poh2=', num2str(Pk2),' OFDM ФМ-2 ']);

end

guidata(hObject, handles);

function varargout = LK_data_FM_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

function edit1_Callback(hObject, eventdata, handles)

function edit1_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit2_Callback(hObject, eventdata, handles)

function edit2_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit3_Callback(hObject, eventdata, handles)

function edit3_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit4_Callback(hObject, eventdata, handles)

function edit4_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit5_Callback(hObject, eventdata, handles)

function edit5_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit6_Callback(hObject, eventdata, handles)

function edit6_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit7_Callback(hObject, eventdata, handles)

function edit7_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit8_Callback(hObject, eventdata, handles)

function edit8_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 edit10_Callback(hObject, eventdata, handles)

function edit10_CreateFcn(hObject, eventdata, handles)

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

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

end


function edit11_Callback(hObject, eventdata, handles)

function edit11_CreateFcn(hObject, eventdata, handles)

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

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

end

function popupmenu1_Callback(hObject, eventdata, handles)

global contents

global Nk

contents = get(hObject,'Value');

switch contents

case 1

Nk=1;

case 2

Nk = 2;

case 3

Nk = 3;

case 4

Nk = 4;

case 5

Nk = 5;

case 6

Nk = 6;

case 7

Nk = 7;

otherwise

end

function popupmenu1_CreateFcn(hObject, eventdata, handles)

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

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

end

function pushbutton1_Callback(hObject, eventdata, handles)

N_data();

function pushbutton2_Callback(hObject, eventdata, handles)

picture_2();

function edit12_Callback(hObject, eventdata, handles)

function edit12_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit13_Callback(hObject, eventdata, handles)

function edit13_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit9_Callback(hObject, eventdata, handles)

function edit9_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit14_Callback(hObject, eventdata, handles)

function edit14_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 edit17_Callback(hObject, eventdata, handles)

function edit17_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 edit22_Callback(hObject, eventdata, handles)

function edit22_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit18_Callback(hObject, eventdata, handles)

function edit18_CreateFcn(hObject, eventdata, handles)


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

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

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 edit21_Callback(hObject, eventdata, handles)

function edit21_CreateFcn(hObject, eventdata, handles)

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

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

end

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

function edit25_Callback(hObject, eventdata, handles)

function edit25_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit26_Callback(hObject, eventdata, handles)

function edit26_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit27_Callback(hObject, eventdata, handles)

function edit27_CreateFcn(hObject, eventdata, handles)

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

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

end

function pushbutton3_Callback(hObject, eventdata, handles)

clc; clear all; close;

global Nk

global tipcan

global n

global Tm

global kan

global Sez

global Tp

global Lk

Lk=1;

Tp=1;

Sez=1;

kan=2;

Tm=1;

n=1;

tipcan=2;

Nk=1;

function edit36_Callback(hObject, eventdata, handles)

function edit36_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit37_Callback(hObject, eventdata, handles)

function edit37_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit38_Callback(hObject, eventdata, handles)

function edit38_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit39_Callback(hObject, eventdata, handles)

function edit39_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit32_Callback(hObject, eventdata, handles)

function edit32_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit33_Callback(hObject, eventdata, handles)

function edit33_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit34_Callback(hObject, eventdata, handles)

function edit34_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit35_Callback(hObject, eventdata, handles)

function edit35_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit43_Callback(hObject, eventdata, handles)

function edit43_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit44_Callback(hObject, eventdata, handles)

function edit44_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit45_Callback(hObject, eventdata, handles)

function edit45_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit49_Callback(hObject, eventdata, handles)

function edit49_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit46_Callback(hObject, eventdata, handles)

function edit46_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit51_Callback(hObject, eventdata, handles)

function edit51_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit52_Callback(hObject, eventdata, handles)

function edit52_CreateFcn(hObject, eventdata, handles)

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

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

end


LK_data_OFDM.m

function varargout = LK_data_OFDM(varargin)

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, …

'gui_Singleton', gui_Singleton, …

'gui_OpeningFcn', @LK_data_FM_OpeningFcn, …

'gui_OutputFcn', @LK_data_FM_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_FM_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

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;

disp(['Poh1=', num2str(Pk1),' когерентный прием']);

disp(['Poh2=', num2str(Pk2),' когерентный прием']);

Pn1=exp(-h01/4)/2;

Pn2=exp(-h02/4)/2;

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);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' когерентный прием']);

disp(['Poh2=', num2str(Pk2),' когерентный прием']);

x=sqrt(h01c/(2*(m-1)^2));

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(h02c/(2*(m-1)^2));

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' некогерентный прием']);

disp(['Poh2=', num2str(Pk2),' некогерентный прием']);

disp('Биполярные прямоугольные импульсы');

x=sqrt(2*h01c/(m-1)^2);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(2*h02c/(m-1)^2);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' когерентный прием']);

disp(['Poh2=', num2str(Pk2),' когерентный прием']);

x=sqrt(h01c/(m-1)^2);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(h02c/(m-1)^2);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' некогерентный прием']);

disp(['Poh2=', num2str(Pk2),' некогерентный прием']);

elseif Tm==2

disp('Частотная модуляция');

disp('FSK с разрывом фазы c ФНЧ');

x=sqrt(h01c/2);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(h02c/2);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' FSK']);

disp(['Poh2=', num2str(Pk2),' FSK']);

disp('MSK без разрыва фазы c ФНЧ');

x=sqrt(h01c/1.5);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(h02c/1.5);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' MSK']);

disp(['Poh2=', num2str(Pk2),' MSK']);

disp('MSK с минимальным отклонением фазы, без разрыва фазы c ФНЧ');

x=sqrt(h01c);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(h02c);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' MSK min']);

disp(['Poh2=', num2str(Pk2),' MSK min']);

elseif Tm==3

disp('Фазовая модуляция');

x=sqrt(2*h01c*(sin(pi/m))^2);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(2*h02c*(sin(pi/m))^2);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' ФМ когерентный прием']);

disp(['Poh2=', num2str(Pk2),' ФМ когерентный прием']);

elseif Tm==5

disp(' OFDM');

Pk1=(m-1)/(m*log2(m))*(1-sqrt(3*h01*log2(m)/(m^2-1)/(3*h01*log2(m)/(m^2-1)+1)));

Pk2=(m-1)/(m*log2(m))*(1-sqrt(3*h02*log2(m)/(m^2-1)/(3*h02*log2(m)/(m^2-1)+1)));

set(handles.edit13, 'String', Pk1);

set(handles.edit46, 'String', Pk2);

disp(['Poh1=', num2str(Pk1),' OFDM ФМ-2 ']);

disp(['Poh2=', num2str(Pk2),' OFDM ФМ-2 ']);

end

guidata(hObject, handles);

function varargout = LK_data_OFDM_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

varargout{1} = handles.output;

function edit1_Callback(hObject, eventdata, handles)

function edit1_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit2_Callback(hObject, eventdata, handles)

function edit2_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit3_Callback(hObject, eventdata, handles)

function edit3_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit4_Callback(hObject, eventdata, handles)

function edit4_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit5_Callback(hObject, eventdata, handles)

function edit5_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit6_Callback(hObject, eventdata, handles)

function edit6_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit7_Callback(hObject, eventdata, handles)

function edit7_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit8_Callback(hObject, eventdata, handles)

function edit8_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 edit10_Callback(hObject, eventdata, handles)

function edit10_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit11_Callback(hObject, eventdata, handles)

function edit11_CreateFcn(hObject, eventdata, handles)

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

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

end

function popupmenu1_Callback(hObject, eventdata, handles)

global contents

global Nk

contents = get(hObject,'Value');

switch contents

case 1

Nk=1;

case 2

Nk = 2;

case 3

Nk = 3;

case 4

Nk = 4;

case 5

Nk = 5;

case 6

Nk = 6;

case 7

Nk = 7;

otherwise

end

function popupmenu1_CreateFcn(hObject, eventdata, handles)

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

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

end

function pushbutton1_Callback(hObject, eventdata, handles)

N_data();

function pushbutton2_Callback(hObject, eventdata, handles)

picture_2();

function edit12_Callback(hObject, eventdata, handles)

function edit12_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit13_Callback(hObject, eventdata, handles)

function edit13_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit9_Callback(hObject, eventdata, handles)

function edit9_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit14_Callback(hObject, eventdata, handles)

function edit14_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 edit17_Callback(hObject, eventdata, handles)

function edit17_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 edit22_Callback(hObject, eventdata, handles)

function edit22_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit18_Callback(hObject, eventdata, handles)

function edit18_CreateFcn(hObject, eventdata, handles)

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

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

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 edit21_Callback(hObject, eventdata, handles)

function edit21_CreateFcn(hObject, eventdata, handles)

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

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

end

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

function edit25_Callback(hObject, eventdata, handles)

function edit25_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit26_Callback(hObject, eventdata, handles)

function edit26_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit27_Callback(hObject, eventdata, handles)

function edit27_CreateFcn(hObject, eventdata, handles)

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

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

end

function pushbutton3_Callback(hObject, eventdata, handles)

clc; clear all; close;

global Nk

global tipcan

global n

global Tm

global kan

global Sez

global Tp

global Lk

Lk=1;

Tp=1;

Sez=1;

kan=2;

Tm=1;

n=1;

tipcan=2;

Nk=1;

function edit36_Callback(hObject, eventdata, handles)

function edit36_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit37_Callback(hObject, eventdata, handles)

function edit37_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit38_Callback(hObject, eventdata, handles)

function edit38_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit39_Callback(hObject, eventdata, handles)

function edit39_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit32_Callback(hObject, eventdata, handles)

function edit32_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit33_Callback(hObject, eventdata, handles)

function edit33_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit34_Callback(hObject, eventdata, handles)

function edit34_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit35_Callback(hObject, eventdata, handles)

function edit35_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit43_Callback(hObject, eventdata, handles)

function edit43_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit44_Callback(hObject, eventdata, handles)

function edit44_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit45_Callback(hObject, eventdata, handles)

function edit45_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit49_Callback(hObject, eventdata, handles)

function edit49_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit46_Callback(hObject, eventdata, handles)

function edit46_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit51_Callback(hObject, eventdata, handles)

function edit51_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit52_Callback(hObject, eventdata, handles)

function edit52_CreateFcn(hObject, eventdata, handles)

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

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

end


LK_data_OFT.m

function varargout = LK_data_OFT(varargin)

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, …

'gui_Singleton', gui_Singleton, …

'gui_OpeningFcn', @LK_data_FM_OpeningFcn, …

'gui_OutputFcn', @LK_data_FM_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_FM_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

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;

disp(['Poh1=', num2str(Pk1),' когерентный прием']);

disp(['Poh2=', num2str(Pk2),' когерентный прием']);

Pn1=exp(-h01/4)/2;

Pn2=exp(-h02/4)/2;

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);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' когерентный прием']);

disp(['Poh2=', num2str(Pk2),' когерентный прием']);

x=sqrt(h01c/(2*(m-1)^2));

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(h02c/(2*(m-1)^2));

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' некогерентный прием']);

disp(['Poh2=', num2str(Pk2),' некогерентный прием']);

disp('Биполярные прямоугольные импульсы');

x=sqrt(2*h01c/(m-1)^2);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(2*h02c/(m-1)^2);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' когерентный прием']);

disp(['Poh2=', num2str(Pk2),' когерентный прием']);

x=sqrt(h01c/(m-1)^2);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(h02c/(m-1)^2);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' некогерентный прием']);

disp(['Poh2=', num2str(Pk2),' некогерентный прием']);

elseif Tm==2

disp('Частотная модуляция');

disp('FSK с разрывом фазы c ФНЧ');

x=sqrt(h01c/2);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(h02c/2);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' FSK']);

disp(['Poh2=', num2str(Pk2),' FSK']);

disp('MSK без разрыва фазы c ФНЧ');

x=sqrt(h01c/1.5);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(h02c/1.5);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' MSK']);

disp(['Poh2=', num2str(Pk2),' MSK']);

disp('MSK с минимальным отклонением фазы, без разрыва фазы c ФНЧ');

x=sqrt(h01c);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(h02c);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' MSK min']);

disp(['Poh2=', num2str(Pk2),' MSK min']);

elseif Tm==3

disp('Фазовая модуляция');

x=sqrt(2*h01c*(sin(pi/m))^2);

Kr1=kramp(x);

Pk1=(m-1)/m*(1-Kr1);

x=sqrt(2*h02c*(sin(pi/m))^2);

Kr2=kramp(x);

Pk2=(m-1)/m*(1-Kr2);

disp(['Poh1=', num2str(Pk1),' ФМ когерентный прием']);

disp(['Poh2=', num2str(Pk2),' ФМ когерентный прием']);

elseif Tm==5

disp(' OFDM');

Pk1=(m-1)/(m*log2(m))*(1-sqrt(3*h01*log2(m)/(m^2-1)/(3*h01*log2(m)/(m^2-1)+1)));

Pk2=(m-1)/(m*log2(m))*(1-sqrt(3*h02*log2(m)/(m^2-1)/(3*h02*log2(m)/(m^2-1)+1)));

set(handles.edit13, 'String', Pk1);

set(handles.edit46, 'String', Pk2);

disp(['Poh1=', num2str(Pk1),' OFDM ФМ-2 ']);

disp(['Poh2=', num2str(Pk2),' OFDM ФМ-2 ']);

end

guidata(hObject, handles);

function varargout = LK_data_OFT_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

varargout{1} = handles.output;

function edit1_Callback(hObject, eventdata, handles)

function edit1_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit2_Callback(hObject, eventdata, handles)

function edit2_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit3_Callback(hObject, eventdata, handles)

function edit3_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit4_Callback(hObject, eventdata, handles)

function edit4_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit5_Callback(hObject, eventdata, handles)

function edit5_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit6_Callback(hObject, eventdata, handles)

function edit6_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit7_Callback(hObject, eventdata, handles)

function edit7_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit8_Callback(hObject, eventdata, handles)

function edit8_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 edit10_Callback(hObject, eventdata, handles)

function edit10_CreateFcn(hObject, eventdata, handles)

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

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

end


function edit11_Callback(hObject, eventdata, handles)

function edit11_CreateFcn(hObject, eventdata, handles)

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

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

end

function popupmenu1_Callback(hObject, eventdata, handles)

global contents

global Nk

contents = get(hObject,'Value');

switch contents

case 1

Nk=1;

case 2

Nk = 2;

case 3

Nk = 3;

case 4

Nk = 4;

case 5

Nk = 5;

case 6

Nk = 6;

case 7

Nk = 7;

otherwise

end

function popupmenu1_CreateFcn(hObject, eventdata, handles)

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

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

end

function pushbutton1_Callback(hObject, eventdata, handles)

N_data();

function pushbutton2_Callback(hObject, eventdata, handles)

picture_2();

function edit12_Callback(hObject, eventdata, handles)

function edit12_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit13_Callback(hObject, eventdata, handles)

function edit13_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit9_Callback(hObject, eventdata, handles)

function edit9_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit14_Callback(hObject, eventdata, handles)

function edit14_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 edit17_Callback(hObject, eventdata, handles)

function edit17_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 edit22_Callback(hObject, eventdata, handles)

function edit22_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit18_Callback(hObject, eventdata, handles)

function edit18_CreateFcn(hObject, eventdata, handles)

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

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

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 edit21_Callback(hObject, eventdata, handles)

function edit21_CreateFcn(hObject, eventdata, handles)

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

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

end

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

function edit25_Callback(hObject, eventdata, handles)

function edit25_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit26_Callback(hObject, eventdata, handles)

function edit26_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit27_Callback(hObject, eventdata, handles)

function edit27_CreateFcn(hObject, eventdata, handles)

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

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

end

function pushbutton3_Callback(hObject, eventdata, handles)

clc; clear all; close;

global Nk

global tipcan

global n

global Tm

global kan

global Sez

global Tp

global Lk

Lk=1;

Tp=1;

Sez=1;

kan=2;

Tm=1;

n=1;

tipcan=2;

Nk=1;

function edit36_Callback(hObject, eventdata, handles)

function edit36_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit37_Callback(hObject, eventdata, handles)

function edit37_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit38_Callback(hObject, eventdata, handles)

function edit38_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit39_Callback(hObject, eventdata, handles)

function edit39_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit32_Callback(hObject, eventdata, handles)

function edit32_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit33_Callback(hObject, eventdata, handles)

function edit33_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit34_Callback(hObject, eventdata, handles)

function edit34_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit35_Callback(hObject, eventdata, handles)

function edit35_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit43_Callback(hObject, eventdata, handles)

function edit43_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit44_Callback(hObject, eventdata, handles)

function edit44_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit45_Callback(hObject, eventdata, handles)

function edit45_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit49_Callback(hObject, eventdata, handles)

function edit49_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit46_Callback(hObject, eventdata, handles)

function edit46_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit51_Callback(hObject, eventdata, handles)

function edit51_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit52_Callback(hObject, eventdata, handles)

function edit52_CreateFcn(hObject, eventdata, handles)

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

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

end


LK_datav_02.m

function varargout = LK_data_v02(varargin)

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, …

'gui_Singleton', gui_Singleton, …

'gui_OpeningFcn', @LK_data_v02_OpeningFcn, …

'gui_OutputFcn', @LK_data_v02_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_v02_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.edit10, 'String', h0t1);

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.edit24, 'String', h0t2);

set(handles.edit25, 'String', Zap2);

guidata(hObject, handles);

function varargout = LK_data_v02_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

function edit1_Callback(hObject, eventdata, handles)

function edit1_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit2_Callback(hObject, eventdata, handles)

function edit2_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit3_Callback(hObject, eventdata, handles)

function edit3_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit4_Callback(hObject, eventdata, handles)

function edit4_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit5_Callback(hObject, eventdata, handles)

function edit5_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit6_Callback(hObject, eventdata, handles)

function edit6_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit7_Callback(hObject, eventdata, handles)

function edit7_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit8_Callback(hObject, eventdata, handles)

function edit8_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 edit10_Callback(hObject, eventdata, handles)

function edit10_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit11_Callback(hObject, eventdata, handles)

function edit11_CreateFcn(hObject, eventdata, handles)

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

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

end

function popupmenu1_Callback(hObject, eventdata, handles)

global contents

global Nk

contents = get(hObject,'Value');

switch contents

case 1

Nk=1;

case 2

Nk = 2;

case 3

Nk = 3;

case 4

Nk = 4;

case 5

Nk = 5;

case 6

Nk = 6;

case 7

Nk = 7;


otherwise

end

function popupmenu1_CreateFcn(hObject, eventdata, handles)

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

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

end

function pushbutton1_Callback(hObject, eventdata, handles)

N_data();

function pushbutton2_Callback(hObject, eventdata, handles)

picture_2();

function edit12_Callback(hObject, eventdata, handles)

function edit12_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit13_Callback(hObject, eventdata, handles)

function edit13_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit9_Callback(hObject, eventdata, handles)

function edit9_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit14_Callback(hObject, eventdata, handles)

function edit14_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 edit17_Callback(hObject, eventdata, handles)

function edit17_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 edit22_Callback(hObject, eventdata, handles)

function edit22_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit18_Callback(hObject, eventdata, handles)

function edit18_CreateFcn(hObject, eventdata, handles)

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

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

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 edit21_Callback(hObject, eventdata, handles)

function edit21_CreateFcn(hObject, eventdata, handles)

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

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

end

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

function edit25_Callback(hObject, eventdata, handles)

function edit25_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit26_Callback(hObject, eventdata, handles)

function edit26_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit27_Callback(hObject, eventdata, handles)

function edit27_CreateFcn(hObject, eventdata, handles)

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

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

end

function pushbutton3_Callback(hObject, eventdata, handles)

clc; clear all; close;

global Nk

global tipcan

global n

global Tm

global kan

global Sez

global Tp

global Lk

Lk=1;

Tp=1;

Sez=1;

kan=2;

Tm=1;

n=1;

tipcan=1;

Nk=1;


picture.m

function varargout = picture(varargin)

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, …

'gui_Singleton', gui_Singleton, …

'gui_OpeningFcn', @picture_OpeningFcn, …

'gui_OutputFcn', @picture_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 picture_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;

kar=imread('1.jpg ');

imshow (kar);

guidata(hObject, handles);

function varargout = picture_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;


picture_2.m

function varargout = picture(varargin)

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, …

'gui_Singleton', gui_Singleton, …

'gui_OpeningFcn', @picture_OpeningFcn, …

'gui_OutputFcn', @picture_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 picture_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;

kar=imread('2.jpg ');

imshow (kar);

guidata(hObject, handles);

function varargout = picture_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;


picture_3.m

function varargout = picture(varargin)

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, …

'gui_Singleton', gui_Singleton, …

'gui_OpeningFcn', @picture_OpeningFcn, …

'gui_OutputFcn', @picture_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 picture_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;

kar=imread('3.jpg');

imshow (kar);

guidata(hObject, handles);

function varargout = picture_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;


Распечатка изображений идентифицирующих экранные формы программы



Рисунок 1- Форма ввода исходных данных



Рисунок 2 – Форма отображения результатов расчета при амплитудной модуляции




Рисунок 3 – Форма отображения результатов расчета при фазовой модуляции



Рисунок 4 – Форма отображения результатов расчета при частотной модуляции



Рисунок 5 – Форма отображения результатов расчета при OFT модуляции



Рисунок 6 – Форма отображения результатов расчета при OFDM модуляции



Рисунок 7 – Форма отображения результатов расчета при телеграфной линии связи



Рисунок 8 – Форма отображения выбора карты при настройке расчетов


Оглавление

  • Реферат
  • Исходный код программы

    Реферат

    Программа предназначена для проведения на ЭВМ энергетического расчета канала связи дальней тропосферной радиосвязи по двум методикам. Расчет радиосвязи производится при различных видах модуляций, для любого времени года и для любого места, выбранного на карте. Программа работает в среде Matlab.

    Программа обеспечивает выполнение следующих функций:

    – 

    расчет затухания в свободном пространстве при реальных антеннах;

    – 

    расчет быстрых замираний;

    – 

    расчет медленных замираний;

    – 

    расчет медианных затуханий;

    – 

    расчет полного затухания;

    – 

    расчет медианной мощности сигнала на выходе приемника;

    – 

    расчет мощности сигнала на входе приемника;

    – 

    расчет энергетического запаса трассы;

    – 

    расчет предельной дальности связи;

    – 

    расчет отношения сигнал/шум на входе приемника;

    – 

    расчет вероятности ошибки при заданном виде модуляции.

    Тип ЭВМ: IBM PC-совместимые ПК.

    Язык: Matlab.

    IDE: MatlabR2014b.

    ОС: Windows XP/Vista/7/8/10.

    Объем исполнимого файла: 1,4 Мб.

    Исходный код программы

    main.m

    function varargout = main(varargin)

    gui_Singleton = 1;

    gui_State = struct('gui_Name', mfilename, …

    'gui_Singleton', gui_Singleton, …

    'gui_OpeningFcn', @main_OpeningFcn, …

    'gui_OutputFcn', @main_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 main_OpeningFcn(hObject, eventdata, handles, varargin)

    handles.output = hObject;

    global Nk

    global tipcan

    global n

    global Tm

    global kan

    global Sez

    global Tp

    global Lk

    Lk=1;

    Tp=1;

    Sez=1;

    kan=2;

    Tm=1;

    n=1;

    tipcan=1;

    Nk=1;

    set(handles.uipanel13,'visible','on');

    set(handles.uipanel12,'visible','off');

    guidata(hObject, handles);

    function varargout = main_OutputFcn(hObject, eventdata, handles)

    varargout{1} = handles.output;

    function pushbutton2_Callback(hObject, eventdata, handles)

    global Sez

    if Sez ==1;

    picture();

    end

    if Sez ==2;

    picture_2();

    end

    if Sez ==3;

    picture_3();

    end

    function edit14_Callback(hObject, eventdata, handles)

    function edit14_CreateFcn(hObject, eventdata, handles)

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

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

    end

    function popupmenu2_Callback(hObject, eventdata, handles)

    global Nk

    contents = get(hObject,'Value');

    switch contents

    case 1

    Nk=1;

    case 2

    Nk = 2;

    case 3

    Nk = 3;

    case 4

    Nk = 4;

    case 5

    Nk = 5;

    case 6

    Nk = 6;

    case 7

    Nk = 7;

    otherwise

    end

    function popupmenu2_CreateFcn(hObject, ~, handles)

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

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

    end

    function pushbutton3_Callback(hObject, eventdata, handles)

    picture_3();

    function listbox1_Callback(hObject, eventdata, handles)

    contents = get(hObject,'Value');

    global TIPp

    switch contents

    case 1

    TIPp=1;

    case 2

    TIPp = 2;

    end

    function listbox1_CreateFcn(hObject, eventdata, handles)

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

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

    end

    function edit8_Callback(hObject, eventdata, handles)

    function edit8_CreateFcn(hObject, eventdata, handles)

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

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

    end

    function edit9_Callback(hObject, eventdata, handles)

    function edit9_CreateFcn(hObject, eventdata, handles)

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

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

    end

    function edit10_Callback(hObject, eventdata, handles)

    function edit10_CreateFcn(hObject, eventdata, handles)

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

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

    end

    function edit11_Callback(hObject, eventdata, handles)

    function edit11_CreateFcn(hObject, eventdata, handles)

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

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

    end

    function edit12_Callback(hObject, eventdata, handles)

    function edit12_CreateFcn(hObject, eventdata, handles)

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

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

    end

    function edit13_Callback(hObject, eventdata, handles)

    function edit13_CreateFcn(hObject, eventdata, handles)

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

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

    end

    function edit1_Callback(hObject, eventdata, handles)

    function edit1_CreateFcn(hObject, eventdata, handles)

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

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

    end

    function edit2_Callback(hObject, eventdata, handles)

    function edit2_CreateFcn(hObject, eventdata, handles)

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

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

    end

    function edit3_Callback(hObject, eventdata, handles)

    function edit3_CreateFcn(hObject, eventdata, handles)

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

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

    end

    function edit4_Callback(hObject, eventdata, handles)

    function edit4_CreateFcn(hObject, eventdata, handles)

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

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

    end

    function edit5_Callback(hObject, eventdata, handles)

    function edit5_CreateFcn(hObject, eventdata, handles)

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

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

    end

    function edit6_Callback(hObject, eventdata, handles)

    function edit6_CreateFcn(hObject, eventdata, handles)

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

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

    end

    function edit7_Callback(hObject, eventdata, handles)

    function edit7_CreateFcn(hObject, eventdata, handles)

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

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

    end

    function edit21_Callback(hObject, eventdata, handles)

    function edit21_CreateFcn(hObject, eventdata, handles)

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

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

    end

    function edit22_Callback(hObject, eventdata, handles)

    function edit22_CreateFcn(hObject, eventdata, handles)

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

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

    end

    function popupmenu1_Callback(hObject, eventdata, handles)

    contents = get(hObject,'Value');

    global n

    switch contents

    case 1

    n=1;

    case 2

    n = 2;

    case 3

    n = 4;

    end

    function popupmenu1_CreateFcn(hObject, eventdata, handles)

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

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

    end

    function radiobutton5_Callback(hObject, eventdata, handles)

    global tipcan

    if get (handles.radiobutton5,'value') == 1

    set(handles.radiobutton6,'value',0);

    set(handles.uipanel13,'visible','off');

    set(handles.uipanel12,'visible','on');

    tipcan=2;

    end

    function radiobutton6_Callback(hObject, eventdata, handles)

    global tipcan

    if get (handles.radiobutton6,'value') == 1

    set(handles.radiobutton5,'value',0);

    set(handles.uipanel13,'visible','on');

    set(handles.uipanel12,'visible','off');

    tipcan=1;

    end

    function listbox6_Callback(hObject, eventdata, handles)

    global Tm

    contents = get(hObject,'Value');

    switch contents

    case 1

    Tm=1;

    case 2

    Tm = 2;

    case 3

    Tm = 3;

    case 4

    Tm = 4;

    case 5

    Tm = 5;

    otherwise

    end

    function listbox6_CreateFcn(hObject, eventdata, handles)

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

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

    end

    function listbox7_Callback(hObject, eventdata, handles)

    global kan

    contents = get(hObject,'Value');

    switch contents

    case 1

    kan=2;

    case 2

    kan = 1;

    otherwise

    end

    function listbox7_CreateFcn(hObject, eventdata, handles)

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

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

    end

    function 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 abs(R-300)<abs(R-250)

    R1=300;

    elseif abs(R-250)<abs(R-200)

    R1=250;

    elseif abs(R-200)<abs(R-150)

    R1=200;

    elseif abs(R-150)<abs(R-100)

    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)<abs(R-300)

    R2=400;

    elseif abs(R-300)<abs(R-200)

    R2=300;

    elseif abs(R-200)<abs(R-150)

    R2=200;

    elseif abs(R-150)<abs(R-100)

    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<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 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);

    Продолжение книги