emissionsInBody

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

Синтаксис

embody = emissionsInBody(emscene,bodyframe)

Описание

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

Примеры

свернуть все

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

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

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

  radarEmission with properties:

                    EIRP: 0
                     RCS: 0
              PlatformID: 1
            EmitterIndex: 1
          OriginPosition: [0 0 0]
          OriginVelocity: [0 0 0]
             Orientation: [1×1 quaternion]
             FieldOfView: [180 180]
         CenterFrequency: 300000000
               Bandwidth: 3000000
            WaveformType: 0
          ProcessingGain: 0
        PropagationRange: 0
    PropagationRangeRate: 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:

                    EIRP: 0
                     RCS: 0
              PlatformID: 1
            EmitterIndex: 1
          OriginPosition: [-7.0711 7.0711 0]
          OriginVelocity: [-7.0711 4.4409e-16 0]
             Orientation: [1×1 quaternion]
             FieldOfView: [180 180]
         CenterFrequency: 300000000
               Bandwidth: 3000000
            WaveformType: 0
          ProcessingGain: 0
        PropagationRange: 0
    PropagationRangeRate: 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 =

  2x1 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