Моделирование алгоритма комплексирования результатов независимых измерений

Разработка математического и алгоритмического обеспечения, моделирование процессов комплексирования результатов независимых измерений для двухпозиционной радиолокационной системы наземного базирования. Оптимальное оценивание при совместных измерениях.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид дипломная работа
Язык русский
Дата добавления 28.12.2017
Размер файла 6,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

8. В.М. Кутузов,С.П. Калениченко, А.Г. Попов, В.И Веремьев, А.А. Коновалов, А.В. Бархатов, В.Н. Михайлов. Принципы построения системы совместной траекторной обработки в многопозиционном радиолокационном комплексе мониторинга окружающего пространства // XVIII международная научно-техническая конференция «Радиолокация, навигация, связь». Воронеж, 17 - 19 апреля 2012г. - Т.3. - С. 1453-1461.

9. Кузьмин С.З. Основы теории цифровой обработки радиолокационной информации. - М.: Советское радио. 1974 г. - 432 с.

10. Верба В.С. Оценивание дальности и скорости в радиолокационных системах.Ч.3. - М.: Радиотехника. 2010 г. - 472 с.

11. Быков В.В. Цифровое моделирование в статистической радиотехнике М.: Советское Радио. 1971 г. - 328 с.

12. Верба В.С. Справочник по радиолокации. Книга 2. - М.: Техносфера. 2015 г. - 680 с.

13. Дудник П.И., Ильчук А.Р., Татарский Б.Г. Многофункциональные радиолокационные системы. - М.: Дрофа, 2007 г.

14. Дьяконов В., Абраменкова И. MATLAB обработка сигналов и изображений. - СПБ.: Питер. 2002 г.

15. Киселев В. Ю., Монаков А. А. Предсказание траектории воздушного судна в автоматизированных системах управления воздушным движением. с. 33-40. 2014 г.

16. Кондратенков Г.С. Радиолокационные станции обзора Земли. - М.: Радио и связь. 1983 г. 

17. Крамер Г. Математические методы статистики Пер. с англ. А. С. Монина и А. А. Петрова под редакцией академика А. Н. Колмогорова. - М.: Изд-во иностр. лит, 1948 г. - 632 c.

18. Сколник Н. И. Справочник по радиолокации: в 4 т. - М.: Советское Радио, 1976 - 1979. Том 2.

19.Ширман Д.Я, Голиков В.Н. Основы теории обнаружения радиолокационных сигналов и измерения их параметров. - М.: Советское радио. 1963 г.

20. Bassem R. MATLAB simulations for radar systems design / Bassem R. Mahafza, Atef Z. Elsherbeni, 2004. Pp. 706.

ПРИЛОЖЕНИЕ А

Код программы

ГУАП 11.03.04.4310.02.00

Код программы MATLAB

function varargout = Block_1(varargin)

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @Block_1_OpeningFcn, ...

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

handles.output = hObject;

guidata(hObject, handles);

function varargout = Block_1_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 pushbutton1_Callback(hObject, eventdata, handles)

handles.pulsenum = str2num(get(handles.edit1, 'String'));

handles.prf = str2num(get(handles.edit2, 'String'));

%% Платформы

% Инициализация нач. положения платформы 1

handles.X_init_pos_ant_1=str2num(get(handles.edit3, 'String'));

handles.Y_init_pos_ant_1=str2num(get(handles.edit4, 'String'));

handles.Z_init_pos_ant_1=str2num(get(handles.edit5, 'String'));

handles.Vx_init_pos_ant_1=str2num(get(handles.edit6, 'String'));

handles.Vy_init_pos_ant_1=str2num(get(handles.edit7, 'String'));

handles.Vz_init_pos_ant_1=str2num(get(handles.edit8, 'String'));

% Инициализация нач. положения платформы 2

handles.X_init_pos_ant_2=str2num(get(handles.edit9, 'String'));

handles.Y_init_pos_ant_2=str2num(get(handles.edit10, 'String'));

handles.Z_init_pos_ant_2=str2num(get(handles.edit11, 'String'));

handles.Vx_init_pos_ant_2=str2num(get(handles.edit12, 'String'));

handles.Vy_init_pos_ant_2=str2num(get(handles.edit13, 'String'));

