delay and sum beamforming(in frequency domain)
古いコメントを表示
I have 8 microphones (excluding the origin[0;0]) arranged in circular geometry. And I have a sound source placed at a certain location (say 2mts) away from the array. The source should produce signal(say sinusoid) and it should impinge on microphones with certain delays due to its geometry.
Now i need to simulate this idea in MATLAB and plot the beam pattern by performing beamforming for the microphone array.
Here is my code so far:
clc
clear all
close all
Antenna_X_Pos=[-0.0025; 0.1406; -0.0685;-0.1134;0.1160;0.0640;-0.1471;-0.0013];
Antenna_Y_Pos=[0.0546;-0.1323;-0.2277;-0.0053;-0.0069;-0.2296;-0.1289;-0.0949];
Antenna_Z_Pos=[0.3446;0.2975;0.2605;0.2179;0.1770;0.1361; 0.0928 ; 0.2177];
scatter3(Antenna_X_Pos,Antenna_Y_Pos,Antenna_Z_Pos,'filled'),view(-60,60)
for j=1:360
theta(j)=degtorad(j);
[SP_X(j) SP_Y(j)] = pol2cart(theta(j),10);
for i=1:numel(Antenna_X_Pos)
Distance(i,j) = sqrt((Antenna_X_Pos(i) - SP_X(j))^2 +(Antenna_Y_Pos(i) - SP_Y(j))^2);
end
end
%plot(Distance)
Dist_m=Distance(1,:);
mMinusM1 = bsxfun(@minus,Distance,Dist_m);
speed_sound = 340; %speed of sound in meters
Time_delay = (mMinusM1/speed_sound)*10e3; %time delay in milliseconds
max((max(Time_delay)));
plot(Time_delay); % time delay plot for 8 microphones(including the origin of array)
Now how can I place the source(say a sinusoid) at the particular location and perform beamforming using the microphone array from that particular direction where the source is placed?
My final goal is to simulate conventional beamformer (Delay and Sum) algorithm.
am I missing some idea/trick? please help!!
採用された回答
その他の回答 (1 件)
Wayne King
2011 年 12 月 14 日
編集済み: John Kelly
2014 年 5 月 27 日
0 投票
Hi Zozo, Are you able to use the Phased Array System Toolbox?
The Phased Array System Toolbox has a delay-sum narrowband beamformer (as well as a number of other beamforming algorithms).
See Narrowband (Phase Shift) Beamformer with a ULA for an example.
You can simulate arrays and directional of arrival easily.
3 件のコメント
zozo
2011 年 12 月 14 日
Wayne King
2011 年 12 月 14 日
The Phased Array Toolbox is all written in the MATLAB language. If you own that toolbox, you are able to see the MATLAB code.
zozo
2011 年 12 月 14 日
カテゴリ
ヘルプ センター および File Exchange で Array Geometries and Analysis についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!