Short Paper—Sound Propagation and Reconstruction Algorithm Based on Geometry Sound Propagation and Reconstruction Algorithm Based on Geometry

This paper presents a method of simulating sound propagation and reconstruction for the virtual reality applications. The algorithm being developed in this paper is based on a ray sound theory. If we are given 3 dimensional geometry input as well as sound sources as inputs, we can compute sound effects over the entire boundary surfaces. In this paper, we present two approaches to compute sound field: The first approach, called forward tracing, traces sounds emanating from sound sources, while the second approach, called geometry based computation, computes possible propagation routes between sources and receivers. We compare two approaches and propose a geometry-based sound computation method for outdoor simulation. This approach is computationally more efficient than the forward sound tracing. The physical environment affects sound propagation simulation by impulseresponse. When a sound source waveform and numerically computed impulse in time is convoluted, a synthetic sound is generated. This technique can be easily generalized to synthesize realistic stereo sounds for the virtual reality applications. At the same time, the simulation result can be visualized using VRML. Keywords—Sound propagation, simulation, vrml, forward tracing, geometry


Introduction
When sound is transmitted, refraction, reflection and diffraction phenomenon is exhibited whenever the medium with different density is encountered.In this paper, the approach taken is to calculate geometrical relation between sound source and receiver, and calculate direct and indirect sound propagation.We constructed three-dimensional terrain using fractal geometry, and developed an algorithm for sound propagation simulation for outdoor terrains and indoor rooms.The above three-dimensional model can be easily replaced by standard input files, for example, AutoCAD's dxf or dwg files.But the above available three-dimensional model files require further work to triangulate a big polygon into small triangles for setting receivers on the model surfaces.Figure 1 shows a fractal-generated terrain, and the size of each triangle constituting the terrain shown can be easily adjusted.We had generated two different kinds of terrains: flat and wavy.For the two kinds of terrains in figure 1, we performed simulations using two different algorithms: forward tracing from sound source, and geometry-based computation.
Although the simulation time by the forward sound tracing can be short if a fixed number of sound vectors are cast, surface triangles will often be missed by the cast vectors, resulting in poor simulation quality.We need extra control in the number of tracing vectors cast by considering the distance between sound source and terrain surfaces.In order to improve the simulation quality, we have to incur additional time.The inverse direction tracing method is tracing sound from sound receivers to sources.
The main drawback of this method is that we must keep receivers on every triangle making up a terrain, resulting in long computational time due to huge number of tracing vectors.But this approach is very useful for indoor simulation where a large number of reflections occur.The last approach we considered is simulation based on geometry, which considers direct, and limited number of reflection propagation.This approach is suitable for outdoors because of reflection restriction.In this paper, we are mainly interested in outdoor sound propagation simulations, utilizing the forward and geometrybased approaches.

Related Research
The electric wave and sound have very close relationship.We wish to distinguish the sound and electric wave by frequency band.In noise and vibration theory, sound is usually traced in forward direction from a sound source.According to this method, computation time may be wasted because tracing sound vector, which is not useful, or may result in poor simulation result due to omitted surface computation.This kind of computer-based ray tracing approach can be found in papers dealing with electric wave propagation.
Owing to very close relationship, we found several related papers dealing with computer-based electromagnetic wave simulation.Paper [1] computes direct and single reflection wave propagation; multiple reflection propagation cannot be handled, however.For multiple reflection computation, ray-tracing based approach is more appropriate.Papers [2,3] uses three-dimensional ray tracing method for single source and single receiver.We have a solution of multiple sources and receivers, but the computation time is very long.Paper [4] uses a kind of ray tracing by dividing surfaces, and paper [5] deals with two-dimensional knife-edge diffraction.Our algorithm is similar to both ODEON [12] and RAYNOISE [13], but our main target is outdoor simulation.

3
Sound Tracing Algorithm

Forward sound tracing algorithm
Forward Sound Tracing Algorithm( ) { loop_1: a sphere representing a source is divided by n equal latitudinal angles loop_2: a sphere representing a source is divided by 2n equal longitudinal angles a center of an area on the sphere is computed; tracing_vector = center_of_area -sphere center; compute intersection between a tracing_vector and terrain triangles; loop_2_end loop_1_end } Sound simulation results can be visualized by tracing sound vectors.The sound vectors can be traced from sources, which we call the forward tracing, or be traced from receivers, which we call the backward tracing.Another approach is checking possible propagation routes between sources and receivers.In checking possible propagation routes, we allow direct and limited number of reflections between a source and a receiver.The backward tracing produces the best results but entails long computation time.The forward tracing can give quick but poor simulation results.
Because we are concerned with outdoor sound tracing simulation, we adopted geometry-based approach.In outdoor environment, we can safely assume there occurs limited number of reflections.The backward tracing is too costly.But the forward tracing produces poor results if we cast small number of sound vectors, but casting large number of vectors for better simulation result can be quite expensive.

Forward sound tracing
The forward tracing cast tracing vectors from sound sources.The cast vectors are traced using reflections.Figure 2 shows an overview of tracing sounds from a source to a receiver.Figure 3 shows forward tracing simulation results on fractal generated terrains, both flat and wavy.We assumed there is no transmission of sounds on outdoor terrain.A tracing vector is cast from a sound source.We traced the reflected vector whenever it hits a surface using the fact input angle is the same as the output angle.The power level of a tracing vector is diminished each time it is reflected.If the power of tracing vector becomes too weak, we quit tracing.The fractal generated terrain was modelled using triangles.We placed a receiver on each triangle.The position of receiver is given at the height of 1.5 meters at the center of each triangle.Each triangle has geometry information as well as surface reflection characteristics for each 8-octave frequency bands.The center frequency of each octave band was used for simulation.If there are several routes from a source to a receiver, then the power of all routes travelled are added to determine the sound pressure of the surface.

