>On 5/19/2012 8:51 AM, abraham007 wrote:
>
>The diagram at the top of page 20 is the method that I referred to:
>
Thanks Fred. I referred to Fig 1.18 at page 22. The only difference is that
Narrow band filter and quadrature sampling is replaced by FFT of each
sensor data and then selection of desired frequency bin( i think equivalent
to Narrow band filtration)
Reply by Fred Marshall●June 22, 20122012-06-22
On 5/19/2012 8:51 AM, abraham007 wrote:
The diagram at the top of page 20 is the method that I referred to:
Google on:
Simulation of Beamforming Techniques for the Linear Array of
Transducers. Grant Hampson, Student Member, IEEE. Andrew Paplinski ...
Fred
Reply by Fred Marshall●June 18, 20122012-06-18
On 6/17/2012 8:32 PM, abraham007 wrote:
> but in this case we came across acoustic& non-acoustic
> regions (as frequency dependency is not corp orated in steering vector)
> which needed to be separated for proper output.
I didn't follow that... particularly the "acoustic and non-acoustic
regions" ... ????
Fred
Reply by abraham007●June 18, 20122012-06-18
>
>If you do the FFT on each sensor output you get an element spectrum.
>Then if you do a weighted sum of the sensors at each frequency, you can
>form beams. In this case the weights might also be formulated to use an
>FFT algorithm but I'm sure that the kernel would not be the same
>"steering vector" as above.
Yes, you are right. We can formulate the weights so that they can be
implemented using another FFT (i.e. spatial-FFT along the sensors (FFT of
1x24 vector)) but in this case we came across acoustic & non-acoustic
regions (as frequency dependency is not corp orated in steering vector)
which needed to be separated for proper output.
Reply by Fred Marshall●June 17, 20122012-06-17
On 6/17/2012 12:07 AM, abraham007 wrote:
>> Is that what you're doing? I ask because the first transform does not
>> have "frequency bins" as you mention.
>>
> To explain with an example, I collect 1024 samples (data chunk) of each 24
> sensors to make a matrix of 24 X 1024.
>
> Now I take FFT of each row of that matrix i.e. 1024 point FFT of each
> sensor data giving me again 32 X 1024 matrix but now each sensor’s data
> is converted into frequency domain and for each sensor, 1024 points
> represent “1024 frequency bins” out of which 512 bins represent
> positive frequencies.
>
> Now from each sensor’s freq domain data, I selected the only ‘
> frequency bin’ representing the transmitted frequency (in my case it was
> 4400Hz) and make a new vector of size 1 X 24.
>
> After this, for each 180 bearings (covering -90 deg to +90 deg), I
> multiplied the above vector (1 X 24) with steering vector defined by “
> exp(-j*(2*pi*d/c)*4400*sin(bearing)) “ and sum the result. That is how I
> got a Narrow band Phase shift beam former output of size 1 X 180.
>
> The above steps are repeated for next 1024 samples of each sensor data and
> again a beam former output of 1 X 180 is obtained.
>
> This procedure is repeated for finite no of data chunks.
>
I you do the phase shift transform first (approximating time delays)
then you get beam outputs. And, I would call the kernel of this
transform of spatial data a "steering vector". A sequence of some
number of these gives you temporal beam outputs. Actually the samples
at each instant in time are in wave number space.
Then if you do an FFT on each beam output over some temporal window, you
get a beam spectrum.
If you do the FFT on each sensor output you get an element spectrum.
Then if you do a weighted sum of the sensors at each frequency, you can
form beams. In this case the weights might also be formulated to use an
FFT algorithm but I'm sure that the kernel would not be the same
"steering vector" as above. Perhaps it's an advantage to have the phase
changes able to be frequency dependent here but I've not formulated it.
I believe 24 sensors, equally spaced, suggest an aperture of not more
than 12 wavelengths in order to meet the spatial version of the Nyquist
criterion. I think this means beam widths of not less than around 4
degrees. So, computing 1 degree beams seems overkill.
But take all this with some caution because I've not worked it out.
Fred
Reply by abraham007●June 17, 20122012-06-17
>Is that what you're doing? I ask because the first transform does not
>have "frequency bins" as you mention.
>
To explain with an example, I collect 1024 samples (data chunk) of each 24
sensors to make a matrix of 24 X 1024.
Now I take FFT of each row of that matrix i.e. 1024 point FFT of each
sensor data giving me again 32 X 1024 matrix but now each sensor’s data
is converted into frequency domain and for each sensor, 1024 points
represent “1024 frequency bins” out of which 512 bins represent
positive frequencies.
Now from each sensor’s freq domain data, I selected the only ‘
frequency bin’ representing the transmitted frequency (in my case it was
4400Hz) and make a new vector of size 1 X 24.
After this, for each 180 bearings (covering -90 deg to +90 deg), I
multiplied the above vector (1 X 24) with steering vector defined by “
exp(-j*(2*pi*d/c)*4400*sin(bearing)) “ and sum the result. That is how I
got a Narrow band Phase shift beam former output of size 1 X 180.
The above steps are repeated for next 1024 samples of each sensor data and
again a beam former output of 1 X 180 is obtained.
This procedure is repeated for finite no of data chunks.
Reply by Fred Marshall●June 10, 20122012-06-10
On 6/10/2012 9:00 AM, abraham007 wrote:
>> Heloooo?
Heloooo? indeed!
Any response to my last post?
Fred
Reply by abraham007●June 10, 20122012-06-10
>Heloooo?
Reply by Fred Marshall●June 2, 20122012-06-02
On 6/2/2012 12:39 AM, abraham007 wrote:
> 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
Hmmm.... without getting too detailed, I think it should go like this:
1) you grab all the "M" sensor outputs at the same time. The elements
sample in space .. along the array .. and you are taking those space
samples at one instant in time.
2) you perform a Discrete Fourier Transform of length "M" on these
samples. I do believe this is where the phase vector comes in - in the
kernel of the transform. This converts the samples into a sequence of
length "M" in *wave number* space. That is, each sample corresponds to
a beam steering angle.
In other words, what you want to do is delay the sensor samples in time
or shift their phase in space so that each beam can be formed using
summation. A single sample of a beam output is a summation of phase
shifted set of element samples. A single sample of the next beam output
has different phases, etc. So, the DFT is a natural mechanism for
performing this summation - you have to use the right kernel.
Let us call this a row of wave number samples taken at one time - in
what will become a matrix of transform sequences. The rows happen at a
selected intervals of time (the time sampling interval) and the columns
represent wave numbers / beams.
3) once the matrix has N rows then you do a Discrete Fourier Transform
on N elements of each of the columns. Since the columns are in time
space, then the transforms are the familiar DFT going from time to
frequency space and you likely know what the kernel is in that one!
There is a frequency transform resulting for each column / beam that you
transform. If you transform the entire matrix column by column then you
get frequency columns of N samples in the resulting NxM matrix.
That is, a spectral measure for each beam.
Is that what you're doing? I ask because the first transform does not
have "frequency bins" as you mention.
Fred
Reply by abraham007●June 2, 20122012-06-02
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