handles.Vz_init_pos_ant_2=str2num(get(handles.edit14, 'String'));

%% Цели

% Инициализация нач. положения и скорости цели 1

handles.X_init_pos_tgt_1=str2num(get(handles.edit15, 'String'));

handles.Y_init_pos_tgt_1=str2num(get(handles.edit16, 'String'));

handles.Z_init_pos_tgt_1=str2num(get(handles.edit17, 'String'));

handles.Vx_init_pos_tgt_1=str2num(get(handles.edit18, 'String'));

handles.Vy_init_pos_tgt_1=str2num(get(handles.edit19, 'String'));

handles.Vz_init_pos_tgt_1=str2num(get(handles.edit20, 'String'));

% Инициализация нач. положения и скорости цели 2

handles.X_init_pos_tgt_2=str2num(get(handles.edit21, 'String'));

handles.Y_init_pos_tgt_2=str2num(get(handles.edit22, 'String'));

handles.Z_init_pos_tgt_2=str2num(get(handles.edit23, 'String'));

handles.Vx_init_pos_tgt_2=str2num(get(handles.edit24, 'String'));

handles.Vy_init_pos_tgt_2=str2num(get(handles.edit25, 'String'));

handles.Vz_init_pos_tgt_2=str2num(get(handles.edit26, 'String'));

% Инициализация нач. положения и скорости цели 3

handles.X_init_pos_tgt_3=str2num(get(handles.edit27, 'String'));

handles.Y_init_pos_tgt_3=str2num(get(handles.edit28, 'String'));

handles.Z_init_pos_tgt_3=str2num(get(handles.edit29, 'String'));

handles.Vx_init_pos_tgt_3=str2num(get(handles.edit30, 'String'));

handles.Vy_init_pos_tgt_3=str2num(get(handles.edit31, 'String'));

handles.Vz_init_pos_tgt_3=str2num(get(handles.edit32, 'String'));

% Инициализация нач. положения и скорости цели 4

handles.X_init_pos_tgt_4=str2num(get(handles.edit33, 'String'));

handles.Y_init_pos_tgt_4=str2num(get(handles.edit34, 'String'));

handles.Z_init_pos_tgt_4=str2num(get(handles.edit35, 'String'));

handles.Vx_init_pos_tgt_4=str2num(get(handles.edit36, 'String'));

handles.Vy_init_pos_tgt_4=str2num(get(handles.edit37, 'String'));

handles.Vz_init_pos_tgt_4=str2num(get(handles.edit38, 'String'));

% Инициализация нач положения и скорости цели 5

handles.X_init_pos_tgt_5=str2num(get(handles.edit39, 'String'));

handles.Y_init_pos_tgt_5=str2num(get(handles.edit40, 'String'));

handles.Z_init_pos_tgt_5=str2num(get(handles.edit41, 'String'));

handles.Vx_init_pos_tgt_5=str2num(get(handles.edit42, 'String'));

handles.Vy_init_pos_tgt_5=str2num(get(handles.edit43, 'String'));

handles.Vz_init_pos_tgt_5=str2num(get(handles.edit44, 'String'));

guidata(hObject,handles);

function pushbutton2_Callback(hObject, eventdata, handles)

multi_radar_target_visual3d_move(hObject,handles);

function pushbutton3_Callback(hObject, eventdata, handles)

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

function edit42_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit41_Callback(hObject, eventdata, handles)

function edit41_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit40_Callback(hObject, eventdata, handles)

function edit40_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 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 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 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 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 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 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 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 edit31_Callback(hObject, eventdata, handles)

function edit31_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit30_Callback(hObject, eventdata, handles)

function edit30_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit29_Callback(hObject, eventdata, handles)

function edit29_CreateFcn(hObject, eventdata, handles)

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

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

end

function edit28_Callback(hObject, eventdata, handles)

function edit28_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 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 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 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 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 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 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 multi_radar_target_visual3d_move(hObject, handles)

prf=handles.prf; % prf=1000; 1 мкс

pulsenum=handles.pulsenum;

% Инициализация нач положения платформы 1

X_init_pos_ant_1=handles.X_init_pos_ant_1;

Y_init_pos_ant_1=handles.Y_init_pos_ant_1;

