underwaterChannel

Распространенные и отраженные гидроакустические сигналы

Описание

underwaterChannel функция моделей распространения подводного гидроакустического сигнала на основе подхода с изменяющимся во времени акустической Функцией Грина и использует метод изображения для расчета многолучевой передачи сигнала. Функция делает следующие допущения:

  • Функция принимает мелководное (глубина менее 200 метров) окружение, в котором действителен изоспеидный канал.

  • Функция принимает плоское и равномерное дно и поверхность океана и не учитывает потерю сигнала из-за поверхностного взаимодействия.

Для получения дополнительной информации см. эти ссылки.

пример

sonarsigout = underwaterChannel(sonarsigin,platforms) возвращает гидроакустические сигналы, sonarsigout, как комбинации сигналов, sonarsigin, отраженные от платформ, platforms.

Примеры

свернуть все

Создать гидроакустический выброс и платформу и отразить выброс от платформы.

Создайте объект гидроакустического излучения.

sonarSig = sonarEmission('PlatformID',1,'EmitterIndex',1,'OriginPosition',[0 0 0]);

Создайте структуру платформы.

platfm = struct('PlatformID',2,'Position',[10 0 0],'Signatures',tsSignature());

Отражать выбросы от платформы.

sigs = underwaterChannel(sonarSig,platfm)
sigs = 
  2x1 sonarEmission array with properties:

    SourceLevel
    TargetStrength
    PlatformID
    EmitterIndex
    OriginPosition
    OriginVelocity
    Orientation
    FieldOfView
    CenterFrequency
    Bandwidth
    WaveformType
    ProcessingGain
    PropagationRange
    PropagationRangeRate

Reflect a sonar emission from a platform defined within a trackingScenario.

Создайте объект сценария отслеживания.

scenario = trackingScenario;

Создайте sonarEmitter.

emitter = sonarEmitter(1);

Монтируйте излучатель на платформе в рамках сценария.

plat = platform(scenario,'Emitters',emitter);

Добавьте другую платформу, чтобы отразить излучаемый сигнал.

tgt = platform(scenario);
tgt.Trajectory.Position = [30 0 0];

Излучайте сигнал, используя emit функция объекта platform .

txSigs = emit(plat, scenario.SimulationTime)
txSigs = 1x1 cell array
    {1x1 sonarEmission}

Отражайте сигнал от платформ в сценарии.

sigs = underwaterChannel(txSigs, scenario.Platforms)
sigs = 1x1 cell array
    {1x1 sonarEmission}

Входные параметры

свернуть все

Входные гидроакустические сигналы, заданные как массив sonarEmission объекты.

Платформы-рефлекторы, заданные как массив ячеек Platform объекты, Platform, или массив Platform структуры:

ОбластьОписание
PlatformID

Уникальный идентификатор для платформы, заданный как скалярное положительное целое число. Это обязательное поле, не имеющее значения по умолчанию.

ClassID

Пользовательское целое число, используемое для классификации типа целевого значения, заданное как неотрицательное целое число. Нуль зарезервирован для неклассифицированных типов платформ и является значением по умолчанию.

Position

Положение цели в координатах сценария, заданное как реальный вектор 1 на 3. Это обязательное поле. Значение по умолчанию отсутствует. Модули измерения указаны в метрах.

Velocity

Скорость платформы в координатах сценария, заданная как действительный вектор 1 на 3. Модули указаны в метрах в секунду. Значение по умолчанию является [0 0 0].

Speed

Скорость платформы в системе координат сценария задается как действительный скаляр. Когда скорость задана, скорость платформы совмещается с ее ориентацией. Задайте скорость или скорость платформы, но не обе. Модули в метрах в секунду Значение по умолчанию 0.

Acceleration

Ускорение платформы в координатах сценария, заданное как вектор-строка 1 на 3 в метрах в секунду за секунду. Значение по умолчанию является [0 0 0].

Orientation

Ориентация платформы относительно локального сценария NED координатной системы координат, заданная как скалярный кватернион или матрица вращения 3 на 3. Ориентация определяет поворот системы координат NED к текущей системе координат тела платформы. Модули безразмерны. Значение по умолчанию является quaternion(1,0,0,0).

AngularVelocity

Скорость вращения платформы в координатах сценария, заданная как действительный вектор 1 на 3. Величина вектора задает угловую скорость. Направление задает ось поворота по часовой стрелке. Модули указаны в степенях в секунду. Значение по умолчанию является [0 0 0].

Signatures

Массив ячеек сигнатур, определяющих видимость платформы для излучателей и датчиков в сценарии. По умолчанию это массив ячеек {rcsSignature, irSignature, tsSignature}.

Если вы задаете массив структур платформы, задайте уникальное PlatformID для каждой платформы и установите Position поле для каждой платформы. Всем другим не заданным полям присваиваются значения по умолчанию.

Выходные аргументы

свернуть все

Отраженные гидроакустические сигналы, заданные как массив sonarEmission объекты.

Ссылки

[1] Hung, Wen-Liang, and Shou-Jen Chang-Chien. Алгоритм EM на основе обучения для нормально-обратной гауссовой смешанной модели с применением к экстрасолярным планетам. Журнал прикладной статистики, т. 44, № 6, апр. 2017, стр. 978-99..

[2] Стоянович, М., и Й. Прейсиг. Подводные акустические каналы связи: модели распространения и статистическая характеристика. Журнал IEEE Communications Magazine, том 47, № 1, январь 2009, стр. 84-89.

[3] Аллен, Йонт Б. и Дэвид А. Беркли. «Метод изображений для эффективной симуляции Small‐room акустики». Журнал Акустического общества Америки, том 65, № 4, апр. 1979, стр. 943-50.

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

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