[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