phased.UnderwaterRadiatedNoise

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

Описание

Поэтапный. UnderwaterRadiedNoise 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 длиной. Это свойство задает углы азимута столбцов исходной диаграммы направленности излучения, свойство DirectionalPattern. P должно быть больше 2. Модули указаны в степенях.

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

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

Углы возвышения входных параметров диаграммы направленности источника, заданные как вектор с Q длиной. Это свойство задает углы возвышения для строк исходной диаграммы направленности излучения DirectionalPattern. 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 - длина вектора, заданная свойством AzimuthAngles.

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

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

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

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

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

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

Пример: 1e6

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

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

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

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

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

Пример: 10223

Зависимости

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

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

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

Синтаксис

Описание

пример

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

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

расширить все

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

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

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

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

расширить все

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

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

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

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

release(obj)

расширить все

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

reset функция object устанавливает состояние генератора случайных чисел, когда для свойства 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] Урик, Р. Дж. Принципы подводного звука, 3-е издание. New York: Peninsula Publishing, 1996.

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

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