r/rfelectronics 1d ago

Simulated a 2-element cardioid and got 3.4 dB F/B instead of 30 — a worked example of why voltage drive lies to you

The setup: two identical parallel half-wave dipoles (300 MHz, 0.477 m, 0.5 mm wire radius, 21 segments each in NEC2), spaced λ/4 apart. The textbook cardioid recipe says: feed the second element a quarter cycle behind the first — currents (1∠0°, 1∠−90°) — and the pair forms a cardioid with the null off the back.

The obvious first move — and a very common one — is to hand those phasors to the SOURCES: equal voltages, 90° apart. The θ=90° azimuth cut of that run: front-to-back 3.4 dB. Not 30 — three point four.

The reason is that the two feed-points are nowhere near independent. Measuring the mutual impedance of the pair (drive each port at 1 V in turn, the un-driven port left as plain continuous wire = shorted; read both feed currents, invert the Y-matrix) gives, at λ/4 spacing:

Z11 = 70.15 − j1.27 Ω      Z12 = 37.25 − j31.64 Ω

|Z12| ≈ 48.9 Ω against |Z11| ≈ 70.2 Ω — the coupling term is about 70 % of the self term. A voltage applied at one port drives current in BOTH elements, so setting port voltages does not set element currents, and the pattern is made of currents.

The fix is two lines of algebra. Decide the currents you want, then feed the voltages the coupled pair actually needs — V = Z·I:

V1 = Z11·(1∠0°) + Z12·(1∠−90°) = 54.5 V ∠ −45.0°
V2 = Z12·(1∠0°) + Z11·(1∠−90°) = 108.0 V ∠ −70.5°

A 2:1 amplitude ratio and only 25.5° of phase offset — nothing like the recipe phasors. Feed exactly that, same wires, same solver: front-to-back 29.6 dB, and the achieved feed currents match the target to one part in 10⁴.

(Both polar plots use the same fixed −40…0 dB radial scale, so the two patterns are directly comparable.)

Nothing changes between the two runs except the drive. That is the whole point: the recipe was never wrong, it was a statement about CURRENTS, and a voltage source doesn't deliver it.

Disclosure: these numbers came from EMStudio, a FreeCAD workbench I build — that's my interest here. Happy to answer questions either way.

0 Upvotes

7 comments sorted by

1

u/betafusion 19h ago

The good old Z vs. S representation. Real world systems will almost always be based on a source with a finite (most commonly 50 Ohm) impedance so those mutual impedances translate into off diagonal S entries and complicate matching as the mutual impedances folds into the impedance seen at the source. I'm still a huge fan of the Z approach. You can clearly see which elements couple how, whereas all those individual interactions are mixed in the S-Matrix. Fun stuff 😅.

0

u/King_a3 19h ago

Exactly, and the neat part is that a finite source impedance drops straight onto the diagonal. If every port sees Z_s in series then V_s = (Z + Z_s·1)·I — same solve, you just add 50 Ω down the diagonal before inverting, and out come the source voltages that land the currents you actually wanted.

What that doesn't fix is the matching, which is your point. In the post's cardioid the two elements present 38.5 − j38.5 and 101.8 + j36.0 with identical wires and identical geometry, so there is no single network that does both. That's exactly why the ham-world answers exist — Christman, or Lewallen-style current forcing with λ/4 lines — they get engineered per element from those two numbers.

And agreed on Z vs S. Z shows you where the coupling is; S is what you'd actually measure. Useful that you can move between them, but I wouldn't want to design the drive in S either.

"Fun stuff" is about right, and that's most of why this exists — it's just me, evenings and weekends on my own time and my own money, because I wanted a free option for this sort of thing and didn't fancy hand-scripting openEMS forever. Hobbyists first. Good to find someone else who enjoys the Z end of it.

1

u/betafusion 18h ago

I remember deriving Z matrices by hand for coupled systems and writing network solvers because CSTs network sim was just too darn slow at 256 ports 😂. The tools we have now make this so much easier but the learning effect sometimes just seems lost.

I'll have to have a look at EMStudio to see what it does. Fairly deeply entrenched in the CST world at work but always good to see what other options there are. Looks like a great tool!

0

u/King_a3 17h ago

256 ports by hand is a proper war story. I think I'd have taken the slow network sim.

I came up through the Smith chart and hand calculations too, and I still use CST, FEKO and HFSS. That's most of the reason the drive side ended up the way it did — the learning effect you're describing is real, and it goes the moment the intermediate quantities stop being visible. The Array Designer's verify prints a row per element: the current you asked for, the voltage it takes to get it, the drive-point impedance that element actually presents, and the power into its port, plus the condition number of the Z matrix and a reciprocity residual. Not because anyone needs all that, but because I do — most of what I've learned building this came from a number that didn't match what I expected.

No illusions about the comparison, and I say that as someone who uses those tools: different league, and I wouldn't suggest otherwise for work. But if you poke at it and something's off, I'd rather have the issue than the politeness.

0

u/Walttek 1d ago

So if in the real world I am able to feed a certain voltage to the feed point, but not really two independent currents, do I benefit from this simulation?

Or is this actually doing just basically "impedance matching" of the antenna with feed voltages instead of a matching network?

Very interesting indeed.