How might one model the propagation of a sound wave through a 3D environment with obstacles in it?

My initial thought would be to use freely moving particles that repel one another; with sufficiently many particles I see no reason why the simulation wouldn't work.

However, if any particle could collide with any other then this introduces a huge complexity hit.

So I'm wondering whether the particles could be effectively anchored on a sphere packed lattice (dodecahedron?), so each particle has 18 neighbours. (you could think of placing one tennis ball on the table, then six fitting around it, now 6 can be fitted on top, and by symmetry 6 could be fitted underneath. so the original ball has 18 neighbours.

And then shockwaves could propagate through this mesh, and at each iteration each particle just needs to calculate the resultant force of its 18 neighbours acting on it.

I can't see whether this model would work or not. I suspect it is going to model sound propagating through a diamond rather than sound propagating through air, but isn't it going to be essentially the same?

Also, this isn't quite on topic for DSP, my apologies. Can anyone recommend a more suitable place to ask this question?

  • $\begingroup$ What's the goal of the propagation simulation. Do you have a specific application in mind? $\endgroup$ – Jazzmaniac Oct 23 '13 at 8:20
  • $\begingroup$ if you're modeling tennis balls packed tighly, there are 12 neighbors, not 18. the geometry is tetrahedral, me thinks. there are 6 touching on the same plane, as you mention, but only 3 touching on top and only 3 touching on the bottom. try using that for setting up any finite-element model. $\endgroup$ – robert bristow-johnson Jun 13 '14 at 1:08

There is a huge body of research and commercial work on doing acoustic simulation. There are a two basic classes of simulation systems:

  1. Finite element or finite boundary: these model the actual physics by dividing air and or/surfaces into small patches and modelling step by step the interaction between the patches by locally solving the wave equations given the boundary and initial conditions of the patches near by
  2. Approximation methods: Ray tracing, particle tracing, mirror image method, etc. These are macroscopic models that use certain simplifying assumptions such as specular reflections, simplified diffusion models, no diffraction, etc.

This is a very complicated problem and it takes many person years to create a modelling system that actually produces useful results. There are commercial systems out there that you can buy. They vary greatly in complexity, capability, cost, and training required so it all depends on your specific application.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.