phased.TimeDelayLCMVBeamformer

Задержка LCMV формирования луча

Описание

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

Чтобы вычислить сигнал формирования луча:

  1. Определите и настройте свой LCMV-формирователь задержки по времени. См. «Конструкция».

  2. Функции step для выполнения операции формирования луча согласно свойствам phased.TimeDelayLCMVBeamformer. Поведение step характерен для каждого объекта в тулбоксе.

Примечание

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

Конструкция

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

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 является количеством степеней свободы beamformer. Для LCMV-формирователя с временной задержкой, количество степеней свободы является продукт количества элементов массива и длины фильтра, заданной значением FilterLength свойство. Это свойство может быть задано как одинарная или двойная точность.

По умолчанию: [1;1]

DesiredResponse

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

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

По умолчанию: 1, что эквивалентно безаварийной реакции

DiagonalLoadingFactor

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

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

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

TrainingInputPort

Добавьте вход, чтобы задать обучающие данные

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

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

DirectionSource

Источник направления формирования луча

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

'Property'The Direction свойство этого объекта задает направление формирования луча.
'Input port'A входного параметра в каждом вызове step задает направление формирования луча.

По умолчанию: 'Property'

Direction

Направление формирования луча

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

По умолчанию: [0; 0]

WeightsOutputPort

Выходы веса формирования луча

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

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

Методы

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

Разрешить изменение значения свойства системного объекта

Примеры

свернуть все

Примените задержку LCMV к 11-элементному акустическому массиву ULA. Элементами являются всенаправленные микрофоны. Падающий угол сигнала составляет -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 beamformer. Задайте длину фильтра 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')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Original, Beamformed.

Алгоритмы

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

Ссылки

[1] Frost, O. «Алгоритм для линейно ограниченной обработки адаптивных массивов», труды IEEE. Том 60, № 8, август 1972, с. 926-935.

[2] Деревья фургонов, H. Optimum Array Processing. Нью-Йорк: Wiley-Interscience, 2002.

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

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