exponenta event banner

шаг

Системный объект: поэтапный. SubbandPhaseShiftBeamformer
Пакет: поэтапный

Формирование луча с использованием фазового сдвига поддиапазона

Синтаксис

Y = step(H,X)
Y = step(H,X,ANG)
[Y,W] = step(___)
[Y,FREQ] = step(___)
[Y,W,FREQ] = step(___)

Описание

Примечание

Начиная с R2016b, вместо использования step для выполнения операции, определенной системным object™, можно вызвать объект с аргументами, как если бы это была функция. Например, y = step(obj,x) и y = obj(x) выполнять эквивалентные операции.

Y = step(H,X) выполняет формирование диаграммы направленности фазового сдвига поддиапазона на входе, Xи возвращает выходные данные в виде луча в Y.

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

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

[Y,FREQ] = step(___) возвращает центральные частоты поддиапазонов, FREQ. Этот синтаксис доступен при установке SubbandsOutputPort свойство для true.

[Y,W,FREQ] = step(___) возвращает веса диаграммы направленности и центральные частоты поддиапазонов. Этот синтаксис доступен при установке WeightsOutputPort свойство для true и установите SubbandsOutputPort свойство для true.

Примечание

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

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

H

Объект-формирователь луча.

X

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

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

ANG

Направления формирования луча, заданные как двухстрочная матрица. Каждый столбец имеет вид [AzimingAngle; Угол наклона], в градусах. Каждый азимутальный угол должен находиться в диапазоне от -180 до 180 градусов, а каждый угол возвышения - в диапазоне от -90 до 90 градусов. Этот аргумент может быть указан как одинарная или двойная точность.

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

Y

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

W

Весы для формирования луча. W имеет размеры N-by-K-by-L. K - количество поддиапазонов в NumSubbands собственность. L - количество направлений формирования луча. Если матрица датчиков содержит подрешетки, N - количество подрешеток; в противном случае N - число элементов. Каждый столбец W определяет узкополосные веса для формирования диаграммы направленности, используемые в соответствующем поддиапазоне для соответствующего направления. Этот аргумент может быть возвращен в виде одиночной или двойной точности.

FREQ

Центральные частоты поддиапазонов. FREQ - вектор столбца длиной K, где K - число поддиапазонов в NumSubbands собственность. Этот аргумент может быть возвращен в виде одиночной или двойной точности.

Примеры

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

Применение фазового сдвига поддиапазона к 11-элементной подводной ULA. Угол падения широкополосного сигнала составляет 10 ° по азимуту и 30 ° по возвышению. Несущая частота составляет 2 кГц.

Создайте ULA.

antenna = phased.ULA('NumElements',11,'ElementSpacing',0.3);
antenna.Element.FrequencyRange = [20 20000];

Создайте чирп-сигнал с шумом.

fs = 1e3;
carrierFreq = 2e3;
t = (0:1/fs:2)';
x = chirp(t,0,2,fs);
c = 1500;
collector = phased.WidebandCollector('Sensor',antenna, ...
    'PropagationSpeed',c,'SampleRate',fs,...
    'ModulatedInput',true,'CarrierFrequency',carrierFreq);
incidentAngle = [10;30];
x = collector(x,incidentAngle);
noise = 0.3*(randn(size(x)) + 1j*randn(size(x)));
rx = x + noise;

Блеск в направлении угла падения.

beamformer = phased.SubbandPhaseShiftBeamformer('SensorArray',antenna, ...
    'Direction',incidentAngle,'OperatingFrequency',carrierFreq, ...
    'PropagationSpeed',c,'SampleRate',fs,'SubbandsOutputPort',true, ...
    'WeightsOutputPort',true);
[y,w,subbandfreq] = beamformer(rx);

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

plot(t(1:300),real(rx(1:300,6)),'r:',t(1:300),real(y(1:300)))
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(antenna,subbandfreq(1:5).',[-180:180],0,'PropagationSpeed',c, ...
    'CoordinateSystem','rectangular','Weights',w(:,1:5))
legend('location','SouthEast')

Figure contains an axes. The axes with title Azimuth Cut (elevation angle = 0.0°) contains 5 objects of type line. These objects represent 2.00000 kHz, 2.01562 kHz, 2.03125 kHz, 2.04688 kHz, 2.06250 kHz.

Алгоритмы

Формирователь луча фазового сдвига поддиапазона разделяет сигнал на несколько поддиапазонов и применяет узкополосное формирование луча фазового сдвига к сигналу в каждом поддиапазоне. Сигналы в виде луча во всех поддиапазонах перегруппируются для формирования выходного сигнала.

Для получения дополнительной информации см. [1].

Ссылки

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

См. также

|