The Computer in Acoustical Engineering Education: An Experience

 

GOMEZ-ALFAGEME, Juan Jose1, RECUERO-LOPEZ, Manuel2 & SANCHEZ-BOTE, Jose Luis3

1 Dpto. Ingenieria Audiovisual y Comunicaciones + Universidad Politecnica de Madrid, alfageme@diac.upm.es, www.diac.upm.es
2 Instituto Superior de Investigacion del Automovil + Universidad Politecnica de Madrid, mrecuero@insia.upm.es
3 Dpto. Ingenieria Audiovisual y Comunicaciones + Universidad Politecnica de Madrid, jbote@diac.upm.es, www.diac.upm.es

 

Abstract: The teaching of Electroacoustics in Audiovisual Engineering curriculum has sustained important changes during the last four years. The increasing use of computers in classroom has allowed giving a new approach to this subject, which need wide knowledge in Physics, Mathematics and Signal Analysis. The use of this technology in the learning process is a great aid for the students and allows the professor focusing the teaching in other way than the classic theoretical lesson. At the same time, students are closer to the reality of the engineering. The students could make models and simulate the behaviour of different and complex elements with the aid of computers, and afterwards check their validity with experimental results.

In the last years are being developed in our Department a computer aided course of Electroacoustics. This course is made in Windows operating system and programmed in Matlab, for its extended use in Engineering Department over the world. In this paper, we describe a program about array directivity and sound intensity.

This program has a structure based on the Matlab© object oriented user interface facilities and uses the Matlab resources for graphical representation. The student needs not to have great knowledge in programming to work with it. The program use all the graphical and mathematical facilities offered by Matlab, and give the students the possibility of analysing and synthesising different kinds of arrays configurations. The program could simulate the polar response of the arrays for different frequencies in bi and three- dimensional representations, calculate the frequency response of the arrays for a particular spatial position, and synthesise arrays under the Chebychev and Schelkunov criteria. Other program application is the simulation of the acoustic intensity radiated from dipoles and tripoles. This subprogram calculates the spatial distribution of active intensity (and isobars) and reactive intensity (and wavefronts).

Keywords: Electroacoustics, Matlab©, arrays, directivity, acoustical intensity, graphical representation.

 

1 Introduction

The Audiovisual Engineering career is a bachelor degree of three years long. In its curriculum there are some subjects like Acoustical Engineering and Electroacoustics in the third, fourth and fifth semesters. When the students arrive these subjects have wide knowledge in Mathematics, Physics, Programming and Circuit Analysis during the three first semesters, but they have not a practical charge enough in Acoustics and Signal Processing, both in the same semesters than the subjects listed at the first. One of the problems we have detected in the last year is the difficulty in taking advantage properly all the contents of the subjects we are speaking without a great quantity of practical (laboratory) credits.

The two subjects we are speaking have three theoretical hours and two laboratory hours per week during the semesters. At the beginning, it could seem enough but if we think that conventional equipment for acoustic laboratories are very expensive and it is only possible to have one or two work places in some practices for seven or nine students in each group, it is necessary to find a inexpensive solution to solve this problem.

Since the last four year, a group of teachers in our Department are trying to create an Electroacoustics computer aided course to help teaching learning process. This is the first step in our strategy in order to modernize all the curricula related with Audio and Video Engineering.

The application we are going to describe is a part of the complete course and covers the aspects related with array directivity calculus and representation, both in analysis and synthesis way, and the aspects related with the acoustical intensity calculus for simple source configurations.

2 Program configuration

The program we will describe is the final results of two master degree thesis developed by four bachelors managed by two assistant professors during two years. When we began the preliminary works, the principal problem was to find the appropriate tools to make a comprehensible application without the need of final users (students) to have wide knowledge in programming, which could no aim in the principal program focus (helping students in analysis and synthesis acoustical arrays). We desired an easy to use application with useful help options, in which the student were able create arrays, represent, change and modify them and not to have the necessity of programming graphical objects (like windows, pictures and graphics), and at the same time, programming its own algorithms in a programming language with a simple syntax.

We find Matlab like one of the appropriate tools, because its programming syntax is very easy to understand and it has a lot of toolboxes dedicated to signal processing. By the other hand, Matlab offers the users all the graphical programming facilities we were looking for.

