exponenta event banner

Широкополосное формирование луча

Поддержка широкополосного формирования луча

Формирование диаграммы направленности, достигаемое путем умножения входного сигнала датчика на комплексную экспоненциальную величину с соответствующим фазовым сдвигом, применяется только для узкополосных сигналов. В случае широкополосных или широкополосных сигналов вектор управления не является функцией одной частоты. Широкополосная обработка обычно используется в микрофонных и акустических приложениях.

Программное обеспечение Phased Array System Toolbox™ предоставляет обычные и адаптивные широкополосные формирователи луча. К ним относятся:

Пример использования широкополосного формирования луча для выделения речевых сигналов в шуме см. в разделе Акустическое формирование луча с использованием микрофонной решетки.

Временная задержка формирования диаграммы направленности микрофона ULA Array

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

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

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')

Figure contains 2 axes. Axes 1 with title Signal (real part) at the 5th element of the ULA contains an object of type line. Axes 2 with title Signal (real part) with time-delay beamforming contains an object of type line.

Визуализация производительности широкополосного формирователя луча

В этом примере показано, как построить график отклика акустического микрофонного элемента и массива микрофонных элементов для проверки эффективности формирователя луча. Массив должен поддерживать приемлемый шаблон массива по всей полосе пропускания.

Создайте 11-элементную однородную линейную решетку (ULA) микрофонов, используя элементы косинусной антенны в качестве микрофонов. phased.CosineAntennaElement Системный object™ является достаточно общим для использования в качестве микрофонного элемента, так как он создает или получает скалярное поле. Необходимо изменить частоты отклика на диапазон слышимости. Кроме того, убедитесь, что PropagationSpeed параметр в массиве pattern методы устанавливают на скорость звука в воздухе.

c = 340;
freq = [1000 2750];
fc = 2000;
numels = 11;
microphone = phased.CosineAntennaElement('FrequencyRange',freq);
array = phased.ULA('NumElements',numels,...
   'ElementSpacing',0.5*c/fc,'Element',microphone);

Постройте график отклика микрофонного элемента по набору частот.

plotFreq = linspace(min(freq),max(freq),15);
pattern(microphone,plotFreq,[-180:180],0,'CoordinateSystem','rectangular',...
    'PlotStyle','waterfall','Type','powerdb')

Figure contains an axes. The axes with title Azimuth Cut (elevation angle = 0.0°) contains an object of type surface.

Этот график показывает, что шаблон элемента является постоянным по всей полосе пропускания.

Постройте график отклика 11-элементного массива на одном и том же наборе частот.

pattern(array,plotFreq,[-180:180],0,'CoordinateSystem','rectangular',...
    'PlotStyle','waterfall','Type','powerdb','PropagationSpeed',c)

Figure contains an axes. The axes with title Azimuth Cut (elevation angle = 0.0°) contains an object of type surface.

Этот график показывает, что основной блок массива элементов уменьшается с частотой.

Примените к массиву формирователь луча фазового сдвига поддиапазона. Интересующее направление - азимут 30 ° и отметка 0 °. Существует 8 поддиапазонов.

direction = [30;0];
numbands = 8;
beamformer = phased.SubbandPhaseShiftBeamformer('SensorArray',array,...
   'Direction',direction,...
   'OperatingFrequency',fc,'PropagationSpeed',c,...
   'SampleRate',1e3,...
   'WeightsOutputPort',true,'SubbandsOutputPort',true,...
   'NumSubbands',numbands);
rx = ones(numbands,numels);
[y,w,centerfreqs] = beamformer(rx);

Постройте график отклика массива с использованием весов и центральных частот формирователя луча.

pattern(array,centerfreqs.',[-180:180],0,'Weights',w,'CoordinateSystem','rectangular',...
    'PlotStyle','waterfall','Type','powerdb','PropagationSpeed',c)

Figure contains an axes. The axes with title Azimuth Cut (elevation angle = 0.0°) contains an object of type surface.

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

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

centerfreqs = fftshift(centerfreqs);
w = fftshift(w,2);
idx = [1,5,8];
pattern(array,centerfreqs(idx).',[-180:180],0,'Weights',w(:,idx),'CoordinateSystem','rectangular',...
    'PlotStyle','overlay','Type','powerdb','PropagationSpeed',c)
legend('Location','South')

Figure contains an axes. The axes with title Azimuth Cut (elevation angle = 0.0°) contains 3 objects of type line. These objects represent 1.500 kHz, 2.000 kHz, 2.375 kHz.

Этот график показывает, что направление основного луча остается постоянным, в то время как ширина луча уменьшается с частотой.