поэтапный. BeamscanEstimator

Beamscan пространственное средство оценки спектра для ULA

Описание

Система phased.BeamscanEstimator object™ вычисляет beamscan пространственную оценку спектра для универсальной линейной матрицы (ULA). Объект оценивает входящий сигнал пространственный спектр с помощью узкополосного обычного формирователя луча.

Оценить пространственный спектр:

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

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

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

Создание

Синтаксис

estimator = phased.BeamscanEstimator
estimator = phased.BeamscanEstimator(Name,Value)

Описание

estimator = phased.BeamscanEstimator создает beamscan пространственный Системный объект средства оценки спектра.

пример

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

Свойства

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

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

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

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты (MATLAB).

Сенсорная матрица ULA, заданная как Системный объект phased.ULA. Если вы не задаете свойств пары "имя-значение" для сенсорной матрицы ULA, свойства по умолчанию массива используются.

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

Пример: 3e8

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

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

Пример: 1e9

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

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

Пример 5

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

Включите прямое обратное усреднение, заданное как false или true. Установите это свойство на true использовать прямое обратное усреднение, чтобы оценить ковариационную матрицу для сенсорных матриц с сопряженным симметричным коллектором массивов.

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

Опция, чтобы включить пространственное сглаживание, заданное как неотрицательное целое число. Используйте пространственное сглаживание, чтобы вычислить направления прибытия когерентных сигналов. Значение нуля не задает пространственного сглаживания. Положительное значение представляет количество подмассивов, используемых, чтобы вычислить сглаживавшую (усредненную) исходную ковариационную матрицу. Каждый шаг в этом значении позволяет вам обработать один дополнительный когерентный источник, но сокращает эффективное количество элементов массива одним. Длина апертуры сглаживания, L, зависит от длины массива, M, и номера усреднения, K, L = M – K + 1. Максимальным значением K является M – 2.

Пример 5

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

Поперечные углы сканирования, заданные как вектор с действительным знаком. Модули в градусах. Поперечные углы между поисковым направлением и осью массивов ULA. Углы находятся между-90 ° и 90 °, включительно. Задайте углы в увеличении значения.

Пример: [-20:20]

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

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

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

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

Пример 3

Зависимости

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

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

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

Для версий ранее, чем R2016b, используйте функцию step, чтобы запустить алгоритм Системного объекта. Аргументы к step являются объектом, который вы создали, сопровождаемый аргументами, показанными в этом разделе.

Например, y = step(obj,x) и y = obj(x) выполняют эквивалентные операции.

Синтаксис

Y = estimator(X)
[Y,ANG] = estimator(X)

Описание

Y = estimator(X) оценивает пространственный спектр от данных X.

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

пример

[Y,ANG] = estimator(X) возвращает направления прибытия, ANG, сигналов. Чтобы включить этот синтаксис, установите свойство DOAOutputPort на true. ANG является вектором - строкой из предполагаемых поперечных углов (в градусах). Можно задать ANG как одинарную или двойную точность. Если объект не может идентифицировать направление сигнала, он возвратит NaN.

Примечание

Объект выполняет инициализацию в первый раз, когда объект выполняется. Эта инициализация блокирует ненастраиваемые свойства (MATLAB) и входные спецификации, такие как размерности, сложность и тип данных входных данных. Если вы изменяете ненастраиваемое свойство или входную спецификацию, Системный объект выдает ошибку. Чтобы изменить ненастраиваемые свойства или входные параметры, необходимо сначала вызвать метод release, чтобы разблокировать объект.

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

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

Данные о канале, заданные как матрица с комплексным знаком. Столбцы матрицы данных соответствуют каналам.

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

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

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

Значение предполагаемого пространственного спектра, возвращенного как 1 с действительным знаком L вектор-столбцом. L является количеством углов сканирования, заданных свойством ScanAngles.

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

Предполагаемые поперечные углы прибытия сигнала, возвращенного как 1 с действительным знаком K вектором - строкой. Модули в градусах. Значение NaN в любом векторном элементе указывает, что оценка не могла быть найдена.

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

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

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

release(obj)

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

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

Примеры

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

Оцените DOA двух сигналов, полученных ULA с 10 элементами с интервалом элемента 1 метра. Антенна рабочая частота составляет 150 МГц. Фактическое направление первого сигнала составляет 10 ° в азимуте и 20 ° в повышении. Направление второго сигнала составляет 60 ° в азимуте и-5 ° в повышении.

Создайте сигналы и массив.

fs = 8000;
t = (0:1/fs:1).';
x1 = cos(2*pi*t*300);
x2 = cos(2*pi*t*400);
antenna = phased.IsotropicAntennaElement('FrequencyRange',[100e6 300e6]);
array = phased.ULA('Element',antenna,'NumElements',10,'ElementSpacing',1);
fc = 150e6;
x = collectPlaneWave(array,[x1 x2],[10 20;60 -5]',fc);
noise = 0.1*(randn(size(x)) + 1i*randn(size(x)));

Решите для DOAs.

estimator = phased.BeamscanEstimator('SensorArray',array, ...
    'OperatingFrequency',fc,'DOAOutputPort',true,'NumSignals',2);
[~,doas] = estimator(x + noise);
doas = broadside2az(sort(doas),[20 -5]);
disp(doas)
    9.5829   60.3813

Поскольку значения по умолчанию для свойства ScanAngles имеют гранулярность 1, оценки DOA не точны. Улучшите точность путем выбора более прекрасной сетки.

estimator2 = phased.BeamscanEstimator('SensorArray',array, ...
    'OperatingFrequency',fc,'ScanAngles',-60:0.1:60, ...
    'DOAOutputPort',true,'NumSignals',2);
[~,doas] = estimator2(x + noise);
doas = broadside2az(sort(doas),[20 -5]);
disp(doas)
   10.0093   59.9751

Постройте beamscan спектр

plotSpectrum(estimator)

Алгоритмы

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

Ссылки

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

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

Смотрите также

|

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

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