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)