How to do 2D extrapolation

15 views (last 30 days)
Chung Truong Thanh
Chung Truong Thanh on 19 Oct 2014
Answered: Bjorn Gustavsson on 20 Oct 2014
Hello,
I had the data of waves propagation as shown with black continuous line in the picture below. The data is a 3D matrix with the dimensions 1 and 2 are coordinates X, Y; and the third dimension is amplitude in time. The matrix has size 600x700x125.
I want to further extrapolate the waves in time (red dot line) to 600x700x250.
Any suggestion is appreciated. Many thanks, Truong.
  1 Comment
Chung Truong Thanh
Chung Truong Thanh on 20 Oct 2014
Edited: Chung Truong Thanh on 20 Oct 2014
I guess it's easier to use an analogy to understand the problem. Imagine throwing a rock to water and we see the waves propagating. Assume that we recorded the amplitude of the water waves of all grid points in one second (it would be a 3D matrix where the dimensions 1 and 2 are coordinates X, Y; and the third dimension is amplitude in time). And I want to further extrapolate the waves in time, it must be the waves goes further and further.
My problem is I don't have a good approach of how to do this, not just the detail of the MATLAB code.
  • I tried to use AR model for all points to extrapolate further in time, however, it cannot extrapolate in space (means that the waves does not propagate further).
  • I tried another way, which was to transform the data to frequency domain using function fftn. Then interpolate data in frequency domain and transform back to time domain. The result is that the waves repeat again, not propagating further as I wanted.
Any help will be appreciated. Many thanks, Truong.

Sign in to comment.

Answers (1)

Bjorn Gustavsson
Bjorn Gustavsson on 20 Oct 2014
My guess is that the "best" way to go about this is to use your data to estimate all coefficients in the wave-equation in cylindrical coordinates from your data as best you can and then solve the wave equation in the surrounding region using the data (and gradients?) at your edge as boundary conditions.
HTH

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!