I was running the exampls "Focussed Detector in 3D" given in the toolbox. When i changed the "source_freq = 10e6", i was not able to recieve the 10MHz signal in the output. While the simulation was running, i saw "Filtering input signal...
maximum frequency supported by kgrid: 960kHz (2 PPW)
filter cutoff frequency: 640kHz (3 PPW)
computation complete." in the command window...Does that mean the maximum frquency supported is 960KHz?? What has to done if i need it to be 10MHz??
k-Wave
A MATLAB toolbox for the time-domain
simulation of acoustic wave fields
OUT OF MEMORY
(4 posts) (2 voices)-
Posted 12 years ago #
-
Hi eldhochhan,
With any numerical model of wave propagation it is necessary to place the grid nodes sufficiently close together that they are able to accurately describe the wave. For pseudospectral methods such as k-Wave it is necessary to have at least two points per wavelength at the shortest wavelength of interest. (In comparison, finite difference time domain models require something closer to ten points per wavelength.)
This means that to model a signal at 10 MHz in water (where the sound speed is 1500 m/s) requires grid points at least every 75 micrometres (say every 50 micrometers to be on the safe side). A consequence of that requirement for 3D examples is that it can result in large memory requirements if the domain is bigger than a few mm. We're working on parallelising the Toolbox so that large 3D examples can be run on computing clusters, but at the moment it is necessary either to scale down the problem (smaller domain or lower frequency), or find a computer with more RAM.
Hope that helps,
Ben
Posted 12 years ago # -
Hi Dr.Ben,
Thanks for the reply. So to obtain grid points of 75micrometers should I give the pixel size as 75microns? Can we say the maximum supported frequency should be atleast twice of source frequnecy?I was going through the toolbox functions and I noted that the maximum supported frequency is computed from the makeDim function (where we get k_vect which is a function of Nx ). So essentially am I right to say that maximum supported frequency would be determined by Nx as well?
So if i need to specify a certain source frequency is there any equation which takes into account both Nx and dx values and computes the max supported frequency?
Thanks,
EldoPosted 12 years ago # -
Hi Eldo,
The maximum supported frequency is given, in Hertz, by c_min/(2*d_max) where c_min is the minimum value of the sound speed, c_min = min(medium.sound_speed(:)), and d_max is the largest pixel dimension, d_max = max(kgrid.dx, kgrid.dy, grid.dz). So the maximum supported frequency is not determined by Nx, just by the pixel size.
Hope you can get it to do what you want.
Ben
Posted 12 years ago #
Reply
You must log in to post.