[sdiy] 90-degree phase displacement network calculations

David G Dixon dixon at mail.ubc.ca
Fri Jan 8 21:48:48 CET 2021

Hello Bernie,
The reference would be:
Orchard (1950), Wireless Engineer, vol XXVII, number 318, pp 72-81.
The "can't do better" aspect has to do with the fact that this math achieves
the minimum error in the Chebyshev sense, and the maximum error is uniform
and periodic across the relevant bandwidth.  The theoretical explanations
are covered in the Orchard paper, and also in this paper:
Darlington (1950), Bell System Technical Journal, vol XXIX, pp 94-104.
The Orchard paper has a numerical example (for a 4-stage network) and this
is what allowed me to figure out how to do the math.  The math ultimately is
very simple.  If the total number of stages is 2N (I'm restricting it to
even-numbered stages), then the pole values are given as:
(1/k')^(0.5) * sn(2n*pi/4N,k) / cn(2n*pi/4N,k)
where n goes from 1 to N.  k' = f1/f2 where f1 and f2 are the endpoint
frequencies of the desired bandwidth.  sn and cn are Jacobi's elliptic sine
and cosine.  k (the modulus of the Jacobi functions) = (1 - k'^2)^(0.5).  To
calculate these Jacobi functions, one uses the Landen transformation, which
allows the reduction of the k and k' values using a recursive formula until
k = 0 and k' = 1.  This formula is simply that the next value of k in the
table = (1 - k')/(1 + k').  One then calculates the new value of k' = (1 -
k^2)^(0.5) and continues until k = 0 and k' = 1 (which I have confirmed
takes no more than 8 steps regardless of the initial value of k').  Once k'
= 1, the Jacobi sn function is equivalent to the circular sine function.
So, a table of sine values sin(2n*pi/4N) is generated.  The corresponding sn
values for each value of k up the table are then generated from the formula
sn = (1 + k)*sin/(1 + k*sin^2) until one gets to the top of the table and
the original k' value.  This top value is the sn required for the pole
calculation.  cn = (1 - sn^2)^(0.5), and now the poles can be calculated
directly.  My code does all this.
Here is a plot of the phase for a 16-stage allpass network comparing the
Weaver approximation documented in EN-168 with the minimum-error algorithm
documented in Orchard.  The bandwidth is from 1 to 10000 Hz.  I have
confirmed that the results of my calculations are identical to those from
the QuadNet program.  The problem with that program is that it won't go
lower than 1 Hz or bigger than 4 orders of magnitude.  It's also an
inconvenient pain to use.

As you can see, the maximum error is not constant by the Weaver method.
Also, the conformance falls apart at the extremes of the bandwidth, whereas
the Orchard method actually gives decent conformance well above and below
the bandwidth.  The Orchard method is exactly what is desired, the true
Chebyshev minimum error.  Either one would work perfectly well in practice,
but why go with a known compromise when the exact solution is available?
Of course, one can get even better performance from the Weaver method by
expanding the bandwidth a bit beyond the desired limits to push the error to
zero at those limits, but this is a chore to do, and will also increase the
error in the centre of the bandwidth.

From: Synth-diy [mailto:synth-diy-bounces at synth-diy.org] On Behalf Of
Bernard Arthur Hutchins, Jr
Sent: Thursday, January 07, 2021 7:05 PM
To: synth-diy at synth-diy.org
Subject: [sdiy] 90-degree phase displacement network calculations

[CAUTION: Non-UBC Email] 


 The “design” of 90-Degree Phase-Differencing Networks (90-degreePDNs) can
involve some deeper theoretical discussions as well as practical ”plug and
chug” equation summaries.  The earliest offerings in EN involved references
to academic presentations from which practical equations were largely just
cribbed {D. Weaver, "Design of RC Wide-Band 90-Degree Phase-Difference
Network," Proc. IRE, Vol. 42, pp 671-676 (1954); W. Albershein & F. Shirley,
"Computation Methods for Broad-Band 90° Phase-Difference Networks," IEEE
Trans. Ckt. Theory, CT-16, pg 189 (1969) }.  See a summary at: 


with details at:  http://electronotes.netfirms.com/AN167-AN170.PDF 

and a quit important contribution to practical implementations at: “Design
of Wideband Analog 90° Phase Differencing Networks Without a Large Spread of
Capacitor Values”; http://electronotes.netfirms.com/EN168-90degreePDN.PDF 

The offering here from David seems to be (like our own!) deficient in
theoretical explanations.   Is there a link/reference?  Perhaps no one
cares?     But some notion of a “UNIQUE-BEST ” (UB) (can’t do better)
solution requires theory – in this case it seems to be the “alternation
theorem” (AT) as applied to the phase error. 

The AT allows us to RECOGNIZE the UB equi-ripple solution in terms of the
finding of a correct  SET of “extremal frequencies” as found by ITERATING an
“exchange algorithm” (Remez or Parks-McClellan).  No closed form is
possible, but convergence is very rapid.

I have not attempted this. 


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20210108/7f1bfdd0/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Weaver vs Orchard.png
Type: image/png
Size: 8255 bytes
Desc: not available
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20210108/7f1bfdd0/attachment.png>

More information about the Synth-diy mailing list