Z_init_pos_ant_1=handles.Z_init_pos_ant_1;

Vx_init_pos_ant_1=handles.Vx_init_pos_ant_1;

Vy_init_pos_ant_1=handles.Vy_init_pos_ant_1;

Vz_init_pos_ant_1=handles.Vz_init_pos_ant_1;

% Инициализация нач положения платформы 2

X_init_pos_ant_2=handles.X_init_pos_ant_2;

Y_init_pos_ant_2=handles.Y_init_pos_ant_2;

Z_init_pos_ant_2=handles.Z_init_pos_ant_2;

Vx_init_pos_ant_2=handles.Vx_init_pos_ant_2;

Vy_init_pos_ant_2=handles.Vy_init_pos_ant_2;

Vz_init_pos_ant_2=handles.Vz_init_pos_ant_2;

% Инициализация нач положения и скорости цели 1

X_init_pos_tgt_1=handles.X_init_pos_tgt_1;

Y_init_pos_tgt_1=handles.Y_init_pos_tgt_1;

Z_init_pos_tgt_1=handles.Z_init_pos_tgt_1;

Vx_init_pos_tgt_1=handles.Vx_init_pos_tgt_1;

Vy_init_pos_tgt_1=handles.Vy_init_pos_tgt_1;

Vz_init_pos_tgt_1=handles.Vz_init_pos_tgt_1;

% Инициализация нач положения и скорости цели 2

X_init_pos_tgt_2=handles.X_init_pos_tgt_2;

Y_init_pos_tgt_2=handles.Y_init_pos_tgt_2;

Z_init_pos_tgt_2=handles.Z_init_pos_tgt_2;

Vx_init_pos_tgt_2=handles.Vx_init_pos_tgt_2;

Vy_init_pos_tgt_2=handles.Vy_init_pos_tgt_2;

Vz_init_pos_tgt_2=handles.Vz_init_pos_tgt_2;

% Инициализация нач положения и скорости цели 3

X_init_pos_tgt_3=handles.X_init_pos_tgt_3;

Y_init_pos_tgt_3=handles.Y_init_pos_tgt_3;

Z_init_pos_tgt_3=handles.Z_init_pos_tgt_3;

Vx_init_pos_tgt_3=handles.Vx_init_pos_tgt_3;

Vy_init_pos_tgt_3=handles.Vy_init_pos_tgt_3;

Vz_init_pos_tgt_3=handles.Vz_init_pos_tgt_3;

% Инициализация нач положения и скорости цели 4

X_init_pos_tgt_4=handles.X_init_pos_tgt_4;

Y_init_pos_tgt_4=handles.Y_init_pos_tgt_4;

Z_init_pos_tgt_4=handles.Z_init_pos_tgt_4;

Vx_init_pos_tgt_4=handles.Vx_init_pos_tgt_4;

Vy_init_pos_tgt_4=handles.Vy_init_pos_tgt_4;

Vz_init_pos_tgt_4=handles.Vz_init_pos_tgt_4;

% Инициализация нач положения и скорости цели 5

X_init_pos_tgt_5=handles.X_init_pos_tgt_5;

Y_init_pos_tgt_5=handles.Y_init_pos_tgt_5;

Z_init_pos_tgt_5=handles.Z_init_pos_tgt_5;

Vx_init_pos_tgt_5=handles.Vx_init_pos_tgt_5;

Vy_init_pos_tgt_5=handles.Vy_init_pos_tgt_5;

Vz_init_pos_tgt_5=handles.Vz_init_pos_tgt_5;

% Задаем начальное положение РЛС1

hantplatform{1}= phased.Platform('InitialPosition',[X_init_pos_ant_1; Y_init_pos_ant_1; Z_init_pos_ant_1],...

'Velocity', [Vx_init_pos_ant_1; Vy_init_pos_ant_1; Vz_init_pos_ant_1]);

% Задаем начальное положение РЛС2

hantplatform{2}= phased.Platform('InitialPosition',[X_init_pos_ant_2; Y_init_pos_ant_2; Z_init_pos_ant_2],...

'Velocity', [Vx_init_pos_ant_2; Vy_init_pos_ant_2; Vz_init_pos_ant_2]);

% Уставнока параметров цели 1 (подвижная)

