Message Boards Message Boards


Reducing terms used in Shannon interpolation?

Posted 12 days ago
0 Replies
0 Total Likes

Hello everyone. I have a set of weather data, wind in the East-West direction downloaded from the ECMWF. It is avaiable freely here, albeit it needs some processing.

I want to use the Shannon interpolation to obtain an analytic representation of the two-dimensional field. I have done it in the attached Mathematica code. Unfortunately, as you can see, it takes a huge number of terms to propperly reproduce the original field.

As far as I know, Shannon interpolation is quite useful since it usually needs very few terms, so, I would like to ask if anybody can suggest me a way to reduce the number of terms without having to sacrifice much of the precission.

Some time ago, a professor of mine sent me a sample code in 1D where Y=f(X) in which before using Shannon, he made two extensions of the data, one on the left side and another in the right side using BSplineFunction as

{xmin, leftY} = First@data ; (* saving data min *)
{xmax, rightY} = Last@data ;(* saving data max *)(*y=f(x)*)
dDelta = (xmax - xmin)/10 (* step *)
leftF = BSplineFunction[{{xmin, leftY}, {xmin - dDelta, 
    leftY - dDelta (rightY - leftY)/(xmax - xmin)}, {xmin - 2 dDelta, 
    0}, {xmin - 3 dDelta, 
    0}}];(* computing bspline for the left extension *)
rightF = BSplineFunction[{{xmax, rightY}, {xmax + dDelta, 
    rightY + dDelta (rightY - leftY)/(xmax - xmin)}, {xmax + 2 dDelta,
     0}, {xmax + 3 dDelta, 
    0}}]; (* computing bspline for the right extension *)

(*generating the extended data set *)

data1 = SortBy[
  Join[Table[leftF[t/4], {t, 1, 4}], data, 
   Table[rightF[t/4], {t, 1, 4}]], 
  First]; (* concatenating left extension, original data and right \
extension *)

And then putting this data1 into ifunc. Perhaps is this what I need, but I don't know how to do something similar in 2D, since I am using data where Z=f(X,Y).

Does anybody can aid me with reducing the number of terms or extending to 2D the previous code? any answer is appreciated.

Best regards.


Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
or Discard

Group Abstract Group Abstract