exponenta event banner

поэтапный. UnderwaterRadiatedNoise

Излучать акустический шум из подводного или поверхностного источника звука

Описание

Поэтапный. UnderwaterRadityNoise System object™ создает источник подводного излучаемого акустического шума. Источник шума может находиться либо на поверхности моря, либо под водой. Излучаемый шум состоит из двух компонентов: широкополосного шума и тонального шума. Широкополосный шум заполняет всю полосу пропускания операционной системы, в то время как тональный шум возникает на дискретных частотах в пределах полосы пропускания. В общем, интенсивность излучаемого шума зависит от спектра шума и диаграммы направленности излучения источника. Объект позволяет указать

  • Спектральная форма и уровни широкополосного шума.

  • Частоты и уровни тональных сигналов.

  • Схема излучения источника шума.

Для распространения шума от источника к приемнику используйте этот объект с phased.IsoSpeedUnderwaterPaths и phased.MultipathChannel объекты.

Для генерации излучаемого подводного шума:

  1. Создать phased.UnderwaterRadiatedNoise и задайте его свойства.

  2. Вызовите объект с аргументами, как если бы это была функция.

Дополнительные сведения о работе системных объектов см. в разделе Что такое системные объекты?.

Создание

Описание

noiseradiator = phased.UnderwaterRadiatedNoise создает подводный источник излучаемого шума со значениями свойств по умолчанию.

noiseradiator = phased.UnderwaterRadiatedNoise(Name,Value) создает подводный источник излучаемого шума с каждым свойством Name задать для указанного Value. Можно указать дополнительные аргументы пары имя-значение в любом порядке как (Name1,Value1,...,NameN,ValueN). Заключите каждое имя свойства в отдельные кавычки.

Пример: noiseradiator = phased.UnderwaterRadiatedNoise('TonalLevels',[4700 4900 5150],'SampleRate',500,'OperatingFrequency',5000) создает источник шума с тональными сигналами 4,7, 4,9 и 5,15 кГц. Частота дискретизации установлена равной 0,5 кГц, а рабочая частота равна 5 кГц. Уровни широкополосного шума устанавливаются в значения по умолчанию.

Свойства

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

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

Если свойство настраивается, его значение можно изменить в любое время.

Дополнительные сведения об изменении значений свойств см. в разделе Проектирование системы в MATLAB с использованием системных объектов.

Число выборок выходного шума, указанное как положительное целое число.

Пример: 500

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

Частота выборки, заданная как положительный скаляр. Частота дискретизации вместе с рабочей частотой определяет рабочую полосу частот. Определение рабочей полосы частот приведено в разделах Входной и Выходной диапазоны частот. Единицы измерения в Гц.

Пример: 2.0e3

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

Рабочая частота сигнала, заданная как положительный скаляр. Рабочая частота определяет центр рабочей полосы частот. Определение рабочей полосы частот приведено в разделах Входной и Выходной диапазоны частот. Единицы измерения в Гц.

Пример: 15.0e3

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

Излучаемые тональные частоты, определяемые как вектор неотрицательных значений. Тональные частоты должны находиться в рабочей полосе частот. Тональные частоты за пределами этого диапазона игнорируются. Длина TonalFrequencies вектор должен соответствовать длине TonalLevels вектор. Единицы измерения в Гц. Определение рабочей полосы частот приведено в разделах Входной и Выходной диапазоны частот.

Пример: [14900 15010 15200]

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

Уровни излучаемого тонального шума, заданные как вектор положительных значений. Единицы находятся в dB//1μPa. Длина TonalLevels вектор должен соответствовать длине TonalFrequencies вектор.

Пример: [50 20 170]

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

Широкополосный уровень шумового спектра, определяемый как вектор вещественных значений. Этот вектор определяет спектр шума на равномерно разнесенных частотах в диапазоне операционной системы. Единицы находятся в dB/Hz//1μPa.

Пример: [140 145 145 130]

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

Азимутальные углы элементов диаграммы направленности источника, заданные как вектор длины-P. Это свойство задает азимутальные углы столбцов массива излучения источника, свойство DirectionPattern. Значение P должно быть больше 2. Единицы измерения в градусах.

