Hi all
I'm very new to k-wave and just tried a few examples. I am very interested in creating artificial sidescan sonar data. Does k-wave provide only wave propagation simulation or also including wave scattering effects at a surface?
Cheers
vernal
Hi all
I'm very new to k-wave and just tried a few examples. I am very interested in creating artificial sidescan sonar data. Does k-wave provide only wave propagation simulation or also including wave scattering effects at a surface?
Cheers
vernal
Hi Vernal,
At this stage you can't enforce impedance boundary conditions at a surface if that's what you mean, but if it is sufficient to describe your heterogeneities (for example some object on the sea floor) as fluid objects with a different sound speed and density, then you can use k-Wave to model the scattering effects.
Brad.
Hi Brad
thank you again for answering so quickly.
Could you please give me a link to read more about impedance boundary conditions, because I'm unable to answer that question right now. The surface should be a reflector for the incoming waves. (Optimally, there would also be a possibility to tell the reflecting properties (e.g. Lambertian reflection) and signal attenuation due to absorption).
To me it looks like I need the behavior similar to the barriers in the (double) slit examples. They also reflect the waves, don't they?
What I try to accomplish is a 2D problem where I have a point wave source (the vehicle carrying the sonar) with a downward directed emission of sonar waves located at the top of the simulation grid and some kind of curved line (the seafloor) at the bottom. Then the source emits a wave and at the same time records the incoming echo intensity over time.
Could I make myself clear?
Cheers
vernal
Hi Vernal,
Could you use this example - Snell's Law Example - as a template?
You can change the value of the medium properties for the lower medium, and the shape of the boundary between the upper medium (water in your case) and lower medium (seafloor) by setting medium.soundspeed and medium.density inputs appropriately.
This example shows how to include heterogeneous medium properties: Heterogeneous Propagation Medium Example.
The easiest way include an arbitrary curved boundary might be to import an image as described here - Loading External Image Maps Example - and assign it (suitably weighted) to the medium properties. (I say 'curved boundary' but it must of course be stepped at the scale of the grid.)
There is no option to include scattering or diffuse reflections (such as Lambertian) although to simulate scattering you could make the surface rough and to simulate bulk backscattering you could make the medium itself heterogeneous.
One word of warning: to model large and abrupt step changes in material properties with quantitative accuracy, it may be necessary reduce the grid spacing to a fraction of the minimum wavelength.
I hope that helps,
Ben
Thank you, I will look into it and try to alter the Snell's Law example accordingly.
However, I didn't understand the part about bulk backscattering. I hope it will be clear to me after I played around a bit. If not, I will ask about it ;-)
I only now realize that I should have put all this into the Ultrasound Simulation subforum. Sorry.
Now I played a bit with the Snell's law example and the heterogeneous medium example: The Snell's law example shows how to create a signal pattern with several pulses at a certain frequency and the heterogeneous medium example allows me to simulate some kind of seafloor.
However I'm not sure about the latter: I model the seafloor as an area where the sound speed is much higher than above in order to obtain total reflection. However, I have set the sound speed so that the reflection is not fully total to allow for some absorption of the sound energy at the seafloor.
I think I am mis-using k-wave here. I learned that k-wave was developed for photoacoustics and I am trying to solve ultrasound propagation in water and its scattering/reflection at the seafloor. I think my approach so far is modeling only specular reflection (is that correct?) whereas I'd be more interested in diffuse reflection. Any more hints about modeling that?
While fooling around with k-wave I get the impression that I set the absorption within the water wrongly or rather that I use k-wave wrongly. Let's say the underwater vehicle to be simulated is about 20m above the seafloor, and uses a 250kHz sonar (wavelength about 0.6cm), and the swath width (x direction) is about 35m.
Do I need a really fine (and therefore large) grid to have my calculations done? k-wave tells me for each scenario what the maximum supported frequency is and I think I set up some values incorrectly.
Hi Vernal,
Thanks for your questions. I'll try and answer them in turn.
>> I think I am mis-using k-wave here. I learned that k-wave was developed for photoacoustics and I am trying to solve ultrasound propagation in water and its scattering/reflection at the seafloor.
You are correct that the first release of k-Wave (B.01) only modelled initial value problems (of which biomedical photoacoustics is an example). However, the second release allowed pressure sources, and the third release allowed both pressure and velocity sources. Nonlinearity aside, the governing equations for both the problems you mention are identical, so you can certainly use k-Wave for this purpose.
>> I think my approach so far is modeling only specular reflection (is that correct?) whereas I'd be more interested in diffuse reflection. Any more hints about modeling that?
The type of reflection that you observe will depend on the wavelength of your source and the length scale of the scattering objects (or in your case, the length scale of the small random variations on the surface of the sea floor). If the wavelength is much smaller than the length scale of the surface variations you will observe specular reflection. Alternatively, if the length scale of the surface variations is much smaller than the acoustic wavelength, you will observe diffusive reflection.
>> k-wave tells me for each scenario what the maximum supported frequency is
This number corresponds to the maximum frequency that can be represented by two points per wavelength given your grid spacing and the sound speed in the medium (the Nyquist limit). You can calculate this frequency yourself using the formula f_max = c_min / 2*dx where c_min is the minimum sound speed within the medium.
>> Do I need a really fine (and therefore large) grid to have my calculations done?
Large, yes. At two points per wavelength your grid size will be 20m ~ 3300 grid points by 35m ~ 5800 grid points (in reality you will need a finer discretisation than this if you want to accurately model reflections). In 2D this is achievable if you have access to decent computational resources (~20 million elements), but if you also have a third dimension the problem will in all likelihood become intractable.
>> I should have put all this into the Ultrasound Simulation subforum.
Moved.
I hope that helps, good luck with your simulations!
Brad.
Hi Brad,
Thanks a lot for your answers, they help me a great deal in understanding things better. If I understand you right, I don't need any kind of a scattering model as that is inherently done by k-Wave depending on the frequency. That's great.
And is modeling total reflection by choosing a big difference in sound speed justifiable? Or is it the other way round that this is indeed the physical reason for reflection to happen?
At the moment, a 2D simulation will do just fine for me, however the simulations will take quite some time with these grid sizes I guess :-)
I think I still have a lot to learn until I can leverage the full power of k-wave...
Cheers
vernal
You must log in to post.