emissionsInBody

Преобразуйте эмиссию к системе координат тела платформы

Описание

embody = emissionsInBody(emscene,bodyframe) преобразует эмиссию, emscene, ссылаемый к сценарию координирует в эмиссию, embody, ссылаемый к координатам тела платформы. bodyframe задает положение, скорость и ориентацию тела платформы.

Примеры

свернуть все

Преобразуйте радиолокационное излучение от координат сценария до системы координат тела.

Задайте радиолокационное излучение относительно системы координат сценария.

emScene = radarEmission('PlatformID',1,'EmitterIndex',1, ...
    'OriginPosition',[0 0 0])
emScene = 
  radarEmission with properties:

              PlatformID: 1
            EmitterIndex: 1
          OriginPosition: [0 0 0]
          OriginVelocity: [0 0 0]
             Orientation: [1x1 quaternion]
             FieldOfView: [180 180]
         CenterFrequency: 300000000
               Bandwidth: 3000000
            WaveformType: 0
          ProcessingGain: 0
        PropagationRange: 0
    PropagationRangeRate: 0
                    EIRP: 0
                     RCS: 0

Задайте положение, скорость и ориентацию, тела относительно системы координат сценария.

bodyFrame = struct( ...
    'Position',[10 0 0], ...
    'Velocity',[5 5 0], ...
    'Orientation',quaternion([45 0 0],'eulerd','zyx','frame'));

Преобразуйте эмиссию в систему координат тела.

emBody = emissionsInBody(emScene,bodyFrame)
emBody = 
  radarEmission with properties:

              PlatformID: 1
            EmitterIndex: 1
          OriginPosition: [-7.0711 7.0711 0]
          OriginVelocity: [-7.0711 4.4409e-16 0]
             Orientation: [1x1 quaternion]
             FieldOfView: [180 180]
         CenterFrequency: 300000000
               Bandwidth: 3000000
            WaveformType: 0
          ProcessingGain: 0
        PropagationRange: 0
    PropagationRangeRate: 0
                    EIRP: 0
                     RCS: 0

Преобразуйте эмиссию гидролокатора координат сценария в координаты тела. Используйте trackingScenario к заданному движение тела и использования sonarEmitter создать эмиссию.

Настройте сценарий отслеживания.

scene = trackingScenario;

Создайте эмиттер гидролокатора, чтобы смонтироваться на платформе.

emitter = sonarEmitter(1,'No scanning');

Смонтируйте эмиттер на платформе в сценарии на 100 метров ниже уровня моря.

platTx = platform(scene,'Emitters',emitter);
platTx.Trajectory.Position = [10 0 100];

Создайте другую платформу в сценарии.

platRx = platform(scene);
platRx.Trajectory.Position = [100 0 100];
platRx.Trajectory.Orientation = quaternion([45 0 0],'eulerd', ...
    'zyx','frame');

Испустите сигнал. Испускаемый сигнал находится в системе координат сценария.

emScene = emit(platTx,scene.SimulationTime)
emScene = 1x1 cell array
    {1x1 sonarEmission}

Распространите эмиссию через подводный канал.

emPropScene = underwaterChannel(emScene,scene.Platforms)
emPropScene=2×1 cell array
    {1x1 sonarEmission}
    {1x1 sonarEmission}

Преобразуйте эмиссию в систему координат тела второй платформы.

emBodyRx = emissionsInBody(emPropScene, platRx);
disp(emBodyRx(1))
    {1x1 sonarEmission}

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

свернуть все

Эмиссия в сценарии координирует в виде массива ячеек radarEmission или sonarEmission объекты эмиссии.

Система координат тела в виде структуры или Platform объект. Можно использовать Platform возразите, потому что это содержит необходимую информацию. Структура системы координат тела должна содержать, по крайней мере, эти поля:

Поле Описание
Position

Положение тела в сценарии координирует в виде с действительным знаком 1 3 вектор. Это поле требуется. Нет никакого значения по умолчанию. Величины в метрах.

Velocity

Скорость тела в сценарии координирует в виде с действительным знаком 1 3 вектор. Модули исчисляются в метрах в секунду. Значением по умолчанию является [0 0 0].

Orientation

Ориентация тела относительно сценария координирует систему координат в виде скалярного кватерниона или 3х3 матрицы вращения. Ориентация задает вращение системы координат от системы координат сценария до системы координат тела. Модули являются безразмерными. Значением по умолчанию является quaternion(1,0,0,0) или, эквивалентно, eye(3).

Поскольку поля в структуре системы координат тела являются подмножеством полей в структуре платформы, можно использовать структуру платформы выход от platformPoses метод trackingScenario как вход bodyframe.

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

свернуть все

Эмиссия в координатах тела, возвращенных как массив ячеек radarEmission и sonarEmission объекты эмиссии.

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

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

Смотрите также

Функции

Объекты

Введенный в R2018b