Пример: [140 145 145 130]

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

Углы возвышения элементов диаграммы направленности источника, заданные как вектор длины-Q. Это свойство задает углы возвышения строк массива излучения источника «Шаблон направления». Q должно быть больше 2. Единицы измерения в градусах.

Пример: [-45 -30 0 45 30]

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

Исходная картина излучения, заданная как вещественно-значная матрица или массив. Единицы измерения находятся в дБ. Допустимые размеры массива:

Размеры диаграммы направленности

РазмерыПриложение
Матрица Q-by-PЗадает образец направления как функцию углов возвышения Q и углов азимута P. Один и тот же шаблон используется для всех частот.
Массив Q-by-P-by-KЗадает образец направления как функцию углов возвышения Q, углов азимута P и частот K. Если K = 1, то структура направленности эквивалентна матрице Q-by-P.
1-by-P-by-K массивЗадает шаблон направления как функцию углов азимута P и частот K. Эти размеры применяются при наличии только одного угла возвышения.
Матрица K-by-P

  • Q - длина вектора, заданная свойством ElevationAngles.

  • P - длина вектора, заданная свойством AzimingAngels.

  • K - число частот, заданное свойством FrequencyVector.

Спецификации матрицы и массива

ПриложениеРазмеры диаграммы направленности
Одно направление излучения источника и М, указанное в ang аргумент функции объекта.Укажите одну матрицу или матрицу диаграммы направленности для всех углов излучения.
M источников с одинаковой структурой и M направлений излучения, указанных в ang аргумент функции объекта.Укажите одну матрицу или матрицу диаграммы направленности для всех углов излучения.
М источников с индивидуальными схемами излучения и направлениями излучения М, указанными в ang аргумент функции объекта.M диаграмм излучения в клеточном массиве. Все шаблоны должны иметь одинаковые размеры и типы. Количество шаблонов должно соответствовать числу углов излучения.

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

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

Частоты диаграммы направленности, заданные как положительный, действительный вектор 1-by-K. Вектор определяет частоты, на которых задаются значения свойств DirectionPattern. Элементы вектора должны находиться в строго возрастающем порядке, а частоты должны находиться в рабочей полосе частот. Определение рабочей полосы частот приведено в разделах Входной и Выходной диапазоны частот. Единицы измерения в Гц.

Пример: 1e6

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

Источник начального числа генератора случайных чисел, указанный как 'Auto' или 'Property'. Случайные числа используются для генерации шума. При установке для этого свойства значения 'Auto'случайные числа генерируются с использованием генератора случайных чисел MATLAB по умолчанию. При установке для этого свойства значения 'Property', объект использует частный генератор случайных чисел с начальным значением, указанным Seed собственность.

Чтобы использовать этот объект с программным обеспечением Parallel Computing Toolbox, задайте для этого свойства значение 'Auto'.

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

Начальное число генератора случайных чисел, указанное как неотрицательное целое число меньше 232.

Пример: 10223

Зависимости

Чтобы включить это свойство, задайте для свойства SeedSource значение 'Property'.

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

Использование

Описание

пример

y = radiatednoise(ang) возвращает шум,y, излучается в направлении, ang.

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

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

Направления шумового излучения, определяемые как вещественно-значная матрица 2-by-M. Каждый столбец ang задает направление излучения соответствующего шумового сигнала в виде [AzimuthAngle;ElevationAngle]. Когда ang представляет несколько углов, свойство DirectionPattern может содержать один или M шаблонов. В этом случае каждый столбец ang соответствует одному из шаблонов. Если имеется только один шаблон, то множество шумовых сигналов генерируются с использованием одного и того же шаблона источника. Единицы измерения в градусах.

Пример: [0 20; 35 -10]

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

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

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

Излучаемый шум, заданный как комплексная матрица M-by-N. M - количество углов, указанных в ang аргумент. N - количество выборок, указанное NumSamples собственность. Излучаемый шум находится в диапазоне основной полосы частот [-fs/2 fs/2]. fs представляет частоту выборки, заданную свойством SampleRate. Шумовые блоки находятся в Па.