We use the Matlab Graphical User Interface (GUI) to create an appropriate environment Windows like. The principal element in our user interface is the figure and around it will be created all the graphical elements. Over the element figure we could create other elements like a general pull-down menu which active the different options in the program, pop-up menus, slides, push buttons, check boxes, static text, editable text, frames and text boxes. All these elements are given by Matlab GUI and could be programmed by the user to modify them and to make the appropriate interface.

(a)

(b)

Figure 1. (a) Example of pull-down menu; (b) Figure with static text, editable text and radio buttons

Once commented the user interface, the applications is divided in three different options that uses similar interface structure: the first one is an option dedicated to create and to analyze unidimensional and bidimensional arrays, simulating its behavior with spatial direction and frequency in far filed conditions; the second one allows synthesizing linear arrays under different conditions in far filed conditions; the last one simulates the acoustical intensity radiated from simple source distributions in far filed conditions.

Now we will describe briefly each module.

3 Array analysis option

When the user goes into this option, at the first time has to select the individual source characteristic (in order of directivity) between different options in a pull-down menu. The directivity of individual sources could be selected from these ones: omnidirectional, cardioid (different order), hypercardioid, supercardioid, bidirectional (different order) and user defined (we could edit the analytical formulae as function of theta angle). The individual source directivity could be represented in two and three dimension graphical polar representation.

(a)

(b)

Figure 2. Spherical coordinates directivity source representation, (a) Second order bidirectional source; (b) Hypercardioid source.

Once defined the individual source, the user selects between linear (unidimensional) array and planar (bidimensional) array.

In the linear array option, there are predefined configurations up to 20 sources like uniform, triangular or Bartlett, binomial and Chebychev (Doplh and Riblet transformations) and user defined configurations. In this last option the uses selects the source number, the working frequency, the amplitude of each individual source, the phase shifting of each individual source or progressive phase shifting between sources, the source spacing (constant or variable).

In the case of linear arrays there is an algorithm to calculate the normalized array factor (FA), defined by:

,

(1)

where

- means the angle between the array axis and the observation point,

Ai

- means the individual source amplitude,

- means the individual source phase shifting for path difference and progressive phase shifting

Once calculated the array factor, it could be represented in different ways. The first, is a three dimensional representation both in spherical and Cartesian coordinates. In both cases, the user represents the array factor with a mesh function given by Matlab. The user has the option to change the perspective or point of view as function of azimuth and elevation spherical angles.

(a)

(b)

Figure 3. Normalized array factor for an linear user defined array with five elements and 30º degrees progressive phase shifting, (a) spherical coordinates; (b) Cartesian coordinates

The program allows representing two-dimensional slides for fixed elevation and azimuth angles, both in polar and Cartesian coordinates and in absolute or relative (dB) amplitude. As we see in the next figure, it is possible to place a cursor to find function values and to do zoom in X and Y axis.

(a)

(b)

Figure 4. Normalized array factor slides (same configuration as in figure 3), (a) 90º elevation angle in polar coordinates; (b) 180º azimuth angle in Cartesian coordinates

In the planar array option, could select between rectangular and circular configurations.

In the rectangular configuration the user has to create two different linear arrays, one for each orthogonal axis with the same criteria than explained before. The main limitation is that only could be selected a user defined array in one axis in order to preserve the rectangular shape. In this case, the algorithm to calculate the normalized array factor is defined as:

,

(2)

where

Am, An

- means the individual source amplitude in X and Y axis respectivily,

- means the phase shifting in X and Y axis respectivily, for different path plus progressive phase shifting

- means the normalized array factor in X and Y axis respectivily,

(a)

(b)

Figure 5. Two Chebychev 40 dB five elements planar array, (a) array configuration; (b) three-dimensional array factor in Cartesian coordinates

In the circular option, the user could define up to four concentrically rings, each one up to twelve equal spaced sources with selectable amplitude and phase shifting. The algorithm to calculate the normalized array factor is:

,

(3)

where

Anp,

- means the nth source amplitude in pth ring,

- means the elavation and azimuth in spherical coordinates,

