cybre.space has reached the end-of-life and is now read-only. Please see the EOL announcement for details

The solution to my problem has such a complex formula. Literally...

· · Web · · ·

I think I have the math worked out. Not analytically, but at least numerically. Now I can show that each RF power measurement indeed defines a circle on the complex plane and the complex impedance is their intersection point.

There is still an unknown constant factor Pz0, so each RF power measurement doesn't really define a single circle but set of infinitely many possible circles.

I think I'm now beginning to see the idea of a six-port reflectometer. By taking a ratio of two power sensors, the constant factor disappears.

There's another peculiar feature in this math. Due to measurement error, the circles never fully intersect and the equations in fact has no solution, you can only try picking the best point via numerical optimization. And if the your impedance choice is bad, these circles can even align in a wrong way (e.g. on the same line) and cannot be solved.

No wonder why this measurement technique is not described in any common technical handbooks... If you think a slotted line is slow, now try this: at each data point, not only the physical setup needs to change, you also need to solve a bunch of sometimes ill-formed nonlinear equations.

Math fully worked out, yah! Now I know how to eliminate the source mismatch uncertainty with three scalar RF power measurements with nonlinear least squares. I still need to tweak the numerical solver a bit and see if the toy solution works on the real problem, with a more complex formula...

Another annoying problem is that the equation has two solutions due to the unknown constant P_z0. Sometimes one solution is obviously wrong, the reflection coefficient greater than 1 or 0 dB is usually unphysical, just throw it out. Other times it's ambiguous.

I think a workaround is using a matched load for calibration to know the approximate value for P_z0 to distinguish the correct root.

My numerical solver seems to break down when I switched to the more complex (literally) formula with real-world data. The solutions are mostly gibberish. Sometimes it finds 4 or even more solutions. I suspect the solver needs to do both local and global optimizations to get anything usable.

I think I need to do some numerical experiments first in the circuit simulator, make sure the solver is stable before trying real experimental data.

Found and fixed a 10 x log10 and 20 x log10 confusion in the code, what a classic mistake . Now the solutions start looking more believable...

@niconiconi looks like an excellent problem for a non-linear multidimensional solver

@sa2tms My reference says a standard nonlinear least-squares fitting works pretty well for this problem. I still need to try and see. Just ordered some low-loss coax cables as my delay line for the reflective loads.

the mastodon instance at cybre.space is retired

see the end-of-life plan for details: https://cybre.space/~chr/cybre-space-eol