[sdiy] 90-degree phase displacement network calculations

David G Dixon dixon at mail.ubc.ca
Mon Jan 11 10:23:14 CET 2021

I do mathematical modeling for a living.  This is not an iterative problem.
This is a recursive problem.  The recursive problem is simply to find the
quarter-period K for the elliptic sine.  This value is a unique function of
the bandwidth, but it requires a series of steps to get it.  In fact, K is
almost perfectly linear with the log of k', and using the linear fit gives
very nearly the same solution.
Also, it is nice to see the phase plot, but it's only real use is to confirm
that the rest of the problem was done correctly.  The important thing is the
RC values which lead to resistor and capacitor values, because you can't
build the filter without knowing those.
This problem only gives one unique solution for each combination of
bandwidth k' and number of stages 2N: the equiripple phase response with
minimum phase error at the peaks.  There are no "approximate" answers, and
this problem is not one where one gets closer and closer to the true
solution with each step.  That would be an iterative solution, and as I've
said ad nauseum, this is not that problem.
One wouldn't run this problem with a different number of "j's" than that
which is necessary.  The k and k' values must be transformed to 0.000000 and
1.000000 in order for sn to equal sin, and this is a necessary condition for
the validity of the Landen transformation.  It's not that the problem gets
"more accurate" with the bigger number of recursions.  It's that a certain
number of recursions are required in order to achieve the startiing point.
This is not an infinite series.  As I said, the maximum number of recursions
ever needed seems to be 8.  However, typically, 5 or 6 is enough -- it all
depends on the bandwidth k'.  As long as k ~ 0 and k' ~ 1 is achieved, then
sn = sin and the calculation can be started. 
Also, the extremal frequencies do not correspond to the RC frequencies, so
knowing them is not terribly useful.  The whole purpose of plotting the
phase response is to confirm that the problem was done correctly.  That's
all.  Once the bandwidth is fixed, the only thing that affects the maximum
phase error is the number of allpass filter stages.  General rule of thumb:
There should be four stages for each order of magnitude (decade) of
I'm trying to finish a big writing project for which I'm already almost a
week past the deadline, but when I have some spare time, I think I'm going
to make a YouTube video showing how this problem works, because there seems
to be a lot of confusion.


From: Bernard Arthur Hutchins, Jr [mailto:bah13 at cornell.edu] 
Sent: Sunday, January 10, 2021 3:17 PM
To: synth-diy at synth-diy.org; David G Dixon
Cc: Ian Fritz; Brian Willoughby
Subject: [sdiy] 90-degree phase displacement network calculations 

[CAUTION: Non-UBC Email] 


David-you said: 

"The reason for the steps is that you must transform the k and k' values
using a simple formula until you obtain k = 0 and k' = 1." 

The calculation of elliptic integrals is iterative, recursive if you insist,
(not closed form) -  even in the most professional signal-processing
language, Matlab (see 'tol' input variable). You have hidden the iterations
by automatically running (non-stop) a large enough (just 8 here it seems)
values of j in your for-loop.  It does not matter what you call it. 

Your design objective ("output") should not be the poles, but rather the
plot of phase difference (error), of which you only show one final example
(the correct 17 extremal frequencies).   If you plotted the error for the
different j's, I think the progression toward a unique-best solution
(alternation theorem) might be evident. 

I have already said that, as a practical matter, there was nothing wrong
with what you did.  



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20210111/feee3091/attachment.htm>

More information about the Synth-diy mailing list