Типы данных: double
Поддержка комплексного номера: Да

Функции объекта

Чтобы использовать функцию объекта, укажите объект System в качестве первого входного аргумента. Например, для освобождения системных ресурсов объекта System с именем obj, используйте следующий синтаксис:

release(obj)

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

stepЗапустить алгоритм объекта System
releaseДеблокирование ресурсов и разрешение изменений значений свойств объекта системы и входных признаков
resetСброс внутренних состояний объекта System

reset объектная функция сбрасывает состояние генератора случайных чисел, если для свойства SeedSource установлено значение 'Property'.

Примеры

свернуть все

Создание излучаемого шума с надводного корабля. Рабочая частота гидролокатора составляет 5,0 кГц, а частота дискретизации - 1,0 кГц. По определению полоса широкополосного шума лежит в диапазоне от 4,5 кГц до 5,5 кГц. Кроме того, имеются тональные шумы на частоте 4,6, 5,2 и 5,4 кГц.

shippos = [0;0;0];
rcvpos = [100;0;-50];

Вычислите угол передачи шума от корабля к приемнику.

[~,ang] = rangeangle(rcvpos,shippos)
ang = 2×1

         0
  -26.5651

Построить phased.UnderwaterRadiatedNoise Система object™ с диаграммой направленности, которая зависит только от угла возвышения. Вычисляют шум, излучаемый в направлении приемника. Создайте 10000 выборок шума, излучаемого в направлении цели.