% Задаем начальное положение и скорость цели 1

htargetplatform{1} = phased.Platform(...

'InitialPosition',[X_init_pos_tgt_1; Y_init_pos_tgt_1; Z_init_pos_tgt_1],...

'Velocity',[Vx_init_pos_tgt_1; Vy_init_pos_tgt_1; Vz_init_pos_tgt_1]);

% вычисляем дальность, угол до цели 1

[tgt1_rng,tgt1_ang] = rangeangle(htargetplatform{1}.InitialPosition,hantplatform{1}.InitialPosition);

% вычисляем радиальную скорость до цели 1

tgt1_speed = radialspeed(htargetplatform{1}.InitialPosition,...

htargetplatform{1}.Velocity,hantplatform{1}.InitialPosition);

% Уставнока параметров цели 2 (подвижная)

htargetplatform{2} = phased.Platform(...

'InitialPosition',[X_init_pos_tgt_2; Y_init_pos_tgt_2; Z_init_pos_tgt_2],...

'Velocity',[Vx_init_pos_tgt_2; Vy_init_pos_tgt_2; Vz_init_pos_tgt_2]);

[tgt2_rng,tgt2_ang] = rangeangle(htargetplatform{2}.InitialPosition,...

hantplatform{1}.InitialPosition);

tgt2_speed = radialspeed(htargetplatform{2}.InitialPosition,...

htargetplatform{2}.Velocity,hantplatform{1}.InitialPosition);

% Уставнока параметров цели 3 (подвижная)

% Задаем начальное положение и скорость цели 3

htargetplatform{3} = phased.Platform(...

'InitialPosition',[X_init_pos_tgt_3; Y_init_pos_tgt_3; Z_init_pos_tgt_3],...

'Velocity',[Vx_init_pos_tgt_3; Vy_init_pos_tgt_3; Vz_init_pos_tgt_3]);

% вычисляем дальность, угол до цели 3

[tgt3_rng,tgt3_ang] = rangeangle(htargetplatform{3}.InitialPosition,hantplatform{1}.InitialPosition);

% вычисляем радиальную скорость до цели 3

tgt3_speed = radialspeed(htargetplatform{3}.InitialPosition,...

htargetplatform{3}.Velocity, hantplatform{1}.InitialPosition);

% Уставнока параметров цели 4 (неподвижная)

% Задаем начальное положение и скорость цели 4

htargetplatform{4} = phased.Platform(...

'InitialPosition',[X_init_pos_tgt_4; Y_init_pos_tgt_4; Z_init_pos_tgt_4],...

'Velocity',[Vx_init_pos_tgt_4; Vy_init_pos_tgt_4; Vz_init_pos_tgt_4]);

% вычисляем дальность, угол до цели 4

[tgt4_rng,tgt4_ang] = rangeangle(htargetplatform{4}.InitialPosition,hantplatform{1}.InitialPosition);

% вычисляем радиальную скорость до цели 4

tgt4_speed = radialspeed(htargetplatform{4}.InitialPosition,...

htargetplatform{4}.Velocity, hantplatform{1}.InitialPosition);

% Уставнока параметров цели 5 (неподвижная)

% Задаем начальное положение и скорость цели 5

htargetplatform{5} = phased.Platform('InitialPosition',[5000.66; 3700; 0], 'Velocity',[120; 1000; 0]);

% вычисляем дальность, угол до цели 5

[tgt5_rng,tgt5_ang] = rangeangle(htargetplatform{5}.InitialPosition,hantplatform{1}.InitialPosition);

% вычисляем радиальную скорость до цели 5

tgt5_speed = radialspeed(htargetplatform{5}.InitialPosition,...

htargetplatform{5}.Velocity, hantplatform{1}.InitialPosition);

htargetplatform{5} = phased.Platform(...

'InitialPosition',[X_init_pos_tgt_5; Y_init_pos_tgt_5; Z_init_pos_tgt_5],...

'Velocity',[Vx_init_pos_tgt_5; Vy_init_pos_tgt_5; Vz_init_pos_tgt_5]);

hPlots = ViewSetup_3D(hantplatform{1},hantplatform{2},htargetplatform);

numtargets = length(htargetplatform);

beta=1:0.5:360;

