QUESTION: Beamformed single channel output

71 views
Skip to first unread message

Neel Shah

unread,
Jul 12, 2022, 7:00:16 PM7/12/22
to Acoular-users

Hi,

I read the original "Beamformer Output" issue thread and am still confused about its implementation. Specifically, when choosing grid points using the "channels" parameter as indices in the WriteWAV function.

For example, if I have a 1 x 1 x 1 room split up by .1 increments and want to filter for the (x = .1, y = .2, z = .3) voxel, the original thread seems like it would have me use:

acoular.WriteWAV (source=bt, channels =[1, 2, 3])

which then exports a 3 channel wav file.

How could I export a single channel beamformed signal for that specified location? 

Thanks!

Gert Herold

unread,
Sep 14, 2022, 1:18:44 PM9/14/22
to Acoular-users
For beamforming in Acoular, (in most cases) you have to specify a discrete grid. The beamformer then calculates results for the points that are part of this grid and you will get as many "tracks" as there are points in the grid. With "channels =[1, 2, 3]" in WriteWAV, you will get the results at the first 3 grid points in you Grid object. If you have a RectGrid3D object "rg" and you want to get the result a certain coordinate, you need the corresponding index and you could do something like this:

acoular.WriteWAV (source=bt, channels =[rg.index(x = .1, y = .2, z = .3)])

This will get you a one-channel output at the given position, assuming that it is part of the grid "rg".
Reply all
Reply to author
Forward
0 new messages