поэтапный. TimeDelayLCMVBeamformer

Формирователь луча LCMV с временной задержкой

Описание

Объект TimeDelayLCMVBeamformer реализует линейный ограничительный формирователь луча отклонения минимума с временной задержкой.

Вычислить сигнал beamformed:

  1. Задайте и настройте свой формирователь луча LCMV с временной задержкой. Смотрите Конструкцию.

  2. Вызовите step, чтобы выполнить beamforming операцию согласно свойствам phased.TimeDelayLCMVBeamformer. Поведение step характерно для каждого объекта в тулбоксе.

Примечание

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

Конструкция

H = phased.TimeDelayLCMVBeamformer создает Системный объект формирователя луча линейного ограничительного отклонения минимума (LCMV) с временной задержкой, H. Объект выполняет задержку LCMV beamforming на полученном сигнале.

H = phased.TimeDelayLCMVBeamformer(Name,Value) создает объект формирователя луча LCMV с временной задержкой, H, с каждым заданным набором имени свойства к заданному значению. Можно задать дополнительные аргументы пары "имя-значение" в любом порядке как (Name1, Value1..., NameN, ValueN).

Свойства

SensorArray

Обработайте к сенсорной матрице

Задайте сенсорную матрицу как указатель. Сенсорная матрица должна быть объектом массивов в пакете phased. Массив не может содержать подмассивы.

Значение по умолчанию: phased.ULA со значениями свойств по умолчанию

PropagationSpeed

Скорость распространения сигнала

Задайте скорость распространения сигнала, в метрах в секунду, как положительная скалярная величина. Можно задать это свойство как одинарную или двойную точность.

Значение по умолчанию: Скорость света

SampleRate

Уровень выборки сигнала

Задайте уровень выборки сигнала (в герц) как положительная скалярная величина. Это свойство может быть задано как одинарная или двойная точность.

Значение по умолчанию: 1e6

FilterLength

КИХ-длина фильтра

Задайте длину КИХ-фильтра позади каждого элемента датчика в массиве как положительное целое число. Это свойство может быть задано как одинарная или двойная точность.

Значение по умолчанию: 2

Constraint

Матрица ограничений

Задайте матрицу ограничений, используемую для формирователя луча LCMV с временной задержкой в качестве M-by-K матрица. Каждый столбец матрицы является ограничением, и M является количеством степеней свободы формирователя луча. Для формирователя луча LCMV с временной задержкой количество степеней свободы является продуктом числа элементов массива и длины фильтра, заданной значением свойства FilterLength. Это свойство может быть задано как одинарная или двойная точность.

Значение по умолчанию: [1;1]

DesiredResponse

Желаемый вектор отклика

Задайте желаемый ответ, используемый для формирователя луча LCMV с временной задержкой в качестве вектор-столбца длины K, где K является количеством ограничений в свойстве Constraint. Каждый элемент в векторе задает желаемый ответ ограничения, заданного в соответствующем столбце свойства Constraint. Это свойство может быть задано как одинарная или двойная точность.

Значение по умолчанию: 1, который эквивалентен ответу без искажений

DiagonalLoadingFactor

Диагональный коэффициент загрузки

Задайте диагональный коэффициент загрузки как положительную скалярную величину. Диагональная загрузка является методом, используемым, чтобы достигнуть устойчивой beamforming производительности, особенно когда демонстрационная поддержка является маленькой. Это свойство является настраиваемым. Это свойство может быть задано как одинарная или двойная точность.

Значение по умолчанию: 0

TrainingInputPort

Добавьте вход, чтобы задать данные тренировки

Чтобы задать дополнительные данные тренировки, установите это свойство на true и используйте соответствующий входной параметр, когда вы вызовете step. Чтобы использовать входной сигнал в качестве данных тренировки, установите это свойство на false.

По умолчанию: false

DirectionSource

Источник beamforming направления

Задайте, прибывает ли beamforming направление из свойства Direction этого объекта или от входного параметра в step. Значения этого свойства:

'Property'Свойство Direction этого объекта задает beamforming направление.
'Input port'Входной параметр в каждом вызове step задает beamforming направление.

Значение по умолчанию: 'Property'

Direction

Направление Beamforming

Задайте beamforming направление формирователя луча как вектор-столбец длины 2. Направление задано в формате [AzimuthAngle; ElevationAngle] (в градусах). Угол азимута между-180 ° и 180 °. Угол повышения между-90 ° и 90 °. Это свойство применяется, когда вы устанавливаете свойство DirectionSource на 'Property'. Это свойство может быть задано как одинарная или двойная точность.

Значение по умолчанию: [0; 0]

WeightsOutputPort

Выведите beamforming веса

Чтобы получить веса, используемые в формирователе луча, установите это свойство на true и используйте соответствующий выходной аргумент при вызове step. Если вы не хотите получать веса, установите это свойство на false.

По умолчанию: false

Методы

шагВыполните задержку LCMV beamforming
Характерный для всех системных объектов
release

Позвольте изменения значения свойства Системного объекта

Примеры

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

Примените формирователь луча LCMV с временной задержкой к акустическому массиву ULA с 11 элементами. Элементы являются ненаправленными микрофонами. Инцидентный угол сигнала является-50 градусами в области азимута и 30 градусами в области повышения. Инцидентный сигнал является щебетом FM с пропускной способностью на 500 Гц. Скорость распространения является типичной скоростью звука в воздухе, 340 м/с.

Моделируйте сигнал и добавьте шум.

nElem = 11;
microphone = phased.OmnidirectionalMicrophoneElement(...
    'FrequencyRange',[20 20000]);
array = phased.ULA('Element',microphone,'NumElements',nElem,'ElementSpacing',0.04);
fs = 8000;
t = 0:1/fs:0.3;
x = chirp(t,0,1,500);
c = 340;
collector = phased.WidebandCollector('Sensor',array,...
    'PropagationSpeed',c,'SampleRate',fs,...
    'ModulatedInput',false);
incidentAngle = [-50;30];
x = collector(x.',incidentAngle);
noise = 0.2*randn(size(x));
rx = x + noise;

Создайте и примените формирователь луча LCMV с временной задержкой. Задайте filterlength 5.

filterLength = 5;
constraintMatrix = kron(eye(filterLength),ones(nElem,1));
desiredResponseVector = eye(filterLength,1);
beamformer = phased.TimeDelayLCMVBeamformer('SensorArray',array,...
    'PropagationSpeed',c,'SampleRate',fs,'FilterLength',filterLength,...
    'Direction',incidentAngle,'Constraint',constraintMatrix,...
    'DesiredResponse',desiredResponseVector);
y = beamformer(rx);

Сравните формирователь луча вывод с входом к среднему датчику.

plot(t,rx(:,6),'r:',t,y)
xlabel('Time')
ylabel('Amplitude')
legend('Original','Beamformed')

Алгоритмы

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

Ссылки

[1] Застыньте, O. “Алгоритм Для Линейно Ограниченной Адаптивной Обработки матриц”, Продолжения IEEE. Издание 60, Номер 8, август 1972, стр 926–935.

[2] Деревья фургона, H. Оптимальная обработка матриц. Нью-Йорк: Wiley-межнаука, 2002.

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

Представленный в R2012a