R_min=5*ones(1,length(beta));

R_max=75*ones(1,length(beta));

for m = 1:pulsenum % кол-во излучаемых импульсов

[ant_pos,ant_vel] = step(hantplatform{1},1/prf);% обновляется положение антенны

[ant_pos2,ant_vel2] = step(hantplatform{2},1/prf);

for n = numtargets:-1:1 % цикл по целям

[tgt_pos(:,n),tgt_vel(:,n)] = step(htargetplatform{n},1/prf);

% обновляется положение цели на каждом Тр

[target{m}.tgt_rng(n),target{m}.tgt_ang(:,n)] = rangeangle(tgt_pos(:,n),ant_pos); % вычисляется направление между целями и положением антенны

[target{m}.tgt_rng2(n),target{m}.tgt_ang2(:,n)] = rangeangle(tgt_pos(:,n),ant_pos2);

end

figure(64)

polarplot(target{m}.tgt_ang(1,:)*(pi/180),target{m}.tgt_rng,'+',beta*(pi/180),R_min,'r--',beta*(pi/180),R_max,'r--');

title('Полярная СК РЛС 1')

figure(65)

polarplot(target{m}.tgt_ang2(1,:)*(pi/180),target{m}.tgt_rng2,'+');

title('Полярная СК РЛС 2')

hold on

ViewTrajectory_3D(hPlots,ant_pos,ant_pos2,tgt_pos)

set(handles.text2,'String',num2str(m));

set(handles.text3,'String',num2str(m*(1/prf)));

% Цель 1

set(handles.text137,'String',num2str(target{m}.tgt_ang(1,1)));

set(handles.text92,'String',num2str(target{m}.tgt_ang(2,1)));

set(handles.text93,'String',num2str(target{m}.tgt_rng(1,1)));

set(handles.text135,'String',num2str(target{m}.tgt_ang2(1,1)));

set(handles.text96,'String',num2str(target{m}.tgt_ang2(2,1)));

set(handles.text97,'String',num2str(target{m}.tgt_rng2(1,1)));

% Цель 2

set(handles.text139,'String',num2str(target{m}.tgt_ang(1,2)));

set(handles.text107,'String',num2str(target{m}.tgt_ang(2,2)));

set(handles.text106,'String',num2str(target{m}.tgt_rng(1,2)));

set(handles.text141,'String',num2str(target{m}.tgt_ang2(1,2)));

set(handles.text103,'String',num2str(target{m}.tgt_ang2(2,2)));

set(handles.text102,'String',num2str(target{m}.tgt_rng2(1,2)));

end

save('block_A1.mat','target','prf','pulsenum','htargetplatform')

end

function hPlots = ViewSetup_3D(sTxPlat,sRxPlat,sTgtPlat)

% function hPlots = ViewSetup_3D(sTxPlat,sRxPlat,sTgtPlat,sWav,sRD,y)

% This function helperBistatViewSetup is only in support of

% BistaticPolarimetricExample. It may be removed in a future release.

% Copyright 2012 The MathWorks, Inc.

figure('Color','w');

txpos = sTxPlat.InitialPosition/1000;

rxpos = sRxPlat.InitialPosition/1000;

tgtpos = [sTgtPlat{1}.InitialPosition sTgtPlat{2}.InitialPosition sTgtPlat{3}.InitialPosition sTgtPlat{4}.InitialPosition sTgtPlat{5}.InitialPosition]/1000;

msize = 10;

% figure(1)

subplot(4,4,[1 2 3 5 6 7 9 10 11]);

% Цветовые параметры для РЛС1

hPlots.htxpath = plot3(txpos(1),txpos(2),txpos(3),...

'Color','k','Marker','>','MarkerSize',msize,'LineStyle','none');

hold on;

% положение надписи антенны РЛС 1

text(1.1*txpos(1),1.1*txpos(2),1.1*txpos(3),'РЛС1')

hPlots.hrxpath = plot3(rxpos(1),rxpos(2),rxpos(3),...

'Color','m','Marker','>','MarkerSize',msize,'LineStyle','none');

% положение надписи антенны РЛС 2

text(1.1*rxpos(1),1.1*rxpos(2),1.1*rxpos(3),'РЛС2')

