cancel
Showing results for
Did you mean:
cancel
Showing results for
Did you mean:

6-Contributor

## Upsample or interpolate complex numbers

Does anyone know of a method to interpolate or upsample a "straight line" between 2 complex points?

For example, between points (1+1j) and (4+4j) get (arbitrary) 2 more points: (2+2j) and (3+3j).

Or as shown in picture, get vector [Matrix?] Z (not exactly, but similar) from W.

1 ACCEPTED SOLUTION

Accepted Solutions
24-Ruby V
(To:vyerokhin)

@vyerokhin wrote:

Does anyone know of a method to interpolate or upsample a "straight line" between 2 complex points?

complex "points"? You obviously mean complex numbers.

You do i the same way as with real numbers.

Maybe that way:

8 REPLIES 8
24-Ruby V
(To:vyerokhin)

@vyerokhin wrote:

Does anyone know of a method to interpolate or upsample a "straight line" between 2 complex points?

complex "points"? You obviously mean complex numbers.

You do i the same way as with real numbers.

Maybe that way:

6-Contributor
(To:Werner_E)

Thank you very much, Werner_E!

Yes - I meant complex number. I said complex points because I was thinking in terms of plotting on a complex plain.

19-Tanzanite
(To:Werner_E)

May be this is a next step of this subject.

Tokoro

24-Ruby V
(To:ttokoro)

You like playing around with thing and had posted some interesting worksheets in the past 😉

Here is UpSamplePoly based on your idea to use "polyint":

The drawback here is that real parts and imaginary parts are treated differently and so depending on the initial data set it may yield very strange and unusable results.

Try to exchange real and imaginary parts in your sample data -> W:=Im(W)+1i*Re(W)

and see what happens 🙂

24-Ruby V
(To:Werner_E)

Of course things look (a little bit) better if we sort W by the real parts beforehand.

24-Ruby V
(To:Werner_E)

Here is a last version that uses polyint and still handles real and imaginary parts alike.
It may be useful in some situations, less useful in others.

24-Ruby V
(To:Werner_E)

And here is the real last one 😉

I got rid of polyint and replaced it by cubic spline interpolation. This tends not that much to overshoot and is more stable, especially with larger data vectors.

19-Tanzanite
(To:Werner_E)

Thanks Werner. Second line in your UpSampleSplineC is a key technique of this function.

Indexes of rows(W) such as 0,1,2,3 can be used as base of both Wx and Wy for up sampling.