exponenta event banner

поэтапный. TimeDelayLCMVBeamformer

Блок формирования луча LCMV с временной задержкой

Описание

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

Для вычисления сигнала в виде луча:

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

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

Примечание

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

Строительство

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

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

Свойства

SensorArray

Ручка к матрице датчиков

Укажите массив датчиков в качестве дескриптора. Массив датчиков должен быть объектом массива в phased пакет. Массив не может содержать подмагистрали.

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

PropagationSpeed

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

Укажите скорость распространения сигнала в метрах в секунду как положительный скаляр. Это свойство можно задать как одинарную или двойную точность.

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

SampleRate

Частота дискретизации сигнала

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

По умолчанию: 1e6

FilterLength

Длина фильтра FIR

Укажите длину фильтра FIR за каждым элементом датчика в массиве как положительное целое число. Это свойство может быть задано как одинарная или двойная точность.

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

Constraint

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

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

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

DesiredResponse

Требуемый вектор отклика

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

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

DiagonalLoadingFactor

Коэффициент нагрузки по диагонали

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

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

TrainingInputPort

Добавление входных данных для указания данных обучения

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

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

DirectionSource

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

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

'Property' Direction свойство этого объекта указывает направление формирования луча.
'Input port'Входной аргумент в каждом вызове 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 градусов по отметке. Падающий сигнал представляет собой чирп ЧМ с полосой пропускания 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 с временной задержкой. Укажите длину фильтра, равную 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. Оптимальная обработка массива. Нью-Йорк: Wiley-Interscience, 2002.

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

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