[sdiy] 90-degree phase displacement network calculations

David G Dixon dixon at mail.ubc.ca
Wed Jan 6 03:42:20 CET 2021

Hello SDIY Team,
So, ever since I've been building Bode frequency shifters, I've been curious
about how to actually design best-case 90-degree phase displacement
networks.  Here's a brief history of my experience with this:
First, I used the numbers in the Electronotes article, EN-168.
Then I discovered the QuadNet program on the internet, which gives more
accurate PDNs than the Electronotes numbers.  However, the QuadNet program
is a pain to use, and restricts one to certain frequency ranges.  For
example, you can't have a low frequency lower than 1 Hz, or a frequency
range higher than 4 orders of magnitude.  I want to go lower and broader.
So, the Electronotes method is an approximation to the problem reported by
Weaver in 1954 (which I tracked down).  It's easy to use, but does not give
true Chebyshev approximation accuracy.
I contacted the guy who wrote the QuadNet program to see if he could give me
the source of the math he used in the program.  He had forgotten, and didn't
have any documentation.
So, I started looking up the original references for this problem.  After
much hunting, I found Darlington's paper from 1950 in the Bell Labs
technical journal.  It explains the problem, but not in a way in which my
tiny brain could make immediate use.
After a bit more searching, I found a Masters thesis by a guy named Donald
Douglas from 1961, and his references included another 1950 paper by a guy
named Orchard from a journal called Wireless Engineer.  I finally found a
PDF of this article on the web lastnight, and I have now been able to
exactly reproduce my designs from QuadNet using the techniques in this
paper.  Thankfully, there is a very nice numerical example in the paper
which demonstrates the use of the Landen transformation to calculate
Jacobi's elliptic sine function from circular sines.  With this, it is
trivially easy to find the correct RC factors for the chains of first-degree
allpass filters.
As of now, I can do it very quickly in an Excel spreadsheet, but I'm going
to write a function subprogram in Visual Basic that will make the RC factors
available as an Excel function -- something like PDN90RC(F1, F2, N, n) where
F1 and F2 are the mininum and maximum frequencies, N is the total number of
filter stages, and n is the filter stage of interest.
I'll let you all know when I've got the function subprogram figured out.
Maybe I'll write a little paper about it as well.
Doc Sketchy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20210105/f4e27702/attachment.htm>

More information about the Synth-diy mailing list