% залаем цвет и маркер целей их количество должно соответствовать кол-ву

% целей

tgtcolor = ['r','r','r','b','b' ]; % r - ДЦ, b - НЦ

tgtmarker = ['x','x','x','+','+']; % x - ДЦ, + - НЦ

for m =1: size(tgtpos,2)

hPlots.htgtpath(m) = plot3(tgtpos(1,m),tgtpos(2,m),tgtpos(3,m),...

'Color',tgtcolor(m),'Marker',tgtmarker(m),...

'MarkerSize',msize,'LineStyle','none');

end

drawnow;

view(30,10);

grid on;

set(gca,'Color','none');

xlabel('x (km)');

ylabel('y (km)');

zlabel('z (km)');

title('Взаимное расположение РЛС и целей');

msize = 5;

% figure(2)

subplot(4,4,4);

hPlots.htxline = line(get(hPlots.htxpath,'XData'),get(hPlots.htxpath,'YData'),...

get(hPlots.htxpath,'ZData'),...

'Color','m','Marker','>','MarkerSize',msize);

view(40,48);

grid on;

set(gca,'Color','none');

xlabel('x (km)');

ylabel('y (km)');

zlabel('z (km)');

title('РЛС1');

subplot(4,4,8);

hPlots.hrxline = line(get(hPlots.hrxpath,'XData'),get(hPlots.hrxpath,'YData'),...

get(hPlots.hrxpath,'ZData'),...

'Color','m','Marker','>','MarkerSize',msize);

view(40,48);

grid on;

set(gca,'Color','none');

xlabel('x (km)');

ylabel('y (km)');

zlabel('z (km)');

title('РЛС2');

% figure(3)

subplot(4,4,12);

hPlots.htgtline1 = line(get(hPlots.htgtpath(1),'XData'),get(hPlots.htgtpath(1),'YData'),...

get(hPlots.htgtpath(1),'ZData'),...

'Color','r','Marker','+','MarkerSize',msize);

view(40,48);

grid on;

set(gca,'Color','none');

xlabel('x (km)');

ylabel('y (km)');

zlabel('z (km)');

title('Цель 1');

subplot(4,4,16);

hPlots.htgtline2 = line(get(hPlots.htgtpath(2),'XData'),get(hPlots.htgtpath(2),'YData'),...

get(hPlots.htgtpath(2),'ZData'),...

'Color','r','Marker','+','MarkerSize',msize);

view(40,48);

grid on;

set(gca,'Color','none');

xlabel('x (km)');

ylabel('y (km)');

zlabel('z (km)');

title('Цель 2');

subplot(4,4,15);

hPlots.htgtline3 = line(get(hPlots.htgtpath(3),'XData'),get(hPlots.htgtpath(3),'YData'),...

get(hPlots.htgtpath(3),'ZData'),...

'Color','r','Marker','+','MarkerSize',msize);

view(40,48);

grid on;

set(gca,'Color','none');

xlabel('x (km)');

ylabel('y (km)');

zlabel('z (km)');

title('Цель 3');

subplot(4,4,14);

hPlots.htgtline4 = line(get(hPlots.htgtpath(4),'XData'),get(hPlots.htgtpath(4),'YData'),...

get(hPlots.htgtpath(4),'ZData'),...

'Color','r','Marker','+','MarkerSize',msize);

view(40,48);

grid on;

set(gca,'Color','none');

xlabel('x (km)');

ylabel('y (km)');

zlabel('z (km)');

title('Цель 4');

subplot(4,4,13);

hPlots.htgtline5 = line(get(hPlots.htgtpath(5),'XData'),get(hPlots.htgtpath(5),'YData'),...

get(hPlots.htgtpath(5),'ZData'),...

'Color','r','Marker','+','MarkerSize',msize);

view(40,48);

grid on;

set(gca,'Color','none');

xlabel('x (km)');

ylabel('y (km)');

zlabel('z (km)');

title('Цель 5');

drawnow;

function ViewTrajectory_3D(hPlots,txpos,rxpos,tgtpos)

% This function helperBistatViewTrajectory is only in support of

% BistaticPolarimetricExample. It may be removed in a future release.

% Copyright 2012 The MathWorks, Inc.

txpos = txpos/1000;

