phased.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.

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

Введенный в R2011a