Solved by minimization... should like to come up with the equation that generates it, though.
Tim
Solved by minimization... should like to come up with the equation that generates it, though.
Tim
divide by ten? Does it have some use? I'm only reminded of tapered impedance line for coupling. George H.
And that property would be....???
oops maybe 1/20... GH
The sequence "5, 6, 8, 13" at least seems to come up fairly often in some "known" integer sequences related to Fibonacci numbers; possibly related or perhaps a total coincidence.
R5 isn't particularly close to 8.
Only the first 3 digits are meaningful; ignore the next thousand.
Trying to distribute the power dissipation?
Why is it not symmetric?
I have seen truly distributed attenuators, a single sheet of resistive stuff on ceramic or glass, with geometry.
If it's not 1:100 (at 50 ohm system impedance), I've made a very serious miscalculation...
(...I suppose you could run it at any system impedance you like and get a ratio less than that, but you'd have a hard time getting more (1/20th say) out of it. :-)? )
Tim
Nah, not that. Though there is a roughly geometric progression to them, which is nice.
Like I said, I'll have to see if there's a formula behind it... the numbers look kind of arbitrary but I suspect it's just second order relations (i.e., quadratics), which is quite simple if true.
Tim
Pretty much.
The RMS error of the minimization was 2.5E-08, but it's really only good to six decimals, which isn't bad at least. That more-or-less shows there is an exact solution possible to this problem, if not necessarily a unique one.
Tim
Ding ding ding, we have a weiner. :)
R1-R10 have equal power dissipations. R11 and R12 set the output impedance and overall gain, so the circuit can be a 40dB attenuator, rather than an overly elaborate terminator.
You mean left to right? ...How could it?
I suspect a (continuous, rather than geometrical) self-similar design might work, like an exponential taper. But then, probably not with 2D current flow; you'd have to slice it up into strips, so the current flows one-dimensionally.
You'd be limited on bandwidth by physical dimensions, though. (Maybe not in small-signal properties, but sooner or later, the energy will end up localized at very high frequencies, thus requiring derating.)
Which, to brag a perfectly useless bit of pedantry: my version is a schematic, so it has no physical length, and therefore infinite bandwidth! Ha! :-D (Because you can definitely buy resistors of finite power rating and zero size, right?...)
Tim
My guess is that for resistive divider chains of length 1 and infinity calculating the closed-form sequence of resistor values to give equal power dissipation in each one is straightforward (the first a bit moreso than the last.)
For chains much greater than 1 and significantly less than infinity I'd also guess there's no other way to get close to the right values than to numerically-optimize it.
Why? This universe has billions of nonlinear equations, all unsolvable by direct methods....
-- Kevin Aylward
well, power is V^2.R so yeah, a quadratic seems likely.
I think there might be a way to generate the equation by computer algebra but solving it might be a little tedious. However I think it can be solved working form the far end with a lumped load impedance.
V ---R----v------ | | r Q | |
-----------------
Taking the rest of the network matching impedance of the device that the thing is connected to as Q then
v/V = x = r/(R + rQ/(r+Q))
P= rv^2 = R(V-v)^2
Hence it is a quadratic relationship for each divider pair.
rx^2 = R(1-xr/(R+rQ/(r+Q))^2
And you can then solve back up the chain from the far end substituting the lumped impedance of the network so far for Q at each stage.
(Subject to back of the envelope algebra slips.)
I don't get it.
def resnet(): Rs = [0.00, 4.975589275, 407.4288442, 6.288703772, 312.41813304, 8.53980209, 217.7050614, 13.27885061, 123.4502975, 29.4024347, 32.35807277, 633.5919372, 54.12833875] Rnode = [0] Rsum = Rs[12] j = 5 for i in range(10,0,-2): Rsum += Rs[i+1] Rsum = (Rsum * Rs[i])/(Rsum +Rs[i]) Rnode.append(Rsum) print "Resistance after V%d is %.6f" % (j, Rsum) j -=1 Rsum += Rs[1] Rnode.append(Rsum) print "Resistance after V0 is %.6f" % (Rsum) print Rnode print Rratio = [] for i in range(1,6,1): Rratio.append(Rnode[i]/Rnode[i+1]) print "V%d = V%d * %.4f" % (i, i-1, Rnode[i]/Rnode[i+1]) print Rratio print Rrat = 1.0 for i in range(5): Rrat *= Rratio[i] print "V%d = V0 * %.4f" % (i+1, Rrat)
The Output is:
Resistance after V5 is 30.904002 Resistance after V4 is 40.514692 Resistance after V3 is 43.135126 Resistance after V2 is 44.340819 Resistance after V1 is 45.033405 Resistance after V0 is 50.008994 [0, 30.904002007769993, 40.51469234494225, 43.135126236666615, 44.34081927349529, 45.03340519870456, 50.008994473704554]
V1 = V0 * 0.7628 V2 = V1 * 0.9393 V3 = V2 * 0.9728 V4 = V3 * 0.9846 V5 = V4 * 0.9005 [0.7627850594212391, 0.9392505802035443, 0.9728085079034753, 0.9846206183575656, 0.9005061124031152]
V1 = V0 * 0.7628 V2 = V0 * 0.7164 V3 = V0 * 0.6970 V4 = V0 * 0.6862 V5 = V0 * 0.6180
Ooops! Half asleep this morning - multiple errors.
Should be :
x = rQ/(r+Q)/(R+rQ/(r+Q)) = rQ/(Rr+RQ+rQ)
P = v^2/r = (V-v)^2/R
Rv^2 = r(V-v)^2
Is the closed form solution for the ratios of the resistors hence
R/r = (V/v -1)^2
Actual values chosen to match external impedance Q
Of which there were several.
Looks like it's intended to equalize power dissipation per section. One often uses a 3 dB pad ahead of a higher attenuation one for the same reason--twice the power handling.
One way to model something similar is to split it up into N 50-ohm attenuators, distribute the dissipation evenly to get the attenuation per stage, then use the ordinary T or pi attenuator formulas to get the individual resistors. Tim's circuit is two T and two pi sections in cascade, so that should work.
The constraint that it be 50-ohms throughout (i.e. that the impedance to ground at the ends of the sections be 25 ohms) doesn't prevent finding a solution, but the method above controls dissipation per section, not dissipation per resistor, which is probably what Tim was optimizing on.
Cheers
Phil Hobbs
Well, symmetric with equal power dissipation per unit length would be a challenge.
I'm thinking about an old HP APC7 attenuator, 20 GHz or something. Inside looks like a sheet of glass with a really pretty blue film on top.
Here's a MiniCircuits trimmed thinfilm:
What sort of power and frequency range did you have in mind? Or is this a theoretical exercize?
Plain cheap 0805 resistors are fine to several GHz. Those values might be hard to get from Digikey.
An alternate geometry might use a taper of paralleled attenuators.
I can "see" that you write your Python like "C"...;-)
Have something to add? Share your thoughts — no account required.
Ask the community — no account required