exponenta event banner

шаг

Системный объект: поэтапный. IsoSpeedUnderwaterPaths
Пакет: поэтапный

Создание путей распространения в isospeed многолучевом звуковом канале

Описание

Примечание

Вместо использования step для выполнения операции, определенной системным object™, можно вызвать объект с аргументами, как если бы это была функция. Например, y = step(obj,x) и y = obj(x) выполнять эквивалентные операции.

пример

pathmat = step(channel,srcpos,destpos,srcvel,destvel,T) возвращает матрицу путей распространения, pathmatдля многолучевого подводного акустического канала. Матрица описывает одностороннее или двустороннее распространение от положения источника сигнала, srcpos, в позицию назначения сигнала, destpos. Скорость источника сигнала указана в srcvel и скорость назначения сигнала указана в destvel. T - интервал времени шага.

При использовании этого метода для одностороннего распространения, srcpos относится к исходному сигналу и destpos к приемнику. Одностороннее моделирование распространения полезно для пассивных гидролокаторов и подводных коммуникаций.

При использовании этого метода для двустороннего распространения, destpos теперь относится к отражающей цели, а не к гидроакустическому приемнику. Двусторонний путь состоит из одностороннего пути от источника к цели, а затем по идентичному одностороннему пути от цели к приемнику (который совмещен с источником). Двухстороннее моделирование распространения полезно для активных гидроакустических систем.

пример

[pathmat,dop,aloss,destang,srcang] = step(channel,srcpos,destpos,srcvel,destvel,T) также возвращает коэффициент Доплера, dop, частотно-зависимые потери поглощения, aloss, углы прихода приемника, destang, и srcang углы передачи.

При использовании этого метода для двустороннего распространения, destang теперь относится к отражающей цели, а не к гидроакустическому приемнику.

Примечание

Объект выполняет инициализацию при первом выполнении объекта. Эта инициализация блокирует неперестраиваемые свойства и входные спецификации, такие как размеры, сложность и тип данных входных данных. При изменении неперестраиваемого свойства или входной спецификации системный объект выдает ошибку. Чтобы изменить неперестраиваемые свойства или входные данные, необходимо сначала вызвать release метод разблокирования объекта.

Примечание

Вместо использования step для выполнения операции, определенной объектом System, можно вызвать объект с аргументами, как если бы это была функция. Например, y = step(obj,x) и y = obj(x) выполнять эквивалентные операции.

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

развернуть все

Тракты Isospeed подводного канала, указанные как phased.IsoSpeedUnderwaterPaths Системный объект.

Пример: phased.IsoSpeedUnderwaterPaths

Источник гидроакустического сигнала, определяемого как вектор столбца с действительными значениями 3 на 1. Единицы измерения положения - метры.

Пример: [1000;100;500]

Типы данных: double

Позиция назначения сигнала, заданная как вектор столбца с действительным значением 3 на 1. Единицы измерения положения - в метрах.

Пример: [0;0;0]

Типы данных: double

Скорость источника сигнала, заданная как вектор столбца с вещественными значениями 3 на 1. Единицы скорости в метрах в секунду.

Пример: [10;0;5]

Типы данных: double

Скорость назначения сигнала, заданная как вектор столбца с действительным значением 3 на 1. Единицы скорости в метрах в секунду.

Пример: [0;0;0]

Типы данных: double

Прошедшее время текущего шага, указанное как положительный скаляр. Единицы времени в секундах.

Пример: 0.1

Типы данных: double

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

развернуть все

Матрица путей распространения, возвращаемая как вещественно-значная матрица 3-by-N. N - количество трактов в канале. Каждый столбец представляет путь. При установке NumPathsSource кому 'Auto', N равно 51. В этом случае любые столбцы заполняются NaN не соответствуют найденным путям. Строки матрицы представляют:

РядДанные
1Задержки распространения для каждого тракта. Единицы измерения в секундах.
2Суммарный коэффициент отражения для каждого пути. Единицы измерения безразмерны
3Увеличение потерь для каждого тракта. Единицы измерения находятся в дБ.

За исключением прямой траектории, траектории состоят из чередующихся поверхностных и донных отражений. Умножаются потери для множественных отражений. Нижний убыток на отражение определяется BottomLoss собственность. Потери на поверхности равны -1, что указывает на отсутствие потерь, но только на изменение фазы на 180 °. Это происходит потому, что поверхность раздела воздух-вода является поверхностью сброса давления.

Типы данных: double

Доплеровский коэффициент, возвращаемый как действительный вектор N-by-1 строки, где N - число путей. Доплеровский коэффициент умножает передаваемую частоту для получения доплеровской сдвинутой принятой частоты для каждого тракта. Доплеровский сдвиг определяется как разность между передаваемой частотой и принятой частотой. Коэффициент Доплера также определяет временное сжатие или расширение сигнала. Единицы измерения безразмерны.

Типы данных: double

Частотно-зависимые потери поглощения, возвращаемые как вещественно-значная K-by- (N + 1) матрица. K - количество частот, указанных в LossFrequencies собственность. N - количество возвращенных путей. Первый столбец aloss содержит частоты потерь поглощения в Гц. Частоты задаются с помощью LossFrequencies собственность. Остальные колонки содержат потери поглощения для каждой частоты. Для каждого пути имеется по одному столбцу. Единицы измерения находятся в дБ.

