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++ с помощью Coder™ MATLAB ®

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