Interpolate and Resample of complex waves

At the moment, to interpolate or resample complex waves, one has to split the complex wave into real and imaginary parts, do the interpolate/resample operation, and then re-assemble the result into another complex wave. 

It would be great to have these, and ultimately all, functions seamlessly work with real or complex waves.

You did not describe your application or the dimensionality of the problem so I can only assume that you know that the the component interpolation is appropriate when interpolating the real and imaginary separately. 

A simple case to think about is for 1D complex data z=(x,i*y) with z1=(1,0) and z2=(0,1).  Real and imaginary interpolation would lead to 0.5 *(1,i) but you can also interpolate along a radial arc (which preserves the magnitude of the vector)...

In the special case of spherical linear interpolation we implemented Slerp using quaternions (in MatrixOP).

You can glimpse at further "path" related complications by checking out the ImageUnwrapPhaseDemo (File Menu->Examples->Analysis).



In reply to by Igor

You're correct that the original post's context was incomplete. Specifically, I was thinking about applications to control system design, and complex transfer functions in particular, where a complex wave is sampled at a discrete set of real frequencies. Interpolation in frequency is then a fairly common operation when trying to combine different kinds of measurements (response, noise...) made at different points in a complicated loop.