[sdiy] 90-degree phase displacement network calculations

David G Dixon dixon at mail.ubc.ca
Sun Jan 10 07:32:56 CET 2021


OK, I made a mistake.  The Jacobi elliptic sine values one ends up with using the Landen transformation do not have the same argument as the sines at the bottom of the table.  If they did, there would be no need for the transformation.  Whereas the sines are evaluated at fractions of their quarter-period pi/2, the elliptic sines sn are also evaluated at those same fractions of their quarter-periods K.  However, K is not equal to pi/2.  Since we don't actually know K a priori (or at all, unless the elliptic sines are inverted), the Landen transformation is needed.
 
What this means is that the poles are calculated using the elliptic sines and cosines evaluated at fractions (2n-1)/N of their quarter-periods K.  Unlike circular functions, each elliptic function has a different quarter-period depending on its modulus k.  I believe this process is referred to in the math-world as "mapping."
 
Needless to say, the mathematics of this is well beyond my knowledge -- I'm a guy who uses math, not one who understands it.  (In other words, I'm an engineer.)
 
So, Bernie, if you want to insist on this being an iterative process, I guess you can.  However, if you actually knew the quarter-period of sn for a given k, then sn could be calculated with an approximation, which is actually sn(u,m) = tanh u + 0.25k' (sinh u cosh u - u)/cosh*2 u.  The problem here is that we don't actually know u, so we can't calculate sn.  The Landen transformation gives us both sn and the argument at which to calculate it (but not explicitly so).
 
In any case, I can now design best-case phase displacement networks for any bandwidth in about 15 seconds, so suck it, Jacobi!
 
  _____  

From: Bernard Arthur Hutchins, Jr [mailto:bah13 at cornell.edu] 
Sent: Saturday, January 09, 2021 8:45 PM
To: synth-diy at synth-diy.org; David G Dixon; Brian Willoughby
Subject: Re: [sdiy] 90-degree phase displacement network calculations 


[CAUTION: Non-UBC Email] 
David - what you show as the Landen transform (in the box) is EXACTLY called iteration............!   - Bernie
  _____  

From: David G Dixon <dixon at mail.ubc.ca>
Sent: Saturday, January 9, 2021 8:16 PM
To: Bernard Arthur Hutchins, Jr <bah13 at cornell.edu>; synth-diy at synth-diy.org <synth-diy at synth-diy.org>
Subject: RE: [sdiy] 90-degree phase displacement network calculations 
 
Hello Bernie,
 
No, it is not iterative.  It is closed form.  The step-wise procedure is an implementation of the Landen transformation to enable calculation of elliptic sine from circular sine.  That is all.  If Excel had a function call for elliptic sine, I would use that instead.  Once the elliptic sine is calculated the poles are obtained directly.  Once half the poles are obtained, then you just take the logarithms, set them negative, and take the antilogs to find the other half.
 
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.  At that point, sn = sin, so you can simply find the sines of the angles (2n-1)*(pi/2)/4N and take those as the elliptic sines.  Then, you go back up the chain of k and k' values, calculating the elliptic sines from those below (of which the first one, on the bottom of the table, is a circular sine).  When you get to the top of the table, you have an elliptic sine at the desired modulus.  This is then used to calculate the pole directly.
 
To make this more plain, here is a table showing the calculations in Excel.
 
    
 
	4N	 32	 1	 3	 5	 7	 9	 11	 13	 15	
i	 k	 k'	 sn(π/64)	 sn(3π/64)	 sn(5π/64)	 sn(7π/64)	 sn(9π/64)	 sn(11π/64)	 sn(13π/64)	 sn(15π/64)	
0	 —	 0.000100	 0.319549	 0.758823	 0.929639	 0.980794	 0.994857	 0.998630	 0.999635	 0.999903	
1	 0.999800	 0.019998	 0.164092	 0.459577	 0.679394	 0.820798	 0.903443	 0.949062	 0.973452	 0.986269	
2	 0.960788	 0.277283	 0.084258	 0.248264	 0.399666	 0.532763	 0.644823	 0.735785	 0.807437	 0.862536	
3	 0.565823	 0.824527	 0.053899	 0.160873	 0.265418	 0.366039	 0.461422	 0.550469	 0.632324	 0.706368	
4	 0.096175	 0.995364	 0.049181	 0.147064	 0.243512	 0.337584	 0.428367	 0.514981	 0.596592	 0.672415	
5	 0.002323	 0.999997	 0.049068	 0.146731	 0.242980	 0.336890	 0.427556	 0.514103	 0.595700	 0.671559	
6	 0.000001	 1.000000	 0.049068	 0.146730	 0.242980	 0.336890	 0.427555	 0.514103	 0.595699	 0.671559	
7	 0.000000	 1.000000	 0.049068	 0.146730	 0.242980	 0.336890	 0.427555	 0.514103	 0.595699	 0.671559	
8	 0.000000	 1.000000	 0.049068	 0.146730	 0.242980	 0.336890	 0.427555	 0.514103	 0.595699	 0.671559	
											
	omega	 sn	 0.319549	 0.758823	 0.929639	 0.980794	 0.994857	 0.998630	 0.999635	 0.999903	
	100.000000	 cn	 0.947570	 0.651297	 0.368472	 0.195047	 0.101294	 0.052333	 0.027000	 0.013925	
		pole	 296.533	 85.830	 39.636	 19.887	 10.182	 5.240	 2.701	 1.393	
	f	 log pole	 2.472074	 1.933639	 1.598090	 1.298561	 1.007822	 0.719369	 0.431521	 0.143830	
	628.318531	 −log pole	 -2.472074	 -1.933639	 -1.598090	 -1.298561	 -1.007822	 -0.719369	 -0.431521	 -0.143830	
		−pole	 0.003372	 0.011651	 0.025230	 0.050285	 0.098215	 0.190823	 0.370236	 0.718076	
		RC	 0.471948	 0.136603	 0.063083	 0.031651	 0.016205	 0.008340	 0.004299	 0.002216	
		 	 0.000005	 0.000019	 0.000040	 0.000080	 0.000156	 0.000304	 0.000589	 0.001143	
 
So, you see, there is no iteration.  You simply have to transform k' until it equals 1.  I have determined that this always occurs within 8 steps, as shown.  Here it actually occurred in 6 steps, and the calculated sn values were equal to the sine value until i = 4 to six decimal places.
 
The calculation for "p" is closed-form, but there is no more convenient way to calculate elliptic sines.
 
  _____  

From: Bernard Arthur Hutchins, Jr [mailto:bah13 at cornell.edu] 
Sent: Saturday, January 09, 2021 1:35 PM
To: synth-diy at synth-diy.org
Cc: David G Dixon
Subject: [sdiy] 90-degree phase displacement network calculations 


[CAUTION: Non-UBC Email] 

 

Thanks again David – 

I see. Your function is NOT closed form – it is iterative; self-terminating at 8 “for loops” – absolutely NOTHING wrong with that.   

In equiripple designs we have the powerful “alternation theorem” to tell us WHEN we have “found” an acceptable ER solution (at least - close enough).  At the same time, the mathematicians assure us (prove!) that we will never find closed form!  (Don’t you hate it when you are shown that they are right?) 

What happens (if you know) if you terminate after just a couple of iterations?  That is: How does convergence progress? 

-Bernie 


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20210109/778ea786/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: LandenTrans.png
Type: image/png
Size: 10804 bytes
Desc: not available
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20210109/778ea786/attachment.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PoleCalc.png
Type: image/png
Size: 10124 bytes
Desc: not available
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20210109/778ea786/attachment-0001.png>


More information about the Synth-diy mailing list