Преобразуйте выбросы в каркас кузова платформы
Преобразуйте радиолокационное излучение из координат сценария в каркас кузова.
Задайте радиолокационное излучение относительно системы координат сценария.
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}
emscene
- Выбросы в координатах сценарияВыбросы в координатах сценария, заданные как массив ячеек radarEmission
или sonarEmission
объекты выбросов.
bodyframe
- Каркас кузова Platform
объектКаркас кузова, заданная как структура или Platform
объект. Можно использовать Platform
объект, поскольку он содержит необходимую информацию. Структура каркаса кузова должна содержать по крайней мере следующие поля:
Область | Описание |
---|---|
Position | Положение тела в координатах сценария, заданное как действительный вектор 1 на 3. Это поле обязательно к заполнению. Значение по умолчанию отсутствует. Модули измерения указаны в метрах. |
Velocity | Скорость тела в координатах сценария, заданная как действительный вектор 1 на 3. Модули указаны в метрах в секунду. Значение по умолчанию является |
Orientation | Ориентация тела относительно координатной системы координат сценария, заданная как скалярный кватернион или матрица вращения 3 на 3. Ориентация определяет поворот системы координат из сценария в систему координат тела. Модули безразмерны. Значение по умолчанию является |
Поскольку поля в структуре каркаса кузова являются подмножеством полей в структуре платформы, можно использовать структуру платформы, выводимую из platformPoses
метод trackingScenario
как вход bodyframe
.
embody
- Выбросы в координатах телаВыбросы в координатах тела, возвращенные как массив ячеек radarEmission
и sonarEmission
объекты выбросов.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.