Преобразуйте эмиссию к каркасу кузова платформы
embody = emissionsInBody(emscene,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]
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.