azang = [-180:180];
elang = [-80:80];
pattern = mag2db(repmat(cosd(elang)',1,numel(azang)));
fs = 1000;
noiseradiator = phased.UnderwaterRadiatedNoise('NumSamples',10000, ...
    'SampleRate',fs,'TonalFrequencies',[4600 5200 5400],'TonalLevels',[200,200,200], ...
    'BroadbandLevels',[180 180 190 190 190 188 185],'AzimuthAngles',azang, ...
    'ElevationAngles',elang,'DirectionalPattern',pattern, ...
    'OperatingFrequency',5e3,'SeedSource','Property','Seed',2781);

Генерация 10000 выборок шума.

y = noiseradiator(ang);

Постройте график спектральной плотности мощности шума (psd). Преобразуйте psd в интенсивность, привязанную к 1uPa.

[psd,fr] = pwelch(y,[],[],[],noiseradiator.SampleRate,'psd','centered');
plot(fr,10*log10(psd*1e12));
title('Power Spectral Density')
xlabel('frequency (Hz)')
ylabel('PSD //dB/Hz/1uPa')
grid

Figure contains an axes. The axes with title Power Spectral Density contains an object of type line.

Три тона появляются в широкополосном спектре.

Генерировать излучаемый шум от подводного аппарата. Предположим, что картина шумового излучения зависит от частоты. Рабочая частота гидролокатора составляет 5,0 кГц, а частота дискретизации - 1,0 кГц. По определению полоса широкополосного шума составляет от 4,5 кГц до 5,5 кГц. Кроме того, имеются тональные шумы на частоте 4,6, 5,2 и 5,3 кГц. Определите диаграмму направленности на трех частотах в пределах этого диапазона. Все три шаблона кратны базовому шаблону. Частоты диаграмм излучения составляют 4,6 кГц, 5,0 кГц и 5,3 кГц.

Сначала укажите исходные позиции и позиции получателя.

srcpos = [0;50;-20];
rcvpos = [100;0;-50];

Вычисляют угол передачи шума от транспортного средства к приемнику.

[~,ang] = rangeangle(rcvpos,srcpos)
ang = 2×1

  -26.5651
  -15.0203

Построить phased.UnderwaterRadiatedNoise Система object™ с диаграммой направленности, которая зависит только от азимутального угла и частоты. Вычисляют шум, излучаемый в направлении приемника. Создайте 10000 образцов шума, излучаемого из транспортного средства.

azang = [-180:180];
elang = [-90:90];
fc = 5000.0;

Поместите картину излучения в трехмерный массив.

basepattern = repmat(10*cosd(azang).^2,numel(elang),1);
pattern(:,:,1) = 0.5*basepattern;
pattern(:,:,2) = basepattern;
pattern(:,:,3) = 0.6*basepattern;
patterndb = mag2db(pattern);
noiseradiator = phased.UnderwaterRadiatedNoise('NumSamples',10000, ...
    'SampleRate',1e3,'TonalFrequencies',[4600,5200 5300], ...
    'TonalLevels',[200,210,200],'BroadbandLevels',[180 180 190 190 190 180 170], ...
    'AzimuthAngles',azang,'ElevationAngles',elang, ...
    'FrequencyVector',[4600,5000,5300],'DirectionalPattern',pattern, ...
    'OperatingFrequency',5e3,'SeedSource','Property','Seed',2081);

Генерация 10000 выборок шума.

y = noiseradiator(ang);

Постройте график спектральной плотности мощности шума (psd). Преобразуйте psd в интенсивность, привязанную к 1uPa.

[psd,fr] = pwelch(y,[],[],[],noiseradiator.SampleRate,'psd','centered');
plot(fr,10*log10(psd*1e12));
title('Power Spectral Density')
xlabel('frequency (Hz)')
ylabel('PSD //dB/Hz/1uPa')
grid

Figure contains an axes. The axes with title Power Spectral Density contains an object of type line.

Три тона появляются в широкополосном спектре.

Генерировать излучаемый шум от двух подводных аппаратов. Предположим, что схема шумового излучения различна для каждого. Рабочая частота гидролокатора составляет 5,0 кГц, а частота дискретизации - 1,0 кГц. По определению полоса широкополосного шума составляет от 4,5 кГц до 5,5 кГц. Кроме того, имеются тональные шумы на частоте 4,6, 5,2 и 5,3 кГц. Частоты диаграмм излучения составляют 4,6 кГц, 5,0 кГц и 5,3 кГц.

Сначала укажите исходные позиции и позиции получателя.

srcpos1 = [0;50;-20];
srcpos2 = [200;50;-80];
rcvpos = [100;0;-50];

Вычисляют угол передачи шума от транспортного средства к приемнику.

[~,ang1] = rangeangle(rcvpos,srcpos1);
[~,ang2] = rangeangle(rcvpos,srcpos2);

Построить phased.UnderwaterRadiatedNoise Система object™ с диаграммой направленности, которая зависит только от азимутального угла и частоты. Вычисляют шум, излучаемый в направлении приемника. Создайте 10000 образцов шума, излучаемого из транспортного средства.

azang = [-180:180];
elang = [-90:90];
fc = 5000.0;

Поместите картину излучения в трехмерный массив.

pattern1 = repmat(10*cosd(azang).^2,numel(elang),1);
pattern2 = ones(181,361);
pattern1db = mag2db(pattern1);
pattern2db = mag2db(pattern2);
noiseradiator = phased.UnderwaterRadiatedNoise('NumSamples',10000, ...
    'SampleRate',1e3,'TonalFrequencies',[4600,5200 5300], ...
    'TonalLevels',[200,210,200],'BroadbandLevels',[180 180 190 190 190 180 170], ...
    'AzimuthAngles',azang,'ElevationAngles',elang, ...
    'FrequencyVector',[4600,5000,5300],'DirectionalPattern',{pattern1,pattern2}, ...
    'OperatingFrequency',5e3,'SeedSource','Property','Seed',2081);

Генерация 10000 выборок шума.

y = noiseradiator([ang1,ang2]);

Постройте график спектральной плотности мощности шума (psd). Преобразуйте psd в интенсивность, привязанную к 1uPa.

[psd,fr] = pwelch(y,[],[],[],noiseradiator.SampleRate,'psd','centered');
plot(fr,10*log10(psd*1e12));
title('Power Spectral Density')
xlabel('frequency (Hz)')
ylabel('PSD //dB/Hz/1uPa')
grid

Figure contains an axes. The axes with title Power Spectral Density contains 2 objects of type line.

Три тона появляются в широкополосном спектре.

Подробнее

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

Ссылки

[1] Urick, R.J. Principles of Underwater Sound, 3-е издание. Нью-Йорк: Peninsula Publishing, 1996.

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

.
Представлен в R2017b