Типы данных: double

Углы путей в пункте назначения, возвращаемые в виде вещественной матрицы 2-by-N. Каждый столбец содержит направление принимаемого пути относительно места назначения как азимут и отметка, [az;el]. Единицы измерения в градусах.

Типы данных: double

Углы путей от источника, возвращаемые в виде вещественной матрицы 2-by-N. Каждая колонна содержит направление передаваемого пути относительно положения источника как азимут и отметку, [az;el]. Единицы измерения в градусах.

Типы данных: double

Примеры

развернуть все

Создайте 5-траекторный подводный звуковой канал и отобразите матрицу пути распространения. Предположим, что источник неподвижен, а приемник движется вдоль оси Х в направлении источника со скоростью 20 кв/ч. Предположим одностороннее распространение.

speed = -20*1000/3600;
numpaths = 5;
channelpaths = phased.IsoSpeedUnderwaterPaths('ChannelDepth',200,'BottomLoss',10, ...
    'NumPathsSource','Property','NumPaths',numpaths,'CoherenceTime',5);
tstep = 1;
srcpos = [0;0;-160];
rcvpos = [500;0;-50];
srcvel = [0;0;0];
rcvvel = [speed;0;0];
pathmat = channelpaths(srcpos,rcvpos,srcvel,rcvvel,tstep);
disp(pathmat)
    0.3356    0.3556    0.4687    0.3507    0.3791
    1.0000   -1.0000   -0.3162    0.3162   -0.3162
   54.1847   54.6850   57.0766   54.5652   55.2388

Первая строка содержит временную задержку в секундах. Вторая строка содержит коэффициенты потерь нижнего отражения, а третья строка содержит потери расширения в дБ. Коэффициент потерь отражения для первого пути равен 1,0, поскольку прямой путь не имеет граничных отражений. Коэффициент потерь отражения для второго пути равен -1,0, поскольку путь имеет только поверхностное отражение.

Создайте 7-траекторный подводный звуковой канал и отобразите матрицу пути распространения. Предположим, что источник неподвижен, а мишень движется вдоль оси X в направлении источника со скоростью 20 км/ч. Предположим двустороннее распространение.

speed = -20*1000/3600;
numpaths = 7;
channelpaths = phased.IsoSpeedUnderwaterPaths('ChannelDepth',200,'BottomLoss',10, ...
    'NumPathsSource','Property','NumPaths',numpaths,'CoherenceTime',5,...
    'TwoWayPropagation',true);
tstep = 1;
srcpos = [0;0;-160];
tgtpos = [500;0;-50];
srcvel = [0;0;0];
tgtvel = [speed;0;0];
[pathmat,dop,aloss,tgtangs,srcangs] = channelpaths(srcpos,tgtpos,srcvel,tgtvel,tstep);
disp(pathmat)
    0.6712    0.7112    0.9374    1.0354    0.7014    0.7581    1.0152
    1.0000    1.0000    0.1000    0.1000    0.1000    0.1000    0.0100
  108.3693  109.3699  114.1531  115.8772  109.1304  110.4775  115.5355

Первая строка содержит временную задержку в секундах. Вторая строка содержит коэффициенты потерь нижнего отражения, а третья строка содержит потери расширения в дБ. Коэффициент потерь отражения для первого пути равен 1,0, поскольку прямой путь не имеет граничных отражений. Коэффициент потерь отражения для второго пути равен -1,0, поскольку путь имеет только поверхностное отражение.

Создайте подводный звуковой канал и отобразите пути распространения, которые будут найдены автоматически. Предположим, что источник неподвижен, а приемник движется вдоль оси Х в направлении источника со скоростью 20 кв/ч. Предположим двустороннее распространение.

speed = -20*1000/3600;
channelpaths = phased.IsoSpeedUnderwaterPaths('ChannelDepth',200,'BottomLoss',5, ...
    'NumPathsSource','Auto','CoherenceTime',5,'TwoWayPropagation',true);
tstep = 1;
srcpos = [0;0;-160];
tgtpos = [500;0;-50];
srcvel = [0;0;0];
tgtpos = [speed;0;0];
[pathmat,dop,aloss,rcvangs,srcangs] = channelpaths(srcpos,tgtpos,srcvel,tgtpos,tstep);

Отображение первых 7 столбцов pathmat. Некоторые столбцы заполнены | NaN.

disp(pathmat(:,1:7))
    0.2107    0.2107       NaN       NaN       NaN       NaN       NaN
    1.0000    1.0000       NaN       NaN       NaN       NaN       NaN
   88.1753   88.1753       NaN       NaN       NaN       NaN       NaN

Выберите индексы столбцов допустимых путей из всей матрицы.

idx = find(~isnan(pathmat(1,:)))
idx = 1×4

     1     2    27    28

Отображение действительной информации о путях.

validpaths = pathmat(:,idx)
validpaths = 3×4

    0.2107    0.2107    0.3159    0.3159
    1.0000    1.0000    0.3162    0.3162
   88.1753   88.1753   95.2131   95.2131

Первая строка содержит временные задержки в секундах. Вторая строка содержит нижние коэффициенты отраженных потерь, а третья строка содержит потери расширения.

Представлен в R2017a