マイク ULA アレイの時間遅延ビームフォーミング
この例では、無指向性素子のマイク アレイを使って、広帯域の従来型時間遅延ビームフォーミングを実行する方法を示します。音響 (圧力波) チャープ信号を作成します。チャープ信号の帯域幅は 1 kHz で、地上では 340 m/s の速度で伝播します。
c = 340; t = linspace(0,1,50e3)'; sig = chirp(t,0,1,1000);
10 素子 ULA を使って音響チャープを収集します。50 kHz のサンプリング周波数における波長の 1/2 未満の間隔で配置された無指向性マイク素子を使用します。チャープは、方位角 、仰角 で ULA に入射します。信号にランダム ノイズを追加します。
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')
