Hello, I need to find an acoustic sensor (microphone) array layout with the following properties: [- digital signal processing] - steerable to any directions (azimuth angle, elevation angle) with the help of complex weighting, - frequency invariant between 16 Hz and 20 kHz or at least 500 Hz to 16 kHz, - it should include the sensor directivity. Questions: ---------- 1. Which literature or sites can be recommended to solve this task? 2. Which algorithm should be used to get a mostly frecuency invariant beampattern? -> band-pass filter + compensate the delays of sensors? 3. How many frequency bins should I use for this frequency band and what are the frequency band sizes for each bin? -> Eeach octave? 4. Which sensor layout has the best performance, without getting symetric mirroring of main lobes? -> Spherical? I am thankfull for every help. Ragards Patrick
Acoustic Beamformer
Started by ●October 1, 2006
Reply by ●October 1, 20062006-10-01
SchmittP79 skrev:> Hello, > > I need to find an acoustic sensor (microphone) array layout with the > following properties:... This seems to be quite a daunting project. What is the context? Commercial? A thesis of some sort? These are the sorts of questions I would hope to see answered in a 4-6 month MSc project; hoping for a few lines in a usenet post seem a bit optimistic unless you happen to stumble across somebody who have done exactly this... Rune
Reply by ●October 1, 20062006-10-01
Rune may be underestimating the difficulty. Frequency invariant over several octaves and steerable in any direction makes a tough design. If you can mechanically steer the sensor to the desired direction would make things easier because you cah use a disk. Log tapering the sensors in the sensing array and adding/dropping sensors over different portions of the frequency band will approximate frequency invariance. In article <1159707623.468313.284620@k70g2000cwa.googlegroups.com>, "Rune Allnor" <allnor@tele.ntnu.no> wrote:> >SchmittP79 skrev: >> Hello, >> >> I need to find an acoustic sensor (microphone) array layout with the >> following properties: >.... > >This seems to be quite a daunting project. What is the context? >Commercial? A thesis of some sort? > >These are the sorts of questions I would hope to see answered >in a 4-6 month MSc project; hoping for a few lines in a usenet >post seem a bit optimistic unless you happen to stumble across >somebody who have done exactly this... > >Rune >
Reply by ●October 1, 20062006-10-01
"SchmittP79" <SchmittP@gmx.de> wrote in message news:ZZCdnWMLjoAnJYLYnZ2dnUVZ_tydnZ2d@giganews.com...> Hello, > > I need to find an acoustic sensor (microphone) array layout with the > following properties: > > [- digital signal processing] > - steerable to any directions (azimuth angle, elevation angle) with the > help of complex weighting, > - frequency invariant between 16 Hz and 20 kHz or at least 500 Hz to 16 > kHz, > - it should include the sensor directivity. > > Questions: > ---------- > 1. Which literature or sites can be recommended to solve this task? > 2. Which algorithm should be used to get a mostly frecuency invariant > beampattern? -> band-pass filter + compensate the delays of sensors? > 3. How many frequency bins should I use for this frequency band and what > are the frequency band sizes for each bin? -> Eeach octave? > 4. Which sensor layout has the best performance, without getting symetric > mirroring of main lobes? -> Spherical?Patrick, Wow. You're asking quite a lot all at once. First, a beamformer doesn't have to have *any* spectral analysis associated with it. So, that's a separate question really and one that can only be answered if someone understands your application. Second, the precursor to beamforming is the array itself - as you imply in question #4. So, the ability to form beams is very much at the mercy of the array - or *arrays*! Third, you didn't mention the specifications for the beam pattern. So, when you say "without getting symmetric mirroring of main lobes" you're implying a pencil beam as compared to a conical beam that you'd get (at some frequencies) from a line array or a donut beam that you'd get from a dipole with half wavelength spacing?? Your question "sperical?" suggests this. Fourth, the frequency range is 5 octaves. So you should not expect to get very good beam pattern consistency over frequency with any sort of simple array. Fifth, you didn't specify the maximum size of the array / aperture. Yet you want performance down to either 16Hz or 500Hz. Let's see: oh! I almost was going to give dimensions for underwater but, since you said microphones, I will assume this to be in air: You may know all this but to establish a common frame of reference: - a useful rule of thumb for beamwidth (in radians) for a broadside line array: B = 2*lambda/L where lambda is the wavelength and L is the array length. So, L=2*lambda/B This is useful because it puts your questions down into one dimension and allows a quick way to get a sense of dimensions. I focus at the lowest frequency because that's where the array has to be the biggest to meet your requirements of beamwidth. My little mental "factoids" for wavelengths are: In water: 1 ft at 5kHz or 5 ft at 1kHz. In air the speed of sound is roughly 1/2 that in water so: 0.2 ft at 5kHz or 1 ft at 1kHz. Or, just go to: http://www.sengpielaudio.com/calculator-wavelength.htm At 16Hz, the wavelength is 70 feet. A 10-degree beam can be achieved from an array of length L = 2*70/10*(pi/180) = 802 feet. At 500Hz, the wavelength is 2.25 ft and the array length would be 26 feet. If the beamwidths are 1 degree instead of 10 degrees then the array will be 10 times these sizes. I have no idea what is acceptable to you but these all seem like large numbers for arrays of "microphones". I hope this all isn't too basic for you but I have no idea where you're starting from. The specifications, as stated, suggest a steep learning curve. It sounds like you have the right idea when you ask "spherical?". The beamforming element weightings could effectively form a planar array in one "slice" of the elements and use the elements off the plane for steering the beam fore and aft. Here's how the thought process goes: - The size of the array is determined by the lowest frequency. - The element spacing is determined by the highest frequency. - It would be silly to populate an array with closely-spaced elements over the entire aperture needed for the lowest frequency. - So, one might populate the array densely in the center and less densely at the edges with the notion that beamforming is going to use those elements in that portion of the center that are needed to form the beam and one can space the elements accordingly. This suggests that spacing isn't uniform. So, assume you have a spherical array with proportional spacing. For each frequency band of interest you compute element weights (and possibly phases uf the array is sparse). Unless the beamforming has to be sensitive to the granularity of the element locations (e.g. not all being exactly on the plane, etc.) then one might use the identical set of element weights but rotated according to the beam pointing direction. You end up with a beamforming matrix for each frequency band and for each look angle / beam. The beamforming matrix of size in the order of 1xL^3 where L here is the aperture/usable sphere width measured in numbers of elements. If the beamwidth is 10 degrees then there will be around 412 beams to be formed. 412 beams, L^3 multiplies, N frequency bands adds up to a lot of computations and a heck of a lot of data to look at thereafter! It is not atypical for an array section to be intended for use over 1 octave. With this much frequency variation you won't get great, but just "OK", consistency of beam pattern over frequency. So, you may want to consider narrower bands if you can stand the compute load. In the olden days doing something like this from a single line array (with angular ambiguity) took up a huge room full of electronics! And you want a sphere and no angular ambiguity??? Wow. I hope this helps. Fred
Reply by ●October 1, 20062006-10-01
In article <hLmdnaetz-1jc4LYnZ2dnUVZ_rOdnZ2d@centurytel.net>, "Fred Marshall" <fmarshallx@remove_the_x.acm.org> wrote:>Fourth, the frequency range is 5 octaves. So you should not expect to get >very good beam pattern consistency over frequency with any sort of simple >array.~10 octaves for 16 Hz to 20 kHz>My little mental "factoids" for wavelengths are: >In water: 1 ft at 5kHz or 5 ft at 1kHz. >In air the speed of sound is roughly 1/2 that in water so: >0.2 ft at 5kHz or 1 ft at 1kHz.Speed of sound in water is about 5000 fps and in air is about 1000 fps. ~1/5 With mechanical steering, I wonder if his best choice might not be exponential horns though a folded horn for 10 octaves would be bigger than a house. This would do away with mirror beams also called secondary major lobes.
Reply by ●October 2, 20062006-10-02
John Herman wrote:> In article <hLmdnaetz-1jc4LYnZ2dnUVZ_rOdnZ2d@centurytel.net>, "Fred Marshall" <fmarshallx@remove_the_x.acm.org> wrote: > >> Fourth, the frequency range is 5 octaves. So you should not expect to get >> very good beam pattern consistency over frequency with any sort of simple >> array. > ~10 octaves for 16 Hz to 20 kHz > >> My little mental "factoids" for wavelengths are: >> In water: 1 ft at 5kHz or 5 ft at 1kHz. >> In air the speed of sound is roughly 1/2 that in water so: >> 0.2 ft at 5kHz or 1 ft at 1kHz. > > Speed of sound in water is about 5000 fps and in air is about 1000 fps. ~1/5 > > With mechanical steering, I wonder if his best choice might not be exponential > horns though a folded horn for 10 octaves would be bigger than a house. This > would do away with mirror beams also called secondary major lobes.I once had a landlord who let my roommates and me undertake any suggested alterations to our apartment with a shrug and "You boys are engineers." Apparently, Patric and my Boston landlord believe that technology can solve any problem easily. Jerry -- "The rights of the best of men are secured only as the rights of the vilest and most abhorrent are protected." - Chief Justice Charles Evans Hughes, 1927 ���������������������������������������������������������������������
Reply by ●October 2, 20062006-10-02
Br=FCel & Kjaer has a great paper on beamforming online: http://www.bksv.com/pdf/bv0056.pdf SchmittP79 skrev:> Hello, > > I need to find an acoustic sensor (microphone) array layout with the > following properties: > > [- digital signal processing] > - steerable to any directions (azimuth angle, elevation angle) with the > help of complex weighting, > - frequency invariant between 16 Hz and 20 kHz or at least 500 Hz to 16 > kHz, > - it should include the sensor directivity. > > Questions: > ---------- > 1. Which literature or sites can be recommended to solve this task? > 2. Which algorithm should be used to get a mostly frecuency invariant > beampattern? -> band-pass filter + compensate the delays of sensors? > 3. How many frequency bins should I use for this frequency band and what > are the frequency band sizes for each bin? -> Eeach octave? > 4. Which sensor layout has the best performance, without getting symetric > mirroring of main lobes? -> Spherical? >=20 >=20 > I am thankfull for every help. >=20 > Ragards >=20 > Patrick
Reply by ●October 2, 20062006-10-02
Hello, do you like to make a acoustic "Radar" ? Look at http://www.acoustic-camera.com as far as i know its a development of the TU Berlin, but i am not shure. and if you like to know more you may attend the Berlin Beam Forming Conference November 2006 look at: http://www.acoustic-camera.com/BeBeC/index.html Markus Greim
Reply by ●October 3, 20062006-10-03
First at all, I have to thank for the fast replies. The topic of my work is: "Substitution of directional microphones conventional used in room acoustics by multisensoring". The generally goal is the substitution of the directional characteristic. The Kemar dummy-head is a special case which are also in my focus. My idea was to: 1. Beamform almost frequency invariant to the direction (azimuth_0,elevation_0) 2. Multiply the result with the transfer function (given database of [HRTF [Head Relation Transfer Function]) 3. Repeat step 1 and 2 to n directions (azimuth_n,elevation_n) 4. sum up the results to get the directional characteristic of p.e. a Kemar dummy-head or a human ear. I need to use a 3D sensor-array layout, otherwise I would have i.e. two maximal amplitude in two different directions with a planar or linear array. Therefore I was thinking about a spherical array to eliminate those unwanted main lobes. The book " M. Brandstein, D. Ward(Eds.): 'Microphone Arrays' " describes a solution with unequal element spacing, but only for linear arrays. I failed to reproduce the beampattern :( and I can't use a 1D array for my task. I hope I could illustrate my goal and my problems. With regards Patrick
Reply by ●October 3, 20062006-10-03
SchmittP79 skrev:> First at all, I have to thank for the fast replies. > > The topic of my work is: "Substitution of directional microphones > conventional used in room acoustics by multisensoring". > The generally goal is the substitution of the directional > characteristic. The Kemar dummy-head is a special case which are also in > my focus. > > My idea was to: > > 1. Beamform almost frequency invariant to the direction > (azimuth_0,elevation_0) > 2. Multiply the result with the transfer function (given database of [HRTF > [Head Relation Transfer Function]) > 3. Repeat step 1 and 2 to n directions (azimuth_n,elevation_n) > 4. sum up the results to get the directional characteristic of p.e. a > Kemar dummy-head or a human ear. > > I need to use a 3D sensor-array layout, otherwise I would have i.e. two > maximal amplitude in two different directions with a planar or linear > array. Therefore I was thinking about a spherical array to eliminate those > unwanted main lobes. > > The book " M. Brandstein, D. Ward(Eds.): 'Microphone Arrays' " describes a > solution with unequal element spacing, but only for linear arrays. > I failed to reproduce the beampattern :( and I can't use a 1D array for my > task. > > I hope I could illustrate my goal and my problems.There was a book by Ziomek a few years ago, that treated both arrays, signal processing and acoustics. Don't know if it is easily available or relevant, though. What progress is concerned, getting the HW up and running at all, ought to be the first goal. The sheer logistics of syncing sensors, shuffling and storing data, and not to mention process data, is not something easily achieved. Once you have that up and running, vertain solutions may suggest themselves; others may be out of the question by default. It would not be wise to start discussing details before you have a backbone system running. Rune






