step

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

Выполните задержку beamforming

Синтаксис

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) выполняет задержку beamforming на входе, X, и возвращает beamformed выходной параметр в YX матрица M на n, где N является числом элементов сенсорной матрицы. Y вектор-столбец длины M.

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

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

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

Примечание

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

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

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

Постройте сигнал beamformed против инцидентного сигнала в среднем датчике массива.

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

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

|