Hi Bradley,
Already for a while i have been trying to simulate nonlinear propagation in water for a range of source pressures(20000-100000 Pa) and frequencies(2.25-3.25MHz), number of points per wavevength (6-8), and number of cycles (5-10). I have 2 circular plane piston transducers in 2D and i extract the average pressure received by my receiver and am trying to compare if the fundamental profile looks similar the the diffraction correction predicted by the multigaussian beam model, for example. The point is that for most of my simulations i observe that the fundamental and harmonic profiles are very unstable. The envelope of the fundamental profile looks similar to what i would expect from the analytical formulas, but the profile it itself shows oscillations, like noise. I also see that the signals that i receive in time domian, sometimes have lets say a spike before the steady state signal part and a spike after. I am wondering what could cause that since the pulse that i am sending looks pretty perfect, with a rectangular window, no spikes at the outer ends. Would this be interference of the plane wave with the edge wave or can it be a sign of numerical instability in the simulation? Do you have any tips perhaps? I am a bit stuck with this. I would like to figure out what conditions provide a smooth profile of the harmonics.
k-Wave
A MATLAB toolbox for the time-domain
simulation of acoustic wave fields
unstable fundamental and harmonic profile
(4 posts) (2 voices)-
Posted 4 years ago #
-
Hi Anastasiia,
It's difficult to say without knowing the details. A few thoughts:
- Are the analytical formulas for burst wave or continuous wave?
- Do you see the same behaviour if you run a linear simulation?
- Does you pulse really have a rectangular window? If so, then the startup transients at the beginning and end of the signal will lead to spikes. Try replacing with a Gaussian window pulse, e.g., usingtoneBurst
Brad.
Posted 4 years ago # -
Hi Bradley,
Essentially i figured out what was causing the oscillations: the part of the signal that i was analyzing (i cut the ends) arrived in a different phase (when made to detect the signal at several spacial points per wavelength. The phase pattern repeats every wavelength. So i am recording at one now, which seems like enough :)
However, i was still wondering a bit about the shape of the pulse, indeed i use the toneBurst function, and give in a rectangular envelope as input. I understand now that i am supposed to see the spikes based on your reply. But i wonder why? The signal i send doesn't have any. Does this have to do with the way the programme is implemented? is there a way to reduce this effect? I would like to continue using rectangular wondow if possible, since in my experimental work that's normally what i do.
Thanks!Posted 4 years ago # -
Hi Anastasiia,
If you think about an infinite sinusoid, there are no spikes. However, you are transmitting nothing, then abruptly a sine wave, and then nothing. Try padding the signal with zeros at the beginning and end, and then taking an FFT, and you'll see what I mean. The high frequencies come from the the fact you have a sharp change between the zeros before the signal, and then the signal starting. In functions like
createCWSignals
, that's why we generally apply some kind of start-up ramp to remove these transients.Hope that helps,
Brad
Posted 4 years ago #
Reply
You must log in to post.