Vector intersection computation
compute_intersection (input is tracing_vector) { Finds the nearest triangle; If not found then return; Determine the intersected triangles and its intersection position; Record intersection position and sound pressure as intersected triangle information; Compute reflection vector; Determine reflection vector sound pressure according to reflection coefficient; Compute transmission vector; Determine transmission vector sound pressure according to transmission coefficient; compute_intersection (reflection vector); compute Recursive function compute_intersection() gets each tracing vector as an input.The tracing vector is traced from a sound source, and whenever it hits a terrain triangle, the reflection vector is computed and tracing restarts from the triangle.In order to improve the forward tracing simulation quality, long computational time is required.We developed a simulation by geometric reflection to shorten the computational time, and adopted here.In this method, we assume there is limited number of sound reflections between sources and receivers.This assumption is acceptable for outdoor environment.Figure 4 shows a single reflection sound propagation as well as a direct propagation.The major advantage of this approach is shorter computation time.Figure 5 shows simulation result by geometric reflection computation.This figure offers good comparison with figure 3.In figure 3, we can find many triangles whose sound pressure levels were not computed.But in figure 5, every surface triangle has the sound pressure level computed.The left figure on the left side is simulation result on flat terrain, while the figure on the right shows result on wavy terrain.Because we did not consider any diffraction, there are some triangles which have zero sound pressure levels. "⃗ is a normal of a reflection surface,  ⃗ / is a position vector of a virtual sound source,  "⃗ •  ⃗ = d is a plane equation of a reflection surface. ⃗ / =  ⃗ + 2 ( −  "⃗ •  ⃗ ) "⃗/ ‖ "⃗ ‖ 1 .Reflection position is  ⃗ + ( −  "⃗ •  ⃗ )( ⃗ / −  ⃗)/( "⃗ • ( ⃗ / −  ⃗) ).

3.4
Computing sound pressure level The sound propagation is affected by many factors such as temperature, humidity, wind and reflection coefficient of the terrain.The most important factor is distance from a source to a receiver.We need to get accurate propagation computation.Whenever there is a sound propagation from a source to a receiver, there may be a direct propagation.The length between a source and a receiver is denoted as R in figure 4. For indirect propagation, we can compute lengths  3 and  1 .SPL is computed according to the following set of equations [9,10,11].t is temperature in the Celsius, ρ 6 c is impedance value of air, σ is flow resistivity,  9 is an impedance of a reflection surface,  ; is reflection coefficient, α is absorption coefficient, SPL is sound pressure level, W is sound power level, φ is angle between reflection vector and reflection surface, and f is central frequency of each octave band.ρ 6 = 1.24, c = 331+0.6t, 9 = ρ 6 c (1+0.057(ρ 6 f/ σ) B6.6CD -i 0.087 (ρ 6 f/σ) B6.CE1 ),  ; = (sin φ − ρ 6 c/ 9 )/( sin φ + ρ 6 c/ 9 ), α = 1 − I ; I 1 , SPL = 20 log (SQRT(ρ 6 c W (1/ ; 1 +(1-α)/(  3 +  1 ) 1 )/(4))/(20×10 BV )).

Sound tracing using frequency characteristics
The sound propagation characteristic of reflection coefficient and speed reduction rate depends on frequency.The sound tends to move straight in high frequency, which means that the sound moves directionally.But for low frequency sounds, diffraction effect occurs and the propagation is omni-directional.In this paper, we developed a program that computes the impedance for determining reflection coefficient.For each sound vector cast from the source, we simulate separately for each frequency band.This means we have eight different terrain impedances for each sound vector.

Conclusion
In this paper, we considered two different methods of tracing sounds.The forward tracing has the limitation of either low simulation quality or long computational time.These limitations are caused by incomplete modelling of sound sources.Although we can devise a better modelling method, it is not easy to compute in short time while improving simulation quality.Our proposed approach involves computing using geometric reflections.Although we limit the number of reflections, it is acceptable for outdoor where only a limited number of reflections occur.Figure 5 shows simulation results for input terrain given in Figure 1.For the red surface, our hearing is quite good, while the blue surface implies deteriorating in hearing.Figure 3, obviously of lower quality, shows simulation by the forward tracing method.This is why we choose to use geometric computation for outdoor sound simulation.
One common problem for every simulation methods is in modelling the environment.Depending on the model selected, we may get different simulation results.We can have many different computer models for the same environment.For terrain triangles, we may have a large number of them for detailed modelling, and a smaller number for coarse modelling.Depending on the number of triangles, we may have different/extra routes, which produce different simulation results.Our future research will be selecting proper triangle size in modelling of the environment.
March 1988 to August 1993, he was an assistant professor in the Department of Computer Engineering at Pusan University of Foreign Studies, Pusan, Korea.In August 1994, he joined the faculty of the Department of Computer Engineering at Hongik University, 94 Wowsanro, Mapo, Seoul, Korea, and he is now a full professor.His research interests include image processing and computer graphic animation.