rxpos = rxpos/1000;

tgtpos = tgtpos/1000;

set(hPlots.htxpath,'XData',[get(hPlots.htxpath,'XData') txpos(1)],...

'YData',[get(hPlots.htxpath,'YData') txpos(2)],...

'ZData',[get(hPlots.htxpath,'ZData') txpos(3)]);

set(hPlots.hrxpath,'XData',[get(hPlots.hrxpath,'XData') rxpos(1)],...

'YData',[get(hPlots.hrxpath,'YData') rxpos(2)],...

'ZData',[get(hPlots.hrxpath,'ZData') rxpos(3)]);

for m = 1:size(tgtpos,2)

set(hPlots.htgtpath(m),'XData',[get(hPlots.htgtpath(m),'XData') tgtpos(1,m)],...

'YData',[get(hPlots.htgtpath(m),'YData') tgtpos(2,m)],...

'ZData',[get(hPlots.htgtpath(m),'ZData') tgtpos(3,m)]);

end

% платформы РЛС

set(hPlots.htxline,'XData',get(hPlots.htxpath,'XData'),'YData',get(hPlots.htxpath,'YData'),...

'ZData',get(hPlots.htxpath,'ZData'));

set(hPlots.hrxline,'XData',get(hPlots.hrxpath,'XData'),'YData',get(hPlots.hrxpath,'YData'),...

'ZData',get(hPlots.hrxpath,'ZData'));

% цели

set(hPlots.htgtline1,'XData',get(hPlots.htgtpath(1),'XData'),'YData',get(hPlots.htgtpath(1),'YData'),...

'ZData',get(hPlots.htgtpath(1),'ZData'));

set(hPlots.htgtline2,'XData',get(hPlots.htgtpath(2),'XData'),'YData',get(hPlots.htgtpath(2),'YData'),...

'ZData',get(hPlots.htgtpath(2),'ZData'));

set(hPlots.htgtline3,'XData',get(hPlots.htgtpath(3),'XData'),'YData',get(hPlots.htgtpath(3),'YData'),...

'ZData',get(hPlots.htgtpath(3),'ZData'));

set(hPlots.htgtline4,'XData',get(hPlots.htgtpath(4),'XData'),'YData',get(hPlots.htgtpath(4),'YData'),...

'ZData',get(hPlots.htgtpath(4),'ZData'));

set(hPlots.htgtline5,'XData',get(hPlots.htgtpath(5),'XData'),'YData',get(hPlots.htgtpath(5),'YData'),...

'ZData',get(hPlots.htgtpath(5),'ZData'));

drawnow;

%Пересчет дальностей и моделирование 10000 экспериментов.

clear all

close all

clc

% Истинные значения дальностей

dist_ist_rls1 = 43116.182;

dist_ist_rls2 = 43577.618;

b = 10000;

% Углы места

beta_rls1 = 35.4385;

beta_rls2 = 35.0079;

% sigma = input('Введите СКО');

N=10000; %количество эксп.

sigma = 100;

for i=1:1:N

sigma_rls_1(i) = normrnd(0,sigma+2);

sigma_rls_2(i) = normrnd(0,sigma);

% Дальности с погрешностью

dist_izm_rls1(i) = dist_ist_rls1 + sigma_rls_1(i);

dist_izm_rls2(i) = dist_ist_rls2 + sigma_rls_2(i);

% Высота по нормали (в СК РЛС2)

h2(i) = dist_izm_rls2(i) * sind(beta_rls2);

% Дальность РЛС1 измеренная в СК РЛС2

dist_rls1_v_sk_rls2(i) = h2(i)/sind(beta_rls1);

%Скомлексированное значение дальности РЛС1

komplex1(i) = (dist_izm_rls1(i) + dist_rls1_v_sk_rls2(i))/2;

end;

i = 1:1:N;

plot(i,dist_izm_rls1,'r',i,komplex1,'b',i,ones(1,N).*dist_ist_rls1,'--g'),grid;

xlabel('Количество измерений дальности')

ylabel('Дальность, м')

%Счет дальности в ходе движения цели 1.

clear all

close all

clc

load('block_A1.mat','target','prf','pulsenum','htargetplatform')

sigma = 100;

for i=1:1:10

