Преобразование выбросов в корпус платформы
Преобразование радиолокационного излучения из координат сценария в корпус.
Определение радиолокационного излучения относительно кадра сценария.
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.