There are 19 messages in this thread.
You are currently looking at messages 1 to .
Is this discussion worth a thumbs up?
Hi every one I am doing work on narrow band phase shift beamforming (frequency domain) and after doing various simulations, i decided to varify beamformer practically. I was able to get data from an acoustic linear array of 24 elements spaced 0.17m apart. The omni directional source was placed at various bearings w.r.t linear array and was transmitting 4.4KHz CW pulses of 200ms duration . The linear array sensors were simulataneously sampled at 48 Ksamp/s/channel. Both linear array and source were deployed at 5-6m depth whereas total average bottom depth at trial locatin was 12m. The distance b/w array and source was approx. 700m. The problem i face is that beamformer shows peaks of nearly equal strength at two or more well separated bearings (at approximately same range) instead of one(where actual source was located). I dont know whether problem is with my beamformer or with array data or with environmental conditions (multipaths or reflections from surface/bottom due to lesser depths) If some one has done work on narrow band phase shift beam forming and is kind enough to help me, he may contact me on email(a...@yahoo.com) to get array data (as i don't know how to attach it here in this post), process the data and send me results in form of time vs bearing plot so that i can compare it with mine and reach some conclusion. Thanks Best Regards______________________________
On 4/27/2012 2:05 AM, abraham007 wrote: > Hi every one > > I am doing work on narrow band phase shift beamforming (frequency domain) > and after doing various simulations, i decided to varify beamformer > practically. I was able to get data from an acoustic linear array of 24 > elements spaced 0.17m apart. The omni directional source was placed at > various bearings w.r.t linear array and was transmitting 4.4KHz CW pulses > of 200ms duration . The linear array sensors were simulataneously sampled > at 48 Ksamp/s/channel. Both linear array and source were deployed at 5-6m > depth whereas total average bottom depth at trial locatin was 12m. The > distance b/w array and source was approx. 700m. > > The problem i face is that beamformer shows peaks of nearly equal strength > at two or more well separated bearings (at approximately same range) > instead of one(where actual source was located). I dont know whether > problem is with my beamformer or with array data or with environmental > conditions (multipaths or reflections from surface/bottom due to lesser > depths) > > If some one has done work on narrow band phase shift beam forming and is > kind enough to help me, he may contact me on > email(a...@yahoo.com) > to get array data (as i don't know how to attach it here in this post), > process the data and send me results in form of time vs bearing plot so > that i can compare it with mine and reach some conclusion. > > Thanks > > Best Regards Best, So far it sounds reasonable. At least based on a quick look. The endfire delay between elements is 1/2 wavelength. So, 1/2 wavelength delays (i.e. phase shift) should give endfire beams and zero delay, broadside. The geometry suggests cylindrical spreading so that will have an affect but not in azimuth unless the bottom isn't level. Worst-case there will be 3 paths: direct, surface and bottom reflections. The path difference for the reflected paths vs. the direct will be roughly 1/3 wavelength? So the composite waveform likely won't be cancelled. Of course, the beams are symmetrical around the array no matter how you steer the beams. This means that you will have ambiguity between right-of-online and left-of-online. That is a source at 45 degrees off broadside will also show up at 315 degrees off broadside. And a source at 0 degress off broadside will also show at 180 degrees off broadside. Is that what you're seeing? Otherwise perhaps the implementation of the transforms and phase shifts must be off. Fred______________________________
Thanks for help. >Of course, the beams are symmetrical around the array no matter how you >steer the beams. This means that you will have ambiguity between >right-of-online and left-of-online. That is a source at 45 degrees off >broadside will also show up at 315 degrees off broadside. And a source >at 0 degress off broadside will also show at 180 degrees off broadside. > Is that what you're seeing? No, left-right ambiguity problem of linear array is not issue here as multiple bearing peaks for single target appear within +90 -0- -90 region e.g. if one peak appear at +45 deg then a peak of nearly equal strength will also be shown at -60 deg. Best Regards______________________________
>Thanks for help. > >>Of course, the beams are symmetrical around the array no matter how you >>steer the beams. This means that you will have ambiguity between >>right-of-online and left-of-online. That is a source at 45 degrees off >>broadside will also show up at 315 degrees off broadside. And a source >>at 0 degress off broadside will also show at 180 degrees off broadside. >> Is that what you're seeing? > >No, left-right ambiguity problem of linear array is not issue here as >multiple bearing peaks for single target appear within +90 -0- -90 region >e.g. if one peak appear at +45 deg then a peak of nearly equal strength >will also be shown at -60 deg. > >Best Regards > > Hi everyone No body interested to help me more??? Best Regards______________________________
On 5/19/12 11:51 AM, abraham007 wrote: > > No body interested to help me more??? > it seems that Fred was able to read more between the lines and me. i am not sure what this is, *acoustic* beamforming? i sorta assumed so with "4.4KHz" and 48 kHz Fs. are the elements loudspeakers? or is this ultrasonic? assuming it's acoustic and in the human hearing range, 17 cm spacing seems pretty tight. is that because the transducers (whatever they are) are 16 or 17 cm in diameter? i only know what i have read in the AES journals and some from ASA and the little i had in the topic in college (which included some beamforming in antenna theory which had much of the same issues, the frequencies and wavespeed were a little higher). can you spell out a little more clearly what you are doing, what you want to accomplish, and such? maybe i might be able to understand better. -- r b-j r...@audioimagination.com "Imagination is more important than knowledge."______________________________
On 5/19/2012 8:51 AM, abraham007 wrote: >> Thanks for help. >> >>> Of course, the beams are symmetrical around the array no matter how you >>> steer the beams. This means that you will have ambiguity between >>> right-of-online and left-of-online. That is a source at 45 degrees off >>> broadside will also show up at 315 degrees off broadside. And a source > >>> at 0 degress off broadside will also show at 180 degrees off broadside. >>> Is that what you're seeing? >> >> No, left-right ambiguity problem of linear array is not issue here as >> multiple bearing peaks for single target appear within +90 -0- -90 region >> e.g. if one peak appear at +45 deg then a peak of nearly equal strength >> will also be shown at -60 deg. >> >> Best Regards >> >> > Hi everyone > > No body interested to help me more??? > > Best Regards I said: "Otherwise perhaps the implementation of the transforms and phase shifts must be off." But you've not done anything to illuminate on those matters. So, I figured you were off working on that. Fred______________________________
>"Otherwise perhaps the implementation of the transforms and phase shifts
>must be off."
>
Thanks for reply. I have checked the processing (FFT & phase shiftting) on
simulated data( where sensor data is simulated with a target at known
bearing) and is working fine.
Here is MATLAB of what i am doing
c00;
fD00; %Array cut frequency (Hz)
lemda=c/f;
d=lemda/2;
k=2*pi*d/c;
samp_fH000;
samp_t=1/samp_f;
no_of_sens$;
no_of_beams0;
%Frequency vector calculation
frq_vec=zeros(1,fft_points/2);
for v=1:fft_points/2
frq_vec(v)=v/(samp_t*fft_points);
end
%Angles at which beams are formed
m=-no_of_beams/2:1:no_of_beams/2;
ang_vec=asin(m*c/(f*no_of_beams*d))*180/pi;% -90 to +90 degree
%The process below is repeated for required no of data chunks
% dat_matrix 24 by 9600 (24 channels each having 9600 samples i.e. 200ms
% data)
for chunks2 = 1:20
for jj=1:no_of_sens
dimm=fread(fid,new_chunk_siz,'float');%read 9600 samples of one channel
dat_matrix(jj,:)=dimm( 1:new_chunk_siz);
end
for i = 1:no_of_sens
fft_matrix(i,:) = fft(dat_matrix(i,:),fft_points);%Taking FFT of each
sensor data
end
gg=0;
for fq0:890 %frequency indexes corresponding to 4350 - 4450Hz
gg=gg+1;%frequency index variable
ddd=0;
for ang=1:no_of_beams %for beams
temp=0;
dddÝd+1; %beam index variable
for sens=1:no_of_sens %for sensor 1:24
frq=frq_vec(fq);
phase_vec=exp(-sqrt(-1)*k*frq*(sens-1)*sin(ang_vec(ddd)*pi/180));
temp = temp + fft_matrix(sens,fq).*phase_vec;%
end
BF_out(ang,gg)=temp;%Beamformer output (complex)at an angle
and frequency
BF_out_pow(ang,gg)=temp.*conj(temp);%Beamformer output
(power)at an angle and frequency
end
end
for angl=1:no_of_beams
BF_FS(angl,chunks2)=sum((BF_out_pow(angl,:))); %
end
end
______________________________Hi all No comments about the code? Best Regards______________________________
On 5/30/12 11:24 PM, abraham007 wrote: > Hi all > > No comments about the code? > i'm not plowing through it. and i'm no expert on beamforming, but i know what it is and long ago i had a course in antenna theory (coincidently using the Kraus book). i think you need to break your problem and question into smaller parts and struggle with each part. maybe you can get someone here to help you struggle with a smaller part. -- r b-j r...@audioimagination.com "Imagination is more important than knowledge."______________________________
maybe you can get someone here to help you >struggle with a smaller part. Hi all Here i just need to know that i am implementing Narrow Band Phase Shift beamformer correctly. In this code first i take FFT of each sensor's chunk data. Next i make a frequency vector by picking frequency bin of interest from each sensor's FFT output(complex) Then for each bearing (covering -90 to 90 deg) i multiply frequency vector with a Phase Vector i.e. exp(-j*(2*pi*d/c)*frq*sin(angle)) and sum the result to make beamformer output at each desired bearing. The above procedure is repeated for next chunks of data Let me know if i am doing something wrong here. Thanks Best Regards______________________________