dist_ist_rls1(i) = target{1,i}.tgt_rng(1);

dist_ist_rls2(i) = target{1,i}.tgt_rng2(1);

% СКО РЛС 1 и 2

dist_izm_rls1(i) = normrnd(dist_ist_rls1(i),sigma);

dist_izm_rls2(i) = normrnd(dist_ist_rls2(i),sigma);

beta_rls1(i) = target{1,i}.tgt_ang(2,1);

beta_rls2(i) = target{1,i}.tgt_ang2(2,1);

% Высота по нормали (в СК РЛС2)

h2(i) = dist_izm_rls2(i) * sind(beta_rls2(i));

% Дальность РЛС1 измеренная в СК РЛС2

dist_rls1_v_sk_rls2(i) = h2(i)/sind(beta_rls1(i));

%Скомлексированное значение дальности РЛС1

komplex1(i) = (dist_izm_rls1(i) + dist_rls1_v_sk_rls2(i))/2;

end;

i = 1:10;

plot(i,dist_izm_rls1,'r',i,komplex1,'b',i,dist_ist_rls1,'--g'),grid;

xlabel('Количество измерений дальности')

ylabel('Дальность, м')

ylim([(dist_ist_rls1(1)-550) (dist_ist_rls1(1)+550)])

Размещено на Allbest.ru


Подобные документы

  • Средства электрических измерений: меры, преобразователи, комплексные установки. Классификация измерительных устройств. Методы и погрешности измерений. Определение цены деления и предельного значения модуля основной и дополнительной погрешности вольтметра.

    практическая работа [175,4 K], добавлен 03.05.2015

  • Основные свойства измеряемых погрешностей. Технические и метрологические характеристики средств электротехнических измерений, их сравнительный анализ. Моделирование и реализация виртуального прибора в программной среде National Instruments, Labview.

    курсовая работа [2,4 M], добавлен 09.04.2015

  • Рассмотрение систематических и случайных погрешностей измерений основных показателей в метрологии. Правила суммирования погрешностей. Основы обработки однократных прямых, многократных и косвенных измерений. Определение границы доверительного интервала.

    курсовая работа [78,9 K], добавлен 14.10.2014

  • Метрология как наука об измерениях, методах и средствах обеспечения их единства и способах достижения требуемой точности. Способы нормирования метрологических характеристик средств измерений, поверка электродинамических и электромагнитных приборов.

    курсовая работа [178,5 K], добавлен 09.11.2012

  • Методы статистической обработки результатов измерений. Структурная схема ИЦВ с усреднением мгновенных значений измеряемого напряжения. Цифровые вольтметры, реализующие кодо-импульсный метод преобразования. Схема цифровых вольтметров переменного тока.

    реферат [82,8 K], добавлен 17.11.2008

  • Моделирование работы справочной телефонной сети города. Главные составляющие процесса ее функционирования, схема модели, анализ результатов моделирования системы. Проектирование инструментально-программного комплекса для анализа загруженности процессоров.

    курсовая работа [179,7 K], добавлен 22.06.2011

  • Государственная метрологическая аттестация: методы и проблемы проверки магнитоэлектрических логометров, стандарты достоверности, средства измерений и контроля. Правила и схемы метрологических проверок средств измерения для обеспечения единства измерений.

    курсовая работа [44,2 K], добавлен 27.02.2009

  • Технология Ethernet, построение схемы сети и алгоритм работы. Показатели работы сети до и после ввода дополнительных станций, результатов аналитического и имитационного моделирования. Запуск процесса моделирования и анализ результатов базовой модели.

    курсовая работа [357,5 K], добавлен 17.04.2012

  • Параметры ошибок и методы их измерений по G.821. Схема измерений параметров каналов ЦСП типа "точка-точка". Основные принципы методологии измерений по G.826. Методика индикационных измерений. Измерение параметров кодовых ошибок, их связь с битовыми.

    реферат [405,0 K], добавлен 12.11.2010

  • Направления автоматизации измерений. Применение микропроцессоров в измерительных приборах. Измерительно-вычислительный комплекс как автоматизированное средство измерений, имеющее в своем составе микропроцессоры. Номенклатура входящих в ИВК компонентов.

    реферат [28,4 K], добавлен 23.01.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.