exponenta event banner

поэтапный. MVDRBeamformer

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

Описание

Поэтапный. Система object™ MVDRBeamformer реализует узкополосный формирователь луча без искажений минимальной дисперсии (MVDR). Формирователь луча MVDR также называется формирователем луча Capon. Формирователь луча MVDR принадлежит к семейству формирователей луча оптимизации с ограничениями.

Для формирования сигналов, поступающих в массив:

  1. Создать phased.MVDRBeamformer и задайте его свойства.

  2. Вызовите объект с аргументами, как если бы это была функция.

Дополнительные сведения о работе системных объектов см. в разделе Что такое системные объекты?.

Создание

Описание

beamformer = phased.MVDRBeamformer создает объект системы формирования луча MVDR, beamformer, со значениями свойств по умолчанию.

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

Пример: beamformer = phased.MVDRBeamformer('SensorArray',phased.URA,'OperatingFrequency',300e6) устанавливает массив датчиков в однородный прямоугольный массив (URA) со значениями свойств URA по умолчанию. Формирователь луча имеет рабочую частоту 300 МГц.

Свойства

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

Если не указано иное, свойства не настраиваются, что означает невозможность изменения их значений после вызова объекта. Объекты блокируются при их вызове, и release функция разблокирует их.

Если свойство настраивается, его значение можно изменить в любое время.

Дополнительные сведения об изменении значений свойств см. в разделе Проектирование системы в MATLAB с использованием системных объектов.

Массив датчиков, указанный как системный объект массива, принадлежащий панели инструментов системы фазированных массивов. Массив датчиков может содержать подрешетки.

Пример: phased.URA

Скорость распространения сигнала, заданная как действительный положительный скаляр. Единицы измерения в метрах в секунду. Скорость распространения по умолчанию - это значение, возвращаемое physconst('LightSpeed').

Пример: 3e8

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

Рабочая частота, заданная как положительный скаляр. Единицы измерения в Гц.

Пример: 1e9

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

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

Настраиваемый: Да

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

Включить ввод данных обучения, указанный как false или true. При установке для этого свойства значения true, используйте аргумент ввода обучающих данных, XT, при запуске объекта. Установить для этого свойства значение false для использования входных данных, X, в качестве данных обучения.

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

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

'Property'Укажите направление формирования луча с помощью Direction собственность.
'Input port'Укажите направление формирования луча с помощью входного аргумента, ANG.

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

Направления формирования луча, заданные как вектор 2 на 1 с действительным значением или матрица 2-by-L с действительным значением. Для матрицы каждый столбец указывает другое направление формирования луча. Каждый столбец имеет форму [AzimuthAngle;ElevationAngle]. Азимутальные углы должны лежать между -180 ° и 180 °, а углы места - между -90 ° и 90 °. Все углы определяются относительно локальной системы координат массива. Единицы измерения в градусах.

Пример: [40;30]

Зависимости

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

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

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

Пример: 5

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

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

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

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

Описание

пример

Y = beamformer(X) выполняет формирование луча MVDR на входном сигнале, Xи возвращает выходные данные в виде луча в Y. Этот синтаксис использует X в качестве обучающих образцов для расчета весов формирования луча.

Y = beamformer(X,XT) использование XT в качестве обучающих образцов для расчета весов формирования луча. Чтобы использовать этот синтаксис, задайте для свойства TrainingInputPort значение true.

Y = beamformer(X,ANG) использование ANG в качестве направления формирования луча. Чтобы использовать этот синтаксис, задайте для свойства DirectionSource значение 'Input port'.

Y = beamformer(X,XT,ANG) объединяет все входные аргументы. Чтобы использовать этот синтаксис, установите TrainingInputPort свойство для true и задайте для свойства DirectionSource значение 'Input port'.

[Y,W] = beamformer(___) возвращает веса формирования луча, W. Чтобы использовать этот синтаксис, задайте для свойства WeaingOutputPort значение true.

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

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

Входной сигнал, определяемый как комплексная матрица M-by-N. N - количество элементов массива. Если массив датчиков содержит подрешетки, N - это количество подрешеток. Если для TrainingInputPort установлено значение falseМ должен быть больше N; в противном случае М может быть любым положительным целым числом.

Размер первого размера входной матрицы может изменяться для моделирования изменения длины сигнала. Изменение размера может происходить, например, в случае формы импульса с переменной частотой повторения импульса.

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

Обучающие данные, указанные как комплексная матрица P-by-N. Если матрица датчиков содержит подрешетки, N - количество подрешеток; в противном случае N - число элементов. P должен быть больше N.

Размер первого размера входной матрицы может изменяться для моделирования изменения длины сигнала. Изменение размера может происходить, например, в случае формы импульса с переменной частотой повторения импульса.

Пример: [1 0.5 2.6; 2 -0.2 0; 3 -2 -1]

Зависимости

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

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

Направления формирования луча, заданные как вектор столбца 2 на 1 с действительным значением или 2-by-L матрица. L - количество направлений формирования луча. Каждый столбец имеет форму [AzimuthAngle;ElevationAngle]. Единицы измерения в градусах. Каждый азимутальный угол должен лежать между -180 ° и 180 °, а каждый угол возвышения - между -90 ° и 90 °.

Пример: [40;10]

Зависимости

Чтобы включить этот аргумент, задайте для свойства DirectionSource значение 'Input port'.

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

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

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

Выходной сигнал в виде луча, возвращаемый в виде матрицы M-by-L с комплексными значениями, где M - количество строк X L - число направлений формирования луча.

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

Весовые коэффициенты формирования луча, возвращаемые в виде комплексной матрицы N-by-L. Если матрица датчиков содержит подрешетки, N - количество подрешеток; в противном случае N - число элементов. L - количество направлений формирования луча.

Зависимости

Чтобы включить эти выходные данные, задайте для свойства WeadingOutputPort значение true.

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

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

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

release(obj)

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

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

Примеры

свернуть все

Примените формирователь луча MVDR к 5-элементному ULA. Угол падения сигнала составляет 45 градусов по азимуту и 0 градусов по высоте. Частота сигнала 0,01 герц. Несущая частота 300 МГц.

t = [0:.1:200]';
fr = .01;
xm = sin(2*pi*fr*t);
c = physconst('LightSpeed');
fc = 300e6;
rng('default');
incidentAngle = [45;0];
array = phased.ULA('NumElements',5,'ElementSpacing',0.5);
x = collectPlaneWave(array,xm,incidentAngle,fc,c);
noise = 0.1*(randn(size(x)) + 1j*randn(size(x)));
rx = x + noise;

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

beamformer = phased.MVDRBeamformer('SensorArray',array,...
    'PropagationSpeed',c,'OperatingFrequency',fc,...
    'Direction',incidentAngle,'WeightsOutputPort',true);
[y,w] = beamformer(rx);

Постройте график сигналов

plot(t,real(rx(:,3)),'r:',t,real(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.

Постройте график массива с использованием весов MVDR

pattern(array,fc,[-180:180],0,'PropagationSpeed',c,...
    'Weights',w,'CoordinateSystem','rectangular',...
    'Type','powerdb');

Figure contains an axes. The axes with title Azimuth Cut (elevation angle = 0.0°) contains an object of type line. This object represents 300 MHz.

Алгоритмы

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

Ссылки

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

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

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

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