<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=us-ascii" http-equiv=Content-Type>
<STYLE style="DISPLAY: none" type=text/css>P {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
</STYLE>
<META name=GENERATOR content="MSHTML 8.00.6001.23562"></HEAD>
<BODY dir=ltr>
<DIV dir=ltr align=left><SPAN class=728533508-11012021><FONT color=#0000ff
size=2 face=Arial>Bernie,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=728533508-11012021><FONT color=#0000ff
size=2 face=Arial></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=728533508-11012021><FONT color=#0000ff
size=2 face=Arial>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.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=728533508-11012021><FONT color=#0000ff
size=2 face=Arial></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=728533508-11012021><FONT color=#0000ff
size=2 face=Arial>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.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=728533508-11012021><FONT color=#0000ff
size=2 face=Arial></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=728533508-11012021><FONT color=#0000ff
size=2 face=Arial>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.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=728533508-11012021><FONT color=#0000ff
size=2 face=Arial></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=728533508-11012021><FONT color=#0000ff
size=2 face=Arial>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. </FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=728533508-11012021><FONT color=#0000ff
size=2 face=Arial></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=728533508-11012021><FONT color=#0000ff
size=2 face=Arial>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 bandwidth.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=728533508-11012021><FONT color=#0000ff
size=2 face=Arial></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=728533508-11012021><FONT color=#0000ff
size=2 face=Arial>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.</FONT></SPAN></DIV><BR>
<DIV dir=ltr lang=en-us class=OutlookMessageHeader align=left>
<HR tabIndex=-1>
<FONT size=2 face=Tahoma><B>From:</B> Bernard Arthur Hutchins, Jr
[mailto:bah13@cornell.edu] <BR><B>Sent:</B> Sunday, January 10, 2021 3:17
PM<BR><B>To:</B> synth-diy@synth-diy.org; David G Dixon<BR><B>Cc:</B> Ian Fritz;
Brian Willoughby<BR><B>Subject:</B> [sdiy] 90-degree phase displacement network
calculations <BR></FONT><BR></DIV>
<DIV></DIV><SPAN
style="BACKGROUND-COLOR: #ffecb3; COLOR: #000000; FONT-SIZE: 12px"><SPAN
style="BACKGROUND-COLOR: #ffecb3; COLOR: #000000; FONT-SIZE: 12px"><SPAN
style="PADDING-BOTTOM: 3px; LINE-HEIGHT: 1.6; BACKGROUND-COLOR: #ffecb3; FONT-STYLE: normal; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; COLOR: #000000; FONT-SIZE: 12px; FONT-WEIGHT: normal; PADDING-TOP: 3px">[<STRONG>CAUTION:</STRONG>
Non-UBC Email]</SPAN></SPAN></SPAN>
<DIV>
<P
style="LINE-HEIGHT: 107%; MARGIN: 0in 0in 8pt; FONT-FAMILY: Calibri, sans-serif; COLOR: rgb(0,0,0); FONT-SIZE: 11pt"
class=MsoNormal><SPAN style="FONT-SIZE: 12pt"><O:P></O:P></SPAN></P>
<P style="LINE-HEIGHT: 107%; MARGIN: 0in 0in 8pt" class=MsoNormal><FONT
color=#ff0000 face="Arial, sans-serif"><SPAN
style="BACKGROUND-COLOR: rgb(250,250,250)"></SPAN></FONT> </P>
<P
style="LINE-HEIGHT: 107%; MARGIN: 0in 0in 8pt; FONT-FAMILY: Calibri, sans-serif; COLOR: rgb(0,0,0); FONT-SIZE: 11pt"
class=MsoNormal><SPAN style="COLOR: blue" class=MsoHyperlink><SPAN
style="FONT-FAMILY: 'Arial',sans-serif; BACKGROUND: #fafafa; COLOR: windowtext; FONT-SIZE: 12pt; mso-color-alt: windowtext; text-underline: none"><O:P></O:P></SPAN></SPAN></P>
<P
style="LINE-HEIGHT: 107%; MARGIN: 0in 0in 8pt; FONT-FAMILY: Calibri, sans-serif; COLOR: rgb(0,0,0); FONT-SIZE: 11pt"
class=MsoNormal><SPAN style="COLOR: blue" class=MsoHyperlink><SPAN
style="FONT-FAMILY: 'Arial',sans-serif; BACKGROUND: #fafafa; COLOR: black; FONT-SIZE: 12pt; mso-color-alt: windowtext; text-underline: none">David-you
said:</SPAN></SPAN><SPAN style="COLOR: blue" class=MsoHyperlink><SPAN
style="FONT-FAMILY: 'Arial',sans-serif; BACKGROUND: #fafafa; COLOR: windowtext; FONT-SIZE: 12pt; mso-color-alt: windowtext; text-underline: none"><O:P> </O:P></SPAN></SPAN></P>
<P
style="MARGIN: 0in; FONT-FAMILY: Calibri, sans-serif; COLOR: rgb(0,0,0); FONT-SIZE: 11pt"
class=MsoNormal><SPAN
style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'"><O:P></O:P></SPAN></P>
<P
style="MARGIN: 0in; FONT-FAMILY: Calibri, sans-serif; COLOR: rgb(0,0,0); FONT-SIZE: 11pt"
class=MsoNormal><SPAN
style="FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-fareast-font-family: 'Times New Roman'">“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."<O:P> </O:P></SPAN></P>
<P
style="LINE-HEIGHT: 107%; MARGIN: 0in 0in 8pt; FONT-FAMILY: Calibri, sans-serif; COLOR: rgb(0,0,0); FONT-SIZE: 11pt"
class=MsoNormal><SPAN style="COLOR: blue" class=MsoHyperlink><SPAN
style="FONT-FAMILY: 'Arial',sans-serif; BACKGROUND: #fafafa; COLOR: windowtext; FONT-SIZE: 12pt; mso-color-alt: windowtext; text-underline: none"><O:P></O:P></SPAN></SPAN></P>
<P
style="LINE-HEIGHT: 107%; MARGIN: 0in 0in 8pt; FONT-FAMILY: Calibri, sans-serif; COLOR: rgb(0,0,0); FONT-SIZE: 11pt"
class=MsoNormal><SPAN style="COLOR: blue" class=MsoHyperlink><SPAN
style="FONT-FAMILY: 'Arial',sans-serif; BACKGROUND: #fafafa; COLOR: windowtext; FONT-SIZE: 12pt; mso-color-alt: windowtext; text-underline: none"><O:P></O:P></SPAN></SPAN></P>
<P
style="LINE-HEIGHT: 107%; MARGIN: 0in 0in 8pt; FONT-FAMILY: Calibri, sans-serif; COLOR: rgb(0,0,0); FONT-SIZE: 11pt"
class=MsoNormal><SPAN style="COLOR: blue" class=MsoHyperlink><SPAN
style="FONT-FAMILY: 'Arial',sans-serif; BACKGROUND: #fafafa; COLOR: black; FONT-SIZE: 12pt; mso-color-alt: windowtext; text-underline: none">The
calculation of elliptic integrals is iterative, recursive if you insist, (not
closed form) - <SPAN style="mso-spacerun: yes"> </SPAN>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. <SPAN
style="mso-spacerun: yes"> </SPAN>It does not matter what you call
it.</SPAN></SPAN><SPAN style="COLOR: blue" class=MsoHyperlink><SPAN
style="FONT-FAMILY: 'Arial',sans-serif; BACKGROUND: #fafafa; COLOR: windowtext; FONT-SIZE: 12pt; mso-color-alt: windowtext; text-underline: none"><O:P> </O:P></SPAN></SPAN></P>
<P
style="LINE-HEIGHT: 107%; MARGIN: 0in 0in 8pt; FONT-FAMILY: Calibri, sans-serif; COLOR: rgb(0,0,0); FONT-SIZE: 11pt"
class=MsoNormal><SPAN style="COLOR: blue" class=MsoHyperlink><SPAN
style="FONT-FAMILY: 'Arial',sans-serif; BACKGROUND: #fafafa; COLOR: windowtext; FONT-SIZE: 12pt; mso-color-alt: windowtext; text-underline: none"><O:P></O:P></SPAN></SPAN></P>
<P
style="LINE-HEIGHT: 107%; MARGIN: 0in 0in 8pt; FONT-FAMILY: Calibri, sans-serif; COLOR: rgb(0,0,0); FONT-SIZE: 11pt"
class=MsoNormal><SPAN style="COLOR: blue" class=MsoHyperlink><SPAN
style="FONT-FAMILY: 'Arial',sans-serif; BACKGROUND: #fafafa; COLOR: black; FONT-SIZE: 12pt; mso-color-alt: windowtext; text-underline: none">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).<SPAN style="mso-spacerun: yes"> </SPAN>If
you plotted the error for the different j’s, I think the progression toward a
unique-best solution (alternation theorem) might be evident.</SPAN></SPAN><SPAN
style="COLOR: blue" class=MsoHyperlink><SPAN
style="FONT-FAMILY: 'Arial',sans-serif; BACKGROUND: #fafafa; COLOR: windowtext; FONT-SIZE: 12pt; mso-color-alt: windowtext; text-underline: none"><O:P> </O:P></SPAN></SPAN></P>
<P
style="LINE-HEIGHT: 107%; MARGIN: 0in 0in 8pt; FONT-FAMILY: Calibri, sans-serif; COLOR: rgb(0,0,0); FONT-SIZE: 11pt"
class=MsoNormal><SPAN style="COLOR: blue" class=MsoHyperlink><SPAN
style="FONT-FAMILY: 'Arial',sans-serif; BACKGROUND: #fafafa; COLOR: windowtext; FONT-SIZE: 12pt; mso-color-alt: windowtext; text-underline: none"><O:P></O:P></SPAN></SPAN></P>
<P
style="LINE-HEIGHT: 107%; MARGIN: 0in 0in 8pt; FONT-FAMILY: Calibri, sans-serif; COLOR: rgb(0,0,0); FONT-SIZE: 11pt"
class=MsoNormal><SPAN style="COLOR: blue" class=MsoHyperlink><SPAN
style="FONT-FAMILY: 'Arial',sans-serif; BACKGROUND: #fafafa; COLOR: black; FONT-SIZE: 12pt; mso-color-alt: windowtext; text-underline: none">I
have already said that, as a practical matter, there was nothing wrong with what
you did.<SPAN style="mso-spacerun: yes"> </SPAN></SPAN></SPAN></P>
<P
style="LINE-HEIGHT: 107%; MARGIN: 0in 0in 8pt; FONT-FAMILY: Calibri, sans-serif; COLOR: rgb(0,0,0); FONT-SIZE: 11pt"
class=MsoNormal><SPAN style="COLOR: blue" class=MsoHyperlink><SPAN
style="FONT-FAMILY: 'Arial',sans-serif; BACKGROUND: #fafafa; COLOR: black; FONT-SIZE: 12pt; mso-color-alt: windowtext; text-underline: none"><SPAN
style="mso-spacerun: yes"></SPAN><SPAN
style="mso-spacerun: yes"> </SPAN><SPAN
style="mso-spacerun: yes"> </SPAN></SPAN></SPAN><SPAN style="COLOR: blue"
class=MsoHyperlink><SPAN
style="FONT-FAMILY: 'Arial',sans-serif; BACKGROUND: #fafafa; COLOR: windowtext; FONT-SIZE: 12pt; mso-color-alt: windowtext; text-underline: none"><O:P> </O:P></SPAN></SPAN></P>
<P
style="LINE-HEIGHT: 107%; MARGIN: 0in 0in 8pt; FONT-FAMILY: Calibri, sans-serif; COLOR: rgb(0,0,0); FONT-SIZE: 11pt"
class=MsoNormal><SPAN style="COLOR: blue" class=MsoHyperlink><SPAN
style="FONT-FAMILY: 'Arial',sans-serif; BACKGROUND: #fafafa; COLOR: black; FONT-SIZE: 12pt; mso-color-alt: windowtext; text-underline: none">-Bernie</SPAN></SPAN><SPAN
style="COLOR: blue" class=MsoHyperlink><SPAN
style="FONT-FAMILY: 'Arial',sans-serif; BACKGROUND: #fafafa; COLOR: windowtext; FONT-SIZE: 12pt; mso-color-alt: windowtext; text-underline: none"><O:P> </O:P></SPAN></SPAN></P><BR></DIV></BODY></HTML>