Beamforming с временной задержкой микрофона массив ULA

В этом примере показано, как выполнить широкополосную обычную задержку beamforming с массивом микрофона всенаправленных элементов. Создайте слуховой аппарат (волна давления) сигнал щебета. Сигнал щебета имеет пропускную способность 1 кГц и распространяет со скоростью 340 м/с на уровне земли.

Примечание: Этот пример запускается только в R2016b или позже. Если вы используете более ранний релиз, заменяете каждый вызов функции с эквивалентным step синтаксис. Например, замените myObject(x) с step(myObject,x).

c = 340;
t = linspace(0,1,50e3)';
sig = chirp(t,0,1,1000);

Соберите акустический щебет с ULA с десятью элементами. Используйте распределенные меньше элементов ненаправленного микрофона, чем половина длины волны в частоте дискретизации на 50 кГц. Щебет является инцидентом на ULA с углом 60 азимут и 0 вертикальное изменение. Добавьте случайный шум в сигнал.

microphone = phased.OmnidirectionalMicrophoneElement(...
    'FrequencyRange',[20 20e3]);
array = phased.ULA('Element',microphone,'NumElements',10,...
    'ElementSpacing',0.01);
collector = phased.WidebandCollector('Sensor',array,'SampleRate',5e4,...
    'PropagationSpeed',c,'ModulatedInput',false);
sigang = [60;0];
rsig = collector(sig,sigang);
rsig = rsig + 0.1*randn(size(rsig));

Примените широкополосный обычный формирователь луча с временной задержкой, чтобы улучшить ОСШ полученного сигнала.

beamformer = phased.TimeDelayBeamformer('SensorArray',array,...
    'SampleRate',5e4,'PropagationSpeed',c,'Direction',sigang);
y = beamformer(rsig);

subplot(2,1,1)
plot(t(1:5000),real(rsig(1:5e3,5)))
axis([0,t(5000),-0.5,1])
title('Signal (real part) at the 5th element of the ULA')
subplot(2,1,2)
plot(t(1:5000),real(y(1:5e3)))
axis([0,t(5000),-0.5,1])
title('Signal (real part) with time-delay beamforming')
xlabel('Seconds')

Для просмотра документации необходимо авторизоваться на сайте