- means the pth ring normalized array factor.

As we have commented before, the program also calculates the array frequency response for different view angles. This option is enabled for all the array configurations (linear and planar) and the calculus algorithm is the same than described in (1), (2) and (3) but now fixing the elevation or azimuth angles and taking as variable the frequency.

,

(4)

We could see and example of frequency response evolution for 30º steps for the array described in figure 2.

(a)

(b)

Figure 6. Three concentrically rings circular array, (a) array configuration; (b) three-dimensional array factor in spherical coordinates

(a)

(b)

(c)

(d)

Figure 7. Array frequency response for different elevation angles: (a) 0º; (b) 30º; (c) 60º; (d) 90º

4 Array synthesis option

This option allows synthesizing array directivity patterns in order to comply with some specifications given by the user. The synthesis options are enabled only for uniform linear arrays and the program has three different synthesis methods:

(a)

(b)

Figure 8. Progressive phase shifting synthesis, (a) dialog window for array configuration; (b) array directivity pattern for a main lobe placed at 60º elevation angle.

(a)

(b)

Figure 9. Fixed beam-width synthesis, (a) dialog window for array configuration, (b) array directivity pattern for a main lobe 20º beam-width

(a)

(b)

Figure 10. Null steering synthesis, (a) dialog window for array configuration, (b) array directivity pattern for a zero at 60º

5 Acoustical intensity option

This last option is dedicated to simulate the acoustical intensity radiated from simple source configurations (dipoles and tri-poles) in near field conditions. As opposite to far filed, in near field conditions are very important the path differences between sources and observation point. In this case the program evaluates the active and reactive intensity and represents then in vector format using the quiver function provided by Matlab. Also the program calculates the orthogonal surfaces to each intensity vector field: wavefronts are orthogonal to active intensity and isobars are orthogonal to reactive intensity. Wavefronts are equal phase surfaces and represent the spatial evolution on intensity radiated in far field and very sources shape dependent in near field and are spherical in far and free field. Isobars are equal sound pressure level surfaces and represent directivity pattern in far field; isobars are very sources shape independent. For both surfaces calculus the program uses the Matlab gradient function.

The calculus algorithms are based in the next functions:

,

(5)

,

(6)

where

- means the amplitude pressure field as a distance function,

- means the phase pressure field as a distance function,

- means the gradient vectorial operator.

As we could se the active intensity is proportional to phase gradient and the reactive intensity is proportional to pressure gradient.

The program allows defining the working frequency, source number, individual amplitude, individual phase, source spacing and near filed size to do the simulation.

In the graphical representation, the intensity field is a vector field; the direction represents the intensity flow and the vector size represents the intensity strength. Continuous lines with different colors represent the orthogonal surfaces.

(a)

(b)

(c)

(d)

Figure 11. Reactive intensity vector filed and isobars surfeces for a tri-pole, (a) dialog window for sources configuration; (b) three sources with same amplitude and phase; (c) central source in phase opposition; (d) 90º progressive phase shifting from left to right.

6 Conclusions

As we have explained before, the program is very complete in array study and otherwise is very easy to use. The program has an extensive on line helps for every topic.

The user interface is similar in the different options and it is very easy to change its characteristics by the user.

Our experience with students using this program has been very interesting and the teaching-learning process has improved. By other hand the use of this kind of applications must be very good thought in order to take advantage all their possibilities without boring the students with too much concepts. The ideal complements to this program are the practical measurements make in laboratory with controlled speaker or microphone arrays to check the validity of software algorithms.

References

KRAUSS J, D. Antennas. McGraw Hill, New York, 1988.

CARDAMA A., JOFRE L, RIUS J.M., ROMEU J., BLANCH S. Antenas. Universidad Politecnica de Cataluna, Barcelona, 1993.

CORRAL C., FERNANDEZ R. Estudio de arrays unidimensionales y bidimensionales con ayuda del ordenador. Master Degree Thesis, Universidad Politecnica de Madrid, Madrid, 1995.

AGUILAR C., PEREZ J.J. Programas didacticos de Electroacustica en entorno Matlab. Master Degree Thesis, Universidad Politecnica de Madrid, Madrid, 1998.