класс tsSignature

Целевой шаблон силы

Описание

tsSignature создает объект подписи целевой силы (TS) гидролокатора. Можно использовать этот объект смоделировать зависимый углом и зависимый частотой целевой шаблон силы. Целевая сила определяет интенсивность отраженной звуковой степени сигнала от цели.

Конструкция

tssig = tsSignature создает объект tsSignature со значениями свойств по умолчанию.

tssig = tsSignature(Name,Value) свойства объектов наборов с помощью одного или нескольких аргументов пары Name,Value. Name является именем свойства, и Value является соответствующим значением. Имя должно находиться внутри одинарных кавычек (' '). Можно задать несколько аргументов пары "имя-значение" в любом порядке как Name1,Value1,...,NameN,ValueN. Любые незаданные свойства берут значения по умолчанию.

Свойства

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

Выбранный целевой шаблон силы, заданный как скаляр, Q-by-P матрица с действительным знаком или Q-by-P-by-K массив с действительным знаком. Шаблон является массивом значений TS, заданных на сетке углов повышения, углов азимута и частот. Азимут и повышение заданы в каркасе кузова цели.

  • Q является количеством выборок TS в повышении.

  • P является количеством выборок TS в азимуте.

  • K является количеством выборок TS в частоте.

Q, P и K обычно совпадают с длиной векторов, заданных в Elevation, Azimuth и свойствах Frequency, соответственно, за этими исключениями:

  • Чтобы смоделировать шаблон TS для сокращения повышения (постоянный азимут), можно задать шаблон TS как Q-by-1 вектор или 1 Q K матрицей. Затем вектор повышения, заданный в свойстве Elevation, должен иметь длину 2.

  • Чтобы смоделировать шаблон TS для сокращения азимута (постоянное повышение), можно задать шаблон TS как 1 P вектором или 1 P K матрицей. Затем вектор азимута, заданный в свойстве Azimuth, должен иметь длину 2.

  • Чтобы смоделировать шаблон TS для одной частоты, можно задать шаблон TS как Q-by-P матрица. Затем вектор частоты, заданный в свойстве Frequency, должен иметь длину 2.

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

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

Углы азимута раньше задавали угловые координаты каждого столбца матрицы или массива, заданного свойством Pattern. Задайте углы азимута как вектор длины-P. P должен быть больше, чем два. Угловые модули в градусах.

Пример: [-45:0.1:45]

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

Углы повышения раньше задавали координаты каждой строки матрицы или массива, заданного свойством Pattern. Задайте углы повышения как вектор длины-Q. Q должен быть больше, чем два. Угловые модули в градусах.

Пример: [-30:0.1:30]

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

Частоты раньше задавали применимый RCS для каждой страницы свойства Pattern. Задайте частоты как вектор длины-K. K должен быть больше, чем два. Единицы частоты находятся в герц.

Пример: [-30:0.1:30]

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

Методы

значениеЦелевая сила под заданным углом и частотой

Примеры

свернуть все

Задайте целевую силу (TS) твердого цилиндра 5 м длиной, погруженного в воду, и постройте значения TS вдоль сокращения азимута. Примите приближение короткой длины волны. Цилиндрический радиус составляет 2 м. Скорость звука составляет 1 520 м/с.

L = 5;
a = 2;

Создайте массив целевых сильных мест в двух длинах волн. Во-первых, задайте область значений азимута и углов повышения, по которым задан TS. Затем используйте аналитическую модель, чтобы вычислить целевую силу. Создайте изображение TS.

lambda = [0.12, .1];
c = 1520.0;
az = [-20:0.1:20];
el = [-10:0.1:10];
ts1 = ts_cylinder(L,a,az,el,lambda(1));
ts2 = ts_cylinder(L,a,az,el,lambda(2));
tsdb1 = 10*log10(ts1);
tsdb2 = 10*log10(ts2);
imagesc(az,el,tsdb1)
title('Target Strength')
xlabel('Azimuth (deg)')
ylabel('Elevation (deg)')
colorbar

Создайте объект tsSignature и постройте сокращение повышения в азимуте.

tsdb(:,:,1) = tsdb1;
tsdb(:,:,2) = tsdb2;
freq = c./lambda;
tssig = tsSignature('Pattern',tsdb,'Azimuth',az,'Elevation',el,'Frequency',freq);
ts = value(tssig,30,el,freq(1));
plot(el,tsdb1)
grid
title('Elevation Profile of Target Strength')
xlabel('Elevation (deg)')
ylabel('TS (dBsm)')

function ts = ts_cylinder(L,a,az,el,lambda)
k = 2*pi/lambda;
beta = k*L*sind(el')*ones(size(az));
gamma = cosd(el')*ones(size(az));
ts = a*L^2*(sinc(beta).^2).*gamma.^2/2/lambda;
ts = max(ts,10^(-5));
end

function s = sinc(theta)
s = ones(size(theta));
idx = (abs(theta) <= 1e-2);
s(idx) = 1 - 1/6*(theta(idx)).^2;
s(~idx) = sin(theta(~idx))./theta(~idx);
end

Ссылки

[1] Urich, Роберт Дж. Принципы Подводного Звукового, 3-го редактора Нью-Йорк: McGraw-Hill, Inc. 2005.

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

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

Смотрите также

Классы

Введенный в R2018b