[sdiy] 90-degree phase displacement network calculations
David G Dixon
dixon at mail.ubc.ca
Sat Jan 9 05:11:13 CET 2021
Today, for yucks, I developed a Visual Basic subroutine which takes an exact
resistance value in ohms, and spits out the value of the nearest (lower) E96
resistor. If you then take that result and subtract it from the original
value, you can feed this number in and get a second resistor in series to
approximate the original value. Hence, for my 90-Degree PDN result, you
just have to pick a capacitor value, then calculate R from RC/C, then this
subroutine automatically finds the appropriate pair of resistors. Here's a
typical result for a 16-stage PDN with a band of 1 to 10000 Hz (note that
I'm only using four different capacitor values: 102, 103, 104 and 105):
RC (s) C (pF) R (ohms)
R1 R2 Total Error, R Error
1 4.7195E-01 1000000 471948 464000 7870 471870 78
-0.016%
3 6.3083E-02 1000000 63083 61900 1180 63080 3
-0.004%
5 1.6205E-02 100000 162047 162000 46.4 162046 1
-0.001%
7 4.2987E-03 100000 42987 42200 787 42987 0
-0.001%
9 1.1429E-03 10000 114285 113000 1270 114270 15
-0.013%
11 3.0370E-04 10000 30370 30100 267 30367 3
-0.011%
13 8.0031E-05 1000 80031 78700 1330 80030 1
-0.001%
15 1.8543E-05 1000 18543 18200 340 18540 3
-0.017%
2 1.3660E-01 1000000 136603 133000 3570 136570 33
-0.024%
4 3.1651E-02 1000000 31651 31600 49.9 31650 1
-0.002%
6 8.3404E-03 100000 83404 82500 887 83387 17
-0.021%
8 2.2164E-03 100000 22164 22100 63.4 22163 1
-0.003%
10 5.8925E-04 10000 58925 57600 1300 58900 25
-0.042%
12 1.5631E-04 10000 15631 15400 226 15626 5
-0.035%
14 4.0154E-05 1000 40154 39200 953 40153 1
-0.003%
16 5.3672E-06 1000 5367 5360 7.15 5367 0
-0.001%
The red values are calculated by Visual Basic codes as Function subprograms.
As you can see, the errors are all very small, and if one uses the summed R
value to recalculate the RCs, the phase plot looks identical. This table
instantly tells me what 32 values I need to order from Digikey.
The other cool thing one can do in Excel is to use the RAND() random number
generator function to discern the effect of resistor tolerances (I
hand-select the capacitors, so I assume they are perfect). RAND() generates
a random number between 0 and 1. Hence, if one multiplies RC by (99.5 +
RAND())/100, one gets values which fall randomly between 99.5% and 100.5% of
the intended value. One can then look at the phase plot to see how bad it
gets (the error just about doubles from the best-case-scenario).
Gawd I love Excel!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20210108/f2b2e4d4/attachment.htm>
More information about the Synth-diy
mailing list