Tasuta

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

Tekst
Märgi loetuks
Šrift:Väiksem АаSuurem Aa

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)