step

Системный объект: фазированный. TimeDelayBeamformer
Пакет: поэтапный

Выполните задержку формирования луча

Синтаксис

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

Описание

Примечание

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

Y = step(H,X) выполняет формирование луча задержки по времени на входе, X, и возвращает сформированный лучом выход в Y. X является M-на-N матрицей, где N - количество элементов сенсорного массива. Y - вектор-столбец длины M.

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

Y = step(H,X,ANG) использует ANG как направление формирования луча. Этот синтаксис доступен, когда вы устанавливаете DirectionSource свойство к 'Input port'. ANG - вектор-столбец длины 2 в виде [AzimuthAngle; ElevationAngle] (в степенях). Угол азимута должен быть между -180 и 180 степенями, а угол возвышения должен быть между -90 и 90 степенями.

[Y,W] = step(___) возвращает дополнительный выход, W, как веса формирования луча. Этот синтаксис доступен, когда вы устанавливаете WeightsOutputPort свойство к true. W является вектором-столбцом длины N. Для пучка с временной задержкой веса постоянны, потому что пучок просто складывает все каналы вместе и масштабирует результат, чтобы сохранить степень сигнала.

Примечание

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

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

Примеры

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

Примените лучевой форматор с задержкой к 11-элементному однородному линейному акустическому массиву. Угол прихода сигнала составляет -50 степени по азимуту и 30 степени по повышению. Поступающий сигнал является сегментом 0,3 секунды линейного FM щебета, имеющего полосу пропускания 500 Гц. Предположим, что скорость звука в воздухе составляет 340,0 м/с.

Симулируйте поступающий сигнал на широкополосный коллектор.

microphone = phased.CustomMicrophoneElement('FrequencyVector',[20,20000],'FrequencyResponse',[1,1]);
array = phased.ULA('Element',microphone,'NumElements',11,'ElementSpacing',0.04);
fs = 8000;
t = 0:1/fs:0.3;
x = chirp(t,0,1,500);
c = 340;
collector = phased.WidebandCollector('Sensor',array,...
    'PropagationSpeed',c,'SampleRate',fs,'ModulatedInput',false);
incidentAngle = [-50;30];
x = collector(x.',incidentAngle);

Добавьте белый гауссов случайный шум к сигналу.

sigma = 0.2;
noise = sigma*randn(size(x));
rx = x + noise;

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

beamformer = phased.TimeDelayBeamformer('SensorArray',array,...
    'SampleRate',fs,'PropagationSpeed',c,...
    'Direction',incidentAngle);
y = beamformer(rx);

Постройте график формирования луча относительно падающего сигнала на среднем датчике массива.

plot(t,rx(:,6),'r:',t,y)
xlabel('Time (sec)')
ylabel('Amplitude')
legend('Original','Beamformed')

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

См. также

|