Sound source localization with beamforming
Show older comments
Hello everyone, I am trying to reconstruct the Sound source coming from a ultrasonic transducer with real data. I have 16 microphones and the real data recieved by microphones is imported in my code as recon 30000*16 matice. I am using MVDR beamformer and PlotSpectrum(hMVDR) function to localize the source. I will be happy if you could help me to run the code with your ideas. here is my code:
h = phased.ConformalArray();
t= 1/2*(1+sqrt(5));
n=16;
c= ones(n,1)';
c(:)=1:16;
h.ElementPosition = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;...
(sqrt(c).*cos(2*pi*t*c))*0.0375;(sqrt(c).*sin(2*pi*t*c))*0.0375];
h.ElementNormal = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;0 0 0 0 0 ...
0 0 0 0 0 0 0 0 0 0 0];
h.Element = ...
phased.OmnidirectionalMicrophoneElement('BackBaffled',true,...
'FrequencyRange',[48e3 570e3]);
t=0:1/20e6:1.5e-3;
c = 343;
fc = 520000; % Operating frequency
hMVDR = phased.MVDRBeamformer('SensorArray',h,...
'OperatingFrequency',fc,'PropagationSpeed',c,'WeightsOutputPort',true);
[y,w] = step(hMVDR,recon);
M=mean(recon,2);
figure;
% Plot signals
plot(t(1:30000),real(M(1:30000)),'r:',t(1:30000),real(y(1:30000)));
xlabel('Time'); ylabel('Amplitude');
legend('Original','Beamformed');
title('MVDR Beamformer');
plotSpectrum(hMVDR);
3 Comments
Honglei Chen
on 7 Dec 2016
Could you elaborate what the problem is? What is the plot you get?
Ali Movahed
on 16 Dec 2016
Muhammad Usman Liaquat
on 9 Sep 2019
Hello Ali!
can you plz share your email address or contact details?
Answers (1)
douaer belgacem
on 4 Apr 2017
Edited: douaer belgacem
on 4 Apr 2017
0 votes
hi sir , can you explain more because he did't work for me ( the devices).thank you
Categories
Find more on Beamforming in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!