2

Say we are creating a calibration lookup table for a device, shown in the plot below. The theta represents different phase values, and the r represents different magnitude values. The calibration setpoints are shown in blue circles, and are taken at every N degrees of phase and N values of magnitude. For every setpoint, we measure the actual device output and obtain the red coordinates, which describe the resulting phase and magnitude. Thus for every blue setpoint, we observe the device outputting red points.

The question now is, I want to set the device to a value of the green circle with orange ring. How do I calculate what the setpoint should be (green circle) to set the device to in order to obtain green/orange on the output?

The issue I am having is that for every 2D setpoint (mag, phase), the resultant data is 2D (mag, phase). In addition, magnitude and phase are not independent variables (fixing phase and changing only magnitude, the resulting phase output does change).

So what basic math/logic should I use to perform the necessary interpolation?

https://i.stack.imgur.com/iI3Fq.png

Ander Biguri
  • 35,140
  • 11
  • 74
  • 120
  • I guess one way to look at this is that we have a 2D polar vector field. Maybe a potential solution would be to flip the vectors so that they are pointing from readback to setpoint. Then interpolate the vector field at the output we want, and determine the vector that takes us to the proper setpoint? I'm not sure how to do that math though. – Vivek Sharma Aug 06 '15 at 15:36
  • If you have a whole lot of calibration data points, you could train a neural network or other data-driven model of the relationship between *end* point and *start* point, so your "input" data would be your end point and your "output" data your start point. The resulting data-driven model may then be able to generalize to find start points (output of your model) for desired end points (input to your model). There's a lot to consider with this approach, and it probably isn't the simplest solution. – Engineero Aug 06 '15 at 22:44

1 Answers1

1

How about treating this like a registration problem. For example, you could use an affine transformation as the model between the measured and calibrated points? For each cell (i.e., the 4 blue points in your figure) compute a least squares estimate of the affine transformation between the blue and red points. Then for new points apply the corresponding transformation to get the green point you want. Here and here are some SO questions that discuss this. In addition, you might consider estimating and applying the transformation directly in magnitude/phase space.

Community
  • 1
  • 1
dpmcmlxxvi
  • 1,292
  • 1
  • 9
  • 13
  • If there are more than 4 pairs of points then higher-order transforms, and elastic deformation surfaces can be used. – EngrStudent Sep 09 '15 at 12:44