phased.BeamscanEstimator

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

Описание

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

Для оценки пространственного спектра:

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

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

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

Создание

Описание

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

пример

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

Свойства

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

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

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

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

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

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

Пример: 3e8

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

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

Пример: 1e9

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

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

Пример: 5

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

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

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

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

Пример: 5

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

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

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

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

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

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

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

Пример: 3

Зависимости

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

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

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

Описание

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

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

пример

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

release(obj)

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

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

Примеры

свернуть все

Оцените DOA двух сигналов, принятых 10-элементным ULA с интервалом элементов 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

Постройте график спектра луча

plotSpectrum(estimator)

Figure contains an axes. The axes with title Beamscan Spatial Spectrum contains an object of type line. This object represents 1 GHz.

Алгоритмы

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

Ссылки

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

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

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