delay and sum beamforming
24 次查看(过去 30 天)
显示 更早的评论
I am new to matlab and am trying to acheive a simulation for delay and sum beamforming. My target is say there are two or more sensors placed in a line with 0.25m distance in between them. I am receiving a signal y(chirp signal) from some source which is placed at 45 degree with respect to the receivers. I am so far created an array for the generated signal which will be send towards the receivers. Now, i have to add respective delay to the antennas other than the refrence receiver. The delay value for the second receiver would be [(0.25*1)cos45]/343 and for 3rd receiver it would be [(0.25*2)cos45]/343 and so on. I am confused as to how to add this delay to the receiving signal's array. Further how will I then get the summed output and how to check steering of the array? please help
close all;
clc;
Fs=100e3;
tf=100e-3;
t=0:1/Fs:1; % Time, sampling frequency is 1kHz
% s = zeros(size(t));
% s = s(:); % Signal in column vector
% s(201:205) = s(201:205) + 1; % Define the pulse
% plot(t,s);
title('Pulse');xlabel('Time (s)');ylabel('Amplitude (V)');
f1=100;
f2=1000;
SLOPE=(f2-f1)/tf;
F=f1+SLOPE*t;
y=1*sin(2*pi*F.*t)';
carrierFreq = 100e3;
% here, the no. of receiving mic are 10
ula = phased.ULA('NumElements',5,'ElementSpacing',0.25);
ula.Element.FrequencyRange = [90e3 110e6];
%assuming signal arrives at the array at an angle of 45 in azimuth and 0 in elevation
inputAngle = [45; 0];
x = collectPlaneWave(ula,y,inputAngle,carrierFreq);
plot(t,x);
0 个评论
回答(1 个)
Honglei Chen
2019-3-28
Have you tried phased.PhaseShiftBeamformer? That would perform delay and sum beamforming for you.
HTH
5 个评论
Honglei Chen
2019-3-29
Could you clarify what you want? The beamformer already steered the array, that's how you get the beamformed output. I'm not sure what you mean by "not able to achieve electrical steering"
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!