phased.PhaseShiftBeamformer

Узкополосный фазовый сдвиг луча

Описание

Поэтапный. Объект PhaseShiftBeamformer реализует узкополосный фазосдвигатель луча. Блок формирования луча со сдвигом фазы аппроксимирует устройство формирования луча с задержкой по времени для узкополосных сигналов путем сдвига фазы поступающего сигнала. Фазе лучевой форматор принадлежит к семейству обычных лучевых форматоров.

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

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

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

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

Создание

Описание

beamformer = phased.PhaseShiftBeamformer создает фазосдвигатель луча System object™, beamformer, со значениями свойств по умолчанию.

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

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

Свойства

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

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

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

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

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

Пример: phased.URA

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

Пример: 3e8

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

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

Пример: 1e9

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

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

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

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

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

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

Зависимости

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

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

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

Пример: 5

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

Если вы задаете это значение свойства 'Distortionless'коэффициент усиления в направлении формирования луча составляет 0 дБ. Если вы задаете это значение свойства 'Preserve power', нормой весов является единство.

Пример: 'Preserve power'

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

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

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

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

Описание

пример

Y = beamformer(X) выполняет фазосдвижение луча на входном сигнале, X, и возвращает сформированный лучом выход в Y. Чтобы использовать этот синтаксис, установите значение DirectionSource на 'Property' и установите направление формирования луча с помощью свойства Direction.

пример

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

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

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

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

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

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

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

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

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

Зависимости

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

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

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

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

Beamformed output, returned as a complex-valued M -by- L matrix, где M - количество строк X и L количество направлений формирования луча.

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

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

Зависимости

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

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

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

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

release(obj)

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

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

Примеры

свернуть все

Примените построение луча со сдвигом фазы к сигналу sinewave, принимаемому ULA с 7 элементами. Направление формирования луча составляет 45 ° азимута и 0 ° повышения. Предположим, что массив работает на частоте 300 МГц. Задайте направление формирования луча с помощью Direction свойство.

Симулируйте сигнал.

t = (0:1000)';
fsignal = 0.01;
x = sin(2*pi*fsignal*t);
c = physconst('Lightspeed');
fc = 300e6;
incidentAngle = [45;0];
array = phased.ULA('NumElements',7);
x = collectPlaneWave(array,x,incidentAngle,fc,c);
noise = 0.1*(randn(size(x)) + 1j*randn(size(x)));
rx = x + noise;

Настройте фазосдвигатель луча и затем отобразите входные данные.

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

Постройте график исходного сигнала в среднем элементе и сигнала луча.

plot(t,real(rx(:,4)),'r:',t,real(y))
xlabel('Time (sec)')
ylabel('Amplitude')
legend('Input','Beamformed')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Input, Beamformed.

Постройте график диаграммы направленности массива после применения весов.

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

Примените построение луча со сдвигом фазы к сигналу, принимаемому ULA с 5 элементами. Направление формирования луча составляет 45 ° азимута и 0 ° повышения. Предположим, что массив работает на частоте 300 МГц. Задать направление формирования луча можно используя порт входа.

Симулируйте сигнал sinewave, поступающий в массив.

t = (0:1000)';
fsignal = 0.01;
x = sin(2*pi*fsignal*t);
c = physconst('LightSpeed');
fc = 300e6;
incidentAngle = [45;0];
array = phased.ULA('NumElements',5);
x = collectPlaneWave(array,x,incidentAngle,fc,c);
noise = 0.1*(randn(size(x)) + 1j*randn(size(x)));
rx = x + noise;

Создайте диаграмму направленности сдвига фазы и затем сформируйте диаграмму направленности входных данных.

beamformer = phased.PhaseShiftBeamformer('SensorArray',array,...
    'OperatingFrequency',fc,'PropagationSpeed',c,...
    'DirectionSource','Input port','WeightsOutputPort',true);

Получите сигнал формирования луча и веса формирователя луча.

[y,w] = beamformer(rx,incidentAngle);

Постройте график исходного сигнала в среднем элементе и сигнала луча.

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.

Постройте график диаграммы направленности массива после применения весов.

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

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] Van Trees, H.L. Optimum Array Processing. Нью-Йорк, Нью-Йорк: Wiley-Interscience, 2002.

[2] Джонсон, Дон Х. и Д. Дадджен. Обработка сигнала массива. Englewood Cliffs, Нью-Джерси: Prentice Hall, 1993.

[3] Van Veen, B.D. and K. M. Buckley. «Формирование луча: универсальный подход к пространственной фильтрации». Журнал IEEE ASSP Magazine, том 5 № 2 стр. 4-24.

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

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