Энергетический расчет канала дальней тропосферной радиосвязи (Программа для ЭВМ) [Владимир Иванович Шлома] (fb2) читать постранично, страница - 5

- Энергетический расчет канала дальней тропосферной радиосвязи (Программа для ЭВМ) 1.43 Мб, 70с. скачать: (fb2)  читать: (полностью) - (постранично) - Владимир Иванович Шлома

 [Настройки текста]  [Cбросить фильтры]

прием']);

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