singer

Модель движения ускорения певца

Описание

пример

updatedstates = singer(states) возвращает обновленные состояния из текущей states на основе модели движения ускорения Сингера. Временной шаг по умолчанию составляет 1 секунду.

updatedstates = singer(states,dt) определяет временной шаг, dt, в секундах.

updatedstates = singer(states,dt,tau) задает постоянную времени маневра цели, tau, в секундах. Время маневра по умолчанию составляет 20 секунд.

Примеры

свернуть все

Задайте матрицу состояний для 2-D движения ускорения Сингера.

states = [1 2 2.5;1 2.5 3;0 -1 2;2 3 -1;5 0 3;-2 4 2];

Спрогнозируйте состояния с помощью интервала временного шага по умолчанию dt = 1 секунду.

states = singer(states)
states = 6×3

    2.0000    4.0082    6.4835
    1.0000    1.5246    4.9508
         0   -0.9512    1.9025
    6.0165    4.9671    2.9835
    3.0492    3.9016    4.9508
   -1.9025    3.8049    1.9025

Спрогнозируйте состояние при помощи dt = 0,1 секунды.

states = singer(states,0.1)
states = 6×3

    2.1000    4.1559    6.9881
    1.0000    1.4297    5.1406
         0   -0.9465    1.8930
    6.3119    5.3762    3.4881
    2.8594    4.2812    5.1406
   -1.8930    3.7859    1.8930

Задайте вектор состояния для 2-D движения ускорения Сингера.

state = [10;-10;3;0;10;-3];
dt = 0.2; % time step in seconds
tau = 10; % maneuver time in seconds

Используйте singer функция для создания траектории и измерения положений с помощью singermeas функция.

positions = zeros(2,100); % Pre-allocate memory
measurements = zeros(3,100); % Pre-allocate memory
for i = 1:1:100
    state = singer(state, dt, tau);
    positions(:,i) = [state(1); state(4)];
    measurements(:,i) = singermeas(state);
end

Визуализация результатов.

plot(positions(1,:), positions(2,:))
hold on
plot(measurements(1,:), measurements(2,:), '.')
title('Singer Acceleration Model'); 
xlabel('X[m]'); ylabel('Y[m]');
legend('Trajectory', 'Measurements'); 

Figure contains an axes. The axes with title Singer Acceleration Model contains 2 objects of type line. These objects represent Trajectory, Measurements.

Входные параметры

свернуть все

Текущие состояния, заданные как действительный вектор 3N -by-1 или вещественная 3N -by- M матрица. N - пространственная степень состояния, а M - количество состояний.

Вектор состояния в каждом столбце принимает различные формы на основе его пространственных размерностей.

Пространственные степениСтруктура Вектора состояния
1-D[x;vx;ax]
2-D[x;vx;ax;y;vy;ay]
3-D[x;vx;ax;y;vy;ay;z;vz;az]

Для примера, x представляет x -cordinate, vx представляет скорость в x -направлении, и ax представляет ускорение в x -направлении. Если модель движения находится в одномерном пространстве, y - и z - оси приняты равными нулю. Если модель движения находится в двумерном пространстве, значения вдоль оси z приняты равными нулю. Координаты положения указаны в метрах. Координаты скорости указаны в метрах/секунду. Координаты ускорения указаны в м/с2.

Пример: [5;0.1;0.01;0;-0.2;-0.01;-3;0.05;0]

Временной шаг, заданный как положительная скалярная величина в секундах.

Пример: 0.5

Постоянная времени маневра цели, заданная как положительный скаляр или N элемент в секундах. N - пространственная степень состояния. Если задан как вектор, каждый элемент применяется к соответствующей пространственной размерности.

Пример: 30

Выходные аргументы

свернуть все

Обновленные состояния, возвращенные как вектор с реальным 3N -by-1 или матрица с реальным 3N -by M. N - пространственная степень состояния, а M - количество состояний. The updatedStates выходы имеют точно такую же форму, как и states вход.

Алгоритмы

Модель ускорения Сингера принимает ускорение в временной шаг k + 1, которое зависит от ускорения в временной шаг k с экспоненциальным распадом как :

a(k+1)=a(k)*exp(T/τ)

где a (k) - ускорение в то время, когда k шаг, T - временной шаг, и τ является временной константой маневра цели.

Для модели 1-D певца состояния p = [x, vx, ax]T, распространением состояния является:

p(k)=[1T(αT1eαT)/α201(1eαT)/α00eαT]p(k)+w(k)

где α = 1/ τ - обратная величина постоянной времени маневра цели, а w (k) - шум процесса модели Сингера на временном шаге k. ПосмотритеsingerProcessNoise для получения дополнительной информации о шуме процесса.

Ссылки

[1] Сингер, Роберт А. «Оценка оптимальной эффективности фильтра слежения для пилотируемых маневрирующих целей». Транзакции IEEE по аэрокосмическим и электронным системам 4 (1970): 473-483.

[2] Блэкман, Сэмюэль С. и Роберт Пополи. «Проект и анализ современных систем слежения». (1999).

[3] Li, X. Rong, and Vesselin P. Jilkov. «Обследование маневрирующего сопровождения цели: динамические модели». Обработка сигналов и данных малых мишеней 2000, том 4048, стр. 212-235. Международное общество оптики и фотоники, 2000.

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.
Введенный в R2020b