phased.MVDRBeamformer

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

Описание

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

К сигналам beamform, прибывающим в массив:

  1. Создайте phased.MVDRBeamformer объект и набор его свойства.

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

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.

Создание

Описание

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 Используя Системные объекты (MATLAB).

Сенсорная матрица, заданная как Системный объект массивов, принадлежащий Phased Array System Toolbox. Сенсорная матрица может содержать подмассивы.

Пример: phased.URA

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

Пример: 3e8

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

Рабочая частота, заданная как положительная скалярная величина. Модули находятся в Гц.

Пример: 1e9

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

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

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

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

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

Типы данных: логический

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

'Property'Задайте beamforming направление с помощью Direction свойство.
'Input port'Задайте beamforming направление с помощью входного параметра, ANG.

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

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

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

Зависимости

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

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

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

Пример 5

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

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

Типы данных: логический

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

Описание

пример

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

Y = beamformer(X,XT) использование XT как учебные выборки, чтобы вычислить beamforming веса. Чтобы использовать этот синтаксис, установите свойство TrainingInputPort на true.

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

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

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

Входные параметры

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

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

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

Типы данных: 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
Поддержка комплексного числа: Да

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

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

Зависимости

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

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

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

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

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

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

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

Зависимости

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

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

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

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

release(obj)

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

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

Примеры

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

Примените формирователь луча MVDR к ULA с 5 элементами. Инцидентный угол сигнала является 45 градусами в области азимута и 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;

Вычислите beamforming веса

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')

Постройте шаблон ответа массивов с помощью весов MVDR

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

Алгоритмы

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

Ссылки

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

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

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

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

Для просмотра документации необходимо авторизоваться на сайте