Класс: tsSignature
Целевая сила под заданным углом и частотой
tssig
— Целевая подпись силыtsSignature
объектЦелевая подпись силы, заданная как tsSignature
объект.
az
— Угол азимутаel
— Угол вертикального измененияfreq
— Частота TSЧастота TS, заданная как положительная скалярная величина или вектор длины-M с положительными, действительными элементами. az
, el
, и freq
аргументы должны иметь тот же размер. Можно, однако, задать один или два аргумента как скаляры, в этом случае аргументы расширены до длины-M. Модули находятся в Герц.
Пример: 20e3
Типы данных: double
tssval
— Целевая силаЦелевая сила, возвращенная как скалярный или вектор длины-M с действительным знаком. Модули находятся в dBsm.
Задайте целевую силу (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. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.